daily pastebin goal
8%
SHARE
TWEET

Untitled

a guest Feb 18th, 2018 95 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
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top