From eafe7f0b04f58560dc857d97cf7bc3a0ab5531f9 Mon Sep 17 00:00:00 2001 From: Archez Date: Thu, 6 Feb 2025 10:33:41 -0500 Subject: [PATCH] Fix save warping in links house with entrance rando (#5009) * Fix save warping in links house with entrance rando * account for interrior shuffle all --- soh/soh/Enhancements/randomizer/randomizer_entrance.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/randomizer_entrance.c b/soh/soh/Enhancements/randomizer/randomizer_entrance.c index 14d630005..fdb1f6809 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_entrance.c +++ b/soh/soh/Enhancements/randomizer/randomizer_entrance.c @@ -393,8 +393,11 @@ void Entrance_SetSavewarpEntrance(void) { gSaveContext.entranceIndex = ENTR_GANONS_TOWER_0; // Inside Ganon's Castle -> Ganon's Tower Climb } else if (scene == SCENE_THIEVES_HIDEOUT) { // Theives hideout gSaveContext.entranceIndex = ENTR_THIEVES_HIDEOUT_0; // Gerudo Fortress -> Thieve's Hideout spawn 0 - } else if (scene == SCENE_LINKS_HOUSE) { - gSaveContext.entranceIndex = Entrance_OverrideNextIndex(ENTR_LINKS_HOUSE_CHILD_SPAWN); + } else if (scene == SCENE_LINKS_HOUSE && + Randomizer_GetSettingValue(RSK_SHUFFLE_INTERIOR_ENTRANCES) != RO_INTERIOR_ENTRANCE_SHUFFLE_ALL) { + // Save warping in Link's house keeps the player there if Link's house not shuffled, + // otherwise fallback to regular spawns + gSaveContext.entranceIndex = ENTR_LINKS_HOUSE_CHILD_SPAWN; } else if (CVarGetInteger(CVAR_ENHANCEMENT("RememberSaveLocation"), 0) && scene != SCENE_FAIRYS_FOUNTAIN && scene != SCENE_GROTTOS && gSaveContext.entranceIndex != ENTR_LOAD_OPENING) { // Use the saved entrance value with remember save location, except when in grottos/fairy fountains or if