# HG changeset patch # User Wuzzy # Date 1491826500 -7200 # Node ID 442bab755bb4b52f5955dd3544449e1a1178bb97 # Parent 7e6362c0ba960586cd8deca99373c8fde57d4101 Render gear timers in front of water diff -r 7e6362c0ba96 -r 442bab755bb4 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Mon Apr 10 13:51:07 2017 +0200 +++ b/hedgewars/uGears.pas Mon Apr 10 14:15:00 2017 +0200 @@ -42,6 +42,7 @@ procedure ProcessGears; procedure EndTurnCleanup; procedure DrawGears; +procedure DrawGearsTimers; procedure FreeGearsList; procedure AddMiscGears; procedure AssignHHCoords; @@ -585,6 +586,20 @@ DrawHHOrder(); end; +procedure DrawGearsTimers; +var Gear: PGear; + x, y: LongInt; +begin +Gear:= GearsList; +while Gear <> nil do + begin + x:= hwRound(Gear^.X) + WorldDx; + y:= hwRound(Gear^.Y) + WorldDy; + RenderGearTimer(Gear, x, y); + Gear:= Gear^.NextGear + end; +end; + procedure FreeGearsList; var t, tt: PGear; begin diff -r 7e6362c0ba96 -r 442bab755bb4 hedgewars/uGearsRender.pas --- a/hedgewars/uGearsRender.pas Mon Apr 10 13:51:07 2017 +0200 +++ b/hedgewars/uGearsRender.pas Mon Apr 10 14:15:00 2017 +0200 @@ -36,6 +36,7 @@ rounded : array[0..MAXROPEPOINTS + 2] of TVertex2f; end; procedure RenderGear(Gear: PGear; x, y: LongInt); +procedure RenderGearTimer(Gear: PGear; x, y: LongInt); procedure DrawHHOrder(); var RopePoints: record @@ -1532,9 +1533,13 @@ gtDuck: DrawSpriteRotatedF(sprDuck, x, y, 1, Gear^.Tag, Gear^.Angle); gtGenericFaller: DrawCircle(x, y, 3, 3, $FF, $00, $00, $FF); // debug end; - if Gear^.RenderTimer and (Gear^.Tex <> nil) then - DrawTextureCentered(x + 8, y + 8, Gear^.Tex); if Gear^.State and gstFrozen <> 0 then untint end; +procedure RenderGearTimer(Gear: PGear; x, y: LongInt); +begin +if Gear^.RenderTimer and (Gear^.Tex <> nil) then + DrawTextureCentered(x + 8, y + 8, Gear^.Tex); +end; + end. diff -r 7e6362c0ba96 -r 442bab755bb4 hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Mon Apr 10 13:51:07 2017 +0200 +++ b/hedgewars/uWorld.pas Mon Apr 10 14:15:00 2017 +0200 @@ -1325,6 +1325,8 @@ else DrawWaves(-1, 50, cWaveHeight div 2, cWaveHeight div 2, 0); +DrawGearsTimers; + // everything after this ChangeDepth will be drawn outside the screen // note: negative parallax gears should last very little for a smooth stereo effect ChangeDepth(RM, cStereo_Outside);