--- 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