Starship/include/sf64audio_external.h
petrie911 a7aac0753d
torch update, ast_area_6 and ast_vs_player, new names (#169)
* split up

* format

* torch

* headers

* just keep going

* torch

* names and such

* format

* remove headers
2024-03-17 01:06:28 -03:00

149 lines
3.8 KiB
C

#ifndef SF64_AUDIO_EXTERNAL_H
#define SF64_AUDIO_EXTERNAL_H
#include "sys.h"
#include "audioseq_cmd.h"
#define AUDIO_PLAY_SFX(sfxId, srcPos, token) (Audio_PlaySfx((sfxId),(srcPos),(token),&gDefaultMod,&gDefaultMod,&gDefaultReverb))
#define AUDIO_PLAY_BGM(seqId) Audio_PlaySequence(SEQ_PLAYER_BGM, (seqId), 0, -1)
typedef enum {
/* 0 */ SOUNDMODE_STEREO,
/* 1 */ SOUNDMODE_HEADSET,
/* 2 */ SOUNDMODE_SURROUND,
/* 3 */ SOUNDMODE_MONO
} SoundMode;
typedef enum {
SEQ_ID_0,
SEQ_ID_1,
SEQ_ID_2,
SEQ_ID_3,
SEQ_ID_4,
SEQ_ID_5,
SEQ_ID_6,
SEQ_ID_7,
SEQ_ID_8,
SEQ_ID_9,
SEQ_ID_10,
SEQ_ID_11,
SEQ_ID_12,
SEQ_ID_13,
SEQ_ID_14,
SEQ_ID_15,
SEQ_ID_16,
SEQ_ID_17,
SEQ_ID_18,
SEQ_ID_19,
SEQ_ID_20,
SEQ_ID_21,
SEQ_ID_22,
SEQ_ID_23,
SEQ_ID_24,
SEQ_ID_25,
SEQ_ID_26,
SEQ_ID_27,
SEQ_ID_28,
SEQ_ID_29,
SEQ_ID_30,
SEQ_ID_31,
SEQ_ID_32,
SEQ_ID_33,
SEQ_ID_34,
SEQ_ID_35,
SEQ_ID_36,
SEQ_ID_37,
SEQ_ID_38,
SEQ_ID_39,
SEQ_ID_40,
SEQ_ID_41,
SEQ_ID_42,
SEQ_ID_43,
SEQ_ID_44,
SEQ_ID_45,
SEQ_ID_46,
SEQ_ID_47,
SEQ_ID_48,
SEQ_ID_49,
SEQ_ID_50,
SEQ_ID_51,
SEQ_ID_52,
SEQ_ID_53,
SEQ_ID_54,
SEQ_ID_55,
SEQ_ID_56,
SEQ_ID_57,
SEQ_ID_58,
SEQ_ID_59,
SEQ_ID_60,
SEQ_ID_61,
SEQ_ID_62,
SEQ_ID_63,
SEQ_ID_64,
SEQ_ID_65,
SEQ_ID_66,
SEQ_ID_67,
SEQ_ID_68,
SEQ_ID_69,
} BgmSeqIds;
extern f32 gDefaultSfxSource[];
extern f32 gDefaultMod;
extern s8 gDefaultReverb;
void Audio_PlaySfx(u32 sfxId, f32* sfxSource, u8 token, f32* freqMod, f32* volMod, s8* reverbAdd);
void Audio_KillSfxByBank(u8 bankId);
void Audio_StopSfxByBankAndSource(u8 bankId, f32* sfxSource);
void Audio_KillSfxByBankAndSource(u8 bankId, f32* sfxSource);
void Audio_KillSfxBySource(f32* sfxSource);
void Audio_KillSfxBySourceAndId(f32* sfxSource, u32 sfxId);
void Audio_KillSfxByTokenAndId(u8 token, u32 sfxId);
void Audio_KillSfxById(u32 sfxId);
void Audio_PlayVoice(s32 msgId);
void Audio_PlayVoiceWithoutBGM(u32 msgId);
void Audio_ClearVoice(void);
s32 Audio_GetCurrentVoice(void);
s32 Audio_GetCurrentVoiceStatus(void);
void func_8001AF40(u8 unkVoiceParam);
u8* Audio_UpdateFrequencyAnalysis(void);
void func_8001C8B8(u8 playerId);
void func_8001CA24(u8 playerId);
void func_8001CB80(u8 playerId, u8 arg1);
void func_8001CCDC(u8 playerId, f32* sfxSource);
void func_8001CE28(u8 playerId, f32* sfxSource);
void func_8001CF60(f32* sfxSource);
void func_8001CFA8(f32 arg0);
void func_8001D034(f32* sfxSource, u32 sfxId, u8 semitones);
void func_8001D0B4(f32* sfxSource, u32 sfxId, f32 freqMod);
void func_8001D10C(f32* sfxSource, u32 sfxId);
void func_8001D15C(u8 arg0);
void func_8001D1C8(u8 arg0, u8 arg1);
void func_8001D2FC(f32* sfxSource, u16 arg1);
void func_8001D3A0(f32* sfxSource, u16 arg1);
void Audio_SetBaseSfxReverb(s8 reverb);
void Audio_SetBgmParam(s8 bgmParam);
void Audio_PlaySequence(u8 seqPlayId, u16 seqId, u8 fadeinTime, u8 bgmParam);
void Audio_PlayFanfare(u16 seqId, u8 bgmVolume, u8 bgmFadeoutTime, u8 bgmFadeinTime);
void func_8001D520(void);
void func_8001D638(u8 arg0);
void func_8001D6DC(u8 arg0);
void func_8001D8A8(u8 audioType, u8 volume);
void Audio_PlaySoundTest(u8 enable);
void Audio_PlaySequenceDistorted(u8 seqPlayId, u16 seqId, u16 distortion, u8 duration, u8 unused);
void Audio_PlaySoundTestTrack(u8 trackNumber);
void Audio_FadeOutAll(u8 fadeoutTime);
void Audio_KillAllSfx(void);
void Audio_SetAudioSpec(u8 unused, u16 specParam);
void Audio_PlayBgm(u16 seqId);
// used by sys or related
void AudioLoad_Init(void);
void func_80016A50(void);
void Audio_InitSounds(void);
void Audio_Update(void);
SPTask* AudioThread_CreateTask(void);
void AudioThread_PreNMIReset(void);
#endif