From 8cb06d2d5d50ba989d54efc9d2ce90152e3169fb Mon Sep 17 00:00:00 2001 From: Christopher Leggett Date: Sat, 30 Dec 2023 12:09:46 -0500 Subject: [PATCH] Fixes some "seed bleed" instances (#3766) * Should fix seed bleed between multiple saves and loaded spoilers by resetting the Rando::Context before loading a save. * Only reset for rando saves. --- soh/soh/SaveManager.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/soh/soh/SaveManager.cpp b/soh/soh/SaveManager.cpp index d6f573e65..1c3698e88 100644 --- a/soh/soh/SaveManager.cpp +++ b/soh/soh/SaveManager.cpp @@ -2721,6 +2721,11 @@ extern "C" void Save_SaveGlobal(void) { } extern "C" void Save_LoadFile(void) { + if (gSaveContext.questId == QUEST_RANDOMIZER) { + // Reset rando context for rando saves. + OTRGlobals::Instance->gRandoContext.reset(); + OTRGlobals::Instance->gRandoContext = Rando::Context::CreateInstance(); + } SaveManager::Instance->LoadFile(gSaveContext.fileNum); }