hedgewars/GSHandlers.inc
changeset 5313 5e18eaef65d0
parent 5298 abee9fb11b33
child 5336 174734adc06b
--- a/hedgewars/GSHandlers.inc	Sat Jun 25 17:22:35 2011 +0400
+++ b/hedgewars/GSHandlers.inc	Sun Jun 26 02:47:36 2011 +0200
@@ -102,6 +102,7 @@
         gi := gi^.NextGear
         end;
 end;
+
 ////////////////////////////////////////////////////////////////////////////////
 procedure doStepDrowningGear(Gear: PGear);
 forward;
@@ -236,7 +237,6 @@
 end;
 
 ////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
 procedure CalcRotationDirAngle(Gear: PGear);
 var 
     dAngle: real;
@@ -477,6 +477,7 @@
             AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtEvilTrace);
 end;
 end;
+
 ////////////////////////////////////////////////////////////////////////////////
 procedure doStepMolotov(Gear: PGear);
 var 
@@ -513,11 +514,7 @@
     end;
 end;
 
-procedure doStepWatermelon(Gear: PGear);
-begin
-    AllInactive := false;
-    Gear^.doStep := @doStepBomb
-end;
+////////////////////////////////////////////////////////////////////////////////
 
 procedure doStepCluster(Gear: PGear);
 begin
@@ -582,6 +579,7 @@
         end
 end;
 
+////////////////////////////////////////////////////////////////////////////////
 procedure doStepSnowflake(Gear: PGear);
 var xx, yy, px, py: LongInt;
     move, draw, allpx, gun: Boolean;
@@ -2074,6 +2072,7 @@
     end
 end;
 
+////////////////////////////////////////////////////////////////////////////////
 procedure doStepShover(Gear: PGear);
 var 
     HHGear: PGear;
@@ -3308,6 +3307,7 @@
     Gear^.doStep := @doStepRCPlaneWork
 end;
 
+////////////////////////////////////////////////////////////////////////////////
 procedure doStepJetpackWork(Gear: PGear);
 var 
     HHGear: PGear;
@@ -3435,7 +3435,6 @@
         end
 end;
 
-////////////////////////////////////////////////////////////////////////////////
 procedure doStepJetpack(Gear: PGear);
 var 
     HHGear: PGear;
@@ -3471,7 +3470,6 @@
     end;
 end;
 
-////////////////////////////////////////////////////////////////////////////////
 procedure doStepBirdyFly(Gear: PGear);
 var 
     HHGear: PGear;
@@ -3565,7 +3563,6 @@
         end
 end;
 
-////////////////////////////////////////////////////////////////////////////////
 procedure doStepBirdyDescend(Gear: PGear);
 var 
     HHGear: PGear;
@@ -3607,7 +3604,6 @@
     end
 end;
 
-////////////////////////////////////////////////////////////////////////////////
 procedure doStepBirdy(Gear: PGear);
 var 
     HHGear: PGear;
@@ -4145,6 +4141,7 @@
     newPortal^.doStep := @doStepMovingPortal;
 end;
 
+////////////////////////////////////////////////////////////////////////////////
 procedure doStepPiano(Gear: PGear);
 var 
     r0, r1: LongInt;
@@ -4444,6 +4441,7 @@
     Gear^.doStep := @doStepFlamethrowerWork
 end;
 
+////////////////////////////////////////////////////////////////////////////////
 procedure doStepLandGunWork(Gear: PGear);
 var 
     HHGear: PGear;
@@ -4519,6 +4517,7 @@
     Gear^.doStep := @doStepLandGunWork
 end;
 
+////////////////////////////////////////////////////////////////////////////////
 procedure doStepPoisonCloud(Gear: PGear);
 begin
     if Gear^.Timer = 0 then
@@ -4576,7 +4575,6 @@
 Gear^.doStep:= @doStepIdle
 end;
 
-////////////////////////////////////////////////////////////////////////////////
 procedure doStepHammerHitWork(Gear: PGear);
 var 
     i, ei: LongInt;
@@ -4812,6 +4810,14 @@
 var 
     x, y: LongInt;
 begin
+    if (Gear^.State and gstMoving) <> 0 then
+        begin
+        AddGearCI(Gear);
+        Gear^.dX:= _0;
+        Gear^.dY:= _0;
+        Gear^.State:= Gear^.State and not gstMoving;
+        end;
+
     if CurAmmoGear = Gear then
         begin
         if (CurrentHedgehog = nil) or (CurrentHedgehog^.Gear = nil) then 
@@ -4860,6 +4866,7 @@
         end;
 end;
 
+////////////////////////////////////////////////////////////////////////////////
 procedure doStepTardis(Gear: PGear);
 (*var 
     i, x, y: LongInt;
@@ -4902,3 +4909,6 @@
             DeleteGear(Gear)
         end
 end;
+
+////////////////////////////////////////////////////////////////////////////////
+