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