hedgewars/uCollisions.pas
changeset 538 74219eadab5e
parent 536 33538aadb4e7
child 542 ec26095f1bed
--- 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;