summaryrefslogtreecommitdiff
path: root/mm/2s2h/DeveloperTools/SaveEditor.cpp
diff options
context:
space:
mode:
authorGarrett Cox <garrettjcox@gmail.com>2025-01-05 22:32:12 -0600
committerGarrett Cox <garrettjcox@gmail.com>2025-01-05 22:37:21 -0600
commit290b1bc09f8d89daaf5cbf65979626355d79d03f (patch)
tree392defe8833c9d67ec60f646e8de424789e2871d /mm/2s2h/DeveloperTools/SaveEditor.cpp
parentd287d0264713db82cffbd121236bc524d1c156a5 (diff)
Open clock tower rooftop when time is advanced
Diffstat (limited to 'mm/2s2h/DeveloperTools/SaveEditor.cpp')
-rw-r--r--mm/2s2h/DeveloperTools/SaveEditor.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/mm/2s2h/DeveloperTools/SaveEditor.cpp b/mm/2s2h/DeveloperTools/SaveEditor.cpp
index d3b4550ed..a6044c80a 100644
--- a/mm/2s2h/DeveloperTools/SaveEditor.cpp
+++ b/mm/2s2h/DeveloperTools/SaveEditor.cpp
@@ -17,6 +17,7 @@ extern "C" {
#include <variables.h>
#include <functions.h>
#include "overlays/actors/ovl_En_Test4/z_en_test4.h"
+#include "overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.h"
extern PlayState* gPlayState;
extern SaveContext gSaveContext;
@@ -34,6 +35,9 @@ void PlayerCall_Update(Actor* thisx, PlayState* play);
void PlayerCall_Draw(Actor* thisx, PlayState* play);
void TransitionFade_SetColor(void* thisx, u32 color);
+void ObjTokeiStep_SetupOpen(ObjTokeiStep* objTokeiStep);
+void ObjTokeiStep_DrawOpen(Actor* actor, PlayState* play);
+void ObjTokeiStep_DoNothing(ObjTokeiStep* objTokeiStep, PlayState* play);
void func_80A42198(EnTest4* thisx);
void func_80A425E4(EnTest4* thisx, PlayState* play);
}
@@ -219,6 +223,16 @@ void UpdateGameTime(u16 gameTime) {
gSaveContext.screenScale = 1000.0f;
gSaveContext.screenScaleFlag = false;
}
+
+ // Open the Clock Tower rooftop
+ if (((CURRENT_DAY == 3) && (gSaveContext.save.time < CLOCK_TIME(6, 0)))) {
+ ObjTokeiStep* objTokeiStep = (ObjTokeiStep*)Actor_FindNearby(gPlayState, &GET_PLAYER(gPlayState)->actor,
+ ACTOR_OBJ_TOKEI_STEP, ACTORCAT_BG, 99999.9f);
+ if (objTokeiStep != NULL && objTokeiStep->actionFunc == ObjTokeiStep_DoNothing) {
+ objTokeiStep->dyna.actor.draw = ObjTokeiStep_DrawOpen;
+ ObjTokeiStep_SetupOpen(objTokeiStep);
+ }
+ }
}
void DrawTempleClears() {