summaryrefslogtreecommitdiff
path: root/src/code
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 /src/code
parent268c1f8c95fe092125fce01a339d5aae4776f1c0 (diff)
audio OK (#125)
* audio OK * format
Diffstat (limited to 'src/code')
-rw-r--r--src/code/audio.c453
-rw-r--r--src/code/m_submenu.c2
2 files changed, 454 insertions, 1 deletions
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"