summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xinclude/game.h3
-rw-r--r--src/boss.cpp13
2 files changed, 12 insertions, 4 deletions
diff --git a/include/game.h b/include/game.h
index 9e119d5..b7ef64d 100755
--- a/include/game.h
+++ b/include/game.h
@@ -2352,6 +2352,9 @@ class daPlBase_c : public dStageActor_c {
// Can't be assed to build full headers right now
u8 data[0xEA4 - 0x394];
dPlayerInput_c input;
+ // We're at 0x1008 now
+ u8 data2[0x1464 - 0x1008];
+ dStateWrapper_c<daPlBase_c> states2;
};
class dAcPy_c : public daPlBase_c {
diff --git a/src/boss.cpp b/src/boss.cpp
index d34ae9b..bf5e4c1 100644
--- a/src/boss.cpp
+++ b/src/boss.cpp
@@ -143,12 +143,17 @@ void BossExplode(daBoss *actor, Vec *pos) {
void PlayerVictoryCries(daBoss *actor) {
UpdateGameMgr();
nw4r::snd::SoundHandle handle1, handle2, handle3, handle4;
- if (GetSpecificPlayerActor(0) != 0)
+
+ dAcPy_c *players[4];
+ for (int i = 0; i < 4; i++)
+ players[i] = (dAcPy_c *)GetSpecificPlayerActor(i);
+
+ if (players[0] && strcmp(players[0]->states2.getCurrentState()->getName(), "dAcPy_c::StateID_Balloon"))
PlaySoundWithFunctionB4(SoundRelatedClass, &handle1, SE_VOC_MA_CLEAR_BOSS, 1);
- if (GetSpecificPlayerActor(1) != 0)
+ if (players[1] && strcmp(players[1]->states2.getCurrentState()->getName(), "dAcPy_c::StateID_Balloon"))
PlaySoundWithFunctionB4(SoundRelatedClass, &handle2, SE_VOC_LU_CLEAR_BOSS, 1);
- if (GetSpecificPlayerActor(2) != 0)
+ if (players[2] && strcmp(players[2]->states2.getCurrentState()->getName(), "dAcPy_c::StateID_Balloon"))
PlaySoundWithFunctionB4(SoundRelatedClass, &handle3, SE_VOC_KO_CLEAR_BOSS, 1);
- if (GetSpecificPlayerActor(3) != 0)
+ if (players[3] && strcmp(players[3]->states2.getCurrentState()->getName(), "dAcPy_c::StateID_Balloon"))
PlaySoundWithFunctionB4(SoundRelatedClass, &handle4, SE_VOC_KO2_CLEAR_BOSS, 1);
}