diff options
| author | Garrett Cox <garrettjcox@gmail.com> | 2024-04-04 08:15:34 -0500 |
|---|---|---|
| committer | Garrett Cox <garrettjcox@gmail.com> | 2024-04-04 08:15:34 -0500 |
| commit | 325035e4738feaae749bc643add6361f1927d610 (patch) | |
| tree | 87058b0ea18d680af2e7ff817d3f04ec8e36cc8b /soh/src/code | |
| parent | 2339a729eea09c71d066070e01f6de77a496d510 (diff) | |
| parent | 01bcc4bb5926b0a880504a96a5c1ad9d28821a28 (diff) | |
Merge branch 'develop-rando' of garrettjoecox.github.com:HarbourMasters/Shipwright into develop-rando-changes
Diffstat (limited to 'soh/src/code')
| -rw-r--r-- | soh/src/code/z_message_PAL.c | 5 | ||||
| -rw-r--r-- | soh/src/code/z_sram.c | 117 |
2 files changed, 64 insertions, 58 deletions
diff --git a/soh/src/code/z_message_PAL.c b/soh/src/code/z_message_PAL.c index 94ab49fda..a025a2c0d 100644 --- a/soh/src/code/z_message_PAL.c +++ b/soh/src/code/z_message_PAL.c @@ -8,6 +8,7 @@ #include "textures/message_static/message_static.h" #include "textures/message_texture_static/message_texture_static.h" #include "soh/Enhancements/cosmetics/cosmeticsTypes.h" +#include "soh/Enhancements/game-interactor/GameInteractor.h" #include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h" #include "soh/OTRGlobals.h" @@ -3087,7 +3088,9 @@ void Message_Draw(PlayState* play) { POLY_OPA_DISP = plusOne; } plusOne = Graph_GfxPlusOne(polyOpaP = POLY_OPA_DISP); - gSPDisplayList(OVERLAY_DISP++, plusOne); + if (!GameInteractor_NoUIActive()) { + gSPDisplayList(OVERLAY_DISP++, plusOne); + } Message_DrawMain(play, &plusOne); gSPEndDisplayList(plusOne++); Graph_BranchDlist(polyOpaP, plusOne); diff --git a/soh/src/code/z_sram.c b/soh/src/code/z_sram.c index 002e95987..2ec190b41 100644 --- a/soh/src/code/z_sram.c +++ b/soh/src/code/z_sram.c @@ -74,65 +74,68 @@ void Sram_OpenSave() { Save_LoadFile(); - if (!CVarGetInteger("gRememberSaveLocation", 0) || gSaveContext.savedSceneNum == SCENE_FAIRYS_FOUNTAIN || - gSaveContext.savedSceneNum == SCENE_GROTTOS) { - switch (gSaveContext.savedSceneNum) { - case SCENE_DEKU_TREE: - case SCENE_DODONGOS_CAVERN: - case SCENE_JABU_JABU: - case SCENE_FOREST_TEMPLE: - case SCENE_FIRE_TEMPLE: - case SCENE_WATER_TEMPLE: - case SCENE_SPIRIT_TEMPLE: - case SCENE_SHADOW_TEMPLE: - case SCENE_BOTTOM_OF_THE_WELL: - case SCENE_ICE_CAVERN: - case SCENE_GANONS_TOWER: - case SCENE_GERUDO_TRAINING_GROUND: - case SCENE_THIEVES_HIDEOUT: - case SCENE_INSIDE_GANONS_CASTLE: - gSaveContext.entranceIndex = sDungeonEntrances[gSaveContext.savedSceneNum]; - break; - case SCENE_DEKU_TREE_BOSS: - gSaveContext.entranceIndex = ENTR_DEKU_TREE_0; - break; - case SCENE_DODONGOS_CAVERN_BOSS: - gSaveContext.entranceIndex = ENTR_DODONGOS_CAVERN_0; - break; - case SCENE_JABU_JABU_BOSS: - gSaveContext.entranceIndex = ENTR_JABU_JABU_0; - break; - case SCENE_FOREST_TEMPLE_BOSS: - gSaveContext.entranceIndex = ENTR_FOREST_TEMPLE_0; - break; - case SCENE_FIRE_TEMPLE_BOSS: - gSaveContext.entranceIndex = ENTR_FIRE_TEMPLE_0; - break; - case SCENE_WATER_TEMPLE_BOSS: - gSaveContext.entranceIndex = ENTR_WATER_TEMPLE_0; - break; - case SCENE_SPIRIT_TEMPLE_BOSS: - gSaveContext.entranceIndex = ENTR_SPIRIT_TEMPLE_0; - break; - case SCENE_SHADOW_TEMPLE_BOSS: - gSaveContext.entranceIndex = ENTR_SHADOW_TEMPLE_0; - break; - case SCENE_GANONS_TOWER_COLLAPSE_INTERIOR: - case SCENE_INSIDE_GANONS_CASTLE_COLLAPSE: - case SCENE_GANONDORF_BOSS: - case SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR: - case SCENE_GANON_BOSS: - gSaveContext.entranceIndex = ENTR_GANONS_TOWER_0; + switch (gSaveContext.savedSceneNum) { + case SCENE_DEKU_TREE: + case SCENE_DODONGOS_CAVERN: + case SCENE_JABU_JABU: + case SCENE_FOREST_TEMPLE: + case SCENE_FIRE_TEMPLE: + case SCENE_WATER_TEMPLE: + case SCENE_SPIRIT_TEMPLE: + case SCENE_SHADOW_TEMPLE: + case SCENE_BOTTOM_OF_THE_WELL: + case SCENE_ICE_CAVERN: + case SCENE_GANONS_TOWER: + case SCENE_GERUDO_TRAINING_GROUND: + case SCENE_THIEVES_HIDEOUT: + case SCENE_INSIDE_GANONS_CASTLE: + gSaveContext.entranceIndex = sDungeonEntrances[gSaveContext.savedSceneNum]; + break; + case SCENE_DEKU_TREE_BOSS: + gSaveContext.entranceIndex = ENTR_DEKU_TREE_0; + break; + case SCENE_DODONGOS_CAVERN_BOSS: + gSaveContext.entranceIndex = ENTR_DODONGOS_CAVERN_0; + break; + case SCENE_JABU_JABU_BOSS: + gSaveContext.entranceIndex = ENTR_JABU_JABU_0; + break; + case SCENE_FOREST_TEMPLE_BOSS: + gSaveContext.entranceIndex = ENTR_FOREST_TEMPLE_0; + break; + case SCENE_FIRE_TEMPLE_BOSS: + gSaveContext.entranceIndex = ENTR_FIRE_TEMPLE_0; + break; + case SCENE_WATER_TEMPLE_BOSS: + gSaveContext.entranceIndex = ENTR_WATER_TEMPLE_0; + break; + case SCENE_SPIRIT_TEMPLE_BOSS: + gSaveContext.entranceIndex = ENTR_SPIRIT_TEMPLE_0; + break; + case SCENE_SHADOW_TEMPLE_BOSS: + gSaveContext.entranceIndex = ENTR_SHADOW_TEMPLE_0; + break; + case SCENE_GANONS_TOWER_COLLAPSE_INTERIOR: + case SCENE_INSIDE_GANONS_CASTLE_COLLAPSE: + case SCENE_GANONDORF_BOSS: + case SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR: + case SCENE_GANON_BOSS: + gSaveContext.entranceIndex = ENTR_GANONS_TOWER_0; + break; + + default: + // Use the saved entrance value with remember save location, except when in grottos/fairy fountains + if (CVarGetInteger("gRememberSaveLocation", 0) && gSaveContext.savedSceneNum != SCENE_FAIRYS_FOUNTAIN && + gSaveContext.savedSceneNum != SCENE_GROTTOS) { break; + } - default: - if (gSaveContext.savedSceneNum != SCENE_LINKS_HOUSE) { - gSaveContext.entranceIndex = (LINK_AGE_IN_YEARS == YEARS_CHILD) ? ENTR_LINKS_HOUSE_0 : ENTR_TEMPLE_OF_TIME_7; - } else { - gSaveContext.entranceIndex = ENTR_LINKS_HOUSE_0; - } - break; - } + if (gSaveContext.savedSceneNum != SCENE_LINKS_HOUSE) { + gSaveContext.entranceIndex = (LINK_AGE_IN_YEARS == YEARS_CHILD) ? ENTR_LINKS_HOUSE_0 : ENTR_TEMPLE_OF_TIME_7; + } else { + gSaveContext.entranceIndex = ENTR_LINKS_HOUSE_0; + } + break; } osSyncPrintf("scene_no = %d\n", gSaveContext.entranceIndex); |
