--- a/hedgewars/uGearsHandlersMess.pas Tue Jan 21 22:04:40 2014 +0400
+++ b/hedgewars/uGearsHandlersMess.pas Tue Jan 21 21:16:52 2014 +0100
@@ -3008,6 +3008,8 @@
FollowGear := Gear;
+ Gear^.dY:= cMaxWindSpeed * 100;
+
Gear^.doStep := @doStepCakeFall
end;
@@ -3190,7 +3192,7 @@
procedure doStepDrill(Gear: PGear);
var
t: PGearArray;
- oldDx, oldDy: hwFloat;
+ oldX, oldY, oldDx, oldDy: hwFloat;
t2: hwFloat;
begin
AllInactive := false;
@@ -3200,6 +3202,8 @@
oldDx := Gear^.dX;
oldDy := Gear^.dY;
+ oldX := Gear^.X;
+ oldY := Gear^.Y;
doStepFallingGear(Gear);
@@ -3215,6 +3219,8 @@
//hit
Gear^.dX := oldDx;
Gear^.dY := oldDy;
+ Gear^.X := oldX;
+ Gear^.Y := oldY;
if GameTicks > Gear^.FlightTime then
t := CheckGearsCollision(Gear)
@@ -3239,6 +3245,8 @@
exit;
end;
+ Gear^.X:= Gear^.X+Gear^.dX*4;
+ Gear^.Y:= Gear^.Y+Gear^.dY*4;
Gear^.SoundChannel := LoopSound(sndDrillRocket);
Gear^.doStep := @doStepDrillDrilling;