diff --git a/OpenRA.Game/Exts.cs b/OpenRA.Game/Exts.cs index 950a088ae6..3f06ada4a3 100644 --- a/OpenRA.Game/Exts.cs +++ b/OpenRA.Game/Exts.cs @@ -327,6 +327,15 @@ namespace OpenRA return root; } + public static int IntegerDivisionRoundingAwayFromZero(int dividend, int divisor) + { + int remainder; + var quotient = Math.DivRem(dividend, divisor, out remainder); + if (remainder == 0) + return quotient; + return quotient + (Math.Sign(dividend) == Math.Sign(divisor) ? 1 : -1); + } + public static string JoinWith(this IEnumerable ts, string j) { return string.Join(j, ts);