summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
authorGarrett Cox <garrettjcox@gmail.com>2024-03-06 04:12:02 +0000
committerGitHub <noreply@github.com>2024-03-06 04:12:02 +0000
commit8b3cfdb84f45598cf4edf6920f915ba77765f21b (patch)
tree7d3b56bda25bd20022fae320bc7adedcf475f14f /soh/src/code
parentef690e2ceb7bbc8698cda7e8a4646bb76d13a350 (diff)
parent7bd2a7c3a6a57e3048584ee1678dd5d7702d3c80 (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.c5
-rw-r--r--soh/src/code/z_sram.c117
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);