Convert IFacing.Facing and TurnSpeed to WAngle.

This commit is contained in:
Paul Chote
2020-06-01 20:42:28 +01:00
committed by teinarss
parent 01417c88c5
commit 6adf45bcb4
44 changed files with 101 additions and 120 deletions

View File

@@ -35,17 +35,6 @@ namespace OpenRA.Mods.Common
return (facing - rot) & 0xFF;
}
public static int GetNearestFacing(int facing, int desiredFacing)
{
var turn = desiredFacing - facing;
if (turn > 128)
turn -= 256;
if (turn < -128)
turn += 256;
return facing + turn;
}
/// <summary>
/// Adds step angle units to facing in the direction that takes it closer to desiredFacing.
/// If facing is already within step of desiredFacing then desiredFacing is returned.
@@ -97,13 +86,13 @@ namespace OpenRA.Mods.Common
return negative == 0 ? 0 : 256 - negative;
}
public static bool FacingWithinTolerance(int facing, int desiredFacing, int facingTolerance)
public static bool FacingWithinTolerance(WAngle facing, WAngle desiredFacing, int facingTolerance)
{
if (facingTolerance == 0 && facing == desiredFacing)
return true;
var delta = Util.NormalizeFacing(desiredFacing - facing);
return delta <= facingTolerance || delta >= 256 - facingTolerance;
var delta = (desiredFacing - facing).Angle;
return delta <= facingTolerance || delta >= 1024 - facingTolerance;
}
public static WPos BetweenCells(World w, CPos from, CPos to)