Additional randomization options for Rainbow Bridge and Ganon's Boss Key, UI Visibility Fixes#2457
Additional randomization options for Rainbow Bridge and Ganon's Boss Key, UI Visibility Fixes#2457Echopixel wants to merge 13 commits intoOoTRandomizer:Devfrom
Conversation
…e for stones, medallions or dungeon rewards needed. Started adding option to do the same for Ganon's boss key requirement. Fixed(?) the UI's handling of disabling/reenabling controls. When an element had multiple children with varying reasons for being disabled it could cause some desyncing and not hide properly.
…n Rewards to receive Ganon's boss key. Also added Random as an option for its requirement.
…ewards for the rainbow bridge requirement
Feature/randomized goals
…ped disabling sections from working.
|
Just adding that the UI recompute changes seems to also fix #2409 https://github.com/Echopixel/OoT-Randomizer-Echopixel/tree/feature/cross_world_shuffle |
|
Nice contribution. #2400 already attempts to rewrite the visibility logic and that PR was planned to get merged, but got held up. Have to see if they could perhaps be combined |
|
While it's not implemented exactly as described there, this is very similar to #1345. Personally I think allowing a minimum and maximum to be specified is probably overkill so I prefer the way it's done in this PR, but I'll ask the rest of the dev team for their opinions as well. |
|
I got no objections from the dev team so we're going with this PR. |
I wanted more random seed requirement options so I added a few more options for Rainbow Bridge and Ganon's Boss Key.
Ganon's Boss Key
Rainbow Bridge
The individual options display as a new Checkbutton whether you want to make them random or not, if yes, it disables the accompanying slider.
Additionally, I believe adding these new options unearthed a bug/unaccounted interaction with how Combo boxes/Checkbuttons and visibility was working for UI elements that could be enabled for multiple reasons (in this case, the sliders), so I made a few changes to how the application tracks visibility changes which I believe should prevent this from happening anymore when you have an element with multiple sources of being enabled/disabled.