diff -r 8e6b79a020f8 -r 2b1ad418ba39 hedgewars/uGearsHandlers.pas --- 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