diff -r c00db97a668f -r 4ac87acbaed9 hedgewars/uGearsHandlersMess.pas --- a/hedgewars/uGearsHandlersMess.pas Tue Jan 21 22:44:37 2014 +0100 +++ b/hedgewars/uGearsHandlersMess.pas Tue Jan 21 22:53:15 2014 +0100 @@ -3010,6 +3010,8 @@ FollowGear := Gear; + Gear^.dY:= cMaxWindSpeed * 100; + Gear^.doStep := @doStepCakeFall end; @@ -3192,7 +3194,7 @@ procedure doStepDrill(Gear: PGear); var t: PGearArray; - oldDx, oldDy: hwFloat; + oldX, oldY, oldDx, oldDy: hwFloat; t2: hwFloat; begin AllInactive := false; @@ -3202,6 +3204,8 @@ oldDx := Gear^.dX; oldDy := Gear^.dY; + oldX := Gear^.X; + oldY := Gear^.Y; doStepFallingGear(Gear); @@ -3217,6 +3221,8 @@ //hit Gear^.dX := oldDx; Gear^.dY := oldDy; + Gear^.X := oldX; + Gear^.Y := oldY; if GameTicks > Gear^.FlightTime then t := CheckGearsCollision(Gear) @@ -3241,6 +3247,8 @@ exit; end; + Gear^.X:= Gear^.X+Gear^.dX*4; + Gear^.Y:= Gear^.Y+Gear^.dY*4; Gear^.SoundChannel := LoopSound(sndDrillRocket); Gear^.doStep := @doStepDrillDrilling;