Page 1 of 1

Undo only changes visible to player

Posted: Wed Sep 25, 2019 8:28 pm
by Argo
Hello Factorio fans!

tl;dr: When using an "undo" functionality from newest release, apply it only to a point where change to undo is still visible on screen.

Longer:
So title and tl;dr says it all ;)
As to why I think it is a good idea - when using undo function would undo an item that has been put somewhere outside of field of view, player may have (and I suppose usually won't have) an idea as to what was mark to be undone. This may lead to broken belts, rails and production chains and player won't even know about it.
Imagine situation - you've placed N items of a construction, but want to place it somewhere else, so you ctrl+z them. Upsy... ctrl+z used N+1 times and that 1 item has been set to be removed. Maybe even on the other end of your base. And let's be honest here - you don't memorise where you placed items for previous module/chain or where you made some amendments. In small bases maybe...

How do I propose it to work? Just let player undo last action only if it is visible on screen. Or (it may be simpler to implement) if that change is within certain radius from player (which can be fetched/calculated for given zoom level, so again - it can be done just to allow change to be undone if it is visible for player).

Re: Undo only changes visible to player

Posted: Thu Sep 26, 2019 9:14 am
by ssilk
Hm. To point to the right problem with the wrong answer, cause I can construct many counter-suggestions that easily shows, that there are many situations, where this will make things much more worse.

Instead I would say the player needs to have an idea, what the next undo will do. Many ways to achieve that, for example a preview, if the undo-area is out of sight, or if it is long ago.

Re: Undo only changes visible to player

Posted: Thu Sep 26, 2019 9:18 am
by BHakluyt
I think what we really need is a CTRL+Y, redo function. As for the undo, hover over the undo button next to the toolbar, it does give some vague description of what you will be undoing and it usually refreshes my swiss cheese memory to some point. But yeah, lets get redo please?

Re: Undo only changes visible to player

Posted: Mon Sep 30, 2019 5:16 pm
by Masterpintsman
BHakluyt wrote:
Thu Sep 26, 2019 9:18 am
I think what we really need is a CTRL+Y, redo function.
This.

Re: Undo only changes visible to player

Posted: Mon Oct 07, 2019 4:25 pm
by ssilk
Yes.

I want it like this:
1. When you undo once, you will see what would be undone for the next time you press undo. Some mark, a yellow ghost for example? (*)
2. Redo (CTRL-shift-Z or on Mac CMD-shift-Z) will undo the undo.
3. When the undo is too far away or too long ago (configurable?) it will ask the user, cause it might be a wrong keypress. I'm not sure if this should work only for the first undo (see 1) or for every.
4. In the case of 3 there might be also an option to see the place of change on map.

(*) So, when it is not longer visible on screen it's a clear sign for the player, that he has finished his undo for this "place".

Re: Undo only changes visible to player

Posted: Wed Oct 09, 2019 6:36 am
by Argo
BHakluyt wrote:
Thu Sep 26, 2019 9:18 am
I think what we really need is a CTRL+Y, redo function. [...]
Ok, right. Simplest solution is usually the best one. And redo is widely available across many programs (all?) with undo function. This is far superior to undoing only what is visible on screen.

Re: Undo only changes visible to player

Posted: Wed Oct 09, 2019 8:16 am
by BlueTemplar
Incoming clusterfuck with AZERTY/QWERTY/QWERTZ in 3... 2... 1... :D

Seriously, redo would be great, no matter how much hotkey-wringing it would cause...