mirror of https://github.com/pmret/papermario.git
header reorg
This commit is contained in:
parent
73e68a4f5c
commit
3f7d8be600
22
src/audio.h
22
src/audio.h
|
@ -442,21 +442,20 @@ typedef union VolumeField {
|
|||
s32 s32;
|
||||
} VolumeField;
|
||||
|
||||
// envelope related?
|
||||
/// Structure for volume fading for SFX and BGM. Has independent controls for base and envelope volumes.
|
||||
typedef struct Fade {
|
||||
/* 0x0 */ VolumeField curVolume;
|
||||
/* 0x4 */ s32 fadeStep;
|
||||
/* 0x8 */ s16 targetVolume;
|
||||
/* 0xA */ s16 fadeTicks;
|
||||
/* 0x0 */ VolumeField baseVolume;
|
||||
/* 0x4 */ s32 baseStep;
|
||||
/* 0x8 */ s16 baseTarget;
|
||||
/* 0xA */ s16 baseTicks;
|
||||
union {
|
||||
/* 0xC */ AuCallback onCompleteCallback;
|
||||
/* 0xC */ s32 variation;
|
||||
};
|
||||
// fields below are envelope?
|
||||
/* 0x10 */ VolumeField volScale;
|
||||
/* 0x14 */ s32 volScaleStep;
|
||||
/* 0x18 */ s16 targetVolScale;
|
||||
/* 0x1A */ s16 volScaleTime;
|
||||
/* 0x10 */ VolumeField envelopeVolume;
|
||||
/* 0x14 */ s32 envelopeStep;
|
||||
/* 0x18 */ s16 envelopeTarget;
|
||||
/* 0x1A */ s16 envelopeTicks;
|
||||
} Fade; // size = 0x10
|
||||
|
||||
typedef struct AuDelay {
|
||||
|
@ -735,7 +734,7 @@ typedef struct SoundManager {
|
|||
/* 0x034 */ s32 nextUpdateStep;
|
||||
/* 0x038 */ s32 nextUpdateInterval;
|
||||
/* 0x03C */ s32 nextUpdateCounter;
|
||||
/* 0x040 */ struct Fade fadeInfo;
|
||||
/* 0x040 */ Fade fadeInfo;
|
||||
/* 0x05C */ s32 busVolume;
|
||||
/* 0x060 */ s32 randomValue;
|
||||
/* 0x064 */ s32* customReverbParams[8];
|
||||
|
@ -1033,7 +1032,6 @@ typedef struct BGMPlayerTrack {
|
|||
/* 0x20 */ s16_16 subTrackVolumeTarget;
|
||||
/* 0x24 */ s32 subTrackVolumeTime;
|
||||
/* 0x28 */ s32 delayTime;
|
||||
//TODO Fade struct?
|
||||
/* 0x2C */ s16_16 proxVolume;
|
||||
/* 0x30 */ s16_16 proxVolumeStep;
|
||||
/* 0x34 */ s16 proxVolumeTarget;
|
||||
|
|
|
@ -176,8 +176,8 @@ AuResult au_bgm_dispatch_player_event(SongUpdateEvent* event) {
|
|||
}
|
||||
|
||||
au_fade_init(&player->fadeInfo, duration, volume0, volume1);
|
||||
player->fadeInfo.targetVolScale = AU_MAX_VOLUME_16;
|
||||
player->fadeInfo.volScaleTime = 1;
|
||||
player->fadeInfo.envelopeTarget = AU_MAX_VOLUME_16;
|
||||
player->fadeInfo.envelopeTicks = 1;
|
||||
au_bgm_set_tick_resolution(player, BGM_SAMPLE_RATE, BgmTicksRates[fileInfo->timingPreset & 7]);
|
||||
|
||||
if (variation < BGM_VARIATION_0 || variation > BGM_VARIATION_3 || fileInfo->compositions[variation] == 0) {
|
||||
|
@ -296,9 +296,9 @@ AuResult func_8004DB4C(SongUpdateEvent* s) {
|
|||
if (player->songName == songName) {
|
||||
if (player->masterState != BGM_PLAY_STATE_IDLE) {
|
||||
if (!player->unk_220) {
|
||||
player->fadeInfo.targetVolume = volume;
|
||||
player->fadeInfo.fadeTicks = (duration * 1000) / AU_FRAME_USEC;
|
||||
player->fadeInfo.fadeStep = ((volume << 0x10) - player->fadeInfo.curVolume.s32) / player->fadeInfo.fadeTicks;
|
||||
player->fadeInfo.baseTarget = volume;
|
||||
player->fadeInfo.baseTicks = (duration * 1000) / AU_FRAME_USEC;
|
||||
player->fadeInfo.baseStep = ((volume << 0x10) - player->fadeInfo.baseVolume.s32) / player->fadeInfo.baseTicks;
|
||||
player->fadeInfo.variation = s->variation;
|
||||
if (s->unk14 == 1) {
|
||||
player->fadeSongName = songName;
|
||||
|
@ -498,7 +498,7 @@ void func_8004DFD4(AuGlobals* globals) {
|
|||
globals->unk_80 = 0;
|
||||
}
|
||||
|
||||
AuResult func_8004E0F4(SongUpdateEvent* update) {
|
||||
AuResult au_bgm_adjust_volume(SongUpdateEvent* update) {
|
||||
BGMPlayer* player;
|
||||
AuResult status = AU_RESULT_OK;
|
||||
|
||||
|
@ -616,12 +616,12 @@ void au_bgm_set_effect_indices(BGMPlayer* player, u8* list) {
|
|||
}
|
||||
|
||||
void au_bgm_update_fade(BGMPlayer* player) {
|
||||
player->fadeInfo.fadeTicks--;
|
||||
player->fadeInfo.baseTicks--;
|
||||
|
||||
if (player->fadeInfo.fadeTicks != 0) {
|
||||
player->fadeInfo.curVolume.s32 += player->fadeInfo.fadeStep;
|
||||
if (player->fadeInfo.baseTicks != 0) {
|
||||
player->fadeInfo.baseVolume.s32 += player->fadeInfo.baseStep;
|
||||
} else {
|
||||
player->fadeInfo.curVolume.s32 = player->fadeInfo.targetVolume << 16;
|
||||
player->fadeInfo.baseVolume.s32 = player->fadeInfo.baseTarget << 16;
|
||||
|
||||
if (player->fadeInfo.onCompleteCallback != NULL) {
|
||||
player->fadeInfo.onCompleteCallback();
|
||||
|
@ -629,7 +629,7 @@ void au_bgm_update_fade(BGMPlayer* player) {
|
|||
|
||||
if (player->fadeSongName != 0) {
|
||||
func_8004DC80(player->fadeSongName);
|
||||
} else if (player->fadeInfo.curVolume.s32 == 0) {
|
||||
} else if (player->fadeInfo.baseVolume.s32 == 0) {
|
||||
au_bgm_stop_player(player);
|
||||
}
|
||||
}
|
||||
|
@ -637,7 +637,7 @@ void au_bgm_update_fade(BGMPlayer* player) {
|
|||
}
|
||||
|
||||
void au_bgm_update_bus_volumes(BGMPlayer* player) {
|
||||
u16 mult = (player->fadeInfo.curVolume.u16 * player->fadeInfo.volScale.u16) >> 15;
|
||||
u16 volume = (player->fadeInfo.baseVolume.u16 * player->fadeInfo.envelopeVolume.u16) >> 15;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(player->effectIndices); i++) {
|
||||
|
@ -646,7 +646,7 @@ void au_bgm_update_bus_volumes(BGMPlayer* player) {
|
|||
if (busID < 0) {
|
||||
return;
|
||||
}
|
||||
au_fade_set_volume(busID, mult, player->busVolume);
|
||||
au_fade_set_volume(busID, volume, player->busVolume);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1837,7 +1837,7 @@ void au_BGMCmd_FF(BGMPlayer* player, BGMPlayerTrack* track) {
|
|||
if ((player->soundManager->bgmSounds[i].index) == 0) {
|
||||
player->soundManager->bgmSounds[i].index = arg1;
|
||||
player->soundManager->bgmSounds[i].volume =
|
||||
((player->fadeInfo.curVolume.u16 * player->fadeInfo.volScale.u16) + AU_MAX_VOLUME_16) >> 0x17;
|
||||
((player->fadeInfo.baseVolume.u16 * player->fadeInfo.envelopeVolume.u16) + AU_MAX_VOLUME_16) >> 0x17;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,10 +51,10 @@ void au_fade_init(Fade* fade, s32 time, s32 startValue, s32 endValue);
|
|||
void au_fade_clear(Fade* fade);
|
||||
void au_fade_update(Fade* fade);
|
||||
void au_fade_set_volume(u8 arg0, u16 arg1, s32 arg2);
|
||||
void au_unk_80053AC8(Fade* fade);
|
||||
void au_fade_flush(Fade* fade);
|
||||
void au_fade_set_vol_scale(Fade* fade, s16 value);
|
||||
void au_unk_80053B04(Fade* fade, u32 arg1, s32 target);
|
||||
void au_unk_80053BA8(Fade* fade);
|
||||
void au_fade_update_envelope(Fade* fade);
|
||||
Instrument* au_get_instrument(AuGlobals* globals, BankSetIndex bank, s32 patch, EnvelopeData* arg3);
|
||||
void au_get_bgm_player_and_file(u32 playerIndex, BGMHeader** outCurrentTrackData, BGMPlayer** outPlayer);
|
||||
void au_get_bgm_player(u32 playerIndex, BGMPlayer** outPlayer);
|
||||
|
|
|
@ -154,7 +154,7 @@ void au_engine_init(s32 outputRate) {
|
|||
globals->channelDelayPending = FALSE;
|
||||
|
||||
au_init_delay_channel(0);
|
||||
func_80055050(alHeap);
|
||||
snd_notify_engine_ready(alHeap);
|
||||
}
|
||||
|
||||
/// used to initialize the default Instrument
|
||||
|
@ -223,9 +223,9 @@ void au_update_clients_for_audio_frame(void) {
|
|||
}
|
||||
|
||||
// Update volume fade for SFX bus
|
||||
if (sfxManager->fadeInfo.fadeTicks != 0) {
|
||||
if (sfxManager->fadeInfo.baseTicks != 0) {
|
||||
au_fade_update(&sfxManager->fadeInfo);
|
||||
au_fade_set_volume(sfxManager->busID, sfxManager->fadeInfo.curVolume.u16, sfxManager->busVolume);
|
||||
au_fade_set_volume(sfxManager->busID, sfxManager->fadeInfo.baseVolume.u16, sfxManager->busVolume);
|
||||
}
|
||||
|
||||
// Periodic SFX manager update
|
||||
|
@ -238,7 +238,7 @@ void au_update_clients_for_audio_frame(void) {
|
|||
// update gBGMPlayerB
|
||||
if (!PreventBGMPlayerUpdate) {
|
||||
bgmPlayer = gBGMPlayerB;
|
||||
if (bgmPlayer->fadeInfo.fadeTicks != 0) {
|
||||
if (bgmPlayer->fadeInfo.baseTicks != 0) {
|
||||
au_bgm_update_fade(bgmPlayer);
|
||||
}
|
||||
if (bgmPlayer->songName != 0) {
|
||||
|
@ -257,14 +257,14 @@ void au_update_clients_for_audio_frame(void) {
|
|||
func_8004DFD4(globals);
|
||||
}
|
||||
bgmPlayer = gBGMPlayerA;
|
||||
if (bgmPlayer->fadeInfo.volScaleTime != 0) {
|
||||
au_unk_80053BA8(&bgmPlayer->fadeInfo);
|
||||
if (bgmPlayer->fadeInfo.fadeTicks == 0) {
|
||||
if (bgmPlayer->fadeInfo.envelopeTicks != 0) {
|
||||
au_fade_update_envelope(&bgmPlayer->fadeInfo);
|
||||
if (bgmPlayer->fadeInfo.baseTicks == 0) {
|
||||
au_bgm_update_bus_volumes(bgmPlayer);
|
||||
} else {
|
||||
au_bgm_update_fade(bgmPlayer);
|
||||
}
|
||||
} else if (bgmPlayer->fadeInfo.fadeTicks != 0) {
|
||||
} else if (bgmPlayer->fadeInfo.baseTicks != 0) {
|
||||
au_bgm_update_fade(bgmPlayer);
|
||||
}
|
||||
if (bgmPlayer->songName != 0) {
|
||||
|
@ -413,36 +413,36 @@ f32 au_compute_pitch_ratio(s32 tuning) {
|
|||
}
|
||||
|
||||
void au_fade_init(Fade* fade, s32 time, s32 startValue, s32 endValue) {
|
||||
fade->curVolume.s32 = startValue << 16;
|
||||
fade->targetVolume = endValue;
|
||||
fade->baseVolume.s32 = startValue << 16;
|
||||
fade->baseTarget = endValue;
|
||||
|
||||
if (time != 0) {
|
||||
fade->fadeTicks = (time * 1000) / AU_FRAME_USEC;
|
||||
fade->fadeStep = ((endValue << 16) - fade->curVolume.s32) / fade->fadeTicks;
|
||||
fade->baseTicks = (time * 1000) / AU_FRAME_USEC;
|
||||
fade->baseStep = ((endValue << 16) - fade->baseVolume.s32) / fade->baseTicks;
|
||||
} else {
|
||||
fade->fadeTicks = 1;
|
||||
fade->fadeStep = 0;
|
||||
fade->baseTicks = 1;
|
||||
fade->baseStep = 0;
|
||||
}
|
||||
|
||||
fade->onCompleteCallback = NULL;
|
||||
}
|
||||
|
||||
void au_fade_clear(Fade* fade) {
|
||||
fade->fadeTicks = 0;
|
||||
fade->fadeStep = 0;
|
||||
fade->baseTicks = 0;
|
||||
fade->baseStep = 0;
|
||||
fade->onCompleteCallback = NULL;
|
||||
}
|
||||
|
||||
void au_fade_update(Fade* fade) {
|
||||
fade->fadeTicks--;
|
||||
fade->baseTicks--;
|
||||
|
||||
if ((fade->fadeTicks << 0x10) != 0) {
|
||||
fade->curVolume.s32 += fade->fadeStep;
|
||||
if ((fade->baseTicks << 0x10) != 0) {
|
||||
fade->baseVolume.s32 += fade->baseStep;
|
||||
} else {
|
||||
fade->curVolume.s32 = fade->targetVolume << 0x10;
|
||||
fade->baseVolume.s32 = fade->baseTarget << 0x10;
|
||||
if (fade->onCompleteCallback != NULL) {
|
||||
fade->onCompleteCallback();
|
||||
fade->fadeStep = 0;
|
||||
fade->baseStep = 0;
|
||||
fade->onCompleteCallback = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -452,46 +452,46 @@ void au_fade_set_volume(u8 busID, u16 volume, s32 busVolume) {
|
|||
au_bus_set_volume(busID, (u32)(volume * busVolume) / AU_MAX_BUS_VOLUME);
|
||||
}
|
||||
|
||||
void au_unk_80053AC8(Fade* fade) {
|
||||
if (fade->fadeTicks == 0) {
|
||||
fade->fadeTicks = 1;
|
||||
fade->fadeStep = 0;
|
||||
fade->targetVolume = fade->curVolume.u16;
|
||||
void au_fade_flush(Fade* fade) {
|
||||
if (fade->baseTicks == 0) {
|
||||
fade->baseTicks = 1;
|
||||
fade->baseStep = 0;
|
||||
fade->baseTarget = fade->baseVolume.u16;
|
||||
}
|
||||
}
|
||||
|
||||
void au_fade_set_vol_scale(Fade* fade, s16 value) {
|
||||
fade->volScale.s32 = value << 16;
|
||||
fade->targetVolScale = value;
|
||||
fade->volScaleTime = 0;
|
||||
fade->volScaleStep = 0;
|
||||
fade->envelopeVolume.s32 = value << 16;
|
||||
fade->envelopeTarget = value;
|
||||
fade->envelopeTicks = 0;
|
||||
fade->envelopeStep = 0;
|
||||
}
|
||||
|
||||
void au_unk_80053B04(Fade* fade, u32 arg1, s32 target) {
|
||||
s16 time;
|
||||
void au_unk_80053B04(Fade* fade, u32 duration, s32 target) {
|
||||
s16 ticks;
|
||||
s32 delta;
|
||||
|
||||
if (arg1 >= 250 && arg1 <= 100000) {
|
||||
time = (s32)(arg1 * 1000) / AU_FRAME_USEC;
|
||||
delta = (target << 16) - fade->volScale.s32;
|
||||
if (duration >= 250 && duration <= 100000) {
|
||||
ticks = (s32)(duration * 1000) / AU_FRAME_USEC;
|
||||
delta = (target << 16) - fade->envelopeVolume.s32;
|
||||
|
||||
fade->targetVolScale = target;
|
||||
fade->volScaleTime = time;
|
||||
fade->volScaleStep = delta / time;
|
||||
fade->envelopeTarget = target;
|
||||
fade->envelopeTicks = ticks;
|
||||
fade->envelopeStep = delta / ticks;
|
||||
} else {
|
||||
fade->volScaleTime = 0;
|
||||
fade->volScaleStep = 0;
|
||||
fade->envelopeTicks = 0;
|
||||
fade->envelopeStep = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void au_unk_80053BA8(Fade* fade) {
|
||||
fade->volScaleTime--;
|
||||
void au_fade_update_envelope(Fade* fade) {
|
||||
fade->envelopeTicks--;
|
||||
|
||||
if (fade->volScaleTime != 0) {
|
||||
fade->volScale.s32 += fade->volScaleStep;
|
||||
if (fade->envelopeTicks != 0) {
|
||||
fade->envelopeVolume.s32 += fade->envelopeStep;
|
||||
} else {
|
||||
fade->volScaleStep = 0;
|
||||
fade->volScale.s32 = fade->targetVolScale << 16;
|
||||
fade->envelopeStep = 0;
|
||||
fade->envelopeVolume.s32 = fade->envelopeTarget << 16;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1168,13 +1168,13 @@ void au_set_bus_volume_level(s32 soundTypeFlags, u32 volPreset) {
|
|||
s32 vol = PerceptualVolumeLevels[volPreset];
|
||||
if (soundTypeFlags & AUDIO_TYPE_BGM) {
|
||||
gBGMPlayerA->busVolume = vol;
|
||||
au_unk_80053AC8(&gBGMPlayerA->fadeInfo);
|
||||
au_fade_flush(&gBGMPlayerA->fadeInfo);
|
||||
gBGMPlayerB->busVolume = vol;
|
||||
au_unk_80053AC8(&gBGMPlayerB->fadeInfo);
|
||||
au_fade_flush(&gBGMPlayerB->fadeInfo);
|
||||
}
|
||||
if (soundTypeFlags & AUDIO_TYPE_SFX) {
|
||||
gSoundManager->busVolume = vol;
|
||||
au_unk_80053AC8(&gSoundManager->fadeInfo);
|
||||
au_fade_flush(&gSoundManager->fadeInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ AuResult func_8004DC80(s32 songName);
|
|||
AuResult func_8004DCB8(SongUpdateEvent* update, s32 clearChanged);
|
||||
AuResult func_8004DE2C(SongUpdateEvent* update);
|
||||
void func_8004DFD4(AuGlobals* globals);
|
||||
AuResult func_8004E0F4(SongUpdateEvent* update);
|
||||
AuResult au_bgm_adjust_volume(SongUpdateEvent* update);
|
||||
void au_bgm_player_init(BGMPlayer* player, s32 arg1, s32 arg2, AuGlobals* arg3);
|
||||
void au_bgm_set_effect_indices(BGMPlayer* player, u8* list);
|
||||
void au_bgm_update_fade(BGMPlayer* player);
|
||||
|
@ -110,15 +110,14 @@ void au_bgm_reset_all_voices(BGMPlayer* player);
|
|||
AuResult au_bgm_set_linked_tracks(SongUpdateEvent* arg0);
|
||||
|
||||
// ----------------------------------------------------------------------------------
|
||||
// bgm_control.c
|
||||
// snd_interface.c
|
||||
// ----------------------------------------------------------------------------------
|
||||
void snd_bgm_clear_legacy_commands(BGMPlayer* player);
|
||||
/*
|
||||
void func_80055050(ALHeap* heap);
|
||||
void func_80055068(u32 arg0);
|
||||
*/
|
||||
void snd_notify_engine_ready(ALHeap* heap);
|
||||
void snd_legacy_sound_dispatch(u32 arg0);
|
||||
void snd_bgm_clear_legacy_commands(BGMPlayer* player);
|
||||
void snd_bgm_enqueue_legacy_command(u32 arg0);
|
||||
/*
|
||||
void snd_start_sound(s32 soundID, u8 volume, u8 pan);
|
||||
void snd_start_sound_with_shift(s32 soundID, u8 volume, u8 pan, s16 pitchShift);
|
||||
void snd_adjust_sound(s32 soundID, u8 volume, u8 pan);
|
||||
|
@ -155,8 +154,8 @@ AuResult func_80055B80(s32 songName);
|
|||
AuResult func_80055BB8(s32 songName, s32 fadeTime);
|
||||
AuResult func_80055BF0(s32 songName);
|
||||
AuResult func_80055C2C(s32 songName);
|
||||
AuResult func_80055C64(s32 songName);
|
||||
AuResult func_80055C94(s32 songName);
|
||||
AuResult snd_song_set_volume_quiet(s32 songName);
|
||||
AuResult snd_song_set_volume_full(s32 songName);
|
||||
AuResult snd_song_set_linked_mode(s32 songName, s32 mode);
|
||||
*/
|
||||
AuResult snd_song_get_playing_info(s32 songName, BGMHeader** outTrackData, BGMPlayer** outPlayer);
|
||||
|
@ -166,7 +165,6 @@ AuResult snd_song_set_playback_rate(s32 songName, f32 arg1);
|
|||
AuResult snd_song_set_detune(s32 songName, s32 arg1);
|
||||
AuResult snd_song_set_track_volumes(s32 songName, MusicTrackVols arg1);
|
||||
AuResult snd_song_clear_track_volumes(s32 songName, MusicTrackVols arg1);
|
||||
u8* func_80055EB4(MusicTrackVols arg0);
|
||||
AuResult snd_song_set_track_vol_mute(s32 arg0, s32 arg1);
|
||||
AuResult snd_song_set_track_vol_quiet(s32 arg0, s32 arg1);
|
||||
AuResult snd_song_set_track_vol_full(s32 arg0, s32 arg1);
|
||||
|
@ -178,9 +176,7 @@ void snd_song_poll_music_events(u32** arg0, s32* arg1);
|
|||
void snd_song_flush_music_events(void);
|
||||
void snd_song_trigger_music_event(s32 playerID, s32 trackIndex, s32 eventInfo);
|
||||
void snd_song_clear_music_events(void);
|
||||
*/
|
||||
void snd_register_callback(AuCallback arg0, s32 arg1);
|
||||
/*
|
||||
void snd_register_callback(AuCallback func, s32 index);
|
||||
void snd_set_stereo(void);
|
||||
void snd_set_mono(void);
|
||||
void snd_set_bgm_volume(s32 arg0);
|
||||
|
@ -190,7 +186,9 @@ void snd_enable_sfx(void);
|
|||
void snd_disable_sfx(void);
|
||||
*/
|
||||
|
||||
// sfx.c
|
||||
// ----------------------------------------------------------------------------------
|
||||
// sfx_control.c
|
||||
// ----------------------------------------------------------------------------------
|
||||
/*
|
||||
void sfx_reset_door_sounds(void);
|
||||
void sfx_clear_sounds(void);
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
#ifndef _AUDIO_PUBLIC_H_
|
||||
#define _AUDIO_PUBLIC_H_
|
||||
|
||||
// 30450.c
|
||||
void func_80055050(ALHeap* heap);
|
||||
void func_80055068(u32 arg0);
|
||||
#include "audio.h"
|
||||
|
||||
// ----------------------------------------------------------------------------------
|
||||
// snd_interface.c
|
||||
// ----------------------------------------------------------------------------------
|
||||
void snd_notify_engine_ready(ALHeap* heap);
|
||||
void snd_legacy_sound_dispatch(u32 id);
|
||||
//void snd_bgm_clear_legacy_commands(BGMPlayer* player);
|
||||
//void snd_bgm_enqueue_legacy_command(u32 arg0);
|
||||
void snd_bgm_enqueue_legacy_command(u32 cmd);
|
||||
void snd_start_sound(s32 soundID, u8 volume, u8 pan);
|
||||
void snd_start_sound_with_shift(s32 soundID, u8 volume, u8 pan, s16 pitchShift);
|
||||
void snd_adjust_sound(s32 soundID, u8 volume, u8 pan);
|
||||
|
@ -42,8 +46,8 @@ AuResult func_80055B80(s32 songName);
|
|||
AuResult func_80055BB8(s32 songName, s32 fadeTime);
|
||||
AuResult func_80055BF0(s32 songName);
|
||||
AuResult func_80055C2C(s32 songName);
|
||||
AuResult func_80055C64(s32 songName);
|
||||
AuResult func_80055C94(s32 songName);
|
||||
AuResult snd_song_set_volume_quiet(s32 songName);
|
||||
AuResult snd_song_set_volume_full(s32 songName);
|
||||
AuResult snd_song_set_linked_mode(s32 songName, s32 mode);
|
||||
//AuResult snd_song_get_playing_info(s32 songName, BGMHeader** outTrackData, BGMPlayer** outPlayer);
|
||||
AuResult snd_song_set_playback_rate(s32 songName, f32 arg1);
|
||||
|
@ -62,7 +66,7 @@ void snd_song_poll_music_events(u32** arg0, s32* arg1);
|
|||
void snd_song_flush_music_events(void);
|
||||
void snd_song_trigger_music_event(s32 playerID, s32 trackIndex, s32 eventInfo);
|
||||
void snd_song_clear_music_events(void);
|
||||
//void func_80056144(AuCallback arg0, s32 arg1);
|
||||
//void snd_register_callback(AuCallback func, s32 index);
|
||||
void snd_set_stereo(void);
|
||||
void snd_set_mono(void);
|
||||
void snd_set_bgm_volume(VolumeLevels volume);
|
||||
|
@ -71,10 +75,12 @@ void snd_set_sfx_reverb_type(s32 arg0);
|
|||
void snd_enable_sfx(void);
|
||||
void snd_disable_sfx(void);
|
||||
|
||||
|
||||
enum AuResult bgm_set_track_volumes(s32 playerIndex, s16 trackVolSet);
|
||||
enum AuResult bgm_clear_track_volumes(s32 playerIndex, s16 trackVolSet);
|
||||
enum AuResult bgm_set_linked_mode(s32 playerIndex, s16 mode);
|
||||
// ----------------------------------------------------------------------------------
|
||||
// bgm_control.c
|
||||
// ----------------------------------------------------------------------------------
|
||||
AuResult bgm_set_track_volumes(s32 playerIndex, s16 trackVolSet);
|
||||
AuResult bgm_clear_track_volumes(s32 playerIndex, s16 trackVolSet);
|
||||
AuResult bgm_set_linked_mode(s32 playerIndex, s16 mode);
|
||||
void bgm_quiet_max_volume(void);
|
||||
void bgm_reset_max_volume(void);
|
||||
void bgm_reset_volume(void);
|
||||
|
@ -83,7 +89,6 @@ s32 bgm_set_song(s32 playerIndex, s32 songID, s32 variation, s32 fadeOutTime, s1
|
|||
void bgm_set_battle_song(s32, s32);
|
||||
void bgm_push_battle_song(void);
|
||||
s32 bgm_adjust_proximity(s32 playerIndex, s32 arg1, s16 arg2);
|
||||
void func_801491E4(Matrix4f mtx, s32, s32, s32, s32, s32 alpha);
|
||||
s32 bgm_fade_in_song(s32 playerIndex, s32 songID, s32 variation, s32 fadeInTime, s16 arg4, s16 arg5);
|
||||
|
||||
void bgm_update_music_settings(void);
|
||||
|
@ -93,7 +98,9 @@ void bgm_pop_song(void);
|
|||
void bgm_push_song(s32 songID, s32 variation);
|
||||
void bgm_pop_battle_song(void);
|
||||
|
||||
// sfx.h
|
||||
// ----------------------------------------------------------------------------------
|
||||
// sfx_control.c
|
||||
// ----------------------------------------------------------------------------------
|
||||
void sfx_reset_door_sounds(void);
|
||||
void sfx_clear_sounds(void);
|
||||
void sfx_clear_env_sounds(s16 playSounds);
|
||||
|
|
|
@ -483,7 +483,7 @@ void au_sfx_init(SoundManager* manager, u8 priority, u8 busID, AuGlobals* global
|
|||
}
|
||||
|
||||
manager->busVolume = AU_MAX_BUS_VOLUME;
|
||||
manager->baseVolume = 0x8000;
|
||||
manager->baseVolume = AU_MAX_BUS_VOLUME;
|
||||
manager->frameCounter = 0;
|
||||
manager->randomValue = 0;
|
||||
|
||||
|
@ -524,7 +524,7 @@ void au_sfx_init(SoundManager* manager, u8 priority, u8 busID, AuGlobals* global
|
|||
au_sfx_set_state(manager, SND_MANAGER_STATE_ENABLED);
|
||||
au_sfx_clear_queue(manager);
|
||||
au_fade_init(&manager->fadeInfo, 0, AU_MAX_VOLUME_16, AU_MAX_VOLUME_16);
|
||||
au_fade_set_volume(manager->busID, manager->fadeInfo.curVolume.u16, manager->busVolume);
|
||||
au_fade_set_volume(manager->busID, manager->fadeInfo.baseVolume.u16, manager->busVolume);
|
||||
manager->lastCustomEffectIdx = 0xFF;
|
||||
|
||||
manager->customReverbParams[0] = CUSTOM_SMALL_ROOM_PARAMS;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
static u8* snd_song_get_track_volumes_set(MusicTrackVols arg0);
|
||||
|
||||
s32 PreventBGMPlayerUpdate = FALSE;
|
||||
u16 D_80078DB4 = 0;
|
||||
u16 SoundEngineReady = 0;
|
||||
u16 AmbienceRadioChannel = 0;
|
||||
|
||||
// lists of data:
|
||||
|
@ -101,32 +101,32 @@ u8 TrackVols_KPA_3[] = {
|
|||
0
|
||||
};
|
||||
|
||||
void func_80055050(ALHeap* heap) {
|
||||
D_80078DB4 = 1;
|
||||
void snd_notify_engine_ready(ALHeap* heap) {
|
||||
SoundEngineReady = 1;
|
||||
PreventBGMPlayerUpdate = FALSE;
|
||||
}
|
||||
|
||||
/// Unused
|
||||
/// Seems to be an early function that accepts a command to play any kind of audio asset,
|
||||
// but only BGM and SFX are supported.
|
||||
void func_80055068(u32 arg0) {
|
||||
u16 temp_a0 = D_80078DB4;
|
||||
u32 temp_v1 = arg0 & 0xF;
|
||||
void snd_legacy_sound_dispatch(u32 id) {
|
||||
u16 ready = SoundEngineReady;
|
||||
u32 type = id & 0xF;
|
||||
|
||||
if (temp_a0 == 1) {
|
||||
switch (temp_v1) {
|
||||
if (ready == 1) {
|
||||
switch (type) {
|
||||
case 2:
|
||||
case 3:
|
||||
break;
|
||||
case 4:
|
||||
snd_start_sound_with_shift(arg0 >> 4, 0, 0, 0);
|
||||
snd_start_sound_with_shift(id >> 4, 0, 0, 0);
|
||||
break;
|
||||
case 1:
|
||||
if (temp_v1 == 1) {
|
||||
s32 filename = snd_song_load((arg0 >> 4) & 0xFF, 0);
|
||||
if (type == 1) {
|
||||
s32 filename = snd_song_load((id >> 4) & 0xFF, 0);
|
||||
|
||||
if (filename > ASCII_TO_U32('0', ' ', ' ', '\0')) {
|
||||
snd_song_start_variation(filename, (arg0 >> 0xC) & 3);
|
||||
snd_song_start_variation(filename, (id >> 0xC) & 3);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -617,20 +617,20 @@ AuResult func_80055C2C(s32 songName) {
|
|||
return func_8004DE2C(&s);
|
||||
}
|
||||
|
||||
AuResult func_80055C64(s32 songName) {
|
||||
AuResult snd_song_set_volume_quiet(s32 songName) {
|
||||
SongUpdateEvent s;
|
||||
s.songName = songName;
|
||||
s.duration = 500;
|
||||
s.finalVolume = 0x2000;
|
||||
return func_8004E0F4(&s);
|
||||
s.finalVolume = 0.25001 * AU_MAX_VOLUME_16;
|
||||
return au_bgm_adjust_volume(&s);
|
||||
}
|
||||
|
||||
AuResult func_80055C94(s32 songName) {
|
||||
AuResult snd_song_set_volume_full(s32 songName) {
|
||||
SongUpdateEvent s;
|
||||
s.songName = songName;
|
||||
s.duration = 500;
|
||||
s.finalVolume = AU_MAX_VOLUME_16;
|
||||
return func_8004E0F4(&s);
|
||||
return au_bgm_adjust_volume(&s);
|
||||
}
|
||||
|
||||
AuResult snd_song_set_linked_mode(s32 songName, s32 mode) {
|
||||
|
|
|
@ -177,6 +177,8 @@ s32 spr_get_npc_color_variations(s32 npcSpriteID);
|
|||
|
||||
void create_shading_palette(Matrix4f mtx, s32 uls, s32 ult, s32 lrs, s32 lrt, s32 alpha, s32);
|
||||
|
||||
void func_801491E4(Matrix4f mtx, s32, s32, s32, s32, s32 alpha);
|
||||
|
||||
SpriteAnimData* spr_load_sprite(s32 idx, s32 arg1, s32 arg2);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -794,7 +794,7 @@ segments:
|
|||
- [auto, c, audio/ambience]
|
||||
- [auto, c, windows]
|
||||
- [auto, c, sprite_shading]
|
||||
- [auto, c, audio/sfx]
|
||||
- [auto, c, audio/sfx_control]
|
||||
- [auto, c, audio/bgm_control]
|
||||
- [auto, c, bss/engine2_post_bss]
|
||||
- start: 0xE1D60
|
||||
|
|
|
@ -807,7 +807,7 @@ segments:
|
|||
- [auto, c, audio/ambience]
|
||||
- [auto, c, windows]
|
||||
- [auto, c, sprite_shading]
|
||||
- [auto, c, audio/sfx]
|
||||
- [auto, c, audio/sfx_control]
|
||||
- [auto, c, audio/bgm_control]
|
||||
- [auto, c, bss/engine2_post_bss]
|
||||
- start: 0xE6620
|
||||
|
|
|
@ -873,7 +873,7 @@ segments:
|
|||
- [auto, c, audio/ambience]
|
||||
- [auto, c, windows]
|
||||
- [auto, c, sprite_shading]
|
||||
- [auto, c, audio/sfx]
|
||||
- [auto, c, audio/sfx_control]
|
||||
- [auto, c, audio/bgm_control]
|
||||
- [auto, c, bss/engine2_post_bss]
|
||||
- start: 0xE1610
|
||||
|
|
|
@ -840,7 +840,7 @@ segments:
|
|||
- [auto, c, audio/ambience]
|
||||
- [auto, c, windows]
|
||||
- [auto, c, sprite_shading]
|
||||
- [auto, c, audio/sfx]
|
||||
- [auto, c, audio/sfx_control]
|
||||
- [auto, c, audio/bgm_control]
|
||||
- [auto, c, bss/engine2_post_bss]
|
||||
- start: 0xE2DF0
|
||||
|
|
|
@ -558,7 +558,7 @@ func_8004DC80 = 0x8004DC80; // type:func rom:0x29080
|
|||
func_8004DCB8 = 0x8004DCB8; // type:func rom:0x290B8
|
||||
func_8004DE2C = 0x8004DE2C; // type:func rom:0x2922C
|
||||
func_8004DFD4 = 0x8004DFD4; // type:func rom:0x293D4
|
||||
func_8004E0F4 = 0x8004E0F4; // type:func rom:0x294F4
|
||||
au_bgm_adjust_volume = 0x8004E0F4; // type:func rom:0x294F4
|
||||
au_bgm_player_init = 0x8004E158; // type:func rom:0x29558
|
||||
au_bgm_set_effect_indices = 0x8004E344; // type:func rom:0x29744
|
||||
au_bgm_update_fade = 0x8004E3A4; // type:func rom:0x297A4
|
||||
|
@ -656,10 +656,10 @@ au_fade_init = 0x80053974; // type:func rom:0x2ED74
|
|||
au_fade_clear = 0x80053A18; // type:func rom:0x2EE18
|
||||
au_fade_update = 0x80053A28; // type:func rom:0x2EE28
|
||||
au_fade_set_volume = 0x80053A98; // type:func rom:0x2EE98
|
||||
au_unk_80053AC8 = 0x80053AC8; // type:func rom:0x2EEC8
|
||||
au_fade_flush = 0x80053AC8; // type:func rom:0x2EEC8
|
||||
au_fade_set_vol_scale = 0x80053AEC; // type:func rom:0x2EEEC
|
||||
au_unk_80053B04 = 0x80053B04; // type:func rom:0x2EF04
|
||||
au_unk_80053BA8 = 0x80053BA8; // type:func rom:0x2EFA8
|
||||
au_fade_update_envelope = 0x80053BA8; // type:func rom:0x2EFA8
|
||||
au_get_instrument = 0x80053BE8; // type:func rom:0x2EFE8
|
||||
au_get_bgm_player_and_file = 0x80053C58; // type:func rom:0x2F058
|
||||
au_get_bgm_player = 0x80053CB4; // type:func rom:0x2F0B4
|
||||
|
@ -687,8 +687,8 @@ au_memset = 0x80054E90; // type:func rom:0x30290
|
|||
au_copy_bytes = 0x80054F48; // type:func rom:0x30348
|
||||
au_copy_words = 0x80054F74; // type:func rom:0x30374
|
||||
au_load_BK_headers = 0x80054FC0; // type:func rom:0x303C0
|
||||
func_80055050 = 0x80055050; // type:func rom:0x30450
|
||||
func_80055068 = 0x80055068; // type:func rom:0x30468
|
||||
snd_notify_engine_ready = 0x80055050; // type:func rom:0x30450
|
||||
snd_legacy_sound_dispatch = 0x80055068; // type:func rom:0x30468
|
||||
snd_bgm_clear_legacy_commands = 0x80055110; // type:func rom:0x30510
|
||||
snd_bgm_enqueue_legacy_command = 0x8005513C; // type:func rom:0x3053C
|
||||
snd_start_sound = 0x800551E0; // type:func rom:0x305E0
|
||||
|
@ -727,8 +727,8 @@ func_80055B80 = 0x80055B80; // type:func rom:0x30F80
|
|||
func_80055BB8 = 0x80055BB8; // type:func rom:0x30FB8
|
||||
func_80055BF0 = 0x80055BF0; // type:func rom:0x30FF0
|
||||
func_80055C2C = 0x80055C2C; // type:func rom:0x3102C
|
||||
func_80055C64 = 0x80055C64; // type:func rom:0x31064
|
||||
func_80055C94 = 0x80055C94; // type:func rom:0x31094
|
||||
snd_song_set_volume_quiet = 0x80055C64; // type:func rom:0x31064
|
||||
snd_song_set_volume_full = 0x80055C94; // type:func rom:0x31094
|
||||
snd_song_set_linked_mode = 0x80055CC4; // type:func rom:0x310C4
|
||||
snd_song_get_playing_info = 0x80055CE8; // type:func rom:0x310E8
|
||||
snd_song_set_playback_rate = 0x80055D38; // type:func rom:0x31138
|
||||
|
@ -1411,7 +1411,7 @@ nuAuFrameCounter = 0x8007817C; // rom:0x5357C
|
|||
nuAuTaskStop = 0x80078180; // rom:0x53580
|
||||
AuSynUseStereo = 0x80078181; // rom:0x53581
|
||||
PreventBGMPlayerUpdate = 0x80078DB0; // rom:0x541B0
|
||||
D_80078DB4 = 0x80078DB4; // rom:0x541B4
|
||||
SoundEngineReady = 0x80078DB4; // rom:0x541B4
|
||||
AuAmbienceEnabledOnlyPlayer = 0x80078DB6; // rom:0x541B6
|
||||
TrackVols_JAN_Full = 0x80078DB8; // rom:0x541B8
|
||||
TrackVols_Unused1 = 0x80078DC4; // rom:0x541C4
|
||||
|
|
Loading…
Reference in New Issue