don't set nextEntranceIndex in Play_Init, breaks FWWW (#7300)

instead tracker uses gSaveContext.entranceIndex
This commit is contained in:
Philip Dubé
2026-10-04 15:39:07 +00:00
committed by GitHub
parent 94be08c27e
commit 12e17c68a8
2 changed files with 2 additions and 6 deletions
@@ -285,7 +285,6 @@ static ImGuiTextFilter checkSearch;
static bool recalculateAvailable = false;
static RandomizerRegion availableChecksStartingRegion = RR_ROOT;
static RandoAgeTime availableChecksStartingAgeTime = RAT_NONE;
static int16_t previousEntrance = 0;
std::array<bool, RCAREA_INVALID> filterAreasHidden = { 0 };
std::array<bool, RC_MAX> filterChecksHidden = { 0 };
@@ -899,7 +898,7 @@ void CheckTrackerTransition(uint32_t sceneNum) {
}
if (!IsAreaSpoiled(currentArea) && (RandomizerCheckObjects::AreaIsOverworld(currentArea) ||
std::find(spoilingEntrances.begin(), spoilingEntrances.end(),
gPlayState->nextEntranceIndex) != spoilingEntrances.end())) {
gSaveContext.entranceIndex) != spoilingEntrances.end())) {
SetAreaSpoiled(currentArea);
}
}
@@ -2443,7 +2442,7 @@ void InternalRecalculateAvailableChecks(RandomizerRegion startingRegion, RandoAg
const auto& ctx = Rando::Context::GetInstance();
logic = ctx->GetLogic();
int16_t entranceIndex = gPlayState->nextEntranceIndex;
int16_t entranceIndex = gSaveContext.entranceIndex;
if (startingRegion == RR_ROOT && entranceIndex >= 0 && entranceIndex < ENTR_MAX) {
// Try to find a mapped entrance
// e.g. ENTR_DEKU_TREE_0_1 (index 1) is not mapped, but ENTR_DEKU_TREE_ENTRANCE (index 0) is mapped
-3
View File
@@ -649,9 +649,6 @@ void Play_Init(GameState* thisx) {
DmaMgr_DmaRomToRam(0x03FEB000, gDebugCutsceneScript, sizeof(sDebugCutsceneScriptBuf));
}
#endif
// nextEntranceIndex was not initialized, so the previous value was carried over during soft resets.
gPlayState->nextEntranceIndex = gSaveContext.entranceIndex;
}
void Play_Update(PlayState* play) {