diff options
-rwxr-xr-x | include/game.h | 3 | ||||
-rw-r--r-- | src/boss.cpp | 13 |
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); } |