Audio Sequences: Scene/Ambience/SeqFlags Functions OK (#1033)

* import audio scene seq docs

* cleanup

* fix scene cmd

* small fixes

* more PR suggestions

* missed comment

* rename spot to resume

* cleanup comments

* SEQ_IO_VAL_NONE

* Empty-Commit

* another PR suggestion
This commit is contained in:
engineer124 2022-09-30 07:49:35 -04:00 committed by GitHub
parent 3a723efb15
commit 1af942ae12
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 1445 additions and 855 deletions

View File

@ -3158,7 +3158,7 @@ OcarinaStaff* AudioOcarina_GetPlaybackStaff(void);
void AudioOcarina_TerminaWallGenerateNotes(void);
void AudioOcarina_PlayLongScarecrowAfterCredits(void);
void func_8019E014(void);
void Audio_Update(void);
// void func_8019E110(void);
void AudioSfx_SetProperties(u8 bankId, u8 entryIndex, u8 channelIndex);
void play_sound(u16 sfxId);
@ -3224,31 +3224,27 @@ void func_801A1F88(void);
void func_801A1FB4(u8 playerIndex, Vec3f* pos, u16 seqId, f32 maxDist);
// void func_801A2090(void);
void func_801A246C(u8 param_1, u8 param_2);
// void func_801A2544(void);
// void func_801A257C(void);
void func_801A25E4(u16 seqId, u8 dayMinusOne);
// void func_801A2670(void);
// void func_801A2778(void);
void Audio_PlayMorningSceneSequence(u16 seqId, u8 dayMinusOne);
void Audio_PlaySceneSequence(u16 seqId, u8 dayMinusOne);
// void func_801A27E8(void);
// void func_801A281C(void);
void func_801A29D4(UNK_TYPE arg0, f32 arg1, UNK_TYPE arg2);
void func_801A2BB8(s32 seqId);
void func_801A2C20(void);
// void func_801A2C44(void);
void func_801A2C88(u16 seqId);
void func_801A2D54(u16 seqId);
void Audio_PlaySequenceInCutscene(u16 seqId);
void Audio_StopSequenceInCutscene(u16 seqId);
s32 Audio_IsSequencePlaying(u8 seqId);
void func_801A2E54(s32 bgmId);
void func_801A2ED8(void);
// void func_801A2F88(void);
void Audio_PlayBgm_StorePrevBgm(u16 seqId);
void Audio_RestorePrevBgm(void);
// void func_801A3000(void);
// void func_801A3038(void);
void func_801A3098(u16 seqId);
void Audio_PlayFanfare(u16 seqId);
// void func_801A312C(void);
void func_801A31EC(u16 seqId, s8 arg1, u8 arg2);
// void func_801A3238(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5);
// void func_801A32CC(void);
// void func_801A3590(void);
void Audio_PlaySequenceWithSeqPlayerIO(s8 playerIndex, u16 seqId, u8 fadeTimer, s8 ioPort, u8 ioData);
void Audio_SetSequenceMode(u8 seqMode);
void Audio_UpdateEnemyBgmVolume(f32 dist);
u8 func_801A3950(s32 playerIndex, s32 isChannelIOSet);
u8 func_801A39F8(void);
void func_801A3A7C(s32 arg0);
@ -3261,11 +3257,11 @@ void func_801A3CD8(s8 param_1);
void func_801A3D98(s8 audioSetting);
// void func_801A3E38(void);
// void func_801A3EC0(void);
void Audio_SetCutsceneFlag(u8 flag);
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_setBGM(u32 bgmID);
void Audio_SetSpec(u32 specId);
void func_801A4058(UNK_TYPE arg0);
// void func_801A41C8(void);
// void func_801A41F8(void);
@ -3276,15 +3272,13 @@ void func_801A4058(UNK_TYPE arg0);
void Audio_SetSfxVolumeExceptSystemAndOcarinaBanks(u8 arg0);
void func_801A4428(u8 reverbIndex);
void Audio_PreNMI(void);
// void func_801A44C4(void);
// void Audio_ResetRequestedSceneSeqId(void);
// void func_801A44D4(void);
s32 func_801A46F8(void);
void func_801A4748(Vec3f* pos, u16 sfxId);
void func_801A479C(Vec3f* arg0, u16 sfxId, s32 arg2);
void func_801A47DC(u8 channelIndexRange, u8 port, u8 val);
// void func_801A48E0(void);
void func_801A4A28(u8 natureSeqId);
// void Audio_SetNatureAmbienceRandomBend(void);
void Audio_SetAmbienceChannelIO(u8 channelIndexRange, u8 ioPort, u8 ioData);
void Audio_PlayAmbience(u8 ambienceId);
void Audio_Init(void);
void func_801A4D00(void);
// void func_801A4D50(void);
@ -3297,7 +3291,7 @@ void func_801A4D00(void);
// void func_801A4FD8(void);
void func_801A5080(u16 arg0);
u16 func_801A5100(void);
// void func_801A5118(void);
void func_801A5118(void);
UNK_TYPE func_801A51F0(UNK_TYPE arg0);
// void func_801A5228(void);
// void func_801A5390(void);
@ -3328,17 +3322,17 @@ u8 AudioSfx_IsPlaying(u32 sfxId);
void AudioSfx_Reset(void);
void Audio_StartSequence(u8 playerIndex, u8 seqId, u8 seqArgs, u16 fadeTimer);
// void func_801A7D04(void);
void Audio_StopSequence(u8 playerIndex, u16 fadeTimer);
// void func_801A7D84(void);
void Audio_QueueSeqCmd(u32 cmd);
// void func_801A89D0(void);
s32 func_801A8A50(s32 param1);
// void func_801A8ABC(void);
void func_801A89D0(void);
u16 Audio_GetActiveSequence(u8 playerIndex);
s32 func_801A8ABC(u32 cmdVal, u32 cmdMask);
void Audio_SetVolumeScale(u8 playerIndex, u8 scaleIndex, u8 targetVol, u8 volFadeTimer);
// void func_801A8D5C(void);
void func_801A8D5C(void);
// void func_801A8E90(void);
// void func_801A9768(void);
// void func_801A982C(void);
u8 func_801A9768(void);
u8 func_801A982C(void);
// void func_801A99B8(void);
// void func_801A9A74(void);

View File

@ -4,7 +4,7 @@
#define NA_BGM_STOP 0x100000FF
#define NA_BGM_GENERAL_SFX 0x00 // General Sound Effects
#define NA_BGM_NATURE_AMBIENCE 0x01 // Ambient background noises
#define NA_BGM_AMBIENCE 0x01 // Ambient background noises
#define NA_BGM_TERMINA_FIELD 0x02 // Termina Field
#define NA_BGM_CHASE 0x03 // Forest Chase
#define NA_BGM_MAJORAS_THEME 0x04 // Majora's Theme "STALKID"
@ -40,7 +40,7 @@
#define NA_BGM_GET_ITEM 0x22 // Item Catch
#define NA_BGM_GATE_OPEN 0x23 // Clock Town Day 2 Duplicate of #16. In MM3D, it shares its filename with the Door of Time song from OoT
#define NA_BGM_GET_HEART 0x24 // Complete a Heart Piece
#define NA_BGM_MINI_GAME_2 0x25 // Playing Minigame
#define NA_BGM_TIMED_MINI_GAME 0x25 // Playing a timed Minigame
#define NA_BGM_GORON_RACE 0x26 // Goron Race
#define NA_BGM_MUSIC_BOX_HOUSE 0x27 // Music Box House "ORGEL_HOUSE"
#define NA_BGM_FAIRY_FOUNTAIN 0x28 // Fairy's Fountain In MM3D, it shares its filename with the Door of Time song from OoT "GODESS"
@ -138,7 +138,8 @@ typedef enum {
/* 1 */ SEQ_PLAYER_FANFARE,
/* 2 */ SEQ_PLAYER_SFX,
/* 3 */ SEQ_PLAYER_BGM_SUB,
/* 4 */ SEQ_PLAYER_NATURE
/* 4 */ SEQ_PLAYER_AMBIENCE,
/* 0xFF */ SEQ_PLAYER_INVALID = 0xFF
} SequencePlayerId;
typedef enum {
@ -160,119 +161,120 @@ typedef enum {
} ChannelIOPort;
typedef enum {
/* 0x0 */ NATURE_CHANNEL_STREAM_0,
/* 0x1 */ NATURE_CHANNEL_CRITTER_0,
/* 0x2 */ NATURE_CHANNEL_CRITTER_1,
/* 0x3 */ NATURE_CHANNEL_CRITTER_2,
/* 0x4 */ NATURE_CHANNEL_CRITTER_3,
/* 0x5 */ NATURE_CHANNEL_CRITTER_4,
/* 0x6 */ NATURE_CHANNEL_CRITTER_5,
/* 0x7 */ NATURE_CHANNEL_CRITTER_6,
/* 0x8 */ NATURE_CHANNEL_CRITTER_7,
/* 0xC */ NATURE_CHANNEL_STREAM_1 = 12,
/* 0xD */ NATURE_CHANNEL_UNK,
/* 0xE */ NATURE_CHANNEL_RAIN,
/* 0xF */ NATURE_CHANNEL_LIGHTNING
} NatureChannelIdx; // playerIdx = 4
/* 0x0 */ AMBIENCE_CHANNEL_STREAM_0,
/* 0x1 */ AMBIENCE_CHANNEL_CRITTER_0,
/* 0x2 */ AMBIENCE_CHANNEL_CRITTER_1,
/* 0x3 */ AMBIENCE_CHANNEL_CRITTER_2,
/* 0x4 */ AMBIENCE_CHANNEL_CRITTER_3,
/* 0x5 */ AMBIENCE_CHANNEL_CRITTER_4,
/* 0x6 */ AMBIENCE_CHANNEL_CRITTER_5,
/* 0x7 */ AMBIENCE_CHANNEL_CRITTER_6,
/* 0x8 */ AMBIENCE_CHANNEL_CRITTER_7,
/* 0xC */ AMBIENCE_CHANNEL_STREAM_1 = 12,
/* 0xD */ AMBIENCE_CHANNEL_SOUND_MODE,
/* 0xE */ AMBIENCE_CHANNEL_RAIN,
/* 0xF */ AMBIENCE_CHANNEL_LIGHTNING
} AmbienceChannelIndex; // playerIndex = SEQ_PLAYER_AMBIENCE
typedef enum {
/* 0x00 */ NATURE_AMBIENCE_0,
/* 0x01 */ NATURE_AMBIENCE_1,
/* 0x02 */ NATURE_AMBIENCE_2,
/* 0x03 */ NATURE_AMBIENCE_3,
/* 0x04 */ NATURE_AMBIENCE_4,
/* 0x05 */ NATURE_AMBIENCE_5,
/* 0x06 */ NATURE_AMBIENCE_6,
/* 0x07 */ NATURE_AMBIENCE_7,
/* 0x08 */ NATURE_AMBIENCE_8,
/* 0x09 */ NATURE_AMBIENCE_9,
/* 0x0A */ NATURE_AMBIENCE_A,
/* 0x0B */ NATURE_AMBIENCE_B,
/* 0x0C */ NATURE_AMBIENCE_C,
/* 0x0D */ NATURE_AMBIENCE_D,
/* 0x0E */ NATURE_AMBIENCE_E,
/* 0x0F */ NATURE_AMBIENCE_F,
/* 0x10 */ NATURE_AMBIENCE_10,
/* 0x11 */ NATURE_AMBIENCE_11,
/* 0x12 */ NATURE_AMBIENCE_12,
/* 0x13 */ NATURE_AMBIENCE_13
} NatureAmbienceId; // playerIdx = 4
/* 0x00 */ AMBIENCE_ID_00,
/* 0x01 */ AMBIENCE_ID_01,
/* 0x02 */ AMBIENCE_ID_02,
/* 0x03 */ AMBIENCE_ID_03,
/* 0x04 */ AMBIENCE_ID_04,
/* 0x05 */ AMBIENCE_ID_05,
/* 0x06 */ AMBIENCE_ID_06,
/* 0x07 */ AMBIENCE_ID_07,
/* 0x08 */ AMBIENCE_ID_08,
/* 0x09 */ AMBIENCE_ID_09,
/* 0x0A */ AMBIENCE_ID_0A,
/* 0x0B */ AMBIENCE_ID_0B,
/* 0x0C */ AMBIENCE_ID_0C,
/* 0x0D */ AMBIENCE_ID_0D,
/* 0x0E */ AMBIENCE_ID_0E,
/* 0x0F */ AMBIENCE_ID_0F,
/* 0x10 */ AMBIENCE_ID_10,
/* 0x11 */ AMBIENCE_ID_11,
/* 0x12 */ AMBIENCE_ID_12,
/* 0x13 */ AMBIENCE_ID_13,
/* 0xFF */ AMBIENCE_ID_DISABLED = 0xFF
} AmbienceId; // playerIndex = SEQ_PLAYER_AMBIENCE
typedef enum {
/* 0x00 */ NATURE_STREAM_0,
/* 0x01 */ NATURE_STREAM_1,
/* 0x02 */ NATURE_STREAM_2,
/* 0x03 */ NATURE_STREAM_3
} NatureStreamId;
/* 0x00 */ AMBIENCE_STREAM_0,
/* 0x01 */ AMBIENCE_STREAM_1,
/* 0x02 */ AMBIENCE_STREAM_2,
/* 0x03 */ AMBIENCE_STREAM_3
} AmbienceStreamId;
typedef enum {
/* 0x00 */ NATURE_CRITTER_00,
/* 0x01 */ NATURE_CRITTER_01,
/* 0x02 */ NATURE_CRITTER_02,
/* 0x03 */ NATURE_CRITTER_03,
/* 0x04 */ NATURE_CRITTER_04,
/* 0x05 */ NATURE_CRITTER_05,
/* 0x06 */ NATURE_CRITTER_06,
/* 0x07 */ NATURE_CRITTER_07,
/* 0x08 */ NATURE_CRITTER_08,
/* 0x09 */ NATURE_CRITTER_09,
/* 0x0A */ NATURE_CRITTER_10,
/* 0x0B */ NATURE_CRITTER_11,
/* 0x0C */ NATURE_CRITTER_12,
/* 0x0D */ NATURE_CRITTER_13,
/* 0x0E */ NATURE_CRITTER_14,
/* 0x0F */ NATURE_CRITTER_15,
/* 0x10 */ NATURE_CRITTER_16,
/* 0x11 */ NATURE_CRITTER_17,
/* 0x12 */ NATURE_CRITTER_18,
/* 0x13 */ NATURE_CRITTER_19
} NatureAmimalId;
/* 0x00 */ AMBIENCE_CRITTER_00,
/* 0x01 */ AMBIENCE_CRITTER_01,
/* 0x02 */ AMBIENCE_CRITTER_02,
/* 0x03 */ AMBIENCE_CRITTER_03,
/* 0x04 */ AMBIENCE_CRITTER_04,
/* 0x05 */ AMBIENCE_CRITTER_05,
/* 0x06 */ AMBIENCE_CRITTER_06,
/* 0x07 */ AMBIENCE_CRITTER_07,
/* 0x08 */ AMBIENCE_CRITTER_08,
/* 0x09 */ AMBIENCE_CRITTER_09,
/* 0x0A */ AMBIENCE_CRITTER_10,
/* 0x0B */ AMBIENCE_CRITTER_11,
/* 0x0C */ AMBIENCE_CRITTER_12,
/* 0x0D */ AMBIENCE_CRITTER_13,
/* 0x0E */ AMBIENCE_CRITTER_14,
/* 0x0F */ AMBIENCE_CRITTER_15,
/* 0x10 */ AMBIENCE_CRITTER_16,
/* 0x11 */ AMBIENCE_CRITTER_17,
/* 0x12 */ AMBIENCE_CRITTER_18,
/* 0x13 */ AMBIENCE_CRITTER_19
} AmbienceCritterId;
#define NATURE_IO_CRITTER_0_TYPE(type) NATURE_CHANNEL_CRITTER_0, CHANNEL_IO_PORT_2, type
#define NATURE_IO_CRITTER_0_BEND_PITCH(bend) NATURE_CHANNEL_CRITTER_0, CHANNEL_IO_PORT_3, bend
#define NATURE_IO_CRITTER_0_NUM_LAYERS(num) NATURE_CHANNEL_CRITTER_0, CHANNEL_IO_PORT_4, num
#define NATURE_IO_CRITTER_0_PORT5(reverb) NATURE_CHANNEL_CRITTER_0, CHANNEL_IO_PORT_5, reverb
#define AMBIENCE_IO_CRITTER_0_TYPE(type) AMBIENCE_CHANNEL_CRITTER_0, CHANNEL_IO_PORT_2, type
#define AMBIENCE_IO_CRITTER_0_BEND_PITCH(bend) AMBIENCE_CHANNEL_CRITTER_0, CHANNEL_IO_PORT_3, bend
#define AMBIENCE_IO_CRITTER_0_NUM_LAYERS(num) AMBIENCE_CHANNEL_CRITTER_0, CHANNEL_IO_PORT_4, num
#define AMBIENCE_IO_CRITTER_0_PORT5(reverb) AMBIENCE_CHANNEL_CRITTER_0, CHANNEL_IO_PORT_5, reverb
#define NATURE_IO_CRITTER_1_TYPE(type) NATURE_CHANNEL_CRITTER_1, CHANNEL_IO_PORT_2, type
#define NATURE_IO_CRITTER_1_BEND_PITCH(bend) NATURE_CHANNEL_CRITTER_1, CHANNEL_IO_PORT_3, bend
#define NATURE_IO_CRITTER_1_NUM_LAYERS(num) NATURE_CHANNEL_CRITTER_1, CHANNEL_IO_PORT_4, num
#define NATURE_IO_CRITTER_1_PORT5(reverb) NATURE_CHANNEL_CRITTER_1, CHANNEL_IO_PORT_5, reverb
#define AMBIENCE_IO_CRITTER_1_TYPE(type) AMBIENCE_CHANNEL_CRITTER_1, CHANNEL_IO_PORT_2, type
#define AMBIENCE_IO_CRITTER_1_BEND_PITCH(bend) AMBIENCE_CHANNEL_CRITTER_1, CHANNEL_IO_PORT_3, bend
#define AMBIENCE_IO_CRITTER_1_NUM_LAYERS(num) AMBIENCE_CHANNEL_CRITTER_1, CHANNEL_IO_PORT_4, num
#define AMBIENCE_IO_CRITTER_1_PORT5(reverb) AMBIENCE_CHANNEL_CRITTER_1, CHANNEL_IO_PORT_5, reverb
#define NATURE_IO_CRITTER_2_TYPE(type) NATURE_CHANNEL_CRITTER_2, CHANNEL_IO_PORT_2, type
#define NATURE_IO_CRITTER_2_BEND_PITCH(bend) NATURE_CHANNEL_CRITTER_2, CHANNEL_IO_PORT_3, bend
#define NATURE_IO_CRITTER_2_NUM_LAYERS(num) NATURE_CHANNEL_CRITTER_2, CHANNEL_IO_PORT_4, num
#define NATURE_IO_CRITTER_2_PORT5(reverb) NATURE_CHANNEL_CRITTER_2, CHANNEL_IO_PORT_5, reverb
#define AMBIENCE_IO_CRITTER_2_TYPE(type) AMBIENCE_CHANNEL_CRITTER_2, CHANNEL_IO_PORT_2, type
#define AMBIENCE_IO_CRITTER_2_BEND_PITCH(bend) AMBIENCE_CHANNEL_CRITTER_2, CHANNEL_IO_PORT_3, bend
#define AMBIENCE_IO_CRITTER_2_NUM_LAYERS(num) AMBIENCE_CHANNEL_CRITTER_2, CHANNEL_IO_PORT_4, num
#define AMBIENCE_IO_CRITTER_2_PORT5(reverb) AMBIENCE_CHANNEL_CRITTER_2, CHANNEL_IO_PORT_5, reverb
#define NATURE_IO_CRITTER_3_TYPE(type) NATURE_CHANNEL_CRITTER_3, CHANNEL_IO_PORT_2, type
#define NATURE_IO_CRITTER_3_BEND_PITCH(bend) NATURE_CHANNEL_CRITTER_3, CHANNEL_IO_PORT_3, bend
#define NATURE_IO_CRITTER_3_NUM_LAYERS(num) NATURE_CHANNEL_CRITTER_3, CHANNEL_IO_PORT_4, num
#define NATURE_IO_CRITTER_3_PORT5(reverb) NATURE_CHANNEL_CRITTER_3, CHANNEL_IO_PORT_5, reverb
#define AMBIENCE_IO_CRITTER_3_TYPE(type) AMBIENCE_CHANNEL_CRITTER_3, CHANNEL_IO_PORT_2, type
#define AMBIENCE_IO_CRITTER_3_BEND_PITCH(bend) AMBIENCE_CHANNEL_CRITTER_3, CHANNEL_IO_PORT_3, bend
#define AMBIENCE_IO_CRITTER_3_NUM_LAYERS(num) AMBIENCE_CHANNEL_CRITTER_3, CHANNEL_IO_PORT_4, num
#define AMBIENCE_IO_CRITTER_3_PORT5(reverb) AMBIENCE_CHANNEL_CRITTER_3, CHANNEL_IO_PORT_5, reverb
#define NATURE_IO_CRITTER_4_TYPE(type) NATURE_CHANNEL_CRITTER_4, CHANNEL_IO_PORT_2, type
#define NATURE_IO_CRITTER_4_BEND_PITCH(bend) NATURE_CHANNEL_CRITTER_4, CHANNEL_IO_PORT_3, bend
#define NATURE_IO_CRITTER_4_NUM_LAYERS(num) NATURE_CHANNEL_CRITTER_4, CHANNEL_IO_PORT_4, num
#define NATURE_IO_CRITTER_4_PORT5(reverb) NATURE_CHANNEL_CRITTER_4, CHANNEL_IO_PORT_5, reverb
#define AMBIENCE_IO_CRITTER_4_TYPE(type) AMBIENCE_CHANNEL_CRITTER_4, CHANNEL_IO_PORT_2, type
#define AMBIENCE_IO_CRITTER_4_BEND_PITCH(bend) AMBIENCE_CHANNEL_CRITTER_4, CHANNEL_IO_PORT_3, bend
#define AMBIENCE_IO_CRITTER_4_NUM_LAYERS(num) AMBIENCE_CHANNEL_CRITTER_4, CHANNEL_IO_PORT_4, num
#define AMBIENCE_IO_CRITTER_4_PORT5(reverb) AMBIENCE_CHANNEL_CRITTER_4, CHANNEL_IO_PORT_5, reverb
#define NATURE_IO_CRITTER_5_TYPE(type) NATURE_CHANNEL_CRITTER_5, CHANNEL_IO_PORT_2, type
#define NATURE_IO_CRITTER_5_BEND_PITCH(bend) NATURE_CHANNEL_CRITTER_5, CHANNEL_IO_PORT_3, bend
#define NATURE_IO_CRITTER_5_NUM_LAYERS(num) NATURE_CHANNEL_CRITTER_5, CHANNEL_IO_PORT_4, num
#define NATURE_IO_CRITTER_5_PORT5(reverb) NATURE_CHANNEL_CRITTER_5, CHANNEL_IO_PORT_5, reverb
#define AMBIENCE_IO_CRITTER_5_TYPE(type) AMBIENCE_CHANNEL_CRITTER_5, CHANNEL_IO_PORT_2, type
#define AMBIENCE_IO_CRITTER_5_BEND_PITCH(bend) AMBIENCE_CHANNEL_CRITTER_5, CHANNEL_IO_PORT_3, bend
#define AMBIENCE_IO_CRITTER_5_NUM_LAYERS(num) AMBIENCE_CHANNEL_CRITTER_5, CHANNEL_IO_PORT_4, num
#define AMBIENCE_IO_CRITTER_5_PORT5(reverb) AMBIENCE_CHANNEL_CRITTER_5, CHANNEL_IO_PORT_5, reverb
#define NATURE_IO_CRITTER_6_TYPE(type) NATURE_CHANNEL_CRITTER_6, CHANNEL_IO_PORT_2, type
#define NATURE_IO_CRITTER_6_BEND_PITCH(bend) NATURE_CHANNEL_CRITTER_6, CHANNEL_IO_PORT_3, bend
#define NATURE_IO_CRITTER_6_NUM_LAYERS(num) NATURE_CHANNEL_CRITTER_6, CHANNEL_IO_PORT_4, num
#define NATURE_IO_CRITTER_6_PORT5(reverb) NATURE_CHANNEL_CRITTER_6, CHANNEL_IO_PORT_5, reverb
#define AMBIENCE_IO_CRITTER_6_TYPE(type) AMBIENCE_CHANNEL_CRITTER_6, CHANNEL_IO_PORT_2, type
#define AMBIENCE_IO_CRITTER_6_BEND_PITCH(bend) AMBIENCE_CHANNEL_CRITTER_6, CHANNEL_IO_PORT_3, bend
#define AMBIENCE_IO_CRITTER_6_NUM_LAYERS(num) AMBIENCE_CHANNEL_CRITTER_6, CHANNEL_IO_PORT_4, num
#define AMBIENCE_IO_CRITTER_6_PORT5(reverb) AMBIENCE_CHANNEL_CRITTER_6, CHANNEL_IO_PORT_5, reverb
#define NATURE_IO_STREAM_0_TYPE(type) NATURE_CHANNEL_STREAM_0, CHANNEL_IO_PORT_2, type
#define NATURE_IO_STREAM_0_PORT3(data) NATURE_CHANNEL_STREAM_0, CHANNEL_IO_PORT_3, data
#define NATURE_IO_STREAM_0_PORT4(data) NATURE_CHANNEL_STREAM_0, CHANNEL_IO_PORT_4, data
#define AMBIENCE_IO_STREAM_0_TYPE(type) AMBIENCE_CHANNEL_STREAM_0, CHANNEL_IO_PORT_2, type
#define AMBIENCE_IO_STREAM_0_PORT3(data) AMBIENCE_CHANNEL_STREAM_0, CHANNEL_IO_PORT_3, data
#define AMBIENCE_IO_STREAM_0_PORT4(data) AMBIENCE_CHANNEL_STREAM_0, CHANNEL_IO_PORT_4, data
#define NATURE_IO_STREAM_1_TYPE(type) NATURE_CHANNEL_STREAM_1, CHANNEL_IO_PORT_2, type
#define NATURE_IO_STREAM_1_PORT3(data) NATURE_CHANNEL_STREAM_1, CHANNEL_IO_PORT_3, data
#define NATURE_IO_STREAM_1_PORT4(data) NATURE_CHANNEL_STREAM_1, CHANNEL_IO_PORT_4, data
#define AMBIENCE_IO_STREAM_1_TYPE(type) AMBIENCE_CHANNEL_STREAM_1, CHANNEL_IO_PORT_2, type
#define AMBIENCE_IO_STREAM_1_PORT3(data) AMBIENCE_CHANNEL_STREAM_1, CHANNEL_IO_PORT_3, data
#define AMBIENCE_IO_STREAM_1_PORT4(data) AMBIENCE_CHANNEL_STREAM_1, CHANNEL_IO_PORT_4, data
#define NATURE_IO_RAIN_PORT4(data) NATURE_CHANNEL_RAIN, CHANNEL_IO_PORT_4, data
#define AMBIENCE_IO_RAIN_PORT4(data) AMBIENCE_CHANNEL_RAIN, CHANNEL_IO_PORT_4, data
#define NATURE_IO_ENTRIES_END 0xFF
#define AMBIENCE_IO_ENTRIES_END 0xFF
#endif

