--- 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;
+
+////////////////////////////////////////////////////////////////////////////////
+