diff -r 4622f83623ac -r 5e18eaef65d0 hedgewars/GSHandlers.inc --- 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; + +//////////////////////////////////////////////////////////////////////////////// +