From d8a92706433ab5597c06ac5d5a12c7243135f1ad Mon Sep 17 00:00:00 2001 From: elijah-thomas774 Date: Sat, 27 Apr 2024 14:54:26 -0400 Subject: [PATCH] fixed TBoxFlageManager::CopyFromSave - sceneIdx is signed --- config/SOUE01/symbols.txt | 2 +- src/toBeSorted/misc_flag_managers.cpp | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index b0af2c9b..19eb19be 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -4106,7 +4106,7 @@ doCommit__15TBoxFlagManagerFv = .text:0x800BE810; // type:function size:0x58 checkUncommittedFlag__15TBoxFlagManagerFUs = .text:0x800BE870; // type:function size:0x68 __ct__15TBoxFlagManagerFv = .text:0x800BE8E0; // type:function size:0x40 init__15TBoxFlagManagerFv = .text:0x800BE920; // type:function size:0x4 -copyFromSave__15TBoxFlagManagerFUs = .text:0x800BE930; // type:function size:0x5C +copyFromSave__15TBoxFlagManagerFs = .text:0x800BE930; // type:function size:0x5C checkFlag__15TBoxFlagManagerFUsUs = .text:0x800BE990; // type:function size:0x94 getFlagCount__15TBoxFlagManagerCFv = .text:0x800BEA30; // type:function size:0x8 setFlag__15TBoxFlagManagerFUs = .text:0x800BEA40; // type:function size:0x80 diff --git a/src/toBeSorted/misc_flag_managers.cpp b/src/toBeSorted/misc_flag_managers.cpp index e908dd73..4abcd7f4 100644 --- a/src/toBeSorted/misc_flag_managers.cpp +++ b/src/toBeSorted/misc_flag_managers.cpp @@ -4,7 +4,6 @@ #include #include - class CommittableFlagManager { public: bool mNeedsCommit; @@ -47,7 +46,7 @@ public: TBoxFlagManager(); virtual ~TBoxFlagManager() {} void init(); - void copyFromSave(u16 sceneIndex); + void copyFromSave(s16 sceneIndex); bool checkFlag(u16 sceneIndex, u16 flag); virtual u16 getFlagCount() const; void setFlag(u16 flag); @@ -76,11 +75,11 @@ TBoxFlagManager::TBoxFlagManager() : CommittableFlagManager(false), mFlagSpace(s void TBoxFlagManager::init() {} -void TBoxFlagManager::copyFromSave(u16 sceneIndex) { - // mr should be a clrlwi - mSceneIndex = sceneIndex; +void TBoxFlagManager::copyFromSave(s16 sceneIndex) { + u16 idx = sceneIndex; + mSceneIndex = idx; u16 *flags = FileManager::getInstance()->getTBoxFlagsConst(); - mFlagSpace.copyFromSaveFile2(flags + (sceneIndex * 2), 0, 2); + mFlagSpace.copyFromSaveFile2(flags + (idx * 2), 0, 2); } bool TBoxFlagManager::checkFlag(u16 sceneIndex, u16 flag) { @@ -144,9 +143,8 @@ bool EnemyDefeatManager::checkUncommittedFlag(u16 flag) { } } -EnemyDefeatManager::EnemyDefeatManager() : CommittableFlagManager(false), mFlagSpace(sEnemyDefeatFlags, ARRAY_LENGTH(sEnemyDefeatFlags)) { - -} +EnemyDefeatManager::EnemyDefeatManager() + : CommittableFlagManager(false), mFlagSpace(sEnemyDefeatFlags, ARRAY_LENGTH(sEnemyDefeatFlags)) {} void EnemyDefeatManager::init() { mSceneIndex = 0;