diff -r d24257910f8d -r aaefa587e277 hedgewars/uVisualGears.pas --- a/hedgewars/uVisualGears.pas Sun Dec 02 00:03:16 2012 +0100 +++ b/hedgewars/uVisualGears.pas Tue Dec 25 04:45:22 2012 +0100 @@ -53,10 +53,13 @@ procedure KickFlakes(Radius, X, Y: LongInt); implementation -uses uSound, uMobile, uVariables, uTextures, uRender, Math, uRenderUtils, uStore, uUtils; +uses uSound, uVariables, uTextures, uRender, Math, uRenderUtils, uStore, uUtils; -const cExplFrameTicks = 110; +const + cExplFrameTicks = 110; + cSmokeZ = 499; var VGCounter: LongWord; + VisualGearLayers: array[0..6] of PVisualGear; // For better maintainability the step handlers of visual gears are stored // in a separate file. @@ -151,7 +154,7 @@ vgtEvilTrace, vgtNote, vgtSmoothWindBar])) then - + exit; inc(VGCounter); @@ -365,7 +368,7 @@ if random(2) = 0 then dx := -dx; end; - vgtNote: + vgtNote: begin dx:= 0.005 * (random(15) + 10); dy:= -0.001 * (random(40) + 20); @@ -382,7 +385,7 @@ Frame:= 7; Angle:= 0; end; -vgtSmoothWindBar: +vgtSmoothWindBar: begin Angle:= hwFloat2Float(cMaxWindSpeed)*2 / 1440; // seems rate below is supposed to change wind bar at 1px per 10ms. Max time, 1440ms. This tries to match the rate of change Tag:= hwRound(cWindSpeed * 72 / cMaxWindSpeed); @@ -408,7 +411,7 @@ case Gear^.Kind of vgtFlake: if cFlattenFlakes then gear^.Layer:= 0 - else if random(3) = 0 then + else if random(3) = 0 then begin gear^.Scale:= 0.5; gear^.Layer:= 0 // 33% - far back @@ -699,9 +702,9 @@ DrawTextureCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); end; vgtSmallDamageTag: DrawTextureCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); - vgtHealthTag: if Gear^.Tex <> nil then + vgtHealthTag: if Gear^.Tex <> nil then begin - if Gear^.Frame = 0 then + if Gear^.Frame = 0 then DrawTextureCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex) else begin @@ -709,11 +712,11 @@ if Gear^.Angle = 0 then DrawTexture(round(Gear^.X), round(Gear^.Y), Gear^.Tex) else - DrawTexture(round(Gear^.X), round(Gear^.Y), Gear^.Tex, Gear^.Angle); + DrawTexture(round(Gear^.X), round(Gear^.Y), Gear^.Tex, Gear^.Angle); SetScale(zoom) end end; - vgtStraightShot: begin + vgtStraightShot: begin if Gear^.dX < 0 then i:= -1 else