diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2021-11-07 13:54:44 -0500 |
---|---|---|
committer | GriffinR <griffin.g.richards@gmail.com> | 2021-11-07 14:26:09 -0500 |
commit | c4169cfd290dcf7703b79debd66142b277af5613 (patch) | |
tree | 4142cd4e843d863532a2dfe81f82877b26d9cbb0 /src/battle_anim_sound_tasks.c | |
parent | 54b254a829d973345b0d282b7a4ffd7458a5c7da (diff) |
Disambiguate cry functions
Diffstat (limited to 'src/battle_anim_sound_tasks.c')
-rw-r--r-- | src/battle_anim_sound_tasks.c | 47 |
1 files changed, 29 insertions, 18 deletions
diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index 435c5dcdc..7180041b3 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -168,7 +168,7 @@ void SoundTask_PlayCryHighPitch(u8 taskId) } if (species != SPECIES_NONE) - PlayCry3(species, pan, CRY_MODE_HIGH_PITCH); + PlayCry_ByMode(species, pan, CRY_MODE_HIGH_PITCH); DestroyAnimVisualTask(taskId); } @@ -220,9 +220,9 @@ void SoundTask_PlayDoubleCry(u8 taskId) if (species != SPECIES_NONE) { if (gBattleAnimArgs[1] == DOUBLE_CRY_GROWL) - PlayCry3(species, pan, CRY_MODE_GROWL_1); + PlayCry_ByMode(species, pan, CRY_MODE_GROWL_1); else // DOUBLE_CRY_ROAR - PlayCry3(species, pan, CRY_MODE_ROAR_1); + PlayCry_ByMode(species, pan, CRY_MODE_ROAR_1); gTasks[taskId].func = SoundTask_PlayDoubleCry_Step; } @@ -247,7 +247,7 @@ static void SoundTask_PlayDoubleCry_Step(u8 taskId) { if (!IsCryPlaying()) { - PlayCry3(species, pan, CRY_MODE_GROWL_2); + PlayCry_ByMode(species, pan, CRY_MODE_GROWL_2); DestroyAnimVisualTask(taskId); } } @@ -255,7 +255,7 @@ static void SoundTask_PlayDoubleCry_Step(u8 taskId) { if (!IsCryPlaying()) { - PlayCry3(species, pan, CRY_MODE_ROAR_2); + PlayCry_ByMode(species, pan, CRY_MODE_ROAR_2); DestroyAnimVisualTask(taskId); } } @@ -275,12 +275,18 @@ void SoundTask_WaitForCry(u8 taskId) } } + +#define tSpecies data[1] +#define tPan data[2] +#define tState data[9] +#define tLastCry data[10] // If it's not the last cry, don't try to restore the BGM, because another is coming + void SoundTask_PlayCryWithEcho(u8 taskId) { u16 species; s8 pan; - gTasks[taskId].data[10] = gBattleAnimArgs[0]; + gTasks[taskId].tLastCry = gBattleAnimArgs[0]; pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER); if (IsContest()) @@ -288,8 +294,8 @@ void SoundTask_PlayCryWithEcho(u8 taskId) else species = gAnimBattlerSpecies[gBattleAnimAttacker]; - gTasks[taskId].data[1] = species; - gTasks[taskId].data[2] = pan; + gTasks[taskId].tSpecies = species; + gTasks[taskId].tPan = pan; if (species != SPECIES_NONE) gTasks[taskId].func = SoundTask_PlayCryWithEcho_Step; @@ -299,39 +305,44 @@ void SoundTask_PlayCryWithEcho(u8 taskId) static void SoundTask_PlayCryWithEcho_Step(u8 taskId) { - u16 species = gTasks[taskId].data[1]; - s8 pan = gTasks[taskId].data[2]; + u16 species = gTasks[taskId].tSpecies; + s8 pan = gTasks[taskId].tPan; // Note the cases are not in order of execution - switch (gTasks[taskId].data[9]) + switch (gTasks[taskId].tState) { case 2: - PlayCry6(species, pan, CRY_MODE_ECHO_END); - gTasks[taskId].data[9]++; + PlayCry_DuckNoRestore(species, pan, CRY_MODE_ECHO_END); + gTasks[taskId].tState++; break; case 1: case 3: case 4: - gTasks[taskId].data[9]++; + gTasks[taskId].tState++; break; case 5: if (IsCryPlaying()) break; case 0: StopCryAndClearCrySongs(); - gTasks[taskId].data[9]++; + gTasks[taskId].tState++; break; default: - if (gTasks[taskId].data[10] == 0) - PlayCry6(species, pan, CRY_MODE_ECHO_START); + if (!gTasks[taskId].tLastCry) + PlayCry_DuckNoRestore(species, pan, CRY_MODE_ECHO_START); else - PlayCry3(species, pan, CRY_MODE_ECHO_START); + PlayCry_ByMode(species, pan, CRY_MODE_ECHO_START); DestroyAnimVisualTask(taskId); break; } } +#undef tSpecies +#undef tPan +#undef tState +#undef tLastCry + void SoundTask_PlaySE1WithPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; |