Guest User

Untitled

a guest
Feb 18th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Water
  2.         Waters = ReadShort(F)
  3.         For i = 1 To Waters
  4.             W.Water = New Water
  5.             ; Entity/Texture
  6.             W\TexID = ReadShort(F)
  7.             ;W\TexHandle = LoadAnimTexture ( "media\water_anim.jpg", 9, 64, 64, 0, 32 ) ;\
  8.             W\TexHandle = GetTexture(W\TexID, True)
  9.             ;TextureBlend W\TexHandle, FE_BUMP ;this was not here
  10.             W\TexScale# = ReadFloat#(F)
  11.            
  12.             ; create distortion (bump) texture
  13.             BumpTexture = LoadAnimTexture ( "media\water_anim.jpg", 9, 64, 64, 0, 32 )
  14.             TextureBlend BumpTexture, FE_BUMP                          
  15.             ScaleTexture BumpTexture,0.0125,0.0125
  16.            
  17.     ; create water plane
  18.             WaterPlane = LoadMesh("media\water32.3ds")
  19.             ScaleMesh WaterPlane,2,1,2
  20.             EntityFX WaterPlane,1
  21.             EntityColor WaterPlane,220,230,240
  22.            
  23.     ; create clipplane for cut off under water 
  24.             WaterClipplane = CreateClipplane (  WaterPlane  )              
  25.                                                             ; align clipplane by water plane
  26.             AlignClipplane WaterClipplane, WaterPlane
  27.            
  28.            
  29.             ; Position/size
  30.             X# = ReadFloat#(F) : Y# = ReadFloat#(F) : Z# = ReadFloat#(F)
  31.             W\ScaleX# = ReadFloat#(F) : W\ScaleZ# = ReadFloat#(F)
  32.             XDivs = Ceil(W\ScaleX# / 15.0)
  33.             ZDivs = Ceil(W\ScaleZ# / 15.0)
  34.             If XDivs > 70 Then XDivs = 70
  35.             If ZDivs > 70 Then ZDivs = 70
  36.             W\EN = CreateSubdividedPlane(XDivs, ZDivs, W\ScaleX#, W\ScaleZ#)
  37.             ScaleEntity W\EN, W\ScaleX#, 1.0, W\ScaleZ#
  38.             PositionEntity W\EN, X#, Y#, Z#
  39.             ScaleTexture W\TexHandle, W\TexScale#, W\TexScale#
  40.             EntityTexture W\EN, W\TexHandle
  41.             ; Colour
  42.             W\Red = ReadByte(F)
  43.             W\Green = ReadByte(F)
  44.             W\Blue = ReadByte(F)
  45.             ; Opacity
  46.             W\Opacity = ReadByte(F)
  47.             If W\Opacity >= 100
  48.                 EntityFX(W\EN, 1 + 16)
  49.             Else
  50.                 EntityFX(W\EN, 16)
  51.             EndIf
  52.             Alpha# = Float#(W\Opacity) / 100.0
  53.             If Alpha# > 1.0 Then Alpha# = 1.0
  54.             EntityAlpha(W\EN, Alpha#)
  55.             ; Picking
  56.             EntityBox W\EN, W\ScaleX# / -2.0, -1.0, W\ScaleZ# / -2.0, W\ScaleX#, 2.0, W\ScaleZ#
  57.             ; Type handle
  58.             NameEntity W\EN, Handle(W)
  59.             ; If I am a walking only character, create a collision box here
  60.             If DisplayItems = False And Me.ActorInstance <> Null
  61.                 If Me\Actor\Environment = Environment_Walk
  62.                     C.ColBox = New ColBox
  63.                     C\EN = CreateCube()
  64.                     EntityAlpha C\EN, 0.0
  65.                     ; Position/rotation/size
  66.                     Y# = Y# - 1000.0
  67.                     C\ScaleX# = Abs(W\ScaleX# / 2.0) : C\ScaleY# = 1000.0 : C\ScaleZ# = Abs(W\ScaleZ# / 2.0)
  68.                     PositionEntity C\EN, X#, Y#, Z#
  69.                     ScaleEntity C\EN, C\ScaleX#, C\ScaleY#, C\ScaleZ#
  70.                     ; Collisions
  71.                     EntityBox C\EN, -C\ScaleX#, -C\ScaleY#, -C\ScaleZ#, C\ScaleX# * 2.0, C\ScaleY# * 2.0, C\ScaleZ# * 2.0
  72.                     EntityType C\EN, C_Box
  73.                     ; Type handle
  74.                     NameEntity C\EN, Handle(C)
  75.                 EndIf
  76.             EndIf
  77.             ; RottNet update
  78.             If UpdateRottNet = True And MilliSecs() - RNUpdateTime > 500 Then RCE_Update() : RCE_CreateMessages() : RNUpdateTime = MilliSecs()
  79.         Next
Add Comment
Please, Sign In to add comment