-
Notifications
You must be signed in to change notification settings - Fork 17
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
Better Undo/Redo can merge two steps into one #206
Comments
Further, if in the above steps you instead move the root tank, it will both remove the second tank and move the root tank back to the original place. Maybe that is a better example. |
So... It's not really a "merging" of steps, but more an oversight of the consequences of inverting the undo/redo logic. Basically, what the patch does is invert the core undo/redo logic from capturing state after events to capturing it before events. However, I only moved at which point the state is captured for attach/detach events, not for offset/rotate events, which means you end up with twice the same state captured (in your reproduction steps, you will notice that you have to undo twice at step 3 for step 4 to happen), and the state before offsetting/rotating not being captured at all. Now that I'm looking at it, there are actually more events that result in the same issue (same repro steps, just change step 2 with the following actions) :
This will need quite a bit of work to fix them all. Basically, we need to move the call to
|
Fixes for incoherent undo/redo behavior introduced by the BetterUndoRedo patch
Fix released in 1.35.0 |
Steps to reproduce:
Using Redo after this will add the tank back in at the position it was after moving it, so it appears that two steps have been merged.
This "merging" of steps also happens if you change anything in the paw. For example changing fuellevel, open/close a bay, extend panels, change part variant etc.
I did test this with no other mods installed and verified this does not happen without KSPCF.
The text was updated successfully, but these errors were encountered: