hedgewars/uVisualGearsHandlers.pas
changeset 10251 a3b42e81803c
parent 10193 d7cd5b43588f
child 10298 7d5d93f9a515
--- a/hedgewars/uVisualGearsHandlers.pas	Sat May 31 15:04:26 2014 -0400
+++ b/hedgewars/uVisualGearsHandlers.pas	Sun Jun 01 04:17:27 2014 +0200
@@ -895,6 +895,27 @@
     end
 end;
 
+////////////////////////////////////////////////////////////////////////////////
+procedure doStepNoPlaceWarn(Gear: PVisualGear; Steps: Longword);
+begin
+
+if Gear^.FrameTicks <= Steps then
+    DeleteVisualGear(Gear)
+else
+    begin
+    // age
+    dec(Gear^.FrameTicks, Steps);
+    // toggle between orange and red every few ticks
+    if (Gear^.FrameTicks div 300) mod 2 = 0 then
+        Gear^.Tint:= $FF400000
+    else
+        Gear^.Tint:= $FF000000;
+    // fade out alpha
+    Gear^.Tint:= Gear^.Tint or ((Gear^.FrameTicks * $FF) div 3000);
+    // get bigger as we fade out
+    // Gear^.Scale:= 1.1 - 0.001 * (Gear^.FrameTicks div 30);
+    end
+end;
 
 const handlers: array[TVisualGearType] of TVGearStepProcedure =
         (
@@ -930,7 +951,8 @@
             @doStepBulletHit,
             @doStepCircle,
             @doStepSmoothWindBar,
-            @doStepStraightShot
+            @doStepStraightShot,
+            @doStepNoPlaceWarn
         );
 
 procedure initModule;