Audio Sequences Decompiled & Documented (z_obj_sound OK, more code_8019AF00.c) (#1407)

* import audio docs

* cleanup

* SEQ_SCREEN_WEIGHTED_DIST

* PR

* PR
This commit is contained in:
engineer124
2023-10-13 17:39:10 -03:00
committed by GitHub
parent 576cf6964c
commit 93713a1da0
15 changed files with 583 additions and 112 deletions
+7 -15
View File
@@ -1292,21 +1292,13 @@ void Audio_SetBgmVolumeOn(void);
void func_801A0204(s8 seqId);
void Audio_SetMainBgmVolume(u8 targetVolume, u8 volumeFadeTimer);
void AudioSfx_SetChannelIO(Vec3f* pos, u16 sfxId, u8 ioData);
// void func_801A1290(void);
// void func_801A1348(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
// void func_801A13BC(void);
// void func_801A153C(void);
// void func_801A17F4(void);
// void func_801A1904(void);
// void func_801A1A10(void);
// void func_801A1A8C(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_801A1D44(Vec3f* vec, u8 seqId, f32 arg2);
void func_801A1DB8(Vec3f* vec, u8 seqId, f32 arg2);
// void func_801A1E0C(void);
void func_801A1F00(u8 arg0, u16 seqId);
void func_801A1F88(void);
void func_801A1FB4(u8 playerIndex, Vec3f* pos, u16 seqId, f32 maxDist);
// void func_801A2090(void);
void Audio_PlayObjSoundBgm(Vec3f* pos, s8 seqId);
void Audio_PlayObjSoundFanfare(Vec3f* pos, s8 seqId);
void Audio_PlaySubBgmAtPos(Vec3f* pos, u8 seqId, f32 maxDist);
void Audio_PlaySubBgmAtPosWithFilter(Vec3f* pos, u8 seqId, f32 arg2);
void Audio_PlaySequenceAtDefaultPos(u8 seqPlayerIndex, u16 seqId);
void Audio_StopSequenceAtDefaultPos(void);
void Audio_PlaySequenceAtPos(u8 seqPlayerIndex, Vec3f* pos, u16 seqId, f32 maxDist);
void func_801A246C(u8 param_1, u8 param_2);
void Audio_PlayMorningSceneSequence(u16 seqId, u8 dayMinusOne);
void Audio_PlaySceneSequence(u16 seqId, u8 dayMinusOne);
+1 -2
View File
@@ -2000,8 +2000,7 @@ beginseg
name "ovl_Obj_Sound"
compress
include "build/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.o"
include "build/data/ovl_Obj_Sound/ovl_Obj_Sound.data.o"
include "build/data/ovl_Obj_Sound/ovl_Obj_Sound.reloc.o"
include "build/src/overlays/actors/ovl_Obj_Sound/ovl_Obj_Sound_reloc.o"
endseg
beginseg
+455 -26
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -2767,11 +2767,11 @@ void Actor_UpdateFlaggedAudio(Actor* actor) {
if (sfxId != NA_SE_NONE) {}
if (actor->audioFlags & ACTOR_AUDIO_FLAG_SEQ_MUSIC_BOX_HOUSE) {
func_801A1FB4(SEQ_PLAYER_BGM_SUB, &actor->projectedPos, NA_BGM_MUSIC_BOX_HOUSE, 1500.0f);
Audio_PlaySequenceAtPos(SEQ_PLAYER_BGM_SUB, &actor->projectedPos, NA_BGM_MUSIC_BOX_HOUSE, 1500.0f);
}
if (actor->audioFlags & ACTOR_AUDIO_FLAG_SEQ_KAMARO_DANCE) {
func_801A1FB4(SEQ_PLAYER_BGM_MAIN, &actor->projectedPos, NA_BGM_KAMARO_DANCE, 900.0f);
Audio_PlaySequenceAtPos(SEQ_PLAYER_BGM_MAIN, &actor->projectedPos, NA_BGM_KAMARO_DANCE, 900.0f);
}
}
@@ -350,12 +350,12 @@ void EnGuruguru_Update(Actor* thisx, PlayState* play) {
if (this->actor.params == 2) {
if (fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 100.0f) {
func_801A1DB8(&this->actor.projectedPos, NA_BGM_SONG_OF_STORMS, 540.0f);
Audio_PlaySubBgmAtPosWithFilter(&this->actor.projectedPos, NA_BGM_SONG_OF_STORMS, 540.0f);
}
return;
}
if (fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 200.0f) {
func_801A1D44(&this->actor.projectedPos, NA_BGM_SONG_OF_STORMS, 540.0f);
Audio_PlaySubBgmAtPos(&this->actor.projectedPos, NA_BGM_SONG_OF_STORMS, 540.0f);
}
if (this->unusedTimer != 0) {
this->unusedTimer--;
@@ -150,7 +150,7 @@ void EnMinifrog_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->collider);
if (this->flags & 0x100) {
func_801A1F88();
Audio_StopSequenceAtDefaultPos();
}
}
@@ -438,7 +438,7 @@ void EnMinifrog_SetupNextFrogChoir(EnMinifrog* this, PlayState* play) {
this->actionFunc = EnMinifrog_NextFrogMissing;
this->timer = 60;
this->actor.home.rot.y = Actor_WorldYawTowardActor(&this->actor, &this->frog->actor);
func_801A1F88();
Audio_StopSequenceAtDefaultPos();
this->flags &= ~0x100;
this->flags &=
~(0x2 << FROG_YELLOW | 0x2 << FROG_CYAN | 0x2 << FROG_PINK | 0x2 << FROG_BLUE | 0x2 << FROG_WHITE);
@@ -460,7 +460,7 @@ void EnMinifrog_BeginChoirCutscene(EnMinifrog* this, PlayState* play) {
CutsceneManager_Start(this->actor.csId, &this->actor);
this->actionFunc = EnMinifrog_SetupNextFrogChoir;
this->timer = 5;
func_801A1F00(3, NA_BGM_FROG_SONG);
Audio_PlaySequenceAtDefaultPos(SEQ_PLAYER_BGM_SUB, NA_BGM_FROG_SONG);
this->flags |= 0x100;
play->setPlayerTalkAnim(play, &gPlayerAnim_pn_gakkiplay, ANIMMODE_LOOP);
} else {
+10 -10
View File
@@ -417,7 +417,7 @@ void func_80BFC058(EnRz* this, PlayState* play) {
void func_80BFC078(EnRz* this, PlayState* play) {
s32 pad;
Vec3f sp28;
Vec3f seqPos;
EnRz_UpdateSkelAnime(this, play);
@@ -443,10 +443,10 @@ void func_80BFC078(EnRz* this, PlayState* play) {
}
if (EN_RZ_GET_SISTER(&this->actor) == EN_RZ_JUDO) {
sp28.x = this->actor.projectedPos.x;
sp28.y = this->actor.projectedPos.y;
sp28.z = this->actor.projectedPos.z;
func_801A1FB4(SEQ_PLAYER_BGM_SUB, &sp28, NA_BGM_ROSA_SISTERS, 900.0f);
seqPos.x = this->actor.projectedPos.x;
seqPos.y = this->actor.projectedPos.y;
seqPos.z = this->actor.projectedPos.z;
Audio_PlaySequenceAtPos(SEQ_PLAYER_BGM_SUB, &seqPos, NA_BGM_ROSA_SISTERS, 900.0f);
}
}
@@ -504,7 +504,7 @@ void func_80BFC36C(EnRz* this, PlayState* play) {
void func_80BFC3F8(EnRz* this, PlayState* play) {
s32 pad;
Vec3f bgmPos;
Vec3f seqPos;
EnRz_UpdateSkelAnime(this, play);
@@ -544,10 +544,10 @@ void func_80BFC3F8(EnRz* this, PlayState* play) {
}
if (EN_RZ_GET_SISTER(&this->actor) == EN_RZ_JUDO) {
bgmPos.x = this->actor.projectedPos.x;
bgmPos.y = this->actor.projectedPos.y;
bgmPos.z = this->actor.projectedPos.z;
func_801A1FB4(SEQ_PLAYER_BGM_SUB, &bgmPos, NA_BGM_ROSA_SISTERS, 900.0f);
seqPos.x = this->actor.projectedPos.x;
seqPos.y = this->actor.projectedPos.y;
seqPos.z = this->actor.projectedPos.z;
Audio_PlaySequenceAtPos(SEQ_PLAYER_BGM_SUB, &seqPos, NA_BGM_ROSA_SISTERS, 900.0f);
}
}
}
+5 -5
View File
@@ -558,7 +558,7 @@ void func_80BA06BC(EnZob* this, PlayState* play) {
void func_80BA0728(EnZob* this, PlayState* play) {
s32 pad;
Vec3f sp28;
Vec3f seqPos;
func_80B9F86C(this);
@@ -585,10 +585,10 @@ void func_80BA0728(EnZob* this, PlayState* play) {
func_800B874C(&this->actor, play, 200.0f, 150.0f);
}
sp28.x = this->actor.projectedPos.x;
sp28.y = this->actor.projectedPos.y;
sp28.z = this->actor.projectedPos.z;
func_801A1FB4(SEQ_PLAYER_BGM_SUB, &sp28, NA_BGM_BASS_PLAY, 1000.0f);
seqPos.x = this->actor.projectedPos.x;
seqPos.y = this->actor.projectedPos.y;
seqPos.z = this->actor.projectedPos.z;
Audio_PlaySequenceAtPos(SEQ_PLAYER_BGM_SUB, &seqPos, NA_BGM_BASS_PLAY, 1000.0f);
}
void func_80BA08E8(EnZob* this, PlayState* play) {
+1 -1
View File
@@ -387,7 +387,7 @@ void EnZod_PlayDrumsSequence(EnZod* this, PlayState* play) {
seqPos.y = this->actor.projectedPos.y;
seqPos.z = this->actor.projectedPos.z;
func_801A1FB4(SEQ_PLAYER_BGM_SUB, &seqPos, NA_BGM_DRUMS_PLAY, 700.0f);
Audio_PlaySequenceAtPos(SEQ_PLAYER_BGM_SUB, &seqPos, NA_BGM_DRUMS_PLAY, 700.0f);
}
void func_80BAFA44(EnZod* this, PlayState* play) {
+5 -5
View File
@@ -542,7 +542,7 @@ void func_80BBBD5C(EnZos* this, PlayState* play) {
void func_80BBBDE0(EnZos* this, PlayState* play) {
Actor* thisx = &this->actor;
Vec3f sp28;
Vec3f seqPos;
if (this->unk_2B6 & 1) {
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.home.rot.y, 2, 0x1000, 0x200);
@@ -578,10 +578,10 @@ void func_80BBBDE0(EnZos* this, PlayState* play) {
CLEAR_WEEKEVENTREG(WEEKEVENTREG_52_10);
}
sp28.x = this->actor.projectedPos.x;
sp28.y = this->actor.projectedPos.y;
sp28.z = this->actor.projectedPos.z;
func_801A1FB4(SEQ_PLAYER_BGM_SUB, &sp28, NA_BGM_PIANO_PLAY, 1000.0f);
seqPos.x = this->actor.projectedPos.x;
seqPos.y = this->actor.projectedPos.y;
seqPos.z = this->actor.projectedPos.z;
Audio_PlaySequenceAtPos(SEQ_PLAYER_BGM_SUB, &seqPos, NA_BGM_PIANO_PLAY, 1000.0f);
}
void func_80BBBFBC(EnZos* this, PlayState* play) {
@@ -1,7 +1,7 @@
/*
* File: z_obj_sound.c
* Overlay: ovl_Obj_Sound
* Description: Plays certain sounds (e.g., swamp waterfall noise)
* Description: An invisible point-source to play sounds, including sfx and sequences.
*/
#include "z_obj_sound.h"
@@ -13,8 +13,8 @@
void ObjSound_Init(Actor* thisx, PlayState* play);
void ObjSound_Destroy(Actor* thisx, PlayState* play);
void ObjSound_Update(Actor* thisx, PlayState* play);
void ObjSound_Draw(Actor* thisx, PlayState* play);
#if 0
ActorInit Obj_Sound_InitVars = {
ACTOR_OBJ_SOUND,
ACTORCAT_ITEMACTION,
@@ -27,12 +27,50 @@ ActorInit Obj_Sound_InitVars = {
(ActorFunc)NULL,
};
#endif
void ObjSound_Init(Actor* thisx, PlayState* play) {
ObjSound* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Sound/ObjSound_Init.s")
this->unk_144 = false;
this->soundType = OBJ_SOUND_GET_TYPE(&this->actor);
this->sfxType = OBJ_SOUND_GET_SFX_TYPE(&this->actor);
this->actor.params &= OBJ_SOUND_ID_MASK;
if (this->soundType == OBJ_SOUND_TYPE_FANFARE) {
this->actor.draw = ObjSound_Draw;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Sound/ObjSound_Destroy.s")
void ObjSound_Destroy(Actor* thisx, PlayState* play) {
ObjSound* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Sound/ObjSound_Update.s")
if (this->soundType == OBJ_SOUND_TYPE_BGM) {
Audio_PlayObjSoundBgm(NULL, NA_BGM_GENERAL_SFX);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Sound/func_8099AA84.s")
void ObjSound_Update(Actor* thisx, PlayState* play) {
ObjSound* this = THIS;
if (this->soundType == OBJ_SOUND_TYPE_SFX) {
if (this->sfxType != 0) {
Actor_PlaySfx_Flagged(&this->actor, gAudioEnvironmentalSfx[this->actor.params]);
} else {
Actor_PlaySfx_FlaggedCentered3(&this->actor, gAudioEnvironmentalSfx[this->actor.params]);
}
} else if (this->unk_144) {
if (this->soundType == OBJ_SOUND_TYPE_BGM) {
Audio_PlayObjSoundBgm(&this->actor.projectedPos, this->actor.params);
} else if (this->soundType == OBJ_SOUND_TYPE_FIXED_SFX) {
Audio_PlaySfx_AtFixedPos(&this->actor.projectedPos, gAudioEnvironmentalSfx[this->actor.params]);
}
} else {
this->unk_144 = true;
}
}
void ObjSound_Draw(Actor* thisx, PlayState* play) {
ObjSound* this = THIS;
if (CHECK_EVENTINF(EVENTINF_41) || CHECK_EVENTINF(EVENTINF_35)) {
Audio_PlayObjSoundFanfare(&this->actor.projectedPos, this->actor.params);
}
}
@@ -5,9 +5,22 @@
struct ObjSound;
#define OBJ_SOUND_GET_TYPE(thisx) (((thisx)->params >> 8) & 0xFF)
#define OBJ_SOUND_GET_SFX_TYPE(thisx) (((thisx)->params >> 7) & 1)
#define OBJ_SOUND_ID_MASK 0x7F
typedef enum {
/* 0 */ OBJ_SOUND_TYPE_SFX,
/* 1 */ OBJ_SOUND_TYPE_BGM,
/* 2 */ OBJ_SOUND_TYPE_FIXED_SFX,
/* 3 */ OBJ_SOUND_TYPE_FANFARE
} ObjSoundType;
typedef struct ObjSound {
/* 0x000 */ Actor actor;
/* 0x144 */ char unk_144[0x4];
/* 0x144 */ u8 unk_144;
/* 0x145 */ u8 sfxType;
/* 0x146 */ s16 soundType;
} ObjSound; // size = 0x148
#endif // Z_OBJ_SOUND_H
+16 -16
View File
@@ -3919,22 +3919,22 @@
0x801A0C70:("Audio_ClearSariaBgm",),
0x801A0C90:("Audio_ClearSariaBgmAtPos",),
0x801A0CB0:("Audio_SplitBgmChannels",),
0x801A0E44:("func_801A0E44",),
0x801A1290:("func_801A1290",),
0x801A1348:("func_801A1348",),
0x801A13BC:("func_801A13BC",),
0x801A153C:("func_801A153C",),
0x801A17F4:("func_801A17F4",),
0x801A1904:("func_801A1904",),
0x801A1A10:("func_801A1A10",),
0x801A1A8C:("func_801A1A8C",),
0x801A1D44:("func_801A1D44",),
0x801A1DB8:("func_801A1DB8",),
0x801A1E0C:("func_801A1E0C",),
0x801A1F00:("func_801A1F00",),
0x801A1F88:("func_801A1F88",),
0x801A1FB4:("func_801A1FB4",),
0x801A2090:("func_801A2090",),
0x801A0E44:("Audio_SetSequenceProperties",),
0x801A1290:("Audio_UpdateObjSoundProperties",),
0x801A1348:("Audio_SetObjSoundProperties",),
0x801A13BC:("Audio_StartObjSoundFanfare",),
0x801A153C:("Audio_PlayObjSoundBgm",),
0x801A17F4:("Audio_PlayObjSoundFanfare",),
0x801A1904:("Audio_UpdateObjSoundFanfare",),
0x801A1A10:("Audio_StopSequenceAtPos",),
0x801A1A8C:("Audio_StartSubBgmAtPos",),
0x801A1D44:("Audio_PlaySubBgmAtPos",),
0x801A1DB8:("Audio_PlaySubBgmAtPosWithFilter",),
0x801A1E0C:("Audio_UpdateSubBgmAtPos",),
0x801A1F00:("Audio_PlaySequenceAtDefaultPos",),
0x801A1F88:("Audio_StopSequenceAtDefaultPos",),
0x801A1FB4:("Audio_PlaySequenceAtPos",),
0x801A2090:("Audio_UpdateSequenceAtPos",),
0x801A21FC:("Audio_PlaySariaBgm",),
0x801A2460:("Audio_ClearSariaBgm2",),
0x801A246C:("func_801A246C",),
+1 -1
View File
@@ -4181,7 +4181,7 @@
0x801FD3AB:("sFanfareState","UNK_TYPE1","",0x1),
0x801FD3AC:("sFanfareSeqId","UNK_TYPE1","",0x1),
0x801FD3AE:("sMuteOnlySfxAndAmbienceSeq","UNK_TYPE1","",0x1),
0x801FD3AF:("sAllPlayersMutedExceptOcaAndSys","UNK_TYPE1","",0x1),
0x801FD3AF:("sAllPlayersMutedExceptSystemAndOcarina","UNK_TYPE1","",0x1),
0x801FD3B0:("sAudioPauseState","UNK_TYPE1","",0x1),
0x801FD3B4:("sSpatialSeqIsActive","u8","[4]",0x4),
0x801FD3B8:("sSequenceFilter","UNK_TYPE1","",0x1),
+16 -16
View File
@@ -3436,22 +3436,22 @@ asm/non_matchings/code/code_8019AF00/func_801A09D4.s,func_801A09D4,0x801A09D4,0x
asm/non_matchings/code/code_8019AF00/Audio_ClearSariaBgm.s,Audio_ClearSariaBgm,0x801A0C70,0x8
asm/non_matchings/code/code_8019AF00/Audio_ClearSariaBgmAtPos.s,Audio_ClearSariaBgmAtPos,0x801A0C90,0x8
asm/non_matchings/code/code_8019AF00/Audio_SplitBgmChannels.s,Audio_SplitBgmChannels,0x801A0CB0,0x65
asm/non_matchings/code/code_8019AF00/func_801A0E44.s,func_801A0E44,0x801A0E44,0x113
asm/non_matchings/code/code_8019AF00/func_801A1290.s,func_801A1290,0x801A1290,0x2E
asm/non_matchings/code/code_8019AF00/func_801A1348.s,func_801A1348,0x801A1348,0x1D
asm/non_matchings/code/code_8019AF00/func_801A13BC.s,func_801A13BC,0x801A13BC,0x60
asm/non_matchings/code/code_8019AF00/func_801A153C.s,func_801A153C,0x801A153C,0xAE
asm/non_matchings/code/code_8019AF00/func_801A17F4.s,func_801A17F4,0x801A17F4,0x44
asm/non_matchings/code/code_8019AF00/func_801A1904.s,func_801A1904,0x801A1904,0x43
asm/non_matchings/code/code_8019AF00/func_801A1A10.s,func_801A1A10,0x801A1A10,0x1F
asm/non_matchings/code/code_8019AF00/func_801A1A8C.s,func_801A1A8C,0x801A1A8C,0xAE
asm/non_matchings/code/code_8019AF00/func_801A1D44.s,func_801A1D44,0x801A1D44,0x1D
asm/non_matchings/code/code_8019AF00/func_801A1DB8.s,func_801A1DB8,0x801A1DB8,0x15
asm/non_matchings/code/code_8019AF00/func_801A1E0C.s,func_801A1E0C,0x801A1E0C,0x3D
asm/non_matchings/code/code_8019AF00/func_801A1F00.s,func_801A1F00,0x801A1F00,0x22
asm/non_matchings/code/code_8019AF00/func_801A1F88.s,func_801A1F88,0x801A1F88,0xB
asm/non_matchings/code/code_8019AF00/func_801A1FB4.s,func_801A1FB4,0x801A1FB4,0x37
asm/non_matchings/code/code_8019AF00/func_801A2090.s,func_801A2090,0x801A2090,0x5B
asm/non_matchings/code/code_8019AF00/Audio_SetSequenceProperties.s,Audio_SetSequenceProperties,0x801A0E44,0x113
asm/non_matchings/code/code_8019AF00/Audio_UpdateObjSoundProperties.s,Audio_UpdateObjSoundProperties,0x801A1290,0x2E
asm/non_matchings/code/code_8019AF00/Audio_SetObjSoundProperties.s,Audio_SetObjSoundProperties,0x801A1348,0x1D
asm/non_matchings/code/code_8019AF00/Audio_StartObjSoundFanfare.s,Audio_StartObjSoundFanfare,0x801A13BC,0x60
asm/non_matchings/code/code_8019AF00/Audio_PlayObjSoundBgm.s,Audio_PlayObjSoundBgm,0x801A153C,0xAE
asm/non_matchings/code/code_8019AF00/Audio_PlayObjSoundFanfare.s,Audio_PlayObjSoundFanfare,0x801A17F4,0x44
asm/non_matchings/code/code_8019AF00/Audio_UpdateObjSoundFanfare.s,Audio_UpdateObjSoundFanfare,0x801A1904,0x43
asm/non_matchings/code/code_8019AF00/Audio_StopSequenceAtPos.s,Audio_StopSequenceAtPos,0x801A1A10,0x1F
asm/non_matchings/code/code_8019AF00/Audio_StartSubBgmAtPos.s,Audio_StartSubBgmAtPos,0x801A1A8C,0xAE
asm/non_matchings/code/code_8019AF00/Audio_PlaySubBgmAtPos.s,Audio_PlaySubBgmAtPos,0x801A1D44,0x1D
asm/non_matchings/code/code_8019AF00/Audio_PlaySubBgmAtPosWithFilter.s,Audio_PlaySubBgmAtPosWithFilter,0x801A1DB8,0x15
asm/non_matchings/code/code_8019AF00/Audio_UpdateSubBgmAtPos.s,Audio_UpdateSubBgmAtPos,0x801A1E0C,0x3D
asm/non_matchings/code/code_8019AF00/Audio_PlaySequenceAtDefaultPos.s,Audio_PlaySequenceAtDefaultPos,0x801A1F00,0x22
asm/non_matchings/code/code_8019AF00/Audio_StopSequenceAtDefaultPos.s,Audio_StopSequenceAtDefaultPos,0x801A1F88,0xB
asm/non_matchings/code/code_8019AF00/Audio_PlaySequenceAtPos.s,Audio_PlaySequenceAtPos,0x801A1FB4,0x37
asm/non_matchings/code/code_8019AF00/Audio_UpdateSequenceAtPos.s,Audio_UpdateSequenceAtPos,0x801A2090,0x5B
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
1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
3436 asm/non_matchings/code/code_8019AF00/Audio_ClearSariaBgm.s Audio_ClearSariaBgm 0x801A0C70 0x8
3437 asm/non_matchings/code/code_8019AF00/Audio_ClearSariaBgmAtPos.s Audio_ClearSariaBgmAtPos 0x801A0C90 0x8
3438 asm/non_matchings/code/code_8019AF00/Audio_SplitBgmChannels.s Audio_SplitBgmChannels 0x801A0CB0 0x65
3439 asm/non_matchings/code/code_8019AF00/func_801A0E44.s asm/non_matchings/code/code_8019AF00/Audio_SetSequenceProperties.s func_801A0E44 Audio_SetSequenceProperties 0x801A0E44 0x113
3440 asm/non_matchings/code/code_8019AF00/func_801A1290.s asm/non_matchings/code/code_8019AF00/Audio_UpdateObjSoundProperties.s func_801A1290 Audio_UpdateObjSoundProperties 0x801A1290 0x2E
3441 asm/non_matchings/code/code_8019AF00/func_801A1348.s asm/non_matchings/code/code_8019AF00/Audio_SetObjSoundProperties.s func_801A1348 Audio_SetObjSoundProperties 0x801A1348 0x1D
3442 asm/non_matchings/code/code_8019AF00/func_801A13BC.s asm/non_matchings/code/code_8019AF00/Audio_StartObjSoundFanfare.s func_801A13BC Audio_StartObjSoundFanfare 0x801A13BC 0x60
3443 asm/non_matchings/code/code_8019AF00/func_801A153C.s asm/non_matchings/code/code_8019AF00/Audio_PlayObjSoundBgm.s func_801A153C Audio_PlayObjSoundBgm 0x801A153C 0xAE
3444 asm/non_matchings/code/code_8019AF00/func_801A17F4.s asm/non_matchings/code/code_8019AF00/Audio_PlayObjSoundFanfare.s func_801A17F4 Audio_PlayObjSoundFanfare 0x801A17F4 0x44
3445 asm/non_matchings/code/code_8019AF00/func_801A1904.s asm/non_matchings/code/code_8019AF00/Audio_UpdateObjSoundFanfare.s func_801A1904 Audio_UpdateObjSoundFanfare 0x801A1904 0x43
3446 asm/non_matchings/code/code_8019AF00/func_801A1A10.s asm/non_matchings/code/code_8019AF00/Audio_StopSequenceAtPos.s func_801A1A10 Audio_StopSequenceAtPos 0x801A1A10 0x1F
3447 asm/non_matchings/code/code_8019AF00/func_801A1A8C.s asm/non_matchings/code/code_8019AF00/Audio_StartSubBgmAtPos.s func_801A1A8C Audio_StartSubBgmAtPos 0x801A1A8C 0xAE
3448 asm/non_matchings/code/code_8019AF00/func_801A1D44.s asm/non_matchings/code/code_8019AF00/Audio_PlaySubBgmAtPos.s func_801A1D44 Audio_PlaySubBgmAtPos 0x801A1D44 0x1D
3449 asm/non_matchings/code/code_8019AF00/func_801A1DB8.s asm/non_matchings/code/code_8019AF00/Audio_PlaySubBgmAtPosWithFilter.s func_801A1DB8 Audio_PlaySubBgmAtPosWithFilter 0x801A1DB8 0x15
3450 asm/non_matchings/code/code_8019AF00/func_801A1E0C.s asm/non_matchings/code/code_8019AF00/Audio_UpdateSubBgmAtPos.s func_801A1E0C Audio_UpdateSubBgmAtPos 0x801A1E0C 0x3D
3451 asm/non_matchings/code/code_8019AF00/func_801A1F00.s asm/non_matchings/code/code_8019AF00/Audio_PlaySequenceAtDefaultPos.s func_801A1F00 Audio_PlaySequenceAtDefaultPos 0x801A1F00 0x22
3452 asm/non_matchings/code/code_8019AF00/func_801A1F88.s asm/non_matchings/code/code_8019AF00/Audio_StopSequenceAtDefaultPos.s func_801A1F88 Audio_StopSequenceAtDefaultPos 0x801A1F88 0xB
3453 asm/non_matchings/code/code_8019AF00/func_801A1FB4.s asm/non_matchings/code/code_8019AF00/Audio_PlaySequenceAtPos.s func_801A1FB4 Audio_PlaySequenceAtPos 0x801A1FB4 0x37
3454 asm/non_matchings/code/code_8019AF00/func_801A2090.s asm/non_matchings/code/code_8019AF00/Audio_UpdateSequenceAtPos.s func_801A2090 Audio_UpdateSequenceAtPos 0x801A2090 0x5B
3455 asm/non_matchings/code/code_8019AF00/Audio_PlaySariaBgm.s Audio_PlaySariaBgm 0x801A21FC 0x99
3456 asm/non_matchings/code/code_8019AF00/Audio_ClearSariaBgm2.s Audio_ClearSariaBgm2 0x801A2460 0x3
3457 asm/non_matchings/code/code_8019AF00/func_801A246C.s func_801A246C 0x801A246C 0x36