--- a/hedgewars/uGears.pas Wed May 02 15:21:34 2007 +0000
+++ b/hedgewars/uGears.pas Wed May 02 18:41:44 2007 +0000
@@ -230,6 +230,7 @@
Result^.Y:= Result^.Y - _25;
end;
gtMine: begin
+ Result^.State:= Result^.State or gstMoving;
Result^.Radius:= 3;
Result^.Elasticity:= _0_55;
Result^.Friction:= _0_995;
@@ -281,7 +282,7 @@
var team: PTeam;
t: Longword;
begin
-if Gear^.CollIndex < High(Longword) then DeleteCI(Gear);
+DeleteCI(Gear);
if Gear^.Surf <> nil then SDL_FreeSurface(Gear^.Surf);
if Gear^.Kind = gtHedgehog then
if CurAmmoGear <> nil then
@@ -450,7 +451,7 @@
procedure DrawHH(Gear: PGear; Surface: PSDL_Surface);
var t: LongInt;
begin
-DrawHedgehog(hwRound(Gear^.X) - 14 + WorldDx, hwRound(Gear^.Y) - 18 + WorldDy,
+DrawHedgehog(hwRound(Gear^.X) - 15 + WorldDx, hwRound(Gear^.Y) - 18 + WorldDy,
hwSign(Gear^.dX), 0,
PHedgehog(Gear^.Hedgehog)^.visStepPos div 2,
Surface);
@@ -670,6 +671,7 @@
begin
Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - int2hwFloat(X));
Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - int2hwFloat(Y));
+ Gear^.State:= Gear^.State or gstMoving;
Gear^.Active:= true;
FollowGear:= Gear
end;
@@ -706,6 +708,7 @@
t^.ar[i]^.dX:= Ammo^.dX * Power * _0_01;
t^.ar[i]^.dY:= Ammo^.dY * Power * _0_01;
t^.ar[i]^.Active:= true;
+ t^.ar[i]^.State:= t^.ar[i]^.State or gstMoving;
DeleteCI(t^.ar[i]);
FollowGear:= t^.ar[i]
end;