diff -r 4d2e60623e44 -r 74219eadab5e hedgewars/uCollisions.pas --- a/hedgewars/uCollisions.pas Mon Jun 04 21:29:05 2007 +0000 +++ b/hedgewars/uCollisions.pas Wed Jun 06 21:27:12 2007 +0000 @@ -189,12 +189,11 @@ inc(y) until (y > i); end; -TestCollisionXKick:= false; +TestCollisionXKick:= flag; if flag then begin - if hwAbs(Gear^.dX) < cHHKick then exit(true); - if Count = 0 then exit; + if hwAbs(Gear^.dX) < cHHKick then exit; mx:= hwRound(Gear^.X); my:= hwRound(Gear^.Y); @@ -213,8 +212,8 @@ Active:= true end; DeleteCI(cGear); - exit - end else exit(true) + exit(false) + end end end; @@ -238,12 +237,11 @@ inc(x) until (x > i); end; -TestCollisionYKick:= false; +TestCollisionYKick:= flag; if flag then begin if hwAbs(Gear^.dX) < cHHKick then exit(true); - if Count = 0 then exit; mx:= hwRound(Gear^.X); my:= hwRound(Gear^.Y); @@ -257,13 +255,13 @@ with cGear^ do begin dX:= Gear^.dX; - dY:= Gear^.dY; + dY:= Gear^.dY * _0_5; State:= State or gstMoving; Active:= true end; DeleteCI(cGear); - exit - end else exit(true) + exit(false) + end end end;