summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrakxo <87568477+Prakxo@users.noreply.github.com>2023-12-09 18:20:31 +0100
committerGitHub <noreply@github.com>2023-12-09 10:20:31 -0700
commit57efce4a9b79b5124bab722a3413f426acf8f8e6 (patch)
tree980d838de499757f5c94ff066ca7e48f285a17f6
parent268c1f8c95fe092125fce01a339d5aae4776f1c0 (diff)
audio OK (#125)
* audio OK * format
-rw-r--r--include/683030.h3
-rw-r--r--include/6F5550.h82
-rw-r--r--include/71A140.h99
-rw-r--r--include/71FA20.h14
-rw-r--r--include/7205C0.h2
-rw-r--r--include/7206E0.h2
-rw-r--r--include/720B20.h6
-rw-r--r--include/audio.h83
-rw-r--r--include/audio_load.h2
-rw-r--r--include/code_variables.h1
-rw-r--r--include/z64math.h2
-rw-r--r--linker_scripts/jp/symbol_addrs_code.txt244
-rw-r--r--src/code/audio.c453
-rw-r--r--src/code/m_submenu.c2
-rw-r--r--src/overlays/actors/ovl_TrainDoor/ac_train_door.c2
-rw-r--r--src/overlays/gamestates/ovl_play/m_play.c10
-rw-r--r--yamls/jp/code.yaml5
17 files changed, 734 insertions, 278 deletions
diff --git a/include/683030.h b/include/683030.h
index efd5048..663caf6 100644
--- a/include/683030.h
+++ b/include/683030.h
@@ -4,6 +4,7 @@
#include "ultra64.h"
struct Game_Play;
+struct xyz_t;
// void func_8005F390_jp();
// void func_8005F3DC_jp();
@@ -46,7 +47,7 @@ struct Game_Play;
void Camera2_ClearActorTalking_Cull(struct Game_Play* game_play);
// void func_80060D1C_jp();
// void func_80060D58_jp();
-// void func_80060D6C_jp();
+struct xyz_t* Camera2_getMicPos_p(struct Game_Play* game_play);
// void func_80060D78_jp();
// void func_80060DA8_jp();
// void func_80060FDC_jp();
diff --git a/include/6F5550.h b/include/6F5550.h
deleted file mode 100644
index b8476d6..0000000
--- a/include/6F5550.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef C_6F5550_H
-#define C_6F5550_H
-
-#include "ultra64.h"
-
-struct Game_Play;
-struct Game_Play_Unk_1EE8;
-struct xyz_t;
-
-// void func_800D18B0_jp();
-// void func_800D195C_jp();
-// void func_800D197C_jp();
-// void func_800D199C_jp();
-// void func_800D19BC_jp();
-// void func_800D19DC_jp();
-// void func_800D19FC_jp();
-// void func_800D1A24_jp();
-// void func_800D1A4C_jp();
-// void func_800D1A74_jp();
-// void func_800D1A9C_jp();
-// void func_800D1AC4_jp();
-// void func_800D1B00_jp();
-// void func_800D1B3C_jp();
-// void func_800D1B78_jp();
-// void func_800D1BB4_jp();
-// void func_800D1BE4_jp();
-// void func_800D1C20_jp();
-// void func_800D1C48_jp();
-// void func_800D1C70_jp();
-// void func_800D1C98_jp();
-// void func_800D1CB8_jp();
-// void func_800D1CE0_jp();
-// void func_800D1D08_jp();
-void sAdo_OngenTrgStart(u16 arg0, xyz_t* arg1);
-// void func_800D1D94_jp();
-void sAdo_SetVoiceMode(s32 arg0);
-// void func_800D1DE4_jp();
-// void func_800D1E20_jp();
-// void func_800D1E58_jp();
-// void func_800D1E78_jp();
-// void func_800D1E98_jp();
-// void func_800D1EE8_jp();
-// void func_800D1F10_jp();
-// void func_800D1F30_jp();
-// void func_800D1F50_jp();
-// void func_800D1F70_jp();
-// void func_800D1F90_jp();
-// void func_800D1FB0_jp();
-void sAdo_SpecChange(s32 arg0);
-// void func_800D2010_jp();
-// void func_800D2064_jp();
-// void func_800D208C_jp();
-// void func_800D20B4_jp();
-// void func_800D20D4_jp();
-// void func_800D20F4_jp();
-// void func_800D2114_jp();
-// void func_800D213C_jp();
-// void func_800D215C_jp();
-// void func_800D2184_jp();
-// void func_800D21CC_jp();
-// void func_800D21EC_jp();
-// void func_800D220C_jp();
-// void func_800D2234_jp();
-// void func_800D227C_jp();
-// void func_800D22A4_jp();
-// void func_800D22CC_jp();
-// void func_800D22F4_jp();
-s32 sAdo_BgmFadeoutCheck(void);
-s32 func_800D2334_jp(struct Game_Play_Unk_1EE8* arg0, struct Game_Play* game_play);
-// void func_800D2354_jp();
-// void func_800D2360_jp();
-void sAdo_RoomType(u8 arg0);
-// void func_800D2394_jp();
-// void func_800D23B4_jp();
-// void func_800D2438_jp();
-// void func_800D24C4_jp();
-// void func_800D24EC_jp();
-// void func_800D252C_jp();
-void func_800D2568_jp(s32 arg0);
-// void func_800D2578_jp();
-
-#endif
diff --git a/include/71A140.h b/include/71A140.h
index c0b6c49..9cb962e 100644
--- a/include/71A140.h
+++ b/include/71A140.h
@@ -44,58 +44,59 @@
// void func_800F8850_jp();
// void func_800F88BC_jp();
// void func_800F88E8_jp();
-// void func_800F8984_jp();
-// void func_800F89C0_jp();
-// void func_800F8B2C_jp();
-// void func_800F8B4C_jp();
+void func_800F8984_jp(void);
+void Na_GameFrame(void);
+void func_800F8B2C_jp(void);
+void Na_SoftReset(void);
// void func_800F8C94_jp();
-// void func_800F8CE0_jp();
-// void func_800F8D08_jp();
-// void func_800F8D24_jp();
-// void func_800F8D40_jp();
-// void func_800F8D5C_jp();
+void Na_Tenki(u8);
+void Na_BgmStart(u8 id);
+void Na_BgmCrossfadeStart(u8);
+void Na_BgmStop(u16 id);
+void Na_SysTrgStart(u16 id);
// void func_800F8E24_jp();
-// void func_800F8FC4_jp();
-// void func_800F9064_jp();
-// void func_800F9118_jp();
-// void func_800F9170_jp();
-// void func_800F91E0_jp();
-// void func_800F91FC_jp();
-// void func_800F9C24_jp();
-// void func_800F9C44_jp();
-// void func_800F9C54_jp();
-// void func_800F9C60_jp();
+void Na_PlyWalkSe(u16, u16, f32);
+void Na_PlyWalkSeRoom(u8, u16, f32);
+void Na_NpcWalkSe(u16, u16, f32);
+void Na_NpcWalkSeRoom(u8, u16, f32);
+void Na_PlayerStatusLevel(u8 arg0, f32 speed);
+void Na_VoiceSe(u8 arg0, s16 arg1, u8 arg2);
+void Na_Inst(u16, u8*);
+void Na_MessageStatus(u8);
+void Na_MessageSpeed(u8);
+u8 Na_MessageSpeedGet(void);
+void Na_OngenPos(s32,u8,u16,f32);
// void func_800FA0AC_jp();
// void func_800FA2E0_jp();
-// void func_800FA2F0_jp();
-// void func_800FA354_jp();
-// void func_800FA498_jp();
-// void func_800FA510_jp();
-// void func_800FA520_jp();
-// void func_800FA580_jp();
-// void func_800FA720_jp();
-// void func_800FA7B0_jp();
-// void func_800FA88C_jp();
-// void func_800FA92C_jp();
-// void func_800FAA14_jp();
-// void func_800FAB8C_jp();
-// void func_800FAC58_jp();
-// void func_800FAC84_jp();
-// void func_800FACC8_jp();
-// void func_800FAD38_jp();
-// void func_800FAE84_jp();
-// void func_800FB128_jp();
-// void func_800FB234_jp();
-// void func_800FB29C_jp();
-// void func_800FB2D8_jp();
-// void func_800FB350_jp();
-// void func_800FB39C_jp();
-// void func_800FB3E8_jp();
-// void func_800FB744_jp();
-// void func_800FBA90_jp();
-// void func_800FBB44_jp();
-// void func_800FBB7C_jp();
-// void func_800FBBBC_jp();
-// void func_800FBCA8_jp();
+void Na_OngenTrgStartSpeed(u16,u16,f32,f32);
+void Na_OngenTrgStart(u16,u16,f32);
+void Na_SetOutMode(u8);
+void Na_SetVoiceMode(u8);
+void Na_FloorTrgStart(u8,u16,f32);
+void Na_SysLevStart(u8);
+void Na_SysLevStop(u8);
+void Na_Pause(u8);
+void Na_RhythmPos(s32,u8,u16,f32);
+void Na_SpecChange(s32);
+void Na_MDPlayerPos(u16,f32,u16,s32, s32);
+void Na_BGMVolume(f32,u16);
+void Na_SubGameStart(void);
+void Na_SubGameEnd(void);
+u8 Na_SubGameOK(void);
+void Na_KishaStatusTrg(u8);
+void Na_KishaStatusLevel(f32 arg0, s32 arg1, u16 arg2, f32 arg3,s32 arg4, u16 arg5, f32 arg6);
+void Na_TTKK_ARM(u8);
+void Na_BgmMuteClear(void);
+u8 Na_BgmFadeoutCheck(void);
+u8 Na_SeFadeoutCheck(void);
+void Na_BgmTrOn(u8 id);
+void Na_BgmTrOff(u8 id);
+void Na_SceneMode(u8);
+void Na_RoomIncectPos(s32,u16,u16,f32);
+void Na_FurnitureInstPos(s32,u16,f32);
+void Na_TrgSeEcho(u8);
+void Na_LevSeEcho(u8);
+void Na_BGMFilter(u8);
+void Na_RoomType(u8);
#endif
diff --git a/include/71FA20.h b/include/71FA20.h
index 4b5b970..0fe81ff 100644
--- a/include/71FA20.h
+++ b/include/71FA20.h
@@ -9,15 +9,15 @@
// void func_800FBFF8_jp();
// void func_800FC02C_jp();
// void func_800FC0B8_jp();
-// void func_800FC110_jp();
-// void func_800FC16C_jp();
-// void func_800FC19C_jp();
+void Na_RhythmStart(s32 arg0, s8 arg1, s8 arg2);
+void Na_RhythmStop(void);
+void Na_RhythmAllStop(void);
// void func_800FC1F0_jp();
-// void func_800FC254_jp();
-// void func_800FC3F0_jp();
+f32 get_rhythm_buffer(void);
+s16 Na_GetRhythmSubTrack(void);
// void func_800FC430_jp();
-// void func_800FC520_jp();
-// void func_800FC564_jp();
+void Na_GetRhythmInfo(void*);
+void Na_SetRhythmInfo(void*);
// void func_800FC5C8_jp();
// void func_800FC6A0_jp();
diff --git a/include/7205C0.h b/include/7205C0.h
index ab68e40..d7c2a1e 100644
--- a/include/7205C0.h
+++ b/include/7205C0.h
@@ -3,6 +3,6 @@
#include "ultra64.h"
-// void func_800FC920_jp();
+s32 func_800FC920_jp(void*);
#endif
diff --git a/include/7206E0.h b/include/7206E0.h
index 87927f8..6b2b2e2 100644
--- a/include/7206E0.h
+++ b/include/7206E0.h
@@ -4,6 +4,6 @@
#include "ultra64.h"
// void func_800FCA40_jp();
-// void func_800FCAD8_jp();
+void Na_GetStaffRollInfo(u16*);
#endif
diff --git a/include/720B20.h b/include/720B20.h
index 5232d38..3dce0d4 100644
--- a/include/720B20.h
+++ b/include/720B20.h
@@ -3,12 +3,12 @@
#include "ultra64.h"
-// void func_800FCE80_jp();
+// void Na_Inst();
// void func_800FCEEC_jp();
-// void func_800FD0A4_jp();
+s32 Na_InstCountGet(void);
// void func_800FD0D4_jp();
// void func_800FD13C_jp();
-// void func_800FD170_jp();
+void Na_FurnitureInst(s32,u8,s32,u16,f32);
// void func_800FD280_jp();
#endif
diff --git a/include/audio.h b/include/audio.h
new file mode 100644
index 0000000..261ec48
--- /dev/null
+++ b/include/audio.h
@@ -0,0 +1,83 @@
+#ifndef AUDIO_H
+#define AUDIO_H
+
+#include "ultra64.h"
+#include "game.h"
+
+struct xyz_t;
+
+extern s32 S_ongenpos_refuse_fg;
+
+void sAdo_Calc_MicPosition_common(f32* distanceVal, u16* angleVal, struct xyz_t* pos);
+void sAdo_Calc_MicPosition_forTrig(f32* distanceVal, u16* angleVal, struct xyz_t* pos);
+void sAdo_Calc_MicPosition_forLevel(f32* distanceVal, u16* angleVal, struct xyz_t* pos);
+void sAdo_GameFrame(void);
+void func_800D19BC_jp(void);
+void func_800D19DC_jp(void);
+void sAdo_BgmStart(u8 id);
+void sAdo_BgmStop(u16 id);
+void sAdo_BgmTrOn(u8 id);
+void sAdo_BgmTrOff(u8 id);
+void sAdo_SysTrgStart(u16 id);
+void sAdo_PlyWalkSe(s32 arg0, struct xyz_t* pos);
+void sAdo_PlyWalkSeRoom(s32 arg0, struct xyz_t* pos);
+void sAdo_NpcWalkSe(s32 arg0, struct xyz_t* pos);
+void sAdo_NpcWalkSeRoom(u16 arg0, struct xyz_t* pos);
+void sAdo_PlayerStatusLevel(u8 arg0, f32 speed);
+void sAdo_VoiceSe(u8 arg0, s16 arg1, u8 arg2);
+void sAdo_Inst(u8 num, u8* arg1);
+void sAdo_MessageStatus(u8 status);
+void sAdo_MessageSpeed(u8 speed);
+u8 sAdo_MessageSpeedGet(void);
+void sAdo_SysLevStart(u8 id);
+void sAdo_SysLevStop(u8 id);
+void sAdo_OngenPos(s32 arg0, u8 arg1, struct xyz_t* pos);
+void sAdo_OngenTrgStart(u16 id, struct xyz_t* pos);
+void sAdo_SetOutMode(u8 mode);
+void sAdo_SetVoiceMode(u8 mode);
+void sAdo_FloorTrgStart(u8 id, struct xyz_t* pos);
+void sAdo_RhythmStart(s32 arg0, s8 arg1, s8 arg2);
+void sAdo_RhythmStop(void);
+void sAdo_RhythmAllStop(void);
+void sAdo_FurnitureInst(s32 distance, u8 trackId, s32 arg2, struct xyz_t* pos);
+void sAdo_Pause(u8 mode);
+f32 sAdo_get_rhythm_buffer(void);
+s16 sAdo_GetRhythmSubTrack(void);
+void sAdo_GetRhythmInfo(void* arg0);
+void sAdo_SetRhythmInfo(void* arg0);
+s32 sAdo_InstCountGet(void);
+void sAdo_RhythmPos(s32 distance, u8 arg1, struct xyz_t* pos);
+void sAdo_SpecChange(s32 spec);
+void sAdo_MDPlayerPos(struct xyz_t* pos, u16 arg1, u16 arg2, s32 arg3);
+void sAdo_BGMVolume(f32 volume, u16 pan);
+void sAdo_BgmCrossfadeStart(u8 arg0);
+void sAdo_SubGameStart(void);
+void sAdo_SubGameEnd(void);
+s32 sAdo_SubGameOK(void);
+void sAdo_Tenki(u8 mode);
+void func_800D213C_jp(void);
+void sAdos_KishaStatusTrg(u8 state);
+void sAdos_KishaStatusLevel(f32 arg0, s32 arg1, f32 arg2, u16 arg3, s32 arg4, f32 arg5, u16 arg6);
+s32 func_800D21CC_jp(void* arg0);
+void sAdos_GetStaffRollInfo(u16* arg0);
+void sAdos_TTKK_ARM(u8 arg0);
+void sAdo_OngenTrgStartSpeed(u16 num, struct xyz_t* pos, f32 speed);
+void sAdo_TrgSeEcho(u8 idx);
+void sAdo_LevSeEcho(u8 idx);
+void sAdo_BGMFilter(u8 arg0);
+void sAdo_BgmMuteClear(void);
+u8 sAdo_BgmFadeoutCheck(void);
+u8 sAdo_SeFadeoutCheck(void);
+void sAdo_SeStart(s32 arg0);
+void sAdo_SeStop(s32 arg0);
+void sAdo_RoomType(u8 type);
+void sAdo_SoftReset(void);
+u16 sAdo_Get_WalkLabel(s32 type);
+s32 sAdo_Get_KokeruLabel(s32 type);
+void sAdo_SceneMode(u8 mode);
+void sAdo_RoomIncectPos(s32 distance, u8 insectId, struct xyz_t* pos);
+void sAdo_FurnitureInstPos(s32 distance, struct xyz_t* pos);
+void sAdo_Set_ongenpos_refuse_fg(s32 state);
+s32 sAdo_GameframeEnd_Check(void);
+
+#endif
diff --git a/include/audio_load.h b/include/audio_load.h
index b0b71b7..82abd53 100644
--- a/include/audio_load.h
+++ b/include/audio_load.h
@@ -45,7 +45,7 @@
// void func_800EBB90_jp();
// void func_800EBBB0_jp();
// void func_800EBF3C_jp();
-// void func_800EBF6C_jp();
+void func_800EBF6C_jp(void);
// void func_800EBF78_jp();
// void func_800EBF84_jp();
// void func_800EBF90_jp();
diff --git a/include/code_variables.h b/include/code_variables.h
index 455a8db..b65cb79 100644
--- a/include/code_variables.h
+++ b/include/code_variables.h
@@ -781,7 +781,6 @@ extern s32 CanLookGokiCount;
// extern UNK_TYPE D_8010EF50_jp;
// extern UNK_TYPE D_8010EF60_jp;
// extern UNK_TYPE D_8010EF70_jp;
-// extern UNK_TYPE D_8010EF80_jp;
// extern UNK_TYPE D_8010EFA0_jp;
extern vs32 D_8010EFB0_jp; // TODO: Determine where this goes
diff --git a/include/z64math.h b/include/z64math.h
index 02deb0c..9828756 100644
--- a/include/z64math.h
+++ b/include/z64math.h
@@ -18,7 +18,7 @@ typedef struct {
/* 0x4 */ f32 z;
} Vec2f; // size = 0x8
-typedef struct {
+typedef struct xyz_t {
/* 0x0 */ f32 x;
/* 0x4 */ f32 y;
/* 0x8 */ f32 z;
diff --git a/linker_scripts/jp/symbol_addrs_code.txt b/linker_scripts/jp/symbol_addrs_code.txt
index ea74999..95f3f74 100644
--- a/linker_scripts/jp/symbol_addrs_code.txt
+++ b/linker_scripts/jp/symbol_addrs_code.txt
@@ -388,7 +388,7 @@ func_80060B18_jp = 0x80060B18; // type:func
Camera2_ClearActorTalking_Cull = 0x80060CDC; // type:func
func_80060D1C_jp = 0x80060D1C; // type:func
func_80060D58_jp = 0x80060D58; // type:func
-func_80060D6C_jp = 0x80060D6C; // type:func
+Camera2_getMicPos_p = 0x80060D6C; // type:func
func_80060D78_jp = 0x80060D78; // type:func
func_80060DA8_jp = 0x80060DA8; // type:func
func_80060FDC_jp = 0x80060FDC; // type:func
@@ -3316,77 +3316,77 @@ THA_isCrash = 0x800D1824; // type:func
THA_init = 0x800D1848; // type:func
THA_ct = 0x800D1864; // type:func
THA_dt = 0x800D1888; // type:func
-func_800D18B0_jp = 0x800D18B0; // type:func
-func_800D195C_jp = 0x800D195C; // type:func
-func_800D197C_jp = 0x800D197C; // type:func
-func_800D199C_jp = 0x800D199C; // type:func
+sAdo_Calc_MicPosition_common = 0x800D18B0; // type:func
+sAdo_Calc_MicPosition_forTrig = 0x800D195C; // type:func
+sAdo_Calc_MicPosition_forLevel = 0x800D197C; // type:func
+sAdo_GameFrame = 0x800D199C; // type:func
func_800D19BC_jp = 0x800D19BC; // type:func
func_800D19DC_jp = 0x800D19DC; // type:func
-func_800D19FC_jp = 0x800D19FC; // type:func
-func_800D1A24_jp = 0x800D1A24; // type:func
-func_800D1A4C_jp = 0x800D1A4C; // type:func
-func_800D1A74_jp = 0x800D1A74; // type:func
-func_800D1A9C_jp = 0x800D1A9C; // type:func
-func_800D1AC4_jp = 0x800D1AC4; // type:func
-func_800D1B00_jp = 0x800D1B00; // type:func
-func_800D1B3C_jp = 0x800D1B3C; // type:func
-func_800D1B78_jp = 0x800D1B78; // type:func
-func_800D1BB4_jp = 0x800D1BB4; // type:func
-func_800D1BE4_jp = 0x800D1BE4; // type:func
-func_800D1C20_jp = 0x800D1C20; // type:func
-func_800D1C48_jp = 0x800D1C48; // type:func
-func_800D1C70_jp = 0x800D1C70; // type:func
-func_800D1C98_jp = 0x800D1C98; // type:func
-func_800D1CB8_jp = 0x800D1CB8; // type:func
-func_800D1CE0_jp = 0x800D1CE0; // type:func
-func_800D1D08_jp = 0x800D1D08; // type:func
+sAdo_BgmStart = 0x800D19FC; // type:func
+sAdo_BgmStop = 0x800D1A24; // type:func
+sAdo_BgmTrOn = 0x800D1A4C; // type:func
+sAdo_BgmTrOff = 0x800D1A74; // type:func
+sAdo_SysTrgStart = 0x800D1A9C; // type:func
+sAdo_PlyWalkSe = 0x800D1AC4; // type:func
+sAdo_PlyWalkSeRoom = 0x800D1B00; // type:func
+sAdo_NpcWalkSe = 0x800D1B3C; // type:func
+sAdo_NpcWalkSeRoom = 0x800D1B78; // type:func
+sAdo_PlayerStatusLevel = 0x800D1BB4; // type:func
+sAdo_VoiceSe = 0x800D1BE4; // type:func
+sAdo_Inst = 0x800D1C20; // type:func
+sAdo_MessageStatus = 0x800D1C48; // type:func
+sAdo_MessageSpeed = 0x800D1C70; // type:func
+sAdo_MessageSpeedGet = 0x800D1C98; // type:func
+sAdo_SysLevStart = 0x800D1CB8; // type:func
+sAdo_SysLevStop = 0x800D1CE0; // type:func
+sAdo_OngenPos = 0x800D1D08; // type:func
sAdo_OngenTrgStart = 0x800D1D58; // type:func
-func_800D1D94_jp = 0x800D1D94; // type:func
+sAdo_SetOutMode = 0x800D1D94; // type:func
sAdo_SetVoiceMode = 0x800D1DBC; // type:func
-func_800D1DE4_jp = 0x800D1DE4; // type:func
-func_800D1E20_jp = 0x800D1E20; // type:func
-func_800D1E58_jp = 0x800D1E58; // type:func
-func_800D1E78_jp = 0x800D1E78; // type:func
-func_800D1E98_jp = 0x800D1E98; // type:func
-func_800D1EE8_jp = 0x800D1EE8; // type:func
-func_800D1F10_jp = 0x800D1F10; // type:func
-func_800D1F30_jp = 0x800D1F30; // type:func
-func_800D1F50_jp = 0x800D1F50; // type:func
-func_800D1F70_jp = 0x800D1F70; // type:func
-func_800D1F90_jp = 0x800D1F90; // type:func
-func_800D1FB0_jp = 0x800D1FB0; // type:func
+sAdo_FloorTrgStart = 0x800D1DE4; // type:func
+sAdo_RhythmStart = 0x800D1E20; // type:func
+sAdo_RhythmStop = 0x800D1E58; // type:func
+sAdo_RhythmAllStop = 0x800D1E78; // type:func
+sAdo_FurnitureInst = 0x800D1E98; // type:func
+sAdo_Pause = 0x800D1EE8; // type:func
+sAdo_get_rhythm_buffer = 0x800D1F10; // type:func
+sAdo_GetRhythmSubTrack = 0x800D1F30; // type:func
+sAdo_GetRhythmInfo = 0x800D1F50; // type:func
+sAdo_SetRhythmInfo = 0x800D1F70; // type:func
+sAdo_InstCountGet = 0x800D1F90; // type:func
+sAdo_RhythmPos = 0x800D1FB0; // type:func
sAdo_SpecChange = 0x800D1FF0; // type:func
-func_800D2010_jp = 0x800D2010; // type:func
-func_800D2064_jp = 0x800D2064; // type:func
-func_800D208C_jp = 0x800D208C; // type:func
-func_800D20B4_jp = 0x800D20B4; // type:func
-func_800D20D4_jp = 0x800D20D4; // type:func
-func_800D20F4_jp = 0x800D20F4; // type:func
-func_800D2114_jp = 0x800D2114; // type:func
+sAdo_MDPlayerPos = 0x800D2010; // type:func
+sAdo_BGMVolume = 0x800D2064; // type:func
+sAdo_BgmCrossfadeStart = 0x800D208C; // type:func
+sAdo_SubGameStart = 0x800D20B4; // type:func
+sAdo_SubGameEnd = 0x800D20D4; // type:func
+sAdo_SubGameOK = 0x800D20F4; // type:func
+sAdo_Tenki = 0x800D2114; // type:func
func_800D213C_jp = 0x800D213C; // type:func
-func_800D215C_jp = 0x800D215C; // type:func
-func_800D2184_jp = 0x800D2184; // type:func
+sAdos_KishaStatusTrg = 0x800D215C; // type:func
+sAdos_KishaStatusLevel = 0x800D2184; // type:func
func_800D21CC_jp = 0x800D21CC; // type:func
-func_800D21EC_jp = 0x800D21EC; // type:func
-func_800D220C_jp = 0x800D220C; // type:func
-func_800D2234_jp = 0x800D2234; // type:func
-func_800D227C_jp = 0x800D227C; // type:func
-func_800D22A4_jp = 0x800D22A4; // type:func
-func_800D22CC_jp = 0x800D22CC; // type:func
-func_800D22F4_jp = 0x800D22F4; // type:func
+sAdos_GetStaffRollInfo = 0x800D21EC; // type:func
+sAdos_TTKK_ARM = 0x800D220C; // type:func
+sAdo_OngenTrgStartSpeed = 0x800D2234; // type:func
+sAdo_TrgSeEcho = 0x800D227C; // type:func
+sAdo_LevSeEcho = 0x800D22A4; // type:func
+sAdo_BGMFilter = 0x800D22CC; // type:func
+sAdo_BgmMuteClear = 0x800D22F4; // type:func
sAdo_BgmFadeoutCheck = 0x800D2314; // type:func
-func_800D2334_jp = 0x800D2334; // type:func
-func_800D2354_jp = 0x800D2354; // type:func
-func_800D2360_jp = 0x800D2360; // type:func
+sAdo_SeFadeoutCheck = 0x800D2334; // type:func
+sAdo_SeStart = 0x800D2354; // type:func
+sAdo_SeStop= 0x800D2360; // type:func
sAdo_RoomType = 0x800D236C; // type:func
-func_800D2394_jp = 0x800D2394; // type:func
-func_800D23B4_jp = 0x800D23B4; // type:func
-func_800D2438_jp = 0x800D2438; // type:func
-func_800D24C4_jp = 0x800D24C4; // type:func
-func_800D24EC_jp = 0x800D24EC; // type:func
-func_800D252C_jp = 0x800D252C; // type:func
-func_800D2568_jp = 0x800D2568; // type:func
-func_800D2578_jp = 0x800D2578; // type:func
+sAdo_SoftReset = 0x800D2394; // type:func
+sAdo_Get_WalkLabel = 0x800D23B4; // type:func
+sAdo_Get_KokeruLabel = 0x800D2438; // type:func
+sAdo_SceneMode = 0x800D24C4; // type:func
+sAdo_RoomIncectPos = 0x800D24EC; // type:func
+sAdo_FurnitureInstPos = 0x800D252C; // type:func
+sAdo_Set_ongenpos_refuse_fg = 0x800D2568; // type:func
+sAdo_GameframeEnd_Check = 0x800D2578; // type:func
func_800D2590_jp = 0x800D2590; // type:func
func_800D25D0_jp = 0x800D25D0; // type:func
func_800D287C_jp = 0x800D287C; // type:func
@@ -4083,84 +4083,84 @@ func_800F8850_jp = 0x800F8850; // type:func
func_800F88BC_jp = 0x800F88BC; // type:func
func_800F88E8_jp = 0x800F88E8; // type:func
func_800F8984_jp = 0x800F8984; // type:func
-func_800F89C0_jp = 0x800F89C0; // type:func
+Na_GameFrame = 0x800F89C0; // type:func
func_800F8B2C_jp = 0x800F8B2C; // type:func
-func_800F8B4C_jp = 0x800F8B4C; // type:func
+Na_SoftReset = 0x800F8B4C; // type:func
func_800F8C94_jp = 0x800F8C94; // type:func
-func_800F8CE0_jp = 0x800F8CE0; // type:func
-func_800F8D08_jp = 0x800F8D08; // type:func
-func_800F8D24_jp = 0x800F8D24; // type:func
-func_800F8D40_jp = 0x800F8D40; // type:func
-func_800F8D5C_jp = 0x800F8D5C; // type:func
+Na_Tenki = 0x800F8CE0; // type:func
+Na_BgmStart = 0x800F8D08; // type:func
+Na_BgmCrossfadeStart = 0x800F8D24; // type:func
+Na_BgmStop = 0x800F8D40; // type:func
+Na_SysTrgStart = 0x800F8D5C; // type:func
func_800F8E24_jp = 0x800F8E24; // type:func
-func_800F8FC4_jp = 0x800F8FC4; // type:func
-func_800F9064_jp = 0x800F9064; // type:func
-func_800F9118_jp = 0x800F9118; // type:func
-func_800F9170_jp = 0x800F9170; // type:func
-func_800F91E0_jp = 0x800F91E0; // type:func
-func_800F91FC_jp = 0x800F91FC; // type:func
-func_800F9C24_jp = 0x800F9C24; // type:func
-func_800F9C44_jp = 0x800F9C44; // type:func
-func_800F9C54_jp = 0x800F9C54; // type:func
-func_800F9C60_jp = 0x800F9C60; // type:func
+Na_PlyWalkSe = 0x800F8FC4; // type:func
+Na_PlyWalkSeRoom = 0x800F9064; // type:func
+Na_NpcWalkSe = 0x800F9118; // type:func
+Na_NpcWalkSeRoom = 0x800F9170; // type:func
+Na_PlayerStatusLevel = 0x800F91E0; // type:func
+Na_VoiceSe = 0x800F91FC; // type:func
+Na_MessageStatus = 0x800F9C24; // type:func
+Na_MessageSpeed = 0x800F9C44; // type:func
+Na_MessageSpeedGet = 0x800F9C54; // type:func
+Na_OngenPos = 0x800F9C60; // type:func
func_800FA0AC_jp = 0x800FA0AC; // type:func
func_800FA2E0_jp = 0x800FA2E0; // type:func
-func_800FA2F0_jp = 0x800FA2F0; // type:func
-func_800FA354_jp = 0x800FA354; // type:func
-func_800FA498_jp = 0x800FA498; // type:func
-func_800FA510_jp = 0x800FA510; // type:func
-func_800FA520_jp = 0x800FA520; // type:func
-func_800FA580_jp = 0x800FA580; // type:func
-func_800FA720_jp = 0x800FA720; // type:func
-func_800FA7B0_jp = 0x800FA7B0; // type:func
-func_800FA88C_jp = 0x800FA88C; // type:func
-func_800FA92C_jp = 0x800FA92C; // type:func
-func_800FAA14_jp = 0x800FAA14; // type:func
-func_800FAB8C_jp = 0x800FAB8C; // type:func
-func_800FAC58_jp = 0x800FAC58; // type:func
-func_800FAC84_jp = 0x800FAC84; // type:func
-func_800FACC8_jp = 0x800FACC8; // type:func
-func_800FAD38_jp = 0x800FAD38; // type:func
-func_800FAE84_jp = 0x800FAE84; // type:func
-func_800FB128_jp = 0x800FB128; // type:func
-func_800FB234_jp = 0x800FB234; // type:func
-func_800FB29C_jp = 0x800FB29C; // type:func
-func_800FB2D8_jp = 0x800FB2D8; // type:func
-func_800FB350_jp = 0x800FB350; // type:func
-func_800FB39C_jp = 0x800FB39C; // type:func
-func_800FB3E8_jp = 0x800FB3E8; // type:func
-func_800FB744_jp = 0x800FB744; // type:func
-func_800FBA90_jp = 0x800FBA90; // type:func
-func_800FBB44_jp = 0x800FBB44; // type:func
-func_800FBB7C_jp = 0x800FBB7C; // type:func
-func_800FBBBC_jp = 0x800FBBBC; // type:func
-func_800FBCA8_jp = 0x800FBCA8; // type:func
+Na_OngenTrgStartSpeed = 0x800FA2F0; // type:func
+Na_OngenTrgStart = 0x800FA354; // type:func
+Na_SetOutMode = 0x800FA498; // type:func
+Na_SetVoiceMode = 0x800FA510; // type:func
+Na_FloorTrgStart = 0x800FA520; // type:func
+Na_SysLevStart = 0x800FA580; // type:func
+Na_SysLevStop = 0x800FA720; // type:func
+Na_Pause = 0x800FA7B0; // type:func
+Na_RhythmPos = 0x800FA88C; // type:func
+Na_SpecChange = 0x800FA92C; // type:func
+Na_MDPlayerPos = 0x800FAA14; // type:func
+Na_BGMVolume = 0x800FAB8C; // type:func
+Na_SubGameStart = 0x800FAC58; // type:func
+Na_SubGameEnd = 0x800FAC84; // type:func
+Na_SubGameOK = 0x800FACC8; // type:func
+Na_KishaStatusTrg = 0x800FAD38; // type:func
+Na_KishaStatusLevel = 0x800FAE84; // type:func
+Na_TTKK_ARM = 0x800FB128; // type:func
+Na_BgmMuteClear = 0x800FB234; // type:func
+Na_BgmFadeoutCheck = 0x800FB29C; // type:func
+Na_SeFadeoutCheck = 0x800FB2D8; // type:func
+Na_BgmTrOn = 0x800FB350; // type:func
+Na_BgmTrOff = 0x800FB39C; // type:func
+Na_SceneMode = 0x800FB3E8; // type:func
+Na_RoomIncectPos = 0x800FB744; // type:func
+Na_FurnitureInstPos = 0x800FBA90; // type:func
+Na_TrgSeEcho = 0x800FBB44; // type:func
+Na_LevSeEcho = 0x800FBB7C; // type:func
+Na_BGMFilter = 0x800FBBBC; // type:func
+Na_RoomType = 0x800FBCA8; // type:func
func_800FBD80_jp = 0x800FBD80; // type:func
func_800FBE20_jp = 0x800FBE20; // type:func
func_800FBEF4_jp = 0x800FBEF4; // type:func
func_800FBFF8_jp = 0x800FBFF8; // type:func
func_800FC02C_jp = 0x800FC02C; // type:func
func_800FC0B8_jp = 0x800FC0B8; // type:func
-func_800FC110_jp = 0x800FC110; // type:func
-func_800FC16C_jp = 0x800FC16C; // type:func
-func_800FC19C_jp = 0x800FC19C; // type:func
+Na_RhythmStart = 0x800FC110; // type:func
+Na_RhythmStop = 0x800FC16C; // type:func
+Na_RhythmAllStop = 0x800FC19C; // type:func
func_800FC1F0_jp = 0x800FC1F0; // type:func
-func_800FC254_jp = 0x800FC254; // type:func
-func_800FC3F0_jp = 0x800FC3F0; // type:func
+get_rhythm_buffer = 0x800FC254; // type:func
+Na_GetRhythmSubTrack = 0x800FC3F0; // type:func
func_800FC430_jp = 0x800FC430; // type:func
-func_800FC520_jp = 0x800FC520; // type:func
-func_800FC564_jp = 0x800FC564; // type:func
+Na_GetRhythmInfo = 0x800FC520; // type:func
+Na_SetRhythmInfo = 0x800FC564; // type:func
func_800FC5C8_jp = 0x800FC5C8; // type:func
func_800FC6A0_jp = 0x800FC6A0; // type:func
func_800FC920_jp = 0x800FC920; // type:func
func_800FCA40_jp = 0x800FCA40; // type:func
-func_800FCAD8_jp = 0x800FCAD8; // type:func
-func_800FCE80_jp = 0x800FCE80; // type:func
+Na_GetStaffRollInfo = 0x800FCAD8; // type:func
+Na_Inst = 0x800FCE80; // type:func
func_800FCEEC_jp = 0x800FCEEC; // type:func
-func_800FD0A4_jp = 0x800FD0A4; // type:func
+Na_InstCountGet = 0x800FD0A4; // type:func
func_800FD0D4_jp = 0x800FD0D4; // type:func
func_800FD13C_jp = 0x800FD13C; // type:func
-func_800FD170_jp = 0x800FD170; // type:func
+Na_FurnitureInst = 0x800FD170; // type:func
func_800FD280_jp = 0x800FD280; // type:func
D_800FD2D0_jp = 0x800FD2D0; //
func_800FE220_jp = 0x800FE220; // type:func
@@ -4976,7 +4976,7 @@ D_8010EF48_jp = 0x8010EF48; // type:u16
D_8010EF50_jp = 0x8010EF50; //
D_8010EF60_jp = 0x8010EF60; //
D_8010EF70_jp = 0x8010EF70; //
-D_8010EF80_jp = 0x8010EF80; //
+S_ongenpos_refuse_fg = 0x8010EF80; //
gamePT = 0x8010EF90; //
D_8010EFA0_jp = 0x8010EFA0; //
ResetStatus = 0x8010EFB0; //
diff --git a/src/code/audio.c b/src/code/audio.c
new file mode 100644
index 0000000..0b0cb9f
--- /dev/null
+++ b/src/code/audio.c
@@ -0,0 +1,453 @@
+#include "audio.h"
+#include "audio_load.h"
+#include "683030.h"
+#include "71A140.h"
+#include "71FA20.h"
+#include "720B20.h"
+#include "7205C0.h"
+#include "7206E0.h"
+#include "game.h"
+#include "m_lib.h"
+#include "sys_math_atan.h"
+
+s32 S_ongenpos_refuse_fg = 0;
+
+void sAdo_Calc_MicPosition_common(f32* distanceVal, u16* angleVal, xyz_t* pos) {
+ UNUSED s32 pad;
+ xyz_t* cameraPos;
+ f32 diff;
+ xyz_t posDiff;
+ s16 angle;
+
+ cameraPos = Camera2_getMicPos_p((Game_Play*)gamePT);
+
+ diff = pos->x - cameraPos->x;
+ posDiff.x = diff;
+ posDiff.z = pos->y - cameraPos->y;
+ posDiff.y = pos->z - cameraPos->z;
+
+ angle = atans_table(posDiff.y, posDiff.x);
+
+ if (distanceVal != NULL) {
+ *distanceVal = sqrtf((posDiff.x * posDiff.x) + (posDiff.z * posDiff.z) + (posDiff.y * posDiff.y));
+ }
+ if (angleVal != NULL) {
+ *angleVal = angle;
+ }
+}
+
+void sAdo_Calc_MicPosition_forTrig(f32* distanceVal, u16* angleVal, xyz_t* pos) {
+ sAdo_Calc_MicPosition_common(distanceVal, angleVal, pos);
+}
+
+void sAdo_Calc_MicPosition_forLevel(f32* distanceVal, u16* angleVal, xyz_t* pos) {
+ sAdo_Calc_MicPosition_common(distanceVal, angleVal, pos);
+}
+
+void sAdo_GameFrame(void) {
+ Na_GameFrame();
+}
+
+void func_800D19BC_jp(void) {
+ func_800F8984_jp();
+}
+
+void func_800D19DC_jp(void) {
+ func_800F8B2C_jp();
+}
+
+void sAdo_BgmStart(u8 id) {
+ Na_BgmStart(id);
+}
+
+void sAdo_BgmStop(u16 id) {
+ Na_BgmStop(id);
+}
+
+void sAdo_BgmTrOn(u8 id) {
+ Na_BgmTrOn(id);
+}
+
+void sAdo_BgmTrOff(u8 id) {
+ Na_BgmTrOff(id);
+}
+
+void sAdo_SysTrgStart(u16 id) {
+ Na_SysTrgStart(id);
+}
+
+void sAdo_PlyWalkSe(s32 arg0, xyz_t* pos) {
+ f32 distanceVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_forTrig(&distanceVal, &angleVal, pos);
+ Na_PlyWalkSe(arg0, angleVal, distanceVal);
+}
+
+void sAdo_PlyWalkSeRoom(s32 arg0, xyz_t* pos) {
+ f32 distanceVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_forTrig(&distanceVal, &angleVal, pos);
+ Na_PlyWalkSeRoom(arg0, angleVal, distanceVal);
+}
+
+void sAdo_NpcWalkSe(s32 arg0, xyz_t* pos) {
+ f32 distanceVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_forTrig(&distanceVal, &angleVal, pos);
+ Na_NpcWalkSe(arg0, angleVal, distanceVal);
+}
+
+void sAdo_NpcWalkSeRoom(u16 arg0, xyz_t* pos) {
+ f32 distanceVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_forTrig(&distanceVal, &angleVal, pos);
+ Na_NpcWalkSeRoom(arg0, angleVal, distanceVal);
+}
+
+void sAdo_PlayerStatusLevel(u8 arg0, f32 speed) {
+ Na_PlayerStatusLevel(arg0, speed);
+}
+
+void sAdo_VoiceSe(u8 arg0, s16 arg1, u8 arg2) {
+ Na_VoiceSe(arg0, arg1, arg2);
+}
+
+void sAdo_Inst(u8 num, u8* arg1) {
+ Na_Inst(num, arg1);
+}
+
+void sAdo_MessageStatus(u8 status) {
+ Na_MessageStatus(status);
+}
+
+void sAdo_MessageSpeed(u8 speed) {
+ Na_MessageSpeed(speed);
+}
+
+u8 sAdo_MessageSpeedGet(void) {
+ return Na_MessageSpeedGet();
+}
+
+void sAdo_SysLevStart(u8 id) {
+ Na_SysLevStart(id);
+}
+
+void sAdo_SysLevStop(u8 id) {
+ Na_SysLevStop(id);
+}
+
+void sAdo_OngenPos(s32 arg0, u8 arg1, xyz_t* pos) {
+ f32 distanceVal;
+ u16 angleVal;
+
+ if (S_ongenpos_refuse_fg == 0) {
+ sAdo_Calc_MicPosition_forLevel(&distanceVal, &angleVal, pos);
+ Na_OngenPos(arg0, arg1, angleVal, distanceVal);
+ }
+}
+
+void sAdo_OngenTrgStart(u16 id, xyz_t* pos) {
+ f32 distanceVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_forTrig(&distanceVal, &angleVal, pos);
+ Na_OngenTrgStart(id, angleVal, distanceVal);
+}
+
+void sAdo_SetOutMode(u8 mode) {
+ Na_SetOutMode(mode);
+}
+
+void sAdo_SetVoiceMode(u8 mode) {
+ Na_SetVoiceMode(mode);
+}
+
+void sAdo_FloorTrgStart(u8 id, xyz_t* pos) {
+ f32 distanceVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_forTrig(&distanceVal, &angleVal, pos);
+ Na_FloorTrgStart(id, angleVal, distanceVal);
+}
+
+void sAdo_RhythmStart(s32 arg0, s8 arg1, s8 arg2) {
+ Na_RhythmStart(arg0, arg1, arg2);
+}
+
+void sAdo_RhythmStop(void) {
+ Na_RhythmStop();
+}
+
+void sAdo_RhythmAllStop(void) {
+ Na_RhythmAllStop();
+}
+
+void sAdo_FurnitureInst(s32 distance, u8 trackId, s32 arg2, xyz_t* pos) {
+ f32 distanceVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_common(&distanceVal, &angleVal, pos);
+ Na_FurnitureInst(distance, trackId, arg2, angleVal, distanceVal);
+}
+
+void sAdo_Pause(u8 mode) {
+ Na_Pause(mode);
+}
+
+f32 sAdo_get_rhythm_buffer(void) {
+ return get_rhythm_buffer();
+}
+
+s16 sAdo_GetRhythmSubTrack(void) {
+ return Na_GetRhythmSubTrack();
+}
+
+void sAdo_GetRhythmInfo(void* arg0) {
+ Na_GetRhythmInfo(arg0);
+}
+
+void sAdo_SetRhythmInfo(void* arg0) {
+ Na_SetRhythmInfo(arg0);
+}
+
+s32 sAdo_InstCountGet(void) {
+ return Na_InstCountGet();
+}
+
+void sAdo_RhythmPos(s32 distance, u8 arg1, xyz_t* pos) {
+ f32 distanceVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_forLevel(&distanceVal, &angleVal, pos);
+ Na_RhythmPos(distance, arg1, angleVal, distanceVal);
+}
+
+void sAdo_SpecChange(s32 spec) {
+ Na_SpecChange(spec);
+}
+
+void sAdo_MDPlayerPos(xyz_t* pos, u16 arg1, u16 arg2, s32 arg3) {
+ u16 angleVal;
+ f32 distanceVal;
+
+ sAdo_Calc_MicPosition_common(&distanceVal, &angleVal, pos);
+ Na_MDPlayerPos(angleVal, distanceVal, arg1, arg2, arg3);
+}
+
+void sAdo_BGMVolume(f32 volume, u16 pan) {
+ Na_BGMVolume(volume, pan);
+}
+
+void sAdo_BgmCrossfadeStart(u8 arg0) {
+ Na_BgmCrossfadeStart(arg0);
+}
+
+void sAdo_SubGameStart(void) {
+ Na_SubGameStart();
+}
+
+void sAdo_SubGameEnd(void) {
+ Na_SubGameEnd();
+}
+
+s32 sAdo_SubGameOK(void) {
+ return Na_SubGameOK();
+}
+
+void sAdo_Tenki(u8 mode) {
+ Na_Tenki(mode);
+}
+
+void func_800D213C_jp(void) {
+ func_800EBF6C_jp();
+}
+
+void sAdos_KishaStatusTrg(u8 state) {
+
+ Na_KishaStatusTrg(state);
+}
+
+void sAdos_KishaStatusLevel(f32 arg0, s32 arg1, f32 arg2, u16 arg3, s32 arg4, f32 arg5, u16 arg6) {
+ Na_KishaStatusLevel(arg0, arg1, arg3, arg2, arg4, arg6, arg5);
+}
+
+s32 func_800D21CC_jp(void* arg0) {
+ return func_800FC920_jp(arg0);
+}
+
+void sAdos_GetStaffRollInfo(u16* arg0) {
+ Na_GetStaffRollInfo(arg0);
+}
+
+void sAdos_TTKK_ARM(u8 arg0) {
+ Na_TTKK_ARM(arg0);
+}
+
+void sAdo_OngenTrgStartSpeed(u16 num, xyz_t* pos, f32 speed) {
+ f32 distanceVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_forTrig(&distanceVal, &angleVal, pos);
+ Na_OngenTrgStartSpeed(num, angleVal, distanceVal, speed);
+}
+
+void sAdo_TrgSeEcho(u8 idx) {
+ Na_TrgSeEcho(idx);
+}
+
+void sAdo_LevSeEcho(u8 idx) {
+ Na_LevSeEcho(idx);
+}
+
+void sAdo_BGMFilter(u8 arg0) {
+ Na_BGMFilter(arg0);
+}
+
+void sAdo_BgmMuteClear(void) {
+ Na_BgmMuteClear();
+}
+
+u8 sAdo_BgmFadeoutCheck(void) {
+ return Na_BgmFadeoutCheck();
+}
+
+u8 sAdo_SeFadeoutCheck(void) {
+ return Na_SeFadeoutCheck();
+}
+
+void sAdo_SeStart(UNUSED s32 arg0) {
+}
+
+void sAdo_SeStop(UNUSED s32 arg0) {
+}
+
+void sAdo_RoomType(u8 type) {
+ Na_RoomType(type);
+}
+
+void sAdo_SoftReset(void) {
+ Na_SoftReset();
+}
+
+u16 sAdo_Get_WalkLabel(s32 type) {
+ u16 ret;
+ switch (type) {
+ case 0:
+ case 1:
+ case 2:
+ if (common_data.time.season != WINTER) {
+ ret = 0x201;
+ } else {
+ ret = 0x206;
+ }
+ break;
+
+ case 4:
+ case 5:
+ case 6:
+ ret = 0x202;
+ break;
+
+ case 7:
+ ret = 0x203;
+ break;
+
+ case 23:
+ ret = 0x204;
+ break;
+
+ case 9:
+ ret = 0x205;
+ break;
+
+ case 22:
+ ret = 0x208;
+ break;
+
+ case 11:
+ ret = 0x209;
+ break;
+
+ default:
+ ret = 0x202;
+ break;
+ }
+ return ret;
+}
+
+s32 sAdo_Get_KokeruLabel(s32 type) {
+ u16 label = sAdo_Get_WalkLabel(type);
+ s32 ret;
+
+ switch (label) {
+ case 0x201:
+ ret = 0xe;
+ break;
+
+ case 0x206:
+ ret = 0x13;
+ break;
+
+ case 0x202:
+ ret = 0xf;
+ break;
+
+ case 0x203:
+ ret = 0x10;
+ break;
+
+ case 0x204:
+ ret = 0x11;
+ break;
+
+ case 0x205:
+ ret = 0x12;
+ break;
+
+ case 0x208:
+ ret = 0x156;
+ break;
+
+ case 0x209:
+ ret = 0x157;
+ break;
+
+ default:
+ ret = 15;
+ break;
+ }
+ return ret;
+}
+
+void sAdo_SceneMode(u8 mode) {
+ Na_SceneMode(mode);
+}
+
+void sAdo_RoomIncectPos(s32 distance, u8 insectId, xyz_t* pos) {
+ f32 positionVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_forLevel(&positionVal, &angleVal, pos);
+ Na_RoomIncectPos(distance, insectId, angleVal, positionVal);
+}
+
+void sAdo_FurnitureInstPos(s32 distance, xyz_t* pos) {
+ f32 positionVal;
+ u16 angleVal;
+
+ sAdo_Calc_MicPosition_forLevel(&positionVal, &angleVal, pos);
+ Na_FurnitureInstPos(distance, angleVal, positionVal);
+}
+
+void sAdo_Set_ongenpos_refuse_fg(s32 state) {
+ S_ongenpos_refuse_fg = state;
+}
+
+s32 sAdo_GameframeEnd_Check(void) {
+ s32 check = S_ongenpos_refuse_fg;
+ return check;
+}
diff --git a/src/code/m_submenu.c b/src/code/m_submenu.c
index 53a03a0..3da3788 100644
--- a/src/code/m_submenu.c
+++ b/src/code/m_submenu.c
@@ -10,7 +10,7 @@
#include "sys_math3d.h"
#include "m_scene.h"
#include "m_quest.h"
-#include "6F5550.h"
+#include "audio.h"
#include "libc/stddef.h"
#include "attributes.h"
#include "segment_symbols.h"
diff --git a/src/overlays/actors/ovl_TrainDoor/ac_train_door.c b/src/overlays/actors/ovl_TrainDoor/ac_train_door.c
index c1419be..dc56f41 100644
--- a/src/overlays/actors/ovl_TrainDoor/ac_train_door.c
+++ b/src/overlays/actors/ovl_TrainDoor/ac_train_door.c
@@ -2,7 +2,7 @@
#include "m_actor_dlftbls.h"
#include "m_object.h"
#include "m_rcp.h"
-#include "6F5550.h"
+#include "audio.h"
#include "overlays/gamestates/ovl_play/m_play.h"
void aTRD_actor_ct(Actor* thisx, Game_Play* game_play);
diff --git a/src/overlays/gamestates/ovl_play/m_play.c b/src/overlays/gamestates/ovl_play/m_play.c
index 8e953b5..c47438b 100644
--- a/src/overlays/gamestates/ovl_play/m_play.c
+++ b/src/overlays/gamestates/ovl_play/m_play.c
@@ -8,7 +8,7 @@
#include "m_msg_main.h"
#include "m_debug.h"
#include "m_player_lib.h"
-#include "6F5550.h"
+#include "audio.h"
#include "6EC9E0.h"
#include "6EDD10.h"
#include "69E2C0.h"
@@ -227,15 +227,15 @@ void Game_play_fbdemo_wipe_move(Game_Play* game_play) {
S_se_endcheck_timeout--;
}
- if ((func_800D2334_jp(sp18, game_play) == 0) && (S_se_endcheck_timeout != 0)) {
+ if ((sAdo_SeFadeoutCheck() == 0) && (S_se_endcheck_timeout != 0)) {
sp20 = 0;
} else {
- func_800D2568_jp(1);
+ sAdo_Set_ongenpos_refuse_fg(1);
}
}
if (game_play->unk_1EE0 == 11) {
- func_800D2568_jp(2);
+ sAdo_Set_ongenpos_refuse_fg(2);
}
if (sp20 == 1) {
@@ -381,7 +381,7 @@ void play_init(Game* game) {
if (game_play && game_play && game_play) {}
game_resize_hyral(&game_play->state, 0x7D0000);
- func_800D2568_jp(0);
+ sAdo_Set_ongenpos_refuse_fg(0);
event_title_flag_on();
func_800C9010_jp();
mTM_set_season();
diff --git a/yamls/jp/code.yaml b/yamls/jp/code.yaml
index 0d083bb..59d42e6 100644
--- a/yamls/jp/code.yaml
+++ b/yamls/jp/code.yaml
@@ -88,7 +88,7 @@
- [0x6F2EE0, asm, code/PreRender]
- [0x6F5180, c, code/THA_GA]
- [0x6F5390, c, code/TwoHeadArena]
- - [0x6F5550, asm, code/6F5550]
+ - [0x6F5550, c, code/audio]
- [0x6F6230, asm, code/audioMgr]
- [0x6F68B0, asm, code/cfbinfo]
- [0x6F6AA0, c, code/game]
@@ -162,6 +162,7 @@
- [0x732740, data, code/732740]
- [0x732AF0, data, code/m_time]
- [0x732BA0, data, code/m_view]
+ - [0x732C20, .data, code/audio]
- [0x732C30, .data, code/game]
- [0x732C40, data, code/732C40]
- [0x732C50, .data, code/irqmgr]
@@ -230,7 +231,7 @@
- [0x73B7E0, rodata, code/73B7E0]
- [0x73B830, rodata, code/73B830]
- [0x73B880, rodata, code/73B880]
- - [0x73B890, rodata, code/73B890]
+ - [0x73B890, .rodata, code/audio]
- [0x73B920, rodata, code/73B920]
- [0x73B960, rodata, code/73B960]
- [0x73B980, .rodata, code/game]