diff options
| author | Elijah Thomas <42302100+elijah-thomas774@users.noreply.github.com> | 2026-10-12 19:33:28 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-10-12 19:33:28 -0400 |
| commit | b846a9685be0de174e8a5be95dbe088f05bbf440 (patch) | |
| tree | ef794602f0860247562b247c7e4c82c752226324 /src | |
| parent | 3a93d428e870227349d77e8c860e230533a38f2f (diff) | |
| parent | 45df3e1df0fd3c8b7b1eea97965ad9810dc7427c (diff) | |
Merge pull request #352 from NhProGamer/d_t_defeat_boss
d_t_defeat_boss OK
Diffstat (limited to 'src')
| -rw-r--r-- | src/REL/d/t/d_t_defeat_boss.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/REL/d/t/d_t_defeat_boss.cpp b/src/REL/d/t/d_t_defeat_boss.cpp index 3ca33716..75fed69d 100644 --- a/src/REL/d/t/d_t_defeat_boss.cpp +++ b/src/REL/d/t/d_t_defeat_boss.cpp @@ -7,6 +7,10 @@ SPECIAL_ACTOR_PROFILE(TAG_DEFEAT_BOSS, dTgDefeatBoss_c, fProfile::TAG_DEFEAT_BOSS, 0x29E, 0, 0); +// Taking the index before the manager is needed for regalloc in checkDungeonFlag +static inline u16 getDungeonFlag(u32 idx, const DungeonflagManager *mgr) { + return mgr->getCounterOrFlag(idx, 8); +} void dTgDefeatBoss_c::getDungeonFlagIndex(u32 &outFlagIdx) { outFlagIdx = 0x3; @@ -15,7 +19,7 @@ void dTgDefeatBoss_c::getDungeonFlagIndex(u32 &outFlagIdx) { bool dTgDefeatBoss_c::checkDungeonFlag() { u32 dungeonFlagIdx; getDungeonFlagIndex(dungeonFlagIdx); - return DungeonflagManager::sInstance->getCounterOrFlag(dungeonFlagIdx, 8) != 0; + return getDungeonFlag(dungeonFlagIdx, DungeonflagManager::sInstance) != 0; } int dTgDefeatBoss_c::create() { @@ -40,7 +44,6 @@ int dTgDefeatBoss_c::create() { return SUCCEEDED; } - int dTgDefeatBoss_c::actorExecute() { if (checkDungeonFlag()) { switch (mSceneflagPolarity) { @@ -70,10 +73,8 @@ u16 dTgDefeatBoss_c::getSceneflag() { return mParams & 0xff; } - s32 dTgDefeatBoss_c::getSceneflagPolarity() { return mParams >> 0x8 & 0x1; - } u32 dTgDefeatBoss_c::getStoryflag() { @@ -81,8 +82,5 @@ u32 dTgDefeatBoss_c::getStoryflag() { } s32 dTgDefeatBoss_c::getStoryflagPolarity() { - return (mParams >> 0x19) & 0x1; - } - |
