Advertisement
Guest User

Untitled

a guest
Aug 21st, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. //=============================================================================
  2. // EXInnersky.
  3. // fixed major bug which cause clients to crash online
  4. // added viewtarget support
  5. // minor other adjustments
  6. //=============================================================================
  7. class EXInnersky extends EXOutersky;
  8.  
  9. var() vector origin;
  10. var() float scaling;
  11.  
  12. var vector startloc;
  13. var playerpawn localplayer;
  14. var vector eye, oldeye, eyerelorigin;
  15.  
  16. simulated function playerpawn getlocalplayer()
  17. {
  18. foreach allactors(class'playerpawn', localplayer)
  19. {
  20. if(localplayer.player.isa('viewport'))
  21. break;
  22. }
  23.  
  24. return localplayer;
  25. }
  26.  
  27. simulated function postbeginplay()
  28. {
  29. startloc = location;
  30. localplayer = getlocalplayer(); //aww heeeew dis gettin nuked-awrrrrrrrrfgh
  31. }
  32.  
  33. simulated function LinkToSkybox()
  34. {
  35. local exoutersky TempSkyZone;
  36.  
  37. // SkyZone.
  38. foreach AllActors( class'exoutersky', TempSkyZone, event)
  39. {
  40. if(tempskyzone!=self)
  41. SkyZone = TempSkyZone;
  42. }
  43.  
  44. if(skyzone==none)
  45. super.linktoskybox();
  46. }
  47.  
  48. simulated function tick(float dt)
  49. {
  50. local actor viewactor;
  51.  
  52. if(level.netmode==nm_dedicatedserver)
  53. {
  54. disable('tick');
  55. return;
  56. }
  57.  
  58. if(localplayer==none)
  59. {
  60. //localplayer = class'exustaticfuncs'.static.getlocalplayer(level); //aww heeeew dis gettin nuked-awrrrrrrrrfgh
  61. localplayer = getlocalplayer();
  62. return;
  63. }
  64.  
  65. if(localplayer.viewtarget!=none)
  66. viewactor=localplayer.viewtarget;
  67. else
  68. viewactor=localplayer;
  69.  
  70. oldeye = eye;
  71.  
  72. eye = viewactor.location;
  73. eye += viewactor.velocity*dt; //compensate for frame lag
  74.  
  75. if(viewactor.bIsPawn)
  76. {
  77. eye.z+=pawn(viewactor).eyeheight;
  78. eye+=pawn(viewactor).walkbob; //compensate for walkbob
  79. }
  80.  
  81. if(eye!=oldeye) //changed
  82. {
  83. eyerelorigin = eye-origin;
  84.  
  85. //scale offset and reposition to local origin (startloc)
  86. eyerelorigin *= scaling;
  87. eyerelorigin += startloc;
  88.  
  89. setlocation(eyerelorigin);
  90. }
  91.  
  92. }
  93.  
  94. /************************/
  95. /** Default Properties **/
  96. /************************/
  97. defaultproperties
  98. {
  99. bcollideworld=false
  100. bmovable=true
  101. bnodelete=true
  102. bstasis=false
  103. bStatic=False
  104. scaling=0.25
  105. remoterole=role_none
  106. }
  107.  
  108.  
  109. //========================================================================================================
  110.  
  111.  
  112. //=============================================================================
  113. // EXOutersky.
  114. //=============================================================================
  115. class EXOutersky extends SkyZoneInfo;
  116.  
  117. simulated function LinkToSkybox()
  118. {
  119. local skyzoneinfo TempSkyZone;
  120.  
  121. // SkyZone.
  122. foreach AllActors( class 'SkyZoneInfo', TempSkyZone, event )
  123. SkyZone = TempSkyZone;
  124.  
  125. if(skyzone==none)
  126. super.linktoskybox();
  127. }
  128.  
  129. /************************/
  130. /** Default Properties **/
  131. /************************/
  132. defaultproperties
  133. {
  134. bcollideworld=false
  135. collisionradius=0
  136. collisionheight0
  137. bmovable=true
  138. bnodelete=true
  139. bstasis=false
  140. bStatic=False
  141. remoterole=role_simulatedproxy
  142. }
  143.  
  144.  
  145. //========================================================================================================
  146.  
  147.  
  148. class ExMobileOuterSky extends EXOutersky;
  149.  
  150. /************************/
  151. /** Default Properties **/
  152. /************************/
  153. defaultproperties
  154. {
  155. bStatic=False
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement