summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElijah Thomas <42302100+elijah-thomas774@users.noreply.github.com>2026-10-12 19:33:28 -0400
committerGitHub <noreply@github.com>2026-10-12 19:33:28 -0400
commitb846a9685be0de174e8a5be95dbe088f05bbf440 (patch)
treeef794602f0860247562b247c7e4c82c752226324 /src
parent3a93d428e870227349d77e8c860e230533a38f2f (diff)
parent45df3e1df0fd3c8b7b1eea97965ad9810dc7427c (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.cpp12
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;
-
}
-