mirror of
https://github.com/izzy2lost/Starship.git
synced 2026-07-05 15:19:42 -07:00
Use SF3DS BGM names, some other audio-related cleanup. (#235)
* remember to undo mods * bgm macros
This commit is contained in:
Vendored
+2
-1
@@ -142,7 +142,8 @@
|
||||
"compare": "c",
|
||||
"os_motor.h": "c",
|
||||
"os_pfs.h": "c",
|
||||
"semaphore": "c"
|
||||
"semaphore": "c",
|
||||
"bgm.h": "c"
|
||||
},
|
||||
"C_Cpp_Runner.msvcBatchPath": ""
|
||||
}
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
#ifndef BGM_H
|
||||
#define BGM_H
|
||||
|
||||
#include "sys.h"
|
||||
|
||||
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 Audio_PlayDeathSequence(void);
|
||||
void Audio_PlaySoundTest(u8 enable);
|
||||
void Audio_PlaySequenceDistorted(u8 seqPlayId, u16 seqId, u16 distortion, u8 fadeinTime, u8 unused);
|
||||
void Audio_PlaySoundTestTrack(u8 trackNumber);
|
||||
void Audio_PlayBgm(u16 seqId);
|
||||
|
||||
#define AUDIO_PLAY_BGM(seqId) Audio_PlaySequence(SEQ_PLAYER_BGM, (seqId), 0, -1)
|
||||
|
||||
typedef enum BgmSeqIds {
|
||||
/* 0 */ SEQ_ID_SFX,
|
||||
/* 1 */ SEQ_ID_VOICE,
|
||||
/* 2 */ SEQ_ID_CORNERIA,
|
||||
/* 3 */ SEQ_ID_METEO,
|
||||
/* 4 */ SEQ_ID_TITANIA,
|
||||
/* 5 */ SEQ_ID_SECTOR_X,
|
||||
/* 6 */ SEQ_ID_ZONESS,
|
||||
/* 7 */ SEQ_ID_AREA_6,
|
||||
/* 8 */ SEQ_ID_VENOM_1,
|
||||
/* 9 */ SEQ_ID_SECTOR_Y,
|
||||
/* 10 */ SEQ_ID_FORTUNA,
|
||||
/* 11 */ SEQ_ID_SOLAR,
|
||||
/* 12 */ SEQ_ID_BOLSE,
|
||||
/* 13 */ SEQ_ID_KATINA,
|
||||
/* 14 */ SEQ_ID_AQUAS,
|
||||
/* 15 */ SEQ_ID_SECTOR_Z,
|
||||
/* 16 */ SEQ_ID_MACBETH,
|
||||
/* 17 */ SEQ_ID_ANDROSS,
|
||||
/* 18 */ SEQ_ID_BOSS_CO_1,
|
||||
/* 19 */ SEQ_ID_BOSS_ME,
|
||||
/* 20 */ SEQ_ID_BOSS_TI,
|
||||
/* 21 */ SEQ_ID_BOSS_SX,
|
||||
/* 22 */ SEQ_ID_BOSS_ZO,
|
||||
/* 23 */ SEQ_ID_BOSS_A6,
|
||||
/* 24 */ SEQ_ID_BOSS_VE,
|
||||
/* 25 */ SEQ_ID_BOSS_SY,
|
||||
/* 26 */ SEQ_ID_UNK_26,
|
||||
/* 27 */ SEQ_ID_BOSS_SO,
|
||||
/* 28 */ SEQ_ID_BOSS_BO,
|
||||
/* 29 */ SEQ_ID_BOSS_KA,
|
||||
/* 30 */ SEQ_ID_BOSS_AQ,
|
||||
/* 31 */ SEQ_ID_BOSS_SZ,
|
||||
/* 32 */ SEQ_ID_BOSS_MA,
|
||||
/* 33 */ SEQ_ID_BOSS_ANDROSS,
|
||||
/* 34 */ SEQ_ID_TITLE,
|
||||
/* 35 */ SEQ_ID_OPENING,
|
||||
/* 36 */ SEQ_ID_MENU,
|
||||
/* 37 */ SEQ_ID_CO_INTRO,
|
||||
/* 38 */ SEQ_ID_GOOD_END,
|
||||
/* 39 */ SEQ_ID_DEATH,
|
||||
/* 40 */ SEQ_ID_GAME_OVER,
|
||||
/* 41 */ SEQ_ID_UNK_41,
|
||||
/* 42 */ SEQ_ID_STAFF_ROLL,
|
||||
/* 43 */ SEQ_ID_STAR_WOLF,
|
||||
/* 44 */ SEQ_ID_INTRO_S,
|
||||
/* 45 */ SEQ_ID_INTRO_M,
|
||||
/* 46 */ SEQ_ID_VERSUS,
|
||||
/* 47 */ SEQ_ID_VS_HURRY,
|
||||
/* 48 */ SEQ_ID_BOSS_CO_2,
|
||||
/* 49 */ SEQ_ID_BAD_END,
|
||||
/* 50 */ SEQ_ID_ME_INTRO,
|
||||
/* 51 */ SEQ_ID_INTRO_51,
|
||||
/* 52 */ SEQ_ID_UNK_52,
|
||||
/* 53 */ SEQ_ID_UNK_53,
|
||||
/* 54 */ SEQ_ID_KATT,
|
||||
/* 55 */ SEQ_ID_BILL,
|
||||
/* 56 */ SEQ_ID_VS_MENU,
|
||||
/* 57 */ SEQ_ID_UNK_57,
|
||||
/* 58 */ SEQ_ID_WARP_ZONE,
|
||||
/* 59 */ SEQ_ID_UNK_59,
|
||||
/* 60 */ SEQ_ID_WORLD_MAP,
|
||||
/* 61 */ SEQ_ID_AND_BRAIN,
|
||||
/* 62 */ SEQ_ID_TO_ANDROSS,
|
||||
/* 63 */ SEQ_ID_TRAINING,
|
||||
/* 64 */ SEQ_ID_VE_CLEAR,
|
||||
/* 65 */ SEQ_ID_BOSS_RESUME,
|
||||
/* 66 */ SEQ_ID_MAX,
|
||||
/* -1 */ SEQ_ID_NONE = 0xFFFF,
|
||||
} BgmSeqIds;
|
||||
|
||||
#define SEQ_FLAG 0x8000
|
||||
|
||||
#define NA_BGM_SE (SEQ_ID_SFX)
|
||||
#define NA_BGM_VO (SEQ_ID_VOICE)
|
||||
#define NA_BGM_STAGE_CO (SEQ_ID_CORNERIA | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_ME (SEQ_ID_METEO | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_TI (SEQ_ID_TITANIA | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_SX (SEQ_ID_SECTOR_X | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_ZO (SEQ_ID_ZONESS | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_A6 (SEQ_ID_AREA_6 | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_SB (SEQ_ID_AREA_6 | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_VE1 (SEQ_ID_VENOM_1 | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_SY (SEQ_ID_SECTOR_Y | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_FO (SEQ_ID_FORTUNA | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_SO (SEQ_ID_SOLAR | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_BO (SEQ_ID_BOLSE | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_KA (SEQ_ID_KATINA | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_AQ (SEQ_ID_AQUAS)
|
||||
#define NA_BGM_STAGE_SZ (SEQ_ID_SECTOR_Z | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_MA (SEQ_ID_MACBETH | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_ANDROSS (SEQ_ID_ANDROSS | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_CO (SEQ_ID_BOSS_CO_1 | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_ME (SEQ_ID_BOSS_ME | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_TI (SEQ_ID_BOSS_TI | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_SX (SEQ_ID_BOSS_SX | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_ZO (SEQ_ID_BOSS_ZO | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_A6 (SEQ_ID_BOSS_A6 | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_SB (SEQ_ID_BOSS_A6 | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_VE (SEQ_ID_BOSS_VE | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_SY (SEQ_ID_BOSS_SY | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_FO (SEQ_ID_UNK_26 | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_SO (SEQ_ID_BOSS_SO | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_BO (SEQ_ID_BOSS_BO | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_KA (SEQ_ID_BOSS_KA | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_AQ (SEQ_ID_BOSS_AQ | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_SZ (SEQ_ID_BOSS_SZ | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_MA (SEQ_ID_BOSS_MA | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_ANDROSS (SEQ_ID_BOSS_ANDROSS | SEQ_FLAG)
|
||||
#define NA_BGM_TITLE (SEQ_ID_TITLE)
|
||||
#define NA_BGM_OPENING (SEQ_ID_OPENING)
|
||||
#define NA_BGM_SELECT (SEQ_ID_MENU)
|
||||
#define NA_BGM_RANKING (SEQ_ID_MENU)
|
||||
#define NA_BGM_START_DEMO (SEQ_ID_CO_INTRO)
|
||||
#define NA_BGM_COURSE_CLEAR (SEQ_ID_GOOD_END)
|
||||
#define NA_BGM_PLAYER_DOWN (SEQ_ID_DEATH)
|
||||
#define NA_BGM_GAME_OVER (SEQ_ID_GAME_OVER)
|
||||
#define NA_BGM_END_DEMO (SEQ_ID_UNK_41)
|
||||
#define NA_BGM_STAFF_ROLL (SEQ_ID_STAFF_ROLL)
|
||||
#define NA_BGM_STARWOLF (SEQ_ID_STAR_WOLF | SEQ_FLAG)
|
||||
#define NA_BGM_START_DEMO_S (SEQ_ID_INTRO_S)
|
||||
#define NA_BGM_START_DEMO_M (SEQ_ID_INTRO_M)
|
||||
#define NA_BGM_VOLUME_TEST (SEQ_ID_VERSUS)
|
||||
#define NA_BGM_BATTLE (SEQ_ID_VERSUS | SEQ_FLAG)
|
||||
#define NA_BGM_VS_00 (SEQ_ID_VERSUS | SEQ_FLAG)
|
||||
#define NA_BGM_VS_01 (SEQ_ID_VERSUS | SEQ_FLAG)
|
||||
#define NA_BGM_VS_02 (SEQ_ID_VERSUS | SEQ_FLAG)
|
||||
#define NA_BGM_BATTLE_LAST (SEQ_ID_VS_HURRY | SEQ_FLAG)
|
||||
#define NA_BGM_BOSS_A_CARRIER (SEQ_ID_BOSS_CO_2 | SEQ_FLAG)
|
||||
#define NA_BGM_COURSE_FAILURE (SEQ_ID_BAD_END)
|
||||
#define NA_BGM_ME_START_DEMO (SEQ_ID_ME_INTRO)
|
||||
#define NA_BGM_FO_START_DEMO (SEQ_ID_INTRO_51)
|
||||
#define NA_BGM_A6_START_DEMO (SEQ_ID_INTRO_51)
|
||||
#define NA_BGM_BO_START_DEMO (SEQ_ID_INTRO_51)
|
||||
#define NA_BGM_SO_START_DEMO (SEQ_ID_INTRO_51)
|
||||
#define NA_BGM_KA_START_DEMO (SEQ_ID_INTRO_51)
|
||||
#define NA_BGM_SZ_START_DEMO (SEQ_ID_INTRO_51)
|
||||
#define NA_BGM_AQ_START_DEMO (SEQ_ID_UNK_52)
|
||||
#define NA_BGM_VE_START_DEMO (SEQ_ID_UNK_53)
|
||||
#define NA_BGM_KATT (SEQ_ID_KATT)
|
||||
#define NA_BGM_BILL (SEQ_ID_BILL)
|
||||
#define NA_BGM_VS_SELECT (SEQ_ID_VS_MENU)
|
||||
#define NA_BGM_VS_RESULT (SEQ_ID_UNK_57)
|
||||
#define NA_BGM_STAGE_WZ (SEQ_ID_WARP_ZONE | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_AT (SEQ_ID_WARP_ZONE | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_SS (SEQ_ID_WARP_ZONE | SEQ_FLAG)
|
||||
#define NA_BGM_STAGE_BM3 (SEQ_ID_UNK_59 | SEQ_FLAG)
|
||||
#define NA_BGM_MAP (SEQ_ID_WORLD_MAP)
|
||||
#define NA_BGM_ANDROSS_BRAIN (SEQ_ID_AND_BRAIN | SEQ_FLAG)
|
||||
#define NA_BGM_DASH_INTO_BASE (SEQ_ID_TO_ANDROSS | SEQ_FLAG)
|
||||
#define NA_BGM_TRAINING (SEQ_ID_TRAINING | SEQ_FLAG)
|
||||
#define NA_BGM_ALL_CLEAR (SEQ_ID_VE_CLEAR | SEQ_FLAG)
|
||||
#define NA_BGM_REAL_BOSS (SEQ_ID_BOSS_RESUME | SEQ_FLAG)
|
||||
|
||||
#endif
|
||||
@@ -1,15 +1,15 @@
|
||||
#ifndef PREVENT_CONTEXT_REORDERING_H
|
||||
#define PREVENT_CONTEXT_REORDERING_H
|
||||
|
||||
extern int Dummyhalf;
|
||||
// extern int Dummyhalf;
|
||||
// struct Dummy0 {int x;};
|
||||
// struct Dummy1 {int x;};
|
||||
// struct Dummy2 {int x;};
|
||||
// struct Dummy3 {int x;};
|
||||
// struct Dummy4 {int x;};
|
||||
// struct Dummy5 {int x;};
|
||||
// struct Dummy6 {int x;};
|
||||
// struct Dummy7 {int x;};
|
||||
struct Dummy6 {int x;};
|
||||
struct Dummy7 {int x;};
|
||||
struct Dummy8 {int x;};
|
||||
struct Dummy9 {int x;};
|
||||
struct Dummy10 {int x;};
|
||||
|
||||
+35
-140
@@ -4,12 +4,31 @@
|
||||
#include "sys.h"
|
||||
#include "audioseq_cmd.h"
|
||||
#include "sfx.h"
|
||||
#include "bgm.h"
|
||||
|
||||
void Audio_PlayVoice(s32 msgId);
|
||||
void Audio_PlayVoiceWithoutBGM(u32 msgId);
|
||||
void Audio_ClearVoice(void);
|
||||
s32 Audio_GetCurrentVoice(void);
|
||||
s32 Audio_GetCurrentVoiceStatus(void);
|
||||
void Audio_SetUnkVoiceParam(u8 unkVoiceParam);
|
||||
|
||||
u8* Audio_UpdateFrequencyAnalysis(void);
|
||||
void Audio_SetVolume(u8 audioType, u8 volume);
|
||||
void Audio_FadeOutAll(u8 fadeoutTime);
|
||||
void Audio_SetAudioSpec(u8 unused, u16 specParam);
|
||||
|
||||
#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)
|
||||
#define AUDIO_SET_SPEC(sfxLayout, spec) Audio_SetAudioSpec(0, ((sfxLayout) << 8) | (spec))
|
||||
#define AUDIO_SET_SPEC_ALT(sfxLayout, spec) Audio_SetAudioSpec((sfxLayout), ((sfxLayout) << 8) | (spec))
|
||||
|
||||
// used by sys or related
|
||||
void AudioLoad_Init(void);
|
||||
void Audio_dummy_80016A50(void);
|
||||
void Audio_InitSounds(void);
|
||||
void Audio_Update(void);
|
||||
SPTask* AudioThread_CreateTask(void);
|
||||
void AudioThread_PreNMIReset(void);
|
||||
|
||||
typedef enum AudioType {
|
||||
/* 0 */ AUDIO_TYPE_MUSIC,
|
||||
/* 1 */ AUDIO_TYPE_VOICE,
|
||||
@@ -17,6 +36,20 @@ typedef enum AudioType {
|
||||
/* 3 */ AUDIO_TYPE_MAX,
|
||||
} AudioType;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ SOUNDMODE_STEREO,
|
||||
/* 1 */ SOUNDMODE_HEADSET,
|
||||
/* 2 */ SOUNDMODE_SURROUND,
|
||||
/* 3 */ SOUNDMODE_MONO
|
||||
} SoundMode;
|
||||
|
||||
typedef enum OptionSoundMode {
|
||||
/* 0 */ OPTIONSOUND_STEREO,
|
||||
/* 1 */ OPTIONSOUND_MONO,
|
||||
/* 2 */ OPTIONSOUND_HEADSET,
|
||||
/* 3 */ OPTIONSOUND_MAX,
|
||||
} OptionSoundMode;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ SFXCHAN_0,
|
||||
/* 1 */ SFXCHAN_1,
|
||||
@@ -56,142 +89,4 @@ typedef enum {
|
||||
/* 28 */ AUDIOSPEC_28,
|
||||
} AudioSpecID;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ SOUNDMODE_STEREO,
|
||||
/* 1 */ SOUNDMODE_HEADSET,
|
||||
/* 2 */ SOUNDMODE_SURROUND,
|
||||
/* 3 */ SOUNDMODE_MONO
|
||||
} SoundMode;
|
||||
|
||||
typedef enum BgmSeqIds {
|
||||
/* 0 */ SEQ_ID_SFX,
|
||||
/* 1 */ SEQ_ID_VOICE,
|
||||
/* 2 */ SEQ_ID_CORNERIA,
|
||||
/* 3 */ SEQ_ID_METEO,
|
||||
/* 4 */ SEQ_ID_TITANIA,
|
||||
/* 5 */ SEQ_ID_SECTOR_X,
|
||||
/* 6 */ SEQ_ID_ZONESS,
|
||||
/* 7 */ SEQ_ID_AREA_6,
|
||||
/* 8 */ SEQ_ID_VENOM_1,
|
||||
/* 9 */ SEQ_ID_SECTOR_Y,
|
||||
/* 10 */ SEQ_ID_FORTUNA,
|
||||
/* 11 */ SEQ_ID_SOLAR,
|
||||
/* 12 */ SEQ_ID_BOLSE,
|
||||
/* 13 */ SEQ_ID_KATINA,
|
||||
/* 14 */ SEQ_ID_AQUAS,
|
||||
/* 15 */ SEQ_ID_SECTOR_Z,
|
||||
/* 16 */ SEQ_ID_MACBETH,
|
||||
/* 17 */ SEQ_ID_ANDROSS,
|
||||
/* 18 */ SEQ_ID_CO_BOSS_1,
|
||||
/* 19 */ SEQ_ID_ME_BOSS,
|
||||
/* 20 */ SEQ_ID_TI_BOSS,
|
||||
/* 21 */ SEQ_ID_SX_BOSS,
|
||||
/* 22 */ SEQ_ID_ZO_BOSS,
|
||||
/* 23 */ SEQ_ID_A6_BOSS,
|
||||
/* 24 */ SEQ_ID_VE_BOSS,
|
||||
/* 25 */ SEQ_ID_SY_BOSS,
|
||||
/* 26 */ SEQ_ID_UNK_26,
|
||||
/* 27 */ SEQ_ID_SO_BOSS,
|
||||
/* 28 */ SEQ_ID_BO_BOSS,
|
||||
/* 29 */ SEQ_ID_KA_BOSS,
|
||||
/* 30 */ SEQ_ID_AQ_BOSS,
|
||||
/* 31 */ SEQ_ID_SZ_BOSS,
|
||||
/* 32 */ SEQ_ID_MA_BOSS,
|
||||
/* 33 */ SEQ_ID_AND_BOSS,
|
||||
/* 34 */ SEQ_ID_TITLE,
|
||||
/* 35 */ SEQ_ID_OPENING,
|
||||
/* 36 */ SEQ_ID_MENU,
|
||||
/* 37 */ SEQ_ID_CO_INTRO,
|
||||
/* 38 */ SEQ_ID_GOOD_END,
|
||||
/* 39 */ SEQ_ID_DEATH,
|
||||
/* 40 */ SEQ_ID_GAME_OVER,
|
||||
/* 41 */ SEQ_ID_UNK_41,
|
||||
/* 42 */ SEQ_ID_ENDING,
|
||||
/* 43 */ SEQ_ID_STAR_WOLF,
|
||||
/* 44 */ SEQ_ID_INTRO_44,
|
||||
/* 45 */ SEQ_ID_INTRO_45,
|
||||
/* 46 */ SEQ_ID_VERSUS,
|
||||
/* 47 */ SEQ_ID_VS_HURRY,
|
||||
/* 48 */ SEQ_ID_CO_BOSS_2,
|
||||
/* 49 */ SEQ_ID_BAD_END,
|
||||
/* 50 */ SEQ_ID_ME_INTRO,
|
||||
/* 51 */ SEQ_ID_INTRO_51,
|
||||
/* 52 */ SEQ_ID_UNK_52,
|
||||
/* 53 */ SEQ_ID_UNK_53,
|
||||
/* 54 */ SEQ_ID_KATT,
|
||||
/* 55 */ SEQ_ID_BILL,
|
||||
/* 56 */ SEQ_ID_VS_MENU,
|
||||
/* 57 */ SEQ_ID_UNK_57,
|
||||
/* 58 */ SEQ_ID_WARP_ZONE,
|
||||
/* 59 */ SEQ_ID_UNK_59,
|
||||
/* 60 */ SEQ_ID_WORLD_MAP,
|
||||
/* 61 */ SEQ_ID_AND_BRAIN,
|
||||
/* 62 */ SEQ_ID_TO_ANDROSS,
|
||||
/* 63 */ SEQ_ID_TRAINING,
|
||||
/* 64 */ SEQ_ID_VE_CLEAR,
|
||||
/* 65 */ SEQ_ID_BOSS_RESUME,
|
||||
/* 66 */ SEQ_ID_MAX,
|
||||
/* -1 */ SEQ_ID_NONE = 0xFFFF,
|
||||
} BgmSeqIds;
|
||||
|
||||
#define SEQ_FLAG 0x8000
|
||||
|
||||
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 Audio_SetUnkVoiceParam(u8 unkVoiceParam);
|
||||
u8* Audio_UpdateFrequencyAnalysis(void);
|
||||
void Audio_StartPlayerNoise(u8 playerId);
|
||||
void Audio_StopPlayerNoise(u8 playerId);
|
||||
void Audio_InitBombSfx(u8 playerId, u8 type);
|
||||
void Audio_PlayBombFlightSfx(u8 playerId, f32* sfxSource);
|
||||
void Audio_PlayBombExplodeSfx(u8 playerId, f32* sfxSource);
|
||||
void Audio_StopEngineNoise(f32* sfxSource);
|
||||
void Audio_SetSfxSpeedModulation(f32 vel);
|
||||
void Audio_SetTransposeAndPlaySfx(f32* sfxSource, u32 sfxId, u8 semitones);
|
||||
void Audio_SetModulationAndPlaySfx(f32* sfxSource, u32 sfxId, f32 freqMod);
|
||||
void Audio_PlaySfxModulated(f32* sfxSource, u32 sfxId);
|
||||
void Audio_SetSfxMapModulation(u8 fMod);
|
||||
void Audio_SetHeatAlarmParams(u8 shields, u8 heightParam);
|
||||
void Audio_PlayEventSfx(f32* sfxSource, u16 eventSfxId);
|
||||
void Audio_StopEventSfx(f32* sfxSource, u16 eventSfxId);
|
||||
void Audio_SetEnvSfxReverb(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 Audio_PlayDeathSequence(void);
|
||||
void Audio_PlayPauseSfx(u8 active);
|
||||
void Audio_PlayMapMenuSfx(u8 active);
|
||||
void Audio_SetVolume(u8 audioType, u8 volume);
|
||||
void Audio_PlaySoundTest(u8 enable);
|
||||
void Audio_PlaySequenceDistorted(u8 seqPlayId, u16 seqId, u16 distortion, u8 fadeinTime, 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 Audio_dummy_80016A50(void);
|
||||
void Audio_InitSounds(void);
|
||||
void Audio_Update(void);
|
||||
SPTask* AudioThread_CreateTask(void);
|
||||
void AudioThread_PreNMIReset(void);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
+105
-70
@@ -1,6 +1,41 @@
|
||||
#ifndef SFX_H
|
||||
#define SFX_H
|
||||
|
||||
#include "sys.h"
|
||||
|
||||
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_StartPlayerNoise(u8 playerId);
|
||||
void Audio_StopPlayerNoise(u8 playerId);
|
||||
void Audio_InitBombSfx(u8 playerId, u8 type);
|
||||
void Audio_PlayBombFlightSfx(u8 playerId, f32* sfxSource);
|
||||
void Audio_PlayBombExplodeSfx(u8 playerId, f32* sfxSource);
|
||||
void Audio_StopEngineNoise(f32* sfxSource);
|
||||
void Audio_SetSfxSpeedModulation(f32 vel);
|
||||
void Audio_SetTransposeAndPlaySfx(f32* sfxSource, u32 sfxId, u8 semitones);
|
||||
void Audio_SetModulationAndPlaySfx(f32* sfxSource, u32 sfxId, f32 freqMod);
|
||||
void Audio_PlaySfxModulated(f32* sfxSource, u32 sfxId);
|
||||
void Audio_SetSfxMapModulation(u8 fMod);
|
||||
void Audio_SetHeatAlarmParams(u8 shields, u8 heightParam);
|
||||
void Audio_PlayEventSfx(f32* sfxSource, u16 eventSfxId);
|
||||
void Audio_StopEventSfx(f32* sfxSource, u16 eventSfxId);
|
||||
void Audio_SetEnvSfxReverb(s8 reverb);
|
||||
void Audio_PlayPauseSfx(u8 active);
|
||||
void Audio_PlayMapMenuSfx(u8 active);
|
||||
void Audio_KillAllSfx(void);
|
||||
|
||||
#define AUDIO_PLAY_SFX(sfxId, srcPos, token) (Audio_PlaySfx((sfxId),(srcPos),(token),&gDefaultMod,&gDefaultMod,&gDefaultReverb))
|
||||
|
||||
#define SFX_FLAG_18 (1 << 18) // makes distance ignore z position? probably more
|
||||
#define SFX_FLAG_19 (1 << 19)
|
||||
#define SFX_FLAG_20 (1 << 20) // make priority ignore distance
|
||||
@@ -94,7 +129,7 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_ARWING_TWIN_LASER2 0x0940802B
|
||||
#define NA_SE_ARWING_WING_BROKEN 0x0900A02C
|
||||
#define NA_SE_LOCK_SEARCH 0x0900302D // Charge shot charge
|
||||
#define NA_SE_SPREAD_EXPLSION 0x0903502E // Charge shot/torpedo explode
|
||||
#define NA_SE_SPREAD_EXPLOSION 0x0903502E // Charge shot/torpedo explode
|
||||
#define NA_SE_TANK_DASH 0x0900402F
|
||||
#define NA_SE_MARINE_BOOST 0x09004030
|
||||
#define NA_SE_MARINE_BRAKE 0x09004031
|
||||
@@ -110,9 +145,9 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_OB_BLOCK_APPEAR 0x19122005
|
||||
#define NA_SE_OB_BOUND_M 0x19020006
|
||||
#define NA_SE_OB_ROCK_BOUND 0x19030006
|
||||
#define NA_SE_OB_AC_ROCK_BOUND 0x19400007
|
||||
#define NA_SE_OB_AQ_ROCK_BOUND 0x19400007
|
||||
#define NA_SE_METALBOMB_REFLECT 0x19020008
|
||||
#define NA_SE_OB_MC_SWITCH_UP 0x19033008
|
||||
#define NA_SE_OB_MA_SWITCH_UP 0x19033008
|
||||
#define NA_SE_METALBOMB_BOUND 0x19030009 // Unreferenced.
|
||||
#define NA_SE_TANK_SLIDE 0x1100000A
|
||||
#define NA_SE_SPLASH_LEVEL_S 0x1100000B
|
||||
@@ -129,7 +164,7 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_OB_WATER_BOUND_M 0x19000014
|
||||
#define NA_SE_OB_STEELFRAME 0x19500015
|
||||
#define NA_SE_EXPLOSION_DEMO2 0x11030016
|
||||
#define NA_SE_KT_UFO_FALLING 0x11404016
|
||||
#define NA_SE_KA_UFO_FALLING 0x11404016
|
||||
#define NA_SE_IN_SPLASH_S 0x19800017
|
||||
#define NA_SE_OUT_SPLASH_S 0x19800018 // Unreferenced.
|
||||
#define NA_SE_IN_SPLASH_L 0x19832019
|
||||
@@ -144,7 +179,7 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_EN_GATHER_PARTS 0x11033022
|
||||
#define NA_SE_EN_HEARTBEAT 0x11003023
|
||||
#define NA_SE_OB_SAND_BOUND_S 0x19000024
|
||||
#define NA_SE_KT_UFO_ENGINE 0x11037025
|
||||
#define NA_SE_KA_UFO_ENGINE 0x11037025
|
||||
#define NA_SE_MAP_ZOOM_OUT 0x19000026
|
||||
#define NA_SE_EN_BROKEN_SPARK 0x11000027
|
||||
#define NA_SE_OB_SPARK_BEAM 0x11000028
|
||||
@@ -170,16 +205,16 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_WARP_RING_5 0x1940443C
|
||||
#define NA_SE_WARP_RING_6 0x1940453D
|
||||
#define NA_SE_WARP_RING_7 0x1940463E
|
||||
#define NA_SE_KT_UFO_HATCH_OPEN 0x1903203F
|
||||
#define NA_SE_KT_UFO_HATCH_CLOSE 0x19032040
|
||||
#define NA_SE_KT_UFO_CORE_OPEN 0x19032041
|
||||
#define NA_SE_KA_UFO_HATCH_OPEN 0x1903203F
|
||||
#define NA_SE_KA_UFO_HATCH_CLOSE 0x19032040
|
||||
#define NA_SE_KA_UFO_CORE_OPEN 0x19032041
|
||||
#define NA_SE_BO_CORE_APPEAR 0x19034041
|
||||
#define NA_SE_KT_UFO_HATCH_STOP 0x19034042
|
||||
#define NA_SE_KT_UFO_LONG_CHARGE 0x11034043
|
||||
#define NA_SE_KT_UFO_LAST_CHARGE 0x19406044
|
||||
#define NA_SE_KT_UFO_BEAM 0x1140B045
|
||||
#define NA_SE_KA_UFO_HATCH_STOP 0x19034042
|
||||
#define NA_SE_KA_UFO_LONG_CHARGE 0x11034043
|
||||
#define NA_SE_KA_UFO_LAST_CHARGE 0x19406044
|
||||
#define NA_SE_KA_UFO_BEAM 0x1140B045
|
||||
#define NA_SE_EXPLOSION_DEMO3 0x11038046
|
||||
#define NA_SE_KT_UFO_BOUND 0x19408047
|
||||
#define NA_SE_KA_UFO_BOUND 0x19408047
|
||||
#define NA_SE_OB_BARRIER_RELEASE 0x19401048
|
||||
#define NA_SE_EN_SPACE_SNAKE 0x11032049
|
||||
#define NA_SE_OB_ROCKWALL_UP 0x1913204A
|
||||
@@ -200,43 +235,43 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_OB_ROCK_CRASH 0x19032056
|
||||
#define NA_SE_OB_ROCK_EYE_OPEN 0x19030057
|
||||
#define NA_SE_OB_SHIP_FALLDOWN 0x19033058
|
||||
#define NA_SE_EN_BMBOSS_BROKEN 0x19030059
|
||||
#define NA_SE_EN_VEBOSS_BROKEN 0x19030059
|
||||
#define NA_SE_OB_ARM_SWING 0x1903005A
|
||||
#define NA_SE_OB_POLE_MOVE 0x1903205B
|
||||
#define NA_SE_OB_POLE_BOUND 0x1903205C
|
||||
#define NA_SE_OB_HEAVY_SWITCH 0x1940405D
|
||||
#define NA_SE_OB_CONNECT_CUT 0x1940205E
|
||||
#define NA_SE_OB_MC_SWITCH_ON 0x1903205F
|
||||
#define NA_SE_OB_MC_SWITCH_GRN 0x19020060
|
||||
#define NA_SE_OB_MC_SWITCH_RED 0x19020061
|
||||
#define NA_SE_OB_MA_SWITCH_ON 0x1903205F
|
||||
#define NA_SE_OB_MA_SWITCH_GRN 0x19020060
|
||||
#define NA_SE_OB_MA_SWITCH_RED 0x19020061
|
||||
#define NA_SE_OB_POST_UP 0x19001062
|
||||
#define NA_SE_OB_SIDE_GATE_CLOSE 0x11001063
|
||||
#define NA_SE_OB_SPEAR_STICK 0x19032064
|
||||
#define NA_SE_RAILWAY_BOUND 0x19000065
|
||||
#define NA_SE_EN_MCBOSS_HATCH 0x19034066
|
||||
#define NA_SE_EN_MCBOSS_CHARGE0 0x19022067
|
||||
#define NA_SE_EN_MCBOSS_SHOT0 0x19023068
|
||||
#define NA_SE_EN_MCBOSS_PLATECHARGE 0x19022069
|
||||
#define NA_SE_VO_ANDORF_PUNCH 0x1940306A
|
||||
#define NA_SE_VO_ANDORF_SLAP 0x1940306B
|
||||
#define NA_SE_VO_ANDORF_WHAND 0x1940306C
|
||||
#define NA_SE_VO_ANDORF_CHOKE 0x1940306D
|
||||
#define NA_SE_VO_ANDORF_LAUGH 0x1940306E
|
||||
#define NA_SE_VO_ANDORF_GROAN 0x1940306F
|
||||
#define NA_SE_VO_ANDORF_DEATH 0x19403070
|
||||
#define NA_SE_OB_ROOT_EXPLOSION0 0x11403071
|
||||
#define NA_SE_EN_MABOSS_HATCH 0x19034066
|
||||
#define NA_SE_EN_MABOSS_CHARGE0 0x19022067
|
||||
#define NA_SE_EN_MABOSS_SHOT0 0x19023068
|
||||
#define NA_SE_EN_MABOSS_PLATECHARGE 0x19022069
|
||||
#define NA_SE_VO_ANDROSS_PUNCH 0x1940306A
|
||||
#define NA_SE_VO_ANDROSS_SLAP 0x1940306B
|
||||
#define NA_SE_VO_ANDROSS_WHAND 0x1940306C
|
||||
#define NA_SE_VO_ANDROSS_CHOKE 0x1940306D
|
||||
#define NA_SE_VO_ANDROSS_LAUGH 0x1940306E
|
||||
#define NA_SE_VO_ANDROSS_GROAN 0x1940306F
|
||||
#define NA_SE_VO_ANDROSS_DEATH 0x19403070
|
||||
#define NA_SE_OB_ROUTE_EXPLOSION0 0x11403071
|
||||
#define NA_SE_OB_ROUTEGATE_OPEN_Q 0x19038072
|
||||
#define NA_SE_EN_ANDORF_ROBOT 0x11030073
|
||||
#define NA_SE_EN_ANDORF_BRAIN 0x11034074
|
||||
#define NA_SE_EN_ANDORF_EYE 0x11032075
|
||||
#define NA_SE_OB_ROOT_EXPLOSION1 0x11403076
|
||||
#define NA_SE_EN_ANDROSS_ROBOT 0x11030073
|
||||
#define NA_SE_EN_ANDROSS_BRAIN 0x11034074
|
||||
#define NA_SE_EN_ANDROSS_EYE 0x11032075
|
||||
#define NA_SE_OB_ROUTE_EXPLOSION1 0x11403076
|
||||
#define NA_SE_OB_FISH_AWAY 0x19400077
|
||||
#define NA_SE_OB_AC_PILLAR_BROKE 0x19021078
|
||||
#define NA_SE_OB_AQ_PILLAR_BROKE 0x19021078
|
||||
#define NA_SE_WARP_OUT 0x11407079
|
||||
#define NA_SE_ARWING_HATCH 0x1950107A
|
||||
#define NA_SE_OB_POINT_SWITCH 0x1940807B
|
||||
#define NA_SE_VO_ANDORF_EXCITE 0x1940307C
|
||||
#define NA_SE_OB_PILLER_ROLL 0x1903407D
|
||||
#define NA_SE_VO_ANDROSS_EXCITE 0x1940307C
|
||||
#define NA_SE_OB_PILLAR_ROLL 0x1903407D
|
||||
#define NA_SE_OB_ROUTEGATE_CLOSE_Q 0x1903807E
|
||||
#define NA_SE_OB_ROUTEGATE_OPEN_S 0x1903807F
|
||||
#define NA_SE_OB_ROUTEGATE_CLOSE_S 0x19038080 // events that play this are unused
|
||||
@@ -349,16 +384,16 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_EN_BURNER_L 0x3102505A
|
||||
#define NA_SE_EN_GRN_BEAM_CHARGE 0x3103605B
|
||||
#define NA_SE_EN_GRN_BEAM_SHOT 0x3102705C
|
||||
#define NA_SE_EN_ASBOSS_SHIELD 0x3102405D
|
||||
#define NA_SE_EN_MEBOSS_SHIELD 0x3102405D
|
||||
#define NA_SE_EN_CATCH 0x2902405E
|
||||
#define NA_SE_EN_PASS 0x2903305F
|
||||
#define NA_SE_EN_MS_EXPLOSION_S 0x2903A060
|
||||
#define NA_SE_EN_SZMIS_ENGINE 0x31032061
|
||||
#define NA_SE_EN_PUNCH_ENGINE 0x3103A061
|
||||
#define NA_SE_EN_BARRIER_REFLECT 0x29001062
|
||||
#define NA_SE_EN_ANDORF_EXPLOSION 0x31009063
|
||||
#define NA_SE_EN_ANDROSS_EXPLOSION 0x31009063
|
||||
#define NA_SE_EN_SPARK_DAMAGE_M 0x29033064
|
||||
#define NA_SE_EN_BMBOSS_DAMAGE 0x31034064
|
||||
#define NA_SE_EN_VEBOSS_DAMAGE 0x31034064
|
||||
#define NA_SE_EN_ARM_SWING 0x29034065
|
||||
#define NA_SE_EN_COVER_OPEN 0x31404066
|
||||
#define NA_SE_EN_COVER_CLOSE 0x31404067
|
||||
@@ -371,47 +406,47 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_EN_MS_SHOT_L 0x2901306E
|
||||
#define NA_SE_EN_MS_SHIELD_BROKEN 0x2903A06F
|
||||
#define NA_SE_EN_MS_EXPLOSION_L 0x29000070 // Unreferenced.
|
||||
#define NA_SE_OB_SNROCK_APPEAR 0x29000071
|
||||
#define NA_SE_OB_SNROCK_DISAPPEAR 0x29000072
|
||||
#define NA_SE_EN_SNBOSS_CRY 0x29432073
|
||||
#define NA_SE_EN_SNBOSS_DAMAGE 0x29433074
|
||||
#define NA_SE_EN_SNBOSS_BROKEN 0x29434075
|
||||
#define NA_SE_EN_SNBOSS_DOWN 0x39439076
|
||||
#define NA_SE_EN_SNBOSS_SWING 0x29432077
|
||||
#define NA_SE_EN_SNBOSS_BREATH 0x31033078
|
||||
#define NA_SE_EN_SNBOSS_ROLL 0x39033079
|
||||
#define NA_SE_OB_SOROCK_APPEAR 0x29000071
|
||||
#define NA_SE_OB_SOROCK_DISAPPEAR 0x29000072
|
||||
#define NA_SE_EN_SOBOSS_CRY 0x29432073
|
||||
#define NA_SE_EN_SOBOSS_DAMAGE 0x29433074
|
||||
#define NA_SE_EN_SOBOSS_BROKEN 0x29434075
|
||||
#define NA_SE_EN_SOBOSS_DOWN 0x39439076
|
||||
#define NA_SE_EN_SOBOSS_SWING 0x29432077
|
||||
#define NA_SE_EN_SOBOSS_BREATH 0x31033078
|
||||
#define NA_SE_EN_SOBOSS_ROLL 0x39033079
|
||||
#define NA_SE_EN_ANGLER_DAMAGE 0x2900007A // Unreferenced.
|
||||
#define NA_SE_EN_ANGLER_DOWN 0x2900007B // Unreferenced.
|
||||
#define NA_SE_UNK_7C 0x2100007C // Unreferenced. Sounds like many small explosions
|
||||
#define NA_SE_BANK2_UNK_7C 0x2100007C // Unreferenced. Sounds like many small explosions
|
||||
#define NA_SE_ROCK_REFLECT 0x2902107D
|
||||
#define NA_SE_OB_MAGMA_BUBBLE 0x3140807E
|
||||
#define NA_SE_UNK_7F 0x2900007F // Unreferenced. Sounds like an impact
|
||||
#define NA_SE_OB_BMBOSS_WALK 0x29032080
|
||||
#define NA_SE_OB_BMBOSS_JUMP 0x29033081
|
||||
#define NA_SE_OB_BMBOSS_LAND 0x29034082
|
||||
#define NA_SE_OB_BMBOSS_ATTACK 0x31030083
|
||||
#define NA_SE_OB_BMBOSS_BOUND 0x29405084
|
||||
#define NA_SE_BANK2_UNK_7F 0x2900007F // Unreferenced. Sounds like an impact
|
||||
#define NA_SE_OB_VEBOSS_WALK 0x29032080
|
||||
#define NA_SE_OB_VEBOSS_JUMP 0x29033081
|
||||
#define NA_SE_OB_VEBOSS_LAND 0x29034082
|
||||
#define NA_SE_OB_VEBOSS_ATTACK 0x31030083
|
||||
#define NA_SE_OB_VEBOSS_BOUND 0x29405084
|
||||
#define NA_SE_EN_FREIGHT_TRAIN 0x31078085
|
||||
#define NA_SE_EN_MCBOSS_REFLECT 0x29022086
|
||||
#define NA_SE_EN_ANDORF_BREATH 0x31022087
|
||||
#define NA_SE_EN_ANDORF_BITE0 0x29022088
|
||||
#define NA_SE_EN_ANDORF_BITE1 0x29022089
|
||||
#define NA_SE_EN_ANDORF_VOMIT 0x3140208A
|
||||
#define NA_SE_EN_ANDORF_SPARK 0x3103108B
|
||||
#define NA_SE_EN_MABOSS_REFLECT 0x29022086
|
||||
#define NA_SE_EN_ANDROSS_BREATH 0x31022087
|
||||
#define NA_SE_EN_ANDROSS_BITE0 0x29022088
|
||||
#define NA_SE_EN_ANDROSS_BITE1 0x29022089
|
||||
#define NA_SE_EN_ANDROSS_VOMIT 0x3140208A
|
||||
#define NA_SE_EN_ANDROSS_SPARK 0x3103108B
|
||||
#define NA_SE_EN_WT_THROW 0x2900308C
|
||||
#define NA_SE_EN_WT_SPARK_CHARGE 0x2900208D
|
||||
#define NA_SE_EN_WT_SPARK_BEAM 0x3100208E
|
||||
#define NA_SE_EN_AC_ZAKO_DAMAGE 0x2903408F
|
||||
#define NA_SE_EN_AC_ZAKO_DOWN 0x29038090
|
||||
#define NA_SE_EN_AQ_ZAKO_DAMAGE 0x2903408F
|
||||
#define NA_SE_EN_AQ_ZAKO_DOWN 0x29038090
|
||||
#define NA_SE_EN_WARP_IN 0x39408091
|
||||
#define NA_SE_EN_WARP_OUT 0x39408092
|
||||
#define NA_SE_EN_CLBOSS_CHARGE 0x39033093
|
||||
#define NA_SE_EN_CLBOSS_BEAM 0x31405094
|
||||
#define NA_SE_EN_A6BOSS_CHARGE 0x39033093
|
||||
#define NA_SE_EN_A6BOSS_BEAM 0x31405094
|
||||
#define NA_SE_EN_TRAIN_BREAK 0x31408095
|
||||
#define NA_SE_EN_ANDORF_WARP 0x2940B096
|
||||
#define NA_SE_EN_ANDORF_CATCH 0x31408097
|
||||
#define NA_SE_EN_ANDROSS_WARP 0x2940B096
|
||||
#define NA_SE_EN_ANDROSS_CATCH 0x31408097
|
||||
#define NA_SE_EN_KANI_STOP 0x29030098
|
||||
#define NA_SE_EN_MCBOSS_RAGE 0x29036099
|
||||
#define NA_SE_EN_MABOSS_RAGE 0x29036099
|
||||
#define NA_SE_EN_DOWN_IMPACT 0x2940D09A
|
||||
#define NA_SE_EN_MARBLE_BEAM 0x3103109B
|
||||
|
||||
@@ -456,7 +491,7 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_SHIELD_BUZZER 0x49001026
|
||||
#define NA_SE_LOCK_ON 0x49008027
|
||||
#define NA_SE_BOSS_GAUGE_OPEN 0x4900C028
|
||||
#define NA_SE_UNK_1 0x40000029 // Unreferenced. Sounds like an item collect jingle
|
||||
#define NA_SE_BANK4_UNK_1 0x40000029 // Unreferenced. Sounds like an item collect jingle
|
||||
#define NA_SE_COUNTDOWN 0x4900C02A
|
||||
#define NA_SE_VIEW_SITCHW_ON 0x4000002B // Unreferenced. Related to D_ctx_80177C70?
|
||||
#define NA_SE_VIEW_MOVE_IN 0x4900002C
|
||||
@@ -468,7 +503,7 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_VO_PEPPER_CONSENT 0x49000032 // This is ONE steep bill, but it's worth it.
|
||||
#define NA_SE_VO_PEPPER_SURPRISE 0x49000033 // WHAT?!
|
||||
#define NA_SE_MISSION_COMPLETE 0x49008034
|
||||
#define NA_SE_UNK_2 0x40000035 // Unreferenced. Hard to make out what it is
|
||||
#define NA_SE_BANL4_UNK_2 0x40000035 // Unreferenced. Hard to make out what it is
|
||||
#define NA_SE_TIME_OVER 0x4900D036
|
||||
|
||||
#endif
|
||||
|
||||
@@ -65,11 +65,4 @@ typedef enum OptionState {
|
||||
OPTION_UPDATE
|
||||
} OptionState;
|
||||
|
||||
typedef enum OptionSoundMode {
|
||||
OPTIONSOUND_STEREO,
|
||||
OPTIONSOUND_MONO,
|
||||
OPTIONSOUND_HEADSET,
|
||||
OPTIONSOUND_MAX,
|
||||
} OptionSoundMode;
|
||||
|
||||
#endif
|
||||
|
||||
+273
-348
File diff suppressed because it is too large
Load Diff
@@ -38,13 +38,13 @@ AudioTableEntry gSeqTableInitEntries[66] = {
|
||||
{ 0x18D70, 0xD40, 2, 3, 0, 0, 0 }, { SEQ_ID_FORTUNA, 0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_TITANIA, 0, 2, 3, 0, 0, 0 }, { 0x19AB0, 0x7F0, 2, 3, 0, 0, 0 },
|
||||
{ 0x1A2A0, 0x1440, 2, 3, 0, 0, 0 }, { 0x1B6E0, 0x1B20, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_ME_BOSS, 0, 2, 3, 0, 0, 0 }, { SEQ_ID_CO_BOSS_1, 0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_CO_BOSS_1, 0, 2, 3, 0, 0, 0 }, { SEQ_ID_ME_BOSS, 0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_ME_BOSS, 0, 2, 3, 0, 0, 0 }, { 0x1D200, 0x1B30, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_CO_BOSS_1, 0, 2, 3, 0, 0, 0 }, { SEQ_ID_ME_BOSS, 0, 2, 3, 0, 0, 0 },
|
||||
{ 0x1ED30, 0x10B0, 2, 3, 0, 0, 0 }, { SEQ_ID_BO_BOSS, 0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_ME_BOSS, 0, 2, 3, 0, 0, 0 }, { SEQ_ID_BO_BOSS, 0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_ME_BOSS, 0, 2, 3, 0, 0, 0 }, { 0x1FDE0, 0x1410, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_BOSS_ME, 0, 2, 3, 0, 0, 0 }, { SEQ_ID_BOSS_CO_1, 0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_BOSS_CO_1, 0, 2, 3, 0, 0, 0 }, { SEQ_ID_BOSS_ME, 0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_BOSS_ME, 0, 2, 3, 0, 0, 0 }, { 0x1D200, 0x1B30, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_BOSS_CO_1, 0, 2, 3, 0, 0, 0 }, { SEQ_ID_BOSS_ME, 0, 2, 3, 0, 0, 0 },
|
||||
{ 0x1ED30, 0x10B0, 2, 3, 0, 0, 0 }, { SEQ_ID_BOSS_BO, 0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_BOSS_ME, 0, 2, 3, 0, 0, 0 }, { SEQ_ID_BOSS_BO, 0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_BOSS_ME, 0, 2, 3, 0, 0, 0 }, { 0x1FDE0, 0x1410, 2, 3, 0, 0, 0 },
|
||||
{ 0x211F0, 0xF30, 2, 3, 0, 0, 0 }, { 0x22120, 0x2B30, 2, 3, 0, 0, 0 },
|
||||
{ 0x24C50, 0x7F0, 2, 3, 0, 0, 0 }, { 0x25440, 0x13B0, 2, 3, 0, 0, 0 },
|
||||
{ 0x267F0, 0xC70, 2, 3, 0, 0, 0 }, { 0x27460, 0x180, 2, 3, 0, 0, 0 },
|
||||
@@ -52,7 +52,7 @@ AudioTableEntry gSeqTableInitEntries[66] = {
|
||||
{ 0x27BA0, 0x4E40, 2, 3, 0, 0, 0 }, { 0x2C9E0, 0x14E0, 2, 3, 0, 0, 0 },
|
||||
{ 0x2DEC0, 0x400, 2, 3, 0, 0, 0 }, { 0x2E2C0, 0x800, 2, 3, 0, 0, 0 },
|
||||
{ 0x2EAC0, 0x1AB0, 2, 3, 0, 0, 0 }, { 0x30570, 0x1AA0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_ME_BOSS, 0, 2, 3, 0, 0, 0 }, { 0x32010, 0x1370, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_BOSS_ME, 0, 2, 3, 0, 0, 0 }, { 0x32010, 0x1370, 2, 3, 0, 0, 0 },
|
||||
{ 0x33380, 0xB80, 2, 3, 0, 0, 0 }, { 0x33F00, 0x5C0, 2, 3, 0, 0, 0 },
|
||||
{ SEQ_ID_CO_INTRO, 0, 2, 3, 0, 0, 0 }, { SEQ_ID_CO_INTRO, 0, 2, 3, 0, 0, 0 },
|
||||
{ 0x344C0, 0x550, 2, 3, 0, 0, 0 }, { 0x34A10, 0x360, 2, 3, 0, 0, 0 },
|
||||
|
||||
@@ -490,7 +490,7 @@ void ActorAllRange_UpdateStarWolfEvents(Actor* this) {
|
||||
if ((gCurrentLevel == LEVEL_VENOM_2) || (gCurrentLevel == LEVEL_BOLSE)) {
|
||||
gPlayer[0].camRoll = 20.0f;
|
||||
}
|
||||
AUDIO_PLAY_BGM(SEQ_ID_STAR_WOLF | SEQ_FLAG);
|
||||
AUDIO_PLAY_BGM(NA_BGM_STARWOLF);
|
||||
AllRange_ClearRadio();
|
||||
if ((gCurrentLevel == LEVEL_FORTUNA) || (gCurrentLevel == LEVEL_VENOM_2)) {
|
||||
gPlayer[0].cam.eye.x = 4500.0f;
|
||||
|
||||
@@ -2245,7 +2245,7 @@ void PlayerShot_UpdateShot(PlayerShot* shot, s32 index) {
|
||||
}
|
||||
}
|
||||
Object_Kill(&shot->obj, shot->sfxSource);
|
||||
func_effect_8007A6F0(&shot->obj.pos, NA_SE_SPREAD_EXPLSION);
|
||||
func_effect_8007A6F0(&shot->obj.pos, NA_SE_SPREAD_EXPLOSION);
|
||||
} else if (gCurrentLevel == LEVEL_AQUAS) {
|
||||
Aquas_801ABA40(shot);
|
||||
} else {
|
||||
|
||||
@@ -3,10 +3,8 @@
|
||||
s32 gBossFrameCount;
|
||||
|
||||
s32 D_boss_800C9E90[] = {
|
||||
SEQ_ID_CO_BOSS_1 | SEQ_FLAG, SEQ_ID_ME_BOSS | SEQ_FLAG, SEQ_ID_SX_BOSS | SEQ_FLAG, SEQ_ID_A6_BOSS | SEQ_FLAG,
|
||||
SEQ_ID_A6_BOSS | SEQ_FLAG, SEQ_ID_SY_BOSS | SEQ_FLAG, SEQ_ID_VE_BOSS | SEQ_FLAG, SEQ_ID_SO_BOSS | SEQ_FLAG,
|
||||
SEQ_ID_ZO_BOSS | SEQ_FLAG, SEQ_ID_VE_BOSS | SEQ_FLAG, SEQ_ID_CO_BOSS_1 | SEQ_FLAG, SEQ_ID_MA_BOSS | SEQ_FLAG,
|
||||
SEQ_ID_TI_BOSS | SEQ_FLAG, SEQ_ID_AQ_BOSS | SEQ_FLAG,
|
||||
NA_BGM_BOSS_CO, NA_BGM_BOSS_ME, NA_BGM_BOSS_SX, NA_BGM_BOSS_A6, NA_BGM_BOSS_SB, NA_BGM_BOSS_SY, NA_BGM_BOSS_VE,
|
||||
NA_BGM_BOSS_SO, NA_BGM_BOSS_ZO, NA_BGM_BOSS_VE, NA_BGM_BOSS_CO, NA_BGM_BOSS_MA, NA_BGM_BOSS_TI, NA_BGM_BOSS_AQ,
|
||||
};
|
||||
|
||||
s32 PAD_boss_C9EC4[14] = { 0 };
|
||||
|
||||
@@ -617,7 +617,7 @@ void Cutscene_EnterWarpZone(Player* player) {
|
||||
|
||||
if (player->csTimer == 30) {
|
||||
gStarCount = 300;
|
||||
AUDIO_PLAY_BGM(SEQ_ID_WARP_ZONE | SEQ_FLAG);
|
||||
AUDIO_PLAY_BGM(NA_BGM_STAGE_WZ);
|
||||
}
|
||||
|
||||
if (player->csTimer == 0) {
|
||||
@@ -813,7 +813,7 @@ void Cutscene_AllRangeMode(Player* player) {
|
||||
gChangeTo360 = true;
|
||||
if (gCurrentLevel == LEVEL_VENOM_ANDROSS) {
|
||||
Radio_PlayMessage(gMsg_ID_19466, RCID_FOX);
|
||||
AUDIO_PLAY_BGM(SEQ_ID_AND_BRAIN | SEQ_FLAG);
|
||||
AUDIO_PLAY_BGM(NA_BGM_ANDROSS_BRAIN);
|
||||
} else if (gCurrentLevel != LEVEL_TRAINING) {
|
||||
Radio_PlayMessage(gMsg_ID_20180, RCID_FOX);
|
||||
if (gCurrentLevel == LEVEL_SECTOR_Y) {
|
||||
@@ -1403,7 +1403,7 @@ void Cutscene_LevelComplete(Player* player) {
|
||||
Player_FloorCheck(player);
|
||||
} else {
|
||||
if (gCsFrameCount == 170) {
|
||||
AUDIO_PLAY_BGM(SEQ_ID_GOOD_END);
|
||||
AUDIO_PLAY_BGM(NA_BGM_COURSE_CLEAR);
|
||||
}
|
||||
Cutscene_CoComplete2(player);
|
||||
Player_FloorCheck(player);
|
||||
|
||||
@@ -3368,7 +3368,7 @@ void func_effect_8008165C(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 scal
|
||||
|
||||
case 10:
|
||||
effect->timer_50 = 10;
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_CLBOSS_BEAM, effect->sfxSource, 4);
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_A6BOSS_BEAM, effect->sfxSource, 4);
|
||||
break;
|
||||
|
||||
case 11:
|
||||
|
||||
@@ -1174,10 +1174,10 @@ void ActorEvent_ProcessScript(ActorEvent* this) {
|
||||
|
||||
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) {
|
||||
if (this->unk_0B4 == EVID_86) {
|
||||
Audio_PlayFanfare(SEQ_ID_KATT, 20, 10, 10);
|
||||
Audio_PlayFanfare(NA_BGM_KATT, 20, 10, 10);
|
||||
}
|
||||
if (this->unk_0B4 == EVID_85) {
|
||||
Audio_PlayFanfare(SEQ_ID_BILL, 20, 10, 10);
|
||||
Audio_PlayFanfare(NA_BGM_BILL, 20, 10, 10);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5091,7 +5091,7 @@ void HUD_AquasStart(Player* player) {
|
||||
|
||||
Aquas_801BDF14();
|
||||
|
||||
AUDIO_PLAY_BGM(SEQ_ID_INTRO_45);
|
||||
AUDIO_PLAY_BGM(NA_BGM_START_DEMO_M);
|
||||
|
||||
case 3:
|
||||
gFillScreenAlphaStep = 16;
|
||||
@@ -5264,7 +5264,7 @@ void HUD_AquasStart(Player* player) {
|
||||
gLoadLevelObjects = 1;
|
||||
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 50);
|
||||
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50);
|
||||
AUDIO_PLAY_BGM(SEQ_ID_AQUAS);
|
||||
AUDIO_PLAY_BGM(NA_BGM_STAGE_AQ);
|
||||
}
|
||||
|
||||
Aquas_801AC8A8(player->pos.x + RAND_FLOAT_CENTERED(10.0f), player->pos.y + RAND_FLOAT_CENTERED(10.0f),
|
||||
@@ -5880,7 +5880,7 @@ void HUD_AquasComplete(Player* player) {
|
||||
break;
|
||||
|
||||
case 400:
|
||||
AUDIO_PLAY_BGM(SEQ_ID_GOOD_END);
|
||||
AUDIO_PLAY_BGM(NA_BGM_COURSE_CLEAR);
|
||||
break;
|
||||
|
||||
case 440:
|
||||
|
||||
@@ -2564,7 +2564,7 @@ void Play_Init(void) {
|
||||
D_ctx_80177C70 = 0;
|
||||
gTeamHelpActor = NULL;
|
||||
gTeamHelpTimer = 0;
|
||||
Audio_KillSfxById(NA_SE_OB_ROOT_EXPLOSION1);
|
||||
Audio_KillSfxById(NA_SE_OB_ROUTE_EXPLOSION1);
|
||||
Audio_KillSfxById(NA_SE_DEMO_SIREN);
|
||||
Memory_FreeAll();
|
||||
gTraining360MsgTimer = gTraining360MsgIndex = gShowBossHealth = gStarWolfMsgTimer = gAllRangeWingRepairTimer =
|
||||
@@ -4357,24 +4357,24 @@ void Player_Setup(Player* playerx) {
|
||||
player->unk_234 = 1;
|
||||
switch (gCurrentLevel) {
|
||||
case LEVEL_CORNERIA:
|
||||
AUDIO_PLAY_BGM(SEQ_ID_CO_INTRO);
|
||||
AUDIO_PLAY_BGM(NA_BGM_START_DEMO);
|
||||
break;
|
||||
case LEVEL_METEO:
|
||||
AUDIO_PLAY_BGM(SEQ_ID_ME_INTRO);
|
||||
AUDIO_PLAY_BGM(NA_BGM_ME_START_DEMO);
|
||||
break;
|
||||
case LEVEL_FORTUNA:
|
||||
case LEVEL_BOLSE:
|
||||
case LEVEL_VENOM_2:
|
||||
AUDIO_PLAY_BGM(SEQ_ID_INTRO_51);
|
||||
AUDIO_PLAY_BGM(NA_BGM_FO_START_DEMO);
|
||||
break;
|
||||
case LEVEL_VENOM_1:
|
||||
AUDIO_PLAY_BGM(SEQ_ID_VENOM_1 | SEQ_FLAG);
|
||||
AUDIO_PLAY_BGM(NA_BGM_STAGE_VE1);
|
||||
break;
|
||||
case LEVEL_KATINA:
|
||||
AUDIO_PLAY_BGM(SEQ_ID_INTRO_51);
|
||||
AUDIO_PLAY_BGM(NA_BGM_KA_START_DEMO);
|
||||
break;
|
||||
case LEVEL_TITANIA:
|
||||
AUDIO_PLAY_BGM(SEQ_ID_INTRO_45);
|
||||
AUDIO_PLAY_BGM(NA_BGM_START_DEMO_M);
|
||||
break;
|
||||
case LEVEL_ZONESS:
|
||||
case LEVEL_SECTOR_X:
|
||||
@@ -4382,7 +4382,7 @@ void Player_Setup(Player* playerx) {
|
||||
case LEVEL_TRAINING:
|
||||
case LEVEL_MACBETH:
|
||||
default:
|
||||
AUDIO_PLAY_BGM(SEQ_ID_INTRO_44);
|
||||
AUDIO_PLAY_BGM(NA_BGM_START_DEMO_S);
|
||||
break;
|
||||
case LEVEL_AREA_6:
|
||||
case LEVEL_SECTOR_Y:
|
||||
@@ -5115,7 +5115,7 @@ void Player_Down(Player* player) {
|
||||
if (!gVersusMode) {
|
||||
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1);
|
||||
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1);
|
||||
AUDIO_PLAY_BGM(SEQ_ID_DEATH);
|
||||
AUDIO_PLAY_BGM(NA_BGM_PLAYER_DOWN);
|
||||
}
|
||||
if (gCurrentLevel == LEVEL_SOLAR) {
|
||||
Audio_KillSfxById(NA_SE_OVERHEAT_ALARM);
|
||||
|
||||
@@ -330,7 +330,7 @@ void func_tank_800444BC(Player* player) {
|
||||
}
|
||||
if (gTiStartLandmaster != 0) {
|
||||
gTiStartLandmaster = 0;
|
||||
AUDIO_PLAY_BGM(SEQ_ID_TITANIA | SEQ_FLAG);
|
||||
AUDIO_PLAY_BGM(NA_BGM_STAGE_TI);
|
||||
Audio_StartPlayerNoise(0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1529,7 +1529,7 @@ bool Versus_Update(void) {
|
||||
|
||||
case 4:
|
||||
if ((sStartVsHurryBgm == 1) && (sVsHurryBgmPlaying == 0)) {
|
||||
AUDIO_PLAY_BGM(SEQ_ID_VS_HURRY | SEQ_FLAG);
|
||||
AUDIO_PLAY_BGM(NA_BGM_BATTLE_LAST);
|
||||
sVsHurryBgmPlaying = 1;
|
||||
}
|
||||
|
||||
@@ -1566,11 +1566,11 @@ bool Versus_Update(void) {
|
||||
case 2:
|
||||
|
||||
case 3:
|
||||
AUDIO_PLAY_BGM(SEQ_ID_GOOD_END);
|
||||
AUDIO_PLAY_BGM(NA_BGM_COURSE_CLEAR);
|
||||
break;
|
||||
|
||||
case 99:
|
||||
AUDIO_PLAY_BGM(SEQ_ID_BAD_END);
|
||||
AUDIO_PLAY_BGM(NA_BGM_COURSE_FAILURE);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -83,6 +83,8 @@ void Map_LevelSelect(void) {
|
||||
Graphics_DisplaySmallText(80, 210, 1.0f, 1.0f, "WARP ZONE");
|
||||
} else if (sCurrentPlanetId == PLANET_VENOM) {
|
||||
Graphics_DisplaySmallText(80, 210, 1.0f, 1.0f, "ANDROSS");
|
||||
} else if (sCurrentPlanetId == PLANET_AREA_6) {
|
||||
Graphics_DisplaySmallText(80, 210, 1.0f, 1.0f, "UNKNOWN 4");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -96,6 +98,9 @@ void Map_LevelSelect(void) {
|
||||
gCurrentLevel = LEVEL_VENOM_2;
|
||||
}
|
||||
}
|
||||
if (startOption && (sCurrentPlanetId == PLANET_AREA_6)) {
|
||||
gCurrentLevel = LEVEL_UNK_4;
|
||||
}
|
||||
Map_801A61B4(gCurrentLevel);
|
||||
D_menu_801B8280 = 0;
|
||||
D_menu_801CD968 = 0;
|
||||
|
||||
@@ -94,7 +94,7 @@ void Option_ExpertSoundUpdate(void) {
|
||||
|
||||
if (gControllerPress[gMainController].button & B_BUTTON) {
|
||||
if (!D_menu_801B9320) {
|
||||
AUDIO_PLAY_BGM(SEQ_ID_MENU);
|
||||
AUDIO_PLAY_BGM(NA_BGM_SELECT);
|
||||
gDrawMode = DRAW_NONE;
|
||||
D_menu_801B9124 = 1000;
|
||||
D_menu_801B912C = 0;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user