Skip to content

Conversation

@xxAtrain223
Copy link
Contributor

@xxAtrain223 xxAtrain223 commented Apr 9, 2025

Updates Available Checks to handle Entrance Shuffling. It does this by applying shuffled entrance overrides to the entrance data, this lets the ReachabilitySearch properly traverse the region data. In ProcessExits, it now checks if the entrance was shuffled and if it was discovered. Unshuffled exits are processed normally.

Fixes #5284

Build Artifacts

@xxAtrain223 xxAtrain223 force-pushed the available-checks-entrance-shuffle branch from 78a51b2 to 51289ea Compare April 10, 2025 02:30
Copy link
Contributor Author

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.

@Malkierian Malkierian merged commit d330f22 into HarbourMasters:develop-blair May 24, 2025
6 checks passed
return 0;
}

static bool AvailabeChecksProcessUndiscoveredExitsHandler(std::shared_ptr<Ship::Console> Console,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Available, not Availabe

Copy link
Contributor Author

@xxAtrain223 xxAtrain223 May 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xxAtrain223 xxAtrain223 deleted the available-checks-entrance-shuffle branch June 16, 2025 00:26
krazyjakee pushed a commit to krazyjakee/OOT that referenced this pull request Sep 6, 2025
* 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants