Sereni / Simply-Love-SM5-Vertical

Simply Love on vertical screens
MIT License
13 stars 3 forks source link

Custom global offset requires enter press #43

Closed Sereni closed 3 years ago

Sereni commented 4 years ago

The offset only changes if you press enter after selecting the option, and never do I remember to do that >_> Fieoner says this is somehow specific to the option being on the 2nd screen, so either find what it is that makes it ignore the "apply on selection" option, or move it to the 1st screen

Sereni commented 3 years ago

Bad news:

Sereni commented 3 years ago

Or not! Someone with vanilla 4.9 setup just verified it works as expected. Perhaps we broke it in an elaborate way.

Roujo commented 3 years ago

I think it has to do with NavigationMode being set to "toggle" for that screen? I forgot to test it though, so maybe it's something else. 😅

Sereni commented 3 years ago

Duuuuude we don't have medals but you just earned one

Sereni commented 3 years ago

Aha, it appears that the toggle mode is there for 3-button navigation, like on DDR cabinets. If that's on, Enter moves on to the next line, and left/right enter the option row and change the value. Without this, 3-button navigation gets stuck on rows with multi-select. Right now it's broken on the first screen on rows Hide, Gameplay Extras, and Measure Counter Options.

One solution to this is to move all multi-select options to the 2nd screen, and move custom global offset up to the 1st screen. Perhaps do it conditionally on 3-button navigation setting (is that possible?) — I'd like to keep the logical layout of the options.

I do wonder if there would be any users limited to 3-button nav AND using vertical.

Sereni commented 3 years ago

Actually, has nothing to do with 3 buttons; 4 buttons also break — it's the Stepmania/Arcade style navigation setting.

Sereni commented 3 years ago

Interestingly, this doesn't work, because ArcadeOptionsNavigation always resolves to true, regardless of the option value?! But when I SM() the value, it does show 0 and 1 as expected. NavigationMode=PREFSMAN:GetPreference("ArcadeOptionsNavigation") and "toggle" or "normal"

If I use the exact same syntax with ThreeKeyNavigation, it changes the mode correctly. NavigationMode=PREFSMAN:GetPreference("ThreeKeyNavigation") and "toggle" or "normal"

Go figure.