From bdccc868b777bc1cb48e51da72968fdeaf27d224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20Dub=C3=A9?= <159546+serprex@users.noreply.github.com> Date: Sun, 16 Aug 2026 18:46:15 +0000 Subject: [PATCH] Fix entrance overrides being different between loading spoiler vs starting seed (#7085) --- soh/soh/Enhancements/randomizer/entrance.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/entrance.cpp b/soh/soh/Enhancements/randomizer/entrance.cpp index ff08e00157..cc14f1e8f4 100644 --- a/soh/soh/Enhancements/randomizer/entrance.cpp +++ b/soh/soh/Enhancements/randomizer/entrance.cpp @@ -1647,10 +1647,12 @@ void EntranceShuffler::CreateEntranceOverrides() { int16_t destinationIndex = -1; int16_t replacementDestinationIndex = -1; - // Only set destination indices for two way entrances and when decouple entrances is off - if (entrance->GetReverse() != nullptr && !ctx->GetOption(RSK_DECOUPLED_ENTRANCES)) { - replacementDestinationIndex = entrance->GetReplacement()->GetReverse()->GetIndex(); + // Track the reverse destination, useful for savewarp handling + if (entrance->GetReverse() != nullptr) { destinationIndex = entrance->GetReverse()->GetIndex(); + if (!ctx->GetOption(RSK_DECOUPLED_ENTRANCES)) { + replacementDestinationIndex = entrance->GetReplacement()->GetReverse()->GetIndex(); + } } entranceOverrides[i] = {