From 819dc7f5d5ddc9243bd25d1af0062d2c6461ebdd Mon Sep 17 00:00:00 2001 From: robojumper Date: Sat, 27 Sep 2025 12:25:35 +0200 Subject: [PATCH] Cleanup --- include/d/flag/storyflag_map.h | 2 +- include/d/lyt/d_lyt_save_mgr.h | 4 ++++ src/d/d_stage_mgr.cpp | 12 +++++------- src/d/lyt/d_lyt_save_mgr.cpp | 10 +++++----- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/include/d/flag/storyflag_map.h b/include/d/flag/storyflag_map.h index eb4e4203..7e6b6743 100644 --- a/include/d/flag/storyflag_map.h +++ b/include/d/flag/storyflag_map.h @@ -2472,7 +2472,7 @@ enum StoryFlags_e { /** [Skip last cutscene during credits (Groose appears in the Groosenator, re-enables groosenator to lanayru after * sky keep)] Story Flag #490 (0x01EA) - JP 805ACD93 0x01 / US 805A9B13 0x01 */ - STORYFLAG_490, + STORYFLAG_GAME_COMPLETE, /** [sets after finishing request for gorko at goddess wall (or S&Q) (unsets after getting new request)] * Story Flag #491 (0x01EB) - JP 805ACD93 0x02 / US 805A9B13 0x02 diff --git a/include/d/lyt/d_lyt_save_mgr.h b/include/d/lyt/d_lyt_save_mgr.h index c8c506c5..7cd09f54 100644 --- a/include/d/lyt/d_lyt_save_mgr.h +++ b/include/d/lyt/d_lyt_save_mgr.h @@ -48,6 +48,10 @@ public: ACTION_MAX, }; + bool isFinishedFadingIn() const { + return mIsFinishedFadingIn; + } + private: static dLytSaveMgr_c *sInstance; diff --git a/src/d/d_stage_mgr.cpp b/src/d/d_stage_mgr.cpp index acf55ae1..d2f2ce01 100644 --- a/src/d/d_stage_mgr.cpp +++ b/src/d/d_stage_mgr.cpp @@ -9,6 +9,7 @@ #include "d/d_stage_parse.h" #include "d/d_sys.h" #include "d/flag/flag_managers.h" +#include "d/lyt/d_lyt_save_mgr.h" #include "d/snd/d_snd_state_mgr.h" #include "f/f_base.h" #include "f/f_profile_name.h" @@ -229,21 +230,18 @@ void dStageMgr_c::finalizeState_ReadObjectSound() { dLast_c::setExecuteCallback(lastExecuteCallback); } -extern "C" void *LYT_SAVE_MGR; -extern "C" void fn_80285600(void *, int, int); void dStageMgr_c::initializeState_SceneChangeSave() { dScGame_c::GetInstance()->setSavePromptFlag(false); - if (LYT_SAVE_MGR != nullptr) { - fn_80285600(LYT_SAVE_MGR, 3, 0); + if (dLytSaveMgr_c::GetInstance() != nullptr) { + dLytSaveMgr_c::GetInstance()->setPrompt(dLytSaveMgr_c::PROMPT_SAVE_NORMAL, false); } dBase_c::s_NextExecuteControlFlags |= BASE_PROP_0x1; dSys_c::setFrameRate(2); } void dStageMgr_c::executeState_SceneChangeSave() { - if (LYT_SAVE_MGR != nullptr) { - // "isNotSaving???" - if (((u8 *)LYT_SAVE_MGR)[0x119C] == true) { + if (dLytSaveMgr_c::GetInstance() != nullptr) { + if (dLytSaveMgr_c::GetInstance()->isFinishedFadingIn() == true) { mStateMgr.changeState(StateID_RestartSceneWait); } } else { diff --git a/src/d/lyt/d_lyt_save_mgr.cpp b/src/d/lyt/d_lyt_save_mgr.cpp index 0fc1e975..1801e69a 100644 --- a/src/d/lyt/d_lyt_save_mgr.cpp +++ b/src/d/lyt/d_lyt_save_mgr.cpp @@ -89,7 +89,7 @@ void dLytSaveMgr_c::finalizeState_Init() {} void dLytSaveMgr_c::initializeState_FadeOut() { if (mSavePrompt == PROMPT_HERO_MODE) { - StoryflagManager::sInstance->setFlag(STORYFLAG_490); + StoryflagManager::sInstance->setFlag(STORYFLAG_GAME_COMPLETE); if (StoryflagManager::sInstance->getFlag(STORYFLAG_HERO_MODE)) { // Skip hero mode prompt if we were in hero mode mSavePrompt = PROMPT_HERO_MODE_CONFIRM; @@ -123,8 +123,8 @@ void dLytSaveMgr_c::executeState_FadeOut() { } if (mSavePrompt == PROMPT_SAVE_NORMAL) { - dBase_c::s_NextExecuteControlFlags |= 1; - dBase_c::s_DrawControlFlags |= 1; + dBase_c::s_NextExecuteControlFlags |= dBase_c::BASE_PROP_0x1; + dBase_c::s_DrawControlFlags |= dBase_c::BASE_PROP_0x1; } } void dLytSaveMgr_c::finalizeState_FadeOut() {} @@ -604,8 +604,8 @@ void dLytSaveMgr_c::finalizeState_Select() {} void dLytSaveMgr_c::initializeState_FadeIn() { mStep = 0; if (mSavePrompt == PROMPT_SAVE_NORMAL) { - dBase_c::s_NextExecuteControlFlags &= ~1; - dBase_c::s_DrawControlFlags &= ~1; + dBase_c::s_NextExecuteControlFlags &= ~dBase_c::BASE_PROP_0x1; + dBase_c::s_DrawControlFlags &= ~dBase_c::BASE_PROP_0x1; } } void dLytSaveMgr_c::executeState_FadeIn() {