From 5c83d2532c610dc9eb5fb4f36c250174c79964e4 Mon Sep 17 00:00:00 2001 From: lepelog Date: Fri, 19 Feb 2021 16:51:02 +0100 Subject: [PATCH] Decompile some SComponent data and some MSL_C.PPCEABI.bare.H headers (#115) * data for c_angle * data c_sxyz * partially migrated c_xyz data * c_xyz data * c_xyz data decomp * c_math data * c_math data * c_lib data, some cleanup * rename some unnamed functions and create header for them * header for string functions * format and fix fabsf * cleanup * remove more unneded function prototypes * move fpclassify to math.h --- asm/J2DGraph/J2DGrafContext.s | 4 +- asm/J2DGraph/J2DTevs.s | 32 ++--- asm/J2DGraph/J2DTextBox.s | 4 +- asm/J3DU/J3DUClipper.s | 2 +- asm/JMath/JMATrigonometric.s | 8 +- asm/JStudio/jstudio-math.s | 22 +-- asm/JStudio_JStage/object-light.s | 12 +- asm/card/CARDCreate.s | 2 +- asm/clib.s | 132 +++++++++--------- asm/d/a/d_a_obj.s | 2 +- asm/d/a/npc/d_a_npc_cd2.s | 4 +- asm/d/d_demo.s | 2 +- asm/d/d_drawlist.s | 2 +- asm/d/d_event.s | 4 +- asm/d/d_resorce.s | 6 +- asm/d/event/d_event_manager.s | 4 +- asm/d/file/d_file_select.s | 2 +- asm/d/map/path/d_map_path_dmap.s | 2 +- asm/d/menu/d_menu_collect.s | 2 +- asm/d/menu/dmap/d_menu_dmap_map.s | 20 +-- asm/dvd/dvdidutils.s | 4 +- asm/gx/GXLight.s | 2 +- asm/mtx/mtx.s | 10 +- asm/mtx/mtx44.s | 2 +- asm/mtx/quat.s | 12 +- asm/os/OSExec.s | 2 +- asm/rodata/rodata_c_xyz.s | 7 - asm/rodata/rodata_c_xyz_padding.s | 7 + asm/sdata2/c_angle.s | 51 ------- asm/sdata2/c_math.s | 51 ------- asm/sdata2/c_sxyz.s | 7 - asm/sdata2/c_xyz.s | 39 ------ ..._compositeFRCQ27JGadget44TVector_pointer.s | 2 +- ...Value__Q27JStudio19TFunctionValue_listFd.s | 2 +- ...iform__Q27JStudio13functionvalueFdPCdPCd.s | 2 +- include/JSystem/JStudio/functionvalue.h | 2 - .../JUtility/JUTGamePad/asm/func_802E1238.s | 2 +- .../SComponent/c_angle/asm/func_80271030.s | 13 -- .../SComponent/c_angle/asm/func_80271064.s | 13 -- .../SComponent/c_angle/asm/func_80271098.s | 13 -- .../SComponent/c_angle/asm/func_80271264.s | 20 --- .../SComponent/c_angle/asm/func_802712B4.s | 16 --- include/SComponent/c_math/asm/func_802675E4.s | 25 ---- include/SComponent/c_math/asm/func_80267674.s | 116 --------------- include/SComponent/c_math/asm/func_80267814.s | 18 --- include/SComponent/c_math/asm/func_8026786C.s | 58 -------- include/SComponent/c_math/asm/func_802679E4.s | 58 -------- include/SComponent/c_sxyz/asm/func_802674E8.s | 41 ------ include/SComponent/c_xyz.h | 21 ++- include/SComponent/c_xyz/asm/func_80266DC4.s | 78 ----------- .../Z2StatusMgr/asm/func_802B61E8.s | 4 +- include/c/cLib.h | 1 - include/d/d_attention/asm/func_800732B0.s | 2 +- include/d/d_camera/asm/func_80165238.s | 4 +- include/d/d_camera/asm/func_8017ADC0.s | 2 +- include/d/d_item/d_item/asm/func_8009B7C4.s | 2 +- include/d/d_kankyo/asm/func_8019D2C4.s | 2 +- include/d/d_kankyo/asm/func_8019F788.s | 12 +- .../d_kankyo_rain/asm/func_80062B4C.s | 8 +- .../d_kankyo_rain/asm/func_80063670.s | 8 +- .../d_kankyo_rain/asm/func_8006A090.s | 44 +++--- include/d/d_stage/asm/func_8002490C.s | 2 +- .../f/f_op/f_op_actor_mng/asm/func_8001D7A0.s | 2 +- include/global.h | 19 +-- include/msl_c/math.h | 64 +++++++++ include/msl_c/string.h | 20 +++ include/variables.h | 7 +- libs/JSystem/JKernel/JKRAram.cpp | 2 +- libs/JSystem/JKernel/JKRAramArchive.cpp | 2 +- libs/JSystem/JKernel/JKRArchivePri.cpp | 6 +- libs/JSystem/JKernel/JKRCompArchive.cpp | 2 +- libs/JSystem/JKernel/JKRDvdAramRipper.cpp | 2 +- libs/JSystem/JKernel/JKRDvdArchive.cpp | 2 +- libs/JSystem/JKernel/JKRDvdRipper.cpp | 2 +- libs/JSystem/JKernel/JKRFileCache.cpp | 8 +- libs/JSystem/JKernel/JKRMemArchive.cpp | 2 +- libs/JSystem/JStudio/functionvalue.cpp | 3 +- libs/JSystem/JUtility/JUTGamePad.cpp | 2 +- libs/SSystem/SComponent/c_angle.cpp | 117 +++++----------- libs/SSystem/SComponent/c_bg_s_poly_info.cpp | 5 - libs/SSystem/SComponent/c_lib.cpp | 12 +- libs/SSystem/SComponent/c_m3d.cpp | 2 +- libs/SSystem/SComponent/c_m3d_g_aab.cpp | 5 - libs/SSystem/SComponent/c_m3d_g_cir.cpp | 4 - libs/SSystem/SComponent/c_m3d_g_cps.cpp | 7 - libs/SSystem/SComponent/c_m3d_g_cyl.cpp | 8 -- libs/SSystem/SComponent/c_m3d_g_pla.cpp | 5 +- libs/SSystem/SComponent/c_m3d_g_sph.cpp | 7 - libs/SSystem/SComponent/c_m3d_g_tri.cpp | 7 - libs/SSystem/SComponent/c_math.cpp | 115 ++++++++------- libs/SSystem/SComponent/c_sxyz.cpp | 7 - libs/SSystem/SComponent/c_xyz.cpp | 103 ++++++++------ libs/Z2AudioLib/Z2Calc.cpp | 18 +-- libs/Z2AudioLib/Z2StatusMgr.cpp | 6 +- obj_files.mk | 7 +- src/d/d_attention.cpp | 5 +- src/d/d_camera.cpp | 5 +- src/d/d_com/d_com_inf_game.cpp | 4 +- src/d/d_item/d_item.cpp | 2 +- src/d/d_kankyo.cpp | 7 +- src/d/d_kankyo/d_kankyo_rain.cpp | 4 +- src/d/d_meter2/d_meter2_info.cpp | 4 +- src/d/d_save/d_save.cpp | 7 +- src/d/d_stage.cpp | 2 +- src/f/f_op/f_op_actor_mng.cpp | 2 +- src/m_Do/m_Do_MemCard.cpp | 2 +- src/m_Do/m_Do_MemCardRWmng.cpp | 3 +- src/m_Do/m_Do_controller_pad.cpp | 2 +- src/m_Do/m_Do_main.cpp | 3 +- src/m_Do/m_Do_mtx.cpp | 1 - 110 files changed, 513 insertions(+), 1173 deletions(-) delete mode 100644 asm/rodata/rodata_c_xyz.s create mode 100644 asm/rodata/rodata_c_xyz_padding.s delete mode 100644 asm/sdata2/c_angle.s delete mode 100644 asm/sdata2/c_math.s delete mode 100644 asm/sdata2/c_sxyz.s delete mode 100644 asm/sdata2/c_xyz.s delete mode 100644 include/SComponent/c_angle/asm/func_80271030.s delete mode 100644 include/SComponent/c_angle/asm/func_80271064.s delete mode 100644 include/SComponent/c_angle/asm/func_80271098.s delete mode 100644 include/SComponent/c_angle/asm/func_80271264.s delete mode 100644 include/SComponent/c_angle/asm/func_802712B4.s delete mode 100644 include/SComponent/c_math/asm/func_802675E4.s delete mode 100644 include/SComponent/c_math/asm/func_80267674.s delete mode 100644 include/SComponent/c_math/asm/func_80267814.s delete mode 100644 include/SComponent/c_math/asm/func_8026786C.s delete mode 100644 include/SComponent/c_math/asm/func_802679E4.s delete mode 100644 include/SComponent/c_sxyz/asm/func_802674E8.s delete mode 100644 include/SComponent/c_xyz/asm/func_80266DC4.s delete mode 100644 include/c/cLib.h create mode 100644 include/msl_c/math.h create mode 100644 include/msl_c/string.h diff --git a/asm/J2DGraph/J2DGrafContext.s b/asm/J2DGraph/J2DGrafContext.s index 10613a50968..b9d44d687e2 100644 --- a/asm/J2DGraph/J2DGrafContext.s +++ b/asm/J2DGraph/J2DGrafContext.s @@ -356,10 +356,10 @@ lbl_802E8FD8: /* 802E9014 002E5F54 C8 01 00 10 */ lfd f0, 0x10(r1) /* 802E9018 002E5F58 EF A0 08 28 */ fsubs f29, f0, f1 /* 802E901C 002E5F5C FC 20 F8 90 */ fmr f1, f31 -/* 802E9020 002E5F60 48 08 2E 9D */ bl func_8036BEBC +/* 802E9020 002E5F60 48 08 2E 9D */ bl ceil /* 802E9024 002E5F64 FF E0 08 18 */ frsp f31, f1 /* 802E9028 002E5F68 FC 20 F0 90 */ fmr f1, f30 -/* 802E902C 002E5F6C 48 08 2E 91 */ bl func_8036BEBC +/* 802E902C 002E5F6C 48 08 2E 91 */ bl ceil /* 802E9030 002E5F70 FC 00 08 18 */ frsp f0, f1 /* 802E9034 002E5F74 EC 20 E8 28 */ fsubs f1, f0, f29 /* 802E9038 002E5F78 48 07 90 75 */ bl __cvt_fp2unsigned diff --git a/asm/J2DGraph/J2DTevs.s b/asm/J2DGraph/J2DTevs.s index 5362b5385d2..cfa987768cc 100644 --- a/asm/J2DGraph/J2DTevs.s +++ b/asm/J2DGraph/J2DTevs.s @@ -70,13 +70,13 @@ J2DTexMtx_NS_getTextureMtx: /* 802E9D68 002E6CA8 C0 02 C7 6C */ lfs f0, lbl_8045616C-_SDA2_BASE_(r2) /* 802E9D6C 002E6CAC EF E1 00 24 */ fdivs f31, f1, f0 /* 802E9D70 002E6CB0 FC 20 F8 90 */ fmr f1, f31 -/* 802E9D74 002E6CB4 48 08 22 B5 */ bl func_8036C028 +/* 802E9D74 002E6CB4 48 08 22 B5 */ bl cos /* 802E9D78 002E6CB8 FC 20 08 18 */ frsp f1, f1 /* 802E9D7C 002E6CBC C0 1D 00 00 */ lfs f0, 0(r29) /* 802E9D80 002E6CC0 EC 00 00 72 */ fmuls f0, f0, f1 /* 802E9D84 002E6CC4 D0 1F 00 00 */ stfs f0, 0(r31) /* 802E9D88 002E6CC8 FC 20 F8 90 */ fmr f1, f31 -/* 802E9D8C 002E6CCC 48 08 28 05 */ bl func_8036C590 +/* 802E9D8C 002E6CCC 48 08 28 05 */ bl sin /* 802E9D90 002E6CD0 FC 20 08 18 */ frsp f1, f1 /* 802E9D94 002E6CD4 C0 1D 00 00 */ lfs f0, 0(r29) /* 802E9D98 002E6CD8 FC 00 00 50 */ fneg f0, f0 @@ -85,10 +85,10 @@ J2DTexMtx_NS_getTextureMtx: /* 802E9DA4 002E6CE4 C0 02 C7 70 */ lfs f0, lbl_80456170-_SDA2_BASE_(r2) /* 802E9DA8 002E6CE8 D0 1F 00 08 */ stfs f0, 8(r31) /* 802E9DAC 002E6CEC FC 20 F8 90 */ fmr f1, f31 -/* 802E9DB0 002E6CF0 48 08 27 E1 */ bl func_8036C590 +/* 802E9DB0 002E6CF0 48 08 27 E1 */ bl sin /* 802E9DB4 002E6CF4 FF C0 08 18 */ frsp f30, f1 /* 802E9DB8 002E6CF8 FC 20 F8 90 */ fmr f1, f31 -/* 802E9DBC 002E6CFC 48 08 22 6D */ bl func_8036C028 +/* 802E9DBC 002E6CFC 48 08 22 6D */ bl cos /* 802E9DC0 002E6D00 FC 20 08 18 */ frsp f1, f1 /* 802E9DC4 002E6D04 C0 7D 00 0C */ lfs f3, 0xc(r29) /* 802E9DC8 002E6D08 C0 BE 00 00 */ lfs f5, 0(r30) @@ -104,13 +104,13 @@ J2DTexMtx_NS_getTextureMtx: /* 802E9DF0 002E6D30 EC 03 00 2A */ fadds f0, f3, f0 /* 802E9DF4 002E6D34 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 802E9DF8 002E6D38 FC 20 F8 90 */ fmr f1, f31 -/* 802E9DFC 002E6D3C 48 08 27 95 */ bl func_8036C590 +/* 802E9DFC 002E6D3C 48 08 27 95 */ bl sin /* 802E9E00 002E6D40 FC 20 08 18 */ frsp f1, f1 /* 802E9E04 002E6D44 C0 1D 00 04 */ lfs f0, 4(r29) /* 802E9E08 002E6D48 EC 00 00 72 */ fmuls f0, f0, f1 /* 802E9E0C 002E6D4C D0 1F 00 10 */ stfs f0, 0x10(r31) /* 802E9E10 002E6D50 FC 20 F8 90 */ fmr f1, f31 -/* 802E9E14 002E6D54 48 08 22 15 */ bl func_8036C028 +/* 802E9E14 002E6D54 48 08 22 15 */ bl cos /* 802E9E18 002E6D58 FC 20 08 18 */ frsp f1, f1 /* 802E9E1C 002E6D5C C0 1D 00 04 */ lfs f0, 4(r29) /* 802E9E20 002E6D60 EC 00 00 72 */ fmuls f0, f0, f1 @@ -118,10 +118,10 @@ J2DTexMtx_NS_getTextureMtx: /* 802E9E28 002E6D68 C0 02 C7 70 */ lfs f0, lbl_80456170-_SDA2_BASE_(r2) /* 802E9E2C 002E6D6C D0 1F 00 18 */ stfs f0, 0x18(r31) /* 802E9E30 002E6D70 FC 20 F8 90 */ fmr f1, f31 -/* 802E9E34 002E6D74 48 08 21 F5 */ bl func_8036C028 +/* 802E9E34 002E6D74 48 08 21 F5 */ bl cos /* 802E9E38 002E6D78 FF C0 08 18 */ frsp f30, f1 /* 802E9E3C 002E6D7C FC 20 F8 90 */ fmr f1, f31 -/* 802E9E40 002E6D80 48 08 27 51 */ bl func_8036C590 +/* 802E9E40 002E6D80 48 08 27 51 */ bl sin /* 802E9E44 002E6D84 FC 60 08 18 */ frsp f3, f1 /* 802E9E48 002E6D88 C0 5D 00 10 */ lfs f2, 0x10(r29) /* 802E9E4C 002E6D8C C0 BE 00 04 */ lfs f5, 4(r30) @@ -172,13 +172,13 @@ J2DTexMtx_NS_getTextureMtxMaya: /* 802E9EF4 002E6E34 C0 02 C7 6C */ lfs f0, lbl_8045616C-_SDA2_BASE_(r2) /* 802E9EF8 002E6E38 EF E1 00 24 */ fdivs f31, f1, f0 /* 802E9EFC 002E6E3C FC 20 F8 90 */ fmr f1, f31 -/* 802E9F00 002E6E40 48 08 21 29 */ bl func_8036C028 +/* 802E9F00 002E6E40 48 08 21 29 */ bl cos /* 802E9F04 002E6E44 FC 20 08 18 */ frsp f1, f1 /* 802E9F08 002E6E48 C0 1E 00 00 */ lfs f0, 0(r30) /* 802E9F0C 002E6E4C EC 00 00 72 */ fmuls f0, f0, f1 /* 802E9F10 002E6E50 D0 1F 00 00 */ stfs f0, 0(r31) /* 802E9F14 002E6E54 FC 20 F8 90 */ fmr f1, f31 -/* 802E9F18 002E6E58 48 08 26 79 */ bl func_8036C590 +/* 802E9F18 002E6E58 48 08 26 79 */ bl sin /* 802E9F1C 002E6E5C FC 20 08 18 */ frsp f1, f1 /* 802E9F20 002E6E60 C0 1E 00 04 */ lfs f0, 4(r30) /* 802E9F24 002E6E64 EC 00 00 72 */ fmuls f0, f0, f1 @@ -186,10 +186,10 @@ J2DTexMtx_NS_getTextureMtxMaya: /* 802E9F2C 002E6E6C C0 02 C7 70 */ lfs f0, lbl_80456170-_SDA2_BASE_(r2) /* 802E9F30 002E6E70 D0 1F 00 08 */ stfs f0, 8(r31) /* 802E9F34 002E6E74 FC 20 F8 90 */ fmr f1, f31 -/* 802E9F38 002E6E78 48 08 26 59 */ bl func_8036C590 +/* 802E9F38 002E6E78 48 08 26 59 */ bl sin /* 802E9F3C 002E6E7C FF C0 08 18 */ frsp f30, f1 /* 802E9F40 002E6E80 FC 20 F8 90 */ fmr f1, f31 -/* 802E9F44 002E6E84 48 08 20 E5 */ bl func_8036C028 +/* 802E9F44 002E6E84 48 08 20 E5 */ bl cos /* 802E9F48 002E6E88 FC 20 08 18 */ frsp f1, f1 /* 802E9F4C 002E6E8C C0 62 C7 78 */ lfs f3, lbl_80456178-_SDA2_BASE_(r2) /* 802E9F50 002E6E90 C0 1E 00 0C */ lfs f0, 0xc(r30) @@ -204,14 +204,14 @@ J2DTexMtx_NS_getTextureMtxMaya: /* 802E9F74 002E6EB4 EC 03 00 2A */ fadds f0, f3, f0 /* 802E9F78 002E6EB8 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 802E9F7C 002E6EBC FC 20 F8 90 */ fmr f1, f31 -/* 802E9F80 002E6EC0 48 08 26 11 */ bl func_8036C590 +/* 802E9F80 002E6EC0 48 08 26 11 */ bl sin /* 802E9F84 002E6EC4 FC 20 08 18 */ frsp f1, f1 /* 802E9F88 002E6EC8 C0 1E 00 00 */ lfs f0, 0(r30) /* 802E9F8C 002E6ECC FC 00 00 50 */ fneg f0, f0 /* 802E9F90 002E6ED0 EC 00 00 72 */ fmuls f0, f0, f1 /* 802E9F94 002E6ED4 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 802E9F98 002E6ED8 FC 20 F8 90 */ fmr f1, f31 -/* 802E9F9C 002E6EDC 48 08 20 8D */ bl func_8036C028 +/* 802E9F9C 002E6EDC 48 08 20 8D */ bl cos /* 802E9FA0 002E6EE0 FC 20 08 18 */ frsp f1, f1 /* 802E9FA4 002E6EE4 C0 1E 00 04 */ lfs f0, 4(r30) /* 802E9FA8 002E6EE8 EC 00 00 72 */ fmuls f0, f0, f1 @@ -219,10 +219,10 @@ J2DTexMtx_NS_getTextureMtxMaya: /* 802E9FB0 002E6EF0 C0 02 C7 70 */ lfs f0, lbl_80456170-_SDA2_BASE_(r2) /* 802E9FB4 002E6EF4 D0 1F 00 18 */ stfs f0, 0x18(r31) /* 802E9FB8 002E6EF8 FC 20 F8 90 */ fmr f1, f31 -/* 802E9FBC 002E6EFC 48 08 20 6D */ bl func_8036C028 +/* 802E9FBC 002E6EFC 48 08 20 6D */ bl cos /* 802E9FC0 002E6F00 FF C0 08 18 */ frsp f30, f1 /* 802E9FC4 002E6F04 FC 20 F8 90 */ fmr f1, f31 -/* 802E9FC8 002E6F08 48 08 25 C9 */ bl func_8036C590 +/* 802E9FC8 002E6F08 48 08 25 C9 */ bl sin /* 802E9FCC 002E6F0C FC 20 08 18 */ frsp f1, f1 /* 802E9FD0 002E6F10 C0 62 C7 78 */ lfs f3, lbl_80456178-_SDA2_BASE_(r2) /* 802E9FD4 002E6F14 C0 1E 00 0C */ lfs f0, 0xc(r30) diff --git a/asm/J2DGraph/J2DTextBox.s b/asm/J2DGraph/J2DTextBox.s index 3daa18d6de0..bd5e62c8e21 100644 --- a/asm/J2DGraph/J2DTextBox.s +++ b/asm/J2DGraph/J2DTextBox.s @@ -484,7 +484,7 @@ lbl_802FFD58: /* 802FFD74 002FCCB4 41 82 00 24 */ beq lbl_802FFD98 /* 802FFD78 002FCCB8 7F 84 E3 78 */ mr r4, r28 /* 802FFD7C 002FCCBC 38 BD FF FF */ addi r5, r29, -1 -/* 802FFD80 002FCCC0 48 06 8D 69 */ bl func_80368AE8 +/* 802FFD80 002FCCC0 48 06 8D 69 */ bl strncpy /* 802FFD84 002FCCC4 38 80 00 00 */ li r4, 0 /* 802FFD88 002FCCC8 80 1B 01 24 */ lwz r0, 0x124(r27) /* 802FFD8C 002FCCCC 7C 60 EA 14 */ add r3, r0, r29 @@ -1225,7 +1225,7 @@ lbl_80300824: /* 80300830 002FD770 7F C4 F3 78 */ mr r4, r30 /* 80300834 002FD774 57 9E 04 3E */ clrlwi r30, r28, 0x10 /* 80300838 002FD778 38 BE FF FF */ addi r5, r30, -1 -/* 8030083C 002FD77C 48 06 82 AD */ bl func_80368AE8 +/* 8030083C 002FD77C 48 06 82 AD */ bl strncpy /* 80300840 002FD780 38 80 00 00 */ li r4, 0 /* 80300844 002FD784 80 1F 01 24 */ lwz r0, 0x124(r31) /* 80300848 002FD788 7C 60 F2 14 */ add r3, r0, r30 diff --git a/asm/J3DU/J3DUClipper.s b/asm/J3DU/J3DUClipper.s index a35fdaff8ed..599e39e9ae4 100644 --- a/asm/J3DU/J3DUClipper.s +++ b/asm/J3DU/J3DUClipper.s @@ -26,7 +26,7 @@ J3DUClipper_NS_calcViewFrustum: /* 802737B4 002706F4 C0 1E 00 4C */ lfs f0, 0x4c(r30) /* 802737B8 002706F8 EC 01 00 32 */ fmuls f0, f1, f0 /* 802737BC 002706FC EC 22 00 32 */ fmuls f1, f2, f0 -/* 802737C0 00270700 48 0F 8E A9 */ bl func_8036C668 +/* 802737C0 00270700 48 0F 8E A9 */ bl tan /* 802737C4 00270704 FC 00 08 18 */ frsp f0, f1 /* 802737C8 00270708 C0 3E 00 54 */ lfs f1, 0x54(r30) /* 802737CC 0027070C EC 81 00 32 */ fmuls f4, f1, f0 diff --git a/asm/JMath/JMATrigonometric.s b/asm/JMath/JMATrigonometric.s index 2d4042ab10b..215780a92f9 100644 --- a/asm/JMath/JMATrigonometric.s +++ b/asm/JMath/JMATrigonometric.s @@ -43,12 +43,12 @@ lbl_80339B60: /* 80339B74 00336AB4 FC 00 07 F2 */ fmul f0, f0, f31 /* 80339B78 00336AB8 FF 80 F0 24 */ fdiv f28, f0, f30 /* 80339B7C 00336ABC FC 20 E0 90 */ fmr f1, f28 -/* 80339B80 00336AC0 48 03 2A 11 */ bl func_8036C590 +/* 80339B80 00336AC0 48 03 2A 11 */ bl sin /* 80339B84 00336AC4 FC 00 08 18 */ frsp f0, f1 /* 80339B88 00336AC8 7F 7D FA 14 */ add r27, r29, r31 /* 80339B8C 00336ACC D0 1B 00 00 */ stfs f0, 0(r27) /* 80339B90 00336AD0 FC 20 E0 90 */ fmr f1, f28 -/* 80339B94 00336AD4 48 03 24 95 */ bl func_8036C028 +/* 80339B94 00336AD4 48 03 24 95 */ bl cos /* 80339B98 00336AD8 FC 00 08 18 */ frsp f0, f1 /* 80339B9C 00336ADC D0 1B 00 04 */ stfs f0, 4(r27) /* 80339BA0 00336AE0 3B 9C 00 01 */ addi r28, r28, 1 @@ -69,7 +69,7 @@ lbl_80339BCC: /* 80339BD8 00336B18 C8 01 00 08 */ lfd f0, 8(r1) /* 80339BDC 00336B1C FC 00 F8 28 */ fsub f0, f0, f31 /* 80339BE0 00336B20 FC 20 07 B2 */ fmul f1, f0, f30 -/* 80339BE4 00336B24 48 03 20 C1 */ bl func_8036BCA4 +/* 80339BE4 00336B24 48 03 20 C1 */ bl atan /* 80339BE8 00336B28 FC 00 08 18 */ frsp f0, f1 /* 80339BEC 00336B2C 7C 1D FD 2E */ stfsx f0, r29, r31 /* 80339BF0 00336B30 3B 9C 00 01 */ addi r28, r28, 1 @@ -95,7 +95,7 @@ lbl_80339C30: /* 80339C3C 00336B7C C8 01 00 08 */ lfd f0, 8(r1) /* 80339C40 00336B80 FC 00 F0 28 */ fsub f0, f0, f30 /* 80339C44 00336B84 FC 20 07 F2 */ fmul f1, f0, f31 -/* 80339C48 00336B88 48 03 2A B9 */ bl func_8036C700 +/* 80339C48 00336B88 48 03 2A B9 */ bl asin /* 80339C4C 00336B8C FC 00 08 18 */ frsp f0, f1 /* 80339C50 00336B90 7C 1E FD 2E */ stfsx f0, r30, r31 /* 80339C54 00336B94 3B 9C 00 01 */ addi r28, r28, 1 diff --git a/asm/JStudio/jstudio-math.s b/asm/JStudio/jstudio-math.s index 8cf1c7211f5..d9204f5f17c 100644 --- a/asm/JStudio/jstudio-math.s +++ b/asm/JStudio/jstudio-math.s @@ -27,26 +27,26 @@ JStudio_NS_math_NS_getRotation_xyz: /* 80285A28 00282968 C0 02 BA 68 */ lfs f0, lbl_80455468-_SDA2_BASE_(r2) /* 80285A2C 0028296C EF 60 00 72 */ fmuls f27, f0, f1 /* 80285A30 00282970 FC 20 D8 90 */ fmr f1, f27 -/* 80285A34 00282974 48 0E 65 F5 */ bl func_8036C028 +/* 80285A34 00282974 48 0E 65 F5 */ bl cos /* 80285A38 00282978 FF E0 08 18 */ frsp f31, f1 /* 80285A3C 0028297C FC 20 D8 90 */ fmr f1, f27 -/* 80285A40 00282980 48 0E 6B 51 */ bl func_8036C590 +/* 80285A40 00282980 48 0E 6B 51 */ bl sin /* 80285A44 00282984 FF C0 08 18 */ frsp f30, f1 /* 80285A48 00282988 C0 02 BA 68 */ lfs f0, lbl_80455468-_SDA2_BASE_(r2) /* 80285A4C 0028298C EF 60 07 32 */ fmuls f27, f0, f28 /* 80285A50 00282990 FC 20 D8 90 */ fmr f1, f27 -/* 80285A54 00282994 48 0E 65 D5 */ bl func_8036C028 +/* 80285A54 00282994 48 0E 65 D5 */ bl cos /* 80285A58 00282998 FF A0 08 18 */ frsp f29, f1 /* 80285A5C 0028299C FC 20 D8 90 */ fmr f1, f27 -/* 80285A60 002829A0 48 0E 6B 31 */ bl func_8036C590 +/* 80285A60 002829A0 48 0E 6B 31 */ bl sin /* 80285A64 002829A4 FF 80 08 18 */ frsp f28, f1 /* 80285A68 002829A8 C0 02 BA 68 */ lfs f0, lbl_80455468-_SDA2_BASE_(r2) /* 80285A6C 002829AC EF 40 06 B2 */ fmuls f26, f0, f26 /* 80285A70 002829B0 FC 20 D0 90 */ fmr f1, f26 -/* 80285A74 002829B4 48 0E 65 B5 */ bl func_8036C028 +/* 80285A74 002829B4 48 0E 65 B5 */ bl cos /* 80285A78 002829B8 FF 60 08 18 */ frsp f27, f1 /* 80285A7C 002829BC FC 20 D0 90 */ fmr f1, f26 -/* 80285A80 002829C0 48 0E 6B 11 */ bl func_8036C590 +/* 80285A80 002829C0 48 0E 6B 11 */ bl sin /* 80285A84 002829C4 FC 20 08 18 */ frsp f1, f1 /* 80285A88 002829C8 EC 5F 06 F2 */ fmuls f2, f31, f27 /* 80285A8C 002829CC EC 7F 00 72 */ fmuls f3, f31, f1 @@ -234,7 +234,7 @@ lbl_80285CE8: /* 80285D40 00282C80 4C 41 13 82 */ cror 2, 1, 2 /* 80285D44 00282C84 40 82 00 1C */ bne lbl_80285D60 /* 80285D48 00282C88 FC 20 08 50 */ fneg f1, f1 -/* 80285D4C 00282C8C 48 0E 69 D5 */ bl func_8036C720 +/* 80285D4C 00282C8C 48 0E 69 D5 */ bl atan2 /* 80285D50 00282C90 FF 80 08 90 */ fmr f28, f1 /* 80285D54 00282C94 C8 22 BA 88 */ lfd f1, lbl_80455488-_SDA2_BASE_(r2) /* 80285D58 00282C98 CB A2 BA 70 */ lfd f29, lbl_80455470-_SDA2_BASE_(r2) @@ -244,7 +244,7 @@ lbl_80285D60: /* 80285D64 00282CA4 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 80285D68 00282CA8 4C 40 13 82 */ cror 2, 0, 2 /* 80285D6C 00282CAC 40 82 00 18 */ bne lbl_80285D84 -/* 80285D70 00282CB0 48 0E 69 B1 */ bl func_8036C720 +/* 80285D70 00282CB0 48 0E 69 B1 */ bl atan2 /* 80285D74 00282CB4 FF 80 08 90 */ fmr f28, f1 /* 80285D78 00282CB8 C8 22 BA 90 */ lfd f1, lbl_80455490-_SDA2_BASE_(r2) /* 80285D7C 00282CBC CB A2 BA 70 */ lfd f29, lbl_80455470-_SDA2_BASE_(r2) @@ -252,14 +252,14 @@ lbl_80285D60: lbl_80285D84: /* 80285D84 00282CC4 FC 20 30 90 */ fmr f1, f6 /* 80285D88 00282CC8 FC 40 38 90 */ fmr f2, f7 -/* 80285D8C 00282CCC 48 0E 69 95 */ bl func_8036C720 +/* 80285D8C 00282CCC 48 0E 69 95 */ bl atan2 /* 80285D90 00282CD0 FF 80 08 90 */ fmr f28, f1 /* 80285D94 00282CD4 FC 20 E8 90 */ fmr f1, f29 /* 80285D98 00282CD8 FC 40 F0 90 */ fmr f2, f30 -/* 80285D9C 00282CDC 48 0E 69 85 */ bl func_8036C720 +/* 80285D9C 00282CDC 48 0E 69 85 */ bl atan2 /* 80285DA0 00282CE0 FF A0 08 90 */ fmr f29, f1 /* 80285DA4 00282CE4 FC 20 F8 50 */ fneg f1, f31 -/* 80285DA8 00282CE8 48 0E 69 59 */ bl func_8036C700 +/* 80285DA8 00282CE8 48 0E 69 59 */ bl asin lbl_80285DAC: /* 80285DAC 00282CEC C8 02 BA 98 */ lfd f0, lbl_80455498-_SDA2_BASE_(r2) /* 80285DB0 00282CF0 FF 9C 00 32 */ fmul f28, f28, f0 diff --git a/asm/JStudio_JStage/object-light.s b/asm/JStudio_JStage/object-light.s index 1370ae764f5..d96955b3754 100644 --- a/asm/JStudio_JStage/object-light.s +++ b/asm/JStudio_JStage/object-light.s @@ -244,11 +244,11 @@ lbl_8028CEB4: /* 8028CEBC 00289DFC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha /* 8028CEC0 00289E00 C3 E3 0A E0 */ lfs f31, lbl_80450AE0@l(r3) lbl_8028CEC4: -/* 8028CEC4 00289E04 48 0D F8 5D */ bl func_8036C720 +/* 8028CEC4 00289E04 48 0D F8 5D */ bl atan2 /* 8028CEC8 00289E08 FF A0 08 18 */ frsp f29, f1 /* 8028CECC 00289E0C FC 20 F0 90 */ fmr f1, f30 /* 8028CED0 00289E10 FC 40 F8 90 */ fmr f2, f31 -/* 8028CED4 00289E14 48 0D F8 4D */ bl func_8036C720 +/* 8028CED4 00289E14 48 0D F8 4D */ bl atan2 /* 8028CED8 00289E18 FC 40 08 18 */ frsp f2, f1 /* 8028CEDC 00289E1C 80 BE 00 08 */ lwz r5, 8(r30) .global JStudio_NS_TVariableValue_NS_update_immediate_ @@ -354,21 +354,21 @@ lbl_8028D058: /* 8028D064 00289FA4 C0 02 BB 0C */ lfs f0, lbl_8045550C-_SDA2_BASE_(r2) /* 8028D068 00289FA8 EF A0 00 72 */ fmuls f29, f0, f1 /* 8028D06C 00289FAC FC 20 E8 90 */ fmr f1, f29 -/* 8028D070 00289FB0 48 0D EF B9 */ bl func_8036C028 +/* 8028D070 00289FB0 48 0D EF B9 */ bl cos /* 8028D074 00289FB4 FF C0 08 18 */ frsp f30, f1 /* 8028D078 00289FB8 FC 20 E8 90 */ fmr f1, f29 -/* 8028D07C 00289FBC 48 0D F5 15 */ bl func_8036C590 +/* 8028D07C 00289FBC 48 0D F5 15 */ bl sin /* 8028D080 00289FC0 FF A0 08 18 */ frsp f29, f1 /* 8028D084 00289FC4 C0 02 BB 0C */ lfs f0, lbl_8045550C-_SDA2_BASE_(r2) /* 8028D088 00289FC8 EF E0 07 F2 */ fmuls f31, f0, f31 /* 8028D08C 00289FCC FC 20 F8 90 */ fmr f1, f31 -/* 8028D090 00289FD0 48 0D F5 01 */ bl func_8036C590 +/* 8028D090 00289FD0 48 0D F5 01 */ bl sin /* 8028D094 00289FD4 FC 00 08 18 */ frsp f0, f1 /* 8028D098 00289FD8 EC 1E 00 32 */ fmuls f0, f30, f0 /* 8028D09C 00289FDC D0 01 00 40 */ stfs f0, 0x40(r1) /* 8028D0A0 00289FE0 D3 A1 00 44 */ stfs f29, 0x44(r1) /* 8028D0A4 00289FE4 FC 20 F8 90 */ fmr f1, f31 -/* 8028D0A8 00289FE8 48 0D EF 81 */ bl func_8036C028 +/* 8028D0A8 00289FE8 48 0D EF 81 */ bl cos /* 8028D0AC 00289FEC FC 00 08 18 */ frsp f0, f1 /* 8028D0B0 00289FF0 EC 1E 00 32 */ fmuls f0, f30, f0 /* 8028D0B4 00289FF4 D0 01 00 48 */ stfs f0, 0x48(r1) diff --git a/asm/card/CARDCreate.s b/asm/card/CARDCreate.s index 80250f21eb3..a4353411281 100644 --- a/asm/card/CARDCreate.s +++ b/asm/card/CARDCreate.s @@ -213,7 +213,7 @@ lbl_803583C8: /* 803583F0 00355330 80 06 00 0C */ lwz r0, 0xc(r6) /* 803583F4 00355334 7C 1B 03 96 */ divwu r0, r27, r0 /* 803583F8 00355338 B0 07 00 38 */ sth r0, 0x38(r7) -/* 803583FC 0035533C 48 01 06 ED */ bl func_80368AE8 +/* 803583FC 0035533C 48 01 06 ED */ bl strncpy /* 80358400 00355340 80 81 00 1C */ lwz r4, 0x1c(r1) .global CreateCallbackFat /* 80358404 00355344 3C 60 80 36 */ lis r3, CreateCallbackFat@ha diff --git a/asm/clib.s b/asm/clib.s index d72e879fdeb..37451d1306a 100644 --- a/asm/clib.s +++ b/asm/clib.s @@ -2008,7 +2008,7 @@ lbl_80363438: lbl_80363448: /* 80363448 00360388 C8 21 00 08 */ lfd f1, 8(r1) /* 8036344C 0036038C 38 61 00 10 */ addi r3, r1, 0x10 -/* 80363450 00360390 48 00 8D F5 */ bl func_8036C244 +/* 80363450 00360390 48 00 8D F5 */ bl frexp /* 80363454 00360394 FF E0 08 90 */ fmr f31, f1 /* 80363458 00360398 DB E1 00 18 */ stfd f31, 0x18(r1) /* 8036345C 0036039C 81 01 00 1C */ lwz r8, 0x1c(r1) @@ -2090,9 +2090,9 @@ lbl_80363548: /* 80363558 00360498 48 00 01 25 */ bl func_8036367C /* 8036355C 0036049C FC 20 F8 90 */ fmr f1, f31 /* 80363560 003604A0 7F 43 D3 78 */ mr r3, r26 -/* 80363564 003604A4 48 00 8D 6D */ bl func_8036C2D0 +/* 80363564 003604A4 48 00 8D 6D */ bl ldexp /* 80363568 003604A8 38 61 00 30 */ addi r3, r1, 0x30 -/* 8036356C 003604AC 48 00 8F 29 */ bl func_8036C494 +/* 8036356C 003604AC 48 00 8F 29 */ bl modf /* 80363570 003604B0 C8 21 00 30 */ lfd f1, 0x30(r1) /* 80363574 003604B4 4B FF F1 FD */ bl func_80362770 /* 80363578 003604B8 3B 80 00 00 */ li r28, 0 @@ -5265,7 +5265,7 @@ lbl_8036604C: /* 80366058 00362F98 7F 65 DB 78 */ mr r5, r27 /* 8036605C 00362F9C 7C 7C FA 14 */ add r3, r28, r31 /* 80366060 00362FA0 38 81 00 0C */ addi r4, r1, 0xc -/* 80366064 00362FA4 48 00 2A 85 */ bl func_80368AE8 +/* 80366064 00362FA4 48 00 2A 85 */ bl strncpy /* 80366068 00362FA8 7F FF DA 14 */ add r31, r31, r27 lbl_8036606C: /* 8036606C 00362FAC 7C 1F E8 40 */ cmplw r31, r29 @@ -6020,7 +6020,7 @@ func_80366A28: lbl_80366A60: /* 80366A60 003639A0 7F 43 D3 78 */ mr r3, r26 /* 80366A64 003639A4 38 80 00 25 */ li r4, 0x25 -/* 80366A68 003639A8 48 00 1E BD */ bl func_80368924 +/* 80366A68 003639A8 48 00 1E BD */ bl strchr /* 80366A6C 003639AC 7C 79 1B 79 */ or. r25, r3, r3 /* 80366A70 003639B0 40 82 00 3C */ bne lbl_80366AAC /* 80366A74 003639B4 7F 43 D3 78 */ mr r3, r26 @@ -8283,8 +8283,8 @@ lbl_8036891C: /* 8036891C 0036585C 7C A3 2B 78 */ mr r3, r5 /* 80368920 00365860 4E 80 00 20 */ blr -.global func_80368924 -func_80368924: +.global strchr +strchr: /* 80368924 00365864 38 63 FF FF */ addi r3, r3, -1 /* 80368928 00365868 54 80 06 3E */ clrlwi r0, r4, 0x18 /* 8036892C 0036586C 48 00 00 0C */ b lbl_80368938 @@ -8300,8 +8300,8 @@ lbl_80368938: /* 8036894C 0036588C 38 60 00 00 */ li r3, 0 /* 80368950 00365890 4E 80 00 20 */ blr -.global func_80368954 -func_80368954: +.global strncmp +strncmp: /* 80368954 00365894 38 63 FF FF */ addi r3, r3, -1 /* 80368958 00365898 38 84 FF FF */ addi r4, r4, -1 /* 8036895C 0036589C 38 C5 00 01 */ addi r6, r5, 1 @@ -8429,8 +8429,8 @@ lbl_80368AD4: /* 80368AE0 00365A20 40 82 FF F4 */ bne lbl_80368AD4 /* 80368AE4 00365A24 4E 80 00 20 */ blr -.global func_80368AE8 -func_80368AE8: +.global strncpy +strncpy: /* 80368AE8 00365A28 38 84 FF FF */ addi r4, r4, -1 /* 80368AEC 00365A2C 38 C3 FF FF */ addi r6, r3, -1 /* 80368AF0 00365A30 38 A5 00 01 */ addi r5, r5, 1 @@ -9337,7 +9337,7 @@ lbl_8036975C: /* 8036975C 0036669C 3C 04 C0 10 */ addis r0, r4, 0xc010 /* 80369760 003666A0 7C 00 43 79 */ or. r0, r0, r8 /* 80369764 003666A4 40 82 00 0C */ bne lbl_80369770 -/* 80369768 003666A8 48 00 25 3D */ bl func_8036BCA4 +/* 80369768 003666A8 48 00 25 3D */ bl atan /* 8036976C 003666AC 48 00 01 F8 */ b lbl_80369964 lbl_80369770: /* 80369770 003666B0 7C E0 4B 79 */ or. r0, r7, r9 @@ -9458,7 +9458,7 @@ lbl_803698E0: /* 803698E4 00366824 C8 01 00 10 */ lfd f0, 0x10(r1) /* 803698E8 00366828 FC 01 00 24 */ fdiv f0, f1, f0 /* 803698EC 0036682C FC 20 02 10 */ fabs f1, f0 -/* 803698F0 00366830 48 00 23 B5 */ bl func_8036BCA4 +/* 803698F0 00366830 48 00 23 B5 */ bl atan /* 803698F4 00366834 D8 21 00 18 */ stfd f1, 0x18(r1) lbl_803698F8: /* 803698F8 00366838 2C 1F 00 01 */ cmpwi r31, 1 @@ -10452,7 +10452,7 @@ lbl_8036A5F4: /* 8036A6A4 003675E4 7C 00 22 14 */ add r0, r0, r4 /* 8036A6A8 003675E8 7C 00 A6 71 */ srawi. r0, r0, 0x14 /* 8036A6AC 003675EC 41 81 00 10 */ bgt lbl_8036A6BC -/* 8036A6B0 003675F0 48 00 1C 21 */ bl func_8036C2D0 +/* 8036A6B0 003675F0 48 00 1C 21 */ bl ldexp /* 8036A6B4 003675F4 D8 21 00 50 */ stfd f1, 0x50(r1) /* 8036A6B8 003675F8 48 00 00 10 */ b lbl_8036A6C8 lbl_8036A6BC: @@ -11036,10 +11036,10 @@ lbl_8036AEC8: /* 8036AF0C 00367E4C 42 00 FF BC */ bdnz lbl_8036AEC8 lbl_8036AF10: /* 8036AF10 00367E50 7F 43 D3 78 */ mr r3, r26 -/* 8036AF14 00367E54 48 00 13 BD */ bl func_8036C2D0 +/* 8036AF14 00367E54 48 00 13 BD */ bl ldexp /* 8036AF18 00367E58 FF 20 08 90 */ fmr f25, f1 /* 8036AF1C 00367E5C FC 3D 06 72 */ fmul f1, f29, f25 -/* 8036AF20 00367E60 48 00 11 DD */ bl func_8036C0FC +/* 8036AF20 00367E60 48 00 11 DD */ bl floor /* 8036AF24 00367E64 FF 3E C8 7C */ fnmsub f25, f30, f1, f25 /* 8036AF28 00367E68 92 61 02 40 */ stw r19, 0x240(r1) /* 8036AF2C 00367E6C 2C 1A 00 00 */ cmpwi r26, 0 @@ -11138,7 +11138,7 @@ lbl_8036B068: /* 8036B078 00367FB8 FF 21 C8 28 */ fsub f25, f1, f25 /* 8036B07C 00367FBC 41 82 00 10 */ beq lbl_8036B08C /* 8036B080 00367FC0 7F 43 D3 78 */ mr r3, r26 -/* 8036B084 00367FC4 48 00 12 4D */ bl func_8036C2D0 +/* 8036B084 00367FC4 48 00 12 4D */ bl ldexp /* 8036B088 00367FC8 FF 39 08 28 */ fsub f25, f25, f1 lbl_8036B08C: /* 8036B08C 00367FCC FC 1F C8 00 */ fcmpu cr0, f31, f25 @@ -11329,7 +11329,7 @@ lbl_8036B324: lbl_8036B334: /* 8036B334 00368274 FC 20 C8 90 */ fmr f1, f25 /* 8036B338 00368278 7C 7A 00 D0 */ neg r3, r26 -/* 8036B33C 0036827C 48 00 0F 95 */ bl func_8036C2D0 +/* 8036B33C 0036827C 48 00 0F 95 */ bl ldexp /* 8036B340 00368280 C8 62 D0 18 */ lfd f3, lbl_80456A18-_SDA2_BASE_(r2) /* 8036B344 00368284 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 8036B348 00368288 4C 41 13 82 */ cror 2, 1, 2 @@ -11371,7 +11371,7 @@ lbl_8036B3BC: lbl_8036B3D4: /* 8036B3D4 00368314 C8 22 D0 38 */ lfd f1, lbl_80456A38-_SDA2_BASE_(r2) /* 8036B3D8 00368318 7F 43 D3 78 */ mr r3, r26 -/* 8036B3DC 0036831C 48 00 0E F5 */ bl func_8036C2D0 +/* 8036B3DC 0036831C 48 00 0E F5 */ bl ldexp /* 8036B3E0 00368320 2C 1F 00 00 */ cmpwi r31, 0 /* 8036B3E4 00368324 57 E0 10 3A */ slwi r0, r31, 2 /* 8036B3E8 00368328 38 C1 00 08 */ addi r6, r1, 8 @@ -11995,8 +11995,8 @@ lbl_8036BC94: /* 8036BC9C 00368BDC 38 21 00 40 */ addi r1, r1, 0x40 /* 8036BCA0 00368BE0 4E 80 00 20 */ blr -.global func_8036BCA4 -func_8036BCA4: +.global atan +atan: /* 8036BCA4 00368BE4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036BCA8 00368BE8 3C 60 80 3A */ lis r3, lbl_803A25F0@ha /* 8036BCAC 00368BEC 3C 00 44 10 */ lis r0, 0x4410 @@ -12144,8 +12144,8 @@ lbl_8036BEB4: /* 8036BEB4 00368DF4 38 21 00 10 */ addi r1, r1, 0x10 /* 8036BEB8 00368DF8 4E 80 00 20 */ blr -.global func_8036BEBC -func_8036BEBC: +.global ceil +ceil: /* 8036BEBC 00368DFC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036BEC0 00368E00 D8 21 00 08 */ stfd f1, 8(r1) /* 8036BEC4 00368E04 80 A1 00 08 */ lwz r5, 8(r1) @@ -12240,8 +12240,8 @@ lbl_8036BFF8: /* 8036BFF8 00368F38 38 21 00 10 */ addi r1, r1, 0x10 /* 8036BFFC 00368F3C 4E 80 00 20 */ blr -.global func_8036C000 -func_8036C000: +.global copysign +copysign: /* 8036C000 00368F40 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8036C004 00368F44 D8 21 00 08 */ stfd f1, 8(r1) /* 8036C008 00368F48 D8 41 00 10 */ stfd f2, 0x10(r1) @@ -12253,8 +12253,8 @@ func_8036C000: /* 8036C020 00368F60 38 21 00 20 */ addi r1, r1, 0x20 /* 8036C024 00368F64 4E 80 00 20 */ blr -.global func_8036C028 -func_8036C028: +.global cos +cos: /* 8036C028 00368F68 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8036C02C 00368F6C 7C 08 02 A6 */ mflr r0 /* 8036C030 00368F70 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha @@ -12317,8 +12317,8 @@ lbl_8036C0EC: /* 8036C0F4 00369034 38 21 00 20 */ addi r1, r1, 0x20 /* 8036C0F8 00369038 4E 80 00 20 */ blr -.global func_8036C0FC -func_8036C0FC: +.global floor +floor: /* 8036C0FC 0036903C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C100 00369040 D8 21 00 08 */ stfd f1, 8(r1) /* 8036C104 00369044 80 A1 00 08 */ lwz r5, 8(r1) @@ -12414,8 +12414,8 @@ lbl_8036C23C: /* 8036C23C 0036917C 38 21 00 10 */ addi r1, r1, 0x10 /* 8036C240 00369180 4E 80 00 20 */ blr -.global func_8036C244 -func_8036C244: +.global frexp +frexp: /* 8036C244 00369184 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C248 00369188 38 80 00 00 */ li r4, 0 /* 8036C24C 0036918C 3C 00 7F F0 */ lis r0, 0x7ff0 @@ -12456,8 +12456,8 @@ lbl_8036C2C8: /* 8036C2C8 00369208 38 21 00 10 */ addi r1, r1, 0x10 /* 8036C2CC 0036920C 4E 80 00 20 */ blr -.global func_8036C2D0 -func_8036C2D0: +.global ldexp +ldexp: /* 8036C2D0 00369210 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8036C2D4 00369214 7C 08 02 A6 */ mflr r0 /* 8036C2D8 00369218 D8 21 00 10 */ stfd f1, 0x10(r1) @@ -12541,7 +12541,7 @@ lbl_8036C3D8: /* 8036C3E0 00369320 40 81 00 1C */ ble lbl_8036C3FC /* 8036C3E4 00369324 C8 22 D1 28 */ lfd f1, lbl_80456B28-_SDA2_BASE_(r2) /* 8036C3E8 00369328 C8 41 00 08 */ lfd f2, 8(r1) -/* 8036C3EC 0036932C 4B FF FC 15 */ bl func_8036C000 +/* 8036C3EC 0036932C 4B FF FC 15 */ bl copysign /* 8036C3F0 00369330 C8 02 D1 28 */ lfd f0, lbl_80456B28-_SDA2_BASE_(r2) /* 8036C3F4 00369334 FC 20 00 72 */ fmul f1, f0, f1 /* 8036C3F8 00369338 48 00 00 8C */ b lbl_8036C484 @@ -12563,14 +12563,14 @@ lbl_8036C41C: /* 8036C430 00369370 40 81 00 1C */ ble lbl_8036C44C /* 8036C434 00369374 C8 22 D1 28 */ lfd f1, lbl_80456B28-_SDA2_BASE_(r2) /* 8036C438 00369378 C8 41 00 08 */ lfd f2, 8(r1) -/* 8036C43C 0036937C 4B FF FB C5 */ bl func_8036C000 +/* 8036C43C 0036937C 4B FF FB C5 */ bl copysign /* 8036C440 00369380 C8 02 D1 28 */ lfd f0, lbl_80456B28-_SDA2_BASE_(r2) /* 8036C444 00369384 FC 20 00 72 */ fmul f1, f0, f1 /* 8036C448 00369388 48 00 00 3C */ b lbl_8036C484 lbl_8036C44C: /* 8036C44C 0036938C C8 22 D1 20 */ lfd f1, lbl_80456B20-_SDA2_BASE_(r2) /* 8036C450 00369390 C8 41 00 08 */ lfd f2, 8(r1) -/* 8036C454 00369394 4B FF FB AD */ bl func_8036C000 +/* 8036C454 00369394 4B FF FB AD */ bl copysign /* 8036C458 00369398 C8 02 D1 20 */ lfd f0, lbl_80456B20-_SDA2_BASE_(r2) /* 8036C45C 0036939C FC 20 00 72 */ fmul f1, f0, f1 /* 8036C460 003693A0 48 00 00 24 */ b lbl_8036C484 @@ -12589,8 +12589,8 @@ lbl_8036C484: /* 8036C48C 003693CC 38 21 00 20 */ addi r1, r1, 0x20 /* 8036C490 003693D0 4E 80 00 20 */ blr -.global func_8036C494 -func_8036C494: +.global modf +modf: /* 8036C494 003693D4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C498 003693D8 D8 21 00 08 */ stfd f1, 8(r1) /* 8036C49C 003693DC 80 A1 00 08 */ lwz r5, 8(r1) @@ -12661,8 +12661,8 @@ lbl_8036C588: /* 8036C588 003694C8 38 21 00 10 */ addi r1, r1, 0x10 /* 8036C58C 003694CC 4E 80 00 20 */ blr -.global func_8036C590 -func_8036C590: +.global sin +sin: /* 8036C590 003694D0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8036C594 003694D4 7C 08 02 A6 */ mflr r0 /* 8036C598 003694D8 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha @@ -12726,8 +12726,8 @@ lbl_8036C658: /* 8036C660 003695A0 38 21 00 20 */ addi r1, r1, 0x20 /* 8036C664 003695A4 4E 80 00 20 */ blr -.global func_8036C668 -func_8036C668: +.global tan +tan: /* 8036C668 003695A8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8036C66C 003695AC 7C 08 02 A6 */ mflr r0 /* 8036C670 003695B0 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha @@ -12762,8 +12762,8 @@ lbl_8036C6D0: /* 8036C6D8 00369618 38 21 00 20 */ addi r1, r1, 0x20 /* 8036C6DC 0036961C 4E 80 00 20 */ blr -.global func_8036C6E0 -func_8036C6E0: +.global acos +acos: /* 8036C6E0 00369620 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C6E4 00369624 7C 08 02 A6 */ mflr r0 /* 8036C6E8 00369628 90 01 00 14 */ stw r0, 0x14(r1) @@ -12773,8 +12773,8 @@ func_8036C6E0: /* 8036C6F8 00369638 38 21 00 10 */ addi r1, r1, 0x10 /* 8036C6FC 0036963C 4E 80 00 20 */ blr -.global func_8036C700 -func_8036C700: +.global asin +asin: /* 8036C700 00369640 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C704 00369644 7C 08 02 A6 */ mflr r0 /* 8036C708 00369648 90 01 00 14 */ stw r0, 0x14(r1) @@ -12784,8 +12784,8 @@ func_8036C700: /* 8036C718 00369658 38 21 00 10 */ addi r1, r1, 0x10 /* 8036C71C 0036965C 4E 80 00 20 */ blr -.global func_8036C720 -func_8036C720: +.global atan2 +atan2: /* 8036C720 00369660 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C724 00369664 7C 08 02 A6 */ mflr r0 /* 8036C728 00369668 90 01 00 14 */ stw r0, 0x14(r1) @@ -12795,8 +12795,8 @@ func_8036C720: /* 8036C738 00369678 38 21 00 10 */ addi r1, r1, 0x10 /* 8036C73C 0036967C 4E 80 00 20 */ blr -.global func_8036C740 -func_8036C740: +.global exp +exp: /* 8036C740 00369680 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C744 00369684 7C 08 02 A6 */ mflr r0 /* 8036C748 00369688 90 01 00 14 */ stw r0, 0x14(r1) @@ -12806,8 +12806,8 @@ func_8036C740: /* 8036C758 00369698 38 21 00 10 */ addi r1, r1, 0x10 /* 8036C75C 0036969C 4E 80 00 20 */ blr -.global func_8036C760 -func_8036C760: +.global fmod +fmod: /* 8036C760 003696A0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C764 003696A4 7C 08 02 A6 */ mflr r0 /* 8036C768 003696A8 90 01 00 14 */ stw r0, 0x14(r1) @@ -12817,8 +12817,8 @@ func_8036C760: /* 8036C778 003696B8 38 21 00 10 */ addi r1, r1, 0x10 /* 8036C77C 003696BC 4E 80 00 20 */ blr -.global func_8036C780 -func_8036C780: +.global pow +pow: /* 8036C780 003696C0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C784 003696C4 7C 08 02 A6 */ mflr r0 /* 8036C788 003696C8 90 01 00 14 */ stw r0, 0x14(r1) @@ -12990,48 +12990,48 @@ lbl_8036C9BC: /* 8036C9BC 003698FC 38 21 00 20 */ addi r1, r1, 0x20 /* 8036C9C0 00369900 4E 80 00 20 */ blr -.global func_8036C9C4 -func_8036C9C4: +.global tanf +tanf: /* 8036C9C4 00369904 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C9C8 00369908 7C 08 02 A6 */ mflr r0 /* 8036C9CC 0036990C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036C9D0 00369910 4B FF FC 99 */ bl func_8036C668 +/* 8036C9D0 00369910 4B FF FC 99 */ bl tan /* 8036C9D4 00369914 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036C9D8 00369918 FC 20 08 18 */ frsp f1, f1 /* 8036C9DC 0036991C 7C 08 03 A6 */ mtlr r0 /* 8036C9E0 00369920 38 21 00 10 */ addi r1, r1, 0x10 /* 8036C9E4 00369924 4E 80 00 20 */ blr -.global func_8036C9E8 -func_8036C9E8: +.global sinf +sinf: /* 8036C9E8 00369928 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036C9EC 0036992C 7C 08 02 A6 */ mflr r0 /* 8036C9F0 00369930 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036C9F4 00369934 4B FF FB 9D */ bl func_8036C590 +/* 8036C9F4 00369934 4B FF FB 9D */ bl sin /* 8036C9F8 00369938 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036C9FC 0036993C FC 20 08 18 */ frsp f1, f1 /* 8036CA00 00369940 7C 08 03 A6 */ mtlr r0 /* 8036CA04 00369944 38 21 00 10 */ addi r1, r1, 0x10 /* 8036CA08 00369948 4E 80 00 20 */ blr -.global func_8036CA0C -func_8036CA0C: +.global cosf +cosf: /* 8036CA0C 0036994C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036CA10 00369950 7C 08 02 A6 */ mflr r0 /* 8036CA14 00369954 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036CA18 00369958 4B FF F6 11 */ bl func_8036C028 +/* 8036CA18 00369958 4B FF F6 11 */ bl cos /* 8036CA1C 0036995C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036CA20 00369960 FC 20 08 18 */ frsp f1, f1 /* 8036CA24 00369964 7C 08 03 A6 */ mtlr r0 /* 8036CA28 00369968 38 21 00 10 */ addi r1, r1, 0x10 /* 8036CA2C 0036996C 4E 80 00 20 */ blr -.global func_8036CA30 -func_8036CA30: +.global acosf +acosf: /* 8036CA30 00369970 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036CA34 00369974 7C 08 02 A6 */ mflr r0 /* 8036CA38 00369978 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036CA3C 0036997C 4B FF FC A5 */ bl func_8036C6E0 +/* 8036CA3C 0036997C 4B FF FC A5 */ bl acos /* 8036CA40 00369980 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036CA44 00369984 FC 20 08 18 */ frsp f1, f1 /* 8036CA48 00369988 7C 08 03 A6 */ mtlr r0 diff --git a/asm/d/a/d_a_obj.s b/asm/d/a/d_a_obj.s index f860c1d4c18..86143a11ddb 100644 --- a/asm/d/a/d_a_obj.s +++ b/asm/d/a/d_a_obj.s @@ -540,7 +540,7 @@ lbl_80037748: /* 8003783C 0003477C 38 63 0D 24 */ addi r3, r3, lbl_80430D24@l /* 80037840 00034780 38 81 00 20 */ addi r4, r1, 0x20 /* 80037844 00034784 48 30 F9 51 */ bl PSVECDotProduct -/* 80037848 00034788 48 33 4E 99 */ bl func_8036C6E0 +/* 80037848 00034788 48 33 4E 99 */ bl acos /* 8003784C 0003478C FF E0 08 18 */ frsp f31, f1 /* 80037850 00034790 C0 02 83 A0 */ lfs f0, lbl_80451DA0-_SDA2_BASE_(r2) /* 80037854 00034794 FC 1E 00 40 */ fcmpo cr0, f30, f0 diff --git a/asm/d/a/npc/d_a_npc_cd2.s b/asm/d/a/npc/d_a_npc_cd2.s index c0950d1a2da..93d30600526 100644 --- a/asm/d/a/npc/d_a_npc_cd2.s +++ b/asm/d/a/npc/d_a_npc_cd2.s @@ -1915,7 +1915,7 @@ lbl_80159894: /* 80159898 001567D8 41 82 00 2C */ beq lbl_801598C4 /* 8015989C 001567DC C8 22 9B 10 */ lfd f1, lbl_80453510-_SDA2_BASE_(r2) /* 801598A0 001567E0 C8 42 9B 18 */ lfd f2, lbl_80453518-_SDA2_BASE_(r2) -/* 801598A4 001567E4 48 21 2E DD */ bl func_8036C780 +/* 801598A4 001567E4 48 21 2E DD */ bl pow /* 801598A8 001567E8 FF E0 08 18 */ frsp f31, f1 /* 801598AC 001567EC 7F A3 EB 78 */ mr r3, r29 /* 801598B0 001567F0 80 9F 5D AC */ lwz r4, 0x5dac(r31) @@ -2783,7 +2783,7 @@ lbl_8015A468: /* 8015A494 001573D4 41 82 00 24 */ beq lbl_8015A4B8 /* 8015A498 001573D8 C8 22 9B 48 */ lfd f1, lbl_80453548-_SDA2_BASE_(r2) /* 8015A49C 001573DC C8 42 9B 18 */ lfd f2, lbl_80453518-_SDA2_BASE_(r2) -/* 8015A4A0 001573E0 48 21 22 E1 */ bl func_8036C780 +/* 8015A4A0 001573E0 48 21 22 E1 */ bl pow /* 8015A4A4 001573E4 FC 20 08 18 */ frsp f1, f1 /* 8015A4A8 001573E8 C0 01 00 10 */ lfs f0, 0x10(r1) /* 8015A4AC 001573EC FC 00 08 40 */ fcmpo cr0, f0, f1 diff --git a/asm/d/d_demo.s b/asm/d/d_demo.s index 374bb9c1a13..be9d4a588c1 100644 --- a/asm/d/d_demo.s +++ b/asm/d/d_demo.s @@ -1700,7 +1700,7 @@ lbl_80039570: /* 80039598 000364D8 38 84 97 F8 */ addi r4, r4, lbl_803797F8@l /* 8003959C 000364DC 38 84 00 02 */ addi r4, r4, 2 /* 800395A0 000364E0 38 A0 00 05 */ li r5, 5 -/* 800395A4 000364E4 48 32 F3 B1 */ bl func_80368954 +/* 800395A4 000364E4 48 32 F3 B1 */ bl strncmp /* 800395A8 000364E8 2C 03 00 00 */ cmpwi r3, 0 /* 800395AC 000364EC 40 82 00 40 */ bne lbl_800395EC /* 800395B0 000364F0 7F A3 EB 78 */ mr r3, r29 diff --git a/asm/d/d_drawlist.s b/asm/d/d_drawlist.s index 527c7bc2336..7701c11c961 100644 --- a/asm/d/d_drawlist.s +++ b/asm/d/d_drawlist.s @@ -2313,7 +2313,7 @@ cM_rnd_c_NS_get: /* 80053DB4 00050CF4 EC 02 00 2A */ fadds f0, f2, f0 /* 80053DB8 00050CF8 EC 23 00 2A */ fadds f1, f3, f0 /* 80053DBC 00050CFC C8 42 86 40 */ lfd f2, lbl_80452040-_SDA2_BASE_(r2) -/* 80053DC0 00050D00 48 31 89 A1 */ bl func_8036C760 +/* 80053DC0 00050D00 48 31 89 A1 */ bl fmod /* 80053DC4 00050D04 FC 00 08 18 */ frsp f0, f1 /* 80053DC8 00050D08 FC 00 02 10 */ fabs f0, f0 /* 80053DCC 00050D0C FC 20 00 18 */ frsp f1, f0 diff --git a/asm/d/d_event.s b/asm/d/d_event.s index ea2e94fd2d5..f3a143a336e 100644 --- a/asm/d/d_event.s +++ b/asm/d/d_event.s @@ -1962,13 +1962,13 @@ lbl_80042F38: /* 80042F44 0003FE84 38 61 00 08 */ addi r3, r1, 8 /* 80042F48 0003FE88 38 9F 4E 00 */ addi r4, r31, 0x4e00 /* 80042F4C 0003FE8C 38 A0 00 07 */ li r5, 7 -/* 80042F50 0003FE90 48 32 5B 99 */ bl func_80368AE8 +/* 80042F50 0003FE90 48 32 5B 99 */ bl strncpy /* 80042F54 0003FE94 38 00 00 00 */ li r0, 0 /* 80042F58 0003FE98 98 01 00 0F */ stb r0, 0xf(r1) /* 80042F5C 0003FE9C 38 7F 5F 5C */ addi r3, r31, 0x5f5c /* 80042F60 0003FEA0 38 81 00 08 */ addi r4, r1, 8 /* 80042F64 0003FEA4 38 A0 00 07 */ li r5, 7 -/* 80042F68 0003FEA8 48 32 5B 81 */ bl func_80368AE8 +/* 80042F68 0003FEA8 48 32 5B 81 */ bl strncpy /* 80042F6C 0003FEAC 38 00 00 00 */ li r0, 0 /* 80042F70 0003FEB0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 80042F74 0003FEB4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l diff --git a/asm/d/d_resorce.s b/asm/d/d_resorce.s index 1a5a22e38b4..5155ab2f8ae 100644 --- a/asm/d/d_resorce.s +++ b/asm/d/d_resorce.s @@ -109,7 +109,7 @@ lbl_8003A3C4: /* 8003A3C4 00037304 7F 83 E3 78 */ mr r3, r28 /* 8003A3C8 00037308 7F A4 EB 78 */ mr r4, r29 /* 8003A3CC 0003730C 38 A0 00 0A */ li r5, 0xa -/* 8003A3D0 00037310 48 32 E7 19 */ bl func_80368AE8 +/* 8003A3D0 00037310 48 32 E7 19 */ bl strncpy /* 8003A3D4 00037314 38 60 00 01 */ li r3, 1 lbl_8003A3D8: /* 8003A3D8 00037318 39 61 00 40 */ addi r11, r1, 0x40 @@ -1291,7 +1291,7 @@ lbl_8003B420: /* 8003B45C 0003839C 38 61 00 08 */ addi r3, r1, 8 /* 8003B460 000383A0 7F 44 D3 78 */ mr r4, r26 /* 8003B464 000383A4 7F 65 DB 78 */ mr r5, r27 -/* 8003B468 000383A8 48 32 D6 81 */ bl func_80368AE8 +/* 8003B468 000383A8 48 32 D6 81 */ bl strncpy /* 8003B46C 000383AC 38 00 00 00 */ li r0, 0 /* 8003B470 000383B0 38 61 00 08 */ addi r3, r1, 8 /* 8003B474 000383B4 7C 03 D9 AE */ stbx r0, r3, r27 @@ -1723,7 +1723,7 @@ lbl_8003B9EC: /* 8003BA2C 0003896C 38 61 00 08 */ addi r3, r1, 8 /* 8003BA30 00038970 7F 24 CB 78 */ mr r4, r25 /* 8003BA34 00038974 7F 05 C3 78 */ mr r5, r24 -/* 8003BA38 00038978 48 32 D0 B1 */ bl func_80368AE8 +/* 8003BA38 00038978 48 32 D0 B1 */ bl strncpy /* 8003BA3C 0003897C 38 00 00 00 */ li r0, 0 /* 8003BA40 00038980 38 61 00 08 */ addi r3, r1, 8 /* 8003BA44 00038984 7C 03 C1 AE */ stbx r0, r3, r24 diff --git a/asm/d/event/d_event_manager.s b/asm/d/event/d_event_manager.s index 8351d9f9f2b..24844bfe84b 100644 --- a/asm/d/event/d_event_manager.s +++ b/asm/d/event/d_event_manager.s @@ -1769,7 +1769,7 @@ lbl_80047BA8: /* 80047BAC 00044AEC 3B 20 00 00 */ li r25, 0 /* 80047BB0 00044AF0 7E C3 B3 78 */ mr r3, r22 /* 80047BB4 00044AF4 38 80 00 3A */ li r4, 0x3a -/* 80047BB8 00044AF8 48 32 0D 6D */ bl func_80368924 +/* 80047BB8 00044AF8 48 32 0D 6D */ bl strchr /* 80047BBC 00044AFC 28 03 00 00 */ cmplwi r3, 0 /* 80047BC0 00044B00 41 82 00 08 */ beq lbl_80047BC8 /* 80047BC4 00044B04 3B 20 00 01 */ li r25, 1 @@ -1797,7 +1797,7 @@ lbl_80047BD4: /* 80047C14 00044B54 40 82 00 28 */ bne lbl_80047C3C /* 80047C18 00044B58 38 61 00 08 */ addi r3, r1, 8 /* 80047C1C 00044B5C 38 80 00 3A */ li r4, 0x3a -/* 80047C20 00044B60 48 32 0D 05 */ bl func_80368924 +/* 80047C20 00044B60 48 32 0D 05 */ bl strchr /* 80047C24 00044B64 7C 78 1B 78 */ mr r24, r3 /* 80047C28 00044B68 28 03 00 00 */ cmplwi r3, 0 /* 80047C2C 00044B6C 41 82 00 10 */ beq lbl_80047C3C diff --git a/asm/d/file/d_file_select.s b/asm/d/file/d_file_select.s index 0784c30a12e..1f1367153f9 100644 --- a/asm/d/file/d_file_select.s +++ b/asm/d/file/d_file_select.s @@ -14917,7 +14917,7 @@ dFile_select3D_c_NS_toItem3Dpos: /* 8019105C 0018DF9C 38 81 00 14 */ addi r4, r1, 0x14 /* 80191060 0018DFA0 48 1B 55 51 */ bl PSMTXInverse /* 80191064 0018DFA4 C8 22 9F C8 */ lfd f1, lbl_804539C8-_SDA2_BASE_(r2) -/* 80191068 0018DFA8 48 1D B6 01 */ bl func_8036C668 +/* 80191068 0018DFA8 48 1D B6 01 */ bl tan /* 8019106C 0018DFAC FC 40 08 18 */ frsp f2, f1 /* 80191070 0018DFB0 FC 60 F8 50 */ fneg f3, f31 /* 80191074 0018DFB4 EC 3D 07 F2 */ fmuls f1, f29, f31 diff --git a/asm/d/map/path/d_map_path_dmap.s b/asm/d/map/path/d_map_path_dmap.s index 1187c0fa86c..a1b9ff0f4bb 100644 --- a/asm/d/map/path/d_map_path_dmap.s +++ b/asm/d/map/path/d_map_path_dmap.s @@ -494,7 +494,7 @@ dMapInfo_n_NS_getFloorParameter: /* 8003F348 0003C288 FC 00 02 10 */ fabs f0, f0 /* 8003F34C 0003C28C FF A0 00 18 */ frsp f29, f0 /* 8003F350 0003C290 EC 3C F8 24 */ fdivs f1, f28, f31 -/* 8003F354 0003C294 48 32 CD A9 */ bl func_8036C0FC +/* 8003F354 0003C294 48 32 CD A9 */ bl floor /* 8003F358 0003C298 FC 00 08 18 */ frsp f0, f1 /* 8003F35C 0003C29C FC 00 00 1E */ fctiwz f0, f0 /* 8003F360 0003C2A0 D8 01 00 20 */ stfd f0, 0x20(r1) diff --git a/asm/d/menu/d_menu_collect.s b/asm/d/menu/d_menu_collect.s index e92d9cd67dd..6eda2b1a016 100644 --- a/asm/d/menu/d_menu_collect.s +++ b/asm/d/menu/d_menu_collect.s @@ -8413,7 +8413,7 @@ dMenu_Collect3D_c_NS_toItem3Dpos: /* 801B76D4 001B4614 38 81 00 14 */ addi r4, r1, 0x14 /* 801B76D8 001B4618 48 18 EE D9 */ bl PSMTXInverse /* 801B76DC 001B461C C8 22 A5 E0 */ lfd f1, lbl_80453FE0-_SDA2_BASE_(r2) -/* 801B76E0 001B4620 48 1B 4F 89 */ bl func_8036C668 +/* 801B76E0 001B4620 48 1B 4F 89 */ bl tan /* 801B76E4 001B4624 FC 40 08 18 */ frsp f2, f1 /* 801B76E8 001B4628 FC 60 F8 50 */ fneg f3, f31 /* 801B76EC 001B462C EC 3D 07 F2 */ fmuls f1, f29, f31 diff --git a/asm/d/menu/dmap/d_menu_dmap_map.s b/asm/d/menu/dmap/d_menu_dmap_map.s index ce2423c7b2a..c7fac4ec0a1 100644 --- a/asm/d/menu/dmap/d_menu_dmap_map.s +++ b/asm/d/menu/dmap/d_menu_dmap_map.s @@ -478,7 +478,7 @@ dMenu_StageMapCtrl_c_NS_getMapBlendPer: /* 801C0F00 001BDE40 48 00 00 14 */ b lbl_801C0F14 lbl_801C0F04: /* 801C0F04 001BDE44 C8 42 A6 A0 */ lfd f2, lbl_804540A0-_SDA2_BASE_(r2) -/* 801C0F08 001BDE48 48 1A B8 59 */ bl func_8036C760 +/* 801C0F08 001BDE48 48 1A B8 59 */ bl fmod /* 801C0F0C 001BDE4C FC 00 08 18 */ frsp f0, f1 /* 801C0F10 001BDE50 FC 20 00 90 */ fmr f1, f0 lbl_801C0F14: @@ -882,7 +882,7 @@ lbl_801C1460: /* 801C1490 001BE3D0 7C 03 00 00 */ cmpw r3, r0 /* 801C1494 001BE3D4 40 80 02 20 */ bge lbl_801C16B4 /* 801C1498 001BE3D8 C0 3F 00 C4 */ lfs f1, 0xc4(r31) -/* 801C149C 001BE3DC 48 1A AC 61 */ bl func_8036C0FC +/* 801C149C 001BE3DC 48 1A AC 61 */ bl floor /* 801C14A0 001BE3E0 FC 40 08 18 */ frsp f2, f1 /* 801C14A4 001BE3E4 88 1F 00 E7 */ lbz r0, 0xe7(r31) /* 801C14A8 001BE3E8 7C 04 07 74 */ extsb r4, r0 @@ -958,7 +958,7 @@ lbl_801C1598: /* 801C15B0 001BE4F0 7C 03 00 00 */ cmpw r3, r0 /* 801C15B4 001BE4F4 40 81 01 00 */ ble lbl_801C16B4 /* 801C15B8 001BE4F8 C0 3F 00 C4 */ lfs f1, 0xc4(r31) -/* 801C15BC 001BE4FC 48 1A AB 41 */ bl func_8036C0FC +/* 801C15BC 001BE4FC 48 1A AB 41 */ bl floor /* 801C15C0 001BE500 FC 40 08 18 */ frsp f2, f1 /* 801C15C4 001BE504 88 1F 00 E7 */ lbz r0, 0xe7(r31) /* 801C15C8 001BE508 7C 04 07 74 */ extsb r4, r0 @@ -1051,25 +1051,25 @@ lbl_801C16CC: /* 801C1710 001BE650 EC 00 08 28 */ fsubs f0, f0, f1 /* 801C1714 001BE654 EF E2 00 24 */ fdivs f31, f2, f0 /* 801C1718 001BE658 C0 3F 00 C4 */ lfs f1, 0xc4(r31) -/* 801C171C 001BE65C 48 1A A7 A1 */ bl func_8036BEBC +/* 801C171C 001BE65C 48 1A A7 A1 */ bl ceil /* 801C1720 001BE660 FC 00 08 18 */ frsp f0, f1 /* 801C1724 001BE664 FC 00 00 1E */ fctiwz f0, f0 /* 801C1728 001BE668 D8 01 00 18 */ stfd f0, 0x18(r1) /* 801C172C 001BE66C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 801C1730 001BE670 98 1F 00 EB */ stb r0, 0xeb(r31) /* 801C1734 001BE674 C0 3F 00 C0 */ lfs f1, 0xc0(r31) -/* 801C1738 001BE678 48 1A A7 85 */ bl func_8036BEBC +/* 801C1738 001BE678 48 1A A7 85 */ bl ceil /* 801C173C 001BE67C FC 00 08 18 */ frsp f0, f1 /* 801C1740 001BE680 FC 00 00 1E */ fctiwz f0, f0 /* 801C1744 001BE684 D8 01 00 20 */ stfd f0, 0x20(r1) /* 801C1748 001BE688 80 01 00 24 */ lwz r0, 0x24(r1) /* 801C174C 001BE68C 98 1F 00 EC */ stb r0, 0xec(r31) /* 801C1750 001BE690 FC 20 F8 90 */ fmr f1, f31 -/* 801C1754 001BE694 48 1A A9 A9 */ bl func_8036C0FC +/* 801C1754 001BE694 48 1A A9 A9 */ bl floor /* 801C1758 001BE698 FC 00 08 18 */ frsp f0, f1 /* 801C175C 001BE69C EC 3F 00 28 */ fsubs f1, f31, f0 /* 801C1760 001BE6A0 C8 42 A6 A0 */ lfd f2, lbl_804540A0-_SDA2_BASE_(r2) -/* 801C1764 001BE6A4 48 1A AF FD */ bl func_8036C760 +/* 801C1764 001BE6A4 48 1A AF FD */ bl fmod /* 801C1768 001BE6A8 FC 00 08 18 */ frsp f0, f1 /* 801C176C 001BE6AC D0 1F 00 90 */ stfs f0, 0x90(r31) /* 801C1770 001BE6B0 88 7F 00 F1 */ lbz r3, 0xf1(r31) @@ -1108,14 +1108,14 @@ lbl_801C1790: /* 801C17F0 001BE730 EC 00 08 28 */ fsubs f0, f0, f1 /* 801C17F4 001BE734 EF E2 00 24 */ fdivs f31, f2, f0 /* 801C17F8 001BE738 C0 3F 00 C4 */ lfs f1, 0xc4(r31) -/* 801C17FC 001BE73C 48 1A A6 C1 */ bl func_8036BEBC +/* 801C17FC 001BE73C 48 1A A6 C1 */ bl ceil /* 801C1800 001BE740 FC 00 08 18 */ frsp f0, f1 /* 801C1804 001BE744 FC 00 00 1E */ fctiwz f0, f0 /* 801C1808 001BE748 D8 01 00 10 */ stfd f0, 0x10(r1) /* 801C180C 001BE74C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801C1810 001BE750 98 1F 00 EB */ stb r0, 0xeb(r31) /* 801C1814 001BE754 C0 3F 00 C0 */ lfs f1, 0xc0(r31) -/* 801C1818 001BE758 48 1A A6 A5 */ bl func_8036BEBC +/* 801C1818 001BE758 48 1A A6 A5 */ bl ceil /* 801C181C 001BE75C FC 00 08 18 */ frsp f0, f1 /* 801C1820 001BE760 FC 00 00 1E */ fctiwz f0, f0 /* 801C1824 001BE764 D8 01 00 08 */ stfd f0, 8(r1) @@ -1127,7 +1127,7 @@ lbl_801C1838: /* 801C1838 001BE778 C0 02 A6 60 */ lfs f0, lbl_80454060-_SDA2_BASE_(r2) /* 801C183C 001BE77C D0 1F 00 90 */ stfs f0, 0x90(r31) /* 801C1840 001BE780 C0 3F 00 C4 */ lfs f1, 0xc4(r31) -/* 801C1844 001BE784 48 1A A6 79 */ bl func_8036BEBC +/* 801C1844 001BE784 48 1A A6 79 */ bl ceil /* 801C1848 001BE788 FC 00 08 18 */ frsp f0, f1 /* 801C184C 001BE78C FC 00 00 1E */ fctiwz f0, f0 /* 801C1850 001BE790 D8 01 00 20 */ stfd f0, 0x20(r1) diff --git a/asm/dvd/dvdidutils.s b/asm/dvd/dvdidutils.s index 5fc40c212d4..4a0d467af77 100644 --- a/asm/dvd/dvdidutils.s +++ b/asm/dvd/dvdidutils.s @@ -21,7 +21,7 @@ DVDCompareDiskID: /* 8034BC38 00348B78 38 7E 00 00 */ addi r3, r30, 0 /* 8034BC3C 00348B7C 38 9F 00 00 */ addi r4, r31, 0 /* 8034BC40 00348B80 38 A0 00 04 */ li r5, 4 -/* 8034BC44 00348B84 48 01 CD 11 */ bl func_80368954 +/* 8034BC44 00348B84 48 01 CD 11 */ bl strncmp /* 8034BC48 00348B88 2C 03 00 00 */ cmpwi r3, 0 /* 8034BC4C 00348B8C 41 82 00 0C */ beq lbl_8034BC58 /* 8034BC50 00348B90 38 60 00 00 */ li r3, 0 @@ -36,7 +36,7 @@ lbl_8034BC58: /* 8034BC70 00348BB0 38 7E 00 04 */ addi r3, r30, 4 /* 8034BC74 00348BB4 38 9F 00 04 */ addi r4, r31, 4 /* 8034BC78 00348BB8 38 A0 00 02 */ li r5, 2 -/* 8034BC7C 00348BBC 48 01 CC D9 */ bl func_80368954 +/* 8034BC7C 00348BBC 48 01 CC D9 */ bl strncmp /* 8034BC80 00348BC0 2C 03 00 00 */ cmpwi r3, 0 /* 8034BC84 00348BC4 41 82 00 0C */ beq lbl_8034BC90 lbl_8034BC88: diff --git a/asm/gx/GXLight.s b/asm/gx/GXLight.s index 2d2331378cf..02e6b542d7e 100644 --- a/asm/gx/GXLight.s +++ b/asm/gx/GXLight.s @@ -36,7 +36,7 @@ lbl_8035D688: /* 8035D68C 0035A5CC C0 02 CB C4 */ lfs f0, lbl_804565C4-_SDA2_BASE_(r2) /* 8035D690 0035A5D0 EC 22 00 72 */ fmuls f1, f2, f1 /* 8035D694 0035A5D4 EC 21 00 24 */ fdivs f1, f1, f0 -/* 8035D698 0035A5D8 48 00 F3 75 */ bl func_8036CA0C +/* 8035D698 0035A5D8 48 00 F3 75 */ bl cosf /* 8035D69C 0035A5DC 28 1F 00 06 */ cmplwi r31, 6 /* 8035D6A0 0035A5E0 41 81 01 0C */ bgt lbl_8035D7AC /* 8035D6A4 0035A5E4 3C 60 80 3D */ lis r3, lbl_803D2578@ha diff --git a/asm/mtx/mtx.s b/asm/mtx/mtx.s index fce6b786213..86b0d92fd7e 100644 --- a/asm/mtx/mtx.s +++ b/asm/mtx/mtx.s @@ -165,11 +165,11 @@ PSMTXRotRad: /* 803466C4 00343604 7C 7E 1B 78 */ mr r30, r3 /* 803466C8 00343608 7C 9F 23 78 */ mr r31, r4 /* 803466CC 0034360C FC 20 F8 90 */ fmr f1, f31 -/* 803466D0 00343610 48 02 63 19 */ bl func_8036C9E8 +/* 803466D0 00343610 48 02 63 19 */ bl sinf /* 803466D4 00343614 FC 00 08 90 */ fmr f0, f1 /* 803466D8 00343618 FC 20 F8 90 */ fmr f1, f31 /* 803466DC 0034361C FF E0 00 90 */ fmr f31, f0 -/* 803466E0 00343620 48 02 63 2D */ bl func_8036CA0C +/* 803466E0 00343620 48 02 63 2D */ bl cosf /* 803466E4 00343624 FC 00 08 90 */ fmr f0, f1 /* 803466E8 00343628 7F C3 F3 78 */ mr r3, r30 /* 803466EC 0034362C FC 20 F8 90 */ fmr f1, f31 @@ -294,11 +294,11 @@ PSMTXRotAxisRad: /* 80346894 003437D4 7C 7E 1B 78 */ mr r30, r3 /* 80346898 003437D8 7C 9F 23 78 */ mr r31, r4 /* 8034689C 003437DC FC 20 F8 90 */ fmr f1, f31 -/* 803468A0 003437E0 48 02 61 49 */ bl func_8036C9E8 +/* 803468A0 003437E0 48 02 61 49 */ bl sinf /* 803468A4 003437E4 FC 00 08 90 */ fmr f0, f1 /* 803468A8 003437E8 FC 20 F8 90 */ fmr f1, f31 /* 803468AC 003437EC FF E0 00 90 */ fmr f31, f0 -/* 803468B0 003437F0 48 02 61 5D */ bl func_8036CA0C +/* 803468B0 003437F0 48 02 61 5D */ bl cosf /* 803468B4 003437F4 FC 00 08 90 */ fmr f0, f1 /* 803468B8 003437F8 7F C3 F3 78 */ mr r3, r30 /* 803468BC 003437FC FC 20 F8 90 */ fmr f1, f31 @@ -556,7 +556,7 @@ C_MTXLightPerspective: /* 80346C58 00343B98 C0 02 CB 20 */ lfs f0, lbl_80456520-_SDA2_BASE_(r2) /* 80346C5C 00343B9C EC 22 00 72 */ fmuls f1, f2, f1 /* 80346C60 00343BA0 EC 20 00 72 */ fmuls f1, f0, f1 -/* 80346C64 00343BA4 48 02 5D 61 */ bl func_8036C9C4 +/* 80346C64 00343BA4 48 02 5D 61 */ bl tanf /* 80346C68 00343BA8 C0 62 CB 08 */ lfs f3, lbl_80456508-_SDA2_BASE_(r2) /* 80346C6C 00343BAC FC 40 F0 50 */ fneg f2, f30 /* 80346C70 00343BB0 FC 00 F8 50 */ fneg f0, f31 diff --git a/asm/mtx/mtx44.s b/asm/mtx/mtx44.s index 2e8d44bb2ec..627bead1403 100644 --- a/asm/mtx/mtx44.s +++ b/asm/mtx/mtx44.s @@ -20,7 +20,7 @@ C_MTXPerspective: /* 80346F58 00343E98 C0 02 CB 3C */ lfs f0, lbl_8045653C-_SDA2_BASE_(r2) /* 80346F5C 00343E9C EC 25 00 72 */ fmuls f1, f5, f1 /* 80346F60 00343EA0 EC 20 00 72 */ fmuls f1, f0, f1 -/* 80346F64 00343EA4 48 02 5A 61 */ bl func_8036C9C4 +/* 80346F64 00343EA4 48 02 5A 61 */ bl tanf /* 80346F68 00343EA8 C0 62 CB 28 */ lfs f3, lbl_80456528-_SDA2_BASE_(r2) /* 80346F6C 00343EAC EC 5F F0 28 */ fsubs f2, f31, f30 /* 80346F70 00343EB0 EC 1F 07 B2 */ fmuls f0, f31, f30 diff --git a/asm/mtx/quat.s b/asm/mtx/quat.s index 58bf35fa199..d44ab0a56c5 100644 --- a/asm/mtx/quat.s +++ b/asm/mtx/quat.s @@ -43,10 +43,10 @@ C_QUATRotAxisRad: /* 803474A0 003443E0 C0 02 CB 58 */ lfs f0, lbl_80456558-_SDA2_BASE_(r2) /* 803474A4 003443E4 EF C0 07 B2 */ fmuls f30, f0, f30 /* 803474A8 003443E8 FC 20 F0 90 */ fmr f1, f30 -/* 803474AC 003443EC 48 02 55 3D */ bl func_8036C9E8 +/* 803474AC 003443EC 48 02 55 3D */ bl sinf /* 803474B0 003443F0 FF E0 08 90 */ fmr f31, f1 /* 803474B4 003443F4 FC 20 F0 90 */ fmr f1, f30 -/* 803474B8 003443F8 48 02 55 55 */ bl func_8036CA0C +/* 803474B8 003443F8 48 02 55 55 */ bl cosf /* 803474BC 003443FC C0 01 00 14 */ lfs f0, 0x14(r1) /* 803474C0 00344400 EC 1F 00 32 */ fmuls f0, f31, f0 /* 803474C4 00344404 D0 1F 00 00 */ stfs f0, 0(r31) @@ -105,17 +105,17 @@ lbl_80347590: /* 80347594 003444D4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80347598 003444D8 4C 40 13 82 */ cror 2, 0, 2 /* 8034759C 003444DC 40 82 00 3C */ bne lbl_803475D8 -/* 803475A0 003444E0 48 02 54 91 */ bl func_8036CA30 +/* 803475A0 003444E0 48 02 54 91 */ bl acosf /* 803475A4 003444E4 FF 60 08 90 */ fmr f27, f1 -/* 803475A8 003444E8 48 02 54 41 */ bl func_8036C9E8 +/* 803475A8 003444E8 48 02 54 41 */ bl sinf /* 803475AC 003444EC C0 02 CB 54 */ lfs f0, lbl_80456554-_SDA2_BASE_(r2) /* 803475B0 003444F0 FF 80 08 90 */ fmr f28, f1 /* 803475B4 003444F4 EC 00 E8 28 */ fsubs f0, f0, f29 /* 803475B8 003444F8 EC 20 06 F2 */ fmuls f1, f0, f27 -/* 803475BC 003444FC 48 02 54 2D */ bl func_8036C9E8 +/* 803475BC 003444FC 48 02 54 2D */ bl sinf /* 803475C0 00344500 EF E1 E0 24 */ fdivs f31, f1, f28 /* 803475C4 00344504 EC 3D 06 F2 */ fmuls f1, f29, f27 -/* 803475C8 00344508 48 02 54 21 */ bl func_8036C9E8 +/* 803475C8 00344508 48 02 54 21 */ bl sinf /* 803475CC 0034450C EC 01 E0 24 */ fdivs f0, f1, f28 /* 803475D0 00344510 EF DE 00 32 */ fmuls f30, f30, f0 /* 803475D4 00344514 48 00 00 10 */ b lbl_803475E4 diff --git a/asm/os/OSExec.s b/asm/os/OSExec.s index fe2f49780bb..155dbdb2029 100644 --- a/asm/os/OSExec.s +++ b/asm/os/OSExec.s @@ -383,7 +383,7 @@ lbl_8033CF28: /* 8033CF80 00339EC0 38 83 FC 38 */ addi r4, r3, lbl_803CFC38@l /* 8033CF84 00339EC4 7F C3 F3 78 */ mr r3, r30 /* 8033CF88 00339EC8 38 A0 00 0A */ li r5, 0xa -/* 8033CF8C 00339ECC 48 02 B9 C9 */ bl func_80368954 +/* 8033CF8C 00339ECC 48 02 B9 C9 */ bl strncmp /* 8033CF90 00339ED0 2C 03 00 00 */ cmpwi r3, 0 /* 8033CF94 00339ED4 40 81 00 0C */ ble lbl_8033CFA0 /* 8033CF98 00339ED8 38 00 00 01 */ li r0, 1 diff --git a/asm/rodata/rodata_c_xyz.s b/asm/rodata/rodata_c_xyz.s deleted file mode 100644 index 117987e1035..00000000000 --- a/asm/rodata/rodata_c_xyz.s +++ /dev/null @@ -1,7 +0,0 @@ -.include "macros.inc" -.section .rodata, "a" # 0x8039a868 - 0x8039a878 - -.global lbl_8039A868 -lbl_8039A868: -.incbin "baserom.dol", 0x397868, 0x10 - diff --git a/asm/rodata/rodata_c_xyz_padding.s b/asm/rodata/rodata_c_xyz_padding.s new file mode 100644 index 00000000000..be38c14c9a0 --- /dev/null +++ b/asm/rodata/rodata_c_xyz_padding.s @@ -0,0 +1,7 @@ +.include "macros.inc" +.section .rodata, "a" + +.byte 0x0 +.byte 0x0 +.byte 0x0 +.byte 0x0 \ No newline at end of file diff --git a/asm/sdata2/c_angle.s b/asm/sdata2/c_angle.s deleted file mode 100644 index 23026237661..00000000000 --- a/asm/sdata2/c_angle.s +++ /dev/null @@ -1,51 +0,0 @@ -.include "macros.inc" -.section .sdata2, "a" # 0x80455208 - 0x80455240 - -.global lbl_80455208 -lbl_80455208: -.incbin "baserom.dol", 0x3D4068, 0x4 - -.global lbl_8045520C -lbl_8045520C: -.incbin "baserom.dol", 0x3D406C, 0x4 - -.global lbl_80455210 -lbl_80455210: -.incbin "baserom.dol", 0x3D4070, 0x8 - -.global lbl_80455218 -lbl_80455218: -.incbin "baserom.dol", 0x3D4078, 0x4 - -.global lbl_8045521C -lbl_8045521C: -.incbin "baserom.dol", 0x3D407C, 0x4 - -.global lbl_80455220 -lbl_80455220: -.incbin "baserom.dol", 0x3D4080, 0x4 - -.global lbl_80455224 -lbl_80455224: -.incbin "baserom.dol", 0x3D4084, 0x4 - -.global lbl_80455228 -lbl_80455228: -.incbin "baserom.dol", 0x3D4088, 0x4 - -.global lbl_8045522C -lbl_8045522C: -.incbin "baserom.dol", 0x3D408C, 0x4 - -.global lbl_80455230 -lbl_80455230: -.incbin "baserom.dol", 0x3D4090, 0x8 - -.global lbl_80455238 -lbl_80455238: -.incbin "baserom.dol", 0x3D4098, 0x4 - -.global lbl_8045523C -lbl_8045523C: -.incbin "baserom.dol", 0x3D409C, 0x4 - diff --git a/asm/sdata2/c_math.s b/asm/sdata2/c_math.s deleted file mode 100644 index d02c22f8c2e..00000000000 --- a/asm/sdata2/c_math.s +++ /dev/null @@ -1,51 +0,0 @@ -.include "macros.inc" -.section .sdata2, "a" # 0x804550a8 - 0x804550e8 - -.global lbl_804550A8 -lbl_804550A8: -.incbin "baserom.dol", 0x3D3F08, 0x8 - -.global lbl_804550B0 -lbl_804550B0: -.incbin "baserom.dol", 0x3D3F10, 0x4 - -.global lbl_804550B4 -lbl_804550B4: -.incbin "baserom.dol", 0x3D3F14, 0x4 - -.global lbl_804550B8 -lbl_804550B8: -.incbin "baserom.dol", 0x3D3F18, 0x4 - -.global lbl_804550BC -lbl_804550BC: -.incbin "baserom.dol", 0x3D3F1C, 0x4 - -.global lbl_804550C0 -lbl_804550C0: -.incbin "baserom.dol", 0x3D3F20, 0x8 - -.global lbl_804550C8 -lbl_804550C8: -.incbin "baserom.dol", 0x3D3F28, 0x4 - -.global lbl_804550CC -lbl_804550CC: -.incbin "baserom.dol", 0x3D3F2C, 0x4 - -.global lbl_804550D0 -lbl_804550D0: -.incbin "baserom.dol", 0x3D3F30, 0x8 - -.global lbl_804550D8 -lbl_804550D8: -.incbin "baserom.dol", 0x3D3F38, 0x8 - -.global lbl_804550E0 -lbl_804550E0: -.incbin "baserom.dol", 0x3D3F40, 0x4 - -.global lbl_804550E4 -lbl_804550E4: -.incbin "baserom.dol", 0x3D3F44, 0x4 - diff --git a/asm/sdata2/c_sxyz.s b/asm/sdata2/c_sxyz.s deleted file mode 100644 index a892a228e96..00000000000 --- a/asm/sdata2/c_sxyz.s +++ /dev/null @@ -1,7 +0,0 @@ -.include "macros.inc" -.section .sdata2, "a" # 0x804550a0 - 0x804550a8 - -.global lbl_804550A0 -lbl_804550A0: -.incbin "baserom.dol", 0x3D3F00, 0x8 - diff --git a/asm/sdata2/c_xyz.s b/asm/sdata2/c_xyz.s deleted file mode 100644 index 1da99d9ce9d..00000000000 --- a/asm/sdata2/c_xyz.s +++ /dev/null @@ -1,39 +0,0 @@ -.include "macros.inc" -.section .sdata2, "a" # 0x80455070 - 0x804550a0 - -.global lbl_80455070 -lbl_80455070: -.incbin "baserom.dol", 0x3D3ED0, 0x4 - -.global lbl_80455074 -lbl_80455074: -.incbin "baserom.dol", 0x3D3ED4, 0x4 - -.global lbl_80455078 -lbl_80455078: -.incbin "baserom.dol", 0x3D3ED8, 0x4 - -.global lbl_8045507C -lbl_8045507C: -.incbin "baserom.dol", 0x3D3EDC, 0x4 - -.global lbl_80455080 -lbl_80455080: -.incbin "baserom.dol", 0x3D3EE0, 0x4 - -.global lbl_80455084 -lbl_80455084: -.incbin "baserom.dol", 0x3D3EE4, 0x4 - -.global lbl_80455088 -lbl_80455088: -.incbin "baserom.dol", 0x3D3EE8, 0x8 - -.global lbl_80455090 -lbl_80455090: -.incbin "baserom.dol", 0x3D3EF0, 0x8 - -.global lbl_80455098 -lbl_80455098: -.incbin "baserom.dol", 0x3D3EF8, 0x8 - diff --git a/include/JSystem/JStudio/asm/composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s b/include/JSystem/JStudio/asm/composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s index 50057d0af23..e4e892081b5 100644 --- a/include/JSystem/JStudio/asm/composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s +++ b/include/JSystem/JStudio/asm/composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s @@ -28,7 +28,7 @@ lbl_80281F1C: /* 80281F28 0027EE68 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 80281F2C 0027EE6C 7D 89 03 A6 */ mtctr r12 /* 80281F30 0027EE70 4E 80 04 21 */ bctrl -/* 80281F34 0027EE74 48 0E A1 C9 */ bl func_8036C0FC +/* 80281F34 0027EE74 48 0E A1 C9 */ bl floor /* 80281F38 0027EE78 FC 00 08 1E */ fctiwz f0, f1 /* 80281F3C 0027EE7C D8 01 00 18 */ stfd f0, 0x18(r1) /* 80281F40 0027EE80 80 61 00 1C */ lwz r3, 0x1c(r1) diff --git a/include/JSystem/JStudio/asm/getValue__Q27JStudio19TFunctionValue_listFd.s b/include/JSystem/JStudio/asm/getValue__Q27JStudio19TFunctionValue_listFd.s index 47b6f7e6515..eee0755c092 100644 --- a/include/JSystem/JStudio/asm/getValue__Q27JStudio19TFunctionValue_listFd.s +++ b/include/JSystem/JStudio/asm/getValue__Q27JStudio19TFunctionValue_listFd.s @@ -236,7 +236,7 @@ lbl_80282BA8: /* 80282BBC 0027FAFC 7C 23 04 2E */ lfsx f1, r3, r0 /* 80282BC0 0027FB00 48 00 00 28 */ b lbl_80282BE8 lbl_80282BC4: -/* 80282BC4 0027FB04 48 0E 95 39 */ bl func_8036C0FC +/* 80282BC4 0027FB04 48 0E 95 39 */ bl floor /* 80282BC8 0027FB08 D8 21 00 10 */ stfd f1, 0x10(r1) /* 80282BCC 0027FB0C 48 0D F4 E1 */ bl __cvt_fp2unsigned /* 80282BD0 0027FB10 90 61 00 18 */ stw r3, 0x18(r1) diff --git a/include/JSystem/JStudio/asm/interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd.s b/include/JSystem/JStudio/asm/interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd.s index fccb99289fe..84ab937dff3 100644 --- a/include/JSystem/JStudio/asm/interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd.s +++ b/include/JSystem/JStudio/asm/interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd.s @@ -63,7 +63,7 @@ /* 802818D0 0027E810 C8 02 BA 38 */ lfd f0, 0x80455438 - 0x80459A00(r2) /*SDA HACK; original: lbl_80455438-_SDA2_BASE_(r2)*/ /* 802818D4 0027E814 FF E0 07 B2 */ fmul f31, f0, f30 /* 802818D8 0027E818 FC 40 F8 90 */ fmr f2, f31 -/* 802818DC 0027E81C 48 0E AE 85 */ bl func_8036C760 +/* 802818DC 0027E81C 48 0E AE 85 */ bl fmod /* 802818E0 0027E820 C8 02 BA 00 */ lfd f0, 0x80455400 - 0x80459A00(r2) /*SDA HACK; original: lbl_80455400-_SDA2_BASE_(r2)*/ /* 802818E4 0027E824 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802818E8 0027E828 40 80 00 08 */ bge lbl_802818F0 diff --git a/include/JSystem/JStudio/functionvalue.h b/include/JSystem/JStudio/functionvalue.h index 54a84927475..3bc7380de65 100644 --- a/include/JSystem/JStudio/functionvalue.h +++ b/include/JSystem/JStudio/functionvalue.h @@ -12,14 +12,12 @@ extern void toFunction_outside__Q27JStudio14TFunctionValueFi(); extern void JGadget_NS_TVector_pointer_void(); extern void __ct__Q27JStudio14TFunctionValueFv(); extern void func_80365078(); -extern void func_8036C0FC(); extern void interpolateValue_hermite__Q27JStudio13functionvalueFddddddd(); extern void interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd(); extern void JGadget_NS_findUpperBound_binary_current(); extern void range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd(); extern void interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd(); extern void JGadget_NS_findUpperBound_binary_current_X2_(); -extern f64 func_8036C760(f64 a1, f64 a2); } extern DoubleFunc lbl_8039A9F0[]; diff --git a/include/JSystem/JUtility/JUTGamePad/asm/func_802E1238.s b/include/JSystem/JUtility/JUTGamePad/asm/func_802E1238.s index 40e46c95932..bd2b2f6efe8 100644 --- a/include/JSystem/JUtility/JUTGamePad/asm/func_802E1238.s +++ b/include/JSystem/JUtility/JUTGamePad/asm/func_802E1238.s @@ -175,7 +175,7 @@ lbl_802E1498: lbl_802E14A4: /* 802E14A4 002DE3E4 C0 3D 00 00 */ lfs f1, 0(r29) /* 802E14A8 002DE3E8 FC 40 00 50 */ fneg f2, f0 -/* 802E14AC 002DE3EC 48 08 B2 75 */ bl func_8036C720 +/* 802E14AC 002DE3EC 48 08 B2 75 */ bl atan2 /* 802E14B0 002DE3F0 FC 20 08 18 */ frsp f1, f1 /* 802E14B4 002DE3F4 C0 02 C6 4C */ lfs f0, lbl_8045604C-_SDA2_BASE_(r2) /* 802E14B8 002DE3F8 EC 00 00 72 */ fmuls f0, f0, f1 diff --git a/include/SComponent/c_angle/asm/func_80271030.s b/include/SComponent/c_angle/asm/func_80271030.s deleted file mode 100644 index f58388a4e97..00000000000 --- a/include/SComponent/c_angle/asm/func_80271030.s +++ /dev/null @@ -1,13 +0,0 @@ -/* 80271030 0026DF70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80271034 0026DF74 C0 42 B8 0C */ lfs f2, lbl_8045520C-_SDA2_BASE_(r2) -/* 80271038 0026DF78 A8 03 00 00 */ lha r0, 0(r3) -/* 8027103C 0026DF7C C8 22 B8 10 */ lfd f1, lbl_80455210-_SDA2_BASE_(r2) -/* 80271040 0026DF80 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80271044 0026DF84 90 01 00 0C */ stw r0, 0xc(r1) -/* 80271048 0026DF88 3C 00 43 30 */ lis r0, 0x4330 -/* 8027104C 0026DF8C 90 01 00 08 */ stw r0, 8(r1) -/* 80271050 0026DF90 C8 01 00 08 */ lfd f0, 8(r1) -/* 80271054 0026DF94 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80271058 0026DF98 EC 22 00 32 */ fmuls f1, f2, f0 -/* 8027105C 0026DF9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80271060 0026DFA0 4E 80 00 20 */ blr diff --git a/include/SComponent/c_angle/asm/func_80271064.s b/include/SComponent/c_angle/asm/func_80271064.s deleted file mode 100644 index 23d5cd7be19..00000000000 --- a/include/SComponent/c_angle/asm/func_80271064.s +++ /dev/null @@ -1,13 +0,0 @@ -/* 80271064 0026DFA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80271068 0026DFA8 C0 42 B8 18 */ lfs f2, lbl_80455218-_SDA2_BASE_(r2) -/* 8027106C 0026DFAC A8 03 00 00 */ lha r0, 0(r3) -/* 80271070 0026DFB0 C8 22 B8 10 */ lfd f1, lbl_80455210-_SDA2_BASE_(r2) -/* 80271074 0026DFB4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80271078 0026DFB8 90 01 00 0C */ stw r0, 0xc(r1) -/* 8027107C 0026DFBC 3C 00 43 30 */ lis r0, 0x4330 -/* 80271080 0026DFC0 90 01 00 08 */ stw r0, 8(r1) -/* 80271084 0026DFC4 C8 01 00 08 */ lfd f0, 8(r1) -/* 80271088 0026DFC8 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8027108C 0026DFCC EC 22 00 32 */ fmuls f1, f2, f0 -/* 80271090 0026DFD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80271094 0026DFD4 4E 80 00 20 */ blr diff --git a/include/SComponent/c_angle/asm/func_80271098.s b/include/SComponent/c_angle/asm/func_80271098.s deleted file mode 100644 index 53387be03fe..00000000000 --- a/include/SComponent/c_angle/asm/func_80271098.s +++ /dev/null @@ -1,13 +0,0 @@ -/* 80271098 0026DFD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8027109C 0026DFDC C0 42 B8 1C */ lfs f2, lbl_8045521C-_SDA2_BASE_(r2) -/* 802710A0 0026DFE0 A8 03 00 00 */ lha r0, 0(r3) -/* 802710A4 0026DFE4 C8 22 B8 10 */ lfd f1, lbl_80455210-_SDA2_BASE_(r2) -/* 802710A8 0026DFE8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802710AC 0026DFEC 90 01 00 0C */ stw r0, 0xc(r1) -/* 802710B0 0026DFF0 3C 00 43 30 */ lis r0, 0x4330 -/* 802710B4 0026DFF4 90 01 00 08 */ stw r0, 8(r1) -/* 802710B8 0026DFF8 C8 01 00 08 */ lfd f0, 8(r1) -/* 802710BC 0026DFFC EC 00 08 28 */ fsubs f0, f0, f1 -/* 802710C0 0026E000 EC 22 00 32 */ fmuls f1, f2, f0 -/* 802710C4 0026E004 38 21 00 10 */ addi r1, r1, 0x10 -/* 802710C8 0026E008 4E 80 00 20 */ blr diff --git a/include/SComponent/c_angle/asm/func_80271264.s b/include/SComponent/c_angle/asm/func_80271264.s deleted file mode 100644 index 0eb4364e6af..00000000000 --- a/include/SComponent/c_angle/asm/func_80271264.s +++ /dev/null @@ -1,20 +0,0 @@ -/* 80271264 0026E1A4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80271268 0026E1A8 7C 08 02 A6 */ mflr r0 -/* 8027126C 0026E1AC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80271270 0026E1B0 A8 04 00 00 */ lha r0, 0(r4) -/* 80271274 0026E1B4 C8 42 B8 10 */ lfd f2, lbl_80455210-_SDA2_BASE_(r2) -/* 80271278 0026E1B8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8027127C 0026E1BC 90 01 00 0C */ stw r0, 0xc(r1) -/* 80271280 0026E1C0 3C 00 43 30 */ lis r0, 0x4330 -/* 80271284 0026E1C4 90 01 00 08 */ stw r0, 8(r1) -/* 80271288 0026E1C8 C8 01 00 08 */ lfd f0, 8(r1) -/* 8027128C 0026E1CC EC 00 10 28 */ fsubs f0, f0, f2 -/* 80271290 0026E1D0 EC 00 00 72 */ fmuls f0, f0, f1 -/* 80271294 0026E1D4 FC 00 00 1E */ fctiwz f0, f0 -/* 80271298 0026E1D8 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8027129C 0026E1DC 80 81 00 14 */ lwz r4, 0x14(r1) -/* 802712A0 0026E1E0 4B FF FC F9 */ bl __ct__7cSAngleFs -/* 802712A4 0026E1E4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802712A8 0026E1E8 7C 08 03 A6 */ mtlr r0 -/* 802712AC 0026E1EC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802712B0 0026E1F0 4E 80 00 20 */ blr diff --git a/include/SComponent/c_angle/asm/func_802712B4.s b/include/SComponent/c_angle/asm/func_802712B4.s deleted file mode 100644 index 3c8d99d7bd5..00000000000 --- a/include/SComponent/c_angle/asm/func_802712B4.s +++ /dev/null @@ -1,16 +0,0 @@ -/* 802712B4 0026E1F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802712B8 0026E1F8 A8 03 00 00 */ lha r0, 0(r3) -/* 802712BC 0026E1FC C8 42 B8 10 */ lfd f2, lbl_80455210-_SDA2_BASE_(r2) -/* 802712C0 0026E200 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802712C4 0026E204 90 01 00 0C */ stw r0, 0xc(r1) -/* 802712C8 0026E208 3C 00 43 30 */ lis r0, 0x4330 -/* 802712CC 0026E20C 90 01 00 08 */ stw r0, 8(r1) -/* 802712D0 0026E210 C8 01 00 08 */ lfd f0, 8(r1) -/* 802712D4 0026E214 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802712D8 0026E218 EC 00 00 72 */ fmuls f0, f0, f1 -/* 802712DC 0026E21C FC 00 00 1E */ fctiwz f0, f0 -/* 802712E0 0026E220 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 802712E4 0026E224 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802712E8 0026E228 B0 03 00 00 */ sth r0, 0(r3) -/* 802712EC 0026E22C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802712F0 0026E230 4E 80 00 20 */ blr diff --git a/include/SComponent/c_math/asm/func_802675E4.s b/include/SComponent/c_math/asm/func_802675E4.s deleted file mode 100644 index db0bf34781b..00000000000 --- a/include/SComponent/c_math/asm/func_802675E4.s +++ /dev/null @@ -1,25 +0,0 @@ -/* 802675E4 00264524 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802675E8 00264528 7C 08 02 A6 */ mflr r0 -/* 802675EC 0026452C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802675F0 00264530 C8 42 B6 A8 */ lfd f2, lbl_804550A8-_SDA2_BASE_(r2) -/* 802675F4 00264534 48 10 51 6D */ bl func_8036C760 -/* 802675F8 00264538 FC 20 08 18 */ frsp f1, f1 -/* 802675FC 0026453C C0 02 B6 B0 */ lfs f0, lbl_804550B0-_SDA2_BASE_(r2) -/* 80267600 00264540 EC 00 00 72 */ fmuls f0, f0, f1 -/* 80267604 00264544 FC 00 00 1E */ fctiwz f0, f0 -/* 80267608 00264548 D8 01 00 08 */ stfd f0, 8(r1) -/* 8026760C 0026454C 80 61 00 0C */ lwz r3, 0xc(r1) -/* 80267610 00264550 2C 03 80 00 */ cmpwi r3, -32768 -/* 80267614 00264554 40 80 00 0C */ bge lbl_80267620 -/* 80267618 00264558 3C 63 00 01 */ addis r3, r3, 1 -/* 8026761C 0026455C 48 00 00 10 */ b lbl_8026762C -lbl_80267620: -/* 80267620 00264560 2C 03 7F FF */ cmpwi r3, 0x7fff -/* 80267624 00264564 40 81 00 08 */ ble lbl_8026762C -/* 80267628 00264568 3C 63 FF FF */ addis r3, r3, 0xffff -lbl_8026762C: -/* 8026762C 0026456C 7C 63 07 34 */ extsh r3, r3 -/* 80267630 00264570 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80267634 00264574 7C 08 03 A6 */ mtlr r0 -/* 80267638 00264578 38 21 00 10 */ addi r1, r1, 0x10 -/* 8026763C 0026457C 4E 80 00 20 */ blr diff --git a/include/SComponent/c_math/asm/func_80267674.s b/include/SComponent/c_math/asm/func_80267674.s deleted file mode 100644 index 7f9b38f3429..00000000000 --- a/include/SComponent/c_math/asm/func_80267674.s +++ /dev/null @@ -1,116 +0,0 @@ -/* 80267674 002645B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80267678 002645B8 7C 08 02 A6 */ mflr r0 -/* 8026767C 002645BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80267680 002645C0 FC 80 08 90 */ fmr f4, f1 -/* 80267684 002645C4 FC 00 22 10 */ fabs f0, f4 -/* 80267688 002645C8 FC 00 00 18 */ frsp f0, f0 -/* 8026768C 002645CC C0 6D 8C 00 */ lfs f3, lbl_80451180-_SDA_BASE_(r13) -/* 80267690 002645D0 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 80267694 002645D4 40 80 00 28 */ bge lbl_802676BC -/* 80267698 002645D8 C0 02 B6 B8 */ lfs f0, lbl_804550B8-_SDA2_BASE_(r2) -/* 8026769C 002645DC FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 802676A0 002645E0 4C 41 13 82 */ cror 2, 1, 2 -/* 802676A4 002645E4 40 82 00 0C */ bne lbl_802676B0 -/* 802676A8 002645E8 38 60 00 00 */ li r3, 0 -/* 802676AC 002645EC 48 00 01 54 */ b lbl_80267800 -lbl_802676B0: -/* 802676B0 002645F0 3C 60 00 01 */ lis r3, 0x00008000@ha -/* 802676B4 002645F4 38 63 80 00 */ addi r3, r3, 0x00008000@l -/* 802676B8 002645F8 48 00 01 48 */ b lbl_80267800 -lbl_802676BC: -/* 802676BC 002645FC FC 00 12 10 */ fabs f0, f2 -/* 802676C0 00264600 FC 00 00 18 */ frsp f0, f0 -/* 802676C4 00264604 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 802676C8 00264608 40 80 00 28 */ bge lbl_802676F0 -/* 802676CC 0026460C C0 02 B6 B8 */ lfs f0, lbl_804550B8-_SDA2_BASE_(r2) -/* 802676D0 00264610 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802676D4 00264614 4C 41 13 82 */ cror 2, 1, 2 -/* 802676D8 00264618 40 82 00 0C */ bne lbl_802676E4 -/* 802676DC 0026461C 38 60 40 00 */ li r3, 0x4000 -/* 802676E0 00264620 48 00 01 20 */ b lbl_80267800 -lbl_802676E4: -/* 802676E4 00264624 3C 60 00 01 */ lis r3, 0x0000C000@ha -/* 802676E8 00264628 38 63 C0 00 */ addi r3, r3, 0x0000C000@l -/* 802676EC 0026462C 48 00 01 14 */ b lbl_80267800 -lbl_802676F0: -/* 802676F0 00264630 C0 02 B6 B8 */ lfs f0, lbl_804550B8-_SDA2_BASE_(r2) -/* 802676F4 00264634 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802676F8 00264638 4C 41 13 82 */ cror 2, 1, 2 -/* 802676FC 0026463C 40 82 00 7C */ bne lbl_80267778 -/* 80267700 00264640 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80267704 00264644 4C 41 13 82 */ cror 2, 1, 2 -/* 80267708 00264648 40 82 00 34 */ bne lbl_8026773C -/* 8026770C 0026464C FC 02 20 40 */ fcmpo cr0, f2, f4 -/* 80267710 00264650 4C 41 13 82 */ cror 2, 1, 2 -/* 80267714 00264654 40 82 00 10 */ bne lbl_80267724 -/* 80267718 00264658 4B FF FF 29 */ bl U_GetAtanTable__Fff -/* 8026771C 0026465C 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 80267720 00264660 48 00 00 E0 */ b lbl_80267800 -lbl_80267724: -/* 80267724 00264664 FC 20 10 90 */ fmr f1, f2 -/* 80267728 00264668 FC 40 20 90 */ fmr f2, f4 -/* 8026772C 0026466C 4B FF FF 15 */ bl U_GetAtanTable__Fff -/* 80267730 00264670 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80267734 00264674 20 60 40 00 */ subfic r3, r0, 0x4000 -/* 80267738 00264678 48 00 00 C8 */ b lbl_80267800 -lbl_8026773C: -/* 8026773C 0026467C FC 40 10 50 */ fneg f2, f2 -/* 80267740 00264680 FC 02 20 40 */ fcmpo cr0, f2, f4 -/* 80267744 00264684 40 80 00 1C */ bge lbl_80267760 -/* 80267748 00264688 FC 20 10 90 */ fmr f1, f2 -/* 8026774C 0026468C FC 40 20 90 */ fmr f2, f4 -/* 80267750 00264690 4B FF FE F1 */ bl U_GetAtanTable__Fff -/* 80267754 00264694 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 80267758 00264698 38 63 40 00 */ addi r3, r3, 0x4000 -/* 8026775C 0026469C 48 00 00 A4 */ b lbl_80267800 -lbl_80267760: -/* 80267760 002646A0 4B FF FE E1 */ bl U_GetAtanTable__Fff -/* 80267764 002646A4 54 64 04 3E */ clrlwi r4, r3, 0x10 -/* 80267768 002646A8 3C 60 00 01 */ lis r3, 0x00008000@ha -/* 8026776C 002646AC 38 03 80 00 */ addi r0, r3, 0x00008000@l -/* 80267770 002646B0 7C 64 00 50 */ subf r3, r4, r0 -/* 80267774 002646B4 48 00 00 8C */ b lbl_80267800 -lbl_80267778: -/* 80267778 002646B8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8026777C 002646BC 40 80 00 4C */ bge lbl_802677C8 -/* 80267780 002646C0 FC 02 20 40 */ fcmpo cr0, f2, f4 -/* 80267784 002646C4 4C 40 13 82 */ cror 2, 0, 2 -/* 80267788 002646C8 40 82 00 20 */ bne lbl_802677A8 -/* 8026778C 002646CC FC 20 20 50 */ fneg f1, f4 -/* 80267790 002646D0 FC 40 10 50 */ fneg f2, f2 -/* 80267794 002646D4 4B FF FE AD */ bl U_GetAtanTable__Fff -/* 80267798 002646D8 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 8026779C 002646DC 3C 63 00 01 */ addis r3, r3, 1 -/* 802677A0 002646E0 38 63 80 00 */ addi r3, r3, -32768 -/* 802677A4 002646E4 48 00 00 5C */ b lbl_80267800 -lbl_802677A8: -/* 802677A8 002646E8 FC 20 10 50 */ fneg f1, f2 -/* 802677AC 002646EC FC 40 20 50 */ fneg f2, f4 -/* 802677B0 002646F0 4B FF FE 91 */ bl U_GetAtanTable__Fff -/* 802677B4 002646F4 54 64 04 3E */ clrlwi r4, r3, 0x10 -/* 802677B8 002646F8 3C 60 00 01 */ lis r3, 0x0000C000@ha -/* 802677BC 002646FC 38 03 C0 00 */ addi r0, r3, 0x0000C000@l -/* 802677C0 00264700 7C 64 00 50 */ subf r3, r4, r0 -/* 802677C4 00264704 48 00 00 3C */ b lbl_80267800 -lbl_802677C8: -/* 802677C8 00264708 FC 00 20 50 */ fneg f0, f4 -/* 802677CC 0026470C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 802677D0 00264710 40 80 00 20 */ bge lbl_802677F0 -/* 802677D4 00264714 FC 20 10 90 */ fmr f1, f2 -/* 802677D8 00264718 FC 40 00 90 */ fmr f2, f0 -/* 802677DC 0026471C 4B FF FE 65 */ bl U_GetAtanTable__Fff -/* 802677E0 00264720 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 802677E4 00264724 3C 63 00 01 */ addis r3, r3, 1 -/* 802677E8 00264728 38 63 C0 00 */ addi r3, r3, -16384 -/* 802677EC 0026472C 48 00 00 14 */ b lbl_80267800 -lbl_802677F0: -/* 802677F0 00264730 FC 20 00 90 */ fmr f1, f0 -/* 802677F4 00264734 4B FF FE 4D */ bl U_GetAtanTable__Fff -/* 802677F8 00264738 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 802677FC 0026473C 7C 60 00 D0 */ neg r3, r0 -lbl_80267800: -/* 80267800 00264740 7C 63 07 34 */ extsh r3, r3 -/* 80267804 00264744 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80267808 00264748 7C 08 03 A6 */ mtlr r0 -/* 8026780C 0026474C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80267810 00264750 4E 80 00 20 */ blr diff --git a/include/SComponent/c_math/asm/func_80267814.s b/include/SComponent/c_math/asm/func_80267814.s deleted file mode 100644 index ebda507897e..00000000000 --- a/include/SComponent/c_math/asm/func_80267814.s +++ /dev/null @@ -1,18 +0,0 @@ -/* 80267814 00264754 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80267818 00264758 7C 08 02 A6 */ mflr r0 -/* 8026781C 0026475C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80267820 00264760 4B FF FE 55 */ bl cM_atan2s__Fff -/* 80267824 00264764 7C 60 07 34 */ extsh r0, r3 -/* 80267828 00264768 C8 22 B6 C0 */ lfd f1, lbl_804550C0-_SDA2_BASE_(r2) -/* 8026782C 0026476C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80267830 00264770 90 01 00 0C */ stw r0, 0xc(r1) -/* 80267834 00264774 3C 00 43 30 */ lis r0, 0x4330 -/* 80267838 00264778 90 01 00 08 */ stw r0, 8(r1) -/* 8026783C 0026477C C8 01 00 08 */ lfd f0, 8(r1) -/* 80267840 00264780 EC 20 08 28 */ fsubs f1, f0, f1 -/* 80267844 00264784 C0 02 B6 BC */ lfs f0, lbl_804550BC-_SDA2_BASE_(r2) -/* 80267848 00264788 EC 20 00 72 */ fmuls f1, f0, f1 -/* 8026784C 0026478C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80267850 00264790 7C 08 03 A6 */ mtlr r0 -/* 80267854 00264794 38 21 00 10 */ addi r1, r1, 0x10 -/* 80267858 00264798 4E 80 00 20 */ blr diff --git a/include/SComponent/c_math/asm/func_8026786C.s b/include/SComponent/c_math/asm/func_8026786C.s deleted file mode 100644 index 839c08684a9..00000000000 --- a/include/SComponent/c_math/asm/func_8026786C.s +++ /dev/null @@ -1,58 +0,0 @@ -/* 8026786C 002647AC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80267870 002647B0 7C 08 02 A6 */ mflr r0 -/* 80267874 002647B4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80267878 002647B8 80 0D 8B E8 */ lwz r0, lbl_80451168-_SDA_BASE_(r13) -/* 8026787C 002647BC 1C 80 00 AB */ mulli r4, r0, 0xab -/* 80267880 002647C0 38 60 76 3D */ li r3, 0x763d -/* 80267884 002647C4 7C 04 1B D6 */ divw r0, r4, r3 -/* 80267888 002647C8 7C 00 19 D6 */ mullw r0, r0, r3 -/* 8026788C 002647CC 7C C0 20 50 */ subf r6, r0, r4 -/* 80267890 002647D0 90 CD 8B E8 */ stw r6, lbl_80451168-_SDA_BASE_(r13) -/* 80267894 002647D4 80 0D 8B EC */ lwz r0, lbl_8045116C-_SDA_BASE_(r13) -/* 80267898 002647D8 1C 80 00 AC */ mulli r4, r0, 0xac -/* 8026789C 002647DC 38 60 76 63 */ li r3, 0x7663 -/* 802678A0 002647E0 7C 04 1B D6 */ divw r0, r4, r3 -/* 802678A4 002647E4 7C 00 19 D6 */ mullw r0, r0, r3 -/* 802678A8 002647E8 7C A0 20 50 */ subf r5, r0, r4 -/* 802678AC 002647EC 90 AD 8B EC */ stw r5, lbl_8045116C-_SDA_BASE_(r13) -/* 802678B0 002647F0 80 0D 8B F0 */ lwz r0, lbl_80451170-_SDA_BASE_(r13) -/* 802678B4 002647F4 1C 80 00 AA */ mulli r4, r0, 0xaa -/* 802678B8 002647F8 38 60 76 73 */ li r3, 0x7673 -/* 802678BC 002647FC 7C 04 1B D6 */ divw r0, r4, r3 -/* 802678C0 00264800 7C 00 19 D6 */ mullw r0, r0, r3 -/* 802678C4 00264804 7C 00 20 50 */ subf r0, r0, r4 -/* 802678C8 00264808 90 0D 8B F0 */ stw r0, lbl_80451170-_SDA_BASE_(r13) -/* 802678CC 0026480C C8 82 B6 C0 */ lfd f4, lbl_804550C0-_SDA2_BASE_(r2) -/* 802678D0 00264810 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802678D4 00264814 90 01 00 0C */ stw r0, 0xc(r1) -/* 802678D8 00264818 3C 60 43 30 */ lis r3, 0x4330 -/* 802678DC 0026481C 90 61 00 08 */ stw r3, 8(r1) -/* 802678E0 00264820 C8 01 00 08 */ lfd f0, 8(r1) -/* 802678E4 00264824 EC 20 20 28 */ fsubs f1, f0, f4 -/* 802678E8 00264828 C0 02 B6 C8 */ lfs f0, lbl_804550C8-_SDA2_BASE_(r2) -/* 802678EC 0026482C EC 61 00 24 */ fdivs f3, f1, f0 -/* 802678F0 00264830 6C C0 80 00 */ xoris r0, r6, 0x8000 -/* 802678F4 00264834 90 01 00 14 */ stw r0, 0x14(r1) -/* 802678F8 00264838 90 61 00 10 */ stw r3, 0x10(r1) -/* 802678FC 0026483C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 80267900 00264840 EC 20 20 28 */ fsubs f1, f0, f4 -/* 80267904 00264844 C0 02 B6 CC */ lfs f0, lbl_804550CC-_SDA2_BASE_(r2) -/* 80267908 00264848 EC 41 00 24 */ fdivs f2, f1, f0 -/* 8026790C 0026484C 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 80267910 00264850 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80267914 00264854 90 61 00 18 */ stw r3, 0x18(r1) -/* 80267918 00264858 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 8026791C 0026485C EC 20 20 28 */ fsubs f1, f0, f4 -/* 80267920 00264860 C0 02 B6 D0 */ lfs f0, lbl_804550D0-_SDA2_BASE_(r2) -/* 80267924 00264864 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80267928 00264868 EC 02 00 2A */ fadds f0, f2, f0 -/* 8026792C 0026486C EC 23 00 2A */ fadds f1, f3, f0 -/* 80267930 00264870 C8 42 B6 D8 */ lfd f2, lbl_804550D8-_SDA2_BASE_(r2) -/* 80267934 00264874 48 10 4E 2D */ bl func_8036C760 -/* 80267938 00264878 FC 00 08 18 */ frsp f0, f1 -/* 8026793C 0026487C FC 00 02 10 */ fabs f0, f0 -/* 80267940 00264880 FC 20 00 18 */ frsp f1, f0 -/* 80267944 00264884 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80267948 00264888 7C 08 03 A6 */ mtlr r0 -/* 8026794C 0026488C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80267950 00264890 4E 80 00 20 */ blr diff --git a/include/SComponent/c_math/asm/func_802679E4.s b/include/SComponent/c_math/asm/func_802679E4.s deleted file mode 100644 index 5789bcc546b..00000000000 --- a/include/SComponent/c_math/asm/func_802679E4.s +++ /dev/null @@ -1,58 +0,0 @@ -/* 802679E4 00264924 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802679E8 00264928 7C 08 02 A6 */ mflr r0 -/* 802679EC 0026492C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802679F0 00264930 80 0D 8B F4 */ lwz r0, lbl_80451174-_SDA_BASE_(r13) -/* 802679F4 00264934 1C 80 00 AB */ mulli r4, r0, 0xab -/* 802679F8 00264938 38 60 76 3D */ li r3, 0x763d -/* 802679FC 0026493C 7C 04 1B D6 */ divw r0, r4, r3 -/* 80267A00 00264940 7C 00 19 D6 */ mullw r0, r0, r3 -/* 80267A04 00264944 7C C0 20 50 */ subf r6, r0, r4 -/* 80267A08 00264948 90 CD 8B F4 */ stw r6, lbl_80451174-_SDA_BASE_(r13) -/* 80267A0C 0026494C 80 0D 8B F8 */ lwz r0, lbl_80451178-_SDA_BASE_(r13) -/* 80267A10 00264950 1C 80 00 AC */ mulli r4, r0, 0xac -/* 80267A14 00264954 38 60 76 63 */ li r3, 0x7663 -/* 80267A18 00264958 7C 04 1B D6 */ divw r0, r4, r3 -/* 80267A1C 0026495C 7C 00 19 D6 */ mullw r0, r0, r3 -/* 80267A20 00264960 7C A0 20 50 */ subf r5, r0, r4 -/* 80267A24 00264964 90 AD 8B F8 */ stw r5, lbl_80451178-_SDA_BASE_(r13) -/* 80267A28 00264968 80 0D 8B FC */ lwz r0, lbl_8045117C-_SDA_BASE_(r13) -/* 80267A2C 0026496C 1C 80 00 AA */ mulli r4, r0, 0xaa -/* 80267A30 00264970 38 60 76 73 */ li r3, 0x7673 -/* 80267A34 00264974 7C 04 1B D6 */ divw r0, r4, r3 -/* 80267A38 00264978 7C 00 19 D6 */ mullw r0, r0, r3 -/* 80267A3C 0026497C 7C 00 20 50 */ subf r0, r0, r4 -/* 80267A40 00264980 90 0D 8B FC */ stw r0, lbl_8045117C-_SDA_BASE_(r13) -/* 80267A44 00264984 C8 82 B6 C0 */ lfd f4, lbl_804550C0-_SDA2_BASE_(r2) -/* 80267A48 00264988 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80267A4C 0026498C 90 01 00 0C */ stw r0, 0xc(r1) -/* 80267A50 00264990 3C 60 43 30 */ lis r3, 0x4330 -/* 80267A54 00264994 90 61 00 08 */ stw r3, 8(r1) -/* 80267A58 00264998 C8 01 00 08 */ lfd f0, 8(r1) -/* 80267A5C 0026499C EC 20 20 28 */ fsubs f1, f0, f4 -/* 80267A60 002649A0 C0 02 B6 C8 */ lfs f0, lbl_804550C8-_SDA2_BASE_(r2) -/* 80267A64 002649A4 EC 61 00 24 */ fdivs f3, f1, f0 -/* 80267A68 002649A8 6C C0 80 00 */ xoris r0, r6, 0x8000 -/* 80267A6C 002649AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80267A70 002649B0 90 61 00 10 */ stw r3, 0x10(r1) -/* 80267A74 002649B4 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 80267A78 002649B8 EC 20 20 28 */ fsubs f1, f0, f4 -/* 80267A7C 002649BC C0 02 B6 CC */ lfs f0, lbl_804550CC-_SDA2_BASE_(r2) -/* 80267A80 002649C0 EC 41 00 24 */ fdivs f2, f1, f0 -/* 80267A84 002649C4 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 80267A88 002649C8 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80267A8C 002649CC 90 61 00 18 */ stw r3, 0x18(r1) -/* 80267A90 002649D0 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 80267A94 002649D4 EC 20 20 28 */ fsubs f1, f0, f4 -/* 80267A98 002649D8 C0 02 B6 D0 */ lfs f0, lbl_804550D0-_SDA2_BASE_(r2) -/* 80267A9C 002649DC EC 01 00 24 */ fdivs f0, f1, f0 -/* 80267AA0 002649E0 EC 02 00 2A */ fadds f0, f2, f0 -/* 80267AA4 002649E4 EC 23 00 2A */ fadds f1, f3, f0 -/* 80267AA8 002649E8 C8 42 B6 D8 */ lfd f2, lbl_804550D8-_SDA2_BASE_(r2) -/* 80267AAC 002649EC 48 10 4C B5 */ bl func_8036C760 -/* 80267AB0 002649F0 FC 00 08 18 */ frsp f0, f1 -/* 80267AB4 002649F4 FC 00 02 10 */ fabs f0, f0 -/* 80267AB8 002649F8 FC 20 00 18 */ frsp f1, f0 -/* 80267ABC 002649FC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80267AC0 00264A00 7C 08 03 A6 */ mtlr r0 -/* 80267AC4 00264A04 38 21 00 20 */ addi r1, r1, 0x20 -/* 80267AC8 00264A08 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/SComponent/c_sxyz/asm/func_802674E8.s b/include/SComponent/c_sxyz/asm/func_802674E8.s deleted file mode 100644 index d3bab83b92d..00000000000 --- a/include/SComponent/c_sxyz/asm/func_802674E8.s +++ /dev/null @@ -1,41 +0,0 @@ -/* 802674E8 00264428 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802674EC 0026442C 7C 08 02 A6 */ mflr r0 -/* 802674F0 00264430 90 01 00 44 */ stw r0, 0x44(r1) -/* 802674F4 00264434 7C 87 23 78 */ mr r7, r4 -/* 802674F8 00264438 A8 04 00 00 */ lha r0, 0(r4) -/* 802674FC 0026443C C8 42 B6 A0 */ lfd f2, lbl_804550A0-_SDA2_BASE_(r2) -/* 80267500 00264440 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80267504 00264444 90 01 00 0C */ stw r0, 0xc(r1) -/* 80267508 00264448 3C C0 43 30 */ lis r6, 0x4330 -/* 8026750C 0026444C 90 C1 00 08 */ stw r6, 8(r1) -/* 80267510 00264450 C8 01 00 08 */ lfd f0, 8(r1) -/* 80267514 00264454 EC 00 10 28 */ fsubs f0, f0, f2 -/* 80267518 00264458 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8026751C 0026445C FC 00 00 1E */ fctiwz f0, f0 -/* 80267520 00264460 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 80267524 00264464 80 81 00 14 */ lwz r4, 0x14(r1) -/* 80267528 00264468 A8 07 00 02 */ lha r0, 2(r7) -/* 8026752C 0026446C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80267530 00264470 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80267534 00264474 90 C1 00 18 */ stw r6, 0x18(r1) -/* 80267538 00264478 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 8026753C 0026447C EC 00 10 28 */ fsubs f0, f0, f2 -/* 80267540 00264480 EC 00 00 72 */ fmuls f0, f0, f1 -/* 80267544 00264484 FC 00 00 1E */ fctiwz f0, f0 -/* 80267548 00264488 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 8026754C 0026448C 80 A1 00 24 */ lwz r5, 0x24(r1) -/* 80267550 00264490 A8 07 00 04 */ lha r0, 4(r7) -/* 80267554 00264494 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80267558 00264498 90 01 00 2C */ stw r0, 0x2c(r1) -/* 8026755C 0026449C 90 C1 00 28 */ stw r6, 0x28(r1) -/* 80267560 002644A0 C8 01 00 28 */ lfd f0, 0x28(r1) -/* 80267564 002644A4 EC 00 10 28 */ fsubs f0, f0, f2 -/* 80267568 002644A8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8026756C 002644AC FC 00 00 1E */ fctiwz f0, f0 -/* 80267570 002644B0 D8 01 00 30 */ stfd f0, 0x30(r1) -/* 80267574 002644B4 80 C1 00 34 */ lwz r6, 0x34(r1) -/* 80267578 002644B8 4B FF FE 7D */ bl __ct__5csXyzFsss -/* 8026757C 002644BC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80267580 002644C0 7C 08 03 A6 */ mtlr r0 -/* 80267584 002644C4 38 21 00 40 */ addi r1, r1, 0x40 -/* 80267588 002644C8 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/SComponent/c_xyz.h b/include/SComponent/c_xyz.h index 5ee0b44f37f..df9326c9124 100644 --- a/include/SComponent/c_xyz.h +++ b/include/SComponent/c_xyz.h @@ -5,15 +5,9 @@ #include "global.h" #include "mtx_vec.h" -extern f32 /* 1.0 */ lbl_80455070; -extern f32 /* epsilon */ lbl_80455074; -extern f32 lbl_80455078; -extern f32 lbl_8045507C; -extern f32 lbl_80455080; -extern f32 /* 32.0 */ lbl_80455084; -extern f64 lbl_80455088; -extern f64 lbl_80455090; -extern f64 lbl_80455098; +const static f32 /* epsilon */ lbl_80455074 = 8.0E-11f; +// extern f32 lbl_80455074; + extern u8 lbl_80430CE8; class cXyz : public Vec { @@ -110,8 +104,11 @@ public: } } - bool checkEpsilon() const { return !(PSVECSquareMag(this) < lbl_80455074); } - f32 getSquareMag() const { return PSVECSquareMag(this); } + float getSquareMag() const { return PSVECSquareMag(this); } + + static float getNearZeroValue() { return FLOAT_LABEL(lbl_80455074); } + + bool isNearZeroSquare() const { return (this->getSquareMag() < getNearZeroValue()); } f32 abs2() const { return this->getSquareMag(); } f32 abs2XZ() const { cXyz tmp(this->x, 0, this->z); @@ -127,4 +124,4 @@ extern "C" { // needed for inline asm void cXyz_NS_dtor(void); } -#endif \ No newline at end of file +#endif diff --git a/include/SComponent/c_xyz/asm/func_80266DC4.s b/include/SComponent/c_xyz/asm/func_80266DC4.s deleted file mode 100644 index 65188bcd0c0..00000000000 --- a/include/SComponent/c_xyz/asm/func_80266DC4.s +++ /dev/null @@ -1,78 +0,0 @@ -/* 80266DC4 00263D04 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80266DC8 00263D08 7C 08 02 A6 */ mflr r0 -/* 80266DCC 00263D0C 90 01 00 64 */ stw r0, 0x64(r1) -/* 80266DD0 00263D10 93 E1 00 5C */ stw r31, 0x5c(r1) -/* 80266DD4 00263D14 93 C1 00 58 */ stw r30, 0x58(r1) -/* 80266DD8 00263D18 7C 7E 1B 78 */ mr r30, r3 -/* 80266DDC 00263D1C 7C 9F 23 78 */ mr r31, r4 -/* 80266DE0 00263D20 7F E3 FB 78 */ mr r3, r31 -/* 80266DE4 00263D24 48 0E 03 55 */ bl PSVECSquareMag -/* 80266DE8 00263D28 C0 02 B6 74 */ lfs f0, lbl_80455074-_SDA2_BASE_(r2) -/* 80266DEC 00263D2C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80266DF0 00263D30 7C 00 00 26 */ mfcr r0 -/* 80266DF4 00263D34 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f -/* 80266DF8 00263D38 40 82 00 14 */ bne lbl_80266E0C -/* 80266DFC 00263D3C 7F E3 FB 78 */ mr r3, r31 -/* 80266E00 00263D40 38 81 00 44 */ addi r4, r1, 0x44 -/* 80266E04 00263D44 48 0E 02 F1 */ bl PSVECNormalize -/* 80266E08 00263D48 48 00 00 BC */ b lbl_80266EC4 -lbl_80266E0C: -/* 80266E0C 00263D4C 38 61 00 38 */ addi r3, r1, 0x38 -/* 80266E10 00263D50 7F E4 FB 78 */ mr r4, r31 -/* 80266E14 00263D54 C0 22 B6 78 */ lfs f1, lbl_80455078-_SDA2_BASE_(r2) -/* 80266E18 00263D58 4B FF FD 6D */ bl __ml__4cXyzCFf -/* 80266E1C 00263D5C 38 61 00 2C */ addi r3, r1, 0x2c -/* 80266E20 00263D60 38 81 00 38 */ addi r4, r1, 0x38 -/* 80266E24 00263D64 C0 22 B6 7C */ lfs f1, lbl_8045507C-_SDA2_BASE_(r2) -/* 80266E28 00263D68 4B FF FD 5D */ bl __ml__4cXyzCFf -/* 80266E2C 00263D6C 38 61 00 20 */ addi r3, r1, 0x20 -/* 80266E30 00263D70 38 81 00 2C */ addi r4, r1, 0x2c -/* 80266E34 00263D74 4B FF FE FD */ bl normZP__4cXyzCFv -/* 80266E38 00263D78 C0 41 00 20 */ lfs f2, 0x20(r1) -/* 80266E3C 00263D7C D0 41 00 44 */ stfs f2, 0x44(r1) -/* 80266E40 00263D80 C0 21 00 24 */ lfs f1, 0x24(r1) -/* 80266E44 00263D84 D0 21 00 48 */ stfs f1, 0x48(r1) -/* 80266E48 00263D88 C0 01 00 28 */ lfs f0, 0x28(r1) -/* 80266E4C 00263D8C D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 80266E50 00263D90 D0 41 00 14 */ stfs f2, 0x14(r1) -/* 80266E54 00263D94 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 80266E58 00263D98 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80266E5C 00263D9C 38 61 00 14 */ addi r3, r1, 0x14 -/* 80266E60 00263DA0 48 0E 02 D9 */ bl PSVECSquareMag -/* 80266E64 00263DA4 C0 02 B6 74 */ lfs f0, lbl_80455074-_SDA2_BASE_(r2) -/* 80266E68 00263DA8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80266E6C 00263DAC 7C 00 00 26 */ mfcr r0 -/* 80266E70 00263DB0 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f -/* 80266E74 00263DB4 41 82 00 50 */ beq lbl_80266EC4 -/* 80266E78 00263DB8 C0 02 B6 80 */ lfs f0, lbl_80455080-_SDA2_BASE_(r2) -/* 80266E7C 00263DBC D0 01 00 44 */ stfs f0, 0x44(r1) -/* 80266E80 00263DC0 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 80266E84 00263DC4 C0 02 B6 70 */ lfs f0, lbl_80455070-_SDA2_BASE_(r2) -/* 80266E88 00263DC8 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 80266E8C 00263DCC 3C 60 80 3A */ lis r3, lbl_8039A868@ha -/* 80266E90 00263DD0 38 83 A8 68 */ addi r4, r3, lbl_8039A868@l -/* 80266E94 00263DD4 80 64 00 00 */ lwz r3, 0(r4) -/* 80266E98 00263DD8 80 04 00 04 */ lwz r0, 4(r4) -/* 80266E9C 00263DDC 90 61 00 08 */ stw r3, 8(r1) -/* 80266EA0 00263DE0 90 01 00 0C */ stw r0, 0xc(r1) -/* 80266EA4 00263DE4 80 04 00 08 */ lwz r0, 8(r4) -/* 80266EA8 00263DE8 90 01 00 10 */ stw r0, 0x10(r1) -/* 80266EAC 00263DEC C0 01 00 08 */ lfs f0, 8(r1) -/* 80266EB0 00263DF0 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 80266EB4 00263DF4 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80266EB8 00263DF8 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 80266EBC 00263DFC C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80266EC0 00263E00 D0 01 00 4C */ stfs f0, 0x4c(r1) -lbl_80266EC4: -/* 80266EC4 00263E04 C0 01 00 44 */ lfs f0, 0x44(r1) -/* 80266EC8 00263E08 D0 1E 00 00 */ stfs f0, 0(r30) -/* 80266ECC 00263E0C C0 01 00 48 */ lfs f0, 0x48(r1) -/* 80266ED0 00263E10 D0 1E 00 04 */ stfs f0, 4(r30) -/* 80266ED4 00263E14 C0 01 00 4C */ lfs f0, 0x4c(r1) -/* 80266ED8 00263E18 D0 1E 00 08 */ stfs f0, 8(r30) -/* 80266EDC 00263E1C 83 E1 00 5C */ lwz r31, 0x5c(r1) -/* 80266EE0 00263E20 83 C1 00 58 */ lwz r30, 0x58(r1) -/* 80266EE4 00263E24 80 01 00 64 */ lwz r0, 0x64(r1) -/* 80266EE8 00263E28 7C 08 03 A6 */ mtlr r0 -/* 80266EEC 00263E2C 38 21 00 60 */ addi r1, r1, 0x60 -/* 80266EF0 00263E30 4E 80 00 20 */ blr diff --git a/include/Z2AudioLib/Z2StatusMgr/asm/func_802B61E8.s b/include/Z2AudioLib/Z2StatusMgr/asm/func_802B61E8.s index 373b022e4f4..482e767be44 100644 --- a/include/Z2AudioLib/Z2StatusMgr/asm/func_802B61E8.s +++ b/include/Z2AudioLib/Z2StatusMgr/asm/func_802B61E8.s @@ -169,7 +169,7 @@ lbl_802B644C: /* 802B6454 002B3394 38 84 BC 88 */ addi r4, r4, lbl_8039BC88@l /* 802B6458 002B3398 38 84 02 A2 */ addi r4, r4, 0x2a2 /* 802B645C 002B339C 38 A0 00 06 */ li r5, 6 -/* 802B6460 002B33A0 48 0B 24 F5 */ bl func_80368954 +/* 802B6460 002B33A0 48 0B 24 F5 */ bl strncmp /* 802B6464 002B33A4 2C 03 00 00 */ cmpwi r3, 0 /* 802B6468 002B33A8 40 82 00 20 */ bne lbl_802B6488 /* 802B646C 002B33AC 38 00 00 0D */ li r0, 0xd @@ -185,7 +185,7 @@ lbl_802B6488: /* 802B6490 002B33D0 38 84 BC 88 */ addi r4, r4, lbl_8039BC88@l /* 802B6494 002B33D4 38 84 02 A9 */ addi r4, r4, 0x2a9 /* 802B6498 002B33D8 38 A0 00 04 */ li r5, 4 -/* 802B649C 002B33DC 48 0B 24 B9 */ bl func_80368954 +/* 802B649C 002B33DC 48 0B 24 B9 */ bl strncmp /* 802B64A0 002B33E0 2C 03 00 00 */ cmpwi r3, 0 /* 802B64A4 002B33E4 40 82 00 10 */ bne lbl_802B64B4 /* 802B64A8 002B33E8 38 00 00 02 */ li r0, 2 diff --git a/include/c/cLib.h b/include/c/cLib.h deleted file mode 100644 index 0d19c4467dc..00000000000 --- a/include/c/cLib.h +++ /dev/null @@ -1 +0,0 @@ -void cLib_memSet(void* ptr, int value, unsigned long size); \ No newline at end of file diff --git a/include/d/d_attention/asm/func_800732B0.s b/include/d/d_attention/asm/func_800732B0.s index 95687b13250..7307245f808 100644 --- a/include/d/d_attention/asm/func_800732B0.s +++ b/include/d/d_attention/asm/func_800732B0.s @@ -42,7 +42,7 @@ /* 80073354 00070294 C0 03 00 D0 */ lfs f0, 0xd0(r3) /* 80073358 00070298 EC 01 00 32 */ fmuls f0, f1, f0 /* 8007335C 0007029C EC 22 00 32 */ fmuls f1, f2, f0 -/* 80073360 000702A0 48 2F 93 09 */ bl func_8036C668 +/* 80073360 000702A0 48 2F 93 09 */ bl tan /* 80073364 000702A4 FF E0 08 18 */ frsp f31, f1 /* 80073368 000702A8 C0 22 8C B4 */ lfs f1, lbl_804526B4-_SDA2_BASE_(r2) /* 8007336C 000702AC 3C 60 80 42 */ lis r3, lbl_80424B0C@ha diff --git a/include/d/d_camera/asm/func_80165238.s b/include/d/d_camera/asm/func_80165238.s index 0581192e4da..b2c5b06973c 100644 --- a/include/d/d_camera/asm/func_80165238.s +++ b/include/d/d_camera/asm/func_80165238.s @@ -310,14 +310,14 @@ lbl_801656B8: /* 801656C4 00162604 73 40 00 05 */ andi. r0, r26, 5 /* 801656C8 00162608 41 82 00 14 */ beq lbl_801656DC /* 801656CC 0016260C FC 20 F0 90 */ fmr f1, f30 -/* 801656D0 00162610 48 20 6F 99 */ bl func_8036C668 +/* 801656D0 00162610 48 20 6F 99 */ bl tan /* 801656D4 00162614 FC 00 08 18 */ frsp f0, f1 /* 801656D8 00162618 FF 80 00 90 */ fmr f28, f0 lbl_801656DC: /* 801656DC 0016261C 73 40 00 0A */ andi. r0, r26, 0xa /* 801656E0 00162620 41 82 00 14 */ beq lbl_801656F4 /* 801656E4 00162624 FC 20 F8 90 */ fmr f1, f31 -/* 801656E8 00162628 48 20 6F 81 */ bl func_8036C668 +/* 801656E8 00162628 48 20 6F 81 */ bl tan /* 801656EC 0016262C FC 00 08 18 */ frsp f0, f1 /* 801656F0 00162630 FF 60 00 90 */ fmr f27, f0 lbl_801656F4: diff --git a/include/d/d_camera/asm/func_8017ADC0.s b/include/d/d_camera/asm/func_8017ADC0.s index 735ad25b295..ac17c9545e2 100644 --- a/include/d/d_camera/asm/func_8017ADC0.s +++ b/include/d/d_camera/asm/func_8017ADC0.s @@ -383,7 +383,7 @@ lbl_8017B24C: /* 8017B38C 001782CC 38 84 3F 68 */ addi r4, r4, lbl_80393F68@l /* 8017B390 001782D0 38 84 02 17 */ addi r4, r4, 0x217 /* 8017B394 001782D4 38 A0 00 04 */ li r5, 4 -/* 8017B398 001782D8 48 1E D5 BD */ bl func_80368954 +/* 8017B398 001782D8 48 1E D5 BD */ bl strncmp /* 8017B39C 001782DC 7C 60 00 34 */ cntlzw r0, r3 /* 8017B3A0 001782E0 54 00 D9 7E */ srwi r0, r0, 5 /* 8017B3A4 001782E4 98 1F 04 7B */ stb r0, 0x47b(r31) diff --git a/include/d/d_item/d_item/asm/func_8009B7C4.s b/include/d/d_item/d_item/asm/func_8009B7C4.s index 761489d83eb..4ad4a712128 100644 --- a/include/d/d_item/d_item/asm/func_8009B7C4.s +++ b/include/d/d_item/d_item/asm/func_8009B7C4.s @@ -58,7 +58,7 @@ lbl_8009B888: /* 8009B894 000987D4 3C 80 80 38 */ lis r4, lbl_8037B0D0@ha /* 8009B898 000987D8 38 84 B0 D0 */ addi r4, r4, lbl_8037B0D0@l /* 8009B89C 000987DC 38 A0 00 06 */ li r5, 6 -/* 8009B8A0 000987E0 48 2C D0 B5 */ bl func_80368954 +/* 8009B8A0 000987E0 48 2C D0 B5 */ bl strncmp /* 8009B8A4 000987E4 2C 03 00 00 */ cmpwi r3, 0 /* 8009B8A8 000987E8 41 82 00 0C */ beq lbl_8009B8B4 /* 8009B8AC 000987EC 38 60 00 01 */ li r3, 1 diff --git a/include/d/d_kankyo/asm/func_8019D2C4.s b/include/d/d_kankyo/asm/func_8019D2C4.s index 6a315aa5ba9..eeb505ec84e 100644 --- a/include/d/d_kankyo/asm/func_8019D2C4.s +++ b/include/d/d_kankyo/asm/func_8019D2C4.s @@ -19,7 +19,7 @@ lbl_8019D300: /* 8019D304 0019A244 EC 20 00 72 */ fmuls f1, f0, f1 /* 8019D308 0019A248 C0 02 A2 40 */ lfs f0, lbl_80453C40-_SDA2_BASE_(r2) /* 8019D30C 0019A24C EC 21 00 24 */ fdivs f1, f1, f0 -/* 8019D310 0019A250 48 1C ED 19 */ bl func_8036C028 +/* 8019D310 0019A250 48 1C ED 19 */ bl cos /* 8019D314 0019A254 FC 80 08 18 */ frsp f4, f1 /* 8019D318 0019A258 57 E0 06 3E */ clrlwi r0, r31, 0x18 /* 8019D31C 0019A25C 28 00 00 06 */ cmplwi r0, 6 diff --git a/include/d/d_kankyo/asm/func_8019F788.s b/include/d/d_kankyo/asm/func_8019F788.s index 8d4d8f1c818..267c1269635 100644 --- a/include/d/d_kankyo/asm/func_8019F788.s +++ b/include/d/d_kankyo/asm/func_8019F788.s @@ -101,19 +101,19 @@ lbl_8019F8FC: /* 8019F8FC 0019C83C C0 02 A2 D8 */ lfs f0, lbl_80453CD8-_SDA2_BASE_(r2) /* 8019F900 0019C840 EF E0 07 F2 */ fmuls f31, f0, f31 /* 8019F904 0019C844 FC 20 F8 90 */ fmr f1, f31 -/* 8019F908 0019C848 48 1C CC 89 */ bl func_8036C590 +/* 8019F908 0019C848 48 1C CC 89 */ bl sin /* 8019F90C 0019C84C FC 20 08 18 */ frsp f1, f1 /* 8019F910 0019C850 C0 02 A2 04 */ lfs f0, lbl_80453C04-_SDA2_BASE_(r2) /* 8019F914 0019C854 EC 00 00 72 */ fmuls f0, f0, f1 /* 8019F918 0019C858 D0 01 00 08 */ stfs f0, 8(r1) /* 8019F91C 0019C85C FC 20 F8 90 */ fmr f1, f31 -/* 8019F920 0019C860 48 1C C7 09 */ bl func_8036C028 +/* 8019F920 0019C860 48 1C C7 09 */ bl cos /* 8019F924 0019C864 FC 20 08 18 */ frsp f1, f1 /* 8019F928 0019C868 C0 02 A2 04 */ lfs f0, lbl_80453C04-_SDA2_BASE_(r2) /* 8019F92C 0019C86C EC 00 00 72 */ fmuls f0, f0, f1 /* 8019F930 0019C870 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8019F934 0019C874 FC 20 F8 90 */ fmr f1, f31 -/* 8019F938 0019C878 48 1C C6 F1 */ bl func_8036C028 +/* 8019F938 0019C878 48 1C C6 F1 */ bl cos /* 8019F93C 0019C87C FC 20 08 18 */ frsp f1, f1 /* 8019F940 0019C880 C0 02 A2 DC */ lfs f0, lbl_80453CDC-_SDA2_BASE_(r2) /* 8019F944 0019C884 EC 40 00 72 */ fmuls f2, f0, f1 @@ -132,19 +132,19 @@ lbl_8019F8FC: /* 8019F978 0019C8B8 C0 02 A2 D8 */ lfs f0, lbl_80453CD8-_SDA2_BASE_(r2) /* 8019F97C 0019C8BC EF C0 07 B2 */ fmuls f30, f0, f30 /* 8019F980 0019C8C0 FC 20 F0 90 */ fmr f1, f30 -/* 8019F984 0019C8C4 48 1C CC 0D */ bl func_8036C590 +/* 8019F984 0019C8C4 48 1C CC 0D */ bl sin /* 8019F988 0019C8C8 FC 20 08 18 */ frsp f1, f1 /* 8019F98C 0019C8CC C0 02 A2 04 */ lfs f0, lbl_80453C04-_SDA2_BASE_(r2) /* 8019F990 0019C8D0 EC 00 00 72 */ fmuls f0, f0, f1 /* 8019F994 0019C8D4 D0 01 00 08 */ stfs f0, 8(r1) /* 8019F998 0019C8D8 FC 20 F0 90 */ fmr f1, f30 -/* 8019F99C 0019C8DC 48 1C C6 8D */ bl func_8036C028 +/* 8019F99C 0019C8DC 48 1C C6 8D */ bl cos /* 8019F9A0 0019C8E0 FC 20 08 18 */ frsp f1, f1 /* 8019F9A4 0019C8E4 C0 02 A2 04 */ lfs f0, lbl_80453C04-_SDA2_BASE_(r2) /* 8019F9A8 0019C8E8 EC 00 00 72 */ fmuls f0, f0, f1 /* 8019F9AC 0019C8EC D0 01 00 0C */ stfs f0, 0xc(r1) /* 8019F9B0 0019C8F0 FC 20 F0 90 */ fmr f1, f30 -/* 8019F9B4 0019C8F4 48 1C C6 75 */ bl func_8036C028 +/* 8019F9B4 0019C8F4 48 1C C6 75 */ bl cos /* 8019F9B8 0019C8F8 FC 20 08 18 */ frsp f1, f1 /* 8019F9BC 0019C8FC C0 02 A2 DC */ lfs f0, lbl_80453CDC-_SDA2_BASE_(r2) /* 8019F9C0 0019C900 EC 20 00 72 */ fmuls f1, f0, f1 diff --git a/include/d/d_kankyo/d_kankyo_rain/asm/func_80062B4C.s b/include/d/d_kankyo/d_kankyo_rain/asm/func_80062B4C.s index 7346a7f4a51..2fce3b31f07 100644 --- a/include/d/d_kankyo/d_kankyo_rain/asm/func_80062B4C.s +++ b/include/d/d_kankyo/d_kankyo_rain/asm/func_80062B4C.s @@ -371,11 +371,11 @@ lbl_800630B0: /* 800630F4 00060034 FC 00 B8 34 */ frsqrte f0, f23 /* 800630F8 00060038 EE E0 05 F2 */ fmuls f23, f0, f23 lbl_800630FC: -/* 800630FC 0006003C 48 30 96 25 */ bl func_8036C720 +/* 800630FC 0006003C 48 30 96 25 */ bl atan2 /* 80063100 00060040 FF 20 08 18 */ frsp f25, f1 /* 80063104 00060044 C0 21 00 34 */ lfs f1, 0x34(r1) /* 80063108 00060048 FC 40 B8 90 */ fmr f2, f23 -/* 8006310C 0006004C 48 30 96 15 */ bl func_8036C720 +/* 8006310C 0006004C 48 30 96 15 */ bl atan2 /* 80063110 00060050 C0 21 00 54 */ lfs f1, 0x54(r1) /* 80063114 00060054 EC 61 00 72 */ fmuls f3, f1, f1 /* 80063118 00060058 C0 41 00 5C */ lfs f2, 0x5c(r1) @@ -387,11 +387,11 @@ lbl_800630FC: /* 80063130 00060070 FC 00 B8 34 */ frsqrte f0, f23 /* 80063134 00060074 EE E0 05 F2 */ fmuls f23, f0, f23 lbl_80063138: -/* 80063138 00060078 48 30 95 E9 */ bl func_8036C720 +/* 80063138 00060078 48 30 95 E9 */ bl atan2 /* 8006313C 0006007C FF 40 08 18 */ frsp f26, f1 /* 80063140 00060080 C0 21 00 58 */ lfs f1, 0x58(r1) /* 80063144 00060084 FC 40 B8 90 */ fmr f2, f23 -/* 80063148 00060088 48 30 95 D9 */ bl func_8036C720 +/* 80063148 00060088 48 30 95 D9 */ bl atan2 /* 8006314C 0006008C C0 62 8A 58 */ lfs f3, lbl_80452458-_SDA2_BASE_(r2) /* 80063150 00060090 C0 42 88 A8 */ lfs f2, lbl_804522A8-_SDA2_BASE_(r2) /* 80063154 00060094 EC 3A C8 28 */ fsubs f1, f26, f25 diff --git a/include/d/d_kankyo/d_kankyo_rain/asm/func_80063670.s b/include/d/d_kankyo/d_kankyo_rain/asm/func_80063670.s index 84a0d2e26ae..b24af590876 100644 --- a/include/d/d_kankyo/d_kankyo_rain/asm/func_80063670.s +++ b/include/d/d_kankyo/d_kankyo_rain/asm/func_80063670.s @@ -520,11 +520,11 @@ lbl_80063DE4: /* 80063E40 00060D80 FC 00 B8 34 */ frsqrte f0, f23 /* 80063E44 00060D84 EE E0 05 F2 */ fmuls f23, f0, f23 lbl_80063E48: -/* 80063E48 00060D88 48 30 88 D9 */ bl func_8036C720 +/* 80063E48 00060D88 48 30 88 D9 */ bl atan2 /* 80063E4C 00060D8C FF 20 08 18 */ frsp f25, f1 /* 80063E50 00060D90 C0 21 00 34 */ lfs f1, 0x34(r1) /* 80063E54 00060D94 FC 40 B8 90 */ fmr f2, f23 -/* 80063E58 00060D98 48 30 88 C9 */ bl func_8036C720 +/* 80063E58 00060D98 48 30 88 C9 */ bl atan2 /* 80063E5C 00060D9C C0 21 00 54 */ lfs f1, 0x54(r1) /* 80063E60 00060DA0 EC 61 00 72 */ fmuls f3, f1, f1 /* 80063E64 00060DA4 C0 41 00 5C */ lfs f2, 0x5c(r1) @@ -536,11 +536,11 @@ lbl_80063E48: /* 80063E7C 00060DBC FC 00 B8 34 */ frsqrte f0, f23 /* 80063E80 00060DC0 EE E0 05 F2 */ fmuls f23, f0, f23 lbl_80063E84: -/* 80063E84 00060DC4 48 30 88 9D */ bl func_8036C720 +/* 80063E84 00060DC4 48 30 88 9D */ bl atan2 /* 80063E88 00060DC8 FF 40 08 18 */ frsp f26, f1 /* 80063E8C 00060DCC C0 21 00 58 */ lfs f1, 0x58(r1) /* 80063E90 00060DD0 FC 40 B8 90 */ fmr f2, f23 -/* 80063E94 00060DD4 48 30 88 8D */ bl func_8036C720 +/* 80063E94 00060DD4 48 30 88 8D */ bl atan2 /* 80063E98 00060DD8 C0 62 8A 58 */ lfs f3, lbl_80452458-_SDA2_BASE_(r2) /* 80063E9C 00060DDC C0 42 88 A8 */ lfs f2, lbl_804522A8-_SDA2_BASE_(r2) /* 80063EA0 00060DE0 EC 3A C8 28 */ fsubs f1, f26, f25 diff --git a/include/d/d_kankyo/d_kankyo_rain/asm/func_8006A090.s b/include/d/d_kankyo/d_kankyo_rain/asm/func_8006A090.s index 7b5d853db7c..442e0ce0676 100644 --- a/include/d/d_kankyo/d_kankyo_rain/asm/func_8006A090.s +++ b/include/d/d_kankyo/d_kankyo_rain/asm/func_8006A090.s @@ -656,11 +656,11 @@ lbl_8006AA38: /* 8006AA58 00067998 FC 00 C8 34 */ frsqrte f0, f25 /* 8006AA5C 0006799C EF 20 06 72 */ fmuls f25, f0, f25 lbl_8006AA60: -/* 8006AA60 000679A0 48 30 1C C1 */ bl func_8036C720 +/* 8006AA60 000679A0 48 30 1C C1 */ bl atan2 /* 8006AA64 000679A4 FF 40 08 18 */ frsp f26, f1 /* 8006AA68 000679A8 C0 21 00 38 */ lfs f1, 0x38(r1) /* 8006AA6C 000679AC FC 40 C8 90 */ fmr f2, f25 -/* 8006AA70 000679B0 48 30 1C B1 */ bl func_8036C720 +/* 8006AA70 000679B0 48 30 1C B1 */ bl atan2 /* 8006AA74 000679B4 FC 00 08 18 */ frsp f0, f1 /* 8006AA78 000679B8 EF 5A B0 2A */ fadds f26, f26, f22 /* 8006AA7C 000679BC EF 60 A8 2A */ fadds f27, f0, f21 @@ -699,22 +699,22 @@ lbl_8006AA98: /* 8006AAFC 00067A3C FE C0 00 90 */ fmr f22, f0 lbl_8006AB00: /* 8006AB00 00067A40 FC 20 A8 90 */ fmr f1, f21 -/* 8006AB04 00067A44 48 30 1A 8D */ bl func_8036C590 +/* 8006AB04 00067A44 48 30 1A 8D */ bl sin /* 8006AB08 00067A48 FE E0 08 18 */ frsp f23, f1 /* 8006AB0C 00067A4C FC 20 B0 90 */ fmr f1, f22 -/* 8006AB10 00067A50 48 30 15 19 */ bl func_8036C028 +/* 8006AB10 00067A50 48 30 15 19 */ bl cos /* 8006AB14 00067A54 FC 00 08 18 */ frsp f0, f1 /* 8006AB18 00067A58 EC 00 05 F2 */ fmuls f0, f0, f23 /* 8006AB1C 00067A5C D0 01 00 70 */ stfs f0, 0x70(r1) /* 8006AB20 00067A60 FC 20 B0 90 */ fmr f1, f22 -/* 8006AB24 00067A64 48 30 1A 6D */ bl func_8036C590 +/* 8006AB24 00067A64 48 30 1A 6D */ bl sin /* 8006AB28 00067A68 FC 00 08 18 */ frsp f0, f1 /* 8006AB2C 00067A6C D0 01 00 74 */ stfs f0, 0x74(r1) /* 8006AB30 00067A70 FC 20 A8 90 */ fmr f1, f21 -/* 8006AB34 00067A74 48 30 14 F5 */ bl func_8036C028 +/* 8006AB34 00067A74 48 30 14 F5 */ bl cos /* 8006AB38 00067A78 FE E0 08 18 */ frsp f23, f1 /* 8006AB3C 00067A7C FC 20 B0 90 */ fmr f1, f22 -/* 8006AB40 00067A80 48 30 14 E9 */ bl func_8036C028 +/* 8006AB40 00067A80 48 30 14 E9 */ bl cos /* 8006AB44 00067A84 FC 00 08 18 */ frsp f0, f1 /* 8006AB48 00067A88 EC 20 05 F2 */ fmuls f1, f0, f23 /* 8006AB4C 00067A8C D0 21 00 78 */ stfs f1, 0x78(r1) @@ -730,22 +730,22 @@ lbl_8006AB00: /* 8006AB74 00067AB4 FF 80 00 90 */ fmr f28, f0 lbl_8006AB78: /* 8006AB78 00067AB8 FC 20 C8 90 */ fmr f1, f25 -/* 8006AB7C 00067ABC 48 30 1A 15 */ bl func_8036C590 +/* 8006AB7C 00067ABC 48 30 1A 15 */ bl sin /* 8006AB80 00067AC0 FE E0 08 18 */ frsp f23, f1 /* 8006AB84 00067AC4 FC 20 E0 90 */ fmr f1, f28 -/* 8006AB88 00067AC8 48 30 14 A1 */ bl func_8036C028 +/* 8006AB88 00067AC8 48 30 14 A1 */ bl cos /* 8006AB8C 00067ACC FC 00 08 18 */ frsp f0, f1 /* 8006AB90 00067AD0 EC 00 05 F2 */ fmuls f0, f0, f23 /* 8006AB94 00067AD4 D0 01 00 70 */ stfs f0, 0x70(r1) /* 8006AB98 00067AD8 FC 20 E0 90 */ fmr f1, f28 -/* 8006AB9C 00067ADC 48 30 19 F5 */ bl func_8036C590 +/* 8006AB9C 00067ADC 48 30 19 F5 */ bl sin /* 8006ABA0 00067AE0 FC 00 08 18 */ frsp f0, f1 /* 8006ABA4 00067AE4 D0 01 00 74 */ stfs f0, 0x74(r1) /* 8006ABA8 00067AE8 FC 20 C8 90 */ fmr f1, f25 -/* 8006ABAC 00067AEC 48 30 14 7D */ bl func_8036C028 +/* 8006ABAC 00067AEC 48 30 14 7D */ bl cos /* 8006ABB0 00067AF0 FE E0 08 18 */ frsp f23, f1 /* 8006ABB4 00067AF4 FC 20 E0 90 */ fmr f1, f28 -/* 8006ABB8 00067AF8 48 30 14 71 */ bl func_8036C028 +/* 8006ABB8 00067AF8 48 30 14 71 */ bl cos /* 8006ABBC 00067AFC FC 00 08 18 */ frsp f0, f1 /* 8006ABC0 00067B00 EC 20 05 F2 */ fmuls f1, f0, f23 /* 8006ABC4 00067B04 D0 21 00 78 */ stfs f1, 0x78(r1) @@ -758,22 +758,22 @@ lbl_8006AB78: /* 8006ABE0 00067B20 C0 02 87 B8 */ lfs f0, lbl_804521B8-_SDA2_BASE_(r2) /* 8006ABE4 00067B24 EF 9B 00 28 */ fsubs f28, f27, f0 /* 8006ABE8 00067B28 FC 20 C8 90 */ fmr f1, f25 -/* 8006ABEC 00067B2C 48 30 19 A5 */ bl func_8036C590 +/* 8006ABEC 00067B2C 48 30 19 A5 */ bl sin /* 8006ABF0 00067B30 FE E0 08 18 */ frsp f23, f1 /* 8006ABF4 00067B34 FC 20 E0 90 */ fmr f1, f28 -/* 8006ABF8 00067B38 48 30 14 31 */ bl func_8036C028 +/* 8006ABF8 00067B38 48 30 14 31 */ bl cos /* 8006ABFC 00067B3C FC 00 08 18 */ frsp f0, f1 /* 8006AC00 00067B40 EC 00 05 F2 */ fmuls f0, f0, f23 /* 8006AC04 00067B44 D0 01 00 70 */ stfs f0, 0x70(r1) /* 8006AC08 00067B48 FC 20 E0 90 */ fmr f1, f28 -/* 8006AC0C 00067B4C 48 30 19 85 */ bl func_8036C590 +/* 8006AC0C 00067B4C 48 30 19 85 */ bl sin /* 8006AC10 00067B50 FC 00 08 18 */ frsp f0, f1 /* 8006AC14 00067B54 D0 01 00 74 */ stfs f0, 0x74(r1) /* 8006AC18 00067B58 FC 20 C8 90 */ fmr f1, f25 -/* 8006AC1C 00067B5C 48 30 14 0D */ bl func_8036C028 +/* 8006AC1C 00067B5C 48 30 14 0D */ bl cos /* 8006AC20 00067B60 FE E0 08 18 */ frsp f23, f1 /* 8006AC24 00067B64 FC 20 E0 90 */ fmr f1, f28 -/* 8006AC28 00067B68 48 30 14 01 */ bl func_8036C028 +/* 8006AC28 00067B68 48 30 14 01 */ bl cos /* 8006AC2C 00067B6C FC 00 08 18 */ frsp f0, f1 /* 8006AC30 00067B70 EC 20 05 F2 */ fmuls f1, f0, f23 /* 8006AC34 00067B74 D0 21 00 78 */ stfs f1, 0x78(r1) @@ -786,22 +786,22 @@ lbl_8006AB78: /* 8006AC50 00067B90 C0 02 87 B8 */ lfs f0, lbl_804521B8-_SDA2_BASE_(r2) /* 8006AC54 00067B94 EF 3B 00 28 */ fsubs f25, f27, f0 /* 8006AC58 00067B98 FC 20 C0 90 */ fmr f1, f24 -/* 8006AC5C 00067B9C 48 30 19 35 */ bl func_8036C590 +/* 8006AC5C 00067B9C 48 30 19 35 */ bl sin /* 8006AC60 00067BA0 FE E0 08 18 */ frsp f23, f1 /* 8006AC64 00067BA4 FC 20 C8 90 */ fmr f1, f25 -/* 8006AC68 00067BA8 48 30 13 C1 */ bl func_8036C028 +/* 8006AC68 00067BA8 48 30 13 C1 */ bl cos /* 8006AC6C 00067BAC FC 00 08 18 */ frsp f0, f1 /* 8006AC70 00067BB0 EC 00 05 F2 */ fmuls f0, f0, f23 /* 8006AC74 00067BB4 D0 01 00 70 */ stfs f0, 0x70(r1) /* 8006AC78 00067BB8 FC 20 C8 90 */ fmr f1, f25 -/* 8006AC7C 00067BBC 48 30 19 15 */ bl func_8036C590 +/* 8006AC7C 00067BBC 48 30 19 15 */ bl sin /* 8006AC80 00067BC0 FC 00 08 18 */ frsp f0, f1 /* 8006AC84 00067BC4 D0 01 00 74 */ stfs f0, 0x74(r1) /* 8006AC88 00067BC8 FC 20 C0 90 */ fmr f1, f24 -/* 8006AC8C 00067BCC 48 30 13 9D */ bl func_8036C028 +/* 8006AC8C 00067BCC 48 30 13 9D */ bl cos /* 8006AC90 00067BD0 FE E0 08 18 */ frsp f23, f1 /* 8006AC94 00067BD4 FC 20 C8 90 */ fmr f1, f25 -/* 8006AC98 00067BD8 48 30 13 91 */ bl func_8036C028 +/* 8006AC98 00067BD8 48 30 13 91 */ bl cos /* 8006AC9C 00067BDC FC 00 08 18 */ frsp f0, f1 /* 8006ACA0 00067BE0 EC 80 05 F2 */ fmuls f4, f0, f23 /* 8006ACA4 00067BE4 D0 81 00 78 */ stfs f4, 0x78(r1) diff --git a/include/d/d_stage/asm/func_8002490C.s b/include/d/d_stage/asm/func_8002490C.s index dce05392748..20f33018fc3 100644 --- a/include/d/d_stage/asm/func_8002490C.s +++ b/include/d/d_stage/asm/func_8002490C.s @@ -6,7 +6,7 @@ /* 80024920 00021860 38 03 69 6C */ addi r0, r3, lbl_803A696C@l /* 80024924 00021864 7C 60 2A 14 */ add r3, r0, r5 /* 80024928 00021868 38 A0 00 09 */ li r5, 9 -/* 8002492C 0002186C 48 34 41 BD */ bl func_80368AE8 +/* 8002492C 0002186C 48 34 41 BD */ bl strncpy /* 80024930 00021870 80 01 00 14 */ lwz r0, 0x14(r1) /* 80024934 00021874 7C 08 03 A6 */ mtlr r0 /* 80024938 00021878 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/f/f_op/f_op_actor_mng/asm/func_8001D7A0.s b/include/f/f_op/f_op_actor_mng/asm/func_8001D7A0.s index db11ae39ddc..9c64e12a624 100644 --- a/include/f/f_op/f_op_actor_mng/asm/func_8001D7A0.s +++ b/include/f/f_op/f_op_actor_mng/asm/func_8001D7A0.s @@ -15,7 +15,7 @@ /* 8001D7D8 0001A718 48 34 B3 55 */ bl strcpy /* 8001D7DC 0001A71C 38 61 00 08 */ addi r3, r1, 8 /* 8001D7E0 0001A720 38 80 00 3A */ li r4, 0x3a -/* 8001D7E4 0001A724 48 34 B1 41 */ bl func_80368924 +/* 8001D7E4 0001A724 48 34 B1 41 */ bl strchr /* 8001D7E8 0001A728 28 03 00 00 */ cmplwi r3, 0 /* 8001D7EC 0001A72C 41 82 00 5C */ beq lbl_8001D848 /* 8001D7F0 0001A730 38 00 00 00 */ li r0, 0 diff --git a/include/global.h b/include/global.h index 9667d5f98c5..89a7e002811 100644 --- a/include/global.h +++ b/include/global.h @@ -16,27 +16,14 @@ #define LOGF(FMT, ...) #define FLAG_ON(V, F) (((V) & (F)) == 0) +#define FLOAT_LABEL(x) (*(f32*)&x) +#define DOUBLE_LABEL(x) (*(f64*)&x) + struct JUTWarn { JUTWarn& operator<<(const char*) { return *this; } JUTWarn& operator<<(long) { return *this; } }; -extern float __fabsf(float); - -inline double fabsd(float f) { - return __fabsf(f); -} - -inline float fabsf(float f) { - return (float)fabsd(f); -} - -// extern float __frsqrte(float); - -inline double sqrt(float f) { - return __frsqrte(f); -} - #include "dolphin/types.h" #include "ar/AR.h" diff --git a/include/msl_c/math.h b/include/msl_c/math.h new file mode 100644 index 00000000000..5e7913a0554 --- /dev/null +++ b/include/msl_c/math.h @@ -0,0 +1,64 @@ +#ifndef MSL_MATH_H_ +#define MSL_MATH_H_ + +#include "dolphin/types.h" + +extern "C" { +f64 acos(f64); +f32 acosf(f32); +f64 asin(f64); +f64 atan(f64); +f64 atan2(f64); +f64 ceil(f64); +f64 copysign(f64, f64); +f64 cos(f64); +f32 cosf(f32); +f64 exp(f64); + +extern f32 __fabsf(f32); +inline f64 fabs(f64 f) { + return __fabsf(f); +} +inline f64 fabsf2(f32 f) { + return __fabsf(f); +} +inline f32 fabsf(f32 f) { + return fabsf2(f); +} + +f64 floor(f64); +f64 fmod(f64, f64); +inline f32 fmodf(f32 f1, f32 f2) { + return fmod(f1, f2); +} +inline s32 fpclassify(f32 f) { + u32 var = *(u32*)&f; + switch (var & 0x7F800000) { + case 0x7F800000: + if ((var & 0x7FFFFF) != 0) { + return 1; + } else { + return 2; + } + case 0: + if ((var & 0x7FFFFF) != 0) { + return 5; + } else { + return 3; + } + default: + return 4; + } +} +f64 frexp(f64, s32*); +f64 ldexp(f64, s32); +f64 modf(f64, f64*); +f64 pow(f64, f64); +f64 sin(f64); +f32 sinf(f32); +f64 tan(f64); +f32 tanf(f32); +f64 func_8036C590(f64); +} + +#endif \ No newline at end of file diff --git a/include/msl_c/string.h b/include/msl_c/string.h new file mode 100644 index 00000000000..f39ec80e07b --- /dev/null +++ b/include/msl_c/string.h @@ -0,0 +1,20 @@ +#ifndef MSL_STRING_H_ +#define MSL_STRING_H_ + +#include "dolphin/types.h" + +extern "C" { +void memcpy(void*, const void*, s32); +void* memset(void* dest, int ch, u32 count); +char* strrchr(const char* s, int c); +char* strchr(const char* s, int c); +int strncmp(const char* s1, const char* s2, u32 n); +int strcmp(const char* s1, const char* s2); +char* strcat(char* dest, const char* source); +char* strncpy(char* dest, const char* source, u32 n); +char* strcpy(char* dest, const char* source); +u32 strlen(const char* s); +int tolower(int); +} + +#endif \ No newline at end of file diff --git a/include/variables.h b/include/variables.h index 47a2160ad66..e6629979649 100644 --- a/include/variables.h +++ b/include/variables.h @@ -1054,13 +1054,8 @@ extern u8 lbl_80455058; // additional symbols needed for c_lib.cpp // autogenerated by split.py v0.3 at 2021-01-01 14:12:11.743911 -extern u8 lbl_804551E8; extern u8 lbl_80430DB8; -extern u8 lbl_804551F0; extern u8 lbl_80450768; -extern u8 lbl_804551E0; -extern u8 lbl_804551F8; -extern u8 lbl_80455200; // additional symbols needed for c_sxyz.cpp // autogenerated by split.py v0.3 at 2021-01-01 15:36:38.100807 @@ -2365,7 +2360,7 @@ extern u8 lbl_80451354; extern u8 lbl_804507F0; extern u8 lbl_80455AC0; extern u8 lbl_80455B0C; -extern u8 lbl_80450AEC; +extern float lbl_80450AEC[4]; // array to force 2 step load, MSL_C.PPCEABI.bare.H::__f32_epsilon extern u8 lbl_80455B14; extern u8 lbl_80455AC8; diff --git a/libs/JSystem/JKernel/JKRAram.cpp b/libs/JSystem/JKernel/JKRAram.cpp index 509633042a9..0ee001a5dea 100644 --- a/libs/JSystem/JKernel/JKRAram.cpp +++ b/libs/JSystem/JKernel/JKRAram.cpp @@ -4,6 +4,7 @@ #include "JSystem/JKernel/JKRAramPiece/JKRAramPiece.h" #include "JSystem/JKernel/JKRAramStream/JKRAramStream.h" #include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h" +#include "msl_c/string.h" extern "C" { void __dl__FPv(void); void __RAS_OSDisableInterrupts_begin(void); @@ -19,7 +20,6 @@ void firstSrcData__Fv(void); void free__7JKRHeapFPvP7JKRHeap(void); void JKRDecompressFromAramToMainRam__FUlPvUlUlUlPUl(void); void JUTException_NS_panic_f(const char* filename, int line, const char* format, ...); -void memcpy(void*, const void*, int); void nextSrcData__FPUc(void); void orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock(void); void orderSync__9JKRDecompFPUcPUcUlUl(void); diff --git a/libs/JSystem/JKernel/JKRAramArchive.cpp b/libs/JSystem/JKernel/JKRAramArchive.cpp index 7ba831d552b..ae65ceb3273 100644 --- a/libs/JSystem/JKernel/JKRAramArchive.cpp +++ b/libs/JSystem/JKernel/JKRAramArchive.cpp @@ -3,6 +3,7 @@ #include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h" #include "JSystem/JKernel/JKRFile/JKRFile.h" #include "global.h" +#include "msl_c/string.h" extern "C" { int abs(int); void __ct__10JKRArchiveFlQ210JKRArchive10EMountMode(void); @@ -30,7 +31,6 @@ void loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRip void open__14JKRAramArchiveFl(void); void prepend__10JSUPtrListFP10JSUPtrLink(void); void remove__10JSUPtrListFP10JSUPtrLink(void); -void* memset(void* dest, int ch, u32 count); } extern JKRExpHeap* sSystemHeap__7JKRHeap; diff --git a/libs/JSystem/JKernel/JKRArchivePri.cpp b/libs/JSystem/JKernel/JKRArchivePri.cpp index 0bd719731f0..60c390baf9c 100644 --- a/libs/JSystem/JKernel/JKRArchivePri.cpp +++ b/libs/JSystem/JKernel/JKRArchivePri.cpp @@ -1,10 +1,6 @@ #include "JSystem/JKernel/JKRArchive/JKRArchive.h" #include "global.h" - -extern "C" { -int strcmp(const char*, const char*); -int tolower(int); -} +#include "msl_c/string.h" JKRArchive::JKRArchive(long entryNumber, JKRArchive::EMountMode mountMode) { mIsMounted = false; diff --git a/libs/JSystem/JKernel/JKRCompArchive.cpp b/libs/JSystem/JKernel/JKRCompArchive.cpp index f72ff299fec..09bdcf6295f 100644 --- a/libs/JSystem/JKernel/JKRCompArchive.cpp +++ b/libs/JSystem/JKernel/JKRCompArchive.cpp @@ -2,6 +2,7 @@ #include "JSystem/JKernel/JKRAram/JKRAram.h" #include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h" #include "global.h" +#include "msl_c/string.h" extern "C" { int abs(int); @@ -33,7 +34,6 @@ void open__14JKRCompArchiveFl(void); void orderSync__9JKRDecompFPUcPUcUlUl(void); void prepend__10JSUPtrListFP10JSUPtrLink(void); void remove__10JSUPtrListFP10JSUPtrLink(void); -void* memset(void* dest, int ch, u32 count); } extern JKRExpHeap* sSystemHeap__7JKRHeap; diff --git a/libs/JSystem/JKernel/JKRDvdAramRipper.cpp b/libs/JSystem/JKernel/JKRDvdAramRipper.cpp index ae6f7df7125..7c58f43e40d 100644 --- a/libs/JSystem/JKernel/JKRDvdAramRipper.cpp +++ b/libs/JSystem/JKernel/JKRDvdAramRipper.cpp @@ -3,6 +3,7 @@ #include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h" #include "dvd/dvd.h" #include "global.h" +#include "msl_c/string.h" extern "C" { void __ct__10JKRDvdFileFv(void); @@ -29,7 +30,6 @@ void JSUFileInputStream_ct(void); void JSUInputStream_NS_dtor(void); void loadToAram__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchUlUlPUl(void); void loadToAram_Async__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchPFUl_vUlUlPUl(void); -void memcpy(void*, const void*, int); void nextSrcData__FPUc(void); void open__10JKRDvdFileFl(void); void orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock(void); diff --git a/libs/JSystem/JKernel/JKRDvdArchive.cpp b/libs/JSystem/JKernel/JKRDvdArchive.cpp index b8a7be98b80..195ba3d1f5d 100644 --- a/libs/JSystem/JKernel/JKRDvdArchive.cpp +++ b/libs/JSystem/JKernel/JKRDvdArchive.cpp @@ -3,6 +3,7 @@ #include "JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h" #include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h" #include "global.h" +#include "msl_c/string.h" extern "C" { int abs(int); @@ -17,7 +18,6 @@ void free__7JKRHeapFPv(void); void JUTException_NS_panic_f(const char* filename, int line, const char* format, ...); void loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl( void); -void* memset(void* dest, int ch, u32 count); } extern JKRExpHeap* sSystemHeap__7JKRHeap; diff --git a/libs/JSystem/JKernel/JKRDvdRipper.cpp b/libs/JSystem/JKernel/JKRDvdRipper.cpp index 972aa28fe3d..ce9d1e256e2 100644 --- a/libs/JSystem/JKernel/JKRDvdRipper.cpp +++ b/libs/JSystem/JKernel/JKRDvdRipper.cpp @@ -2,6 +2,7 @@ #include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h" #include "dvd/dvd.h" #include "global.h" +#include "msl_c/string.h" extern "C" { void __ct__10JKRDvdFileFv(void); @@ -19,7 +20,6 @@ void JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl(void); void JUTException_NS_panic_f(const char* filename, int line, const char* format, ...); void loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl( void); -void memcpy(void*, const void*, int); void nextSrcData__FPUc(void); void open__10JKRDvdFileFl(void); void open__10JKRDvdFileFPCc(void); diff --git a/libs/JSystem/JKernel/JKRFileCache.cpp b/libs/JSystem/JKernel/JKRFileCache.cpp index 5fbc070120a..c2e08e088ad 100644 --- a/libs/JSystem/JKernel/JKRFileCache.cpp +++ b/libs/JSystem/JKernel/JKRFileCache.cpp @@ -5,20 +5,14 @@ #include "JSystem/JKernel/JKRHeap/JKRHeap.h" #include "dvd/dvd.h" #include "global.h" +#include "msl_c/string.h" extern "C" { -char* strcat(char*, const char*); -char* strcpy(char*, const char*); -char* strrchr(char*, int); -int strcmp(const char*, const char*); -int tolower(int); -u32 strlen(const char*); void __dl__FPv(void); void __dt__10JSUPtrLinkFv(void); void free__7JKRHeapFPv(void); void free__7JKRHeapFPvP7JKRHeap(void); void getDvdPathName__12JKRFileCacheCFPCc(void); -void memcpy(void*, const void*, int); void remove__10JSUPtrListFP10JSUPtrLink(void); } diff --git a/libs/JSystem/JKernel/JKRMemArchive.cpp b/libs/JSystem/JKernel/JKRMemArchive.cpp index a06f057fc9e..404fedb711f 100644 --- a/libs/JSystem/JKernel/JKRMemArchive.cpp +++ b/libs/JSystem/JKernel/JKRMemArchive.cpp @@ -1,6 +1,7 @@ #include "JSystem/JKernel/JKRMemArchive/JKRMemArchive.h" #include "JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h" #include "global.h" +#include "msl_c/string.h" extern "C" { void DCInvalidateRange(void*, u32); @@ -8,7 +9,6 @@ void findFromRoot__7JKRHeapFPv(void); void JUTException_NS_panic_f(const char* filename, int line, const char* format, ...); void loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl( void); -void memcpy(void*, const void*, int); } JKRMemArchive::JKRMemArchive(long entryNum, JKRArchive::EMountDirection mountDirection) diff --git a/libs/JSystem/JStudio/functionvalue.cpp b/libs/JSystem/JStudio/functionvalue.cpp index fa6f125e5e2..10a34331b74 100644 --- a/libs/JSystem/JStudio/functionvalue.cpp +++ b/libs/JSystem/JStudio/functionvalue.cpp @@ -1,4 +1,5 @@ #include "JSystem/JStudio/functionvalue.h" +#include "msl_c/math.h" extern "C" { void __cvt_fp2unsigned(void); @@ -535,7 +536,7 @@ f64 extrapolateParameter_raw(f64 a1, f64 a2) { } f64 extrapolateParameter_repeat(f64 a1, f64 a2) { - f64 t = func_8036C760(a1, a2); + f64 t = fmod(a1, a2); if (t < lbl_80455400) t += a2; diff --git a/libs/JSystem/JUtility/JUTGamePad.cpp b/libs/JSystem/JUtility/JUTGamePad.cpp index ca9b8434bb2..0e7ad1f0a69 100644 --- a/libs/JSystem/JUtility/JUTGamePad.cpp +++ b/libs/JSystem/JUtility/JUTGamePad.cpp @@ -1,5 +1,6 @@ #include "JSystem/JUtility/JUTGamePad/JUTGamePad.h" #include "global.h" +#include "msl_c/math.h" extern "C" { u32 OSGetResetSwitchState(void); @@ -17,7 +18,6 @@ void clear__10JUTGamePadFv(void); void clear__Q210JUTGamePad6CStickFv(void); void clear__Q210JUTGamePad7CButtonFv(void); void clear__Q210JUTGamePad7CRumbleFP10JUTGamePad(void); -void func_8036C720(void); void getButton__Q210JUTGamePad6CStickFUl(void); void initList__10JUTGamePadFv(void); void remove__10JSUPtrListFP10JSUPtrLink(void); diff --git a/libs/SSystem/SComponent/c_angle.cpp b/libs/SSystem/SComponent/c_angle.cpp index 185c799b960..89533c288a0 100644 --- a/libs/SSystem/SComponent/c_angle.cpp +++ b/libs/SSystem/SComponent/c_angle.cpp @@ -2,11 +2,9 @@ #include "SComponent/c_angle.h" #include "global.h" +#include "msl_c/math.h" extern "C" { -double func_8036C028(double); -double func_8036C590(double); -double func_8036C668(double); double func_8036CA54(double); void __ct__7cSAngleFs(void); void cSAngle_NS_dtor(void); @@ -14,21 +12,7 @@ void func_80361C24(void); float cAngle_NS_Adjust(float, float, float); } -// additional symbols needed for c_angle.cpp -// autogenerated by split.py v0.3 at 2020-12-31 13:27:46.742344 -extern float lbl_80455208; // SComponent::@2248, 182.04445f -extern float lbl_8045520C; // SComponent::@2260, 0.005493164f -extern double lbl_80455210; // SComponent::@2263, 4.503601774854144E15 -extern float lbl_80455218; // SComponent::@2269, 9.58738E-5 -extern float lbl_8045521C; // SComponent::@2277, 3.0517578E-5 -extern float lbl_80455220; // SComponent::@2440, -180.0f -extern float lbl_80455224; // SComponent::@2441, 180.0 -extern float lbl_80455228; // SComponent::@2474, 0.017453292 -extern float lbl_8045522C; // SComponent::@2491, 0.0f -extern double lbl_80455230; // SComponent::@2671, 0.0 -extern float lbl_80455238; // SComponent::@2672, 10430.378f -extern float lbl_8045523C; // SComponent::@2744, 1.0 -extern u8 lbl_80430F98; // SComponent::@2401 +extern u8 lbl_80430F98; // SComponent::@2401 // __ct__7cSAngleFRC7cSAngle cSAngle::cSAngle(const cSAngle& angle) { @@ -57,39 +41,22 @@ void cSAngle::Val(s16 val) { // Val__7cSAngleFf void cSAngle::Val(float f) { - this->mAngle = lbl_80455208 * f; + this->mAngle = 182.04445f * f; } // Degree__7cSAngleCFv -#ifdef NON_MATCHING float cSAngle::Degree(void) const { - // matches, but adds a double constant for the s16 -> float conversion - return lbl_8045520C * this->angle; + return (360.0f / 65536.0f) * this->mAngle; } -#else -asm float cSAngle::Degree(void) const { - nofralloc -#include "SComponent/c_angle/asm/func_80271030.s" -} -#endif // Radian__7cSAngleCFv -#ifdef NON_MATCHING float cSAngle::Radian(void) const { - // matches, but adds a double constant for the s16 -> float conversion - return lbl_80455218 * this->angle; + return 9.58738E-5f * this->mAngle; } -#else -asm float cSAngle::Radian(void) const { - nofralloc -#include "SComponent/c_angle/asm/func_80271064.s" -} -#endif // Norm__7cSAngleCFv -// cSAngle::Norm(void) const -asm float cSAngle::Norm(void) const {nofralloc -#include "SComponent/c_angle/asm/func_80271098.s" +float cSAngle::Norm(void) const { + return 3.0517578E-5f * this->mAngle; } // Abs__7cSAngleCFv @@ -104,27 +71,27 @@ s16 cSAngle::Inv(void) const { // Sin__7cSAngleCFv float cSAngle::Sin(void) const { - return func_8036C590(this->Radian()); + return sin(this->Radian()); } // Cos__7cSAngleCFv float cSAngle::Cos(void) const { - return func_8036C028(this->Radian()); + return cos(this->Radian()); } // __mi__7cSAngleCFv cSAngle cSAngle::operator-(void) const { - return cSAngle((s16)-mAngle); + return cSAngle(static_cast(-mAngle)); } // __pl__7cSAngleCFRC7cSAngle cSAngle cSAngle::operator+(const cSAngle& other) const { - return cSAngle((s16)(mAngle + other.mAngle)); + return cSAngle(static_cast(mAngle + other.mAngle)); } // __mi__7cSAngleCFRC7cSAngle cSAngle cSAngle::operator-(const cSAngle& other) const { - return cSAngle((s16)(mAngle - other.mAngle)); + return cSAngle(static_cast(mAngle - other.mAngle)); } // __apl__7cSAngleFRC7cSAngle @@ -139,12 +106,12 @@ void cSAngle::operator-=(const cSAngle& other) { // __pl__7cSAngleCFs cSAngle cSAngle::operator+(short other) const { - return cSAngle((s16)(mAngle + other)); + return cSAngle(static_cast(mAngle + other)); } // __mi__7cSAngleCFs cSAngle cSAngle::operator-(short other) const { - return cSAngle((s16)(mAngle - other)); + return cSAngle(static_cast(mAngle - other)); } // __apl__7cSAngleFs @@ -153,37 +120,23 @@ void cSAngle::operator+=(short other) { } // __ml__7cSAngleCFf -#ifdef NON_MATCHING cSAngle cSAngle::operator*(float f1) const { - return cSAngle((s16)(angle * f1)); + return cSAngle(static_cast(mAngle * f1)); } -#else -asm cSAngle cSAngle::operator*(float) const { - nofralloc -#include "SComponent/c_angle/asm/func_80271264.s" -} -#endif // __amu__7cSAngleFf -#ifdef NON_MATCHING void cSAngle::operator*=(float f1) { - this->angle *= f1; + this->mAngle *= f1; } -#else -asm void cSAngle::operator*=(float) { - nofralloc -#include "SComponent/c_angle/asm/func_802712B4.s" -} -#endif // __pl__FsRC7cSAngle cSAngle operator+(short other, const cSAngle& angle) { - return cSAngle((s16)(other + angle.Val())); + return cSAngle(static_cast(other + angle.Val())); } // __mi__FsRC7cSAngle cSAngle operator-(short other, const cSAngle& angle) { - return cSAngle((s16)(other - angle.Val())); + return cSAngle(static_cast(other - angle.Val())); } // __ct__7cDegreeFf @@ -193,7 +146,7 @@ cDegree::cDegree(float f) { // Formal__7cDegreeFv cDegree& cDegree::Formal(void) { - mDegree = cAngle_NS_Adjust(mDegree, lbl_80455220, lbl_80455224); + mDegree = cAngle_NS_Adjust(mDegree, -180.0f, 180.0f); return *this; } @@ -205,22 +158,22 @@ void cDegree::Val(float f) { // Radian__7cDegreeCFv float cDegree::Radian(void) const { - return lbl_80455228 * mDegree; + return 0.017453292f * mDegree; } // Sin__7cDegreeCFv float cDegree::Sin(void) const { - return func_8036C590(this->Radian()); + return sin(this->Radian()); } // Cos__7cDegreeCFv float cDegree::Cos(void) const { - return func_8036C028(this->Radian()); + return cos(this->Radian()); } // Tan__7cDegreeCFv float cDegree::Tan(void) const { - return func_8036C668(this->Radian()); + return tan(this->Radian()); } // __ct__7cSPolarFRC4cXyz @@ -230,9 +183,9 @@ cSPolar::cSPolar(const cXyz& xyz) { // Formal__7cSPolarFv cSPolar& cSPolar::Formal(void) { - if (mRadial < /* 0.0 */ lbl_8045522C) { + if (mRadial < 0.0f) { mRadial = -mRadial; - cSAngle tmp((s16)-0x8000); + cSAngle tmp(static_cast(-0x8000)); mAngle1.Val(tmp - mAngle1); mAngle2.Val(mAngle2.Inv()); } @@ -263,10 +216,10 @@ void cSPolar::Val(const cXyz& xyz) { z = xyz.z; double tmp = square(z) + square(x); double tmp2 = square(y) + tmp; - tmp4 = (tmp > lbl_80455230) ? (float)func_8036CA54(tmp) : lbl_8045522C; - mRadial = (tmp2 > lbl_80455230) ? (float)func_8036CA54(tmp2) : lbl_8045522C; - mAngle1.Val((s16)(cM_atan2f(tmp4, y) * lbl_80455238)); - mAngle2.Val((s16)(cM_atan2f(x, z) * lbl_80455238)); + tmp4 = (tmp > 0.0) ? (float)func_8036CA54(tmp) : 0.0f; + mRadial = (tmp2 > 0.0) ? (float)func_8036CA54(tmp2) : 0.0f; + mAngle1.Val(static_cast(cM_atan2f(tmp4, y) * 10430.378f)); + mAngle2.Val(static_cast(cM_atan2f(x, z) * 10430.378f)); this->Formal(); } @@ -274,10 +227,10 @@ void cSPolar::Val(const cXyz& xyz) { cXyz cSPolar::Xyz(void) const { float ang1Cos; float ang2Cos; - float ang1Sin = mRadial * (float)func_8036C590(mAngle1.Radian()); - ang2Cos = (float)func_8036C028(mAngle2.Radian()); - ang1Cos = mRadial * (float)func_8036C028(mAngle1.Radian()); - float ang2Sin = func_8036C590(mAngle2.Radian()); + float ang1Sin = mRadial * (float)sin(mAngle1.Radian()); + ang2Cos = (float)cos(mAngle2.Radian()); + ang1Cos = mRadial * (float)cos(mAngle1.Radian()); + float ang2Sin = sin(mAngle2.Radian()); return cXyz(ang1Sin * ang2Sin, ang1Cos, ang1Sin * ang2Cos); } @@ -308,7 +261,7 @@ cSGlobe::cSGlobe(const cXyz& xyz) { // Formal__7cSGlobeFv cSGlobe& cSGlobe::Formal(void) { - if (mRadius < lbl_8045522C) { + if (mRadius < 0.0f) { mRadius = -mRadius; mAzimuth = -mAzimuth; mInclination.Val(mInclination.Inv()); @@ -366,7 +319,7 @@ void cSGlobe::Polar(cSPolar* csp) const { // Norm__7cSGlobeCFv cXyz cSGlobe::Norm(void) const { - cSGlobe glob(/* 1.0 */ lbl_8045523C, mAzimuth, mInclination); + cSGlobe glob(1.0f, mAzimuth, mInclination); return glob.Xyz(); } diff --git a/libs/SSystem/SComponent/c_bg_s_poly_info.cpp b/libs/SSystem/SComponent/c_bg_s_poly_info.cpp index 69a6d4729da..b5ef983681a 100644 --- a/libs/SSystem/SComponent/c_bg_s_poly_info.cpp +++ b/libs/SSystem/SComponent/c_bg_s_poly_info.cpp @@ -2,11 +2,6 @@ #include "SComponent/c_bg_s_poly_info.h" -extern "C" { -void __dl__FPv(void); -void ClearPi__13cBgS_PolyInfoFv(void); -} - // __ct__13cBgS_PolyInfoFv cBgS_PolyInfo::cBgS_PolyInfo(void) { this->ClearPi(); diff --git a/libs/SSystem/SComponent/c_lib.cpp b/libs/SSystem/SComponent/c_lib.cpp index 877ae8ee804..43429b90028 100644 --- a/libs/SSystem/SComponent/c_lib.cpp +++ b/libs/SSystem/SComponent/c_lib.cpp @@ -3,6 +3,16 @@ #include "SComponent/c_lib.h" #include "JSystem/JMath/JMath.h" #include "SComponent/c_math.h" +#include "msl_c/string.h" + +static const f32 lbl_804551E0 = 0; +static const f64 lbl_804551E8 = 0.5; // 0x3fe0000000000000 +static const f64 lbl_804551F0 = 3.0; // 0x4008000000000000 +static const f64 lbl_804551F8 = 0.0; +// static const u8 lbl_80455200[4] = { 0x2e, 0xaf, 0xeb, 0xff }; +// static const u8 lbl_80455204[4] = { 0x00, 0x00, 0x00, 0x00 }; // +// padding +static const s64 lbl_80455200 = 0x2eafebff00000000; extern "C" { int abs(int); @@ -11,9 +21,7 @@ void __mi__4cXyzCFRC3Vec(void); void __ml__4cXyzCFf(void); void __ne__4cXyzCFRC3Vec(void); void cM_atan2s__Fff(void); -void memcpy(void*, const void*, int); void normZP__4cXyzCFv(void); -void* memset(void* dest, int ch, u32 count); } // cLib_memCpy__FPvPCvUl diff --git a/libs/SSystem/SComponent/c_m3d.cpp b/libs/SSystem/SComponent/c_m3d.cpp index 5ffccb156a9..cf44f26f387 100644 --- a/libs/SSystem/SComponent/c_m3d.cpp +++ b/libs/SSystem/SComponent/c_m3d.cpp @@ -11,6 +11,7 @@ #include "SComponent/c_sxyz.h" #include "SComponent/c_xyz.h" #include "global.h" +#include "msl_c/math.h" extern f32 lbl_80455118; // SComponent::@2256, 0.0 extern f32 lbl_80455138; // SComponent::@2273, 1.0 @@ -37,7 +38,6 @@ extern u8 lbl_804551A0; extern u8 lbl_80455174; extern u8 lbl_80455178; extern u8 lbl_804551CC; -extern u8 lbl_80450AEC; extern u8 lbl_8045516C; extern u8 lbl_80455194; extern u8 lbl_804551C0; diff --git a/libs/SSystem/SComponent/c_m3d_g_aab.cpp b/libs/SSystem/SComponent/c_m3d_g_aab.cpp index 2f6eabcc3a2..c6a710b90bc 100644 --- a/libs/SSystem/SComponent/c_m3d_g_aab.cpp +++ b/libs/SSystem/SComponent/c_m3d_g_aab.cpp @@ -5,11 +5,6 @@ // additional symbols needed for c_m3d_g_aab.cpp // autogenerated by split.py v0.3 at 2021-01-01 14:25:53.390342 -extern "C" { -void SetMax__8cM3dGAabFRC4cXyz(void); -void SetMin__8cM3dGAabFRC4cXyz(void); -void SetMinMax__8cM3dGAabFRC4cXyz(void); -} extern f32 lbl_804551D4; extern f32 lbl_804551D0; extern f32 lbl_804551D8; diff --git a/libs/SSystem/SComponent/c_m3d_g_cir.cpp b/libs/SSystem/SComponent/c_m3d_g_cir.cpp index cb046404a09..c6461fc4d1f 100644 --- a/libs/SSystem/SComponent/c_m3d_g_cir.cpp +++ b/libs/SSystem/SComponent/c_m3d_g_cir.cpp @@ -2,10 +2,6 @@ #include "SComponent/c_m3d_g_cir.h" -extern "C" { -void __dl__FPv(void); -} - // __ct__8cM3dGCirFv cM3dGCir::cM3dGCir(void) {} diff --git a/libs/SSystem/SComponent/c_m3d_g_cps.cpp b/libs/SSystem/SComponent/c_m3d_g_cps.cpp index e9c39c799a4..28010f892fb 100644 --- a/libs/SSystem/SComponent/c_m3d_g_cps.cpp +++ b/libs/SSystem/SComponent/c_m3d_g_cps.cpp @@ -2,13 +2,6 @@ #include "SComponent/c_m3d_g_cps.h" -extern "C" { -void __dl__FPv(void); -void Set__8cM3dGCpsFRC4cXyzRC4cXyzf(void); -void SetStartEnd__8cM3dGLinFRC3VecRC3Vec(void); -void SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz(void); -} - // __ct__8cM3dGCpsFv cM3dGCps::cM3dGCps(void) {} diff --git a/libs/SSystem/SComponent/c_m3d_g_cyl.cpp b/libs/SSystem/SComponent/c_m3d_g_cyl.cpp index 0b9effb9aef..14b7bc17e59 100644 --- a/libs/SSystem/SComponent/c_m3d_g_cyl.cpp +++ b/libs/SSystem/SComponent/c_m3d_g_cyl.cpp @@ -3,14 +3,6 @@ #include "SComponent/c_m3d_g_cyl.h" #include "SComponent/c_m3d.h" -extern "C" { -void cM3d_Cross_CylCyl__FPC8cM3dGCylPC8cM3dGCylP3Vec(void); -void cM3d_Cross_CylSph__FPC8cM3dGCylPC8cM3dGSphP3VecPf(void); -void SetC__8cM3dGCylFRC4cXyz(void); -void SetH__8cM3dGCylFf(void); -void SetR__8cM3dGCylFf(void); -} - // __ct__8cM3dGCylFPC4cXyzff cM3dGCyl::cM3dGCyl(const cXyz* pCenter, f32 pRadius, f32 pHeight) { this->SetC(*pCenter); diff --git a/libs/SSystem/SComponent/c_m3d_g_pla.cpp b/libs/SSystem/SComponent/c_m3d_g_pla.cpp index eba3094ac22..0c0a3d37d51 100644 --- a/libs/SSystem/SComponent/c_m3d_g_pla.cpp +++ b/libs/SSystem/SComponent/c_m3d_g_pla.cpp @@ -2,10 +2,7 @@ #include "SComponent/c_m3d_g_pla.h" #include "SComponent/c_m3d.h" - -extern "C" { -void cM3d_InDivPos2__FPC3VecPC3VecfP3Vec(void); -} +#include "msl_c/math.h" // __ct__8cM3dGPlaFPC4cXyzf cM3dGPla::cM3dGPla(const cXyz* pNormal, f32 pD) : mNormal(*pNormal), mD(pD) {} diff --git a/libs/SSystem/SComponent/c_m3d_g_sph.cpp b/libs/SSystem/SComponent/c_m3d_g_sph.cpp index e45816446a6..7f0883a6366 100644 --- a/libs/SSystem/SComponent/c_m3d_g_sph.cpp +++ b/libs/SSystem/SComponent/c_m3d_g_sph.cpp @@ -3,13 +3,6 @@ #include "SComponent/c_m3d_g_sph.h" #include "SComponent/c_m3d.h" -extern "C" { -void cM3d_Cross_CylSph__FPC8cM3dGCylPC8cM3dGSphP3VecPf(void); -void cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphP3Vec(void); -void SetC__8cM3dGSphFRC4cXyz(void); -void SetR__8cM3dGSphFf(void); -} - // SetC__8cM3dGSphFRC4cXyz void cM3dGSph::SetC(const cXyz& pCenter) { mCenter = pCenter; diff --git a/libs/SSystem/SComponent/c_m3d_g_tri.cpp b/libs/SSystem/SComponent/c_m3d_g_tri.cpp index a8567c85891..dc7162a7565 100644 --- a/libs/SSystem/SComponent/c_m3d_g_tri.cpp +++ b/libs/SSystem/SComponent/c_m3d_g_tri.cpp @@ -3,13 +3,6 @@ #include "SComponent/c_m3d_g_tri.h" #include "SComponent/c_m3d.h" -extern "C" { -void cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf(void); -void cM3d_Cross_CylTri__FPC8cM3dGCylPC8cM3dGTriP3Vec(void); -void Set__8cM3dGPlaFPC8cM3dGPla(void); -void SetupNP__8cM3dGPlaFRC3VecRC3Vec(void); -} - // cross__8cM3dGTriCFPC8cM3dGCylP3Vec bool cM3dGTri::cross(const cM3dGCyl* pCylinder, Vec* out) const { return cM3d_Cross_CylTri(pCylinder, this, out); diff --git a/libs/SSystem/SComponent/c_math.cpp b/libs/SSystem/SComponent/c_math.cpp index b8ec2273c63..3e7507e63e7 100644 --- a/libs/SSystem/SComponent/c_math.cpp +++ b/libs/SSystem/SComponent/c_math.cpp @@ -1,27 +1,7 @@ /* c_math.cpp autogenerated by split.py v0.3 at 2020-12-31 13:20:59.345670 */ #include "SComponent/c_math.h" - -extern "C" { -double func_8036C760(double, double); -void cM_atan2s__Fff(void); -void U_GetAtanTable__Fff(void); -} - -// additional symbols needed for c_math.cpp -// autogenerated by split.py v0.3 at 2020-12-31 13:20:59.336084 -extern double lbl_804550A8; // SComponent::@2201, 6.2831854820251465 -extern float lbl_804550B0; // SComponent::@2215, 10430.378 -extern float lbl_804550B4; // SComponent::@2232, 1024.0 -extern float lbl_804550B8; // SComponent::@2277, 0.0 -extern float lbl_804550BC; // SComponent::@2282, 9.58738E-5 -extern double lbl_804550C0; // SComponent::@2284, 4.503601774854144E15 -extern float lbl_804550C8; // SComponent::@2296, 30323.0 -extern float lbl_804550CC; // SComponent::@2297, 30269.0 -extern float lbl_804550D0; // SComponent::@2298, 30307.0 -extern double lbl_804550D8; // SComponent::@2299, 1.0 -extern float lbl_804550E0; // SComponent::@2311, 2.0 -extern float lbl_804550E4; // SComponent::@2312, 0.5 +#include "msl_c/math.h" extern s32 lbl_80451168; // SComponent::r0 extern s32 lbl_8045116C; // SComponent::r1 @@ -33,25 +13,70 @@ extern s32 lbl_8045117C; // SComponent::r22 extern u16 lbl_803C3778[1028]; // SComponent::atntable // cM_rad2s__Ff -asm s16 cM_rad2s(float){nofralloc -#include "SComponent/c_math/asm/func_802675E4.s" +s16 cM_rad2s(float f0) { + f32 tmpF = fmod(f0, 6.2831854820251465 /* approx. 2 * PI */); + s32 tmp = (tmpF * 10430.378f /* approx. 32768 / PI */); + if (tmp < -0x8000) { + tmp += 0x10000; + } else if (tmp > 0x7FFF) { + tmp -= 0x10000; + } + return tmp; } // U_GetAtanTable__Fff u16 U_GetAtanTable(float f0, float f1) { - return lbl_803C3778[(int)(f0 / f1 * lbl_804550B4)]; + return lbl_803C3778[(int)(f0 / f1 * 1024)]; } // cM_atan2s__Fff -asm s16 cM_atan2s(float, float) { - nofralloc -#include "SComponent/c_math/asm/func_80267674.s" +s16 cM_atan2s(float f0, float f1) { + u32 retVar; + if (fabsf(f0) < lbl_80451180) { + if (f1 >= 0.0f) { + retVar = 0; + } else { + retVar = 0x8000; + } + } else if (fabsf(f1) < lbl_80451180) { + if (f0 >= 0.0f) { + retVar = 0x4000; + } else { + retVar = 0xC000; + } + } else if (f0 >= 0.0f) { + if (f1 >= 0.0f) { + if (f1 >= f0) { + retVar = U_GetAtanTable(f0, f1); + } else { + retVar = 0x4000 - U_GetAtanTable(f1, f0); + } + } else { + if (-f1 < f0) { + retVar = U_GetAtanTable(-f1, f0) + 0x4000; + } else { + retVar = 0x8000 - U_GetAtanTable(f0, -f1); + } + } + } else if (f1 < 0.0f) { + if (f1 <= f0) { + retVar = U_GetAtanTable(-f0, -f1) + 0x8000; + } else { + retVar = 0xC000 - U_GetAtanTable(-f1, -f0); + } + } else { + if (f1 < -f0) { + retVar = U_GetAtanTable(f1, -f0) + 0xC000; + } else { + retVar = -U_GetAtanTable(-f0, f1); + } + } + return retVar; } // cM_atan2f__Fff -asm float cM_atan2f(float, float) { - nofralloc -#include "SComponent/c_math/asm/func_80267814.s" +float cM_atan2f(float f1, float f2) { + return 9.58738E-5f * cM_atan2s(f1, f2); } // cM_initRnd__Fiii @@ -62,22 +87,13 @@ void cM_initRnd(int p0, int p1, int p2) { } // cM_rnd__Fv -#ifdef NON_MATCHING float cM_rnd(void) { - // matches besides extra double in data from int -> float conversion lbl_80451168 = (lbl_80451168 * 0xAB) % 0x763D; lbl_8045116C = (lbl_8045116C * 0xAC) % 0x7663; lbl_80451170 = (lbl_80451170 * 0xAA) % 0x7673; - return fabsf((float)func_8036C760(lbl_80451168 / lbl_804550C8 + lbl_8045116C / lbl_804550CC + - lbl_80451170 / lbl_804550D0, - lbl_804550D8)); + return fabsf( + fmod(lbl_80451168 / 30269.0f + lbl_8045116C / 30307.0f + lbl_80451170 / 30323.0f, 1.0)); } -#else -asm float cM_rnd(void) { - nofralloc -#include "SComponent/c_math/asm/func_8026786C.s" -} -#endif // cM_rndF__Ff float cM_rndF(float f) { @@ -86,7 +102,7 @@ float cM_rndF(float f) { // cM_rndFX__Ff float cM_rndFX(float f) { - return f * (cM_rnd() - lbl_804550E4) * lbl_804550E0; + return f * (cM_rnd() - 0.5f) * 2.0f; } // cM_initRnd2__Fiii @@ -97,22 +113,13 @@ void cM_initRnd2(int p0, int p1, int p2) { } // cM_rnd2__Fv -#ifdef NON_MATCHING float cM_rnd2(void) { - // matches besides extra double in data from int -> float conversion lbl_80451174 = (lbl_80451174 * 0xAB) % 0x763D; lbl_80451178 = (lbl_80451178 * 0xAC) % 0x7663; lbl_8045117C = (lbl_8045117C * 0xAA) % 0x7673; - return fabsf((float)func_8036C760(lbl_80451174 / lbl_804550C8 + lbl_80451178 / lbl_804550CC + - lbl_8045117C / lbl_804550D0, - lbl_804550D8)); + return fabsf( + fmod(lbl_80451174 / 30269.0f + lbl_80451178 / 30307.0f + lbl_8045117C / 30323.0f, 1.0)); } -#else -asm float cM_rnd2(void) { - nofralloc -#include "SComponent/c_math/asm/func_802679E4.s" -} -#endif // cM_rndF2__Ff float cM_rndF2(float f) { @@ -121,5 +128,5 @@ float cM_rndF2(float f) { // cM_rndFX2__Ff float cM_rndFX2(float f) { - return f * (cM_rnd2() - lbl_804550E4) * lbl_804550E0; + return f * (cM_rnd2() - 0.5f) * 2.0f; } diff --git a/libs/SSystem/SComponent/c_sxyz.cpp b/libs/SSystem/SComponent/c_sxyz.cpp index e470a926454..6395b9224a6 100644 --- a/libs/SSystem/SComponent/c_sxyz.cpp +++ b/libs/SSystem/SComponent/c_sxyz.cpp @@ -35,16 +35,9 @@ csXyz csXyz::operator-(csXyz& other) { } // __ml__5csXyzFf -#ifdef NON_MATCHING csXyz csXyz::operator*(f32 pFactor) { return csXyz(mX * pFactor, mY * pFactor, mZ * pFactor); } -#else -asm csXyz csXyz::operator*(f32) { - nofralloc -#include "SComponent/c_sxyz/asm/func_802674E8.s" -} -#endif extern "C" { diff --git a/libs/SSystem/SComponent/c_xyz.cpp b/libs/SSystem/SComponent/c_xyz.cpp index ed356af03ec..bdf1016ff79 100644 --- a/libs/SSystem/SComponent/c_xyz.cpp +++ b/libs/SSystem/SComponent/c_xyz.cpp @@ -1,6 +1,7 @@ /* c_xyz.cpp autogenerated by split.py v0.1 at 2020-12-27 17:32:37.883661 */ #include "SComponent/c_xyz.h" +#include "msl_c/math.h" extern "C" { void __ml__4cXyzCFf(void); @@ -10,6 +11,15 @@ void normZP__4cXyzCFv(void); void func_80361C24(void); } +const static f32 lbl_80455070 = 1.0f; +const static f32 lbl_80455078 = 1.25f; +const static f32 lbl_8045507C = 1000000.0f; +const static f32 lbl_80455080 = 0.0f; +const static f32 lbl_80455084 = 32.0f; +const static f64 lbl_80455088 = 0.5; +const static f64 lbl_80455090 = 3.0; +const static f64 lbl_80455098 = 0.0; + // __pl__4cXyzCFRC3Vec cXyz cXyz::operator+(const Vec& vec) const { Vec ret; @@ -47,7 +57,7 @@ cXyz cXyz::operator*(const Vec& vec) const { // __dv__4cXyzCFf cXyz cXyz::operator/(f32 scale) const { Vec ret; - PSVECScale(this, &ret, /* 1.0 */ lbl_80455070 / scale); + PSVECScale(this, &ret, /* 1.0 */ FLOAT_LABEL(lbl_80455070) / scale); return cXyz(ret); } @@ -73,7 +83,7 @@ cXyz cXyz::norm(void) const { // normZP__4cXyzCFv cXyz cXyz::normZP(void) const { Vec vec; - if (this->checkEpsilon()) { + if (this->isNearZeroSquare() == false) { PSVECNormalize(this, &vec); } else { vec = lbl_80430CF4; @@ -81,41 +91,27 @@ cXyz cXyz::normZP(void) const { return cXyz(vec); } -extern cXyz lbl_8039A868; +inline void normToUpZIfNearZero(Vec& vec) { + if (cXyz(vec).isNearZeroSquare()) { + vec.x = FLOAT_LABEL(lbl_80455080); + vec.y = FLOAT_LABEL(lbl_80455080); + vec.z = FLOAT_LABEL(lbl_80455070); + const Vec v = {0, 0, 1}; + vec = v; + } +} // normZC__4cXyzCFv -#ifdef NON_MATCHING cXyz cXyz::normZC(void) const { - Vec vec; - if (this->checkEpsilon()) { - PSVECNormalize(this, &vec); + Vec outVec; + if (this->isNearZeroSquare() == false) { + PSVECNormalize(this, &outVec); } else { - cXyz local_40 = (*this * lbl_8045507C * lbl_80455078).normZP(); - vec.x = local_40.x; - vec.y = local_40.y; - vec.z = local_40.z; - // return tmp.checkEpsilon() ? tmp : cXyz::xonly(); - if (!local_40.checkEpsilon()) { - cXyz ret; - // ret.baseZ(); - f32 v = lbl_80455080; - ret.x = v; - ret.y = v; - v = lbl_80455070; - ret.z = v; - // should do a struct copy with word and not f32 loads - vec = lbl_8039A868; - vec = ret; - } + outVec = (*this * FLOAT_LABEL(lbl_80455078) * FLOAT_LABEL(lbl_8045507C)).normZP(); + normToUpZIfNearZero(outVec); } - return cXyz(vec); + return outVec; } -#else -asm cXyz cXyz::normZC(void) const { - nofralloc -#include "SComponent/c_xyz/asm/func_80266DC4.s" -} -#endif // normalize__4cXyzFv cXyz cXyz::normalize(void) { @@ -125,7 +121,7 @@ cXyz cXyz::normalize(void) { // normalizeZP__4cXyzFv cXyz cXyz::normalizeZP(void) { - if (this->checkEpsilon()) { + if (this->isNearZeroSquare() == false) { PSVECNormalize(this, this); } else { *this = lbl_80430CF4; @@ -135,7 +131,7 @@ cXyz cXyz::normalizeZP(void) { // normalizeRS__4cXyzFv bool cXyz::normalizeRS(void) { - if ((PSVECSquareMag(this) < lbl_80455074)) { + if (this->isNearZeroSquare()) { return false; } else { PSVECNormalize(this, this); @@ -155,14 +151,11 @@ bool cXyz::operator!=(const Vec& vec) const { // isZero__4cXyzCFv bool cXyz::isZero(void) const { - // return (f32)fabsf(this->x) < lbl_80455084 * lbl_80450AEC && - // (f32)fabsf(this->y) < lbl_80455084 * lbl_80450AEC && - // (f32)fabsf(this->z) < lbl_80455084 * lbl_80450AEC; return fabsf(this->x) < - /* 32 */ lbl_80455084 * - /* MSL_C.PPCEABI.bare.H::__f32_epsilon */ *(f32*)0x80450AEC && - fabsf(this->y) < lbl_80455084 * *(f32*)0x80450AEC && - fabsf(this->z) < lbl_80455084 * *(f32*)0x80450AEC; + /* 32 */ FLOAT_LABEL(lbl_80455084) * + /* MSL_C.PPCEABI.bare.H::__f32_epsilon */ lbl_80450AEC[0] && + fabsf(this->y) < FLOAT_LABEL(lbl_80455084) * lbl_80450AEC[0] && + fabsf(this->z) < FLOAT_LABEL(lbl_80455084) * lbl_80450AEC[0]; } // atan2sX_Z__4cXyzCFv @@ -170,11 +163,39 @@ s16 cXyz::atan2sX_Z(void) const { return cM_atan2s(this->x, this->z); } +inline f32 VecMagXZ(const cXyz& xyz) { + return cXyz(xyz.x, FLOAT_LABEL(lbl_80455080), xyz.z).getSquareMag(); + // return cXyz(xyz.x, 0, xyz.z).getSquareMag(); // matches, but screws up data +} + +inline f32 sqrtf(f32 mag) { + if (mag > FLOAT_LABEL(lbl_80455080)) { + f64 tmpd = __frsqrte(mag); + tmpd = DOUBLE_LABEL(lbl_80455088) * tmpd * (DOUBLE_LABEL(lbl_80455090) - tmpd * tmpd * mag); + tmpd = DOUBLE_LABEL(lbl_80455088) * tmpd * (DOUBLE_LABEL(lbl_80455090) - tmpd * tmpd * mag); + return DOUBLE_LABEL(lbl_80455088) * tmpd * + (DOUBLE_LABEL(lbl_80455090) - tmpd * tmpd * mag) * mag; + } else if (mag < DOUBLE_LABEL(lbl_80455098)) { + return /* __float_nan */ lbl_80450AE0[0]; + } else if (fpclassify(mag) == 1) { + return /* __float_nan */ lbl_80450AE0[0]; + } else { + return mag; + } +} + // atan2sY_XZ__4cXyzCFv +#ifdef NON_MATCHING +s16 cXyz::atan2sY_XZ(void) const { + f32 mag = VecMagXZ(*this); // would match if the float literal in VecMagXZ would be used + return cM_atan2s(-this->y, sqrtf(mag)); +} +#else asm s16 cXyz::atan2sY_XZ(void) const { nofralloc #include "SComponent/c_xyz/asm/func_80267150.s" } +#endif extern "C" { @@ -183,4 +204,4 @@ asm void __sinit_c_xyz_cpp(void) { nofralloc #include "SComponent/c_xyz/asm/func_80267290.s" } -}; \ No newline at end of file +}; diff --git a/libs/Z2AudioLib/Z2Calc.cpp b/libs/Z2AudioLib/Z2Calc.cpp index c7ace0421b0..7451cbaa591 100644 --- a/libs/Z2AudioLib/Z2Calc.cpp +++ b/libs/Z2AudioLib/Z2Calc.cpp @@ -1,9 +1,5 @@ #include "Z2AudioLib/Z2Calc/Z2Calc.h" - -extern "C" { -double func_8036C740(double); -double func_8036C780(double, double); -} +#include "msl_c/math.h" // s_is_oRandom_initialized extern s8 lbl_80451330; @@ -39,13 +35,11 @@ float Z2Calc::getParamByExp(float f1, float f2, float f3, float f4, float f5, fl Z2Calc::CurveSign sign) { float out; if (sign == Z2Calc::CURVE_SIGN_1) { - float tmp = - func_8036C740(Z2Calc::linearTransform(f1, f2, f3, /* 0.0 */ lbl_80455828, f4, true)); - out = Z2Calc::linearTransform(tmp, /* 1.0 */ lbl_8045582C, func_8036C740(f4), f5, f6, true); + float tmp = exp(Z2Calc::linearTransform(f1, f2, f3, /* 0.0 */ lbl_80455828, f4, true)); + out = Z2Calc::linearTransform(tmp, /* 1.0 */ lbl_8045582C, exp(f4), f5, f6, true); } else if (sign == Z2Calc::CURVE_SIGN_0) { - float tmp = - func_8036C740(Z2Calc::linearTransform(f1, f2, f3, f4, /* 0.0 */ lbl_80455828, true)); - out = Z2Calc::linearTransform(tmp, func_8036C740(f4), /* 1.0 */ lbl_8045582C, f5, f6, true); + float tmp = exp(Z2Calc::linearTransform(f1, f2, f3, f4, /* 0.0 */ lbl_80455828, true)); + out = Z2Calc::linearTransform(tmp, exp(f4), /* 1.0 */ lbl_8045582C, f5, f6, true); } else { out = Z2Calc::linearTransform(f1, f2, f3, f5, f6, false); } @@ -62,7 +56,7 @@ float Z2Calc::getRandom(float f1, float f2, float f3) { float tmp = /* 2.0 */ lbl_80455830 * f3; float tmp2 = (/* 1.0 */ lbl_8045582C - f3) * /* -2.0 */ lbl_80455834; f1 *= Z2Calc::getRandom_0_1() < f3 ? tmp : tmp2; - float tmp3 = func_8036C780(Z2Calc::getRandom_0_1(), f2); + float tmp3 = pow(Z2Calc::getRandom_0_1(), f2); return tmp3 * f1; } diff --git a/libs/Z2AudioLib/Z2StatusMgr.cpp b/libs/Z2AudioLib/Z2StatusMgr.cpp index 3808e2356a1..2d56972bf4b 100644 --- a/libs/Z2AudioLib/Z2StatusMgr.cpp +++ b/libs/Z2AudioLib/Z2StatusMgr.cpp @@ -6,11 +6,7 @@ #include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h" #include "Z2AudioLib/Z2SeqMgr/Z2SeqMgr.h" #include "d/d_com/d_com_inf_game/d_com_inf_game.h" - -extern "C" { -int func_80368954(char*, char*, u32); -int strcmp(const char*, const char*); -} +#include "msl_c/string.h" Z2StatusMgr::Z2StatusMgr() { lbl_80450B7C = this; diff --git a/obj_files.mk b/obj_files.mk index 729a2417605..d4235a89c3f 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -513,12 +513,9 @@ TEXT_O_FILES := \ $(BUILD_DIR)/libs/SSystem/SComponent/c_request.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_tag.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_tag_iter.o \ - $(BUILD_DIR)/asm/rodata/rodata_c_xyz.o \ - $(BUILD_DIR)/asm/sdata2/c_xyz.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_xyz.o \ - $(BUILD_DIR)/asm/sdata2/c_sxyz.o \ + $(BUILD_DIR)/asm/rodata/rodata_c_xyz_padding.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_sxyz.o \ - $(BUILD_DIR)/asm/sdata2/c_math.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_math.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_bg_s_chk.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_bg_s_gnd_chk.o \ @@ -540,9 +537,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_pla.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_sph.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_tri.o \ - $(BUILD_DIR)/asm/sdata2/c_lib.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_lib.o \ - $(BUILD_DIR)/asm/sdata2/c_angle.o \ $(BUILD_DIR)/libs/SSystem/SComponent/c_angle.o \ $(BUILD_DIR)/libs/SSystem/SStandard/s_basic.o \ $(BUILD_DIR)/asm/sdata2/JFWSystem.o \ diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index 76ff4e1afa5..5c2a7aef00c 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -10,10 +10,10 @@ #include "m_Do/m_Do_audio/m_Do_audio.h" #include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h" #include "m_Do/m_Do_ext/m_Do_ext.h" +#include "msl_c/math.h" +#include "msl_c/string.h" extern "C" { -double func_8036C668(double); -int strcmp(const char*, const char*); void __ct__7cSAngleFRC7cSAngle(void); void __ct__7cSAngleFs(void); void __ct__7cSGlobeFRC4cXyz(void); @@ -61,7 +61,6 @@ void mDoExt_createSolidHeapFromGameToCurrent_X1_(void); void mDoExt_J3DModel__create(void); void mDoExt_modelUpdateDL(void); void mDoExt_restoreCurrentHeap(void); -void memcpy(void*, const void*, int); void Z2SeqMgr_NS_bgmNowBattle(void); } diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index 5424b5b4ce7..7bc20580d90 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -16,13 +16,12 @@ #include "m_Do/m_Do_audio/m_Do_audio.h" #include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic/m_Do_graphic.h" +#include "msl_c/math.h" +#include "msl_c/string.h" extern "C" { void fopCamM_GetParam__FP12camera_class(void); void __dt__8cM3dGLinFv(void); -double func_8036C668(double); -int func_80368954(char*, char*, u32); -int strcmp(const char*, const char*); void __ami__7cSAngleFRC7cSAngle(void); void __amu__7cSAngleFf(void); void __apl__7cSAngleFRC7cSAngle(void); diff --git a/src/d/d_com/d_com_inf_game.cpp b/src/d/d_com/d_com_inf_game.cpp index f56cdfce824..aea63932155 100644 --- a/src/d/d_com/d_com_inf_game.cpp +++ b/src/d/d_com/d_com_inf_game.cpp @@ -9,18 +9,17 @@ #include "m_Do/m_Do_audio/m_Do_audio.h" #include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h" #include "m_Do/m_Do_ext/m_Do_ext.h" +#include "msl_c/string.h" extern "C" { bool dComIfGp_checkMapShow(void); BOOL dComIfGp_isLightDropMapVisible(void); BOOL isTransformLV__21dSv_player_status_b_cCFi(int); -char* strcpy(char*, const char*); const char* dComIfGs_getWarpStageName(void); int dComIfGs_getWarpRoomNo(void); int dKy_daynight_check(void); int dStage_roomControl_c_NS_getZoneNo(int); int getTimerMode__14dComIfG_play_cFv(void); -int strcmp(const char*, const char*); s16 dComIfGs_getWarpPlayerAngleY(void); u16 dComIfGs_getMaxLifeGauge(void); u32 getBombNum__21dSv_player_item_max_cCFUc(u8); @@ -280,7 +279,6 @@ void setBombNum__24dSv_player_item_record_cFUcUc(void); void setBottleNum__24dSv_player_item_record_cFUcUc(u8, u8); void setCollect__20dSv_player_collect_cFiUc(int, u8); void setWarpItemData__14dComIfG_play_cFPCc4cXyzsScUcUc(void); -void* memset(void* dest, int ch, u32 count); void ct__13dComIfG_inf_cFv(void); } diff --git a/src/d/d_item/d_item.cpp b/src/d/d_item/d_item.cpp index 7e37fd1950e..6bcbd0e4987 100644 --- a/src/d/d_item/d_item.cpp +++ b/src/d/d_item/d_item.cpp @@ -1,10 +1,10 @@ #include "d/d_item/d_item/d_item.h" #include "d/d_com/d_com_inf_game/d_com_inf_game.h" #include "global.h" +#include "msl_c/string.h" extern "C" { int checkItemGet__FUci(u8, int); -int func_80368954(char*, char*, u32); int item_getcheck_func_FISHING_ROD_1(void); u16 dComIfGs_getMaxLifeGauge(void); u32 getBombNum__21dSv_player_item_max_cCFUc(u8); diff --git a/src/d/d_kankyo.cpp b/src/d/d_kankyo.cpp index 813687af3a2..5c7e41a5c86 100644 --- a/src/d/d_kankyo.cpp +++ b/src/d/d_kankyo.cpp @@ -7,14 +7,13 @@ #include "global.h" #include "m_Do/m_Do_audio/m_Do_audio.h" #include "m_Do/m_Do_graphic/m_Do_graphic.h" +#include "msl_c/math.h" +#include "msl_c/string.h" #include "os/OS.h" extern "C" { -double func_8036C028(double); -double func_8036C590(double); int abs(int); int func_8036608C(const void*, const void*, u32); -int strcmp(const char*, const char*); void __dl__FPv(void); void __mi__4cXyzCFRC3Vec(void); void __ml__4cXyzCFf(void); @@ -135,7 +134,6 @@ void mDoGph_gInf_c_NS_bloom_c_NS_create(void); void mDoLib_project(void); void mDoMtx_inverseTranspose(void); void mDoMtx_lookAt(void); -void memcpy(void*, const void*, int); void offEventBit__11dSv_event_cFUs(void); void SetPos__11cBgS_GndChkFPC4cXyz(void); void WIND_INF_ENTITY_NS_dtor(void); @@ -144,7 +142,6 @@ void Z2EnvSeMgr_NS_dtor(void); void Z2EnvSeMgr_NS_resetScene(void); void Z2EnvSeMgr(void); void Z2SceneMgr_NS_load2ndDynamicWave(void); -void* memset(void* dest, int ch, u32 count); } extern "C" { diff --git a/src/d/d_kankyo/d_kankyo_rain.cpp b/src/d/d_kankyo/d_kankyo_rain.cpp index c8403d2a189..fcba86f8ff4 100644 --- a/src/d/d_kankyo/d_kankyo_rain.cpp +++ b/src/d/d_kankyo/d_kankyo_rain.cpp @@ -6,10 +6,9 @@ #include "d/d_com/d_com_inf_game/d_com_inf_game.h" #include "d/d_kankyo/d_kankyo.h" #include "global.h" +#include "msl_c/math.h" extern "C" { -double func_8036C028(double); -double func_8036C590(double); double func_8036CA54(double); int dKy_daynight_check(void); int func_8036608C(const void*, const void*, u32); @@ -66,7 +65,6 @@ void dStage_roomControl_c_NS_getStatusRoomDt(void); void fopKyM_create(void); void func_80361C24(void); void func_80361D60(void); -void func_8036C720(void); void GXLoadPosMtxImm(void); void GXLoadTexMtxImm(void); void GXSetAlphaCompare(void); diff --git a/src/d/d_meter2/d_meter2_info.cpp b/src/d/d_meter2/d_meter2_info.cpp index 208dcd9f97f..e989239a0c8 100644 --- a/src/d/d_meter2/d_meter2_info.cpp +++ b/src/d/d_meter2/d_meter2_info.cpp @@ -3,10 +3,9 @@ // #include "d/d_meter2/d_meter2_info/d_meter2_info.h" #include "d/d_com/d_com_inf_game/d_com_inf_game.h" #include "global.h" +#include "msl_c/string.h" extern "C" { -char* strcpy(char*, const char*); -int strcmp(const char*, const char*); u8 dComIfGs_getMixItemIndex(int); u8 getBombNum__24dSv_player_item_record_cCFUc(u8); unsigned int getSelectItemIndex__21dSv_player_status_a_cCFi(int); @@ -48,7 +47,6 @@ void getItem__17dSv_player_item_cCFib(void); void isEventBit__11dSv_event_cCFUs(void); void isLetterGetFlag__17dSv_letter_info_cCFi(void); void isLightDropGetFlag__16dSv_light_drop_cCFUc(void); -void memcpy(void*, const void*, int); void offFirstBit__21dSv_player_get_item_cFUc(void); void onLetterGetFlag__17dSv_letter_info_cFi(void); void readIdxResource__10JKRArchiveFPvUlUl(void); diff --git a/src/d/d_save/d_save.cpp b/src/d/d_save/d_save.cpp index 0b9f93475a1..95a49856e92 100644 --- a/src/d/d_save/d_save.cpp +++ b/src/d/d_save/d_save.cpp @@ -2,10 +2,10 @@ #include "Z2AudioLib/Z2AudioMgr/Z2AudioMgr.h" #include "d/d_com/d_com_inf_game/d_com_inf_game.h" #include "d/d_save/d_save_init/d_save_init.h" +#include "msl_c/string.h" #include "os/OS.h" extern "C" { -char* strcpy(char*, const char*); int dStage_roomControl_c_NS_getZoneNo(int); u32 getBombNum__21dSv_player_item_max_cCFUc(u8); u8 dComIfGs_getBottleMax(void); @@ -32,7 +32,6 @@ void getVibration__19dSv_player_config_cFv(void); void init__10dSv_save_cFv(void); void isEventBit__11dSv_event_cCFUs(void); void isFirstBit__21dSv_player_get_item_cCFUc(void); -void memcpy(void*, const void*, int); void offEventBit__11dSv_event_cFUs(void); void onEventBit__11dSv_event_cFUs(void); void setBombNum__24dSv_player_item_record_cFUcUc(void); @@ -371,8 +370,8 @@ u8 dSv_player_item_c::getItem(int item_idx, bool isComboItem) const { return 0xFF; } } - // 合成アイテム不定===>%d, %d\n - // Uncertain combination item===>%d, %d\n + // ACes聁%d, %d\n + // Uncertain combination item%d, %d\n OSReport_Error(lbl_80379234 + 9, item_id_2, item_id_1); } } diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index cac530a50e0..f65fc30dd43 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -57,7 +57,7 @@ void func_80361CE8(void); void func_80361D60(void); void func_803664DC(void); void func_803665BC(void); -void func_80368AE8(void); +void strncpy(void); void getSave__10dSv_info_cFi(void); void init__12dSv_danBit_cFSc(void); void init__20dStage_roomControl_cFvZone(void); diff --git a/src/f/f_op/f_op_actor_mng.cpp b/src/f/f_op/f_op_actor_mng.cpp index 0b71943398a..6275f89fb97 100644 --- a/src/f/f_op/f_op_actor_mng.cpp +++ b/src/f/f_op/f_op_actor_mng.cpp @@ -9,6 +9,7 @@ #include "d/d_stage/d_stage.h" #include "f/f_op/f_op_actor_iter.h" #include "m_Do/m_Do_ext/m_Do_ext.h" +#include "msl_c/string.h" #define FLOAT_LABEL(x) (*(f32*)&x) @@ -220,7 +221,6 @@ void func_8001E128(void); void func_8001E130(void); void func_8001E138(void); void func_80361C24(void); -void func_80368924(void); void get_vectle_calc__FPC4cXyzPC4cXyzP4cXyz(void); void isHeart__FUc(void); void l_HIO_NS_dtor(void); diff --git a/src/m_Do/m_Do_MemCard.cpp b/src/m_Do/m_Do_MemCard.cpp index 5611244cf80..59609b45bb6 100644 --- a/src/m_Do/m_Do_MemCard.cpp +++ b/src/m_Do/m_Do_MemCard.cpp @@ -2,6 +2,7 @@ #include "global.h" #include "m_Do/m_Do_Reset/m_Do_Reset.h" +#include "msl_c/string.h" // additional symbols needed for m_Do_MemCard.cpp // autogenerated by split.py v0.4 at 2021-01-31 21:14:24.930190 @@ -53,7 +54,6 @@ void mDoMemCd_Ctrl_c_NS_setCardState(void); void mDoMemCd_Ctrl_c_NS_store(void); void mDoMemCd_Ctrl_c_NS_update(void); void mDoMemCd_main(void); -void memcpy(void); } // additional symbols needed for m_Do_MemCard.cpp diff --git a/src/m_Do/m_Do_MemCardRWmng.cpp b/src/m_Do/m_Do_MemCardRWmng.cpp index 7a5f903d581..9660b6038da 100644 --- a/src/m_Do/m_Do_MemCardRWmng.cpp +++ b/src/m_Do/m_Do_MemCardRWmng.cpp @@ -2,6 +2,7 @@ #include "d/d_com/d_com_inf_game/d_com_inf_game.h" #include "global.h" +#include "msl_c/string.h" // additional symbols needed for m_Do_MemCardRWmng.cpp // autogenerated by split.py v0.4 at 2021-01-31 21:17:23.731252 @@ -25,8 +26,6 @@ void mDoMemCdRWm_SetCardStat(void); void mDoMemCdRWm_SetCheckSumGameData(void); void mDoMemCdRWm_Store(void); void mDoMemCdRWm_TestCheckSumGameData(void); -void memcpy(void); -void memset(void); } // additional symbols needed for m_Do_MemCardRWmng.cpp diff --git a/src/m_Do/m_Do_controller_pad.cpp b/src/m_Do/m_Do_controller_pad.cpp index f36a1da745f..66d16be5c97 100644 --- a/src/m_Do/m_Do_controller_pad.cpp +++ b/src/m_Do/m_Do_controller_pad.cpp @@ -1,6 +1,6 @@ #include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h" #include "JSystem/JUtility/JUTGamePad/JUTGamePad.h" -#include "c/cLib.h" +#include "SComponent/c_lib.h" #include "global.h" #include "m_Do/m_Do_Reset/m_Do_Reset.h" #include "m_Do/m_Do_main/m_Do_main.h" diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index bca0aef8fe8..2b4bddadeaa 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -17,6 +17,7 @@ #include "m_Do/m_Do_graphic/m_Do_graphic.h" #include "m_Do/m_Do_machine/m_Do_machine.h" #include "m_Do/m_Do_reset/m_Do_reset.h" +#include "msl_c/string.h" extern float lbl_80451A00; extern float lbl_80451A04; @@ -38,7 +39,6 @@ extern s8 lbl_80450B30; extern char lbl_803739A0[0x310]; extern "C" { -int strcmp(const char*, const char*); void cDyl_InitAsync(void); void CheckHeap1__9HeapCheckFv(void); void create__12JKRSolidHeapFUlP7JKRHeapb(void); @@ -63,7 +63,6 @@ void JUTReport__FiiiPCce(void); void mDoDvdThd_callback_c_NS_create(void); void mDoMch_HeapCheckAll(void); void mDoMemCd_Ctrl_c_NS_update(void); -void memcpy(void*, const void*, int); void read__8mDoCPd_cFv(void); void version_check__Fv(void); void main01__Fv(void); diff --git a/src/m_Do/m_Do_mtx.cpp b/src/m_Do/m_Do_mtx.cpp index bce8ccd7e5f..46cdf9204f0 100644 --- a/src/m_Do/m_Do_mtx.cpp +++ b/src/m_Do/m_Do_mtx.cpp @@ -54,7 +54,6 @@ void outprod__4cXyzCFRC3Vec(void); extern u8 lbl_803DD4A0; extern u8 lbl_804505A8; extern u8 lbl_804505AC; -extern u8 lbl_80450AEC; extern u8 lbl_80451B08; extern u8 lbl_80451B0C; extern u8 lbl_80451B10;