diff -r bc178daca088 -r 2cfdc4bfc2be hedgewars/uGears.pas --- 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;