Advertisement
Guest User

Untitled

a guest
Feb 28th, 2014
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 96.32 KB | None | 0 0
  1. /*******************************************************************************
  2. * CamHUD generated by Eliot.UELib using UE Explorer.
  3. * Eliot.UELib © 2009-2013 Eliot van Uytfanghe. All rights reserved.
  4. * http://eliotvu.com
  5. *
  6. * All rights belong to their respective owners.
  7. *******************************************************************************/
  8. class CamHUD extends Interaction
  9. hidecategories(Object,UIRoot)
  10. config(RypelCam)
  11. transient;
  12.  
  13. var config float speccamspeed;
  14. var config bool bStartPaused;
  15. var bool bact;
  16. var bool balternativekey;
  17. var bool bBlendRotation;
  18. var bool bdumpframes;
  19. var bool bFirstPersonMovieMode;
  20. var bool bFollowTarget;
  21. var bool bfollowtarget_lock_rotation;
  22. var bool bfovmode;
  23. var bool bhideweapon;
  24. var bool bIsPaused;
  25. var bool waspressed;
  26. var bool bLockRotation;
  27. var bool bpathedit;
  28. var bool bpcam;
  29. var bool bremovehiteffect;
  30. var bool bserverdemo;
  31. var bool bshowcoords;
  32. var bool bshowhelp;
  33. var bool bShowHudInfo;
  34. var bool bTargetnone;
  35. var bool targetlook;
  36. var bool btimedpath;
  37. var bool btpfastforward;
  38. var bool bViewingdemorec;
  39. var bool bViewingcam;
  40. var bool bViewing_last_set_campoint;
  41. var bool bw;
  42. var bool ba;
  43. var bool bs;
  44. var bool bd;
  45. var bool bdown;
  46. var bool bup;
  47. var bool started;
  48. var config bool Export_Collada_Cinema4D;
  49. var config bool Export_Collada_Blender;
  50. var bool Collada_first_logged;
  51. var bool bGetCanvasResolution;
  52. var config float PauseCamMouseSensitivity;
  53. var config int dumpframes_fps;
  54. var config int dumpframes_tiledshot_factor;
  55. var config float TimedPathStartTime;
  56. var config int TimedPathStartFrame;
  57. var float currentviewmode;
  58. var float followdist;
  59. var float kabstand;
  60. var float mabstand;
  61. var float LockViewOldRotationsDiff[9];
  62. var Rotator LockViewOldRotations[11];
  63. var float overlayPositions[12];
  64. var float specfollowdistance;
  65. var float Speed;
  66. var float TF;
  67. var int flagcount;
  68. var int I;
  69. var int Z;
  70. var int MouseX;
  71. var int MouseY;
  72. var int seektime;
  73. var int seekFrame;
  74. var int targetcount;
  75. var int targetcount_anz;
  76. var string followtarget_mode;
  77. var string watchedname;
  78. var Color DemoSpeedColor;
  79. var Rotator rotat;
  80. var Vector distancemeter_pos;
  81. var Vector TargetLoc;
  82. var Actor Target;
  83. var Actor HackLockedSavedActor;
  84. var CamControl Other2;
  85. var CamControl CC;
  86. var DemoRecSpectator drs;
  87. var Knoten other3;
  88. var Knoten kv;
  89. var Pawn Pawn;
  90. var PlayerReplicationInfo tpri;
  91. var Projectile tproj;
  92. var RCamDecalmanager RCamDecalmanager;
  93. var UTHUDBase H;
  94. var UTPlayerController PC;
  95. var float KeyFrame_Count;
  96. var array<float> KeyFrame_Time;
  97. var array<float> KeyFrame_Pos_X;
  98. var array<float> KeyFrame_Pos_Y;
  99. var array<float> KeyFrame_Pos_Z;
  100. var array<float> KeyFrame_Rot_X;
  101. var array<float> KeyFrame_Rot_Y;
  102. var array<float> KeyFrame_Rot_Z;
  103. var float CanvasClipX;
  104. var float CanvasClipY;
  105. var const Color GrayColor;
  106. var const Texture2D AltHudTexture;
  107. var int lastFlagFrame;
  108.  
  109. function SetDemoSpeedColor()
  110. {
  111. DemoSpeedColor.R = 0;
  112. DemoSpeedColor.G = 0;
  113. DemoSpeedColor.B = 0;
  114. DemoSpeedColor.A = 255;
  115. // End:0xD9
  116. if(PC.WorldInfo.DemoPlayTimeDilation == float(1))
  117. {
  118. DemoSpeedColor.G = 255;
  119. }
  120. // End:0x3F2
  121. else
  122. {
  123. // End:0x190
  124. if(PC.WorldInfo.DemoPlayTimeDilation <= 0.60)
  125. {
  126. DemoSpeedColor.R = 255;
  127. DemoSpeedColor.G = byte(float(164) * PC.WorldInfo.DemoPlayTimeDilation);
  128. }
  129. // End:0x3F2
  130. else
  131. {
  132. // End:0x250
  133. if(PC.WorldInfo.DemoPlayTimeDilation < float(1))
  134. {
  135. DemoSpeedColor.R = byte(float(175) + (float(200) * (float(1) - PC.WorldInfo.DemoPlayTimeDilation)));
  136. DemoSpeedColor.G = 252;
  137. }
  138. // End:0x3F2
  139. else
  140. {
  141. // End:0x311
  142. if(PC.WorldInfo.DemoPlayTimeDilation <= float(3))
  143. {
  144. DemoSpeedColor.R = byte(float(175) + (float(40) * (PC.WorldInfo.DemoPlayTimeDilation - float(1))));
  145. DemoSpeedColor.G = 252;
  146. }
  147. // End:0x3F2
  148. else
  149. {
  150. // End:0x3D3
  151. if(PC.WorldInfo.DemoPlayTimeDilation < float(13))
  152. {
  153. DemoSpeedColor.R = 255;
  154. DemoSpeedColor.G = byte(float(250) - (float(25) * (PC.WorldInfo.DemoPlayTimeDilation - float(3))));
  155. }
  156. // End:0x3F2
  157. else
  158. {
  159. DemoSpeedColor.R = 255;
  160. }
  161. }
  162. }
  163. }
  164. }
  165. //return;
  166. }
  167.  
  168. static function string FormatTime_likeUT(int Seconds)
  169. {
  170. local int Hours, Mins;
  171. local string NewTimeString;
  172.  
  173. Seconds = int(Abs(float(Seconds)));
  174. Hours = Seconds / 3600;
  175. Seconds -= (Hours * 3600);
  176. Mins = Seconds / 60;
  177. Seconds -= (Mins * 60);
  178. NewTimeString = "";
  179. // End:0xDF
  180. if(Hours > 0)
  181. {
  182. NewTimeString = (NewTimeString $ ((Hours > 9) ? string(Hours) : "0" $ string(Hours))) $ ":";
  183. }
  184. NewTimeString = (NewTimeString $ ((Mins > 9) ? string(Mins) : "0" $ string(Mins))) $ ":";
  185. NewTimeString = NewTimeString $ ((Seconds > 9) ? string(Seconds) : "0" $ string(Seconds));
  186. return NewTimeString;
  187. //return ReturnValue;
  188. }
  189.  
  190. function CustomDrawGraph(float X, float Y, float Width, float MaxWidth, float Height, Canvas DrawCanvas, optional byte Alpha)
  191. {
  192. local Color DrawColor, BackColor;
  193.  
  194. Alpha = 255;
  195. DrawColor = DemoSpeedColor;
  196. DrawColor.A = Alpha;
  197. BackColor = default.GrayColor;
  198. BackColor.A = Alpha;
  199. DrawBarGraph(X, Y, Width, MaxWidth, Height, DrawCanvas, DrawColor, BackColor);
  200. //return;
  201. }
  202.  
  203. static simulated function DrawBarGraph(float X, float Y, float Width, float MaxWidth, float Height, Canvas DrawCanvas, Color BarColor, Color BackColor)
  204. {
  205. // End:0xC9
  206. if(MaxWidth > 24.0)
  207. {
  208. DrawCanvas.DrawColor = BackColor;
  209. DrawCanvas.SetPos(X, Y);
  210. DrawCanvas.DrawTile(default.AltHudTexture, MaxWidth, Height, 407.0, 479.0, FMin(MaxWidth, 118.0), 16.0);
  211. }
  212. DrawCanvas.DrawColor = BarColor;
  213. DrawCanvas.SetPos(X, Y);
  214. DrawCanvas.DrawTile(default.AltHudTexture, Width, Height, 277.0, 494.0, 4.0, 13.0);
  215. //return;
  216. }
  217.  
  218. exec function seekTo(int Mins, int secs, float fastforwardspeed, optional int FragCount)
  219. {
  220. seektime = (Mins * 60) + secs;
  221. PC.WorldInfo.DemoPlayTimeDilation = fastforwardspeed;
  222. //return;
  223. }
  224.  
  225. exec function seekToFrame(int frame, float fastforwardspeed)
  226. {
  227. seekFrame = frame;
  228. PC.WorldInfo.DemoPlayTimeDilation = fastforwardspeed;
  229. //return;
  230. }
  231.  
  232. exec function CurrentDemoFrame()
  233. {
  234. local int CurrentFrame, TotalFrames;
  235.  
  236. PC.WorldInfo.GetDemoFrameInfo(CurrentFrame, TotalFrames);
  237. LogInternal("Demo CurrentFrame:" @ string(CurrentFrame));
  238. LogInternal("Demo TotalFrames :" @ string(TotalFrames));
  239. //return;
  240. }
  241.  
  242. exec function DemoRewindPoints()
  243. {
  244. local array<int> OutRewindPoints;
  245.  
  246. PC.WorldInfo.GetDemoRewindPoints(OutRewindPoints);
  247. I = 0;
  248. J0x48:
  249. // End:0x9F [Loop If]
  250. if(I < (OutRewindPoints.Length - 1))
  251. {
  252. LogInternal("Demo RewindPoints:" @ string(OutRewindPoints[I]));
  253. ++ I;
  254. // [Loop Continue]
  255. goto J0x48;
  256. }
  257. //return;
  258. }
  259.  
  260. exec function toggleMovieMode()
  261. {
  262. bFirstPersonMovieMode = !bFirstPersonMovieMode;
  263. //return;
  264. }
  265.  
  266. function LoadRCamConfig()
  267. {
  268. // End:0x27
  269. if(CC != none)
  270. {
  271. CC.Destroy();
  272. }
  273. // End:0x94
  274. foreach PC.DynamicActors(class'Knoten', other3)
  275. {
  276. // End:0x7B
  277. if(other3.bForC130)
  278. {
  279. continue;
  280. }
  281. other3.Destroy();
  282. }
  283. CC = PC.Spawn(class'CamControl');
  284. CC.Init();
  285. flagcount = CC.Z;
  286. kabstand = CC.kabstand;
  287. mabstand = CC.mabstand;
  288. //return;
  289. }
  290.  
  291. function startCam()
  292. {
  293. local Knoten ksc;
  294. local RotKnoten rksc;
  295.  
  296. drs.SetViewTarget(CC);
  297. drs.SetBehindView(false);
  298. PC.bDebugFreeCam = true;
  299. // End:0x17A
  300. if(CC.drawcount == 0)
  301. {
  302. // End:0x103
  303. foreach PC.DynamicActors(class'Knoten', ksc)
  304. {
  305. // End:0xE2
  306. if(ksc.bForC130)
  307. {
  308. continue;
  309. }
  310. ksc.SetHidden(false);
  311. }
  312. // End:0x179
  313. foreach PC.DynamicActors(class'RotKnoten', rksc)
  314. {
  315. // End:0x158
  316. if(rksc.bForC130)
  317. {
  318. continue;
  319. }
  320. rksc.SetHidden(true);
  321. }
  322. }
  323. CC.startCam = true;
  324. bViewingcam = true;
  325. bViewingdemorec = false;
  326. //return;
  327. }
  328.  
  329. exec function beep()
  330. {
  331. H.bMessageBeep = !H.bMessageBeep;
  332. // End:0x84
  333. if(H.bMessageBeep)
  334. {
  335. H.bMessageBeep = true;
  336. }
  337. // End:0xC9
  338. if(!H.bMessageBeep)
  339. {
  340. H.bMessageBeep = false;
  341. }
  342. //return;
  343. }
  344.  
  345. function reset_clientdemo_rotation_roll()
  346. {
  347. local Rotator temp_pc_rotation;
  348.  
  349. // End:0x9E
  350. if(PC.Rotation.Roll != 0)
  351. {
  352. temp_pc_rotation = PC.Rotation;
  353. temp_pc_rotation.Roll = 0;
  354. PC.SetRotation(temp_pc_rotation);
  355. }
  356. //return;
  357. }
  358.  
  359. exec function Render(string Flag)
  360. {
  361. // End:0xE4
  362. if(PC.WorldInfo.NetMode == NM_Client)
  363. {
  364. PC.WorldInfo.NetMode = NM_Standalone;
  365. PC.ConsoleCommand("show" @ Flag);
  366. PC.WorldInfo.NetMode = NM_Client;
  367. //return;
  368. }
  369. }
  370.  
  371. function CycleRenderViewMode()
  372. {
  373. // End:0x4DD
  374. if(PC.WorldInfo.NetMode == NM_Client)
  375. {
  376. PC.WorldInfo.NetMode = NM_Standalone;
  377. currentviewmode += float(1);
  378. // End:0x93
  379. if(currentviewmode == float(0))
  380. {
  381. }
  382. // End:0xDD
  383. if(currentviewmode == float(1))
  384. {
  385. PC.ConsoleCommand("show meshedges");
  386. // End:0x12E
  387. if(currentviewmode == float(2))
  388. {
  389. }
  390. PC.ConsoleCommand("show levelcoloration");
  391. // End:0x179
  392. if(currentviewmode == float(3))
  393. {
  394. }
  395. PC.ConsoleCommand("show meshedges");
  396. // End:0x238
  397. if(currentviewmode == float(4))
  398. {
  399. }
  400. PC.ConsoleCommand("show levelcoloration");
  401. PC.ConsoleCommand("show fog");
  402. PC.ConsoleCommand("show postprocess");
  403. // End:0x39F
  404. if(currentviewmode == float(5))
  405. {
  406. PC.ConsoleCommand("show fog");
  407. }
  408. PC.ConsoleCommand("show postprocess");
  409. PC.ConsoleCommand("show bsp");
  410. PC.ConsoleCommand("show staticmeshes");
  411. PC.ConsoleCommand("show terrain");
  412. PC.ConsoleCommand("show unlittranslucency");
  413. // End:0x4A7
  414. if(currentviewmode == float(6))
  415. {
  416. PC.ConsoleCommand("show bsp");
  417. }
  418. PC.ConsoleCommand("show staticmeshes");
  419. PC.ConsoleCommand("show terrain");
  420. PC.ConsoleCommand("show unlittranslucency");
  421. currentviewmode = 0.0;
  422. PC.WorldInfo.NetMode = NM_Client;
  423. //return;
  424. }
  425. }
  426. }
  427.  
  428. exec function dumpfps(int fps)
  429. {
  430. dumpframes_fps = fps;
  431. PC.ClientMessage("dumpframes fps =" @ string(fps));
  432. //return;
  433. }
  434.  
  435. exec function dumpres(int res)
  436. {
  437. dumpframes_tiledshot_factor = res;
  438. PC.ClientMessage("dumpframes resolution factor =" @ string(res));
  439. //return;
  440. }
  441.  
  442. exec function Mouse(int MouseSensitivity)
  443. {
  444. PauseCamMouseSensitivity = float(MouseSensitivity);
  445. //return;
  446. }
  447.  
  448. exec function StartPaused()
  449. {
  450. // End:0x1C
  451. if(bStartPaused)
  452. {
  453. bStartPaused = false;
  454. }
  455. // End:0x37
  456. else
  457. {
  458. // End:0x37
  459. if(!bStartPaused)
  460. {
  461. bStartPaused = true;
  462. }
  463. }
  464. //return;
  465. }
  466.  
  467. exec function tpstart(optional float fastforwardspeed)
  468. {
  469. // End:0x58
  470. if(flagcount < 1)
  471. {
  472. LoadRCamConfig();
  473. drs.SetViewTarget(CC.viewer01);
  474. }
  475. started = false;
  476. PC.bDebugFreeCam = true;
  477. // End:0xE5
  478. if(btimedpath == false)
  479. {
  480. btimedpath = !btimedpath;
  481. // End:0xE5
  482. if(CC != none)
  483. {
  484. CC.btimedpath = btimedpath;
  485. }
  486. }
  487. // End:0x128
  488. if(H.bMessageBeep)
  489. {
  490. H.bMessageBeep = false;
  491. }
  492. // End:0x195
  493. if(PC.myHUD.bShowHUD)
  494. {
  495. PC.myHUD.bShowHUD = false;
  496. }
  497. btpfastforward = true;
  498. // End:0x1EE
  499. if(fastforwardspeed < float(1))
  500. {
  501. PC.WorldInfo.DemoPlayTimeDilation = 2.0;
  502. }
  503. // End:0x23C
  504. else
  505. {
  506. // End:0x23C
  507. if(fastforwardspeed >= float(1))
  508. {
  509. PC.WorldInfo.DemoPlayTimeDilation = fastforwardspeed;
  510. }
  511. }
  512. //return;
  513. }
  514.  
  515. function ColladaExport()
  516. {
  517. local Vector Temp_Pos;
  518. local Rotator Temp_Rot;
  519.  
  520. // End:0xCF
  521. if(drs.ViewTarget != none)
  522. {
  523. Temp_Pos = drs.ViewTarget.Location;
  524. Temp_Rot = drs.ViewTarget.Rotation;
  525. drs.GetPlayerViewPoint(Temp_Pos, Temp_Rot);
  526. }
  527. KeyFrame_Count += float(1);
  528. KeyFrame_Time.AddItem(Abs(1.0 / float(dumpframes_fps)) * KeyFrame_Count);
  529. KeyFrame_Pos_X.AddItem(Temp_Pos.X);
  530. KeyFrame_Pos_Y.AddItem(Temp_Pos.Y);
  531. KeyFrame_Pos_Z.AddItem(Temp_Pos.Z);
  532. KeyFrame_Rot_X.AddItem(float(Temp_Rot.Yaw));
  533. KeyFrame_Rot_Y.AddItem(float(Temp_Rot.Pitch));
  534. KeyFrame_Rot_Z.AddItem(float(Temp_Rot.Roll));
  535. // End:0x2E6
  536. if(!Collada_first_logged)
  537. {
  538. LogInternal("RypelCam Dump START FILE FORMAT OUTPUT");
  539. LogInternal("RypelCam Dump Config FPS=" $ string(dumpframes_fps));
  540. LogInternal("RypelCam Dump Start Time (PC.WorldInfo.TimeSeconds)=" $ string(PC.WorldInfo.TimeSeconds));
  541. Collada_first_logged = true;
  542. }
  543. LogInternal((((((("RypelCam Dump " $ string(Temp_Pos)) $ "|") $ string(Temp_Rot)) $ "|") $ string(PC.GetFOVAngle())) $ "|") $ string(Abs(1.0 / float(dumpframes_fps)) * KeyFrame_Count));
  544. //return;
  545. }
  546.  
  547. exec function WriteColladaFile(optional bool C4D, optional bool Blender)
  548. {
  549. local FileWriter fw;
  550.  
  551. fw = PC.WorldInfo.Spawn(class'FileWriter');
  552. // End:0x8D
  553. if(C4D)
  554. {
  555. fw.OpenFile("C4D", 3, ".dae");
  556. }
  557. // End:0xCC
  558. else
  559. {
  560. // End:0xCC
  561. if(Blender)
  562. {
  563. fw.OpenFile("Blender", 3, ".dae");
  564. }
  565. }
  566. fw.Logf("<?xml version=\\"1.0\\"?>");
  567. fw.Logf("<COLLADA xmlns=\\"http://www.collada.org/2005/11/COLLADASchema\\" version=\\"1.4.1\\">");
  568. fw.Logf(" <asset>");
  569. fw.Logf(" <contributor>");
  570. fw.Logf(" <authoring_tool>RypelCam</authoring_tool>");
  571. fw.Logf(" </contributor>");
  572. fw.Logf(" <created>2012-01-01T00:00:00</created>");
  573. fw.Logf(" <modified>2012-01-01T00:00:00</modified>");
  574. fw.Logf(" <unit name=\\"meter\\" meter=\\"1\\"/>");
  575. fw.Logf(" <up_axis>Z_UP</up_axis>");
  576. fw.Logf(" </asset>");
  577. fw.Logf(" <library_cameras>");
  578. fw.Logf(" <camera id=\\"Camera1\\" name=\\"Camera\\">");
  579. fw.Logf(" <optics>");
  580. fw.Logf(" <technique_common>");
  581. fw.Logf(" <perspective>");
  582. fw.Logf((" <xfov>" $ string(PC.GetFOVAngle())) $ "</xfov>");
  583. // End:0x5D4
  584. if((CanvasClipX != float(0)) && CanvasClipY != float(0))
  585. {
  586. fw.Logf((" <aspect_ratio>" $ string(CanvasClipX / CanvasClipY)) $ "</aspect_ratio>");
  587. }
  588. // End:0x632
  589. else
  590. {
  591. fw.Logf(" <aspect_ratio>1.777778</aspect_ratio>");
  592. }
  593. fw.Logf(" <znear>0.1</znear>");
  594. fw.Logf(" <zfar>10000</zfar>");
  595. fw.Logf(" </perspective>");
  596. fw.Logf(" </technique_common>");
  597. fw.Logf(" </optics>");
  598. fw.Logf(" </camera>");
  599. fw.Logf(" </library_cameras>");
  600. fw.Logf(" <library_animations>");
  601. fw.Logf(" <animation>");
  602. fw.Logf(" <animation>");
  603. fw.Logf(" <source id=\\"Pos_X_Keyframes\\">");
  604. fw.Logf((" <float_array id=\\"array_Pos_X_Keyframes\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  605. I = 0;
  606. J0x963:
  607. // End:0x9BE [Loop If]
  608. if(float(I) < KeyFrame_Count)
  609. {
  610. fw.Logf(string(KeyFrame_Time[I]));
  611. ++ I;
  612. // [Loop Continue]
  613. goto J0x963;
  614. }
  615. fw.Logf(" </float_array>");
  616. fw.Logf(" <technique_common>");
  617. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Pos_X_Keyframes\\">");
  618. fw.Logf(" <param name=\\"TIME\\" type=\\"float\\"/>");
  619. fw.Logf(" </accessor>");
  620. fw.Logf(" </technique_common>");
  621. fw.Logf(" </source>");
  622. fw.Logf(" <source id=\\"Pos_X\\">");
  623. fw.Logf((" <float_array id=\\"array_Pos_X\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  624. I = 0;
  625. J0xCA5:
  626. // End:0xD02 [Loop If]
  627. if(I < (KeyFrame_Pos_X.Length - 1))
  628. {
  629. fw.Logf(string(KeyFrame_Pos_X[I]));
  630. ++ I;
  631. // [Loop Continue]
  632. goto J0xCA5;
  633. }
  634. fw.Logf(" </float_array>");
  635. fw.Logf(" <technique_common>");
  636. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Pos_X\\">");
  637. fw.Logf(" <param name=\\"X\\" type=\\"float\\"/>");
  638. fw.Logf(" </accessor>");
  639. fw.Logf(" </technique_common>");
  640. fw.Logf(" </source>");
  641. fw.Logf(" <sampler id=\\"apply_Pos_X\\">");
  642. fw.Logf(" <input semantic=\\"INPUT\\" source=\\"#Pos_X_Keyframes\\"/>");
  643. fw.Logf(" <input semantic=\\"OUTPUT\\" source=\\"#Pos_X\\"/>");
  644. fw.Logf(" </sampler>");
  645. fw.Logf(" <channel source=\\"#apply_Pos_X\\" target=\\"Scene_Camera/translate.X\\"/>");
  646. fw.Logf(" </animation>");
  647. fw.Logf(" <animation>");
  648. fw.Logf(" <source id=\\"Pos_Y_Keyframes\\">");
  649. fw.Logf((" <float_array id=\\"array_Pos_Y_Keyframes\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  650. I = 0;
  651. J0x1221:
  652. // End:0x127C [Loop If]
  653. if(float(I) < KeyFrame_Count)
  654. {
  655. fw.Logf(string(KeyFrame_Time[I]));
  656. ++ I;
  657. // [Loop Continue]
  658. goto J0x1221;
  659. }
  660. fw.Logf(" </float_array>");
  661. fw.Logf(" <technique_common>");
  662. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Pos_Y_Keyframes\\">");
  663. fw.Logf(" <param name=\\"TIME\\" type=\\"float\\"/>");
  664. fw.Logf(" </accessor>");
  665. fw.Logf(" </technique_common>");
  666. fw.Logf(" </source>");
  667. fw.Logf(" <source id=\\"Pos_Y\\">");
  668. fw.Logf((" <float_array id=\\"array_Pos_Y\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  669. I = 0;
  670. J0x1563:
  671. // End:0x1613 [Loop If]
  672. if(I < (KeyFrame_Pos_Y.Length - 1))
  673. {
  674. // End:0x15C2
  675. if(C4D)
  676. {
  677. fw.Logf(string(KeyFrame_Pos_Z[I]));
  678. }
  679. // End:0x1605
  680. else
  681. {
  682. // End:0x1605
  683. if(Blender)
  684. {
  685. fw.Logf(string(-KeyFrame_Pos_Y[I]));
  686. }
  687. }
  688. ++ I;
  689. // [Loop Continue]
  690. goto J0x1563;
  691. }
  692. fw.Logf(" </float_array>");
  693. fw.Logf(" <technique_common>");
  694. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Pos_Y\\">");
  695. fw.Logf(" <param name=\\"Y\\" type=\\"float\\"/>");
  696. fw.Logf(" </accessor>");
  697. fw.Logf(" </technique_common>");
  698. fw.Logf(" </source>");
  699. fw.Logf(" <sampler id=\\"apply_Pos_Y\\">");
  700. fw.Logf(" <input semantic=\\"INPUT\\" source=\\"#Pos_Y_Keyframes\\"/>");
  701. fw.Logf(" <input semantic=\\"OUTPUT\\" source=\\"#Pos_Y\\"/>");
  702. fw.Logf(" </sampler>");
  703. fw.Logf(" <channel source=\\"#apply_Pos_Y\\" target=\\"Scene_Camera/translate.Y\\"/>");
  704. fw.Logf(" </animation>");
  705. fw.Logf(" <animation>");
  706. fw.Logf(" <source id=\\"Pos_Z_Keyframes\\">");
  707. fw.Logf((" <float_array id=\\"array_Pos_Z_Keyframes\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  708. I = 0;
  709. J0x1B32:
  710. // End:0x1B8D [Loop If]
  711. if(float(I) < KeyFrame_Count)
  712. {
  713. fw.Logf(string(KeyFrame_Time[I]));
  714. ++ I;
  715. // [Loop Continue]
  716. goto J0x1B32;
  717. }
  718. fw.Logf(" </float_array>");
  719. fw.Logf(" <technique_common>");
  720. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Pos_Z_Keyframes\\">");
  721. fw.Logf(" <param name=\\"TIME\\" type=\\"float\\"/>");
  722. fw.Logf(" </accessor>");
  723. fw.Logf(" </technique_common>");
  724. fw.Logf(" </source>");
  725. fw.Logf(" <source id=\\"Pos_Z\\">");
  726. fw.Logf((" <float_array id=\\"array_Pos_Z\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  727. I = 0;
  728. J0x1E74:
  729. // End:0x1F22 [Loop If]
  730. if(I < (KeyFrame_Pos_Z.Length - 1))
  731. {
  732. // End:0x1ED3
  733. if(C4D)
  734. {
  735. fw.Logf(string(KeyFrame_Pos_Y[I]));
  736. }
  737. // End:0x1F14
  738. else
  739. {
  740. // End:0x1F14
  741. if(Blender)
  742. {
  743. fw.Logf(string(KeyFrame_Pos_Z[I]));
  744. }
  745. }
  746. ++ I;
  747. // [Loop Continue]
  748. goto J0x1E74;
  749. }
  750. fw.Logf(" </float_array>");
  751. fw.Logf(" <technique_common>");
  752. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Pos_Z\\">");
  753. fw.Logf(" <param name=\\"Z\\" type=\\"float\\"/>");
  754. fw.Logf(" </accessor>");
  755. fw.Logf(" </technique_common>");
  756. fw.Logf(" </source>");
  757. fw.Logf(" <sampler id=\\"apply_Pos_Z\\">");
  758. fw.Logf(" <input semantic=\\"INPUT\\" source=\\"#Pos_Z_Keyframes\\"/>");
  759. fw.Logf(" <input semantic=\\"OUTPUT\\" source=\\"#Pos_Z\\"/>");
  760. fw.Logf(" </sampler>");
  761. fw.Logf(" <channel source=\\"#apply_Pos_Z\\" target=\\"Scene_Camera/translate.Z\\"/>");
  762. fw.Logf(" </animation>");
  763. fw.Logf(" <animation>");
  764. fw.Logf(" <source id=\\"Rot_Y_Keyframes\\">");
  765. fw.Logf((" <float_array id=\\"array_Rot_Y_Keyframes\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  766. I = 0;
  767. J0x2441:
  768. // End:0x249C [Loop If]
  769. if(float(I) < KeyFrame_Count)
  770. {
  771. fw.Logf(string(KeyFrame_Time[I]));
  772. ++ I;
  773. // [Loop Continue]
  774. goto J0x2441;
  775. }
  776. fw.Logf(" </float_array>");
  777. fw.Logf(" <technique_common>");
  778. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Rot_Y_Keyframes\\">");
  779. fw.Logf(" <param name=\\"TIME\\" type=\\"float\\"/>");
  780. fw.Logf(" </accessor>");
  781. fw.Logf(" </technique_common>");
  782. fw.Logf(" </source>");
  783. fw.Logf(" <source id=\\"Rot_Y\\">");
  784. fw.Logf((" <float_array id=\\"array_Rot_Y\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  785. I = 0;
  786. J0x2783:
  787. // End:0x27F6 [Loop If]
  788. if(I < (KeyFrame_Rot_X.Length - 1))
  789. {
  790. fw.Logf(string(((-KeyFrame_Rot_X[I] / 65536.0) * 360.0) - float(90)));
  791. ++ I;
  792. // [Loop Continue]
  793. goto J0x2783;
  794. }
  795. fw.Logf(" </float_array>");
  796. fw.Logf(" <technique_common>");
  797. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Rot_Y\\">");
  798. fw.Logf(" <param name=\\"ANGLE\\" type=\\"float\\"/>");
  799. fw.Logf(" </accessor>");
  800. fw.Logf(" </technique_common>");
  801. fw.Logf(" </source>");
  802. fw.Logf(" <sampler id=\\"apply_Rot_Y\\">");
  803. fw.Logf(" <input semantic=\\"INPUT\\" source=\\"#Rot_Y_Keyframes\\"/>");
  804. fw.Logf(" <input semantic=\\"OUTPUT\\" source=\\"#Rot_Y\\"/>");
  805. fw.Logf(" </sampler>");
  806. fw.Logf(" <channel source=\\"#apply_Rot_Y\\" target=\\"Scene_Camera/rotateY.ANGLE\\"/>");
  807. fw.Logf(" </animation>");
  808. fw.Logf(" <animation>");
  809. fw.Logf(" <source id=\\"Rot_X_Keyframes\\">");
  810. fw.Logf((" <float_array id=\\"array_Rot_X_Keyframes\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  811. I = 0;
  812. J0x2D1B:
  813. // End:0x2D76 [Loop If]
  814. if(float(I) < KeyFrame_Count)
  815. {
  816. fw.Logf(string(KeyFrame_Time[I]));
  817. ++ I;
  818. // [Loop Continue]
  819. goto J0x2D1B;
  820. }
  821. fw.Logf("</float_array>");
  822. fw.Logf(" <technique_common>");
  823. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Rot_X_Keyframes\\">");
  824. fw.Logf(" <param name=\\"TIME\\" type=\\"float\\"/>");
  825. fw.Logf(" </accessor>");
  826. fw.Logf(" </technique_common>");
  827. fw.Logf(" </source>");
  828. fw.Logf(" <source id=\\"Rot_X\\">");
  829. fw.Logf((" <float_array id=\\"array_Rot_X\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  830. I = 0;
  831. J0x3049:
  832. // End:0x30B4 [Loop If]
  833. if(I < (KeyFrame_Rot_Y.Length - 1))
  834. {
  835. fw.Logf(string((KeyFrame_Rot_Y[I] / 65536.0) * 360.0));
  836. ++ I;
  837. // [Loop Continue]
  838. goto J0x3049;
  839. }
  840. fw.Logf("</float_array>");
  841. fw.Logf(" <technique_common>");
  842. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Rot_X\\">");
  843. fw.Logf(" <param name=\\"ANGLE\\" type=\\"float\\"/>");
  844. fw.Logf(" </accessor>");
  845. fw.Logf(" </technique_common>");
  846. fw.Logf(" </source>");
  847. fw.Logf(" <sampler id=\\"apply_Rot_X\\">");
  848. fw.Logf(" <input semantic=\\"INPUT\\" source=\\"#Rot_X_Keyframes\\"/>");
  849. fw.Logf(" <input semantic=\\"OUTPUT\\" source=\\"#Rot_X\\"/>");
  850. fw.Logf(" </sampler>");
  851. fw.Logf(" <channel source=\\"#apply_Rot_X\\" target=\\"Scene_Camera/rotateX.ANGLE\\"/>");
  852. fw.Logf(" </animation>");
  853. fw.Logf(" <animation>");
  854. fw.Logf(" <source id=\\"Rot_Z_Keyframes\\">");
  855. fw.Logf((" <float_array id=\\"array_Rot_Z_Keyframes\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  856. I = 0;
  857. J0x35C5:
  858. // End:0x3620 [Loop If]
  859. if(float(I) < KeyFrame_Count)
  860. {
  861. fw.Logf(string(KeyFrame_Time[I]));
  862. ++ I;
  863. // [Loop Continue]
  864. goto J0x35C5;
  865. }
  866. fw.Logf("</float_array>");
  867. fw.Logf(" <technique_common>");
  868. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Rot_Z_Keyframes\\">");
  869. fw.Logf(" <param name=\\"TIME\\" type=\\"float\\"/>");
  870. fw.Logf(" </accessor>");
  871. fw.Logf(" </technique_common>");
  872. fw.Logf(" </source>");
  873. fw.Logf(" <source id=\\"Rot_Z\\">");
  874. fw.Logf((" <float_array id=\\"array_Rot_Z\\" count=\\"" $ string(KeyFrame_Count)) $ "\\">");
  875. I = 0;
  876. J0x38F3:
  877. // End:0x399F [Loop If]
  878. if(I < (KeyFrame_Rot_Z.Length - 1))
  879. {
  880. // End:0x3962
  881. if(C4D)
  882. {
  883. fw.Logf(string((-KeyFrame_Rot_Z[I] / 65536.0) * 360.0));
  884. }
  885. // End:0x3991
  886. else
  887. {
  888. // End:0x3991
  889. if(Blender)
  890. {
  891. fw.Logf(string(0));
  892. }
  893. }
  894. ++ I;
  895. // [Loop Continue]
  896. goto J0x38F3;
  897. }
  898. fw.Logf("</float_array>");
  899. fw.Logf(" <technique_common>");
  900. fw.Logf((" <accessor count=\\"" $ string(KeyFrame_Count)) $ "\\" source=\\"#array_Rot_Z\\">");
  901. fw.Logf(" <param name=\\"ANGLE\\" type=\\"float\\"/>");
  902. fw.Logf(" </accessor>");
  903. fw.Logf(" </technique_common>");
  904. fw.Logf(" </source>");
  905. fw.Logf(" <sampler id=\\"apply_Rot_Z\\">");
  906. fw.Logf(" <input semantic=\\"INPUT\\" source=\\"#Rot_Z_Keyframes\\"/>");
  907. fw.Logf(" <input semantic=\\"OUTPUT\\" source=\\"#Rot_Z\\"/>");
  908. fw.Logf(" </sampler>");
  909. fw.Logf(" <channel source=\\"#apply_Rot_Z\\" target=\\"Scene_Camera/rotateZ.ANGLE\\"/>");
  910. fw.Logf(" </animation>");
  911. fw.Logf(" <animation>");
  912. fw.Logf(" <source id=\\"Scale_X_Keyframes\\">");
  913. fw.Logf(" <float_array id=\\"array_Scale_X_Keyframes\\" count=\\"0\\"/>");
  914. fw.Logf(" <technique_common>");
  915. fw.Logf(" <accessor count=\\"0\\" source=\\"#array_Scale_X_Keyframes\\">");
  916. fw.Logf(" <param name=\\"TIME\\" type=\\"float\\"/>");
  917. fw.Logf(" </accessor>");
  918. fw.Logf(" </technique_common>");
  919. fw.Logf(" </source>");
  920. fw.Logf(" <source id=\\"Scale_X\\">");
  921. fw.Logf(" <float_array id=\\"array_Scale_X\\" count=\\"0\\"/>");
  922. fw.Logf(" <technique_common>");
  923. fw.Logf(" <accessor count=\\"0\\" source=\\"#array_Scale_X\\">");
  924. fw.Logf(" <param name=\\"X\\" type=\\"float\\"/>");
  925. fw.Logf(" </accessor>");
  926. fw.Logf(" </technique_common>");
  927. fw.Logf(" </source>");
  928. fw.Logf(" <sampler id=\\"apply_Scale_X\\">");
  929. fw.Logf(" <input semantic=\\"INPUT\\" source=\\"#Scale_X_Keyframes\\"/>");
  930. fw.Logf(" <input semantic=\\"OUTPUT\\" source=\\"#Scale_X\\"/>");
  931. fw.Logf(" </sampler>");
  932. fw.Logf(" <channel source=\\"#apply_Scale_X\\" target=\\"Scene_Camera/scale.X\\"/>");
  933. fw.Logf(" </animation>");
  934. fw.Logf(" <animation>");
  935. fw.Logf(" <source id=\\"Scale_Y_Keyframes\\">");
  936. fw.Logf(" <float_array id=\\"array_Scale_Y_Keyframes\\" count=\\"0\\"/>");
  937. fw.Logf(" <technique_common>");
  938. fw.Logf(" <accessor count=\\"0\\" source=\\"#array_Scale_Y_Keyframes\\">");
  939. fw.Logf(" <param name=\\"TIME\\" type=\\"float\\"/>");
  940. fw.Logf(" </accessor>");
  941. fw.Logf(" </technique_common>");
  942. fw.Logf(" </source>");
  943. fw.Logf(" <source id=\\"Scale_Y\\">");
  944. fw.Logf(" <float_array id=\\"array_Scale_Y\\" count=\\"0\\"/>");
  945. fw.Logf(" <technique_common>");
  946. fw.Logf(" <accessor count=\\"0\\" source=\\"#array_Scale_Y\\">");
  947. fw.Logf(" <param name=\\"Y\\" type=\\"float\\"/>");
  948. fw.Logf(" </accessor>");
  949. fw.Logf(" </technique_common>");
  950. fw.Logf(" </source>");
  951. fw.Logf(" <sampler id=\\"apply_Scale_Y\\">");
  952. fw.Logf(" <input semantic=\\"INPUT\\" source=\\"#Scale_Y_Keyframes\\"/>");
  953. fw.Logf(" <input semantic=\\"OUTPUT\\" source=\\"#Scale_Y\\"/>");
  954. fw.Logf(" </sampler>");
  955. fw.Logf(" <channel source=\\"#apply_Scale_Y\\" target=\\"Scene_Camera/scale.Y\\"/>");
  956. fw.Logf(" </animation>");
  957. fw.Logf(" <animation>");
  958. fw.Logf(" <source id=\\"Scale_Z_Keyframes\\">");
  959. fw.Logf(" <float_array id=\\"array_Scale_Z_Keyframes\\" count=\\"0\\"/>");
  960. fw.Logf(" <technique_common>");
  961. fw.Logf(" <accessor count=\\"0\\" source=\\"#array_Scale_Z_Keyframes\\">");
  962. fw.Logf(" <param name=\\"TIME\\" type=\\"float\\"/>");
  963. fw.Logf(" </accessor>");
  964. fw.Logf(" </technique_common>");
  965. fw.Logf(" </source>");
  966. fw.Logf(" <source id=\\"Scale_Z\\">");
  967. fw.Logf(" <float_array id=\\"array_Scale_Z\\" count=\\"0\\"/>");
  968. fw.Logf(" <technique_common>");
  969. fw.Logf(" <accessor count=\\"0\\" source=\\"#array_Scale_Z\\">");
  970. fw.Logf(" <param name=\\"Z\\" type=\\"float\\"/>");
  971. fw.Logf(" </accessor>");
  972. fw.Logf(" </technique_common>");
  973. fw.Logf(" </source>");
  974. fw.Logf(" <sampler id=\\"apply_Scale_Z\\">");
  975. fw.Logf(" <input semantic=\\"INPUT\\" source=\\"#Scale_Z_Keyframes\\"/>");
  976. fw.Logf(" <input semantic=\\"OUTPUT\\" source=\\"#Scale_Z\\"/>");
  977. fw.Logf(" </sampler>");
  978. fw.Logf(" <channel source=\\"#apply_Scale_Z\\" target=\\"Scene_Camera/scale.Z\\"/>");
  979. fw.Logf(" </animation>");
  980. fw.Logf(" </animation>");
  981. fw.Logf(" </library_animations>");
  982. fw.Logf(" <library_visual_scenes>");
  983. fw.Logf(" <visual_scene id=\\"ID5\\">");
  984. fw.Logf(" <node id=\\"Scene_Camera\\" name=\\"Camera\\">");
  985. fw.Logf(" <translate sid=\\"translate\\">0 0 0</translate>");
  986. fw.Logf(" <rotate sid=\\"rotateY\\">0 1 0 0</rotate>");
  987. fw.Logf(" <rotate sid=\\"rotateX\\">1 0 0 0</rotate>");
  988. fw.Logf(" <rotate sid=\\"rotateZ\\">0 0 1 0</rotate>");
  989. fw.Logf(" <scale sid=\\"scale\\">1 1 1</scale>");
  990. fw.Logf(" <instance_camera url=\\"#Camera1\\"/>");
  991. fw.Logf(" </node>");
  992. fw.Logf(" </visual_scene>");
  993. fw.Logf(" </library_visual_scenes>");
  994. fw.Logf(" <scene>");
  995. fw.Logf(" <instance_visual_scene url=\\"#ID5\\"/>");
  996. fw.Logf(" </scene>");
  997. fw.Logf("</COLLADA>");
  998. fw.CloseFile();
  999. //return;
  1000. }
  1001.  
  1002. function followtarget(int followmode)
  1003. {
  1004. local bool b_set_target;
  1005.  
  1006. I = 0;
  1007. watchedname = "not available";
  1008. // End:0x42
  1009. if(followmode == 1)
  1010. {
  1011. bfollowtarget_lock_rotation = true;
  1012. }
  1013. // End:0x4E
  1014. else
  1015. {
  1016. bfollowtarget_lock_rotation = false;
  1017. }
  1018. // End:0x26B
  1019. if((followmode == 1) || followmode == 2)
  1020. {
  1021. // End:0x267
  1022. foreach PC.DynamicActors(class'Projectile', tproj)
  1023. {
  1024. // End:0x25B
  1025. if(targetcount == I)
  1026. {
  1027. PC.SetViewTarget(PC.Pawn);
  1028. specfollowdistance = 100.0;
  1029. drs.SetLocation(tproj.Location - (vector(tproj.Rotation) * float(60)));
  1030. drs.SetRotation(rotator(tproj.Location - drs.Location));
  1031. Target = tproj;
  1032. // End:0x1F2
  1033. if(followmode == 1)
  1034. {
  1035. followtarget_mode = "center_target";
  1036. }
  1037. // End:0x211
  1038. if(followmode == 2)
  1039. {
  1040. followtarget_mode = "loc";
  1041. }
  1042. watchedname = tproj.GetHumanReadableName();
  1043. watchedname = Repl(watchedname, "UTProj_", "");
  1044. }
  1045. ++ I;
  1046. }
  1047. }
  1048. // End:0x7D1
  1049. else
  1050. {
  1051. // End:0x7D1
  1052. if(followmode == 3)
  1053. {
  1054. // End:0x7D0
  1055. foreach PC.DynamicActors(class'Pawn', Pawn)
  1056. {
  1057. // End:0x2D1
  1058. if(Pawn.PlayerReplicationInfo == none)
  1059. {
  1060. continue;
  1061. }
  1062. // End:0x3BC
  1063. if((drs.ViewTarget != none) && Pawn(PC.ViewTarget) != none)
  1064. {
  1065. // End:0x3B9
  1066. if(Pawn(PC.ViewTarget).PlayerReplicationInfo.PlayerName == Pawn.PlayerReplicationInfo.PlayerName)
  1067. {
  1068. b_set_target = true;
  1069. }
  1070. }
  1071. // End:0x3DF
  1072. else
  1073. {
  1074. // End:0x3DF
  1075. if(targetcount == I)
  1076. {
  1077. b_set_target = true;
  1078. }
  1079. }
  1080. // End:0x7C4
  1081. if(b_set_target == true)
  1082. {
  1083. specfollowdistance = 100.0;
  1084. drs.SetViewTarget(none);
  1085. // End:0x68F
  1086. if(Vehicle(Pawn) != none)
  1087. {
  1088. // End:0x498
  1089. if(Vehicle(Pawn).Driver != none)
  1090. {
  1091. Target = Vehicle(Pawn).Driver;
  1092. }
  1093. // End:0x4AB
  1094. else
  1095. {
  1096. Target = Pawn;
  1097. }
  1098. // End:0x5C3
  1099. if(Vehicle(Pawn).GetHumanReadableName() == "Hoverboard")
  1100. {
  1101. drs.SetLocation((Pawn.Location - (vector(Pawn.Rotation - rot(16384, 0, 0)) * float(30))) - (vector(Pawn.Rotation - rot(2048, 0, 0)) * float(100)));
  1102. drs.SetRotation(Pawn.Rotation);
  1103. }
  1104. // End:0x68C
  1105. else
  1106. {
  1107. drs.SetLocation(Pawn.Location - (vector(Pawn.Rotation - rot(4096, 0, 0)) * float(600)));
  1108. drs.SetRotation(rotator(Pawn.Location - drs.Location));
  1109. }
  1110. }
  1111. // End:0x768
  1112. else
  1113. {
  1114. Target = Pawn;
  1115. drs.SetLocation(Pawn.Location - (vector(Pawn.Rotation - rot(2048, 0, 0)) * float(100)));
  1116. drs.SetRotation(rotator(Pawn.Location - drs.Location));
  1117. }
  1118. watchedname = Pawn.PlayerReplicationInfo.PlayerName;
  1119. followtarget_mode = "loc_rot";
  1120. b_set_target = false;
  1121. }
  1122. ++ I;
  1123. }
  1124. }
  1125. }
  1126. // End:0x879
  1127. if(I != 0)
  1128. {
  1129. ++ targetcount;
  1130. targetcount_anz = I;
  1131. targetcount = targetcount % targetcount_anz;
  1132. drs.bCollideWorld = false;
  1133. bViewingcam = true;
  1134. bViewingdemorec = false;
  1135. bTargetnone = false;
  1136. bFollowTarget = true;
  1137. waspressed = true;
  1138. }
  1139. //return;
  1140. }
  1141.  
  1142. function TimeDilation(float percentage)
  1143. {
  1144. // End:0xB1
  1145. if(PC.WorldInfo.DemoPlayTimeDilation >= float(1))
  1146. {
  1147. PC.WorldInfo.DemoPlayTimeDilation += (PC.WorldInfo.DemoPlayTimeDilation * percentage);
  1148. }
  1149. // End:0x19F
  1150. else
  1151. {
  1152. // End:0x19F
  1153. if((PC.WorldInfo.DemoPlayTimeDilation + (PC.WorldInfo.DemoPlayTimeDilation * percentage)) > float(0))
  1154. {
  1155. PC.WorldInfo.DemoPlayTimeDilation += (PC.WorldInfo.DemoPlayTimeDilation * percentage);
  1156. }
  1157. }
  1158. //return;
  1159. }
  1160.  
  1161. function viewpreviousplayer(int N)
  1162. {
  1163. local int Index, CurrentIndex, IndexLength;
  1164.  
  1165. // End:0x235
  1166. if(PC.RealViewTarget != none)
  1167. {
  1168. Index = 0;
  1169. // End:0xE1
  1170. foreach PC.DynamicActors(class'Pawn', Pawn)
  1171. {
  1172. // End:0xE0
  1173. if(Pawn.PlayerReplicationInfo != none)
  1174. {
  1175. ++ Index;
  1176. // End:0xE0
  1177. if(PC.RealViewTarget == Pawn.PlayerReplicationInfo)
  1178. {
  1179. CurrentIndex = Index;
  1180. }
  1181. }
  1182. }
  1183. IndexLength = Index;
  1184. // End:0x129
  1185. if((N == 2) && CurrentIndex == IndexLength)
  1186. {
  1187. CurrentIndex = 0;
  1188. }
  1189. I = 0;
  1190. // End:0x231
  1191. foreach PC.DynamicActors(class'Pawn', Pawn)
  1192. {
  1193. // End:0x230
  1194. if(Pawn.PlayerReplicationInfo != none)
  1195. {
  1196. ++ I;
  1197. // End:0x1E2
  1198. if(IndexLength < (CurrentIndex + N))
  1199. {
  1200. PC.SetViewTarget(Pawn);
  1201. // End:0x231
  1202. break;
  1203. // End:0x230
  1204. continue;
  1205. }
  1206. // End:0x230
  1207. if(I == (CurrentIndex + N))
  1208. {
  1209. PC.SetViewTarget(Pawn);
  1210. // End:0x231
  1211. break;
  1212. }
  1213. }
  1214. }
  1215. }
  1216. // End:0x254
  1217. else
  1218. {
  1219. drs.DemoViewNextPlayer();
  1220. }
  1221. //return;
  1222. }
  1223.  
  1224. function bool InputAxis(int ControllerId, name Key, float Delta, float DeltaTime, optional bool bGamepad)
  1225. {
  1226. local Rotator tr;
  1227.  
  1228. bGamepad = false;
  1229. switch(Key)
  1230. {
  1231. // End:0xC3
  1232. case 'MouseX':
  1233. tr = drs.Rotation;
  1234. tr.Yaw = int(float(tr.Yaw) + (Delta * PauseCamMouseSensitivity));
  1235. drs.SetRotation(tr);
  1236. // End:0x171
  1237. break;
  1238. // End:0x16E
  1239. case 'MouseY':
  1240. tr = drs.Rotation;
  1241. tr.Pitch = int(float(tr.Pitch) + (Delta * PauseCamMouseSensitivity));
  1242. drs.SetRotation(tr);
  1243. // End:0x171
  1244. break;
  1245. // End:0xFFFF
  1246. default:
  1247. return false;
  1248. }
  1249. //return ReturnValue;
  1250. }
  1251.  
  1252. function bool InputKey(int ControllerId, name Key, Core.Object.EInputEvent Event, optional float AmountDepressed, optional bool bGamepad)
  1253. {
  1254. local Vector V;
  1255. local RotKnoten rk2;
  1256. local Vector tvect;
  1257. local bool ballowedflag;
  1258.  
  1259. AmountDepressed = 1.0;
  1260. bGamepad = false;
  1261. // End:0x7D
  1262. if(LocalPlayer(PC.Player).ViewportClient.ViewportConsole.IsInState('Typing'))
  1263. {
  1264. return false;
  1265. }
  1266. bact = true;
  1267. // End:0x45D6
  1268. if(Event == 0)
  1269. {
  1270. // End:0x1A7
  1271. if(CC == none)
  1272. {
  1273. // End:0x1A6
  1274. foreach PC.DynamicActors(class'CamControl', Other2)
  1275. {
  1276. // End:0x100
  1277. if(Other2.bForC130)
  1278. {
  1279. continue;
  1280. }
  1281. CC = Other2;
  1282. Speed = CC.basic_speed2;
  1283. Other2.FOV = PC.DefaultFOV;
  1284. CC.btimedpath = btimedpath;
  1285. // End:0x1A6
  1286. break;
  1287. }
  1288. }
  1289. switch(Key)
  1290. {
  1291. // End:0x1D5
  1292. case 'X':
  1293. balternativekey = true;
  1294. // End:0x45D3
  1295. break;
  1296. // End:0x278
  1297. case 'J':
  1298. // End:0x225
  1299. if(!btimedpath)
  1300. {
  1301. PC.ConsoleCommand("tpstart");
  1302. goto J0x275;
  1303. btimedpath = !btimedpath;
  1304. }
  1305. // End:0x275
  1306. if(CC != none)
  1307. {
  1308. CC.btimedpath = btimedpath;
  1309. goto J0x45D3;
  1310. J0x275:
  1311. // End:0x2AB
  1312. case 'L':
  1313. }
  1314. // End:0x2A8
  1315. if(bserverdemo)
  1316. {
  1317. bLockRotation = !bLockRotation;
  1318. goto J0x45D3;
  1319. // End:0x2D1
  1320. case 'M':
  1321. }
  1322. bShowHudInfo = !bShowHudInfo;
  1323. goto J0x45D3;
  1324. // End:0x31E
  1325. case 'MouseScrollDown':
  1326. // End:0x30C
  1327. if(balternativekey)
  1328. {
  1329. drs.DemoViewNextPlayer();
  1330. goto J0x31B;
  1331. TimeDilation(-0.050);
  1332. }
  1333. goto J0x45D3;
  1334. J0x31B:
  1335. // End:0x357
  1336. case 'MouseScrollUp':
  1337. // End:0x345
  1338. if(balternativekey)
  1339. {
  1340. viewpreviousplayer(1);
  1341. goto J0x354;
  1342. TimeDilation(0.050);
  1343. }
  1344. goto J0x45D3;
  1345. J0x354:
  1346. // End:0x39F
  1347. case 'Up':
  1348. PC.WorldInfo.DemoPlayTimeDilation = 1.0;
  1349. goto J0x45D3;
  1350. // End:0x3BD
  1351. case 'Left':
  1352. TimeDilation(-0.20);
  1353. goto J0x45D3;
  1354. // End:0x3DB
  1355. case 'Right':
  1356. TimeDilation(0.20);
  1357. goto J0x45D3;
  1358. // End:0x574
  1359. case 'Down':
  1360. bIsPaused = !bIsPaused;
  1361. // End:0x47D
  1362. if(PC.PlayerReplicationInfo == none)
  1363. {
  1364. // End:0x47C
  1365. foreach PC.DynamicActors(class'PlayerReplicationInfo', tpri)
  1366. {
  1367. PC.PlayerReplicationInfo = tpri;
  1368. goto J0x47C;
  1369. J0x47C:
  1370. // End:0x4DF
  1371. if(bIsPaused)
  1372. {
  1373. }
  1374. }
  1375. PC.WorldInfo.Pauser = PC.PlayerReplicationInfo;
  1376. goto J0x514;
  1377. PC.WorldInfo.Pauser = none;
  1378. }
  1379. // End:0x571
  1380. if(bpcam)
  1381. {
  1382. J0x514:
  1383. // End:0x571
  1384. if(CC != none)
  1385. {
  1386. CC.bpcam = !CC.bpcam;
  1387. goto J0x45D3;
  1388. // End:0x5E8
  1389. case 'F2':
  1390. }
  1391. }
  1392. // End:0x5C2
  1393. if(bdumpframes)
  1394. {
  1395. // End:0x5A6
  1396. if(Export_Collada_Cinema4D)
  1397. {
  1398. WriteColladaFile(true, false);
  1399. // End:0x5BF
  1400. if(Export_Collada_Blender)
  1401. {
  1402. }
  1403. WriteColladaFile(false, true);
  1404. goto J0x5CE;
  1405. bGetCanvasResolution = true;
  1406. }
  1407. }
  1408. bdumpframes = !bdumpframes;
  1409. J0x5CE:
  1410. goto J0x45D3;
  1411. // End:0x60E
  1412. case 'F3':
  1413. bpathedit = !bpathedit;
  1414. goto J0x45D3;
  1415. // End:0x659
  1416. case 'F4':
  1417. CC.conf = true;
  1418. SaveConfig();
  1419. CC.SaveConfig();
  1420. goto J0x45D3;
  1421. // End:0x672
  1422. case 'F5':
  1423. LoadRCamConfig();
  1424. goto J0x45D3;
  1425. // End:0x68B
  1426. case 'F7':
  1427. toggleMovieMode();
  1428. goto J0x45D3;
  1429. // End:0x6B1
  1430. case 'F1':
  1431. bshowhelp = !bshowhelp;
  1432. goto J0x45D3;
  1433. // End:0x6D7
  1434. case 'R':
  1435. // End:0x6D4
  1436. if(balternativekey)
  1437. {
  1438. CycleRenderViewMode();
  1439. goto J0x45D3;
  1440. // End:0x6F2
  1441. case 'W':
  1442. }
  1443. bw = true;
  1444. goto J0x45D3;
  1445. // End:0x70D
  1446. case 'S':
  1447. bs = true;
  1448. goto J0x45D3;
  1449. // End:0x728
  1450. case 'A':
  1451. ba = true;
  1452. goto J0x45D3;
  1453. // End:0x743
  1454. case 'D':
  1455. bd = true;
  1456. goto J0x45D3;
  1457. // End:0x75E
  1458. case 'LeftShift':
  1459. bdown = true;
  1460. goto J0x45D3;
  1461. // End:0x779
  1462. case 'LeftAlt':
  1463. bup = true;
  1464. goto J0x45D3;
  1465. // End:0x7E7
  1466. case 'SpaceBar':
  1467. // End:0x7E4
  1468. if(bIsPaused && PC.WorldInfo.Pauser != none)
  1469. {
  1470. bIsPaused = !bIsPaused;
  1471. goto J0x45D3;
  1472. // End:0xAF6
  1473. case 'Add':
  1474. }
  1475. // End:0xAF3
  1476. if((CC != none) && flagcount > 2)
  1477. {
  1478. // End:0x882
  1479. if((btimedpath && started) && drs.ViewTarget == CC)
  1480. {
  1481. CC.dif_tpstart_add = true;
  1482. goto J0x45D3;
  1483. CC.FOV = drs.DefaultFOV;
  1484. }
  1485. drs.SetFOV(drs.DefaultFOV);
  1486. drs.SetViewTarget(CC.viewer01);
  1487. CC.ssw = false;
  1488. PC.bDebugFreeCam = true;
  1489. // End:0xA9A
  1490. if(bpathedit)
  1491. {
  1492. CC.viewer01.changeView(CC.Viewing, CC.Z - 1, true, false);
  1493. // End:0xA97
  1494. if(CC.Viewing == 0)
  1495. {
  1496. CC.viewer01.changeView(CC.Viewing, CC.Z - 1, true, false);
  1497. goto J0xAF3;
  1498. CC.updateViewer(false);
  1499. }
  1500. }
  1501. drs.bBehindView = false;
  1502. bViewingcam = true;
  1503. bViewingdemorec = false;
  1504. goto J0x45D3;
  1505. J0xAF3:
  1506. // End:0xE05
  1507. case 'Subtract':
  1508. }
  1509. // End:0xE02
  1510. if((CC != none) && flagcount > 2)
  1511. {
  1512. // End:0xB91
  1513. if((btimedpath && started) && drs.ViewTarget == CC)
  1514. {
  1515. CC.dif_tpstart_subtract = true;
  1516. goto J0x45D3;
  1517. CC.FOV = drs.DefaultFOV;
  1518. }
  1519. drs.SetFOV(drs.DefaultFOV);
  1520. drs.SetViewTarget(CC.viewer01);
  1521. CC.ssw = false;
  1522. PC.bDebugFreeCam = true;
  1523. // End:0xDA9
  1524. if(bpathedit)
  1525. {
  1526. CC.viewer01.changeView(CC.Viewing, CC.Z - 1, false, true);
  1527. // End:0xDA6
  1528. if(CC.Viewing == 0)
  1529. {
  1530. CC.viewer01.changeView(CC.Viewing, CC.Z - 1, false, true);
  1531. goto J0xE02;
  1532. CC.updateViewer(true);
  1533. }
  1534. }
  1535. drs.bBehindView = false;
  1536. bViewingcam = true;
  1537. bViewingdemorec = false;
  1538. goto J0x45D3;
  1539. J0xE02:
  1540. // End:0xE2B
  1541. case 'O':
  1542. }
  1543. bfovmode = !bfovmode;
  1544. goto J0x45D3;
  1545. // End:0x12DB
  1546. case 'Z':
  1547. // End:0x12D8
  1548. if(CC != none)
  1549. {
  1550. Z = 0;
  1551. CC.set_Flag_Locations(drs.ViewTarget.Location, CC.Viewing);
  1552. CC.set_Flag_Rotations(drs.ViewTarget.Rotation, CC.Viewing);
  1553. // End:0x10F9
  1554. foreach PC.DynamicActors(class'Knoten', kv)
  1555. {
  1556. // End:0xF85
  1557. if(kv.bForC130)
  1558. {
  1559. continue;
  1560. goto J0x10F9;
  1561. CC.get_Flag_Locations(Z, V);
  1562. }
  1563. // End:0x10ED
  1564. if(kv.Location != V)
  1565. {
  1566. CC.get_Flag_Rotations(Z, rotat);
  1567. kv.SetLocation(V);
  1568. kv.SetRotation(rotat);
  1569. // End:0x10ED
  1570. if(CC.Viewing == Z)
  1571. {
  1572. CC.viewer01.SetLocation(V);
  1573. CC.viewer01.SetRotation(rotat);
  1574. ++ Z;
  1575. }
  1576. }
  1577. CC.updateSplinef(true);
  1578. }
  1579. J0x10F9:
  1580. kabstand = CC.kabstand;
  1581. mabstand = CC.mabstand;
  1582. // End:0x12D8
  1583. if(CC != none)
  1584. {
  1585. // End:0x121C
  1586. if(PC.WorldInfo.Pauser == none)
  1587. {
  1588. PC.WorldInfo.Pauser = PC.PlayerReplicationInfo;
  1589. bIsPaused = true;
  1590. waspressed = true;
  1591. CC.viewer01.changeView(CC.Viewing, CC.Z, false, false);
  1592. }
  1593. drs.SetViewTarget(CC.viewer01);
  1594. bViewing_last_set_campoint = true;
  1595. goto J0x45D3;
  1596. // End:0x132B
  1597. case 'U':
  1598. }
  1599. }
  1600. drs.bCollideWorld = !drs.bCollideWorld;
  1601. goto J0x45D3;
  1602. // End:0x13A5
  1603. case 'H':
  1604. PC.myHUD.bShowHUD = !PC.myHUD.bShowHUD;
  1605. goto J0x45D3;
  1606. // End:0x153E
  1607. case 'F':
  1608. bIsPaused = !bIsPaused;
  1609. // End:0x1447
  1610. if(PC.PlayerReplicationInfo == none)
  1611. {
  1612. // End:0x1446
  1613. foreach PC.DynamicActors(class'PlayerReplicationInfo', tpri)
  1614. {
  1615. PC.PlayerReplicationInfo = tpri;
  1616. goto J0x1446;
  1617. J0x1446:
  1618. // End:0x14A9
  1619. if(bIsPaused)
  1620. {
  1621. }
  1622. }
  1623. PC.WorldInfo.Pauser = PC.PlayerReplicationInfo;
  1624. goto J0x14DE;
  1625. PC.WorldInfo.Pauser = none;
  1626. }
  1627. // End:0x153B
  1628. if(bpcam)
  1629. {
  1630. J0x14DE:
  1631. // End:0x153B
  1632. if(CC != none)
  1633. {
  1634. CC.bpcam = !CC.bpcam;
  1635. goto J0x45D3;
  1636. // End:0x15EA
  1637. case 'one':
  1638. }
  1639. }
  1640. // End:0x15AC
  1641. if(drs.ViewTarget == CC)
  1642. {
  1643. CC.basic_speed2 = 0.0;
  1644. Speed = 0.0;
  1645. goto J0x15E7;
  1646. // End:0x15E7
  1647. if(drs.ViewTarget == drs)
  1648. {
  1649. }
  1650. speccamspeed = 0.0;
  1651. goto J0x45D3;
  1652. J0x15E7:
  1653. // End:0x1696
  1654. case 'two':
  1655. }
  1656. // End:0x1658
  1657. if(drs.ViewTarget == CC)
  1658. {
  1659. CC.basic_speed2 = 2.0;
  1660. Speed = 2.0;
  1661. goto J0x1693;
  1662. // End:0x1693
  1663. if(PC.ViewTarget == drs)
  1664. {
  1665. }
  1666. speccamspeed = 2.0;
  1667. goto J0x45D3;
  1668. J0x1693:
  1669. // End:0x1742
  1670. case 'three':
  1671. }
  1672. // End:0x1704
  1673. if(drs.ViewTarget == CC)
  1674. {
  1675. CC.basic_speed2 = 4.0;
  1676. Speed = 4.0;
  1677. goto J0x173F;
  1678. // End:0x173F
  1679. if(PC.ViewTarget == drs)
  1680. {
  1681. }
  1682. speccamspeed = 4.0;
  1683. goto J0x45D3;
  1684. J0x173F:
  1685. // End:0x17EE
  1686. case 'four':
  1687. }
  1688. // End:0x17B0
  1689. if(drs.ViewTarget == CC)
  1690. {
  1691. CC.basic_speed2 = 7.0;
  1692. Speed = 7.0;
  1693. goto J0x17EB;
  1694. // End:0x17EB
  1695. if(PC.ViewTarget == drs)
  1696. {
  1697. }
  1698. speccamspeed = 7.0;
  1699. goto J0x45D3;
  1700. J0x17EB:
  1701. // End:0x189A
  1702. case 'five':
  1703. }
  1704. // End:0x185C
  1705. if(drs.ViewTarget == CC)
  1706. {
  1707. CC.basic_speed2 = 12.0;
  1708. Speed = 12.0;
  1709. goto J0x1897;
  1710. // End:0x1897
  1711. if(PC.ViewTarget == drs)
  1712. {
  1713. }
  1714. speccamspeed = 12.0;
  1715. goto J0x45D3;
  1716. J0x1897:
  1717. // End:0x1946
  1718. case 'six':
  1719. }
  1720. // End:0x1908
  1721. if(drs.ViewTarget == CC)
  1722. {
  1723. CC.basic_speed2 = 18.0;
  1724. Speed = 18.0;
  1725. goto J0x1943;
  1726. // End:0x1943
  1727. if(drs.ViewTarget == drs)
  1728. {
  1729. }
  1730. speccamspeed = 18.0;
  1731. goto J0x45D3;
  1732. J0x1943:
  1733. // End:0x19F2
  1734. case 'seven':
  1735. }
  1736. // End:0x19B4
  1737. if(drs.ViewTarget == CC)
  1738. {
  1739. CC.basic_speed2 = 26.0;
  1740. Speed = 26.0;
  1741. goto J0x19EF;
  1742. // End:0x19EF
  1743. if(PC.ViewTarget == drs)
  1744. {
  1745. }
  1746. speccamspeed = 26.0;
  1747. goto J0x45D3;
  1748. J0x19EF:
  1749. // End:0x1A9E
  1750. case 'eight':
  1751. }
  1752. // End:0x1A60
  1753. if(drs.ViewTarget == CC)
  1754. {
  1755. CC.basic_speed2 = 34.0;
  1756. Speed = 34.0;
  1757. goto J0x1A9B;
  1758. // End:0x1A9B
  1759. if(PC.ViewTarget == drs)
  1760. {
  1761. }
  1762. speccamspeed = 34.0;
  1763. goto J0x45D3;
  1764. J0x1A9B:
  1765. // End:0x1B4A
  1766. case 'nine':
  1767. }
  1768. // End:0x1B0C
  1769. if(drs.ViewTarget == CC)
  1770. {
  1771. CC.basic_speed2 = 40.0;
  1772. Speed = 40.0;
  1773. goto J0x1B47;
  1774. // End:0x1B47
  1775. if(PC.ViewTarget == drs)
  1776. {
  1777. }
  1778. speccamspeed = 40.0;
  1779. goto J0x45D3;
  1780. J0x1B47:
  1781. // End:0x238D
  1782. case 'MiddleMouseButton':
  1783. }
  1784. ballowedflag = true;
  1785. // End:0x1D31
  1786. if(flagcount >= 2)
  1787. {
  1788. // End:0x1BC1
  1789. if(distancemeter_pos == vect(0.0, 0.0, 0.0))
  1790. {
  1791. CC.get_Flag_Locations(flagcount - 1, distancemeter_pos);
  1792. tvect = distancemeter_pos;
  1793. }
  1794. // End:0x1D31
  1795. if(((VSize(drs.ViewTarget.Location - tvect) / kabstand) > float(15)) || (mabstand / VSize(drs.ViewTarget.Location - tvect)) > float(15))
  1796. {
  1797. ballowedflag = false;
  1798. PC.ClientMessage("RypelCam Error: desired Campointlocation too far or too near to last Campoint!");
  1799. PC.myHUD.bShowHUD = true;
  1800. // End:0x1E34
  1801. if((drs.ViewTarget.Location - tvect) == vect(0.0, 0.0, 0.0))
  1802. {
  1803. }
  1804. }
  1805. ballowedflag = false;
  1806. PC.ClientMessage("RypelCam Error: desired Campointlocation too far or too near to last Campoint!");
  1807. PC.myHUD.bShowHUD = true;
  1808. // End:0x238A
  1809. if(ballowedflag)
  1810. {
  1811. }
  1812. // End:0x2036
  1813. if(flagcount >= 1)
  1814. {
  1815. tvect = distancemeter_pos;
  1816. // End:0x1F06
  1817. if(flagcount == 1)
  1818. {
  1819. kabstand = VSize(drs.ViewTarget.Location - tvect);
  1820. mabstand = VSize(drs.ViewTarget.Location - tvect);
  1821. // End:0x1F9E
  1822. if(VSize(drs.ViewTarget.Location - tvect) < kabstand)
  1823. {
  1824. }
  1825. kabstand = VSize(drs.ViewTarget.Location - tvect);
  1826. // End:0x2036
  1827. if(VSize(drs.ViewTarget.Location - tvect) > mabstand)
  1828. {
  1829. }
  1830. mabstand = VSize(drs.ViewTarget.Location - tvect);
  1831. PC.Spawn(class'Knoten', drs.ViewTarget.Location).FOV = drs.DefaultFOV;
  1832. }
  1833. }
  1834. ++ flagcount;
  1835. // End:0x2243
  1836. if(CC != none)
  1837. {
  1838. // End:0x2187
  1839. if(PC.WorldInfo.Pauser == none)
  1840. {
  1841. PC.WorldInfo.Pauser = PC.PlayerReplicationInfo;
  1842. bIsPaused = true;
  1843. waspressed = true;
  1844. CC.viewer01.changeView(CC.Z, CC.Z, false, false);
  1845. }
  1846. drs.SetViewTarget(CC.viewer01);
  1847. bViewing_last_set_campoint = true;
  1848. // End:0x22ED
  1849. if(flagcount >= 4)
  1850. {
  1851. }
  1852. // End:0x22EC
  1853. foreach PC.DynamicActors(class'Knoten', other3)
  1854. {
  1855. // End:0x22A7
  1856. if(other3.bForC130)
  1857. {
  1858. continue;
  1859. goto J0x22EC;
  1860. // End:0x22EB
  1861. if(other3.zeichner == true)
  1862. {
  1863. }
  1864. other3.updateSpline();
  1865. distancemeter_pos = drs.ViewTarget.Location;
  1866. }
  1867. }
  1868. }
  1869. J0x22EC:
  1870. // End:0x238A
  1871. if(flagcount == 1)
  1872. {
  1873. TimedPathStartTime = PC.WorldInfo.TimeSeconds;
  1874. TimedPathStartFrame = GetCurrentFrame();
  1875. goto J0x45D3;
  1876. // End:0x2BE4
  1877. case 'NumPadFive':
  1878. }
  1879. }
  1880. ballowedflag = true;
  1881. // End:0x2574
  1882. if(flagcount >= 2)
  1883. {
  1884. // End:0x2404
  1885. if(distancemeter_pos == vect(0.0, 0.0, 0.0))
  1886. {
  1887. CC.get_Flag_Locations(flagcount - 1, distancemeter_pos);
  1888. tvect = distancemeter_pos;
  1889. }
  1890. // End:0x2574
  1891. if(((VSize(drs.ViewTarget.Location - tvect) / kabstand) > float(15)) || (mabstand / VSize(drs.ViewTarget.Location - tvect)) > float(15))
  1892. {
  1893. ballowedflag = false;
  1894. PC.ClientMessage("RypelCam Error: desired Campointlocation too far or too near to last Campoint!");
  1895. PC.myHUD.bShowHUD = true;
  1896. // End:0x2677
  1897. if((drs.ViewTarget.Location - tvect) == vect(0.0, 0.0, 0.0))
  1898. {
  1899. }
  1900. }
  1901. ballowedflag = false;
  1902. PC.ClientMessage("RypelCam Error: desired Campointlocation too far or too near to last Campoint!");
  1903. PC.myHUD.bShowHUD = true;
  1904. // End:0x2BE1
  1905. if(ballowedflag)
  1906. {
  1907. }
  1908. // End:0x2879
  1909. if(flagcount >= 1)
  1910. {
  1911. tvect = distancemeter_pos;
  1912. // End:0x2749
  1913. if(flagcount == 1)
  1914. {
  1915. kabstand = VSize(drs.ViewTarget.Location - tvect);
  1916. mabstand = VSize(drs.ViewTarget.Location - tvect);
  1917. // End:0x27E1
  1918. if(VSize(drs.ViewTarget.Location - tvect) < kabstand)
  1919. {
  1920. }
  1921. kabstand = VSize(drs.ViewTarget.Location - tvect);
  1922. // End:0x2879
  1923. if(VSize(drs.ViewTarget.Location - tvect) > mabstand)
  1924. {
  1925. }
  1926. mabstand = VSize(drs.ViewTarget.Location - tvect);
  1927. PC.Spawn(class'Knoten', drs.ViewTarget.Location).FOV = drs.DefaultFOV;
  1928. }
  1929. }
  1930. ++ flagcount;
  1931. // End:0x2A86
  1932. if(CC != none)
  1933. {
  1934. // End:0x29CA
  1935. if(PC.WorldInfo.Pauser == none)
  1936. {
  1937. PC.WorldInfo.Pauser = PC.PlayerReplicationInfo;
  1938. bIsPaused = true;
  1939. waspressed = true;
  1940. CC.viewer01.changeView(CC.Z, CC.Z, false, false);
  1941. }
  1942. drs.SetViewTarget(CC.viewer01);
  1943. bViewing_last_set_campoint = true;
  1944. // End:0x2B30
  1945. if(flagcount >= 4)
  1946. {
  1947. }
  1948. // End:0x2B2F
  1949. foreach PC.DynamicActors(class'Knoten', other3)
  1950. {
  1951. // End:0x2AEA
  1952. if(other3.bForC130)
  1953. {
  1954. continue;
  1955. goto J0x2B2F;
  1956. // End:0x2B2E
  1957. if(other3.zeichner == true)
  1958. {
  1959. }
  1960. other3.updateSpline();
  1961. distancemeter_pos = drs.ViewTarget.Location;
  1962. }
  1963. }
  1964. }
  1965. J0x2B2F:
  1966. lastFlagFrame = GetCurrentFrame();
  1967. // End:0x2BE1
  1968. if(flagcount == 1)
  1969. {
  1970. TimedPathStartTime = PC.WorldInfo.TimeSeconds;
  1971. TimedPathStartFrame = GetCurrentFrame();
  1972. goto J0x45D3;
  1973. // End:0x2D50
  1974. case 'LeftMouseButton':
  1975. }
  1976. }
  1977. bViewingdemorec = true;
  1978. bViewingcam = false;
  1979. PC.ResetCameraMode();
  1980. PC.bDebugFreeCam = false;
  1981. // End:0x2C78
  1982. if(CC != none)
  1983. {
  1984. CC.ssw = false;
  1985. // End:0x2D1B
  1986. if(!bserverdemo)
  1987. {
  1988. }
  1989. PC.SetBehindView(false);
  1990. PC.SetViewTarget(PC.Pawn);
  1991. PC.myHUD.bShowHUD = true;
  1992. // End:0x2D34
  1993. if(bFollowTarget)
  1994. {
  1995. }
  1996. bFollowTarget = false;
  1997. // End:0x2D4D
  1998. if(balternativekey)
  1999. {
  2000. }
  2001. viewpreviousplayer(2);
  2002. goto J0x45D3;
  2003. // End:0x3350
  2004. case 'RightMouseButton':
  2005. }
  2006. PC.bDebugFreeCam = true;
  2007. PC.DebugFreeCamRot = PC.Rotation;
  2008. // End:0x2DD3
  2009. if(bFollowTarget)
  2010. {
  2011. bFollowTarget = false;
  2012. // End:0x2E03
  2013. if(CC != none)
  2014. {
  2015. }
  2016. CC.ssw = false;
  2017. drs.bLockRotationToViewTarget = false;
  2018. }
  2019. PC.myHUD.bShowHUD = false;
  2020. PC.StopViewShaking();
  2021. // End:0x3175
  2022. if(drs.ViewTarget != drs)
  2023. {
  2024. // End:0x3002
  2025. if((CC != none) && drs.ViewTarget == CC.viewer01)
  2026. {
  2027. CC.viewer01.changeView(CC.Viewing, CC.Z, false, false);
  2028. drs.SetRotation(CC.viewer01.Rotation);
  2029. drs.SetLocation(CC.viewer01.Location);
  2030. goto J0x3175;
  2031. // End:0x30AE
  2032. if((CC != none) && drs.ViewTarget == CC)
  2033. {
  2034. }
  2035. drs.SetRotation(CC.Rotation);
  2036. drs.SetLocation(CC.Location);
  2037. goto J0x3175;
  2038. // End:0x3175
  2039. if(bserverdemo && drs.ViewTarget != none)
  2040. {
  2041. }
  2042. drs.bCollideWorld = false;
  2043. drs.SetLocation(drs.ViewTarget.Location - (vector(drs.Rotation) * float(200)));
  2044. drs.SetViewTarget(drs);
  2045. }
  2046. }
  2047. J0x3175:
  2048. PC.SetViewTarget(drs);
  2049. bViewingcam = true;
  2050. bViewingdemorec = false;
  2051. drs.SetBehindView(false);
  2052. drs.SetFOV(drs.DefaultFOV);
  2053. PC.SetFOV(PC.DefaultFOV);
  2054. // End:0x334D
  2055. if(CC != none)
  2056. {
  2057. CC.FOV = PC.DefaultFOV;
  2058. // End:0x334D
  2059. if(CC.drawcount != 3)
  2060. {
  2061. CC.draw_Spline = true;
  2062. CC.drawSplineWasFalse = true;
  2063. CC.drawcount = 3;
  2064. goto J0x45D3;
  2065. // End:0x342F
  2066. case 'NumPadThree':
  2067. }
  2068. }
  2069. // End:0x342C
  2070. if((CC != none) && flagcount > 2)
  2071. {
  2072. // End:0x33C0
  2073. if(CC.bisdrawing)
  2074. {
  2075. CC.bisdrawing = false;
  2076. CC.draw_Spline = false;
  2077. }
  2078. CC.drawSplineWasFalse = false;
  2079. CC.drawcount = 0;
  2080. startCam();
  2081. goto J0x45D3;
  2082. // End:0x35D4
  2083. case 'RightControl':
  2084. }
  2085. PC.bBehindView = !PC.bBehindView;
  2086. drs.bBehindView = PC.bBehindView;
  2087. PC.SetBehindView(PC.bBehindView);
  2088. drs.SetBehindView(PC.bBehindView);
  2089. PC.ClientSetBehindView(PC.bBehindView);
  2090. UTPawn(PC.ViewTarget).SetThirdPersonCamera(PC.bBehindView);
  2091. goto J0x45D3;
  2092. // End:0x3697
  2093. case 'P':
  2094. bpcam = !bpcam;
  2095. // End:0x3646
  2096. if(bpcam && bIsPaused)
  2097. {
  2098. // End:0x3643
  2099. if(CC != none)
  2100. {
  2101. CC.bpcam = true;
  2102. goto J0x3694;
  2103. // End:0x3694
  2104. if(!bpcam && bIsPaused)
  2105. {
  2106. }
  2107. }
  2108. // End:0x3694
  2109. if(CC != none)
  2110. {
  2111. CC.bpcam = false;
  2112. goto J0x45D3;
  2113. J0x3694:
  2114. // End:0x36E3
  2115. case 'NumPadNine':
  2116. }
  2117. }
  2118. // End:0x36E0
  2119. if(CC != none)
  2120. {
  2121. CC.Spawn(class'drawkey');
  2122. goto J0x45D3;
  2123. // End:0x3709
  2124. case 'Decimal':
  2125. }
  2126. bshowcoords = !bshowcoords;
  2127. goto J0x45D3;
  2128. // End:0x38DC
  2129. case 'NumPadOne':
  2130. // End:0x3763
  2131. if(bpathedit)
  2132. {
  2133. CC.edit_x(CC.Viewing, true);
  2134. goto J0x38D9;
  2135. // End:0x3869
  2136. if(drs.ViewTarget == CC)
  2137. {
  2138. }
  2139. // End:0x3866
  2140. if((CC.basic_speed2 - (CC.basic_speed2 / float(5))) > float(0))
  2141. {
  2142. CC.basic_speed2 = CC.basic_speed2 - (CC.basic_speed2 / float(5));
  2143. Speed = CC.basic_speed2;
  2144. goto J0x38D9;
  2145. // End:0x38D9
  2146. if(drs.ViewTarget == PC)
  2147. {
  2148. }
  2149. }
  2150. speccamspeed = speccamspeed - (speccamspeed / float(5));
  2151. // End:0x38D9
  2152. if(speccamspeed < float(0))
  2153. {
  2154. speccamspeed = 0.0;
  2155. goto J0x45D3;
  2156. J0x38D9:
  2157. // End:0x3A43
  2158. case 'NumPadTwo':
  2159. }
  2160. }
  2161. // End:0x3936
  2162. if(bpathedit)
  2163. {
  2164. CC.edit_x(CC.Viewing, false);
  2165. goto J0x3A40;
  2166. // End:0x39F0
  2167. if(drs.ViewTarget == CC)
  2168. {
  2169. }
  2170. CC.basic_speed2 = CC.basic_speed2 + (CC.basic_speed2 / float(5));
  2171. Speed = CC.basic_speed2;
  2172. goto J0x3A40;
  2173. // End:0x3A40
  2174. if(drs.ViewTarget == drs)
  2175. {
  2176. }
  2177. speccamspeed = speccamspeed + (speccamspeed / float(5));
  2178. goto J0x45D3;
  2179. J0x3A40:
  2180. // End:0x3ABB
  2181. case 'NumPadZero':
  2182. }
  2183. // End:0x3AAC
  2184. if(balternativekey)
  2185. {
  2186. Target = drs.ViewTarget;
  2187. bTargetnone = false;
  2188. // End:0x3AA9
  2189. if(bFollowTarget)
  2190. {
  2191. bFollowTarget = false;
  2192. goto J0x3AB8;
  2193. followtarget(3);
  2194. }
  2195. }
  2196. goto J0x45D3;
  2197. J0x3AB8:
  2198. // End:0x3BB3
  2199. case 'Multiply':
  2200. targetlook = !targetlook;
  2201. PC.ClientMessage("targetlook:" @ string(targetlook));
  2202. // End:0x3B8F
  2203. if(!bTargetnone)
  2204. {
  2205. // End:0x3B6B
  2206. if(targetlook && Target != none)
  2207. {
  2208. CC.enable2 = true;
  2209. goto J0x3B8C;
  2210. CC.enable2 = false;
  2211. }
  2212. goto J0x3BB0;
  2213. J0x3B8C:
  2214. CC.enable2 = false;
  2215. }
  2216. goto J0x45D3;
  2217. J0x3BB0:
  2218. // End:0x3C36
  2219. case 'Pause':
  2220. bIsPaused = !bIsPaused;
  2221. // End:0x3C33
  2222. if(bpcam)
  2223. {
  2224. // End:0x3C33
  2225. if(CC != none)
  2226. {
  2227. CC.bpcam = !CC.bpcam;
  2228. goto J0x45D3;
  2229. // End:0x3C6C
  2230. case 'NumPadSix':
  2231. }
  2232. }
  2233. // End:0x3C5D
  2234. if(balternativekey)
  2235. {
  2236. followtarget(1);
  2237. goto J0x3C69;
  2238. followtarget(2);
  2239. }
  2240. goto J0x45D3;
  2241. J0x3C69:
  2242. // End:0x3DEE
  2243. case 'NumPadSeven':
  2244. // End:0x3DEB
  2245. if(CC != none)
  2246. {
  2247. // End:0x3D64
  2248. if(bfovmode)
  2249. {
  2250. // End:0x3CFA
  2251. if(CC.fovplus)
  2252. {
  2253. CC.fovplus = false;
  2254. CC.updateSplinef(true);
  2255. goto J0x3D1B;
  2256. CC.fovplus = true;
  2257. }
  2258. CC.get_Flag_Fovs(CC.Viewing, TF);
  2259. J0x3D1B:
  2260. goto J0x3DEB;
  2261. // End:0x3DCA
  2262. if(CC.rollplus)
  2263. {
  2264. }
  2265. CC.rollplus = false;
  2266. CC.updateSplinef(true);
  2267. goto J0x3DEB;
  2268. CC.rollplus = true;
  2269. }
  2270. goto J0x45D3;
  2271. J0x3DEB:
  2272. // End:0x3F2A
  2273. case 'NumPadEight':
  2274. }
  2275. // End:0x3F27
  2276. if(CC != none)
  2277. {
  2278. // End:0x3EA0
  2279. if(bfovmode)
  2280. {
  2281. // End:0x3E7C
  2282. if(CC.fovminus)
  2283. {
  2284. CC.fovminus = false;
  2285. CC.updateSplinef(true);
  2286. goto J0x3E9D;
  2287. CC.fovminus = true;
  2288. }
  2289. goto J0x3F27;
  2290. J0x3E9D:
  2291. // End:0x3F06
  2292. if(CC.rollminus)
  2293. {
  2294. }
  2295. CC.rollminus = false;
  2296. CC.updateSplinef(true);
  2297. goto J0x3F27;
  2298. CC.rollminus = true;
  2299. }
  2300. goto J0x45D3;
  2301. J0x3F27:
  2302. // End:0x4106
  2303. case 'I':
  2304. }
  2305. bhideweapon = !bhideweapon;
  2306. // End:0x4103
  2307. if(((UTPawn(PC.ViewTarget) != none) && UTPawn(PC.ViewTarget).Weapon != none) && UTPawn(PC.ViewTarget).DrivenVehicle == none)
  2308. {
  2309. // End:0x40B0
  2310. if(UTPawn(PC.ViewTarget).Weapon.bHidden == false)
  2311. {
  2312. UTPawn(drs.ViewTarget).Weapon.SetHidden(true);
  2313. goto J0x4103;
  2314. UTPawn(drs.ViewTarget).Weapon.SetHidden(false);
  2315. }
  2316. goto J0x45D3;
  2317. J0x4103:
  2318. // End:0x45D0
  2319. case 'NumPadFour':
  2320. }
  2321. // End:0x412C
  2322. if(flagcount > 0)
  2323. {
  2324. -- flagcount;
  2325. Z = 0;
  2326. }
  2327. // End:0x4197
  2328. foreach PC.DynamicActors(class'Knoten', other3)
  2329. {
  2330. // End:0x418B
  2331. if(other3.bForC130)
  2332. {
  2333. continue;
  2334. goto J0x4197;
  2335. ++ Z;
  2336. }
  2337. I = 1;
  2338. }
  2339. J0x4197:
  2340. // End:0x41D9
  2341. if(Z == 4)
  2342. {
  2343. CC.Destroy();
  2344. CC = none;
  2345. goto J0x4249;
  2346. // End:0x4249
  2347. if(Z > 4)
  2348. {
  2349. }
  2350. CC.SetTimer(0.0, false);
  2351. CC.Z = CC.Z - 1;
  2352. // End:0x4303
  2353. foreach PC.DynamicActors(class'Knoten', other3)
  2354. {
  2355. }
  2356. J0x4249:
  2357. // End:0x429D
  2358. if(other3.bForC130)
  2359. {
  2360. continue;
  2361. goto J0x4303;
  2362. // End:0x42CF
  2363. if(I == Z)
  2364. {
  2365. }
  2366. other3.Destroy();
  2367. goto J0x42F7;
  2368. distancemeter_pos = other3.Location;
  2369. }
  2370. ++ I;
  2371. J0x42F7:
  2372. J0x4303:
  2373. // End:0x4387
  2374. if(Z > 4)
  2375. {
  2376. }
  2377. CC.updateSplinef(true);
  2378. kabstand = CC.kabstand;
  2379. mabstand = CC.mabstand;
  2380. goto J0x45CD;
  2381. // End:0x43FC
  2382. foreach PC.DynamicActors(class'RotKnoten', rk2)
  2383. {
  2384. }
  2385. // End:0x43DB
  2386. if(rk2.bForC130)
  2387. {
  2388. continue;
  2389. goto J0x43FC;
  2390. rk2.SetHidden(true);
  2391. }
  2392. tvect = vect(0.0, 0.0, 0.0);
  2393. }
  2394. J0x43FC:
  2395. kabstand = 0.0;
  2396. mabstand = 0.0;
  2397. // End:0x45CC
  2398. foreach PC.DynamicActors(class'Knoten', other3)
  2399. {
  2400. // End:0x4486
  2401. if(other3.bForC130)
  2402. {
  2403. continue;
  2404. goto J0x45CC;
  2405. // End:0x45A3
  2406. if(tvect != vect(0.0, 0.0, 0.0))
  2407. {
  2408. }
  2409. // End:0x4522
  2410. if((VSize(other3.Location - tvect) < kabstand) || kabstand == float(0))
  2411. {
  2412. kabstand = VSize(other3.Location - tvect);
  2413. // End:0x45A3
  2414. if((VSize(other3.Location - tvect) > mabstand) || mabstand == float(0))
  2415. {
  2416. }
  2417. mabstand = VSize(other3.Location - tvect);
  2418. tvect = other3.Location;
  2419. }
  2420. }
  2421. J0x45CC:
  2422. goto J0x45D3;
  2423. }
  2424. J0x45CD:
  2425. // End:0xFFFF
  2426. default:
  2427. // End:0x4989
  2428. break;
  2429. }
  2430. // End:0x4989
  2431. if(Event == 1)
  2432. {
  2433. }
  2434. switch(Key)
  2435. {
  2436. // End:0x4618
  2437. case 'W':
  2438. bw = false;
  2439. // End:0x4989
  2440. break;
  2441. // End:0x4633
  2442. case 'S':
  2443. bs = false;
  2444. goto J0x4989;
  2445. // End:0x464E
  2446. case 'A':
  2447. ba = false;
  2448. goto J0x4989;
  2449. // End:0x4669
  2450. case 'D':
  2451. bd = false;
  2452. goto J0x4989;
  2453. // End:0x4684
  2454. case 'LeftShift':
  2455. bdown = false;
  2456. goto J0x4989;
  2457. // End:0x469F
  2458. case 'LeftAlt':
  2459. bup = false;
  2460. goto J0x4989;
  2461. // End:0x46BA
  2462. case 'X':
  2463. balternativekey = false;
  2464. goto J0x4989;
  2465. // End:0x472C
  2466. case 'Add':
  2467. // End:0x472C
  2468. if((CC != none) && flagcount > 2)
  2469. {
  2470. CC.dif_tpstart_temp = 0.0;
  2471. CC.dif_tpstart_add = false;
  2472. // End:0x479E
  2473. case 'Subtract':
  2474. }
  2475. // End:0x479E
  2476. if((CC != none) && flagcount > 2)
  2477. {
  2478. CC.dif_tpstart_temp = 0.0;
  2479. CC.dif_tpstart_subtract = false;
  2480. // End:0x4892
  2481. case 'NumPadSeven':
  2482. }
  2483. // End:0x488F
  2484. if(CC != none)
  2485. {
  2486. // End:0x482C
  2487. if(bfovmode)
  2488. {
  2489. // End:0x4829
  2490. if(CC.fovplus)
  2491. {
  2492. CC.fovplus = false;
  2493. CC.updateSplinef(true);
  2494. goto J0x488F;
  2495. // End:0x488F
  2496. if(CC.rollplus)
  2497. {
  2498. }
  2499. }
  2500. CC.rollplus = false;
  2501. CC.updateSplinef(true);
  2502. goto J0x4989;
  2503. J0x488F:
  2504. // End:0x4986
  2505. case 'NumPadEight':
  2506. }
  2507. }
  2508. // End:0x4983
  2509. if(CC != none)
  2510. {
  2511. // End:0x4920
  2512. if(bfovmode)
  2513. {
  2514. // End:0x491D
  2515. if(CC.fovminus)
  2516. {
  2517. CC.fovminus = false;
  2518. CC.updateSplinef(true);
  2519. goto J0x4983;
  2520. // End:0x4983
  2521. if(CC.rollminus)
  2522. {
  2523. }
  2524. }
  2525. CC.rollminus = false;
  2526. CC.updateSplinef(true);
  2527. goto J0x4989;
  2528. J0x4983:
  2529. // End:0xFFFF
  2530. default:
  2531. }
  2532. }
  2533. return false;
  2534. //return ReturnValue;
  2535. }
  2536. }
  2537.  
  2538. function NotifyworldinfoChange()
  2539. {
  2540. PC.Interactions[0] = none;
  2541. PC = none;
  2542. CC.Destroy();
  2543. //return;
  2544. }
  2545.  
  2546. function Rotator BlendView(Rotator Rot)
  2547. {
  2548. local int Count;
  2549. local float adiff;
  2550. local Rotator mean;
  2551.  
  2552. // End:0x1C9
  2553. if(LockViewOldRotations[0] != rot(0, 0, 0))
  2554. {
  2555. I = 10;
  2556. J0x29:
  2557. // End:0x70 [Loop If]
  2558. if(I > 1)
  2559. {
  2560. LockViewOldRotations[I] = LockViewOldRotations[I - 1];
  2561. -- I;
  2562. // [Loop Continue]
  2563. goto J0x29;
  2564. }
  2565. LockViewOldRotations[1] = Rot;
  2566. I = 9;
  2567. J0x91:
  2568. // End:0x151 [Loop If]
  2569. if(I >= 1)
  2570. {
  2571. LockViewOldRotations[I + 1] = LockViewOldRotations[I];
  2572. adiff = RDiff(LockViewOldRotations[0], LockViewOldRotations[I]);
  2573. // End:0x143
  2574. if(adiff < float(40))
  2575. {
  2576. Count += 1;
  2577. mean += Normalize(LockViewOldRotations[I]);
  2578. }
  2579. -- I;
  2580. // [Loop Continue]
  2581. goto J0x91;
  2582. }
  2583. // End:0x1A3
  2584. if(Count > 0)
  2585. {
  2586. mean = Normalize(mean / float(Count));
  2587. LockViewOldRotations[0] = mean;
  2588. }
  2589. // End:0x1BA
  2590. else
  2591. {
  2592. LockViewOldRotations[0] = LockViewOldRotations[1];
  2593. }
  2594. return LockViewOldRotations[0];
  2595. }
  2596. // End:0x1E8
  2597. else
  2598. {
  2599. LockViewOldRotations[0] = Rot;
  2600. return Rot;
  2601. }
  2602. //return ReturnValue;
  2603. }
  2604.  
  2605. event Tick(float DeltaTime)
  2606. {
  2607. local Rotator _rot;
  2608.  
  2609. // End:0x352
  2610. if(bLockRotation)
  2611. {
  2612. // End:0xFE
  2613. if(Vehicle(PC.ViewTarget) != none)
  2614. {
  2615. _rot = Vehicle(PC.ViewTarget).GetViewRotation();
  2616. _rot.Roll = 0;
  2617. // End:0xDA
  2618. if(bBlendRotation)
  2619. {
  2620. drs.SetRotation(BlendView(_rot));
  2621. }
  2622. // End:0xFB
  2623. else
  2624. {
  2625. drs.SetRotation(_rot);
  2626. }
  2627. }
  2628. // End:0x352
  2629. else
  2630. {
  2631. // End:0x164
  2632. if(UTPawn(PC.ViewTarget) != none)
  2633. {
  2634. drs.SetRotation(PC.BlendedTargetViewRotation);
  2635. }
  2636. // End:0x352
  2637. else
  2638. {
  2639. // End:0x255
  2640. if(Pawn(PC.ViewTarget) != none)
  2641. {
  2642. _rot = Pawn(PC.ViewTarget).GetViewRotation();
  2643. _rot.Roll = 0;
  2644. // End:0x231
  2645. if(bBlendRotation)
  2646. {
  2647. drs.SetRotation(BlendView(_rot));
  2648. }
  2649. // End:0x252
  2650. else
  2651. {
  2652. drs.SetRotation(_rot);
  2653. }
  2654. }
  2655. // End:0x352
  2656. else
  2657. {
  2658. // End:0x29B
  2659. if(HackLockedSavedActor != none)
  2660. {
  2661. drs.SetViewTarget(HackLockedSavedActor);
  2662. HackLockedSavedActor = none;
  2663. }
  2664. // End:0x352
  2665. else
  2666. {
  2667. _rot = PC.ViewTarget.Rotation;
  2668. _rot.Roll = 0;
  2669. // End:0x331
  2670. if(bBlendRotation)
  2671. {
  2672. drs.SetRotation(BlendView(_rot));
  2673. }
  2674. // End:0x352
  2675. else
  2676. {
  2677. drs.SetRotation(_rot);
  2678. }
  2679. }
  2680. }
  2681. }
  2682. }
  2683. }
  2684. // End:0x4C1
  2685. if(bhideweapon)
  2686. {
  2687. // End:0x4C1
  2688. if((((UTPawn(PC.ViewTarget) != none) && UTPawn(PC.ViewTarget).Weapon != none) && UTPawn(PC.ViewTarget).DrivenVehicle == none) && UTPawn(PC.ViewTarget).Weapon.bHidden == false)
  2689. {
  2690. UTPawn(PC.ViewTarget).Weapon.SetHidden(true);
  2691. }
  2692. }
  2693. // End:0x5C8
  2694. if(seektime != 0)
  2695. {
  2696. // End:0x5C8
  2697. if(PC.WorldInfo.GRI.RemainingTime <= seektime)
  2698. {
  2699. PC.WorldInfo.Pauser = PC.PlayerReplicationInfo;
  2700. PC.WorldInfo.DemoPlayTimeDilation = 1.0;
  2701. bIsPaused = true;
  2702. seektime = 0;
  2703. }
  2704. }
  2705. // End:0x693
  2706. if((seekFrame != 0) && (GetCurrentFrame()) >= seekFrame)
  2707. {
  2708. PC.WorldInfo.Pauser = PC.PlayerReplicationInfo;
  2709. PC.WorldInfo.DemoPlayTimeDilation = 1.0;
  2710. bIsPaused = true;
  2711. seekFrame = 0;
  2712. }
  2713. // End:0x6BD
  2714. if(!bserverdemo && CC == none)
  2715. {
  2716. reset_clientdemo_rotation_roll();
  2717. }
  2718. // End:0x99F
  2719. if(CC != none)
  2720. {
  2721. // End:0x768
  2722. if(btpfastforward == true)
  2723. {
  2724. // End:0x768
  2725. if(PC.WorldInfo.TimeSeconds >= (TimedPathStartTime - float(2)))
  2726. {
  2727. PC.WorldInfo.DemoPlayTimeDilation = 1.0;
  2728. btpfastforward = false;
  2729. }
  2730. }
  2731. // End:0x99F
  2732. if(((PC.WorldInfo.DemoPlayTimeDilation == 1.0) && btimedpath) && !started)
  2733. {
  2734. // End:0x99F
  2735. if((GetCurrentFrame()) >= TimedPathStartFrame)
  2736. {
  2737. bIsPaused = true;
  2738. // End:0x868
  2739. if(PC.PlayerReplicationInfo == none)
  2740. {
  2741. // End:0x867
  2742. foreach PC.DynamicActors(class'PlayerReplicationInfo', tpri)
  2743. {
  2744. PC.PlayerReplicationInfo = tpri;
  2745. // End:0x867
  2746. break;
  2747. }
  2748. }
  2749. PC.WorldInfo.Pauser = PC.PlayerReplicationInfo;
  2750. seektime = 0;
  2751. seekFrame = 0;
  2752. CC.timesangleichen();
  2753. CC.inittimespline();
  2754. startCam();
  2755. started = true;
  2756. CC.draw_Spline = false;
  2757. CC.drawSplineWasFalse = false;
  2758. CC.drawcount = 0;
  2759. // End:0x99F
  2760. if(bShowHudInfo)
  2761. {
  2762. bShowHudInfo = false;
  2763. }
  2764. }
  2765. }
  2766. }
  2767. //return;
  2768. }
  2769.  
  2770. event PostRender(Canvas Canvas)
  2771. {
  2772. local Vector2D TextSize;
  2773. local string TimeLeft, viewing_mode_name;
  2774. local float Scale;
  2775. local int CurrentFrame, TotalFrames;
  2776.  
  2777. // End:0x37E8
  2778. if(bShowHudInfo)
  2779. {
  2780. // End:0x6E
  2781. if(Canvas.ClipY > float(0))
  2782. {
  2783. Scale = (0.80 * float(720)) / Canvas.ClipY;
  2784. }
  2785. // End:0x7D
  2786. else
  2787. {
  2788. Scale = 0.80;
  2789. }
  2790. Canvas.SetDrawColor(255, 255, 0);
  2791. Canvas.Font = class'Engine'.static.GetTinyFont();
  2792. Canvas.SetPos(30.0, 70.0);
  2793. Canvas.SetPos(30.0, 85.0);
  2794. // End:0x192
  2795. if(!H.bMessageBeep)
  2796. {
  2797. Canvas.DrawText("Message beep removed");
  2798. }
  2799. Canvas.SetPos(30.0, 100.0);
  2800. // End:0x200
  2801. if(bpathedit)
  2802. {
  2803. Canvas.DrawText("Path edit: enabled");
  2804. }
  2805. Canvas.SetPos(30.0, 115.0);
  2806. // End:0x28A
  2807. if(balternativekey)
  2808. {
  2809. Canvas.DrawText("'X' pressed: alternative key functions enabled");
  2810. }
  2811. Canvas.SetDrawColor(0, 255, 0);
  2812. Canvas.Font = class'Engine'.static.GetMediumFont();
  2813. Canvas.SetPos(40.0, 285.0);
  2814. Canvas.DrawText("RypelCam 3.13", Scale * 1.250, Scale * 1.250);
  2815. Canvas.Font = class'Engine'.static.GetTinyFont();
  2816. Canvas.SetPos(55.0, 305.0);
  2817. PC.WorldInfo.GetDemoFrameInfo(CurrentFrame, TotalFrames);
  2818. Canvas.Font = class'Engine'.static.GetLargeFont();
  2819. Canvas.DrawText(((("Hide Info: M Help: F1" $ ", Frame: ") $ string(CurrentFrame)) $ "TotalFrames: ") $ string(TotalFrames));
  2820. Canvas.SetPos(20.0, 324.0);
  2821. Canvas.Font = class'Engine'.static.GetMediumFont();
  2822. Canvas.DrawText("Playback speed:", Scale, Scale);
  2823. Canvas.SetPos(140.0, 324.0);
  2824. SetDemoSpeedColor();
  2825. Canvas.SetDrawColor(DemoSpeedColor.R, DemoSpeedColor.G, DemoSpeedColor.B);
  2826. Canvas.DrawText(string(PC.WorldInfo.DemoPlayTimeDilation), Scale, Scale);
  2827. // End:0x723
  2828. if(PC.WorldInfo.DemoPlayTimeDilation < float(1))
  2829. {
  2830. CustomDrawGraph(25.0, 340.0, PC.WorldInfo.DemoPlayTimeDilation * float(150), 150.0, 8.0, Canvas, 180);
  2831. }
  2832. // End:0x751
  2833. else
  2834. {
  2835. CustomDrawGraph(25.0, 340.0, 150.0, 150.0, 8.0, Canvas, 180);
  2836. }
  2837. Canvas.SetDrawColor(0, 255, 0, 255);
  2838. // End:0x887
  2839. if(Pawn(PC.ViewTarget) != none)
  2840. {
  2841. // End:0x86B
  2842. if(Pawn(PC.ViewTarget).PlayerReplicationInfo != none)
  2843. {
  2844. Canvas.SetDrawColor(255, 255, 255);
  2845. viewing_mode_name = Pawn(PC.ViewTarget).PlayerReplicationInfo.PlayerName;
  2846. }
  2847. // End:0x884
  2848. else
  2849. {
  2850. viewing_mode_name = "not available";
  2851. }
  2852. }
  2853. // End:0xB54
  2854. else
  2855. {
  2856. // End:0x9D1
  2857. if((CC != none) && CC.ssw)
  2858. {
  2859. // End:0x907
  2860. if(btimedpath || CC.pathlenght == float(0))
  2861. {
  2862. viewing_mode_name = "rcam mode";
  2863. }
  2864. // End:0x9CE
  2865. else
  2866. {
  2867. // End:0x9B2
  2868. if(CC.Dist < CC.pathlenght)
  2869. {
  2870. viewing_mode_name = ("rcam mode (" $ string(int((CC.Dist / CC.pathlenght) * float(100)))) $ "%)";
  2871. }
  2872. // End:0x9CE
  2873. else
  2874. {
  2875. viewing_mode_name = "rcam mode (100%)";
  2876. }
  2877. }
  2878. }
  2879. // End:0xB54
  2880. else
  2881. {
  2882. // End:0xA2B
  2883. if(bFollowTarget && Target != none)
  2884. {
  2885. Canvas.SetDrawColor(255, 255, 255);
  2886. viewing_mode_name = watchedname;
  2887. }
  2888. // End:0xB54
  2889. else
  2890. {
  2891. // End:0xA73
  2892. if(PC.ViewTarget == drs)
  2893. {
  2894. viewing_mode_name = "free cam mode";
  2895. }
  2896. // End:0xB54
  2897. else
  2898. {
  2899. // End:0xB14
  2900. if((CC != none) && PC.ViewTarget == CC.viewer01)
  2901. {
  2902. viewing_mode_name = (("cam point" @ string(CC.Viewing + 1)) $ "/") $ string(flagcount);
  2903. }
  2904. // End:0xB54
  2905. else
  2906. {
  2907. Canvas.SetDrawColor(0, 255, 0, 60);
  2908. viewing_mode_name = "Demorec Spec.";
  2909. }
  2910. }
  2911. }
  2912. }
  2913. }
  2914. Canvas.Font = class'Engine'.static.GetMediumFont();
  2915. // End:0xDA5
  2916. if(viewing_mode_name != "")
  2917. {
  2918. Canvas.SetPos(15.0, 355.0);
  2919. Canvas.TextSize(viewing_mode_name, TextSize.X, TextSize.Y);
  2920. // End:0xD10
  2921. if(TextSize.X > (float(140) / Scale))
  2922. {
  2923. Canvas.SetPos(50.0, 360.0);
  2924. Canvas.DrawText(viewing_mode_name, (Scale * float(140)) / TextSize.X, (140.0 / Scale) * TextSize.X);
  2925. }
  2926. // End:0xDA5
  2927. else
  2928. {
  2929. Canvas.SetPos(105.0 - ((TextSize.X / float(2)) * Scale), 360.0);
  2930. Canvas.DrawText(viewing_mode_name, Scale, Scale);
  2931. }
  2932. }
  2933. Canvas.SetPos(60.0, 382.0);
  2934. Canvas.SetPos(70.0, 390.0);
  2935. Canvas.SetDrawColor(240, 240, 240);
  2936. Canvas.Font = class'Engine'.static.GetLargeFont();
  2937. TimeLeft = FormatTime_likeUT(((PC.WorldInfo.GRI.TimeLimit != 0) ? PC.WorldInfo.GRI.RemainingTime : PC.WorldInfo.GRI.ElapsedTime));
  2938. Canvas.DrawText(TimeLeft, Scale * 1.250, Scale * 1.250);
  2939. Canvas.SetPos(25.0, 430.0);
  2940. Canvas.SetDrawColor(0, 255, 0);
  2941. Canvas.Font = class'Engine'.static.GetMediumFont();
  2942. // End:0x1C1E
  2943. if(CC != none)
  2944. {
  2945. // End:0x1234
  2946. if(CC.FOV > float(0))
  2947. {
  2948. // End:0x11EC
  2949. if(btimedpath)
  2950. {
  2951. // End:0x114C
  2952. if(PC.WorldInfo.TimeSeconds < TimedPathStartTime)
  2953. {
  2954. Canvas.DrawText("Timedpath: enabled, start: -" $ (FormatTime_likeUT(int(TimedPathStartTime - PC.WorldInfo.TimeSeconds))), Scale, Scale);
  2955. }
  2956. // End:0x11E9
  2957. else
  2958. {
  2959. Canvas.DrawText("Timedpath: enabled, start: +" $ (FormatTime_likeUT(int(TimedPathStartTime - PC.WorldInfo.TimeSeconds))), Scale, Scale);
  2960. }
  2961. }
  2962. // End:0x1234
  2963. else
  2964. {
  2965. Canvas.DrawText("Timedpath: disabled", Scale, Scale);
  2966. }
  2967. }
  2968. // End:0x1592
  2969. if(PC.ViewTarget == CC.viewer01)
  2970. {
  2971. Canvas.DrawText(((("Viewing cam point" @ string(CC.Viewing + 1)) $ "/") $ string(flagcount)) $ ":", Scale, Scale);
  2972. // End:0x144B
  2973. if(bfovmode)
  2974. {
  2975. Canvas.DrawText(" FOV:" @ string(CC.FOV), Scale, Scale);
  2976. Canvas.SetDrawColor(0, 255, 0, 90);
  2977. Canvas.DrawText(" Roll:" @ string((360.0 * float(PC.ViewTarget.Rotation.Roll)) / float(65536)), Scale, Scale);
  2978. Canvas.SetDrawColor(0, 255, 0);
  2979. }
  2980. // End:0x158F
  2981. else
  2982. {
  2983. Canvas.SetDrawColor(0, 255, 0, 90);
  2984. Canvas.DrawText(" FOV:" @ string(CC.FOV), Scale, Scale);
  2985. Canvas.SetDrawColor(0, 255, 0);
  2986. Canvas.DrawText(" Roll:" @ string((360.0 * float(PC.ViewTarget.Rotation.Roll)) / float(65536)), Scale, Scale);
  2987. }
  2988. }
  2989. // End:0x15E0
  2990. else
  2991. {
  2992. Canvas.DrawText("Cam points: " @ string(flagcount), Scale, Scale);
  2993. }
  2994. // End:0x1C1E
  2995. if(((((CC != none) && !CC.ssw) && PC.ViewTarget == drs) && !bFollowTarget) && CC.pathlenght != float(0))
  2996. {
  2997. // End:0x1757
  2998. if(VSize(PC.ViewTarget.Location) == VSize(distancemeter_pos))
  2999. {
  3000. Canvas.SetDrawColor(204, 51, 51, 222);
  3001. Canvas.DrawText("range: too close", Scale, Scale);
  3002. Canvas.SetDrawColor(0, 255, 0, 255);
  3003. }
  3004. // End:0x1C1E
  3005. else
  3006. {
  3007. // End:0x198F
  3008. if(VSize(PC.ViewTarget.Location - distancemeter_pos) < (CC.pathlenght / float(CC.Z)))
  3009. {
  3010. // End:0x18C6
  3011. if((mabstand / VSize(PC.ViewTarget.Location - distancemeter_pos)) > float(15))
  3012. {
  3013. Canvas.SetDrawColor(204, 51, 51, 222);
  3014. Canvas.DrawText("range: too close", Scale, Scale);
  3015. Canvas.SetDrawColor(0, 255, 0, 255);
  3016. }
  3017. // End:0x198C
  3018. else
  3019. {
  3020. Canvas.DrawText("range: " $ string(VSize(PC.ViewTarget.Location - distancemeter_pos) / float(int(CC.pathlenght / float(CC.Z)))), Scale, Scale);
  3021. }
  3022. }
  3023. // End:0x1C1E
  3024. else
  3025. {
  3026. // End:0x1C1E
  3027. if(VSize(PC.ViewTarget.Location - distancemeter_pos) > (CC.pathlenght / float(CC.Z)))
  3028. {
  3029. // End:0x1B00
  3030. if((VSize(PC.ViewTarget.Location - distancemeter_pos) / kabstand) > float(15))
  3031. {
  3032. Canvas.SetDrawColor(204, 51, 51, 222);
  3033. Canvas.DrawText("range: too distant", Scale, Scale);
  3034. Canvas.SetDrawColor(0, 255, 0, 255);
  3035. }
  3036. // End:0x1C1E
  3037. else
  3038. {
  3039. Canvas.DrawText("range: " $ string(float(1) - (float(int(VSize(PC.ViewTarget.Location - distancemeter_pos) - (CC.pathlenght / float(CC.Z)))) / ((float(15) * kabstand) - (CC.pathlenght / float(CC.Z))))), Scale, Scale);
  3040. }
  3041. }
  3042. }
  3043. }
  3044. }
  3045. }
  3046. // End:0x1CBB
  3047. if(distancemeter_pos != vect(0.0, 0.0, 0.0))
  3048. {
  3049. Canvas.DrawText("posdiff: " $ string(VSize(PC.ViewTarget.Location - distancemeter_pos)), Scale, Scale);
  3050. }
  3051. // End:0x1D23
  3052. if(lastFlagFrame > 0)
  3053. {
  3054. Canvas.DrawText("framediff: " $ string((GetCurrentFrame()) - lastFlagFrame), Scale, Scale);
  3055. }
  3056. // End:0x2124
  3057. if(bshowcoords)
  3058. {
  3059. Canvas.SetDrawColor(0, 255, 0, 255);
  3060. Canvas.Font = class'Engine'.static.GetMediumFont();
  3061. Canvas.DrawText("Spectator Coordinates", Scale, Scale);
  3062. Canvas.DrawText("X =" @ string(drs.ViewTarget.Location.X), Scale, Scale);
  3063. Canvas.DrawText("Y =" @ string(drs.ViewTarget.Location.Y), Scale, Scale);
  3064. Canvas.DrawText("Z =" @ string(drs.ViewTarget.Location.Z), Scale, Scale);
  3065. Canvas.DrawText("Yaw =" @ string((float(drs.ViewTarget.Rotation.Yaw) / 65536.0) * 360.0), Scale, Scale);
  3066. Canvas.DrawText("Pitch =" @ string((float(drs.ViewTarget.Rotation.Pitch) / 65536.0) * 360.0), Scale, Scale);
  3067. Canvas.DrawText("Roll =" @ string((float(PC.ViewTarget.Rotation.Roll) / 65536.0) * 360.0), Scale, Scale);
  3068. }
  3069. // End:0x37E8
  3070. if(bshowhelp && !H.bShowScores)
  3071. {
  3072. Canvas.SetDrawColor(255, 255, 0, 200);
  3073. Canvas.Font = class'Engine'.static.GetSmallFont();
  3074. Canvas.SetPos(305.0, 60.0);
  3075. Canvas.DrawText("Console Commands");
  3076. Canvas.DrawText("Console Commands");
  3077. Canvas.SetPos(305.0, 90.0);
  3078. Canvas.DrawText("[hit]");
  3079. Canvas.DrawText("[beep]");
  3080. Canvas.DrawText("[Mouse x]");
  3081. Canvas.DrawText("[seekTo x y z]");
  3082. Canvas.DrawText("[startpaused]");
  3083. Canvas.DrawText("[tpstart]");
  3084. Canvas.DrawText("[dumpfps]");
  3085. Canvas.DrawText("[dumpres]");
  3086. Canvas.SetPos(405.0, 90.0);
  3087. Canvas.DrawText("Remove red hit damage effects");
  3088. Canvas.DrawText("Mute console message sound");
  3089. Canvas.DrawText("Set mouse sensitivity to X");
  3090. Canvas.DrawText("Fast forward until X minutes and Y seconds are reached, at z speed. (seekTo 12 30 4)");
  3091. Canvas.DrawText("Start demos paused");
  3092. Canvas.DrawText("Load a timed path scene. ");
  3093. Canvas.DrawText(("Frames per second for dumpframes (currently: 'dumpfps " $ string(dumpframes_fps)) $ "')");
  3094. Canvas.DrawText(("Tiledshot (combine multiple screenshots) for dumpframes (currently: 'dumpres " $ string(dumpframes_tiledshot_factor)) $ "')");
  3095. Canvas.SetPos(305.0, 250.0);
  3096. Canvas.DrawText("Key Setup");
  3097. Canvas.SetPos(305.0, 270.0);
  3098. Canvas.DrawText("[M]");
  3099. Canvas.DrawText("[H]");
  3100. Canvas.DrawText("[F1]");
  3101. Canvas.DrawText("[F2]");
  3102. Canvas.DrawText("[F3]");
  3103. Canvas.DrawText("[F4]");
  3104. Canvas.DrawText("[F5]");
  3105. Canvas.DrawText("[F7]");
  3106. Canvas.DrawText("[W], [A], [S], [D]");
  3107. Canvas.DrawText("[Spacebar], [C], [Shift], [Alt]");
  3108. Canvas.DrawText("[Left Mousebutton]");
  3109. Canvas.DrawText("[Right Mousebutton]");
  3110. Canvas.DrawText("[Right Control]");
  3111. Canvas.DrawText("[L]");
  3112. Canvas.DrawText("[left], [right], [Mouse Scrollwheel]");
  3113. Canvas.DrawText("[up]");
  3114. Canvas.DrawText("[down], [F]");
  3115. Canvas.DrawText("[P]");
  3116. Canvas.DrawText("[1-9keys]");
  3117. Canvas.DrawText("[numpad 0]");
  3118. Canvas.DrawText("[numpad 0]+[X]");
  3119. Canvas.DrawText("[numpad 1], [numpad 2]");
  3120. Canvas.DrawText("[numpad 3]");
  3121. Canvas.DrawText("[numpad 4]");
  3122. Canvas.DrawText("[numpad 5], [Middle Mousebutton]");
  3123. Canvas.DrawText("[numpad 6]");
  3124. Canvas.DrawText("[numpad 7], [numpad 8]");
  3125. Canvas.DrawText("[numpad 9]");
  3126. Canvas.DrawText("[numpad +], [numpad -]");
  3127. Canvas.DrawText("[numpad multiply]");
  3128. Canvas.DrawText("[numpad decimal]");
  3129. Canvas.DrawText("[I]");
  3130. Canvas.DrawText("[U]");
  3131. Canvas.DrawText("[Z]");
  3132. Canvas.DrawText("[o]");
  3133. Canvas.DrawText("[J]");
  3134. Canvas.DrawText("[X]+[R]");
  3135. Canvas.SetPos(405.0, 270.0);
  3136. Canvas.DrawText("Show RCam HUD");
  3137. Canvas.DrawText("Show UT3 HUD");
  3138. Canvas.DrawText("Help");
  3139. Canvas.DrawText("Dumpframes");
  3140. Canvas.DrawText(("Path Edit mode (" $ string(bpathedit)) $ ")");
  3141. Canvas.DrawText("Save Camera Path");
  3142. Canvas.DrawText("Load Camera Path");
  3143. Canvas.DrawText(("Toggle MovieMode (" $ string(bFirstPersonMovieMode)) $ ")");
  3144. Canvas.DrawText("Movement");
  3145. Canvas.DrawText("Altitude");
  3146. Canvas.DrawText("Spectate Player");
  3147. Canvas.DrawText("Free camera");
  3148. Canvas.DrawText("1st person view / behindview");
  3149. Canvas.DrawText("Lock behindview rotation");
  3150. Canvas.DrawText(("Demo playback speed (" $ string(PC.WorldInfo.DemoPlayTimeDilation)) $ ")");
  3151. Canvas.DrawText("Reset demo playback speed");
  3152. Canvas.DrawText(("Pause Demo (" $ string(bIsPaused)) $ ")");
  3153. Canvas.DrawText(("Pause affects RCam (" $ string(bpcam)) $ ")");
  3154. Canvas.DrawText("Camera speed presets");
  3155. Canvas.DrawText("Follow target with relative camera");
  3156. Canvas.DrawText("Viewtarget becomes camera target (targetlook)");
  3157. Canvas.DrawText("Smoothly change camera speed / bend path (Path Edit))");
  3158. Canvas.DrawText("Start RCam camera");
  3159. Canvas.DrawText("Delete final cam point");
  3160. Canvas.DrawText("Set cam points");
  3161. Canvas.DrawText("Follow projectiles");
  3162. Canvas.DrawText("Edit Roll/FOV");
  3163. Canvas.DrawText("Show/hide camera path");
  3164. Canvas.DrawText("Select cam points / during a timed path scene: synchronize camera");
  3165. Canvas.DrawText("Toggle targetlook");
  3166. Canvas.DrawText("Show Spectator Coordinates");
  3167. Canvas.DrawText("Show weapon in 1st person view");
  3168. Canvas.DrawText(("Fly through obstacles (" $ string(!drs.bCollideWorld)) $ ")");
  3169. Canvas.DrawText("Reposition a selected cam point to the free camera location");
  3170. Canvas.DrawText("Cycle render mode presets");
  3171. // End:0x3775
  3172. if(bfovmode)
  3173. {
  3174. Canvas.DrawText("Toggle Roll/FOV mode (FOV)");
  3175. }
  3176. // End:0x37B5
  3177. else
  3178. {
  3179. Canvas.DrawText("Toggle Roll/FOV mode (Roll)");
  3180. }
  3181. Canvas.DrawText("Timedpath mode");
  3182. }
  3183. }
  3184. // End:0x3851
  3185. if(bGetCanvasResolution)
  3186. {
  3187. CanvasClipX = Canvas.ClipX;
  3188. CanvasClipY = Canvas.ClipY;
  3189. bGetCanvasResolution = false;
  3190. }
  3191. //return;
  3192. }
  3193.  
  3194. function int GetCurrentFrame()
  3195. {
  3196. local int CurrentFrame;
  3197.  
  3198. PC.WorldInfo.GetDemoFrameInfo(CurrentFrame);
  3199. return CurrentFrame;
  3200. //return ReturnValue;
  3201. }
  3202.  
  3203. defaultproperties
  3204. {
  3205. bBlendRotation=true
  3206. bShowHudInfo=true
  3207. specfollowdistance=100.0
  3208. KeyFrame_Count=-1.0
  3209. GrayColor=(R=160,G=160,B=160,A=192)
  3210. AltHudTexture=Texture2D'UI_HUD.HUD.UI_HUD_BaseA'
  3211. OnReceivedNativeInputKey=InputKey
  3212. OnReceivedNativeInputAxis=InputAxis
  3213. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement