diff options
| author | Garrett Cox <garrettjcox@gmail.com> | 2024-03-06 04:12:02 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-06 04:12:02 +0000 |
| commit | 8b3cfdb84f45598cf4edf6920f915ba77765f21b (patch) | |
| tree | 7d3b56bda25bd20022fae320bc7adedcf475f14f /soh/src/code | |
| parent | ef690e2ceb7bbc8698cda7e8a4646bb76d13a350 (diff) | |
| parent | 7bd2a7c3a6a57e3048584ee1678dd5d7702d3c80 (diff) | |
Merge pull request #3986 from Archez/merge-macready-805
Merge MacReady 8.0.5 -> Develop
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 234972ff6..7938bad01 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" @@ -3072,7 +3073,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 7e122e373..90a7eacf7 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); |
