Restored vanilla pause buffering and input behavior broken by 'easy frame advance' cheat#2511
Restored vanilla pause buffering and input behavior broken by 'easy frame advance' cheat#2511briaguya0 merged 3 commits intoHarbourMasters:developfrom Jengerer:develop
Conversation
|
Nice! This has been on my todo list for a while but was hoping to have a solution for the “fake delay” you mentioned. If this behavior simply gets locked behind the one cvar with the input frame cheat we need to adjust the naming and/or description of it. Otherwise this change needs to be behind a separate cvar, and since the input frame cheat depends on it, that should also be reflected in the UI. |
…rame advance' cheat Currently, holding A and repeatedly pausing and unpausing will cause that A input to be repeated, resulting in Link rolling without additional A inputs. Similarly, holding Z and unpausing in front of a candidate actor will cause Link to switch Z-targeting to that actor. As a side effect, this also does not allow inputs to be buffered before the Subscreen has finished its closing animation, which is how vanilla also works. This is slightly unfortunate because the "freeze" before the game resumes is considerably shorter in Shipwright, but it'd be better to implement a fake delay there if we want to make it more forgiving.
|
Not sure if I did that right, but I amended my change to put it under a separate CVar and cheat checkbox (and made the checkbox disable if Easy Frame Advance is enabled with the appropriate tooltip). I tried to describe it as accurately as possible, since it doesn't actually buffer the inputs earlier, e.g. if you tap and release A before the Subscreen has finished closing, it won't actually queue the input to be pressed; it has to be held at least until the "vanilla" input window. I tested and both seem to work fine when toggled independently. |
…er notes longer than 8 characters
|
Whoops, I meant for that last one to go in with a separate PR. |
…em tracker notes longer than 8 characters" This reverts commit 721c18d.
Currently, holding A and repeatedly pausing and unpausing will cause that A input to be repeated, resulting in Link rolling without additional A inputs. Similarly, holding Z and unpausing in front of a candidate actor will cause Link to switch Z-targeting to that actor. In vanilla, pausing and unpausing does not repeat inputs this way.
As a side effect, this also does not allow inputs to be buffered before the Subscreen has finished its closing animation, which is how vanilla also works. The "freeze" before the game resumes is considerably shorter in Shipwright, but it'd be better to implement a fake delay there if we want to make it more forgiving.
Build Artifacts