From 22fad046a05d3032e7ca6655f6116266becc9534 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sat, 14 Jan 2017 23:51:19 +0000 Subject: [PATCH] Fix units warping to 0,0 when doing a 180 degree turn. --- OpenRA.Mods.Common/Activities/Move/Move.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.Common/Activities/Move/Move.cs b/OpenRA.Mods.Common/Activities/Move/Move.cs index a1360d76d8..e7418d6e83 100644 --- a/OpenRA.Mods.Common/Activities/Move/Move.cs +++ b/OpenRA.Mods.Common/Activities/Move/Move.cs @@ -297,6 +297,7 @@ namespace OpenRA.Mods.Common.Activities protected readonly Move Move; protected readonly WPos From, To; protected readonly int FromFacing, ToFacing; + protected readonly bool EnableArc; protected readonly WPos ArcCenter; protected readonly int ArcFromLength; protected readonly WAngle ArcFromAngle; @@ -333,6 +334,7 @@ namespace OpenRA.Mods.Common.Activities ArcFromAngle = (ArcCenter - from).Yaw; ArcToLength = (ArcCenter - to).HorizontalLength; ArcToAngle = (ArcCenter - to).Yaw; + EnableArc = true; } } @@ -378,7 +380,7 @@ namespace OpenRA.Mods.Common.Activities if (MoveFractionTotal != 0) { WPos pos; - if (FromFacing != ToFacing) + if (EnableArc) { var angle = WAngle.Lerp(ArcFromAngle, ArcToAngle, moveFraction, MoveFractionTotal); var length = int2.Lerp(ArcFromLength, ArcToLength, moveFraction, MoveFractionTotal);