This commit is contained in:
robojumper
2025-09-27 12:25:35 +02:00
parent cf47974f6a
commit 819dc7f5d5
4 changed files with 15 additions and 13 deletions
+5 -7
View File
@@ -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 {
+5 -5
View File
@@ -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() {