View File

@ -3416,7 +3416,7 @@ extern s32 D_801FD120;
// extern UNK_TYPE1 D_801FD434;
// extern UNK_TYPE1 D_801FD435;
// extern UNK_TYPE1 D_801FD436;
// extern UNK_TYPE1 D_801FD438;
// extern UNK_TYPE1 sPrevAmbienceSeqId;
// extern UNK_TYPE1 D_801FD43A;
// extern UNK_TYPE1 D_801FD43B;
// extern UNK_TYPE1 D_801FD43E;
@ -3477,7 +3477,7 @@ extern ActiveSfx gActiveSfx[7][3];
// extern UNK_TYPE1 D_8020001E;
// extern UNK_TYPE1 D_802000C9;
// extern UNK_TYPE1 D_802000D4;
// extern UNK_TYPE1 D_80200140;
extern ActiveSequence gActiveSeqs[];
// extern UNK_TYPE1 D_8020034A;
// extern UNK_TYPE1 D_80200B88;
// extern UNK_TYPE1 D_80200BBA;

View File

@ -1056,10 +1056,9 @@ struct FireObj {
}; // size = 0x8B
typedef struct {
/* 0x0 */ u8 seqIndex;
/* 0x1 */ u8 nightSeqIndex;
/* 0x2 */ u8 unk_02;
} SoundContext; // size = 0x3
/* 0x0 */ u8 seqId;
/* 0x1 */ u8 ambienceId;
} SequenceContext; // size = 0x2
typedef struct {
/* 0x0 */ s32 enabled;
@ -1095,7 +1094,7 @@ struct PlayState {
/* 0x00800 */ Camera* cameraPtrs[NUM_CAMS];
/* 0x00810 */ s16 activeCamId;
/* 0x00812 */ s16 nextCamera;
/* 0x00814 */ SoundContext soundCtx;
/* 0x00814 */ SequenceContext sequenceCtx;
/* 0x00818 */ LightContext lightCtx;
/* 0x00828 */ FrameAdvanceContext frameAdvCtx;
/* 0x00830 */ CollisionContext colCtx;

View File

@ -9,6 +9,7 @@
#define IS_SEQUENCE_CHANNEL_VALID(ptr) ((uintptr_t)(ptr) != (uintptr_t)&gAudioContext.sequenceChannelNone)
#define SEQ_NUM_CHANNELS 16
#define SEQ_IO_VAL_NONE -1
typedef enum {
/* 0 */ SEQPLAYER_STATE_0,
@ -51,9 +52,9 @@ typedef enum {
typedef enum {
/* 0 */ SOUNDMODE_STEREO,
/* 1 */ SOUNDMODE_HEADSET,
/* 2 */ SOUNDMODE_SURROUND,
/* 2 */ SOUNDMODE_SURROUND_EXTERNAL,
/* 3 */ SOUNDMODE_MONO,
/* 4 */ SOUNDMODE_SURROUND_EXTERNAL,
/* 4 */ SOUNDMODE_SURROUND,
} SoundMode;
typedef enum {
@ -1068,7 +1069,7 @@ typedef struct {
/* 0x204 */ u16 unk_28;
/* 0x206 */ u16 unk_250;
/* 0x208 */ u16 unk_252;
/* 0x20A */ u16 unk_254;
/* 0x20A */ u16 seqId;
/* 0x20C */ u16 unk_256;
/* 0x20E */ u16 unk_258;
/* 0x210 */ u8 unk_260;
@ -1080,7 +1081,7 @@ typedef struct {
/* 0x219 */ u8 unk_4D;
/* 0x21A */ u8 unk_4E;
/* 0x21B */ u8 unk_21B;
} unk_D_8016E750; // size = 0x21C
} ActiveSequence; // size = 0x21C
typedef struct {
/* 0x0 */ u8 unk_0;
@ -1095,7 +1096,7 @@ typedef enum {
/* 4 */ BANK_SYSTEM,
/* 5 */ BANK_OCARINA,
/* 6 */ BANK_VOICE
} SoundBankTypes;
} SfxBankType;
typedef enum {
/* 0 */ SFX_STATE_EMPTY,

View File

@ -327,8 +327,8 @@ typedef struct SaveContext {
/* 0x3EF8 */ s16 timerX[TIMER_ID_MAX]; // "event_xp"
/* 0x3F06 */ s16 timerY[TIMER_ID_MAX]; // "event_yp"
/* 0x3F14 */ s16 unk_3F14; // "character_change"
/* 0x3F16 */ u8 seqIndex; // "old_bgm"
/* 0x3F17 */ u8 nightSeqIndex; // "old_env"
/* 0x3F16 */ u8 seqId; // "old_bgm"
/* 0x3F17 */ u8 ambienceId; // "old_env"
/* 0x3F18 */ u8 buttonStatus[6]; // "button_item"
/* 0x3F1E */ u8 hudVisibilityForceButtonAlphasByStatus; // if btn alphas are updated through Interface_UpdateButtonAlphas, instead update them through Interface_UpdateButtonAlphasByStatus "ck_fg"
/* 0x3F20 */ u16 nextHudVisibility; // triggers the hud to change visibility to the requested value. Reset to HUD_VISIBILITY_IDLE when target is reached "alpha_type"

View File

@ -153,16 +153,16 @@ typedef struct {
typedef struct {
/* 0x0 */ u8 code;
/* 0x1 */ u8 bgmId;
/* 0x2 */ UNK_TYPE1 pad2[4];
/* 0x6 */ u8 nighttimeSFX;
/* 0x7 */ u8 musicSeq;
/* 0x1 */ u8 specId;
/* 0x2 */ UNK_TYPE1 unk_02[4];
/* 0x6 */ u8 ambienceId;
/* 0x7 */ u8 seqId;
} SCmdSoundSettings; // size = 0x8
typedef struct {
/* 0x0 */ u8 code;
/* 0x1 */ u8 data1;
/* 0x2 */ UNK_TYPE1 pad2[5];
/* 0x2 */ UNK_TYPE1 unk_02[5];
/* 0x7 */ u8 echo;
} SCmdEchoSettings; // size = 0x8
@ -817,7 +817,7 @@ typedef enum {
/* 0x1D */ SCENE_CMD_ID_UNUSED_1D,
/* 0x1E */ SCENE_CMD_ID_MINIMAP_COMPASS_ICON_INFO,
/* 0x1F */ SCENE_CMD_MAX
} SceneCommandTypeID;
} SceneCommandTypeId;
#define SCENE_CMD_SPAWN_LIST(numSpawns, spawnList) \
{ SCENE_CMD_ID_SPAWN_LIST, numSpawns, CMD_PTR(spawnList) }
@ -887,8 +887,8 @@ typedef enum {
#define SCENE_CMD_END() \
{ SCENE_CMD_ID_END, 0, CMD_W(0) }
#define SCENE_CMD_SOUND_SETTINGS(audioSessionId, nighttimeSfx, bgmId) \
{ SCENE_CMD_ID_SOUND_SETTINGS, audioSessionId, CMD_BBBB(0, 0, nighttimeSfx, bgmId) }
#define SCENE_CMD_SOUND_SETTINGS(specId, ambienceId, seqId) \
{ SCENE_CMD_ID_SOUND_SETTINGS, specId, CMD_BBBB(0, 0, ambienceId, seqId) }
#define SCENE_CMD_ECHO_SETTINGS(echo) \
{ SCENE_CMD_ID_ECHO_SETTINGS, 0, CMD_BBBB(0, 0, 0, echo) }

View File

@ -315,7 +315,7 @@ void AudioSeq_InitSequenceChannel(SequenceChannel* channel) {
channel->freqScale = 1.0f;
for (i = 0; i < ARRAY_COUNT(channel->soundScriptIO); i++) {
channel->soundScriptIO[i] = -1;
channel->soundScriptIO[i] = SEQ_IO_VAL_NONE;
}
channel->unused = false;
@ -1791,12 +1791,12 @@ void AudioSeq_SequenceChannelProcessScript(SequenceChannel* channel) {
case 0x10: // channel: load sample
if (lowBits < 8) {
channel->soundScriptIO[lowBits] = -1;
channel->soundScriptIO[lowBits] = SEQ_IO_VAL_NONE;
if (AudioLoad_SlowLoadSample(channel->fontId, scriptState->value,
&channel->soundScriptIO[lowBits]) == -1) {}
} else {
lowBits -= 8;
channel->soundScriptIO[lowBits] = -1;
channel->soundScriptIO[lowBits] = SEQ_IO_VAL_NONE;
if (AudioLoad_SlowLoadSample(channel->fontId, channel->unk_22 + 0x100,
&channel->soundScriptIO[lowBits]) == -1) {}
}
@ -1805,7 +1805,7 @@ void AudioSeq_SequenceChannelProcessScript(SequenceChannel* channel) {
case 0x60: // channel: io read value
scriptState->value = channel->soundScriptIO[lowBits];
if (lowBits < 2) {
channel->soundScriptIO[lowBits] = -1;
channel->soundScriptIO[lowBits] = SEQ_IO_VAL_NONE;
}
break;
@ -2150,7 +2150,7 @@ void AudioSeq_SequencePlayerProcessSequence(SequencePlayer* seqPlayer) {
case 0x80: // seqPlayer: io read value
seqScript->value = seqPlayer->soundScriptIO[cmdLowBits];
if (cmdLowBits < 2) {
seqPlayer->soundScriptIO[cmdLowBits] = -1;
seqPlayer->soundScriptIO[cmdLowBits] = SEQ_IO_VAL_NONE;
}
break;
@ -2286,7 +2286,7 @@ void AudioSeq_InitSequencePlayer(SequencePlayer* seqPlayer) {
seqPlayer->applyBend = false;
for (j = 0; j < ARRAY_COUNT(seqPlayer->soundScriptIO); j++) {
seqPlayer->soundScriptIO[j] = -1;
seqPlayer->soundScriptIO[j] = SEQ_IO_VAL_NONE;
}
seqPlayer->muteFlags = MUTE_FLAGS_SOFTEN | MUTE_FLAGS_STOP_NOTES;

File diff suppressed because it is too large Load Diff

View File

@ -671,7 +671,7 @@ void AudioSfx_PlayActiveSfx(u8 bankId) {
// "one-frame" sfx
entry->state = SFX_STATE_PLAYING_ONE_FRAME;
}
} else if ((u8)channel->soundScriptIO[1] == 0xFF) {
} else if ((u8)channel->soundScriptIO[1] == (u8)SEQ_IO_VAL_NONE) {
// Signal from seq 0 that the sfx is finished playing. Remove entry
AudioSfx_RemoveBankEntry(bankId, entryIndex);
} else if (entry->state == SFX_STATE_PLAYING_REFRESH) {

View File

@ -2,7 +2,7 @@
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/Audio_StartSequence.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A7D04.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/Audio_StopSequence.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A7D84.s")
@ -10,7 +10,7 @@
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A89D0.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A8A50.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/Audio_GetActiveSequence.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A8ABC.s")

View File

@ -225,7 +225,7 @@ void GameState_Init(GameState* gameState, GameStateFunc init, GraphicsContext* g
void GameState_Destroy(GameState* gameState) {
AudioMgr_StopAllSfxExceptSystem();
func_8019E014();
Audio_Update();
osRecvMesg(&gameState->gfxCtx->queue, NULL, OS_MESG_BLOCK);
if (gameState->destroy != NULL) {

View File

@ -232,7 +232,7 @@ void Graph_UpdateGame(GameState* gameState) {
Game_UpdateInput(gameState);
Game_IncrementFrameCount(gameState);
if (SREG(20) < 3) {
func_8019E014();
Audio_Update();
}
}

View File

@ -6,8 +6,8 @@ void SaveContext_Init(void) {
bzero(&gSaveContext, sizeof(SaveContext));
gSaveContext.save.playerForm = 0;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
gSaveContext.ambienceId = AMBIENCE_ID_DISABLED;
gSaveContext.unk_3F46 = NA_BGM_GENERAL_SFX;
gSaveContext.nextCutsceneIndex = 0xFFEF;
gSaveContext.cutsceneTrigger = 0;

View File

@ -152,7 +152,7 @@ void Cutscene_Command_Misc(PlayState* play, CutsceneContext* csCtx, CsCmdBase* c
break;
case 0x2:
if (isStartFrame) {
func_801A47DC(NATURE_CHANNEL_LIGHTNING, CHANNEL_IO_PORT_0, 0);
Audio_SetAmbienceChannelIO(AMBIENCE_CHANNEL_LIGHTNING, CHANNEL_IO_PORT_0, 0);
Environment_AddLightningBolts(play, 3);
D_801F4E68 = 1;
}
@ -376,14 +376,14 @@ void Cutscene_Command_SetLighting(PlayState* play, CutsceneContext* csCtx, CsCmd
// Command 0x12C: Plays a sequence (Background music or Fanfare)
void Cutscene_Command_PlaySequence(PlayState* play, CutsceneContext* csCtx, CsCmdSequenceChange* cmd) {
if (csCtx->frames == cmd->startFrame) {
func_801A2C88(cmd->sequence - 1);
Audio_PlaySequenceInCutscene(cmd->sequence - 1);
}
}
// Command 0x12D: Stops a sequence (Background music or Fanfare)
void Cutscene_Command_StopSequence(PlayState* play, CutsceneContext* csCtx, CsCmdSequenceChange* cmd) {
if ((csCtx->frames >= cmd->startFrame) && (cmd->endFrame >= csCtx->frames)) {
func_801A2D54(cmd->sequence - 1);
Audio_StopSequenceInCutscene(cmd->sequence - 1);
}
}
@ -403,9 +403,7 @@ void Cutscene_Command_FadeSequence(PlayState* play, CutsceneContext* csCtx, CsCm
// Command 0x12E: Play Ambience sequence
void Cutscene_Command_PlayAmbienceSequence(PlayState* play, CutsceneContext* csCtx, CsCmdBase* cmd) {
if (csCtx->frames == cmd->startFrame) {
// Audio_PlayNatureAmbienceSequence
// nightSeqIndex is natureAmbienceId
func_801A4A28(play->soundCtx.nightSeqIndex);
Audio_PlayAmbience(play->sequenceCtx.ambienceId);
}
}
@ -455,29 +453,27 @@ void func_800EADB0(PlayState* play, CutsceneContext* csCtx, CsCmdBase* cmd) {
break;
case 4:
// func_801A246C(SEQ_PLAYER_NATURE, TYPE_1);
func_801A246C(SEQ_PLAYER_NATURE, 1);
// func_801A246C(SEQ_PLAYER_AMBIENCE, TYPE_1);
func_801A246C(SEQ_PLAYER_AMBIENCE, 1);
break;
case 5:
// func_801A246C(SEQ_PLAYER_NATURE, TYPE_0);
func_801A246C(SEQ_PLAYER_NATURE, 0);
// func_801A246C(SEQ_PLAYER_AMBIENCE, TYPE_0);
func_801A246C(SEQ_PLAYER_AMBIENCE, 0);
break;
case 6:
// func_801A246C(SEQ_PLAYER_NATURE, TYPE_2);
func_801A246C(SEQ_PLAYER_NATURE, 2);
// func_801A246C(SEQ_PLAYER_AMBIENCE, TYPE_2);
func_801A246C(SEQ_PLAYER_AMBIENCE, 2);
break;
case 7:
// Audio_GetActiveSequence
seqId = func_801A8A50(0);
seqId = Audio_GetActiveSequence(SEQ_PLAYER_BGM_MAIN);
break;
case 8:
if (seqId != NA_BGM_DISABLED) {
// Audio_PlayBgmForDayScene
func_801A25E4(seqId, dayMinusOne);
Audio_PlaySceneSequence(seqId, dayMinusOne);
}
break;
}
@ -647,7 +643,7 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
// Command 0x15F: Chooses between a cutscene or a rotating mask depending on whether the player has the corresponding
// mask
void Cutscene_Command_ChooseCreditsScenes(PlayState* play, CutsceneContext* csCtx, CsCmdBase* cmd) {
if ((csCtx->frames >= cmd->startFrame) && (func_801A3950(0, true) != 0xFF)) {
if ((csCtx->frames >= cmd->startFrame) && (func_801A3950(SEQ_PLAYER_BGM_MAIN, true) != 0xFF)) {
switch (cmd->base) {
case 1:
Cutscene_TerminatorImpl(play, csCtx, cmd);

View File

@ -46,8 +46,8 @@ void GameOver_Update(PlayState* play) {
gSaveContext.unk_3DC0 = 2000;
gSaveContext.save.playerData.tatlTimer = 0;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
gSaveContext.ambienceId = AMBIENCE_ID_DISABLED;
gSaveContext.eventInf[0] = 0;
gSaveContext.eventInf[1] = 0;
gSaveContext.eventInf[2] = 0;
@ -67,7 +67,7 @@ void GameOver_Update(PlayState* play) {
gameOverCtx->state = GAMEOVER_DEATH_WAIT_GROUND;
break;
case GAMEOVER_DEATH_FADE_OUT:
if (func_801A8A50(1) != NA_BGM_GAME_OVER) {
if (Audio_GetActiveSequence(SEQ_PLAYER_FANFARE) != NA_BGM_GAME_OVER) {
func_80169F78(&play->state);
if (gSaveContext.respawnFlag != -7) {
gSaveContext.respawnFlag = -6;

View File

@ -436,11 +436,12 @@ void Scene_HeaderCmd09(PlayState* play, SceneCmd* cmd) {
// SceneTableEntry Header Command 0x15: Sound Settings=
void Scene_HeaderCmdSoundSettings(PlayState* play, SceneCmd* cmd) {
play->soundCtx.seqIndex = cmd->soundSettings.musicSeq;
play->soundCtx.nightSeqIndex = cmd->soundSettings.nighttimeSFX;
play->sequenceCtx.seqId = cmd->soundSettings.seqId;
play->sequenceCtx.ambienceId = cmd->soundSettings.ambienceId;
if (gSaveContext.seqIndex == (u8)NA_BGM_DISABLED || func_801A8A50(0) == NA_BGM_FINAL_HOURS) {
audio_setBGM(cmd->soundSettings.bgmId);
if (gSaveContext.seqId == (u8)NA_BGM_DISABLED ||
Audio_GetActiveSequence(SEQ_PLAYER_BGM_MAIN) == NA_BGM_FINAL_HOURS) {
Audio_SetSpec(cmd->soundSettings.specId);
}
}

View File

@ -521,7 +521,7 @@ void func_809ED224(Boss04* this) {
this->unk_2C8 = 200;
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_ME_DEAD);
this->actor.flags &= ~ACTOR_FLAG_1;
func_801A2ED8();
Audio_RestorePrevBgm();
this->unk_1F6 = 10;
}
@ -759,7 +759,7 @@ void Boss04_Update(Actor* thisx, PlayState* play2) {
if (D_809EE4D0 != 0) {
D_809EE4D0--;
if (D_809EE4D0 == 0) {
func_801A2E54(0x38);
Audio_PlayBgm_StorePrevBgm(NA_BGM_MINI_BOSS);
}
}

View File

@ -670,7 +670,7 @@ void DmStk_PlaySfxForPlayingWithFairiesCutscene(DmStk* this, PlayState* play) {
void DmStk_PlaySfxForEndingCutsceneFirstPart(DmStk* this, PlayState* play) {
switch (play->csCtx.frames) {
case 5:
func_801A4A28(12);
Audio_PlayAmbience(AMBIENCE_ID_0C);
break;
case 660:
@ -688,7 +688,7 @@ void DmStk_PlaySfxForEndingCutsceneSecondPart(DmStk* this, PlayState* play) {
switch (play->csCtx.frames) {
case 5:
func_801A4A28(12);
Audio_PlayAmbience(AMBIENCE_ID_0C);
break;
case 45:

View File

@ -537,7 +537,7 @@ void func_808A1784(DoorShutter* this, PlayState* play) {
} else {
DoorShutter_SetupAction(this, func_808A1090);
}
func_801A2ED8();
Audio_RestorePrevBgm();
}
}

View File

@ -671,7 +671,7 @@ void func_809C2730(EnAob01* this, PlayState* play) {
void func_809C2788(EnAob01* this, PlayState* play) {
this->unk_2D2 |= 0x20;
if (func_809C25E4(this, play)) {
if (func_801A8A50(0) != 0x41) {
if (Audio_GetActiveSequence(SEQ_PLAYER_BGM_MAIN) != NA_BGM_HORSE_GOAL) {
play->nextEntrance = ENTRANCE(DOGGY_RACETRACK, 1);
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & (u8)~7) | 3;
play->transitionType = TRANS_TYPE_64;

View File

@ -1426,7 +1426,7 @@ void func_80A97AB4(EnAz* this, PlayState* play) {
if (play->msgCtx.choiceIndex == 0) {
func_8019F208();
play->msgCtx.msgMode = 0x44;
func_800FD750(NA_BGM_MINI_GAME_2);
func_800FD750(NA_BGM_TIMED_MINI_GAME);
func_80A94AB8(this, play, 1);
func_80A979DC(this, play);
} else {
@ -1466,7 +1466,7 @@ void func_80A97C4C(EnAz* this, PlayState* play) {
func_80A97410(this, play);
if ((this->unk_2FA == 1) || (this->unk_2FA == 3) || (this->unk_2FA == 6) || (this->unk_2FA == 8)) {
gSaveContext.save.weekEventReg[24] &= (u8)~1;
func_800FD750(NA_BGM_MINI_GAME_2);
func_800FD750(NA_BGM_TIMED_MINI_GAME);
play->nextEntrance = Entrance_CreateFromSpawn(1);
gSaveContext.nextCutsceneIndex = 0;
play->transitionTrigger = TRANS_TRIGGER_START;

View File

@ -220,7 +220,7 @@ void EnBigpo_Init(Actor* thisx, PlayState* play2) {
if (thisx->params == ENBIGPO_REGULAR) { // the well poe, starts immediately
thisx->flags &= ~ACTOR_FLAG_10; // always update OFF
this->unkBool204 = true;
this->storePrevBgm = true;
EnBigpo_InitWellBigpo(this);
} else if (thisx->params == ENBIGPO_SUMMONED) { // dampe type
EnBigpo_InitDampeMainPo(this);
@ -439,9 +439,9 @@ void EnBigpo_SpawnCutsceneStage6(EnBigpo* this, PlayState* play) {
*/
void EnBigpo_SpawnCutsceneStage7(EnBigpo* this) {
this->idleTimer = 15;
if (this->unkBool204 == false) {
func_801A2E54(NA_BGM_MINI_BOSS);
this->unkBool204 = true;
if (this->storePrevBgm == false) {
Audio_PlayBgm_StorePrevBgm(NA_BGM_MINI_BOSS);
this->storePrevBgm = true;
}
this->actionFunc = EnBigpo_SpawnCutsceneStage8;
}
@ -525,9 +525,9 @@ void EnBigpo_WarpingIn(EnBigpo* this, PlayState* play) {
this->mainColor.a = this->idleTimer * (255.0f / 32.0f);
if (this->idleTimer == 32) {
this->mainColor.a = 255; // fully visible
if (this->unkBool204 == false) {
func_801A2E54(NA_BGM_MINI_BOSS);
this->unkBool204 = true;
if (this->storePrevBgm == false) {
Audio_PlayBgm_StorePrevBgm(NA_BGM_MINI_BOSS);
this->storePrevBgm = true;
}
EnBigpo_SetupIdleFlying(this);
}
@ -1124,7 +1124,7 @@ s32 EnBigpo_ApplyDamage(EnBigpo* this, PlayState* play) {
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_PO_DEAD);
Enemy_StartFinishingBlow(play, &this->actor);
if (this->actor.params == ENBIGPO_SUMMONED) { // dampe type
func_801A2ED8();
Audio_RestorePrevBgm();
}
} else {
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_PO_DAMAGE);

View File

@ -30,7 +30,7 @@ typedef struct EnBigpo {
/* 0x188 */ Vec3s jointTable[ENBIGPO_LIMBCOUNT];
/* 0x1C4 */ Vec3s morphTable[ENBIGPO_LIMBCOUNT];
/* 0x200 */ EnBigPoActionFunc actionFunc;
/* 0x204 */ u8 unkBool204; // need to know what func_801A2E54 does to know what this is
/* 0x204 */ u8 storePrevBgm;
/* 0x206 */ s16 idleTimer; // frame counter
/* 0x208 */ s16 unk208; // facing rotY?
/* 0x20A */ s16 rotVelocity;

View File

@ -1005,7 +1005,7 @@ void EnBigslime_CallMinislime(EnBigslime* this, PlayState* play) {
} else if (this->isAnimUpdate) {
Animation_PlayLoop(&this->skelAnime, &gGekkoNervousIdleAnim);
EnBigslime_UpdateCameraIntroCs(this, play, 25);
func_801A2E54(0x38);
Audio_PlayBgm_StorePrevBgm(NA_BGM_MINI_BOSS);
EnBigslime_InitFallMinislime(this);
play->envCtx.lightSettingOverride = 0xFF;
this->callTimer = 35;
@ -2620,7 +2620,7 @@ void EnBigslime_ApplyDamageEffectGekko(EnBigslime* this, PlayState* play) {
if (this->actor.colChkInfo.damageEffect != BIGSLIME_DMGEFF_HOOKSHOT) {
if (Actor_ApplyDamage(&this->actor) == 0) {
func_800BE504(&this->actor, &this->gekkoCollider);
func_801A2ED8();
Audio_RestorePrevBgm();
Enemy_StartFinishingBlow(play, &this->actor);
this->gekkoCollider.base.acFlags &= ~AC_ON;
EnBigslime_GekkoThaw(this, play);

View File

@ -691,7 +691,7 @@ void func_80C02740(EnBomjimb* this, PlayState* play) {
gSaveContext.save.bombersCaughtNum++;
if (gSaveContext.save.bombersCaughtNum > 4) {
func_801A3098(0x922);
Audio_PlayFanfare(NA_BGM_GET_ITEM | 0x900);
} else {
Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_PIECE_OF_HEART);
}

View File

@ -482,7 +482,7 @@ void EnBox_WaitOpen(EnBox* this, PlayState* play) {
this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y, this->dyna.actor.world.pos.z,
this->dyna.actor.shape.rot.x, this->dyna.actor.shape.rot.y, this->dyna.actor.shape.rot.z,
-1);
func_801A3098(0x2B | 0x900);
Audio_PlayFanfare(NA_BGM_OPEN_CHEST | 0x900);
}
if (this->getItemId == GI_STRAY_FAIRY) {

View File

@ -511,7 +511,7 @@ void func_8089B3D4(EnDinofos* this, PlayState* play) {
Math_Vec3f_StepTo(&subCam->eye, &this->unk_2BC, 10.0f);
this->unk_290++;
if (this->unk_290 == 10) {
func_801A2E54(NA_BGM_MINI_BOSS);
Audio_PlayBgm_StorePrevBgm(NA_BGM_MINI_BOSS);
}
subCamAt.x = this->actor.world.pos.x;
@ -530,7 +530,7 @@ void func_8089B3D4(EnDinofos* this, PlayState* play) {
void func_8089B4A4(EnDinofos* this) {
if (this->unk_290 < 10) {
func_801A2E54(NA_BGM_MINI_BOSS);
Audio_PlayBgm_StorePrevBgm(NA_BGM_MINI_BOSS);
}
Animation_PlayOnce(&this->skelAnime, &object_dinofos_Anim_00C974);
this->unk_2BC.x = (Math_SinS(this->actor.shape.rot.y + 0x200) * 123.0f) + this->actor.world.pos.x;
@ -1279,7 +1279,7 @@ s32 func_8089D60C(EnDinofos* this, PlayState* play) {
}
if (this->actor.cutscene != -1) {
func_801A2ED8();
Audio_RestorePrevBgm();
}
}

View File

@ -493,7 +493,7 @@ void EnElforg_FreeFloating(EnElforg* this, PlayState* play) {
// You found a Stray Fairy!
Message_StartTextbox(play, 0x11, NULL);
if (gSaveContext.save.inventory.strayFairies[(void)0, gSaveContext.dungeonIndex] >= 15) {
func_801A3098(NA_BGM_GET_ITEM | 0x900);
Audio_PlayFanfare(NA_BGM_GET_ITEM | 0x900);
}
}
}

View File

@ -538,7 +538,7 @@ void func_80962660(EnFu* this, PlayState* play) {
player->stateFlags1 |= 0x20;
this->unk_53C = 0;
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, 3);
func_801A2BB8(NA_BGM_MINI_GAME_2);
func_801A2BB8(NA_BGM_TIMED_MINI_GAME);
if (this->unk_542 == 0) {
if (this->unk_546 == 1) {
func_80961EC8(play);
@ -799,7 +799,7 @@ void func_80962F4C(EnFu* this, PlayState* play) {
func_801A2C20();
gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] = SECONDS_TO_TIMER(0);
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
func_801A3098(NA_BGM_GET_ITEM | 0x900);
Audio_PlayFanfare(NA_BGM_GET_ITEM | 0x900);
func_8011B4E0(play, 1);
this->unk_54A = 3;
func_809632D0(this);

View File

@ -387,7 +387,7 @@ void EnIk_Idle(EnIk* this, PlayState* play) {
}
} else if (this->colliderCylinder.base.acFlags & AC_HIT) {
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_IRONNACK_ARMOR_HIT);
func_801A2E54(NA_BGM_MINI_BOSS);
Audio_PlayBgm_StorePrevBgm(NA_BGM_MINI_BOSS);
this->actor.hintId = TATL_HINT_ID_IRON_KNUCKLE;
this->colliderCylinder.base.acFlags &= ~AC_HIT;
this->invincibilityFrames = 12;
@ -786,7 +786,7 @@ void EnIk_UpdateDamage(EnIk* this, PlayState* play) {
isArmorBroken = true;
} else {
Enemy_StartFinishingBlow(play, &this->actor);
func_801A2ED8();
Audio_RestorePrevBgm();
}
}
if (isArmorBroken == true) {

View File

@ -1989,7 +1989,7 @@ void func_80B470E0(EnInvadepoh* this) {
void func_80B47108(EnInvadepoh* this, PlayState* play) {
if (this->actionTimer == 100) {
func_801A3098(NA_BGM_CLEAR_EVENT);
Audio_PlayFanfare(NA_BGM_CLEAR_EVENT);
}
this->actionTimer--;
if (this->actionTimer <= 0) {

View File

@ -881,7 +881,7 @@ void EnMaYto_SetupAfterMilkRunInit(EnMaYto* this) {
if (gSaveContext.save.weekEventReg[52] & 1) { // if (ProtectedCremia)
EnMaYto_SetFaceExpression(this, 3, 1);
} else {
func_801A3098(NA_BGM_FAILURE_1);
Audio_PlayFanfare(NA_BGM_FAILURE_1);
EnMaYto_SetFaceExpression(this, 5, 2);
}
this->actionFunc = EnMaYto_AfterMilkRunInit;

View File

@ -303,7 +303,7 @@ void func_80A6F5E4(EnMm3* this, PlayState* play) {
this->unk_2AC--;
if (this->unk_2AC == 0) {
if (gSaveContext.timerCurTimes[TIMER_ID_POSTMAN] == SECONDS_TO_TIMER(10)) {
func_801A3098(0x922);
Audio_PlayFanfare(NA_BGM_GET_ITEM | 0x900);
} else {
play_sound(NA_SE_SY_ERROR);
}

View File

@ -356,7 +356,7 @@ void func_8095AE60(EnOwl* this, PlayState* play) {
void func_8095AEC0(EnOwl* this, PlayState* play) {
func_8095A920(this, play);
if (func_8095A978(this, play, 0x7D0, 360.0f, 200.0f)) {
func_801A3098(NA_BGM_OWL);
Audio_PlayFanfare(NA_BGM_OWL);
this->actionFunc = func_8095AE60;
}
}
@ -385,7 +385,7 @@ void func_8095AF2C(EnOwl* this, PlayState* play) {
void func_8095AFEC(EnOwl* this, PlayState* play) {
func_8095A920(this, play);
if (func_8095A978(this, play, 0xBF6, 200.0f, 100.0f)) {
func_801A3098(NA_BGM_OWL);
Audio_PlayFanfare(NA_BGM_OWL);
this->actionFunc = func_8095AF2C;
this->unk_406 = 0;
this->actionFlags |= 0x40;
@ -500,7 +500,7 @@ void func_8095B574(EnOwl* this, PlayState* play) {
func_8095A920(this, play);
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
this->actionFunc = func_8095BA84;
func_801A3098(NA_BGM_OWL);
Audio_PlayFanfare(NA_BGM_OWL);
this->actionFlags |= 0x40;
this->unk_406 = 2;
} else if (this->actor.xzDistToPlayer < 200.0f) {
@ -713,7 +713,7 @@ void func_8095BE0C(EnOwl* this, PlayState* play) {
func_8095A920(this, play);
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
this->actionFunc = func_8095BA84;
func_801A3098(NA_BGM_OWL);
Audio_PlayFanfare(NA_BGM_OWL);
this->unk_406 = 1;
this->actionFlags |= 0x40;
} else if (this->actor.textId == 0xBF0) {

View File

@ -1035,7 +1035,7 @@ void EnPametfrog_LookAround(EnPametfrog* this, PlayState* play) {
this->actor.shape.rot.y = this->actor.world.rot.y;
if (SkelAnime_Update(&this->skelAnime) && !Play_InCsMode(play)) {
if (!this->unk_2AE) {
func_801A2E54(NA_BGM_MINI_BOSS);
Audio_PlayBgm_StorePrevBgm(NA_BGM_MINI_BOSS);
this->unk_2AE = true;
}
EnPametfrog_SetupJumpToLink(this);
@ -1255,7 +1255,7 @@ void EnPametfrog_SetupTransitionGekkoSnapper(EnPametfrog* this, PlayState* play)
void EnPametfrog_TransitionGekkoSnapper(EnPametfrog* this, PlayState* play) {
if (this->actor.params == GEKKO_INIT_SNAPPER) {
func_801A2E54(NA_BGM_MINI_BOSS);
Audio_PlayBgm_StorePrevBgm(NA_BGM_MINI_BOSS);
EnPametfrog_SetupRunToSnapper(this);
}
}
@ -1267,7 +1267,7 @@ void EnPametfrog_ApplyDamageEffect(EnPametfrog* this, PlayState* play) {
!(this->collider.elements->info.acHitInfo->toucher.dmgFlags & 0xDB0B3)) {
if (this->actor.params == GEKKO_PRE_SNAPPER) {
if (Actor_ApplyDamage(&this->actor) == 0) {
func_801A2ED8();
Audio_RestorePrevBgm();
}
if (this->actor.colChkInfo.damageEffect == GEKKO_DMGEFF_ZORA_BARRIER) {
@ -1303,7 +1303,7 @@ void EnPametfrog_ApplyDamageEffect(EnPametfrog* this, PlayState* play) {
EnPametfrog_ApplyMagicArrowEffects(this, play);
Enemy_StartFinishingBlow(play, &this->actor);
this->actor.flags &= ~ACTOR_FLAG_1;
func_801A2ED8();
Audio_RestorePrevBgm();
EnPametfrog_SetupCutscene(this);
} else if (this->actor.colChkInfo.damageEffect == GEKKO_DMGEFF_ZORA_BARRIER) {
EnPametfrog_ApplyElectricStun(this);

View File

@ -377,7 +377,7 @@ void EnSyatekiDekunuts_Update(Actor* thisx, PlayState* play) {
if ((this->actionFunc != func_80A2BF18) && (this->unk_1D8 < this->unk_1EE) && (this->unk_1D8 > 10)) {
if ((this->collider.base.acFlags & AC_HIT) && (this->unk_1E2 == 1)) {
if (EN_SYATEKI_DEKUNUTS_GET_PARAM_F(&this->actor) == 1) {
func_801A3098(NA_BGM_GET_ITEM | 0x900);
Audio_PlayFanfare(NA_BGM_GET_ITEM | 0x900);
} else {
play_sound(NA_SE_SY_TRE_BOX_APPEAR);
}

View File

@ -395,7 +395,7 @@ void EnSyatekiMan_Swamp_HandleNormalMessage(EnSyatekiMan* this, PlayState* play)
func_80123F2C(play, 80);
this->shootingGameState = SG_GAME_STATE_RUNNING;
this->actionFunc = EnSyatekiMan_Swamp_StartGame;
func_801A2BB8(NA_BGM_MINI_GAME_2);
func_801A2BB8(NA_BGM_TIMED_MINI_GAME);
break;
case 0xA32: // You have to try harder!
@ -753,7 +753,7 @@ void EnSyatekiMan_Town_HandleNormalMessage(EnSyatekiMan* this, PlayState* play)
func_80112AFC(play);
func_80123F2C(play, 0x63);
this->shootingGameState = SG_GAME_STATE_RUNNING;
func_801A2BB8(NA_BGM_MINI_GAME_2);
func_801A2BB8(NA_BGM_TIMED_MINI_GAME);
this->actionFunc = EnSyatekiMan_Town_StartGame;
break;
@ -1349,7 +1349,7 @@ void EnSyatekiMan_Town_RunGame(EnSyatekiMan* this, PlayState* play) {
func_801A2C20();
this->actionFunc = EnSyatekiMan_Town_EndGame;
if (this->score == 50) {
func_801A3098(NA_BGM_GET_ITEM | 0x900);
Audio_PlayFanfare(NA_BGM_GET_ITEM | 0x900);
func_8011B4E0(play, 1);
}
}

View File

@ -424,7 +424,7 @@ void EnSyatekiWf_Update(Actor* thisx, PlayState* play2) {
this->unk_34C.base.acFlags &= ~AC_HIT;
this->actor.colChkInfo.health -= 2;
if (this->actor.colChkInfo.health == 0) {
func_801A3098(NA_BGM_GET_ITEM | 0x900);
Audio_PlayFanfare(NA_BGM_GET_ITEM | 0x900);
func_80A20858(this, play);
} else {
play_sound(NA_SE_SY_TRE_BOX_APPEAR);

View File

@ -690,7 +690,7 @@ void func_80A92188(EnTest6* this, PlayState* play) {
break;
case 110:
func_801A3098(0x4A);
Audio_PlayFanfare(NA_BGM_SONG_OF_DOUBLE_TIME);
break;
case 38:

View File

@ -409,7 +409,7 @@ void EnTest7_Init(Actor* thisx, PlayState* play2) {
} else {
func_80AF082C(this, func_80AF19A8);
EnTest7_SetupAction(this, func_80AF2854);
func_801A2E54(NA_BGM_SONG_OF_SOARING);
Audio_PlayBgm_StorePrevBgm(NA_BGM_SONG_OF_SOARING);
}
if (play->playerActorCsIds[8] == -1) {
@ -677,8 +677,8 @@ void func_80AF2350(EnTest7* this, PlayState* play) {
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_02;
gSaveContext.seqIndex = 0xFF;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
gSaveContext.ambienceId = AMBIENCE_ID_DISABLED;
}
void func_80AF24D8(EnTest7* this, PlayState* play, f32 arg2) {

View File

@ -247,8 +247,8 @@ void EnWarpTag_GrottoReturn(EnWarptag* this, PlayState* play) {
func_8019F128(NA_SE_OC_SECRET_HOLE_OUT);
func_801A4058(5);
if (1) {}
gSaveContext.seqIndex = 0xFF;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
gSaveContext.ambienceId = AMBIENCE_ID_DISABLED;
}
}

View File

@ -60,7 +60,7 @@ void ObjDemo_Init(Actor* thisx, PlayState* play) {
}
void func_80983634(PlayState* play) {
if ((play->sceneId == SCENE_CASTLE) && (func_801A8A50(0) == NA_BGM_IKANA_CASTLE)) {
if ((play->sceneId == SCENE_CASTLE) && (Audio_GetActiveSequence(SEQ_PLAYER_BGM_MAIN) == NA_BGM_IKANA_CASTLE)) {
Audio_QueueSeqCmd(0x100100FF);
}
}

View File

@ -751,7 +751,7 @@ void ObjUm_Init(Actor* thisx, PlayState* play) {
ObjUm_SetupAction(this, ObjUm_PostMilkRunStartCs);
this->unk_354 = 0;
ObjUm_RotatePlayer(this, play, 0);
func_801A3098(NA_BGM_CLEAR_EVENT);
Audio_PlayFanfare(NA_BGM_CLEAR_EVENT);
} else {
this->type = OBJ_UM_TYPE_TERMINA_FIELD;
ObjUm_SetupAction(this, ObjUm_TerminaFieldIdle);
@ -1295,9 +1295,9 @@ void ObjUm_RunMinigame(ObjUm* this, PlayState* play) {
switch (ObjUm_UpdatePath(this, play)) {
case OBJUM_PATH_STATE_1:
case OBJUM_PATH_STATE_FINISH:
gSaveContext.seqIndex = 0xFF;
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
gSaveContext.save.weekEventReg[31] &= (u8)~0x80;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.ambienceId = AMBIENCE_ID_DISABLED;
if (!(gSaveContext.save.weekEventReg[52] & 1) && !(gSaveContext.save.weekEventReg[52] & 2)) {
if (!this->areAllPotsBroken) {

View File

@ -41,8 +41,8 @@ void MapSelect_LoadGame(MapSelectState* this, u32 entrance, s32 spawn) {
}
gSaveContext.respawn[RESPAWN_MODE_DOWN].entrance = 0xFFFF;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
gSaveContext.ambienceId = AMBIENCE_ID_DISABLED;
gSaveContext.showTitleCard = true;
gSaveContext.respawnFlag = 0;
gSaveContext.respawn[RESPAWN_MODE_GORON].entrance = 0xFF;

View File

@ -128,8 +128,8 @@ void ConsoleLogo_Main(GameState* thisx) {
ConsoleLogo_UpdateCounters(this);
ConsoleLogo_Draw(&this->state);
if (this->exit) {
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
gSaveContext.ambienceId = AMBIENCE_ID_DISABLED;
gSaveContext.gameMode = 1;
STOP_GAMESTATE(&this->state);

View File

@ -3851,12 +3851,12 @@
0x8019D8E4:("AudioOcarina_CreateCustomSequence",),
0x8019DF28:("AudioOcarina_ResetInstrument",),
0x8019DF64:("AudioOcarina_ResetStaffs",),
0x8019DFF8:("func_8019DFF8",),
0x8019E000:("func_8019E000",),
0x8019E00C:("func_8019E00C",),
0x8019E014:("func_8019E014",),
0x8019E0FC:("func_8019E0FC",),
0x8019E104:("func_8019E104",),
0x8019DFF8:("Audio_Noop1",),
0x8019E000:("Audio_Noop2",),
0x8019E00C:("Audio_Noop3",),
0x8019E014:("Audio_Update",),
0x8019E0FC:("Audio_Noop4",),
0x8019E104:("Audio_Noop5",),
0x8019E110:("func_8019E110",),
0x8019E14C:("AudioSfx_ComputeVolume",),
0x8019E324:("AudioSfx_ComputeReverb",),
@ -3938,32 +3938,32 @@
0x801A21FC:("Audio_PlaySariaBgm",),
0x801A2460:("Audio_ClearSariaBgm2",),
0x801A246C:("func_801A246C",),
0x801A2544:("func_801A2544",),
0x801A257C:("func_801A257C",),
0x801A25E4:("func_801A25E4",),
0x801A2670:("func_801A2670",),
0x801A2778:("func_801A2778",),
0x801A2544:("Audio_PlayMorningSceneSequence",),
0x801A257C:("Audio_StartMorningSceneSequence",),
0x801A25E4:("Audio_PlaySceneSequence",),
0x801A2670:("Audio_StartSceneSequence",),
0x801A2778:("Audio_UpdateSceneSequenceResumePoint",),
0x801A27E8:("func_801A27E8",),
0x801A281C:("func_801A281C",),
0x801A29D4:("func_801A29D4",),
0x801A2BB8:("func_801A2BB8",),
0x801A2C20:("func_801A2C20",),
0x801A2C44:("func_801A2C44",),
0x801A2C88:("func_801A2C88",),
0x801A2D54:("func_801A2D54",),
0x801A2C88:("Audio_PlaySequenceInCutscene",),
0x801A2D54:("Audio_StopSequenceInCutscene",),
0x801A2DE0:("Audio_IsSequencePlaying",),
0x801A2E54:("func_801A2E54",),
0x801A2ED8:("func_801A2ED8",),
0x801A2F88:("func_801A2F88",),
0x801A2FC4:("func_801A2FC4",),
0x801A2E54:("Audio_PlayBgm_StorePrevBgm",),
0x801A2ED8:("Audio_RestorePrevBgm",),
0x801A2F88:("Audio_PlayAmbience_StorePrevBgm",),
0x801A2FC4:("Audio_ForceRestorePreviousBgm",),
0x801A3000:("func_801A3000",),
0x801A3038:("func_801A3038",),
0x801A3098:("func_801A3098",),
0x801A3098:("Audio_PlayFanfare",),
0x801A312C:("func_801A312C",),
0x801A31EC:("func_801A31EC",),
0x801A3238:("func_801A3238",),
0x801A32CC:("func_801A32CC",),
0x801A3590:("func_801A3590",),
0x801A3238:("Audio_PlaySequenceWithSeqPlayerIO",),
0x801A32CC:("Audio_SetSequenceMode",),
0x801A3590:("Audio_UpdateEnemyBgmVolume",),
0x801A36F0:("func_801A36F0",),
0x801A3950:("func_801A3950",),
0x801A39F8:("func_801A39F8",),
@ -3982,7 +3982,7 @@
0x801A3F6C:("func_801A3F6C",),
0x801A3FB4:("func_801A3FB4",),
0x801A3FFC:("func_801A3FFC",),
0x801A400C:("audio_setBGM",),
0x801A400C:("Audio_SetSpec",),
0x801A4058:("func_801A4058",),
0x801A41C8:("func_801A41C8",),
0x801A41F8:("func_801A41F8",),
@ -3993,15 +3993,15 @@
0x801A4380:("Audio_SetSfxVolumeExceptSystemAndOcarinaBanks",),
0x801A4428:("func_801A4428",),
0x801A44A4:("Audio_PreNMI",),
0x801A44C4:("func_801A44C4",),
0x801A44C4:("Audio_ResetRequestedSceneSeqId",),
0x801A44D4:("func_801A44D4",),
0x801A46F8:("func_801A46F8",),
0x801A4748:("func_801A4748",),
0x801A479C:("func_801A479C",),
0x801A47DC:("func_801A47DC",),
0x801A48E0:("func_801A48E0",),
0x801A4A28:("func_801A4A28",),
0x801A4B80:("Audio_SetNatureAmbienceRandomBend",),
0x801A47DC:("Audio_SetAmbienceChannelIO",),
0x801A48E0:("Audio_StartAmbience",),
0x801A4A28:("Audio_PlayAmbience",),
0x801A4B80:("Audio_SetAmbienceRandomBend",),
0x801A4C30:("Audio_Init",),
0x801A4C54:("AudioSfx_Init",),
0x801A4D00:("func_801A4D00",),
@ -4053,11 +4053,11 @@
0x801A78E4:("AudioSfx_IsPlaying",),
0x801A794C:("AudioSfx_Reset",),
0x801A7B10:("Audio_StartSequence",),
0x801A7D04:("func_801A7D04",),
0x801A7D04:("Audio_StopSequence",),
0x801A7D84:("func_801A7D84",),
0x801A89A8:("Audio_QueueSeqCmd",),
0x801A89D0:("func_801A89D0",),
0x801A8A50:("func_801A8A50",),
0x801A8A50:("Audio_GetActiveSequence",),
0x801A8ABC:("func_801A8ABC",),
0x801A8B14:("func_801A8B14",),
0x801A8B2C:("func_801A8B2C",),

View File

@ -2280,11 +2280,11 @@
0x801D66B8:("sAudioEnvReverb","UNK_TYPE1","",0x1),
0x801D66BC:("sAudioCodeReverb","UNK_TYPE1","",0x1),
0x801D66C0:("sPrevSeqMode","UNK_TYPE1","",0x1),
0x801D66C4:("sAudioEnemyDist","f32","",0x4),
0x801D66C8:("sAudioEnemyVol","UNK_TYPE1","",0x1),
0x801D66C4:("sBgmEnemyDist","f32","",0x4),
0x801D66C8:("sBgmEnemyVolume","UNK_TYPE1","",0x1),
0x801D66CC:("sPrevMainBgmSeqId","UNK_TYPE2","",0x2),
0x801D66D0:("sBgmPlayerIOPort7","UNK_TYPE1","",0x1),
0x801D66D4:("sSceneSeqId2","UNK_TYPE1","",0x1),
0x801D66D0:("sSeqResumePoint","UNK_TYPE1","",0x1),
0x801D66D4:("sPrevSceneSeqId","UNK_TYPE1","",0x1),
0x801D66D8:("sNumFramesStill","UNK_TYPE4","",0x4),
0x801D66DC:("sNumFramesMoving","UNK_TYPE4","",0x4),
0x801D66E0:("sAudioBaseFilter","UNK_TYPE1","",0x1),
@ -2297,7 +2297,7 @@
0x801D66FC:("sObjSoundMainBgmSeqId","UNK_TYPE1","",0x1),
0x801D6700:("sSeqFlags","UNK_TYPE1","",0x1),
0x801D6780:("sSpecReverbs","UNK_TYPE1","",0x1),
0x801D6794:("sNatureAmbienceData","UNK_TYPE1","",0x1),
0x801D6794:("sAmbienceData","UNK_TYPE1","",0x1),
0x801D6FB4:("sIsOcarinaInputEnabled","UNK_TYPE1","",0x1),
0x801D6FB8:("sOcarinaInstrumentId","UNK_TYPE1","",0x1),
0x801D6FBC:("sCurOcarinaPitch","UNK_TYPE1","",0x1),
@ -4255,14 +4255,14 @@
0x801FD294:("sSfxVolumeCur","UNK_TYPE1","",0x1),
0x801FD298:("sSfxVolumeTarget","UNK_TYPE1","",0x1),
0x801FD29C:("sSfxVolumeRate","UNK_TYPE1","",0x1),
0x801FD2A0:("sSceneSeqId1","UNK_TYPE1","",0x1),
0x801FD2A0:("sRequestedSceneSeqId","UNK_TYPE1","",0x1),
0x801FD2A8:("sSfxChannelState","UNK_TYPE1","",0x1),
0x801FD3A8:("D_801FD3A8","UNK_TYPE1","",0x1),
0x801FD3A9:("D_801FD3A9","UNK_TYPE1","",0x1),
0x801FD3AA:("sRiverSoundBgmTimer","UNK_TYPE1","",0x1),
0x801FD3AB:("sFanfareState","UNK_TYPE1","",0x1),
0x801FD3AC:("sFanfareSeqId","UNK_TYPE1","",0x1),
0x801FD3AE:("sMuteOnlySfxAndNatureSeq","UNK_TYPE1","",0x1),
0x801FD3AE:("sMuteOnlySfxAndAmbienceSeq","UNK_TYPE1","",0x1),
0x801FD3AF:("sAllPlayersMutedExceptOcaAndSys","UNK_TYPE1","",0x1),
0x801FD3B0:("sAudioPauseState","UNK_TYPE1","",0x1),
0x801FD3B4:("sSpatialSeqIsActive","u8","[4]",0x4),
@ -4288,7 +4288,7 @@
0x801FD434:("D_801FD434","UNK_TYPE1","",0x1),
0x801FD435:("sSpatialSeqPlayerIndex","UNK_TYPE1","",0x1),
0x801FD436:("sSpatialSeqFadeTimer","UNK_TYPE1","",0x1),
0x801FD438:("D_801FD438","UNK_TYPE1","",0x1),
0x801FD438:("sPrevAmbienceSeqId","UNK_TYPE1","",0x1),
0x801FD43A:("sPlayingStaff","OcarinaStaff","",0x3),
0x801FD43E:("sPlaybackStaff","OcarinaStaff","",0x3),
0x801FD442:("sRecordingStaff","OcarinaStaff","",0x3),
@ -4346,7 +4346,7 @@
0x8020001E:("D_8020001E","UNK_TYPE1","",0x1),
0x802000C9:("D_802000C9","UNK_TYPE1","",0x1),
0x802000D4:("D_802000D4","UNK_TYPE1","",0x1),
0x80200140:("D_80200140","UNK_TYPE1","",0x1),
0x80200140:("gActiveSeqs","UNK_TYPE1","",0x1),
0x8020034A:("D_8020034A","UNK_TYPE1","",0x1),
0x80200B88:("D_80200B88","UNK_TYPE1","",0x1),
0x80200BBA:("D_80200BBA","UNK_TYPE1","",0x1),

View File

@ -148,6 +148,17 @@ wordReplace = {
"func_801A5BD0": "AudioSfx_MuteBanks",
"func_801A72CC": "AudioSfx_StopByPos",
"Audio_StopSfxByPos": "AudioSfx_StopByPos",
"func_801A3098": "Audio_PlayFanfare",
"func_801A8A50": "Audio_GetActiveSequence",
"func_801A2E54": "Audio_PlayBgm_StorePrevBgm",
"func_801A2ED8": "Audio_RestorePrevBgm",
"func_801A2544": "Audio_PlayMorningSceneSequence",
"func_801A25E4": "Audio_PlaySceneSequence",
"func_801A3238": "Audio_PlaySequenceWithSeqPlayerIO",
"func_801A32CC": "Audio_SetSequenceMode",
"func_801A3590": "Audio_UpdateEnemyBgmVolume",
"func_801A47DC": "Audio_SetAmbienceChannelIO",
"func_801A4A28": "Audio_PlayAmbience",
"func_801A7328": "AudioSfx_StopByPosAndId",
"func_801A75E8": "AudioSfx_StopById",
"SkelAnime_LodDrawLimb": "SkelAnime_DrawLimbLod",
@ -690,6 +701,8 @@ wordReplace = {
"gSaveContext.unk_3F30": "gSaveContext.magicFillTarget",
"gSaveContext.unk_3F2C": "gSaveContext.magicFlag",
"gSaveContext.save.entranceIndex": "gSaveContext.save.entrance",
"gSaveContext.seqIndex": "gSaveContext.seqId",
"gSaveContext.nightSeqIndex": "gSaveContext.ambienceId",
"player->unk_A87": "player->exchangeItemId",
"player->leftHandActor": "player->heldActor",

View File

@ -3367,12 +3367,12 @@ asm/non_matchings/code/code_8019AF00/AudioOcarina_PlayCustomSequence.s,AudioOcar
asm/non_matchings/code/code_8019AF00/AudioOcarina_CreateCustomSequence.s,AudioOcarina_CreateCustomSequence,0x8019D8E4,0x191
asm/non_matchings/code/code_8019AF00/AudioOcarina_ResetInstrument.s,AudioOcarina_ResetInstrument,0x8019DF28,0xF
asm/non_matchings/code/code_8019AF00/AudioOcarina_ResetStaffs.s,AudioOcarina_ResetStaffs,0x8019DF64,0x25
asm/non_matchings/code/code_8019AF00/func_8019DFF8.s,func_8019DFF8,0x8019DFF8,0x2
asm/non_matchings/code/code_8019AF00/func_8019E000.s,func_8019E000,0x8019E000,0x3
asm/non_matchings/code/code_8019AF00/func_8019E00C.s,func_8019E00C,0x8019E00C,0x2
asm/non_matchings/code/code_8019AF00/func_8019E014.s,func_8019E014,0x8019E014,0x3A
asm/non_matchings/code/code_8019AF00/func_8019E0FC.s,func_8019E0FC,0x8019E0FC,0x2
asm/non_matchings/code/code_8019AF00/func_8019E104.s,func_8019E104,0x8019E104,0x3
asm/non_matchings/code/code_8019AF00/Audio_Noop1.s,Audio_Noop1,0x8019DFF8,0x2
asm/non_matchings/code/code_8019AF00/Audio_Noop2.s,Audio_Noop2,0x8019E000,0x3
asm/non_matchings/code/code_8019AF00/Audio_Noop3.s,Audio_Noop3,0x8019E00C,0x2
asm/non_matchings/code/code_8019AF00/Audio_Update.s,Audio_Update,0x8019E014,0x3A
asm/non_matchings/code/code_8019AF00/Audio_Noop4.s,Audio_Noop4,0x8019E0FC,0x2
asm/non_matchings/code/code_8019AF00/Audio_Noop5.s,Audio_Noop5,0x8019E104,0x3
asm/non_matchings/code/code_8019AF00/func_8019E110.s,func_8019E110,0x8019E110,0xF
asm/non_matchings/code/code_8019AF00/AudioSfx_ComputeVolume.s,AudioSfx_ComputeVolume,0x8019E14C,0x76
asm/non_matchings/code/code_8019AF00/AudioSfx_ComputeReverb.s,AudioSfx_ComputeReverb,0x8019E324,0x63
@ -3454,32 +3454,32 @@ asm/non_matchings/code/code_8019AF00/func_801A2090.s,func_801A2090,0x801A2090,0x
asm/non_matchings/code/code_8019AF00/Audio_PlaySariaBgm.s,Audio_PlaySariaBgm,0x801A21FC,0x99
asm/non_matchings/code/code_8019AF00/Audio_ClearSariaBgm2.s,Audio_ClearSariaBgm2,0x801A2460,0x3
asm/non_matchings/code/code_8019AF00/func_801A246C.s,func_801A246C,0x801A246C,0x36
asm/non_matchings/code/code_8019AF00/func_801A2544.s,func_801A2544,0x801A2544,0xE
asm/non_matchings/code/code_8019AF00/func_801A257C.s,func_801A257C,0x801A257C,0x1A
asm/non_matchings/code/code_8019AF00/func_801A25E4.s,func_801A25E4,0x801A25E4,0x23
asm/non_matchings/code/code_8019AF00/func_801A2670.s,func_801A2670,0x801A2670,0x42
asm/non_matchings/code/code_8019AF00/func_801A2778.s,func_801A2778,0x801A2778,0x1C
asm/non_matchings/code/code_8019AF00/Audio_PlayMorningSceneSequence.s,Audio_PlayMorningSceneSequence,0x801A2544,0xE
asm/non_matchings/code/code_8019AF00/Audio_StartMorningSceneSequence.s,Audio_StartMorningSceneSequence,0x801A257C,0x1A
asm/non_matchings/code/code_8019AF00/Audio_PlaySceneSequence.s,Audio_PlaySceneSequence,0x801A25E4,0x23
asm/non_matchings/code/code_8019AF00/Audio_StartSceneSequence.s,Audio_StartSceneSequence,0x801A2670,0x42
asm/non_matchings/code/code_8019AF00/Audio_UpdateSceneSequenceResumePoint.s,Audio_UpdateSceneSequenceResumePoint,0x801A2778,0x1C
asm/non_matchings/code/code_8019AF00/func_801A27E8.s,func_801A27E8,0x801A27E8,0xD
asm/non_matchings/code/code_8019AF00/func_801A281C.s,func_801A281C,0x801A281C,0x6E
asm/non_matchings/code/code_8019AF00/func_801A29D4.s,func_801A29D4,0x801A29D4,0x79
asm/non_matchings/code/code_8019AF00/func_801A2BB8.s,func_801A2BB8,0x801A2BB8,0x1A
asm/non_matchings/code/code_8019AF00/func_801A2C20.s,func_801A2C20,0x801A2C20,0x9
asm/non_matchings/code/code_8019AF00/func_801A2C44.s,func_801A2C44,0x801A2C44,0x11
asm/non_matchings/code/code_8019AF00/func_801A2C88.s,func_801A2C88,0x801A2C88,0x33
asm/non_matchings/code/code_8019AF00/func_801A2D54.s,func_801A2D54,0x801A2D54,0x23
asm/non_matchings/code/code_8019AF00/Audio_PlaySequenceInCutscene.s,Audio_PlaySequenceInCutscene,0x801A2C88,0x33
asm/non_matchings/code/code_8019AF00/Audio_StopSequenceInCutscene.s,Audio_StopSequenceInCutscene,0x801A2D54,0x23
asm/non_matchings/code/code_8019AF00/Audio_IsSequencePlaying.s,Audio_IsSequencePlaying,0x801A2DE0,0x1D
asm/non_matchings/code/code_8019AF00/func_801A2E54.s,func_801A2E54,0x801A2E54,0x21
asm/non_matchings/code/code_8019AF00/func_801A2ED8.s,func_801A2ED8,0x801A2ED8,0x2C
asm/non_matchings/code/code_8019AF00/func_801A2F88.s,func_801A2F88,0x801A2F88,0xF
asm/non_matchings/code/code_8019AF00/func_801A2FC4.s,func_801A2FC4,0x801A2FC4,0xF
asm/non_matchings/code/code_8019AF00/Audio_PlayBgm_StorePrevBgm.s,Audio_PlayBgm_StorePrevBgm,0x801A2E54,0x21
asm/non_matchings/code/code_8019AF00/Audio_RestorePrevBgm.s,Audio_RestorePrevBgm,0x801A2ED8,0x2C
asm/non_matchings/code/code_8019AF00/Audio_PlayAmbience_StorePrevBgm.s,Audio_PlayAmbience_StorePrevBgm,0x801A2F88,0xF
asm/non_matchings/code/code_8019AF00/Audio_ForceRestorePreviousBgm.s,Audio_ForceRestorePreviousBgm,0x801A2FC4,0xF
asm/non_matchings/code/code_8019AF00/func_801A3000.s,func_801A3000,0x801A3000,0xE
asm/non_matchings/code/code_8019AF00/func_801A3038.s,func_801A3038,0x801A3038,0x18
asm/non_matchings/code/code_8019AF00/func_801A3098.s,func_801A3098,0x801A3098,0x25
asm/non_matchings/code/code_8019AF00/Audio_PlayFanfare.s,Audio_PlayFanfare,0x801A3098,0x25
asm/non_matchings/code/code_8019AF00/func_801A312C.s,func_801A312C,0x801A312C,0x30
asm/non_matchings/code/code_8019AF00/func_801A31EC.s,func_801A31EC,0x801A31EC,0x13
asm/non_matchings/code/code_8019AF00/func_801A3238.s,func_801A3238,0x801A3238,0x25
asm/non_matchings/code/code_8019AF00/func_801A32CC.s,func_801A32CC,0x801A32CC,0xB1
asm/non_matchings/code/code_8019AF00/func_801A3590.s,func_801A3590,0x801A3590,0x58
asm/non_matchings/code/code_8019AF00/Audio_PlaySequenceWithSeqPlayerIO.s,Audio_PlaySequenceWithSeqPlayerIO,0x801A3238,0x25
asm/non_matchings/code/code_8019AF00/Audio_SetSequenceMode.s,Audio_SetSequenceMode,0x801A32CC,0xB1
asm/non_matchings/code/code_8019AF00/Audio_UpdateEnemyBgmVolume.s,Audio_UpdateEnemyBgmVolume,0x801A3590,0x58
asm/non_matchings/code/code_8019AF00/func_801A36F0.s,func_801A36F0,0x801A36F0,0x98
asm/non_matchings/code/code_8019AF00/func_801A3950.s,func_801A3950,0x801A3950,0x2A
asm/non_matchings/code/code_8019AF00/func_801A39F8.s,func_801A39F8,0x801A39F8,0x21
@ -3498,7 +3498,7 @@ asm/non_matchings/code/code_8019AF00/Audio_SetCutsceneFlag.s,Audio_SetCutsceneFl
asm/non_matchings/code/code_8019AF00/func_801A3F6C.s,func_801A3F6C,0x801A3F6C,0x12
asm/non_matchings/code/code_8019AF00/func_801A3FB4.s,func_801A3FB4,0x801A3FB4,0x12
asm/non_matchings/code/code_8019AF00/func_801A3FFC.s,func_801A3FFC,0x801A3FFC,0x4
asm/non_matchings/code/code_8019AF00/audio_setBGM.s,audio_setBGM,0x801A400C,0x13
asm/non_matchings/code/code_8019AF00/Audio_SetSpec.s,Audio_SetSpec,0x801A400C,0x13
asm/non_matchings/code/code_8019AF00/func_801A4058.s,func_801A4058,0x801A4058,0x5C
asm/non_matchings/code/code_8019AF00/func_801A41C8.s,func_801A41C8,0x801A41C8,0xC
asm/non_matchings/code/code_8019AF00/func_801A41F8.s,func_801A41F8,0x801A41F8,0x29
@ -3509,15 +3509,15 @@ asm/non_matchings/code/code_8019AF00/func_801A4348.s,func_801A4348,0x801A4348,0x
asm/non_matchings/code/code_8019AF00/Audio_SetSfxVolumeExceptSystemAndOcarinaBanks.s,Audio_SetSfxVolumeExceptSystemAndOcarinaBanks,0x801A4380,0x2A
asm/non_matchings/code/code_8019AF00/func_801A4428.s,func_801A4428,0x801A4428,0x1F
asm/non_matchings/code/code_8019AF00/Audio_PreNMI.s,Audio_PreNMI,0x801A44A4,0x8
asm/non_matchings/code/code_8019AF00/func_801A44C4.s,func_801A44C4,0x801A44C4,0x4
asm/non_matchings/code/code_8019AF00/Audio_ResetRequestedSceneSeqId.s,Audio_ResetRequestedSceneSeqId,0x801A44C4,0x4
asm/non_matchings/code/code_8019AF00/func_801A44D4.s,func_801A44D4,0x801A44D4,0x89
asm/non_matchings/code/code_8019AF00/func_801A46F8.s,func_801A46F8,0x801A46F8,0x14
asm/non_matchings/code/code_8019AF00/func_801A4748.s,func_801A4748,0x801A4748,0x15
asm/non_matchings/code/code_8019AF00/func_801A479C.s,func_801A479C,0x801A479C,0x10
asm/non_matchings/code/code_8019AF00/func_801A47DC.s,func_801A47DC,0x801A47DC,0x41
asm/non_matchings/code/code_8019AF00/func_801A48E0.s,func_801A48E0,0x801A48E0,0x52
asm/non_matchings/code/code_8019AF00/func_801A4A28.s,func_801A4A28,0x801A4A28,0x56
asm/non_matchings/code/code_8019AF00/Audio_SetNatureAmbienceRandomBend.s,Audio_SetNatureAmbienceRandomBend,0x801A4B80,0x2C
asm/non_matchings/code/code_8019AF00/Audio_SetAmbienceChannelIO.s,Audio_SetAmbienceChannelIO,0x801A47DC,0x41
asm/non_matchings/code/code_8019AF00/Audio_StartAmbience.s,Audio_StartAmbience,0x801A48E0,0x52
asm/non_matchings/code/code_8019AF00/Audio_PlayAmbience.s,Audio_PlayAmbience,0x801A4A28,0x56
asm/non_matchings/code/code_8019AF00/Audio_SetAmbienceRandomBend.s,Audio_SetAmbienceRandomBend,0x801A4B80,0x2C
asm/non_matchings/code/code_8019AF00/Audio_Init.s,Audio_Init,0x801A4C30,0x9
asm/non_matchings/code/code_8019AF00/AudioSfx_Init.s,AudioSfx_Init,0x801A4C54,0x2B
asm/non_matchings/code/code_8019AF00/func_801A4D00.s,func_801A4D00,0x801A4D00,0x14
@ -3569,11 +3569,11 @@ asm/non_matchings/code/code_801A5BD0/AudioSfx_ProcessActiveSfx.s,AudioSfx_Proces
asm/non_matchings/code/code_801A5BD0/AudioSfx_IsPlaying.s,AudioSfx_IsPlaying,0x801A78E4,0x1A
asm/non_matchings/code/code_801A5BD0/AudioSfx_Reset.s,AudioSfx_Reset,0x801A794C,0x71
asm/non_matchings/code/code_801A7B10/Audio_StartSequence.s,Audio_StartSequence,0x801A7B10,0x7D
asm/non_matchings/code/code_801A7B10/func_801A7D04.s,func_801A7D04,0x801A7D04,0x20
asm/non_matchings/code/code_801A7B10/Audio_StopSequence.s,Audio_StopSequence,0x801A7D04,0x20
asm/non_matchings/code/code_801A7B10/func_801A7D84.s,func_801A7D84,0x801A7D84,0x309
asm/non_matchings/code/code_801A7B10/Audio_QueueSeqCmd.s,Audio_QueueSeqCmd,0x801A89A8,0xA
asm/non_matchings/code/code_801A7B10/func_801A89D0.s,func_801A89D0,0x801A89D0,0x20
asm/non_matchings/code/code_801A7B10/func_801A8A50.s,func_801A8A50,0x801A8A50,0x1B
asm/non_matchings/code/code_801A7B10/Audio_GetActiveSequence.s,Audio_GetActiveSequence,0x801A8A50,0x1B
asm/non_matchings/code/code_801A7B10/func_801A8ABC.s,func_801A8ABC,0x801A8ABC,0x16
asm/non_matchings/code/code_801A7B10/func_801A8B14.s,func_801A8B14,0x801A8B14,0x6
asm/non_matchings/code/code_801A7B10/func_801A8B2C.s,func_801A8B2C,0x801A8B2C,0x29

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
3367 asm/non_matchings/code/code_8019AF00/AudioOcarina_CreateCustomSequence.s AudioOcarina_CreateCustomSequence 0x8019D8E4 0x191
3368 asm/non_matchings/code/code_8019AF00/AudioOcarina_ResetInstrument.s AudioOcarina_ResetInstrument 0x8019DF28 0xF
3369 asm/non_matchings/code/code_8019AF00/AudioOcarina_ResetStaffs.s AudioOcarina_ResetStaffs 0x8019DF64 0x25
3370 asm/non_matchings/code/code_8019AF00/func_8019DFF8.s asm/non_matchings/code/code_8019AF00/Audio_Noop1.s func_8019DFF8 Audio_Noop1 0x8019DFF8 0x2
3371 asm/non_matchings/code/code_8019AF00/func_8019E000.s asm/non_matchings/code/code_8019AF00/Audio_Noop2.s func_8019E000 Audio_Noop2 0x8019E000 0x3
3372 asm/non_matchings/code/code_8019AF00/func_8019E00C.s asm/non_matchings/code/code_8019AF00/Audio_Noop3.s func_8019E00C Audio_Noop3 0x8019E00C 0x2
3373 asm/non_matchings/code/code_8019AF00/func_8019E014.s asm/non_matchings/code/code_8019AF00/Audio_Update.s func_8019E014 Audio_Update 0x8019E014 0x3A
3374 asm/non_matchings/code/code_8019AF00/func_8019E0FC.s asm/non_matchings/code/code_8019AF00/Audio_Noop4.s func_8019E0FC Audio_Noop4 0x8019E0FC 0x2
3375 asm/non_matchings/code/code_8019AF00/func_8019E104.s asm/non_matchings/code/code_8019AF00/Audio_Noop5.s func_8019E104 Audio_Noop5 0x8019E104 0x3
3376 asm/non_matchings/code/code_8019AF00/func_8019E110.s func_8019E110 0x8019E110 0xF
3377 asm/non_matchings/code/code_8019AF00/AudioSfx_ComputeVolume.s AudioSfx_ComputeVolume 0x8019E14C 0x76
3378 asm/non_matchings/code/code_8019AF00/AudioSfx_ComputeReverb.s AudioSfx_ComputeReverb 0x8019E324 0x63
3454 asm/non_matchings/code/code_8019AF00/Audio_PlaySariaBgm.s Audio_PlaySariaBgm 0x801A21FC 0x99
3455 asm/non_matchings/code/code_8019AF00/Audio_ClearSariaBgm2.s Audio_ClearSariaBgm2 0x801A2460 0x3
3456 asm/non_matchings/code/code_8019AF00/func_801A246C.s func_801A246C 0x801A246C 0x36
3457 asm/non_matchings/code/code_8019AF00/func_801A2544.s asm/non_matchings/code/code_8019AF00/Audio_PlayMorningSceneSequence.s func_801A2544 Audio_PlayMorningSceneSequence 0x801A2544 0xE
3458 asm/non_matchings/code/code_8019AF00/func_801A257C.s asm/non_matchings/code/code_8019AF00/Audio_StartMorningSceneSequence.s func_801A257C Audio_StartMorningSceneSequence 0x801A257C 0x1A
3459 asm/non_matchings/code/code_8019AF00/func_801A25E4.s asm/non_matchings/code/code_8019AF00/Audio_PlaySceneSequence.s func_801A25E4 Audio_PlaySceneSequence 0x801A25E4 0x23
3460 asm/non_matchings/code/code_8019AF00/func_801A2670.s asm/non_matchings/code/code_8019AF00/Audio_StartSceneSequence.s func_801A2670 Audio_StartSceneSequence 0x801A2670 0x42
3461 asm/non_matchings/code/code_8019AF00/func_801A2778.s asm/non_matchings/code/code_8019AF00/Audio_UpdateSceneSequenceResumePoint.s func_801A2778 Audio_UpdateSceneSequenceResumePoint 0x801A2778 0x1C
3462 asm/non_matchings/code/code_8019AF00/func_801A27E8.s func_801A27E8 0x801A27E8 0xD
3463 asm/non_matchings/code/code_8019AF00/func_801A281C.s func_801A281C 0x801A281C 0x6E
3464 asm/non_matchings/code/code_8019AF00/func_801A29D4.s func_801A29D4 0x801A29D4 0x79
3465 asm/non_matchings/code/code_8019AF00/func_801A2BB8.s func_801A2BB8 0x801A2BB8 0x1A
3466 asm/non_matchings/code/code_8019AF00/func_801A2C20.s func_801A2C20 0x801A2C20 0x9
3467 asm/non_matchings/code/code_8019AF00/func_801A2C44.s func_801A2C44 0x801A2C44 0x11
3468 asm/non_matchings/code/code_8019AF00/func_801A2C88.s asm/non_matchings/code/code_8019AF00/Audio_PlaySequenceInCutscene.s func_801A2C88 Audio_PlaySequenceInCutscene 0x801A2C88 0x33
3469 asm/non_matchings/code/code_8019AF00/func_801A2D54.s asm/non_matchings/code/code_8019AF00/Audio_StopSequenceInCutscene.s func_801A2D54 Audio_StopSequenceInCutscene 0x801A2D54 0x23
3470 asm/non_matchings/code/code_8019AF00/Audio_IsSequencePlaying.s Audio_IsSequencePlaying 0x801A2DE0 0x1D
3471 asm/non_matchings/code/code_8019AF00/func_801A2E54.s asm/non_matchings/code/code_8019AF00/Audio_PlayBgm_StorePrevBgm.s func_801A2E54 Audio_PlayBgm_StorePrevBgm 0x801A2E54 0x21
3472 asm/non_matchings/code/code_8019AF00/func_801A2ED8.s asm/non_matchings/code/code_8019AF00/Audio_RestorePrevBgm.s func_801A2ED8 Audio_RestorePrevBgm 0x801A2ED8 0x2C
3473 asm/non_matchings/code/code_8019AF00/func_801A2F88.s asm/non_matchings/code/code_8019AF00/Audio_PlayAmbience_StorePrevBgm.s func_801A2F88 Audio_PlayAmbience_StorePrevBgm 0x801A2F88 0xF
3474 asm/non_matchings/code/code_8019AF00/func_801A2FC4.s asm/non_matchings/code/code_8019AF00/Audio_ForceRestorePreviousBgm.s func_801A2FC4 Audio_ForceRestorePreviousBgm 0x801A2FC4 0xF
3475 asm/non_matchings/code/code_8019AF00/func_801A3000.s func_801A3000 0x801A3000 0xE
3476 asm/non_matchings/code/code_8019AF00/func_801A3038.s func_801A3038 0x801A3038 0x18
3477 asm/non_matchings/code/code_8019AF00/func_801A3098.s asm/non_matchings/code/code_8019AF00/Audio_PlayFanfare.s func_801A3098 Audio_PlayFanfare 0x801A3098 0x25
3478 asm/non_matchings/code/code_8019AF00/func_801A312C.s func_801A312C 0x801A312C 0x30
3479 asm/non_matchings/code/code_8019AF00/func_801A31EC.s func_801A31EC 0x801A31EC 0x13
3480 asm/non_matchings/code/code_8019AF00/func_801A3238.s asm/non_matchings/code/code_8019AF00/Audio_PlaySequenceWithSeqPlayerIO.s func_801A3238 Audio_PlaySequenceWithSeqPlayerIO 0x801A3238 0x25
3481 asm/non_matchings/code/code_8019AF00/func_801A32CC.s asm/non_matchings/code/code_8019AF00/Audio_SetSequenceMode.s func_801A32CC Audio_SetSequenceMode 0x801A32CC 0xB1
3482 asm/non_matchings/code/code_8019AF00/func_801A3590.s asm/non_matchings/code/code_8019AF00/Audio_UpdateEnemyBgmVolume.s func_801A3590 Audio_UpdateEnemyBgmVolume 0x801A3590 0x58
3483 asm/non_matchings/code/code_8019AF00/func_801A36F0.s func_801A36F0 0x801A36F0 0x98
3484 asm/non_matchings/code/code_8019AF00/func_801A3950.s func_801A3950 0x801A3950 0x2A
3485 asm/non_matchings/code/code_8019AF00/func_801A39F8.s func_801A39F8 0x801A39F8 0x21
3498 asm/non_matchings/code/code_8019AF00/func_801A3F6C.s func_801A3F6C 0x801A3F6C 0x12
3499 asm/non_matchings/code/code_8019AF00/func_801A3FB4.s func_801A3FB4 0x801A3FB4 0x12
3500 asm/non_matchings/code/code_8019AF00/func_801A3FFC.s func_801A3FFC 0x801A3FFC 0x4
3501 asm/non_matchings/code/code_8019AF00/audio_setBGM.s asm/non_matchings/code/code_8019AF00/Audio_SetSpec.s audio_setBGM Audio_SetSpec 0x801A400C 0x13
3502 asm/non_matchings/code/code_8019AF00/func_801A4058.s func_801A4058 0x801A4058 0x5C
3503 asm/non_matchings/code/code_8019AF00/func_801A41C8.s func_801A41C8 0x801A41C8 0xC
3504 asm/non_matchings/code/code_8019AF00/func_801A41F8.s func_801A41F8 0x801A41F8 0x29
3509 asm/non_matchings/code/code_8019AF00/Audio_SetSfxVolumeExceptSystemAndOcarinaBanks.s Audio_SetSfxVolumeExceptSystemAndOcarinaBanks 0x801A4380 0x2A
3510 asm/non_matchings/code/code_8019AF00/func_801A4428.s func_801A4428 0x801A4428 0x1F
3511 asm/non_matchings/code/code_8019AF00/Audio_PreNMI.s Audio_PreNMI 0x801A44A4 0x8
3512 asm/non_matchings/code/code_8019AF00/func_801A44C4.s asm/non_matchings/code/code_8019AF00/Audio_ResetRequestedSceneSeqId.s func_801A44C4 Audio_ResetRequestedSceneSeqId 0x801A44C4 0x4
3513 asm/non_matchings/code/code_8019AF00/func_801A44D4.s func_801A44D4 0x801A44D4 0x89
3514 asm/non_matchings/code/code_8019AF00/func_801A46F8.s func_801A46F8 0x801A46F8 0x14
3515 asm/non_matchings/code/code_8019AF00/func_801A4748.s func_801A4748 0x801A4748 0x15
3516 asm/non_matchings/code/code_8019AF00/func_801A479C.s func_801A479C 0x801A479C 0x10
3517 asm/non_matchings/code/code_8019AF00/func_801A47DC.s asm/non_matchings/code/code_8019AF00/Audio_SetAmbienceChannelIO.s func_801A47DC Audio_SetAmbienceChannelIO 0x801A47DC 0x41
3518 asm/non_matchings/code/code_8019AF00/func_801A48E0.s asm/non_matchings/code/code_8019AF00/Audio_StartAmbience.s func_801A48E0 Audio_StartAmbience 0x801A48E0 0x52
3519 asm/non_matchings/code/code_8019AF00/func_801A4A28.s asm/non_matchings/code/code_8019AF00/Audio_PlayAmbience.s func_801A4A28 Audio_PlayAmbience 0x801A4A28 0x56
3520 asm/non_matchings/code/code_8019AF00/Audio_SetNatureAmbienceRandomBend.s asm/non_matchings/code/code_8019AF00/Audio_SetAmbienceRandomBend.s Audio_SetNatureAmbienceRandomBend Audio_SetAmbienceRandomBend 0x801A4B80 0x2C
3521 asm/non_matchings/code/code_8019AF00/Audio_Init.s Audio_Init 0x801A4C30 0x9
3522 asm/non_matchings/code/code_8019AF00/AudioSfx_Init.s AudioSfx_Init 0x801A4C54 0x2B
3523 asm/non_matchings/code/code_8019AF00/func_801A4D00.s func_801A4D00 0x801A4D00 0x14
3569 asm/non_matchings/code/code_801A5BD0/AudioSfx_IsPlaying.s AudioSfx_IsPlaying 0x801A78E4 0x1A
3570 asm/non_matchings/code/code_801A5BD0/AudioSfx_Reset.s AudioSfx_Reset 0x801A794C 0x71
3571 asm/non_matchings/code/code_801A7B10/Audio_StartSequence.s Audio_StartSequence 0x801A7B10 0x7D
3572 asm/non_matchings/code/code_801A7B10/func_801A7D04.s asm/non_matchings/code/code_801A7B10/Audio_StopSequence.s func_801A7D04 Audio_StopSequence 0x801A7D04 0x20
3573 asm/non_matchings/code/code_801A7B10/func_801A7D84.s func_801A7D84 0x801A7D84 0x309
3574 asm/non_matchings/code/code_801A7B10/Audio_QueueSeqCmd.s Audio_QueueSeqCmd 0x801A89A8 0xA
3575 asm/non_matchings/code/code_801A7B10/func_801A89D0.s func_801A89D0 0x801A89D0 0x20
3576 asm/non_matchings/code/code_801A7B10/func_801A8A50.s asm/non_matchings/code/code_801A7B10/Audio_GetActiveSequence.s func_801A8A50 Audio_GetActiveSequence 0x801A8A50 0x1B
3577 asm/non_matchings/code/code_801A7B10/func_801A8ABC.s func_801A8ABC 0x801A8ABC 0x16
3578 asm/non_matchings/code/code_801A7B10/func_801A8B14.s func_801A8B14 0x801A8B14 0x6
3579 asm/non_matchings/code/code_801A7B10/func_801A8B2C.s func_801A8B2C 0x801A8B2C 0x29