-
Notifications
You must be signed in to change notification settings - Fork 632
Available Checks Entrance Shuffle #5363
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Available Checks Entrance Shuffle #5363
Conversation
78a51b2 to
51289ea
Compare
…o the save when calculating available checks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The GitHub diff for this file shows more intermingled changes than there really are because the entranceShuffleTable was moved into the SetAllEntrancesData function. I did this because the ShuffleAllEntrances function was the only function to create the entranceShuffleTable and pass it to SetAllEntrancesData, but the data was also needed for ApplyEntranceOverrides.
This file is better reviewed manually in an external program like VS Code.
…e starting region.
| return 0; | ||
| } | ||
|
|
||
| static bool AvailabeChecksProcessUndiscoveredExitsHandler(std::shared_ptr<Ship::Console> Console, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Available, not Availabe
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* EntranceShuffler ApplyEntranceOverrides. * Updated ApplyEntranceOverrides. * Updated ApplyEntranceOverrides. * Initial Entrance Discovery. * Added Randomizer_EntranceDiscovered. * Updated Randomizer_DiscoverRegion to discover unshuffled connected regions. * Removed extra semi-colon. * Update to latest entranceShuffleTable. * Format fixes. * Updated EntranceDiscovered to account for entrances not in the entranceShuffleTable. * Rediscover regions when loading a game. * Rediscover entrances when enabling Available Checks. * Added Rando::Context::ParseTricksJson. * Updated ApplyEntranceOverrides to skip default (unset) overrides. * Fix clang-format failed check. * Set mLACSCondition when loading a Randomizer game. * Updated rediscover loop to use MAX_ENTRANCE_RANDO_USED_INDEX. * Move entrance discovered into ProcessExits. * Discover spawns when pulling/placing the master sword. * Discover adult/child spawn when using Song of Time to switch age. * Reset logic and ApplyOrStoreItems without applying the item effects to the save when calculating available checks. * Removed !itemLoc->IsAddedToPool() from the check tracker. * Remove region discovery as its not needed anymore. * Cleanup changed files for PR. * Added Available Checks - Process Undiscovered Exits DebugConsole command. * Added initial Available Checks - Recalculate DebugConsole command. * ACPUE, recalculate only if save loaded. ACR, set age and times for the starting region.

Updates Available Checks to handle Entrance Shuffling. It does this by applying shuffled entrance overrides to the entrance data, this lets the
ReachabilitySearchproperly traverse the region data. InProcessExits, it now checks if the entrance was shuffled and if it was discovered. Unshuffled exits are processed normally.Fixes #5284
Build Artifacts