Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Move not cancelling during turns. #16978

Merged
merged 1 commit into from Aug 25, 2019

Conversation

@tovl
Copy link
Contributor

commented Aug 23, 2019

Fixes #16976

Move will not cancel during a turn. This problem is not exclusive to infantry, but is probably more annoying with infantry because it comes on top of the separate problem of infantry not choosing the closest subcell.

The root of the problem is that MoveFirstPart will keep adding new instances of MoveFirstPart into it's parents childactivity queue as long as the unit is making turns. Because MovePart is uninterruptible this makes Move uninterruptible while making a turn. A proper fix will probably entail moving all the queueing of MovePart into the parent activity and not letting the childactivities mess with that. However, that will be a major refactor of the Move code which will likely cause other regressions along the way.

The quick fix proposed here for next release/playtest is to clear the path upon cancelling (which was the case before the whole childactivity/cancellation refactor as well IIRC). I also removed the pointless IsCancelling clause from MoveFirstPart.

@pchote pchote added this to the Next Release milestone Aug 23, 2019

@pchote
Copy link
Member

left a comment

LGTM after adding the null check

@tovl tovl force-pushed the tovl:cancel-move branch from 1969912 to c60066e Aug 24, 2019

@pchote
pchote approved these changes Aug 24, 2019

@teinarss teinarss merged commit 946c9f4 into OpenRA:bleed Aug 25, 2019

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.