hedgewars/uGearsHandlers.pas
changeset 7721 2b1ad418ba39
parent 7671 43f38923bc6e
child 9080 9b42757d7e71
--- a/hedgewars/uGearsHandlers.pas	Mon Oct 01 00:31:38 2012 +0400
+++ b/hedgewars/uGearsHandlers.pas	Mon Oct 01 12:01:39 2012 +0400
@@ -35,12 +35,12 @@
 
 procedure PrevAngle(Gear: PGear; dA: LongInt); inline;
 begin
-    Gear^.Angle := (Gear^.Angle - dA) and 3
+    Gear^.Angle := (LongInt(Gear^.Angle) - dA) and 3
 end;
 
 procedure NextAngle(Gear: PGear; dA: LongInt); inline;
 begin
-    Gear^.Angle := (Gear^.Angle + dA) and 3
+    Gear^.Angle := (LongInt(Gear^.Angle) + dA) and 3
 end;
 
 procedure cakeStep(Gear: PGear);
@@ -51,8 +51,8 @@
     dA := hwSign(Gear^.dX);
     xx := dirs[Gear^.Angle].x;
     yy := dirs[Gear^.Angle].y;
-    xxn := dirs[(Gear^.Angle + dA) and 3].x;
-    yyn := dirs[(Gear^.Angle + dA) and 3].y;
+    xxn := dirs[(LongInt(Gear^.Angle) + dA) and 3].x;
+    yyn := dirs[(LongInt(Gear^.Angle) + dA) and 3].y;
 
     if (xx = 0) then
         if TestCollisionYwithGear(Gear, yy) <> 0 then