mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-03-21 17:55:13 -05:00
WIP document pokemon cries
This commit is contained in:
parent
864dab53ad
commit
b333660cd6
|
|
@ -55,7 +55,7 @@ u8 Sound_IsBGMFixed(void);
|
|||
void Sound_SetCurrentBGM(u16 bgmID);
|
||||
u16 Sound_GetCurrentBGM();
|
||||
void Sound_SetNextBGM(u16 bgmID);
|
||||
u16 Sound_GetNextBGM();
|
||||
u16 Sound_GetNextBGM(void);
|
||||
void Sound_SetFieldBGM(u16 bgmID);
|
||||
void Sound_SetScene(u8 scene);
|
||||
void Sound_SetSubScene(u8 scene);
|
||||
|
|
@ -99,9 +99,9 @@ void Sound_SetReverbVolume(int param0, int param1);
|
|||
BOOL sub_02004EFC(void);
|
||||
void sub_02004F44(void);
|
||||
void sub_02004F4C(int param0);
|
||||
void sub_02004F68(int param0, u16 param1, int param2);
|
||||
void Sound_SetPitchForHandle(enum SoundHandleType param0, u16 param1, int param2);
|
||||
void sub_02004F7C(u16 param0, u16 param1, int param2);
|
||||
void sub_02004F94(int param0, u16 param1, int param2);
|
||||
void Sound_SetPanForHandle(enum SoundHandleType param0, u16 param1, int param2);
|
||||
void sub_02004FA8(int param0, int param1);
|
||||
void Sound_SetPlaybackMode(BOOL param0);
|
||||
void Sound_SetFadeCounter(int frames);
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ enum SoundHandleType {
|
|||
SOUND_HANDLE_TYPE_SFX_3,
|
||||
SOUND_HANDLE_TYPE_SFX_4,
|
||||
SOUND_HANDLE_TYPE_BGM,
|
||||
// Unknown (8)
|
||||
SOUND_HANDLE_TYPE_ECHO,
|
||||
|
||||
SOUND_HANDLE_TYPE_COUNT = 9
|
||||
};
|
||||
|
|
@ -59,8 +59,7 @@ enum SoundSystemParam {
|
|||
SOUND_SYSTEM_PARAM_FADE_COUNTER = 7, // A counter used to track how many frames are left in a fade operation
|
||||
SOUND_SYSTEM_PARAM_FOLLOW_UP_WAIT_FRAMES, // Keeps track of how many frames are let until the next BGM is played
|
||||
SOUND_SYSTEM_PARAM_FOLLOW_UP_FADE_FRAMES, // Keeps track of how many frames the next BGM should be faded in for
|
||||
|
||||
SOUND_SYSTEM_PARAM_CURRENT_BGM = 10, // The current BGM ID
|
||||
SOUND_SYSTEM_PARAM_CURRENT_BGM, // The current BGM ID
|
||||
SOUND_SYSTEM_PARAM_NEXT_BGM, // The next BGM ID
|
||||
SOUND_SYSTEM_PARAM_FIELD_BGM_PAUSED, // Whether field BGM is paused
|
||||
SOUND_SYSTEM_PARAM_BGM_PAUSED, // Whether non-field BGM is paused
|
||||
|
|
@ -68,8 +67,8 @@ enum SoundSystemParam {
|
|||
SOUND_SYSTEM_PARAM_WAVE_OUT_REVERSED_PLAYBACK, // Whether reversed waveform playback is enabled
|
||||
SOUND_SYSTEM_PARAM_WAVE_OUT_PRIMARY_ALLOCATED, // Whether the primary waveform channel is currently allocated
|
||||
SOUND_SYSTEM_PARAM_WAVE_OUT_SECONDARY_ALLOCATED, // Whether the secondary waveform channel is currently allocated
|
||||
|
||||
SOUND_SYSTEM_PARAM_FIELD_BGM_BANK_STATE = 19, // Whether the field BGM bank needs to be swapped or not. See FIELD_BGM_BANK_STATE_*
|
||||
SOUND_SYSTEM_PARAM_ECHO_ENABLED, // Whether pokemon cry echo is enabled
|
||||
SOUND_SYSTEM_PARAM_FIELD_BGM_BANK_STATE, // Whether the field BGM bank needs to be swapped or not. See FIELD_BGM_BANK_STATE_*
|
||||
|
||||
// A sound scene refers to a specific set of sound data and
|
||||
// parameters. They're an easy way to switch the sound system
|
||||
|
|
@ -120,7 +119,7 @@ typedef struct SoundSystem {
|
|||
u8 waveOutReversedPlayback;
|
||||
u8 waveOutPrimaryAllocated;
|
||||
u8 waveOutSecondaryAllocated;
|
||||
u8 unk_BCD63;
|
||||
u8 echoEnabled;
|
||||
u8 fieldBGMBankState;
|
||||
u8 unk_BCD65;
|
||||
u8 mainScene;
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@
|
|||
#include "constants/sound.h"
|
||||
#include "sound_system.h"
|
||||
|
||||
#include "generated/sdat.h"
|
||||
|
||||
#define SOUND_EFFECT_TRACK(TRACK) (1 << (TRACK))
|
||||
#define SOUND_EFFECT_TRACK_ALL 0xFFFF
|
||||
|
||||
|
|
@ -34,7 +32,7 @@ BOOL Sound_IsEffectPlaying(u16 seqID);
|
|||
BOOL Sound_IsAnyEffectPlaying();
|
||||
|
||||
// Pans the given sound effect sequence either to the left (pan < 0) or to the right (pan > 0)
|
||||
// tracks is for example (SOUND_EFFECT_TRACK(10) | SOUND_EFFECT_TRACK(2)) or SOUND_EFFECT_TRACK_ALL
|
||||
// tracks is for example (SOUND_PLAYBACK_TRACK(10) | SOUND_PLAYBACK_TRACK(2)) or SOUND_PLAYBACK_TRACK_ALL
|
||||
void Sound_PanEffect(u16 seqID, u16 tracks, int pan);
|
||||
void Sound_PanAllEffects(int pan);
|
||||
BOOL Sound_PlayPokemonCry(u16 species, u8 form);
|
||||
|
|
|
|||
|
|
@ -881,7 +881,7 @@ static BOOL ov12_0222040C(UnkStruct_ov12_02220314 *param0)
|
|||
param0->unk_18--;
|
||||
|
||||
Sound_PlayEffect(param0->unk_1A);
|
||||
Sound_PanEffect(param0->unk_1A, SOUND_EFFECT_TRACK_ALL, param0->unk_14);
|
||||
Sound_PanEffect(param0->unk_1A, SOUND_PLAYBACK_TRACK_ALL, param0->unk_14);
|
||||
|
||||
if (param0->unk_18 == 0) {
|
||||
v0 = 0;
|
||||
|
|
@ -896,7 +896,7 @@ static BOOL ov12_0222044C(UnkStruct_ov12_02220314 *param0)
|
|||
|
||||
if ((param0->unk_03--) == 0) {
|
||||
Sound_PlayEffect(param0->unk_1A);
|
||||
Sound_PanEffect(param0->unk_1A, SOUND_EFFECT_TRACK_ALL, param0->unk_14);
|
||||
Sound_PanEffect(param0->unk_1A, SOUND_PLAYBACK_TRACK_ALL, param0->unk_14);
|
||||
|
||||
v0 = 0;
|
||||
}
|
||||
|
|
@ -3302,7 +3302,7 @@ static void ov12_02222984(UnkStruct_ov12_0221FCDC *param0)
|
|||
v1 = ov12_0222317C(param0, v1);
|
||||
|
||||
Sound_PlayEffect(v0);
|
||||
Sound_PanEffect(v0, SOUND_EFFECT_TRACK_ALL, v1);
|
||||
Sound_PanEffect(v0, SOUND_PLAYBACK_TRACK_ALL, v1);
|
||||
}
|
||||
|
||||
static void ov12_022229BC(UnkStruct_ov12_0221FCDC *param0)
|
||||
|
|
@ -3348,7 +3348,7 @@ static void ov12_022229D8(UnkStruct_ov12_0221FCDC *param0)
|
|||
v0->unk_10 = ov12_02223234(v0->unk_08, v0->unk_0C, v0->unk_10);
|
||||
|
||||
Sound_PlayEffect(v0->unk_1A);
|
||||
Sound_PanEffect(v0->unk_1A, SOUND_EFFECT_TRACK_ALL, v0->unk_08);
|
||||
Sound_PanEffect(v0->unk_1A, SOUND_PLAYBACK_TRACK_ALL, v0->unk_08);
|
||||
|
||||
ov12_02220344(param0, v0);
|
||||
}
|
||||
|
|
@ -3379,7 +3379,7 @@ static void ov12_02222A78(UnkStruct_ov12_0221FCDC *param0)
|
|||
param0->unk_18 += 1;
|
||||
|
||||
Sound_PlayEffect(v0->unk_1A);
|
||||
Sound_PanEffect(v0->unk_1A, SOUND_EFFECT_TRACK_ALL, v0->unk_08);
|
||||
Sound_PanEffect(v0->unk_1A, SOUND_PLAYBACK_TRACK_ALL, v0->unk_08);
|
||||
|
||||
ov12_02220344(param0, v0);
|
||||
}
|
||||
|
|
@ -3414,7 +3414,7 @@ static void ov12_02222AF0(UnkStruct_ov12_0221FCDC *param0)
|
|||
v0->unk_10 = ov12_0222317C(param0, v0->unk_10);
|
||||
|
||||
Sound_PlayEffect(v0->unk_1A);
|
||||
Sound_PanEffect(v0->unk_1A, SOUND_EFFECT_TRACK_ALL, v0->unk_08);
|
||||
Sound_PanEffect(v0->unk_1A, SOUND_PLAYBACK_TRACK_ALL, v0->unk_08);
|
||||
|
||||
ov12_02220344(param0, v0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1347,7 +1347,7 @@ static void ov21_021E5F00(UnkStruct_ov21_021E51DC *param0)
|
|||
{
|
||||
if (param0->unk_2C) {
|
||||
ov21_021E5FF4(param0->unk_3C);
|
||||
sub_02004F94(1, 0xffff, param0->unk_40);
|
||||
Sound_SetPanForHandle(1, 0xffff, param0->unk_40);
|
||||
ov21_021E5F28(param0->unk_44);
|
||||
}
|
||||
}
|
||||
|
|
@ -1412,6 +1412,6 @@ static void ov21_021E5FD0(UnkStruct_ov21_021E4DA4 *param0, const UnkStruct_ov21_
|
|||
|
||||
static void ov21_021E5FF4(int param0)
|
||||
{
|
||||
sub_02004F68(1, 0xffff, param0);
|
||||
sub_02004F68(8, 0xffff, 20 + param0);
|
||||
Sound_SetPitchForHandle(1, 0xffff, param0);
|
||||
Sound_SetPitchForHandle(8, 0xffff, 20 + param0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ static void ov71_0223D470(int param0, const int param1, const u8 param2)
|
|||
int v0 = 152 * (4 - param2);
|
||||
|
||||
Sound_PlaySequenceWithPlayer((3 + param0), (3 + param0), 1684);
|
||||
sub_02004F68((3 + param0), 0xffff, (Unk_ov71_0223D77C[param1] - v0));
|
||||
Sound_SetPitchForHandle((3 + param0), 0xffff, (Unk_ov71_0223D77C[param1] - v0));
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
14
src/sound.c
14
src/sound.c
|
|
@ -43,9 +43,9 @@ BOOL sub_02004EFC(void);
|
|||
void sub_02004F44(void);
|
||||
void sub_02004F4C(int param0);
|
||||
void sub_020052C8(void *param0, void *param1, u32 param2, NNSSndCaptureFormat param3, void *param4);
|
||||
void sub_02004F68(int param0, u16 param1, int param2);
|
||||
void Sound_SetPitchForHandle(enum SoundHandleType param0, u16 param1, int param2);
|
||||
void sub_02004F7C(u16 param0, u16 param1, int param2);
|
||||
void sub_02004F94(int param0, u16 param1, int param2);
|
||||
void Sound_SetPanForHandle(enum SoundHandleType param0, u16 param1, int param2);
|
||||
void sub_02004FA8(int param0, int param1);
|
||||
void Sound_SetMasterVolume(int param0);
|
||||
void *sub_02005014(void);
|
||||
|
|
@ -1022,10 +1022,9 @@ void sub_02004F4C(int param0)
|
|||
return;
|
||||
}
|
||||
|
||||
void sub_02004F68(int param0, u16 param1, int pitch)
|
||||
void Sound_SetPitchForHandle(enum SoundHandleType handleType, u16 tracks, int pitch)
|
||||
{
|
||||
NNS_SndPlayerSetTrackPitch(SoundSystem_GetSoundHandle(param0), param1, pitch);
|
||||
return;
|
||||
NNS_SndPlayerSetTrackPitch(SoundSystem_GetSoundHandle(handleType), tracks, pitch);
|
||||
}
|
||||
|
||||
void sub_02004F7C(u16 param0, u16 param1, int param2)
|
||||
|
|
@ -1033,14 +1032,13 @@ void sub_02004F7C(u16 param0, u16 param1, int param2)
|
|||
u8 v0 = Sound_GetPlayerForSequence(param0);
|
||||
int v1 = SoundSystem_GetSoundHandleTypeFromPlayerID(v0);
|
||||
|
||||
sub_02004F68(v1, param1, param2);
|
||||
Sound_SetPitchForHandle(v1, param1, param2);
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_02004F94(int param0, u16 param1, int param2)
|
||||
void Sound_SetPanForHandle(enum SoundHandleType param0, u16 param1, int param2)
|
||||
{
|
||||
NNS_SndPlayerSetTrackPan(SoundSystem_GetSoundHandle(param0), param1, param2);
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_02004FA8(int param0, int param1)
|
||||
|
|
|
|||
|
|
@ -190,8 +190,8 @@ void *SoundSystem_GetParam(enum SoundSystemParam param)
|
|||
return &soundSys->waveOutPrimaryAllocated;
|
||||
case SOUND_SYSTEM_PARAM_WAVE_OUT_SECONDARY_ALLOCATED:
|
||||
return &soundSys->waveOutSecondaryAllocated;
|
||||
case 18:
|
||||
return &soundSys->unk_BCD63;
|
||||
case SOUND_SYSTEM_PARAM_ECHO_ENABLED:
|
||||
return &soundSys->echoEnabled;
|
||||
case SOUND_SYSTEM_PARAM_FIELD_BGM_BANK_STATE:
|
||||
return &soundSys->fieldBGMBankState;
|
||||
case 20:
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ static BOOL Sound_Impl_PlayFieldBGM(u16 seqID, u8 playerID, enum SoundHandleType
|
|||
BOOL sub_02005588(u8 param0, u16 param1);
|
||||
static void Sound_Impl_ResetBGM(void);
|
||||
void Sound_StopAll(void);
|
||||
static void sub_02005E4C(u16 param0, int param1, int param2);
|
||||
static void Sound_Impl_SetPokemonCryVolume(u16 param0, enum SoundHandleType param1, int param2);
|
||||
void Sound_StopPokemonCries(int param0);
|
||||
int sub_0200598C(void);
|
||||
void sub_02005E64(int param0, int heapID);
|
||||
|
|
@ -39,8 +39,8 @@ static void sub_02005EB0(SysTask *param0, void *param1);
|
|||
void sub_02005F24(void);
|
||||
static BOOL Sound_Impl_IsShayminSkyForm(u16 species, u8 form);
|
||||
void sub_0200605C(void);
|
||||
static BOOL sub_020060EC(u16 species, s8 pitch, u8 form);
|
||||
static BOOL sub_02006120(u16 param0, s8 param1, int param2, int param3, int heapID);
|
||||
static BOOL Sound_Impl_PlayPokemonCryEcho(u16 species, s8 pitch, u8 form);
|
||||
static BOOL Sound_PlayPokemonCryReversedEcho(u16 param0, s8 param1, int param2, int param3, int heapID);
|
||||
BOOL Sound_PlayFanfare(u16 param0);
|
||||
BOOL Sound_UpdateFanfareDelay(void);
|
||||
static void Sound_Impl_StopFanfare(int param0);
|
||||
|
|
@ -257,7 +257,7 @@ void Sound_StopAll(void)
|
|||
BOOL Sound_PlayPannedEffect(u16 seqID, int pan)
|
||||
{
|
||||
int result = Sound_PlayEffect(seqID);
|
||||
Sound_PanEffect(seqID, SOUND_EFFECT_TRACK_ALL, pan);
|
||||
Sound_PanEffect(seqID, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
@ -326,7 +326,7 @@ void Sound_PanAllEffects(int pan)
|
|||
enum SoundHandleType handleType = SoundSystem_GetSoundHandleTypeFromPlayerID(PLAYER_SE_1);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
NNS_SndPlayerSetTrackPan(SoundSystem_GetSoundHandle(handleType + i), SOUND_EFFECT_TRACK_ALL, pan);
|
||||
NNS_SndPlayerSetTrackPan(SoundSystem_GetSoundHandle(handleType + i), SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -423,53 +423,52 @@ int sub_0200598C(void)
|
|||
return Sound_GetNumberOfPlayingSequencesForPlayer(0);
|
||||
}
|
||||
|
||||
BOOL Sound_PlayPokemonCryEx(enum PokemonCryMod cryMod, u16 species, int param2, int volume, int heapID, u8 form)
|
||||
BOOL Sound_PlayPokemonCryEx(enum PokemonCryMod cryMod, u16 species, int pan, int volume, int heapID, u8 form)
|
||||
{
|
||||
int v0, v1;
|
||||
int waveOutPan, echoVolume;
|
||||
u16 v3;
|
||||
int v4, v5, v6, v7;
|
||||
u8 *v8 = SoundSystem_GetParam(16);
|
||||
u8 *v9 = SoundSystem_GetParam(17);
|
||||
u8 *v10 = SoundSystem_GetParam(18);
|
||||
BOOL result1, v5, result3, v7;
|
||||
u8 *wavePrimaryAllocated = SoundSystem_GetParam(SOUND_SYSTEM_PARAM_WAVE_OUT_PRIMARY_ALLOCATED);
|
||||
u8 *waveSecondaryAllocated = SoundSystem_GetParam(SOUND_SYSTEM_PARAM_WAVE_OUT_SECONDARY_ALLOCATED);
|
||||
u8 *echoEnabled = SoundSystem_GetParam(SOUND_SYSTEM_PARAM_ECHO_ENABLED);
|
||||
u8 *v11 = SoundSystem_GetParam(30);
|
||||
ChatotCry **v12 = SoundSystem_GetParam(SOUND_SYSTEM_PARAM_CHATOT_CRY);
|
||||
|
||||
v4 = 0;
|
||||
result1 = 0;
|
||||
v5 = 0;
|
||||
v6 = 0;
|
||||
result3 = 0;
|
||||
v7 = 0;
|
||||
|
||||
if (Sound_Impl_IsShayminSkyForm(species, form) == 1) {
|
||||
species = SPECIES_EGG;
|
||||
if (Sound_Impl_IsShayminSkyForm(species, form) == TRUE) {
|
||||
species = WAVE_ARC_PV516_SKY;
|
||||
}
|
||||
|
||||
if (species != SPECIES_EGG) {
|
||||
if (species != WAVE_ARC_PV516_SKY) {
|
||||
if ((species > MAX_SPECIES) || (species == SPECIES_NONE)) {
|
||||
species = SPECIES_BULBASAUR;
|
||||
}
|
||||
}
|
||||
|
||||
if (param2 < 0) {
|
||||
v0 = WAVE_OUT_PAN_CENTER + (param2 / 2);
|
||||
if (pan < 0) {
|
||||
waveOutPan = WAVE_OUT_PAN_CENTER + (pan / 2);
|
||||
} else {
|
||||
v0 = WAVE_OUT_PAN_CENTER + (param2 / 2);
|
||||
waveOutPan = WAVE_OUT_PAN_CENTER + (pan / 2);
|
||||
}
|
||||
|
||||
v1 = volume - 30;
|
||||
|
||||
if (v1 <= 0) {
|
||||
v1 = 1;
|
||||
echoVolume = volume - 30;
|
||||
if (echoVolume <= 0) {
|
||||
echoVolume = 1;
|
||||
}
|
||||
|
||||
v3 = 0;
|
||||
*v10 = 0;
|
||||
*echoEnabled = FALSE;
|
||||
|
||||
if (*v8 == 1) {
|
||||
if (*wavePrimaryAllocated == TRUE) {
|
||||
Sound_StopWaveOutReversed(WAVE_OUT_CHANNEL_PRIMARY);
|
||||
Sound_FreeWaveOutChannel(WAVE_OUT_CHANNEL_PRIMARY);
|
||||
}
|
||||
|
||||
if (*v9 == 1) {
|
||||
if (*waveSecondaryAllocated == TRUE) {
|
||||
Sound_StopWaveOutReversed(WAVE_OUT_CHANNEL_SECONDARY);
|
||||
Sound_FreeWaveOutChannel(WAVE_OUT_CHANNEL_SECONDARY);
|
||||
}
|
||||
|
|
@ -485,19 +484,19 @@ BOOL Sound_PlayPokemonCryEx(enum PokemonCryMod cryMod, u16 species, int param2,
|
|||
Sound_PlayPokemonCry(SPECIES_CHATOT, form);
|
||||
|
||||
if (*v11 == 0) {
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
Sound_SetPanForHandle(SOUND_HANDLE_TYPE_POKEMON_CRY, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, SOUND_HANDLE_TYPE_POKEMON_CRY, volume);
|
||||
} else {
|
||||
if (*v8 == 1) {
|
||||
Sound_SetWaveOutPan(WAVE_OUT_CHANNEL_PRIMARY, v0);
|
||||
if (*wavePrimaryAllocated == TRUE) {
|
||||
Sound_SetWaveOutPan(WAVE_OUT_CHANNEL_PRIMARY, waveOutPan);
|
||||
Sound_SetWaveOutVolume(WAVE_OUT_CHANNEL_PRIMARY, volume);
|
||||
} else {
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
Sound_SetPanForHandle(SOUND_HANDLE_TYPE_POKEMON_CRY, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, SOUND_HANDLE_TYPE_POKEMON_CRY, volume);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
default:
|
||||
Sound_FlagDefaultChatotCry(TRUE);
|
||||
break;
|
||||
|
|
@ -506,121 +505,119 @@ BOOL Sound_PlayPokemonCryEx(enum PokemonCryMod cryMod, u16 species, int param2,
|
|||
|
||||
switch (cryMod) {
|
||||
case POKECRY_NORMAL:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(1, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, SOUND_HANDLE_TYPE_POKEMON_CRY, volume);
|
||||
break;
|
||||
case POKECRY_HALF_DURATION:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(1, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, SOUND_HANDLE_TYPE_POKEMON_CRY, volume);
|
||||
sub_02005E64(20, heapID);
|
||||
break;
|
||||
case POKECRY_FIELD_EVENT:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
sub_02004F68(1, 0xffff, 64);
|
||||
v6 = sub_020060EC(species, 20, form);
|
||||
sub_02004F94(8, 0xffff, param2);
|
||||
sub_02005E4C(species, 8, v1);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(SOUND_HANDLE_TYPE_POKEMON_CRY, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, SOUND_HANDLE_TYPE_POKEMON_CRY, volume);
|
||||
Sound_SetPitchForHandle(SOUND_HANDLE_TYPE_POKEMON_CRY, SOUND_PLAYBACK_TRACK_ALL, 64);
|
||||
result3 = Sound_Impl_PlayPokemonCryEcho(species, 20, form);
|
||||
Sound_SetPanForHandle(SOUND_HANDLE_TYPE_ECHO, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, SOUND_HANDLE_TYPE_ECHO, echoVolume);
|
||||
break;
|
||||
case POKECRY_MID_MOVE:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(1, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 1, volume);
|
||||
sub_02005E64(30, heapID);
|
||||
sub_02004F68(1, 0xffff, 192);
|
||||
v6 = sub_020060EC(species, 16, form);
|
||||
sub_02004F94(8, 0xffff, param2);
|
||||
sub_02005E4C(species, 8, v1);
|
||||
Sound_SetPitchForHandle(1, SOUND_PLAYBACK_TRACK_ALL, 192);
|
||||
result3 = Sound_Impl_PlayPokemonCryEcho(species, 16, form);
|
||||
Sound_SetPanForHandle(8, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 8, echoVolume);
|
||||
break;
|
||||
case POKECRY_HYPERVOICE_1:
|
||||
v5 = Sound_AllocateWaveOutChannel(WAVE_OUT_CHANNEL_PRIMARY);
|
||||
v5 = Sound_PlayWaveOutReversed(species, volume, v0, WAVE_OUT_CHANNEL_PRIMARY, heapID);
|
||||
Sound_SetWaveOutPan(WAVE_OUT_CHANNEL_PRIMARY, v0);
|
||||
v5 = Sound_PlayWaveOutReversed(species, volume, waveOutPan, WAVE_OUT_CHANNEL_PRIMARY, heapID);
|
||||
Sound_SetWaveOutPan(WAVE_OUT_CHANNEL_PRIMARY, waveOutPan);
|
||||
sub_02005E64(15, heapID);
|
||||
Sound_SetWaveOutSpeed(WAVE_OUT_CHANNEL_PRIMARY, WAVE_OUT_SPEED_HYPERVOICE_1);
|
||||
v7 = sub_02006120(species, -64, v1, v0, heapID);
|
||||
v7 = Sound_PlayPokemonCryReversedEcho(species, -64, echoVolume, waveOutPan, heapID);
|
||||
Sound_SetWaveOutSpeed(WAVE_OUT_CHANNEL_SECONDARY, WAVE_OUT_SPEED_HYPERVOICE_1);
|
||||
break;
|
||||
case POKECRY_FAINT:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
sub_02004F68(1, 0xffff, -224);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(1, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 1, volume);
|
||||
Sound_SetPitchForHandle(1, SOUND_PLAYBACK_TRACK_ALL, -224);
|
||||
break;
|
||||
case POKECRY_HYPERVOICE_2:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
sub_02004F68(1, 0xffff, 44);
|
||||
v6 = sub_020060EC(species, -64, form);
|
||||
sub_02004F94(8, 0xffff, param2);
|
||||
sub_02005E4C(species, 8, v1);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(1, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 1, volume);
|
||||
Sound_SetPitchForHandle(1, SOUND_PLAYBACK_TRACK_ALL, 44);
|
||||
result3 = Sound_Impl_PlayPokemonCryEcho(species, -64, form);
|
||||
Sound_SetPanForHandle(8, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 8, echoVolume);
|
||||
break;
|
||||
case POKECRY_HOWL_1:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(1, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 1, volume);
|
||||
sub_02005E64(11, heapID);
|
||||
sub_02004F68(1, 0xffff, -128);
|
||||
Sound_SetPitchForHandle(1, SOUND_PLAYBACK_TRACK_ALL, -128);
|
||||
break;
|
||||
case POKECRY_HOWL_2:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(1, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 1, volume);
|
||||
sub_02005E64(60, heapID);
|
||||
sub_02004F68(1, 0xffff, 60);
|
||||
Sound_SetPitchForHandle(1, SOUND_PLAYBACK_TRACK_ALL, 60);
|
||||
break;
|
||||
case POKECRY_UPROAR_1:
|
||||
v5 = Sound_AllocateWaveOutChannel(WAVE_OUT_CHANNEL_PRIMARY);
|
||||
v5 = Sound_PlayWaveOutReversed(species, volume, v0, WAVE_OUT_CHANNEL_PRIMARY, heapID);
|
||||
Sound_SetWaveOutPan(WAVE_OUT_CHANNEL_PRIMARY, v0);
|
||||
v5 = Sound_PlayWaveOutReversed(species, volume, waveOutPan, WAVE_OUT_CHANNEL_PRIMARY, heapID);
|
||||
Sound_SetWaveOutPan(WAVE_OUT_CHANNEL_PRIMARY, waveOutPan);
|
||||
sub_02005E64(13, heapID);
|
||||
Sound_SetWaveOutSpeed(WAVE_OUT_CHANNEL_PRIMARY, WAVE_OUT_SPEED_UPROAR_1);
|
||||
break;
|
||||
case POKECRY_UPROAR_2:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(1, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 1, volume);
|
||||
sub_02005E64(100, heapID);
|
||||
sub_02004F68(1, 0xffff, -44);
|
||||
Sound_SetPitchForHandle(1, SOUND_PLAYBACK_TRACK_ALL, -44);
|
||||
break;
|
||||
case POKECRY_PINCH_NORMAL:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
sub_02004F68(1, 0xffff, -96);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(1, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 1, volume);
|
||||
Sound_SetPitchForHandle(1, SOUND_PLAYBACK_TRACK_ALL, -96);
|
||||
break;
|
||||
case POKECRY_PINCH_HALF_DURATION:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F94(1, 0xffff, param2);
|
||||
sub_02005E4C(species, 1, volume);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPanForHandle(1, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 1, volume);
|
||||
sub_02005E64(20, heapID);
|
||||
sub_02004F68(1, 0xffff, -96);
|
||||
Sound_SetPitchForHandle(1, SOUND_PLAYBACK_TRACK_ALL, -96);
|
||||
break;
|
||||
case POKECRY_POKEDEX_CHORUS:
|
||||
Sound_PlayPokemonCry(species, form);
|
||||
sub_02005E4C(species, 1, 127);
|
||||
sub_020060EC(species, 20, form);
|
||||
sub_02004F94(8, 0xffff, param2);
|
||||
Sound_Impl_SetPokemonCryVolume(species, 1, 127);
|
||||
Sound_Impl_PlayPokemonCryEcho(species, 20, form);
|
||||
Sound_SetPanForHandle(8, SOUND_PLAYBACK_TRACK_ALL, pan);
|
||||
Sound_FadeVolumeForHandle(8, volume, 0);
|
||||
break;
|
||||
case POKECRY_POKEDEX:
|
||||
v4 = Sound_PlayPokemonCry(species, form);
|
||||
result1 = Sound_PlayPokemonCry(species, form);
|
||||
break;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void sub_02005E4C(u16 param0, int param1, int param2)
|
||||
static void Sound_Impl_SetPokemonCryVolume(u16 species, enum SoundHandleType handleType, int volume)
|
||||
{
|
||||
Sound_SetInitialVolumeForHandle(param1, param2);
|
||||
Sound_AdjustVolumeForVoiceChatEx(param0, param1);
|
||||
|
||||
return;
|
||||
Sound_SetInitialVolumeForHandle(handleType, volume);
|
||||
Sound_AdjustVolumeForVoiceChatEx(species, handleType);
|
||||
}
|
||||
|
||||
void sub_02005E64(int param0, int heapID)
|
||||
|
|
@ -802,31 +799,27 @@ void sub_0200605C(void)
|
|||
return;
|
||||
}
|
||||
|
||||
static BOOL sub_020060EC(u16 species, s8 pitch, u8 form)
|
||||
static BOOL Sound_Impl_PlayPokemonCryEcho(u16 species, s8 pitch, u8 form)
|
||||
{
|
||||
int v0;
|
||||
u8 *v1 = SoundSystem_GetParam(18);
|
||||
|
||||
*v1 = 1;
|
||||
u8 *echoEnabled = SoundSystem_GetParam(SOUND_SYSTEM_PARAM_ECHO_ENABLED);
|
||||
*echoEnabled = TRUE;
|
||||
|
||||
Sound_FlagDefaultChatotCry(TRUE);
|
||||
v0 = Sound_PlayPokemonCry(species, form);
|
||||
sub_02004F68(8, 0xffff, pitch);
|
||||
BOOL success = Sound_PlayPokemonCry(species, form);
|
||||
Sound_SetPitchForHandle(SOUND_HANDLE_TYPE_ECHO, SOUND_PLAYBACK_TRACK_ALL, pitch);
|
||||
|
||||
return v0;
|
||||
return success;
|
||||
}
|
||||
|
||||
static BOOL sub_02006120(u16 param0, s8 param1, int param2, int param3, int heapID)
|
||||
static BOOL Sound_PlayPokemonCryReversedEcho(u16 species, s8 unused, int volume, int pan, int heapID)
|
||||
{
|
||||
int v0;
|
||||
u8 *v1 = SoundSystem_GetParam(18);
|
||||
u8 *echoEnabled = SoundSystem_GetParam(SOUND_SYSTEM_PARAM_ECHO_ENABLED);
|
||||
*echoEnabled = TRUE;
|
||||
|
||||
*v1 = 1;
|
||||
BOOL success = Sound_AllocateWaveOutChannel(WAVE_OUT_CHANNEL_SECONDARY);
|
||||
success = Sound_PlayWaveOutReversed(species, volume, pan, WAVE_OUT_CHANNEL_SECONDARY, heapID);
|
||||
|
||||
v0 = Sound_AllocateWaveOutChannel(WAVE_OUT_CHANNEL_SECONDARY);
|
||||
v0 = Sound_PlayWaveOutReversed(param0, param2, param3, WAVE_OUT_CHANNEL_SECONDARY, heapID);
|
||||
|
||||
return v0;
|
||||
return success;
|
||||
}
|
||||
|
||||
BOOL Sound_PlayFanfare(u16 seqID)
|
||||
|
|
@ -835,8 +828,7 @@ BOOL Sound_PlayFanfare(u16 seqID)
|
|||
|
||||
Sound_Impl_SetFanfareDelay(seqID);
|
||||
|
||||
u16 seqID = Sound_GetCurrentBGM();
|
||||
u8 playerID = Sound_GetPlayerForSequence(seqID);
|
||||
u8 playerID = Sound_GetPlayerForSequence(Sound_GetCurrentBGM());
|
||||
if (playerID != 0xff) {
|
||||
Sound_SetBGMPlayerPaused(playerID, TRUE);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user