Convert grotto entrances to standard entrance system#2494
Open
mracsys wants to merge 54 commits intoOoTRandomizer:Devfrom
Open
Convert grotto entrances to standard entrance system#2494mracsys wants to merge 54 commits intoOoTRandomizer:Devfrom
mracsys wants to merge 54 commits intoOoTRandomizer:Devfrom
Conversation
|
I THINK the logic should already be able to handle the grotto exits since we're already kind of supporting mixed pools within the logic files. The only small caveat to that is we have not added any mixed-pools specific tricks, but they don't need to be added here. |
Collaborator
This is probably just a typo, but just to avoid any misunderstanding, the settings that need to be changed to comboboxes are spawn and warp song ER, not grotto ER. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grotto and Fairy Fountain Entrance Refactor
Closes #2023. Depends on #2332.
Change grottos to use the same entrance table as other scene exits. To support grottos reusing the same scene/room, alternate setups are created for each unique entrance and the entrance table is relocated and extended. With these changes, grotto entrances and exits are now valid spawn targets, and void and death warps behave consistently. This is a blocking issue for adding mixed entrance pools settings seen on Roman971's branch to main. Fairy fountain grotto fairies are also easier to randomize with setup-specific entrances instead of the same generic scene/room.
Important changes for players
Because grottos now use the same system as other entrances, voiding now consistently returns Link to the grotto exit. Previous strategies to save travel time in Death Mountain Crater using the upper grotto (and maybe other scenes) will no longer work. Previous grotto behavior is not retained as it would require maintaining two independent methods for grotto scene loading and the various item shuffle override lookups, both in the game and in the patcher.
Currently, this PR adds grotto-type entrances and exits as valid spawn and warp targets. This adds up to 66 new spawn points for spawn shuffle, depending on other settings. This is planned to be configurable before merging the feature.
To do
Vanilla Hacks
Rando Adjustments
New entrance notes
Generic grottos get another special case for setups. Extra entrance indexes lead to the same room/position, but are used to offset the scenelayer from 0. The extra scene setups are identical to the main one except for new exit lists. The different exit lists handle exiting to different scenes from the duplicated grottos, though it also works the same way for unique grottos as they all share the same scene. Adding more than one exit to the scene for each room would be more complicated as the data is baked into the scene collision (add new surface types -> swap out specific surface types out of thousands, not necessarily contiguous).
Grotto entrance table entries
Vanilla table in ovl_Door_Ana (shown in table index order).
Grotto actor rot.x stores the exit index.
New Grotto Patching Process
Testing
All testing has been done on ares v143. All testing used DMC and DMT grottos instead of every grotto. More detailed testing to be completed when I can. Checked tests are complete, unchecked are pending.
Videos for N64, Wii VC, and Retroarch to be provided later, if someone else doesn't get to it first.