summaryrefslogtreecommitdiff
path: root/src/bonusRoom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bonusRoom.cpp')
-rw-r--r--src/bonusRoom.cpp62
1 files changed, 32 insertions, 30 deletions
diff --git a/src/bonusRoom.cpp b/src/bonusRoom.cpp
index 2b0144d..c4a84cd 100644
--- a/src/bonusRoom.cpp
+++ b/src/bonusRoom.cpp
@@ -10,6 +10,8 @@ extern "C" void *PlaySoundAsync(dStageActor_c *, int soundID);
extern "C" void *StopBGMMusic();
extern "C" void *StartBGMMusic();
extern "C" dStageActor_c* GetSpecificPlayerActor(int number);
+extern "C" void *SoundRelatedClass;
+extern "C" void *MapSoundPlayer(void *SoundClass, int soundID, int unk);
int Songs[16][4][16][3] = {
@@ -159,8 +161,8 @@ const char* Prizes[10][4] = {
{ "I_penguin", "g3d/I_penguin.brres", "I_penguin", "wait2" },
{ "I_propeller", "g3d/I_propeller_model.brres", "I_propeller_model", "wait2" },
{ "I_kinoko_bundle","g3d/I_mini_kinoko.brres", "I_mini_kinoko", "wait2" },
- { "I_hammer", "g3d/I_hammer.brres", "I_hammer", "wait2" },
{ "I_star", "g3d/I_star.brres", "I_star", "wait2" },
+ { "I_hammer", "g3d/I_fireflower.brres", "I_hammer", "wait2" },
{ "I_kinoko_bundle","g3d/I_life_kinoko.brres", "I_life_kinoko", "wait2" },
{ "obj_coin", "g3d/obj_coin.brres", "obj_coin", "wait2" }
};
@@ -199,30 +201,30 @@ int PrizePacks[16][4] = { // Numbers list prizes for each level
};
int Notes[24] = {
- SE_EMY_PATAMET_STEP,
- SE_EMY_PATAMET_STEP_2,
- SE_EMY_PATAMET_STEP_3,
- SE_EMY_PATAMET_STEP_4,
- SE_EMY_PATAMET_STEP_5,
- SE_EMY_PATAMET_STEP_6,
- SE_EMY_PATAMET_STEP_7,
- SE_EMY_PATAMET_STEP_8,
- SE_EMY_PATAMET_STEP,
- SE_EMY_PATAMET_STEP_2,
- SE_EMY_PATAMET_STEP_3,
- SE_EMY_PATAMET_STEP_4,
- SE_EMY_PATAMET_STEP_5,
- SE_EMY_PATAMET_STEP_6,
- SE_EMY_PATAMET_STEP_7,
- SE_EMY_PATAMET_STEP_8,
- SE_EMY_PATAMET_STEP,
- SE_EMY_PATAMET_STEP_2,
- SE_EMY_PATAMET_STEP_3,
- SE_EMY_PATAMET_STEP_4,
- SE_EMY_PATAMET_STEP_5,
- SE_EMY_PATAMET_STEP_6,
- SE_EMY_PATAMET_STEP_7,
- SE_EMY_PATAMET_STEP_8,
+ STRM_BGM_HIKOUSEN_ROUKA, // C
+ STRM_BGM_HIKOUSEN_ROUKA_FAST,
+ STRM_BGM_LAST_BOSS_FAST, // D
+ STRM_BGM_LAST_BOSS,
+ STRM_BGM_ROAD_TO_LAST_FAST, // E
+ STRM_BGM_ROAD_TO_LAST, // F
+ STRM_BGM_LAST_CASTLE_APPEAR,
+ STRM_BGM_SELECT_W5, // G
+ STRM_BGM_SELECT_W7,
+ STRM_BGM_HIKOUSEN, // A
+ STRM_BGM_HIKOUSEN_BOSS_FAST,
+ STRM_BGM_HIKOUSEN_FAST, // B
+ STRM_BGM_OBAKE, // C
+ STRM_BGM_SHIRO_FAST,
+ STRM_BGM_SHIRO, // D
+ STRM_BGM_WATER_FAST,
+ STRM_BGM_WATER, // E
+ STRM_BGM_TORIDE_BOSS_FAST, // F
+ STRM_BGM_TORIDE_BOSS,
+ STRM_BGM_DEMO_ED, // G
+ STRM_BGM_DEMO_OP,
+ STRM_BGM_SELECT_W8, // A
+ STRM_BGM_MG_BTL,
+ STRM_BGM_OBAKE_FAST, // B
};
@@ -524,10 +526,10 @@ int dSingAlong::onCreate() {
OSReport("Creating the Sing Along gang.");
// Load in the settings
this->song = this->settings & 0xF;
- this->prize[0] = (this->settings >> 16) & 0xF;
- this->prize[1] = (this->settings >> 20) & 0xF;
- this->prize[2] = (this->settings >> 24) & 0xF;
- this->prize[3] = (this->settings >> 28) & 0xF;
+ this->prize[0] = (this->settings >> 28) & 0xF;
+ this->prize[1] = (this->settings >> 24) & 0xF;
+ this->prize[2] = (this->settings >> 20) & 0xF;
+ this->prize[3] = (this->settings >> 16) & 0xF;
this->chorus = -1;
this->currentNote = 0;
@@ -588,7 +590,7 @@ void dSingAlong::RegisterNote(int note) {
OSReport("State was checked");
if (note == Songs[song][chorus][currentNote][0]) {
- PlaySoundAsync(this, Notes[Songs[song][chorus][currentNote][1]-1]);
+ MapSoundPlayer(SoundRelatedClass, Notes[Songs[song][chorus][currentNote][1]-1], 1);
OSReport("Note was correct");
currentNote += 1;
}