mirror of
https://github.com/zeldaret/mm.git
synced 2026-06-13 13:46:26 -04:00
Audio Sfx Functions Decompiled and Documented (code_8019AF00.c) (#1242)
* sfx decomp and docs * function headers * namefixer * oops * better sfx name * PR review * namefixer * PR review * float * namefixer * namefixer * namefixer * PR Suggestions
This commit is contained in:
+11
-61
@@ -649,14 +649,14 @@ void func_800B8DD4(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4,
|
||||
void func_800B8E1C(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4);
|
||||
void Player_PlaySfx(Player* player, u16 sfxId);
|
||||
void Actor_PlaySfx(Actor* actor, u16 sfxId);
|
||||
void func_800B8EF4(PlayState* play, Actor* actor);
|
||||
void func_800B8F98(Actor* actor, u16 sfxId);
|
||||
void func_800B8FC0(Actor* actor, u16 sfxId);
|
||||
void func_800B8FE8(Actor* actor, u16 sfxId);
|
||||
void func_800B9010(Actor* actor, u16 sfxId);
|
||||
void func_800B9038(Actor* actor, s32 timer);
|
||||
void func_800B9084(Actor* actor);
|
||||
void func_800B9098(Actor* actor);
|
||||
void Actor_PlaySfx_SurfaceBomb(PlayState* play, Actor* actor);
|
||||
void Actor_PlaySfx_FlaggedCentered1(Actor* actor, u16 sfxId);
|
||||
void Actor_PlaySfx_FlaggedCentered2(Actor* actor, u16 sfxId);
|
||||
void Actor_PlaySfx_FlaggedCentered3(Actor* actor, u16 sfxId);
|
||||
void Actor_PlaySfx_Flagged(Actor* actor, u16 sfxId);
|
||||
void Actor_PlaySfx_FlaggedTimer(Actor* actor, s32 timer);
|
||||
void Actor_PlaySeq_FlaggedKamaroDance(Actor* actor);
|
||||
void Actor_PlaySeq_FlaggedMusicBoxHouse(Actor* actor);
|
||||
s32 func_800B90AC(PlayState* play, Actor* actor, CollisionPoly* polygon, s32 bgId, Vec3f* arg4);
|
||||
void Actor_DeactivateLens(PlayState* play);
|
||||
void Actor_InitHalfDaysBit(ActorContext* actorCtx);
|
||||
@@ -900,9 +900,9 @@ void* Lib_MemSet(void* buffer, s32 value, size_t size);
|
||||
void func_800FF3A0(f32* distOut, s16* angleOut, Input* input);
|
||||
void Actor_ProcessInitChain(Actor* actor, InitChainEntry* ichain);
|
||||
void Color_RGBA8_Copy(Color_RGBA8* dst, Color_RGBA8* src);
|
||||
void func_801000A4(u16 sfxId);
|
||||
void func_801000CC(u16 sfxId);
|
||||
void Lib_PlaySfxAtPos(Vec3f* pos, u16 sfxId);
|
||||
void Lib_PlaySfx(u16 sfxId);
|
||||
void Lib_PlaySfx_2(u16 sfxId);
|
||||
void Lib_PlaySfx_AtPos(Vec3f* pos, u16 sfxId);
|
||||
void Lib_Vec3f_TranslateAndRotateY(Vec3f* translation, s16 rotAngle, Vec3f* src, Vec3f* dst);
|
||||
void Lib_LerpRGB(Color_RGB8* a, Color_RGB8* b, f32 t, Color_RGB8* dst);
|
||||
void Lib_Nop801004FC(void);
|
||||
@@ -1873,53 +1873,12 @@ void AudioOcarina_PlayLongScarecrowSong(void);
|
||||
|
||||
void Audio_Update(void);
|
||||
void AudioSfx_SetProperties(u8 bankId, u8 entryIndex, u8 channelIndex);
|
||||
void play_sound(u16 sfxId);
|
||||
void func_8019F128(u16 sfxId);
|
||||
void func_8019F170(Vec3f* pos, u16 sfxId);
|
||||
void Audio_PlaySfxAtPos(Vec3f* pos, u16 sfxId);
|
||||
void func_8019F208(void); // decide sfx
|
||||
void func_8019F230(void); // cancel sfx
|
||||
void func_8019F420(Vec3f* pos, u16 sfxId);
|
||||
void func_8019F4AC(Vec3f* pos, u16 sfxId);
|
||||
void func_8019F540(s8 arg0);
|
||||
void AudioSfx_LowerSfxSettingsReverb(Vec3f* pos, s8 isReverbLowered);
|
||||
f32 func_8019F5AC(f32 arg0);
|
||||
void func_8019F638(Vec3f* arg0, u16 sfxId, f32 arg2);
|
||||
void func_8019F780(Vec3f* arg0, u16 sfxId, f32 arg2);
|
||||
// void func_8019F7D8(void);
|
||||
void func_8019F830(Vec3f* arg0, u16 arg1);
|
||||
void func_8019F88C(Vec3f* arg0, u16 sfxId, UNK_TYPE arg2);
|
||||
void func_8019F900(Vec3f* pos, u8 chargeLevel);
|
||||
// void func_8019FA18(void);
|
||||
void func_8019FAD8(Vec3f* param_1, u16 sfxId, f32 param_3);
|
||||
void func_8019FB0C(Vec3f* arg0, u16 sfxId, f32 arg2, s32 arg3);
|
||||
void func_8019FC20(Vec3f* pos, u16 sfxId);
|
||||
void func_8019FCB8(Vec3f* arg0, u16 arg1, f32 arg2);
|
||||
void func_8019FD90(s8 arg0, s8 arg1);
|
||||
void func_8019FDC8(UNK_PTR arg0, u16 sfxId, UNK_TYPE arg2);
|
||||
// void func_8019FE1C(void);
|
||||
void func_8019FE74(f32* arg0, f32 arg1, s32 arg2);
|
||||
// void func_8019FEDC(void);
|
||||
// void func_8019FF38(void);
|
||||
void Audio_PlaySfxForRiver(Vec3f* pos, f32 freqScale);
|
||||
// void Audio_PlaySfxForWaterfall(void);
|
||||
// void Audio_StepFreqLerp(void);
|
||||
void func_801A0124(Vec3f* pos, u8 arg1);
|
||||
void Audio_SetBgmVolumeOff(void);
|
||||
void Audio_SetBgmVolumeOn(void);
|
||||
void func_801A0204(s8 seqId);
|
||||
void Audio_SetMainBgmVolume(u8 targetVolume, u8 volumeFadeTimer);
|
||||
// void Audio_SetGanonsTowerBgmVolumeLevel(void);
|
||||
// void Audio_SetGanonsTowerBgmVolume(void);
|
||||
// void Audio_UpdateRiverSoundVolumes(void);
|
||||
// void func_801A0554(void);
|
||||
// void func_801A05F0(void);
|
||||
void AudioSfx_SetChannelIO(Vec3f* pos, u16 sfxId, u8 ioData);
|
||||
void func_801A0810(Vec3f* arg0, u16 sfxId, u8 arg2);
|
||||
void func_801A0868(Vec3f* pos, u16 sfxId, u8 val);
|
||||
// void func_801A09D4(void);
|
||||
// void Audio_SplitBgmChannels(void);
|
||||
// void func_801A0E44(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
// void func_801A1290(void);
|
||||
// void func_801A1348(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
// void func_801A13BC(void);
|
||||
@@ -1958,7 +1917,6 @@ u8 func_801A3950(s32 playerIndex, s32 isChannelIOSet);
|
||||
u8 func_801A39F8(void);
|
||||
void func_801A3A7C(s32 arg0);
|
||||
// void func_801A3AC0(void);
|
||||
void func_801A3AEC(s32 arg0);
|
||||
void func_801A3B48(UNK_TYPE arg0);
|
||||
// void func_801A3B90(void);
|
||||
void func_801A3CD8(s8 param_1);
|
||||
@@ -1967,23 +1925,15 @@ void func_801A3D98(s8 audioSetting);
|
||||
void func_801A3E38(u8 arg0);
|
||||
void func_801A3EC0(u8 arg0);
|
||||
void Audio_SetCutsceneFlag(s8 flag);
|
||||
// void func_801A3F6C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||
// void func_801A3FB4(void);
|
||||
// void func_801A3FFC(UNK_TYPE1 param_1);
|
||||
void Audio_SetSpec(u32 specId);
|
||||
void func_801A4058(UNK_TYPE arg0);
|
||||
void func_801A41C8(s32 arg0);
|
||||
void func_801A41F8(UNK_TYPE arg0);
|
||||
// void func_801A429C(void);
|
||||
// void func_801A42C8(void);
|
||||
// void func_801A4324(void);
|
||||
// void func_801A4348(void);
|
||||
void Audio_SetSfxVolumeExceptSystemAndOcarinaBanks(u8 arg0);
|
||||
void func_801A4428(u8 reverbIndex);
|
||||
void Audio_PreNMI(void);
|
||||
s32 func_801A46F8(void);
|
||||
void func_801A4748(Vec3f* pos, u16 sfxId);
|
||||
void func_801A479C(Vec3f* arg0, u16 sfxId, s32 arg2);
|
||||
void Audio_SetAmbienceChannelIO(u8 channelIndexRange, u8 ioPort, u8 ioData);
|
||||
void Audio_PlayAmbience(u8 ambienceId);
|
||||
void Audio_Init(void);
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef SFX_H
|
||||
#define SFX_H
|
||||
|
||||
#include "z64math.h"
|
||||
|
||||
/**
|
||||
* With `SFX_FLAG` on, play the entire sfx audio clip.
|
||||
* Requesting the sfx while playing will restart the sfx from the beginning.
|
||||
@@ -2354,4 +2356,44 @@ typedef enum {
|
||||
#undef DEFINE_SFX
|
||||
*/
|
||||
|
||||
typedef enum SfxPauseMenu {
|
||||
/* 0 */ SFX_PAUSE_MENU_CLOSE,
|
||||
/* 1 */ SFX_PAUSE_MENU_OPEN
|
||||
} SfxPauseMenu;
|
||||
|
||||
// Various wrappers to AudioSfx_PlaySfx
|
||||
void Audio_PlaySfx(u16 sfxId);
|
||||
void Audio_PlaySfx_2(u16 sfxId);
|
||||
void Audio_PlaySfx_AtPosWithPresetLowFreqAndHighReverb(Vec3f* pos, u16 sfxId);
|
||||
void Audio_PlaySfx_AtPos(Vec3f* pos, u16 sfxId);
|
||||
void Audio_PlaySfx_MessageDecide(void);
|
||||
void Audio_PlaySfx_MessageCancel(void);
|
||||
void Audio_PlaySfx_Underwater(Vec3f* pos, u16 sfxId);
|
||||
void Audio_PlaySfx_WithSfxSettingsReverb(Vec3f* pos, u16 sfxId);
|
||||
void Audio_PlaySfx_AtPosForMetalEffectsWithSyncedFreqAndVolume(Vec3f* pos, u16 sfxId, f32 freqVolParam);
|
||||
void Audio_PlaySfx_AtPosWithSyncedFreqAndVolume(Vec3f* pos, u16 sfxId, f32 freqVolParam);
|
||||
void Audio_PlaySfx_GiantsMask(Vec3f* pos, u16 sfxId);
|
||||
void Audio_PlaySfx_Randomized(Vec3f* pos, u16 baseSfxId, u8 randLim);
|
||||
void Audio_PlaySfx_SwordCharge(Vec3f* pos, u8 chargeLevel);
|
||||
void Audio_PlaySfx_AtPosWithFreq(Vec3f* pos, u16 sfxId, f32 freqScale);
|
||||
void Audio_PlaySfx_AtPosWithFreqAndChannelIO(Vec3f* pos, u16 sfxId, f32 freqScale, u8 arg3);
|
||||
void Audio_PlaySfx_WaterWheel(Vec3f* pos, u16 sfxId);
|
||||
void Audio_PlaySfx_AtPosWithTimer(Vec3f* pos, u16 sfxId, f32 timerShiftedLerp);
|
||||
void Audio_PlaySfx_AtPosWithReverb(Vec3f* pos, u16 sfxId, s8 reverbAdd);
|
||||
void Audio_PlaySfx_AtPosWithVolume(Vec3f* pos, u16 sfxId, f32 volume);
|
||||
void Audio_PlaySfx_River(Vec3f* pos, f32 freqScale);
|
||||
void Audio_PlaySfx_BigBells(Vec3f* pos, u8 volumeIndex);
|
||||
void Audio_PlaySfx_AtPosWithChannelIO(Vec3f* pos, u16 sfxId, u8 ioData);
|
||||
void Audio_PlaySfx_AtPosWithAllChannelsIO(Vec3f* pos, u16 sfxId, u8 ioData);
|
||||
void Audio_PlaySfx_PauseMenuOpenOrClose(u8 pauseMenuOpenOrClose);
|
||||
void Audio_PlaySfx_IfNotInCutscene(u16 sfxId);
|
||||
void Audio_PlaySfx_AtFixedPos(Vec3f* pos, u16 sfxId);
|
||||
void Audio_PlaySfx_AtPosWithVolumeTransition(Vec3f* pos, u16 sfxId, u16 duration);
|
||||
|
||||
// Sfx helper functions
|
||||
void Audio_SetSfxUnderwaterReverb(s8 isUnderwaterReverbActivated);
|
||||
void Audio_SetSfxTimerLerpInterval(s8 timerLerpRange1, s8 timerLerpRange2);
|
||||
void Audio_SetSfxVolumeTransition(f32* volume, f32 volumeTarget, u16 duration);
|
||||
void Audio_SetSfxReverbIndexExceptOcarinaBank(u8 reverbIndex);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user