85 voice->pitchRatio = 0;
158 instrument->
type = 0;
167 instrument->pitchRatio = 0.5f;
171 arg0->bankPatch = 0x2010;
177 arg0->randVolume = 0;
179 arg0->randReverb = 0;
183 arg0->bankPatch = 0x2010;
187 arg0->coarseTune = 0;
234 if (globals->
unk_80 != 0) {
331 if (
voice->stopPending) {
354 voice->syncFlags = 0;
362 voice->syncFlags = 0;
371 voice->syncFlags = 0;
376#define TUNE_SCALING_ARR_AMPLIFY_FINE 0
377#define TUNE_SCALING_ARR_AMPLIFY_COARSE 128
378#define TUNE_SCALING_ARR_ATTENUATE_FINE 160
379#define TUNE_SCALING_ARR_ATTENUATE_COARSE 288
416 if ((
fade->fadeTime << 0x10) != 0) {
417 fade->curVolume.s32 +=
fade->fadeStep;
419 fade->curVolume.s32 =
fade->targetVolume << 0x10;
420 if (
fade->onCompleteCallback !=
NULL) {
421 fade->onCompleteCallback();
433 if (
fade->fadeTime == 0) {
436 fade->targetVolume =
fade->curVolume.u16;
441 fade->volScale.s32 = value << 16;
442 fade->targetVolScale = value;
443 fade->volScaleTime = 0;
444 fade->volScaleStep = 0;
451 if (
arg1 >= 250 &&
arg1 <= 100000) {
456 fade->volScaleTime = time;
457 fade->volScaleStep = delta / time;
459 fade->volScaleTime = 0;
460 fade->volScaleStep = 0;
465 fade->volScaleTime--;
467 if (
fade->volScaleTime != 0) {
468 fade->volScale.s32 +=
fade->volScaleStep;
470 fade->volScaleStep = 0;
471 fade->volScale.s32 =
fade->targetVolScale << 16;
494 switch (playerIndex) {
515 switch (playerIndex) {
568 bkFileIndex =
songInfo->bkFileIndex[i];
569 if (bkFileIndex != 0) {
583 bgmFileIndex =
songInfo->bgmFileIndex;
610 bkFileIndex =
songInfo->bkFileIndex[i];
611 if (bkFileIndex != 0) {
636#define SBN_LOOKUP(i,fmt,e) (au_fetch_SBN_file(globals->mseqFileList[AmbientSoundIDtoMSEQFileIndex[i]], fmt, &e))
657 &&
manager->players[0].mseqName == 0
658 &&
manager->players[1].mseqName == 0
659 &&
manager->players[2].mseqName == 0) {
668 manager->mseqFiles[0] = mseqFile;
673 manager->mseqFiles[1] = mseqFile;
678 manager->mseqFiles[2] = mseqFile;
683 manager->mseqFiles[3] = mseqFile;
719 s32 tblOffset, shortsOffset;
732 if ((
entry->offset & 0xFFFFFF) == 0) {
737 entry->data = (size + 0xF) & ~0xF;
752 size = (
initHeader.shortsSize + 0xF) & 0xFFF0;
773 if ((
fileEntry.data >> 0x18) == format) {
793 size = header.
mdata.
size -
sizeof(header);
798 end = &globals->
dataPER[numItems];
814 size = header.
mdata.
size -
sizeof(header);
822 end = &
arg0->dataPRG[numItems];
835 if (
song->bgmFileIndex == 0xFFFF) {
842 if (bkFileIndex != 0) {
874 ret = &
temp->instrumentGroup2[bankIndex / 16];
877 ret = &
temp->instrumentGroup4[bankIndex / 16];
880 ret = &
temp->instrumentGroup5[bankIndex / 16];
883 ret = &
temp->instrumentGroup6[bankIndex / 16];
886 ret = &
temp->instrumentGroup3[bankIndex / 16];
906#define AL_HEADER_SIG_BK 0x424B
907#define AL_HEADER_SIG_CR 0x4352
908#define AL_HEADER_SIG_DR 0x4452
909#define AL_HEADER_SIG_SR 0x5352
935 }
else if (header->
size == 0) {
978 if (instrumentCount != 0) {
1009 if (
sb->swizzled == 0) {
1010 for (i = 0; i < instrumentCount; i++) {
1013 if (instrument !=
NULL) {
1014 if (instrument->
base != 0) {
1027 instrument->pitchRatio = instrument->outputRate / outputRate;
1029 instruments[i] = defaultInstrument;
1063 }
else if (header->
size == 0) {
1120 *ptr++ = instrument;
1192 *(
u8*)
dst++ = value;
1200 *(
u8*)
dst++ = value;
1215 *(
u8*)
dst++ = value;
1223 while (size-- != 0) {
1233 if (!(((s32)
src | (s32)
dst) & 3)) {
1240 }
while (size-- != 0);
void func_8004DFD4(AuGlobals *globals)
void au_bgm_update_main(BGMPlayer *player)
void func_8004E444(BGMPlayer *arg0)
void au_bgm_set_effect_indices(BGMPlayer *player, u8 *list)
void au_bgm_update_fade(BGMPlayer *player)
s32 func_8004DB28(BGMPlayer *player)
s32 au_bgm_player_update_main(BGMPlayer *player)
void au_bgm_player_init(BGMPlayer *player, s32 priority, s32 busId, AuGlobals *globals)
void au_amb_manager_update(AmbienceManager *manager)
void au_amb_manager_init(AmbienceManager *manager, s8 priority, s8 busId, AuGlobals *globals)
void au_init_voices(AuGlobals *globals)
void au_update_voices(AuGlobals *globals)
void au_voice_start(AuVoice *voice, EnvelopeData *envData)
void func_80054CE0(s32 arg0, u32 idx)
u8 EnvelopeReleaseDefault[]
u8 EnvelopePressDefault[]
void au_reset_voice(AuVoice *voice, u8 voiceIdx)
void au_copy_bytes(s8 *src, s8 *dest, s32 size)
void func_80054DA8(u32 bMonoSound)
void au_get_bgm_player_and_file(u32 playerIndex, BGMHeader **outFile, BGMPlayer **outPlayer)
Instrument * au_get_instrument(AuGlobals *globals, u32 bank, u32 patch, EnvelopeData *envData)
#define TUNE_SCALING_ARR_AMPLIFY_COARSE
void au_reset_instrument_entry(BGMInstrumentInfo *arg0)
#define TUNE_SCALING_ARR_ATTENUATE_COARSE
void func_80054C84(s32 bankIndex, s32 bankGroup)
#define TUNE_SCALING_ARR_ATTENUATE_FINE
void au_fade_update(Fade *fade)
SoundManager * gSoundManager
#define SBN_LOOKUP(i, fmt, e)
AuGlobals * gSoundGlobals
void au_engine_init(s32 outputRate)
void func_80053B04(Fade *fade, u32 arg1, s32 target)
s32 snd_load_BK(s32 bkFileOffset, s32 bankIndex)
void func_80052E30(u8 index)
void au_reset_instrument(Instrument *instrument)
void au_get_bgm_player(u32 playerIndex, BGMPlayer **outPlayer)
void au_syn_update(AuGlobals *globals)
SoundBank * au_load_BK_to_bank(s32 bkFileOffset, SoundBank *bank, s32 bankIndex, s32 bankGroup)
AuResult func_80053E58(s32 songID, BGMHeader *bgmFile)
void au_fade_set_volume(u8 busId, u16 volume, s32 busVolume)
void au_update_players_main(void)
void au_read_rom(s32 romAddr, void *buffer, u32 size)
AuResult au_load_song_files(u32 songID, BGMHeader *bgmFile, BGMPlayer *player)
void au_load_PRG(AuGlobals *arg0, s32 romAddr)
void au_reset_drum_entry(BGMDrumInfo *arg0)
f32 au_compute_pitch_ratio(s32 pitch)
BGMPlayer * func_80053F64(s32 arg0)
AuResult au_fetch_SBN_file(u32 fileIdx, AuFileFormat format, SBNFileEntry *outEntry)
void func_80053BA8(Fade *fade)
void au_memset(void *dst, s32 size, u8 value)
AuResult au_ambient_load(u32 ambSoundID)
BGMPlayer * func_80054248(u8 arg0)
void au_fade_init(Fade *fade, s32 time, s32 startValue, s32 endValue)
#define TUNE_SCALING_ARR_AMPLIFY_FINE
AuCallback BeginSoundUpdateCallback
void au_load_INIT(AuGlobals *arg0, s32 romAddr, ALHeap *heap)
void au_load_PER(AuGlobals *globals, s32 romAddr)
s32 func_80054D74(s32 arg0, s32 arg1)
s32 * func_80054AA0(s32 *bkFileOffset, void *vaddr, s32 bankIndex, s32 bankGroup)
void au_update_clients_2(void)
InstrumentGroup * au_get_BK_instruments(s32 bankGroup, u32 bankIndex)
void au_swizzle_BK_instruments(s32 bkFileOffset, SoundBank *bank, InstrumentGroup instruments, u32 instrumentCount, u8 arg4)
void au_copy_words(void *src, void *dst, s32 size)
s32 snd_load_BGM(s32 arg0)
void au_fade_clear(Fade *fade)
void au_fade_set_vol_scale(Fade *fade, s16 value)
void func_80053AC8(Fade *fade)
void au_reset_nonfree_voice(AuVoice *voice, u8 index)
AmbienceManager * gAuAmbienceManager
void au_load_BK_headers(AuGlobals *globals, ALHeap *heap)
void func_80055050(ALHeap *heap)
void bgm_clear_music_events(void)
void au_bus_set_volume(u8 index, u16 arg1)
void au_syn_set_volume_delta(u8 voiceIdx, s16 vol, s32 delta)
void au_disable_channel_delay(void)
void au_delay_right_channel(u8 groupIdx)
void au_pvoice_set_bus(u8 index, s8 busId)
void au_syn_stop_voice(u8 voiceIdx)
void au_syn_set_pitch(u8 voiceIdx, f32 pitch)
void au_set_delay_time(s32 arg0)
void * alHeapAlloc(ALHeap *heap, s32 count, s32 size)
void au_delay_channel(s16 arg0)
void au_bus_set_effect(u8 index, u8 effectType)
void au_syn_set_pan_fxmix(u8 voiceIdx, u8 pan, u8 fxMix)
void au_syn_start_voice_params(u8 voiceIdx, u8 busId, Instrument *instrument, f32 pitch, s16 vol, u8 pan, u8 fxMix, s32 delta)
void au_delay_left_channel(u8 groupIdx)
void au_syn_set_mixer_params(u8 voiceIdx, s16 volume, s32 delta, u8 pan, u8 fxMix)
void au_syn_set_wavetable(u8 voiceIdx, Instrument *instrument)
BSS s32 PopupMenu_SelectedIndex
SoundManager * soundManager
Instrument * defaultInstrument
InstrumentGroup instrumentGroup6[4]
EnvelopePreset DummyInstrumentEnvelope
MusicEventTrigger * musicEventQueue
struct MSEQHeader * dataMSEQ[2]
InstrumentGroup instrumentGroup3[16]
AuCallback audioThreadCallbacks[2]
#define AU_FILE_RELATIVE(base, offset)
InstrumentGroup instrumentGroup1[4]
BGMInstrumentInfo * dataPRG
SBNFileEntry * sbnFileList
@ AU_VOICE_SYNC_FLAG_PARAMS
@ AU_VOICE_SYNC_FLAG_PAN_FXMIX
@ AU_VOICE_SYNC_FLAG_PITCH
u16 DummyInstrumentPredictor[32]
u8 DummyInstrumentBase[190]
s32 PreventBGMPlayerUpdate
InstrumentGroup instrumentGroup2[16]
AuSynDriver * gSynDriverPtr
struct BGMHeader * dataBGM[2]
EnvelopePreset * envelopes
BGMInstrumentInfo defaultPRGEntry
struct BGMPlayer * bgmPlayer
InstrumentGroup instrumentGroupX[1]
@ AU_PRIORITY_BGM_PLAYER_MAIN
@ AU_PRIORITY_MSEQ_MANAGER
@ AU_PRIORITY_SFX_MANAGER
@ AU_PRIORITY_BGM_PLAYER_AUX
SndGlobalsSub6C unk_globals_6C[1]
InstrumentGroup * instrumentGroups[8]
AuEffectChange effectChanges[4]
InstrumentGroup instrumentGroup4[16]
Instrument * InstrumentGroup[16]
InstrumentGroup instrumentGroup5[16]
BGMDrumInfo defaultDrumEntry
@ AU_ERROR_SBN_INDEX_OUT_OF_RANGE
@ AU_ERROR_SBN_FORMAT_MISMATCH
s16 au_sfx_manager_update(SoundManager *manager)
void au_sfx_update_main(SoundManager *manager)
void au_sfx_load_groups_from_SEF(SoundManager *sndMgr)
s32 au_sfx_set_reverb_type(SoundManager *manager, s32 arg1)
void au_sfx_init(SoundManager *manager, u8 arg1, u8 arg2, AuGlobals *arg3, u8 arg4)