sf64/include/bgm.h
Alejandro Asenjo Nitti b8a3bf635c
VERSION_EU audio files (#277)
* remove yamls that were wrong and prevented jp rev0 from building correctly

* playerstate

* some jp rev0 settings

* func_800145FC should return value instead of count

* enum usage

* format

* rename vars in Audio_PlaySoundTestTrack

* Makefile: audio OPTFLAGS for EU

* VERSION EU audio_general decompiled

* audio_effects.c (Identical to US)

* audio_heap.c

* VERSION_EU audio_load.c

* renames

* audio_playback.c

* audio_seqplayer

* audio_synthesis.c

* comment

* EU audio_thread.c

* fox load symbols

* more EU symbols and functions identified

* state_1C8 -> state

* identify more eu symbols

* more EU symbols
2024-11-09 14:52:34 -03:00

178 lines
7.1 KiB
C

#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,
#ifdef VERSION_EU
/* 66 */ SEQ_ID_VOICE_LYLAT,
/* 67 */ SEQ_ID_MAX,
#else
/* 66 */ SEQ_ID_MAX,
#endif
/* -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_VO_LYLAT (SEQ_ID_VOICE_LYLAT)
#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