From becaa4699fccdcf45d7e1ffc640ecacf28693e12 Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Sun, 2 May 2021 17:04:42 -0700 Subject: [PATCH] move some of d_com_inf_game (#128) * move most d_com_inf_game * remove temp --- .../SComponent/c_angle/Norm__7cSGlobeCFv.s | 20 - ...earItemBombNumCount__14dComIfG_play_cFUc.s | 6 - .../d_com_inf_game/ct__14dComIfG_play_cFv.s | 21 - .../dComIfG_get_timelayer__FPi.s | 18 - .../dComIfGp_checkItemGet__FUci.s | 9 - ...getItemBombNumCount__14dComIfG_play_cFUc.s | 5 - ...etLayerNo_common__14dComIfG_play_cFPCcii.s | 13 - .../getNowVibration__14dComIfG_play_cFv.s | 3 - .../getTimerLimitTimeMs__14dComIfG_play_cFv.s | 3 - .../getTimerMode__14dComIfG_play_cFv.s | 3 - .../getTimerNowTimeMs__14dComIfG_play_cFv.s | 3 - .../getTimerPtr__14dComIfG_play_cFv.s | 3 - .../getTimerType__14dComIfG_play_cFv.s | 3 - ...etItemBombNumCount__14dComIfG_play_cFUcs.s | 7 - include/SSystem/SComponent/c_angle.h | 2 +- include/SSystem/SComponent/c_cc_d.h | 26 +- include/SSystem/SComponent/c_m3d_g_aab.h | 1 + include/SSystem/SComponent/c_m3d_g_cyl.h | 1 + include/SSystem/SComponent/c_m3d_g_tri.h | 1 + include/d/a/d_a_player.h | 6 +- include/d/bg/d_bg_w.h | 18 +- include/d/cc/d_cc_mass_s.h | 4 + include/d/cc/d_cc_s.h | 5 +- include/d/com/d_com_inf_game.h | 661 ++++++++++++++++++ include/d/d_drawlist.h | 91 +++ include/d/d_resorce.h | 56 ++ include/d/d_stage.h | 9 + include/d/d_vibration.h | 61 ++ include/d/event/d_event_data.h | 1 + include/d/meter/d_meter2_info.h | 10 +- include/m_Do/m_Do_ext.h | 19 +- libs/SSystem/SComponent/c_angle.cpp | 14 - src/d/a/d_a_player.cpp | 18 - src/d/com/d_com_inf_game.cpp | 588 +++------------- src/d/d_attention.cpp | 4 +- src/d/d_drawlist.cpp | 66 -- src/d/d_resorce.cpp | 56 -- src/d/d_stage.cpp | 3 - src/d/d_vibration.cpp | 30 - src/d/event/d_event.cpp | 5 - src/d/event/d_event_data.cpp | 1 - src/d/event/d_event_manager.cpp | 3 - 42 files changed, 1045 insertions(+), 832 deletions(-) delete mode 100644 asm/SSystem/SComponent/c_angle/Norm__7cSGlobeCFv.s delete mode 100644 asm/d/com/d_com_inf_game/clearItemBombNumCount__14dComIfG_play_cFUc.s delete mode 100644 asm/d/com/d_com_inf_game/ct__14dComIfG_play_cFv.s delete mode 100644 asm/d/com/d_com_inf_game/dComIfG_get_timelayer__FPi.s delete mode 100644 asm/d/com/d_com_inf_game/dComIfGp_checkItemGet__FUci.s delete mode 100644 asm/d/com/d_com_inf_game/getItemBombNumCount__14dComIfG_play_cFUc.s delete mode 100644 asm/d/com/d_com_inf_game/getLayerNo_common__14dComIfG_play_cFPCcii.s delete mode 100644 asm/d/com/d_com_inf_game/getNowVibration__14dComIfG_play_cFv.s delete mode 100644 asm/d/com/d_com_inf_game/getTimerLimitTimeMs__14dComIfG_play_cFv.s delete mode 100644 asm/d/com/d_com_inf_game/getTimerMode__14dComIfG_play_cFv.s delete mode 100644 asm/d/com/d_com_inf_game/getTimerNowTimeMs__14dComIfG_play_cFv.s delete mode 100644 asm/d/com/d_com_inf_game/getTimerPtr__14dComIfG_play_cFv.s delete mode 100644 asm/d/com/d_com_inf_game/getTimerType__14dComIfG_play_cFv.s delete mode 100644 asm/d/com/d_com_inf_game/setItemBombNumCount__14dComIfG_play_cFUcs.s diff --git a/asm/SSystem/SComponent/c_angle/Norm__7cSGlobeCFv.s b/asm/SSystem/SComponent/c_angle/Norm__7cSGlobeCFv.s deleted file mode 100644 index 4235a77464..0000000000 --- a/asm/SSystem/SComponent/c_angle/Norm__7cSGlobeCFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80271B30: -/* 80271B30 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80271B34 7C 08 02 A6 */ mflr r0 -/* 80271B38 90 01 00 24 */ stw r0, 0x24(r1) -/* 80271B3C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80271B40 7C 7F 1B 78 */ mr r31, r3 -/* 80271B44 7C 85 23 78 */ mr r5, r4 -/* 80271B48 38 61 00 08 */ addi r3, r1, 8 -/* 80271B4C C0 22 B8 3C */ lfs f1, lit_2744(r2) -/* 80271B50 38 85 00 04 */ addi r4, r5, 4 -/* 80271B54 38 A5 00 06 */ addi r5, r5, 6 -/* 80271B58 4B FF FC F9 */ bl __ct__7cSGlobeFfRC7cSAngleRC7cSAngle -/* 80271B5C 7F E3 FB 78 */ mr r3, r31 -/* 80271B60 38 81 00 08 */ addi r4, r1, 8 -/* 80271B64 4B FF FF 51 */ bl Xyz__7cSGlobeCFv -/* 80271B68 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80271B6C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80271B70 7C 08 03 A6 */ mtlr r0 -/* 80271B74 38 21 00 20 */ addi r1, r1, 0x20 -/* 80271B78 4E 80 00 20 */ blr \ No newline at end of file diff --git a/asm/d/com/d_com_inf_game/clearItemBombNumCount__14dComIfG_play_cFUc.s b/asm/d/com/d_com_inf_game/clearItemBombNumCount__14dComIfG_play_cFUc.s deleted file mode 100644 index d75a031753..0000000000 --- a/asm/d/com/d_com_inf_game/clearItemBombNumCount__14dComIfG_play_cFUc.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8002B394: -/* 8002B394 38 A0 00 00 */ li r5, 0 -/* 8002B398 54 80 0D FC */ rlwinm r0, r4, 1, 0x17, 0x1e -/* 8002B39C 7C 63 02 14 */ add r3, r3, r0 -/* 8002B3A0 B0 A3 4E C2 */ sth r5, 0x4ec2(r3) -/* 8002B3A4 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/ct__14dComIfG_play_cFv.s b/asm/d/com/d_com_inf_game/ct__14dComIfG_play_cFv.s deleted file mode 100644 index 073c16db10..0000000000 --- a/asm/d/com/d_com_inf_game/ct__14dComIfG_play_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8002B1DC: -/* 8002B1DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002B1E0 7C 08 02 A6 */ mflr r0 -/* 8002B1E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002B1E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8002B1EC 7C 7F 1B 78 */ mr r31, r3 -/* 8002B1F0 38 00 00 00 */ li r0, 0 -/* 8002B1F4 98 03 4E 0C */ stb r0, 0x4e0c(r3) -/* 8002B1F8 90 03 4E 04 */ stw r0, 0x4e04(r3) -/* 8002B1FC 98 03 4E 0D */ stb r0, 0x4e0d(r3) -/* 8002B200 38 7F 50 24 */ addi r3, r31, 0x5024 -/* 8002B204 38 80 00 00 */ li r4, 0 -/* 8002B208 38 A0 00 08 */ li r5, 8 -/* 8002B20C 4B FD 82 4D */ bl memset -/* 8002B210 7F E3 FB 78 */ mr r3, r31 -/* 8002B214 48 00 00 19 */ bl init__14dComIfG_play_cFv -/* 8002B218 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8002B21C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002B220 7C 08 03 A6 */ mtlr r0 -/* 8002B224 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002B228 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfG_get_timelayer__FPi.s b/asm/d/com/d_com_inf_game/dComIfG_get_timelayer__FPi.s deleted file mode 100644 index 9fac9ad092..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfG_get_timelayer__FPi.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8002B3F4: -/* 8002B3F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002B3F8 7C 08 02 A6 */ mflr r0 -/* 8002B3FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002B400 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8002B404 7C 7F 1B 78 */ mr r31, r3 -/* 8002B408 48 17 46 B1 */ bl dKy_daynight_check__Fv -/* 8002B40C 2C 03 00 00 */ cmpwi r3, 0 -/* 8002B410 41 82 00 10 */ beq lbl_8002B420 -/* 8002B414 80 7F 00 00 */ lwz r3, 0(r31) -/* 8002B418 38 03 00 01 */ addi r0, r3, 1 -/* 8002B41C 90 1F 00 00 */ stw r0, 0(r31) -lbl_8002B420: -/* 8002B420 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8002B424 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002B428 7C 08 03 A6 */ mtlr r0 -/* 8002B42C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002B430 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfGp_checkItemGet__FUci.s b/asm/d/com/d_com_inf_game/dComIfGp_checkItemGet__FUci.s deleted file mode 100644 index b52bd1083e..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfGp_checkItemGet__FUci.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8002B2A8: -/* 8002B2A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002B2AC 7C 08 02 A6 */ mflr r0 -/* 8002B2B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002B2B4 48 06 CC 2D */ bl checkItemGet__FUci -/* 8002B2B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002B2BC 7C 08 03 A6 */ mtlr r0 -/* 8002B2C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002B2C4 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/getItemBombNumCount__14dComIfG_play_cFUc.s b/asm/d/com/d_com_inf_game/getItemBombNumCount__14dComIfG_play_cFUc.s deleted file mode 100644 index c75eb4bebb..0000000000 --- a/asm/d/com/d_com_inf_game/getItemBombNumCount__14dComIfG_play_cFUc.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8002B384: -/* 8002B384 54 80 0D FC */ rlwinm r0, r4, 1, 0x17, 0x1e -/* 8002B388 7C 63 02 14 */ add r3, r3, r0 -/* 8002B38C A8 63 4E C2 */ lha r3, 0x4ec2(r3) -/* 8002B390 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/getLayerNo_common__14dComIfG_play_cFPCcii.s b/asm/d/com/d_com_inf_game/getLayerNo_common__14dComIfG_play_cFPCcii.s deleted file mode 100644 index 87bd2025d1..0000000000 --- a/asm/d/com/d_com_inf_game/getLayerNo_common__14dComIfG_play_cFPCcii.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8002C950: -/* 8002C950 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002C954 7C 08 02 A6 */ mflr r0 -/* 8002C958 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002C95C 4B FF EA D9 */ bl getLayerNo_common_common__14dComIfG_play_cFPCcii -/* 8002C960 2C 03 00 00 */ cmpwi r3, 0 -/* 8002C964 40 80 00 08 */ bge lbl_8002C96C -/* 8002C968 38 60 00 00 */ li r3, 0 -lbl_8002C96C: -/* 8002C96C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002C970 7C 08 03 A6 */ mtlr r0 -/* 8002C974 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002C978 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/getNowVibration__14dComIfG_play_cFv.s b/asm/d/com/d_com_inf_game/getNowVibration__14dComIfG_play_cFv.s deleted file mode 100644 index 465c09b8f3..0000000000 --- a/asm/d/com/d_com_inf_game/getNowVibration__14dComIfG_play_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8002B3B0: -/* 8002B3B0 88 63 4F 5A */ lbz r3, 0x4f5a(r3) -/* 8002B3B4 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/getTimerLimitTimeMs__14dComIfG_play_cFv.s b/asm/d/com/d_com_inf_game/getTimerLimitTimeMs__14dComIfG_play_cFv.s deleted file mode 100644 index 925c3e950d..0000000000 --- a/asm/d/com/d_com_inf_game/getTimerLimitTimeMs__14dComIfG_play_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8002CBAC: -/* 8002CBAC 80 63 50 00 */ lwz r3, 0x5000(r3) -/* 8002CBB0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/getTimerMode__14dComIfG_play_cFv.s b/asm/d/com/d_com_inf_game/getTimerMode__14dComIfG_play_cFv.s deleted file mode 100644 index 07af653fe5..0000000000 --- a/asm/d/com/d_com_inf_game/getTimerMode__14dComIfG_play_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8002CBBC: -/* 8002CBBC 80 63 50 04 */ lwz r3, 0x5004(r3) -/* 8002CBC0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/getTimerNowTimeMs__14dComIfG_play_cFv.s b/asm/d/com/d_com_inf_game/getTimerNowTimeMs__14dComIfG_play_cFv.s deleted file mode 100644 index 562615fcb0..0000000000 --- a/asm/d/com/d_com_inf_game/getTimerNowTimeMs__14dComIfG_play_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8002CB9C: -/* 8002CB9C 80 63 4F FC */ lwz r3, 0x4ffc(r3) -/* 8002CBA0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/getTimerPtr__14dComIfG_play_cFv.s b/asm/d/com/d_com_inf_game/getTimerPtr__14dComIfG_play_cFv.s deleted file mode 100644 index 695a9e9abc..0000000000 --- a/asm/d/com/d_com_inf_game/getTimerPtr__14dComIfG_play_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8002CBDC: -/* 8002CBDC 80 63 4F F8 */ lwz r3, 0x4ff8(r3) -/* 8002CBE0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/getTimerType__14dComIfG_play_cFv.s b/asm/d/com/d_com_inf_game/getTimerType__14dComIfG_play_cFv.s deleted file mode 100644 index 205fd682f9..0000000000 --- a/asm/d/com/d_com_inf_game/getTimerType__14dComIfG_play_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8002CBCC: -/* 8002CBCC 88 63 50 08 */ lbz r3, 0x5008(r3) -/* 8002CBD0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/setItemBombNumCount__14dComIfG_play_cFUcs.s b/asm/d/com/d_com_inf_game/setItemBombNumCount__14dComIfG_play_cFUcs.s deleted file mode 100644 index a8aa7fae82..0000000000 --- a/asm/d/com/d_com_inf_game/setItemBombNumCount__14dComIfG_play_cFUcs.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8002B36C: -/* 8002B36C 54 80 0D FC */ rlwinm r0, r4, 1, 0x17, 0x1e -/* 8002B370 7C 63 02 14 */ add r3, r3, r0 -/* 8002B374 A8 03 4E C2 */ lha r0, 0x4ec2(r3) -/* 8002B378 7C 00 2A 14 */ add r0, r0, r5 -/* 8002B37C B0 03 4E C2 */ sth r0, 0x4ec2(r3) -/* 8002B380 4E 80 00 20 */ blr diff --git a/include/SSystem/SComponent/c_angle.h b/include/SSystem/SComponent/c_angle.h index 39e0bd0e33..b54d8f7585 100644 --- a/include/SSystem/SComponent/c_angle.h +++ b/include/SSystem/SComponent/c_angle.h @@ -93,7 +93,7 @@ public: cSGlobe(float, short, short); cSGlobe(float, const cSAngle&, const cSAngle&); cSGlobe(const cXyz&); - ~cSGlobe(); + ~cSGlobe() {} cSGlobe& Formal(void); void Val(const cSGlobe&); void Val(float, short, short); diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 0297ed5e1f..fafdc7a515 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -11,6 +11,9 @@ #include "f_op/f_op_actor.h" class cCcD_ShapeAttr { +private: + /* 0x00 */ cM3dGAab mAab; + public: struct Shape {}; @@ -22,9 +25,6 @@ public: /* 80263A64 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const; static f32 m_virtual_center[3]; - -private: - /* 0x00 */ cM3dGAab mAab; }; class cCcD_SphAttr; @@ -132,26 +132,28 @@ class cCcD_TriAttr { }; class cCcD_DivideInfo { -public: - /* 80263358 */ void Set(u32, u32, u32); - /* 80263368 */ void Chk(cCcD_DivideInfo const&) const; - private: /* 0x00 */ u32 field_0x0; /* 0x04 */ u32 field_0x4; /* 0x08 */ u32 field_0x8; - /* 0x0C */ void* vtable; + +public: + virtual void test(); // temp to build OK, remove later + virtual ~cCcD_DivideInfo(); + /* 80263358 */ void Set(u32, u32, u32); + /* 80263368 */ void Chk(cCcD_DivideInfo const&) const; }; class cCcD_DivideArea { +private: + cM3dGAab mAab; + public: + virtual void test(); // temp to build OK, remove later + virtual ~cCcD_DivideArea(); /* 802633A8 */ void SetArea(cM3dGAab const&); /* 802634D4 */ void CalcDivideInfo(cCcD_DivideInfo*, cM3dGAab const&, u32); /* 802636A0 */ void CalcDivideInfoOverArea(cCcD_DivideInfo*, cM3dGAab const&); - -private: - cM3dGAab mAab; - void* vtable; }; struct cCcD_SrcObjTg {}; diff --git a/include/SSystem/SComponent/c_m3d_g_aab.h b/include/SSystem/SComponent/c_m3d_g_aab.h index 0972ab6d0a..a246c70d0e 100644 --- a/include/SSystem/SComponent/c_m3d_g_aab.h +++ b/include/SSystem/SComponent/c_m3d_g_aab.h @@ -11,6 +11,7 @@ public: cXyz mMin; cXyz mMax; + virtual void test(); // temp to build OK, remove later virtual ~cM3dGAab(); void Set(const cXyz*, const cXyz*); bool CrossY(const cXyz*) const; diff --git a/include/SSystem/SComponent/c_m3d_g_cyl.h b/include/SSystem/SComponent/c_m3d_g_cyl.h index cfdc290c0a..f3bc618b33 100644 --- a/include/SSystem/SComponent/c_m3d_g_cyl.h +++ b/include/SSystem/SComponent/c_m3d_g_cyl.h @@ -15,6 +15,7 @@ class cM3dGSph; class cM3dGCyl : public cM3dGCylS { public: cM3dGCyl(const cXyz*, f32, f32); + virtual void test(); // temp to build OK, remove later virtual ~cM3dGCyl(); void Set(const cM3dGCylS&); void Set(const cXyz&, f32, f32); diff --git a/include/SSystem/SComponent/c_m3d_g_tri.h b/include/SSystem/SComponent/c_m3d_g_tri.h index 20be886b45..04cb82d449 100644 --- a/include/SSystem/SComponent/c_m3d_g_tri.h +++ b/include/SSystem/SComponent/c_m3d_g_tri.h @@ -9,6 +9,7 @@ class cM3dGTri { // private: public: + ~cM3dGTri(); cM3dGPla mPlane; cXyz mA; cXyz mB; diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 872612d20a..99a8b27a47 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -2,15 +2,11 @@ #define D_A_D_A_PLAYER_H #include "JSystem/J3DGraphAnimator/J3DAnimation.h" +#include "d/d_resorce.h" #include "d/save/d_save.h" #include "dolphin/types.h" #include "f_op/f_op_actor.h" -// todo: remove after moving JKernel -struct JKRHeap { - /* 802CE5CC */ void freeAll(); -}; - class daPy_anmHeap_c { public: enum daAlinkHEAP_TYPE {}; diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h index 3d7329acef..ecb8557088 100644 --- a/include/d/bg/d_bg_w.h +++ b/include/d/bg/d_bg_w.h @@ -4,6 +4,7 @@ #include "SSystem/SComponent/c_bg_s_gnd_chk.h" #include "SSystem/SComponent/c_bg_s_lin_chk.h" #include "SSystem/SComponent/c_bg_s_poly_info.h" +#include "SSystem/SComponent/c_m3d_g_tri.h" #include "d/bg/d_bg_s_acch.h" #include "d/bg/d_bg_s_grp_pass_chk.h" #include "d/bg/d_bg_s_poly_pass_chk.h" @@ -14,23 +15,6 @@ struct dBgS_CaptPoly {}; struct dBgS_SphChk {}; -struct cM3dGTri { - /* 8007A344 */ ~cM3dGTri(); - /* 8026F85C */ void setBg(Vec const*, Vec const*, Vec const*, cM3dGPla const*); -}; - -struct cM3dGSph {}; - -struct cM3dGAab { - /* 8026EC88 */ void CrossY(cXyz const*) const; - /* 8026ECD0 */ void UnderPlaneYUnder(f32) const; - /* 8026ECE4 */ void TopPlaneYUnder(f32) const; - /* 8026ECF8 */ void ClearForMinMax(); - /* 8026ED1C */ void SetMinMax(cXyz const&); - /* 8026EDA4 */ void SetMin(cXyz const&); - /* 8026EDE4 */ void SetMax(cXyz const&); -}; - struct cBgW_TriElm { /* 800796F8 */ ~cBgW_TriElm(); /* 80079754 */ cBgW_TriElm(); diff --git a/include/d/cc/d_cc_mass_s.h b/include/d/cc/d_cc_mass_s.h index 9a654a13be..0f2ac837ee 100644 --- a/include/d/cc/d_cc_mass_s.h +++ b/include/d/cc/d_cc_mass_s.h @@ -6,6 +6,9 @@ class dCcMassS_Obj { public: + dCcMassS_Obj(); + ~dCcMassS_Obj(); + private: u8 field_0x0[12]; cCcD_DivideInfo cccd_divideinfo; @@ -15,6 +18,7 @@ private: class dCcMassS_Mng { public: dCcMassS_Mng(void); + ~dCcMassS_Mng(); private: /* 0x0000 */ cCcD_DivideArea cccd_dividearea; diff --git a/include/d/cc/d_cc_s.h b/include/d/cc/d_cc_s.h index 66999bff2e..ebfe05a122 100644 --- a/include/d/cc/d_cc_s.h +++ b/include/d/cc/d_cc_s.h @@ -1,6 +1,7 @@ #ifndef D_CC_D_CC_S_H #define D_CC_D_CC_S_H +#include "SSystem/SComponent/c_cc_s.h" #include "d/cc/d_cc_d.h" #include "d/cc/d_cc_mass_s.h" #include "dolphin/types.h" @@ -42,9 +43,9 @@ public: static u8 m_mtrl_hit_tbl[64]; private: - /* 0x0000 */ cCcS cccs; + /* 0x0000 */ cCcS mCCcS; /* 0x2834 */ u8 field_0x2834[0x18]; - /* 0x284C */ dCcMassS_Mng dccmass_mng; + /* 0x284C */ dCcMassS_Mng mMass_Mng; }; #endif /* D_CC_D_CC_S_H */ diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 6cd55b190b..ad3186d54c 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -1,6 +1,667 @@ #ifndef D_COM_D_COM_INF_GAME_H #define D_COM_D_COM_INF_GAME_H +#include "d/bg/d_bg_s.h" +#include "d/cc/d_cc_s.h" +#include "d/d_attention.h" +#include "d/d_drawlist.h" +#include "d/d_resorce.h" +#include "d/d_stage.h" +#include "d/d_vibration.h" +#include "d/event/d_event.h" +#include "d/event/d_event_manager.h" +#include "d/save/d_save.h" #include "dolphin/types.h" +struct JKRExpHeap { + /* 802CEE2C */ void create(u32, JKRHeap*, bool); +}; + +struct daAlink_c { + /* 800BDE48 */ void setLastSceneMode(u32*); +}; + +struct daHorse_c {}; + +struct dTimer_c { + /* 8025D524 */ void deleteCheck(); + /* 8025D618 */ void start(int, s16); + /* 8025D538 */ void start(int); + /* 8025D7E8 */ void stop(u8); + /* 8025D86C */ void restart(u8); + /* 8025D920 */ void end(int); + /* 8025D9E0 */ void deleteRequest(); +}; + +#pragma pack(push, 1) +class dComIfG_camera_info_class { +public: + dComIfG_camera_info_class(void); + /* 80030208 */ ~dComIfG_camera_info_class(); + +private: + u8 field_0x0[12]; + cXyz field_0xc; + cXyz field_0x18; +}; +#pragma pack(pop) + +#pragma pack(push, 1) +class dComIfG_play_c { +public: + void ct(void); + void init(void); + void itemInit(void); + void setItemBombNumCount(u8, s16); + s16 getItemBombNumCount(u8); + void clearItemBombNumCount(u8); + void setNowVibration(u8); + u32 getNowVibration(void); + void setStartStage(dStage_startStage_c*); + int getLayerNo_common_common(char const*, int, int); + int getLayerNo_common(char const*, int, int); + int getLayerNo(int); + void createParticle(void); + u32 createSimpleModel(void); + void deleteSimpleModel(void); + void drawSimpleModel(void); + u32 addSimpleModel(J3DModelData*, int, u8); + u32 removeSimpleModel(J3DModelData*, int); + u32 entrySimpleModel(J3DModel*, int); + void setTimerNowTimeMs(int); + int getTimerNowTimeMs(void); + void setTimerLimitTimeMs(int); + int getTimerLimitTimeMs(void); + void setTimerMode(int); + int getTimerMode(void); + void setTimerType(u8); + u8 getTimerType(void); + void setTimerPtr(dTimer_c*); + dTimer_c* getTimerPtr(void); + void setWarpItemData(const char*, cXyz, s16, s8, u8, u8); + void setSelectItem(int, u8); + void setSelectItemTest(int, u8); + ~dComIfG_play_c(); + + // inlines + bool& isPauseFlag() { return mPauseFlag; } + void* getMsgObjectClass() { return mMsgObjectClass; } + dStage_roomControl_c* getRoomControl() { return mRoomControl; } + dEvt_control_c getEvent() { return mEvent; } + daHorse_c* getHorseActor() { return mHorseActor; } + u8& getItemLifeCountType() { return mItemLifeCountType; } + void setItem(u8 slot, u8 i_no) { + mItemSlot = slot; + mItemID = i_no; + } + + void setUnkWarashibe1(u8 num) { mItemSlot = num; } + void setUnkWarashibe2(u8 num) { mItemID = num; } + + void setZStatus(u8 status, u8 flag) { + mZStatus = status; + mZSetFlag = flag; + } + void setRStatus(u8 status, u8 flag) { + mRStatus = status; + mRSetFlag = flag; + } + void setDoStatus(u8 status, u8 flag) { + mDoStatus = status; + mDoSetFlag = flag; + } + void setAStatus(u8 status, u8 flag) { + mAStatus = status; + mASetFlag = flag; + } + void setBottleStatus(u8 status, u8 flag) { + mBottleStatus = status; + mBottleSetFlag = flag; + } + void setItemLifeCount(float hearts, u8 type) { + mItemLifeCount += hearts; + mItemLifeCountType = type; + } + void setItemRupeeCount(int rupees) { mItemRupeeCount += rupees; } + void setItemMagicCount(s16 magic) { mItemMagicCount += magic; } + void setItemMaxMagicCount(s16 max) { mItemMaxMagicCount += max; } + void setItemArrowNumCount(s16 arrows) { mItemArrowNumCount += arrows; } + void setItemPachinkoNumCount(s16 seeds) { mItemPachinkoNumCount += seeds; } + void setItemKeyNumCount(s16 keys) { mItemKeyNumCount += keys; } + void setItemMaxLifeCount(s16 max) { mItemMaxLifeCount += max; } + void setOxygen(int oxygen) { mOxygen = oxygen; } + void setMaxOxygen(int max) { mMaxOxygen = max; } + u8 getDoStatus(void) { return mDoStatus; } + u8 getRStatus(void) { return mRStatus; } + inline char* getStartStageName() { return mStartStage.getName(); } + +public: + /* 0x00000 */ dBgS mDBgS; + /* 0x01404 */ dCcS mDCcS; + /* 0x03EC4 */ u8 field_0x3ec4[4]; // might be part of dCcS + /* 0x03EC8 */ dStage_startStage_c mStartStage; + /* 0x03ED5 */ u8 field_0x3ed5; // probably padding + /* 0x03ED6 */ dStage_nextStage_c mNextStage; + /* 0x03EE7 */ u8 field_0x3ee7; // probably padding + /* 0x03EE8 */ dStage_stageDt_c mStageData; + /* 0x03F8C */ dStage_roomControl_c* mRoomControl; + /* 0x03F90 */ dEvt_control_c mEvent; + /* 0x040C0 */ dEvent_manager_c mEvtManager; + /* 0x0477C */ u8 field_0x477C[4]; + /* 0x04780 */ dAttention_c mAttention; + /* 0x04C88 */ u8 field_0x4c88[0x14]; + /* 0x04C9C */ dVibration_c mVibration; + /* 0x04D2C */ u8 field_0x4d2c[4]; + /* 0x04D30 */ JKRArchive* mFieldMapArchive2; + /* 0x04D34 */ JKRArchive* mMsgArchive[11]; + /* 0x04D60 */ JKRArchive* mDemoMsgArchive; + /* 0x04D64 */ JKRArchive* mMeterButtonArchive; + /* 0x04D68 */ void* field_0x4d68; + /* 0x04D6C */ JKRArchive* mFontArchive; + /* 0x04D70 */ JKRArchive* mRubyArchive; + /* 0x04D74 */ JKRArchive* mAnmArchive; + /* 0x04D78 */ void* field_0x4d78[2]; + /* 0x04D80 */ JKRArchive* mCollectResArchive; + /* 0x04D84 */ JKRArchive* mFmapResArchive; + /* 0x04D88 */ JKRArchive* mDmapResArchive; + /* 0x04D8C */ JKRArchive* mOptionResArchive; + /* 0x04D90 */ void* field_0x4d90[2]; + /* 0x04D98 */ JKRArchive* mItemIconArchive; + /* 0x04D9C */ JKRArchive* mNameResArchive; + /* 0x04DA0 */ JKRArchive* mErrorResArchive; + /* 0x04DA4 */ void* field_0x4da4; + /* 0x04DA8 */ JKRArchive* mAllMapArchive; + /* 0x04DAC */ JKRArchive* mMsgCommonArchive; + /* 0x04DB0 */ JKRArchive* mRingResArchive; + /* 0x04DB4 */ void* field_0x4db4; + /* 0x04DB8 */ JKRArchive* mCardIconResArchive; + /* 0x04DBC */ JKRArchive* mMsgDtArchive[15]; + /* 0x04DF8 */ JKRArchive* mMain2DArchive; + /* 0x04DFC */ void* field_0x4dfc[2]; + /* 0x04E04 */ void* mParticle; + /* 0x04E08 */ void* mSimpleModel; + /* 0x04E0C */ u8 mWindowNum; + /* 0x04E0D */ u8 mLayerOld; + /* 0x04E0E */ u16 mStatus; + /* 0x04E10 */ dDlst_window_c mWindow; + /* 0x04E3C */ dComIfG_camera_info_class* mCameraInfo; + /* 0x04E40 */ s8 mCameraWinID; + /* 0x04E41 */ s8 mCameraPlayer1ID; + /* 0x04E42 */ s8 mCameraPlayer2ID; + /* 0x04E43 */ u8 field_0x4e43; + /* 0x04E44 */ int mCameraAttentionStatus; + /* 0x04E48 */ float mCameraZoomScale; + /* 0x04E4C */ float mCameraZoomForcus; + /* 0x04E50 */ void* mCameraParamFileName; + /* 0x04E54 */ cXyz mCameraPos; + /* 0x04E60 */ cXyz mCameraTarget; + /* 0x04E6C */ float mCameraUnk1; + /* 0x04E70 */ s16 mCameraUnk2; + /* 0x04E72 */ s16 field_0x4e72; + /* 0x04E74 */ daAlink_c* mPlayer; + /* 0x04E78 */ s8 mPlayerCameraID[4]; + /* 0x04E7C */ daAlink_c* mPlayerPtr; + /* 0x04E80 */ daHorse_c* mHorseActor; + /* 0x04E84 */ void* mMsgObjectClass; + /* 0x04E88 */ float mItemLifeCount; + /* 0x04E8C */ int mItemRupeeCount; + /* 0x04E90 */ s16 mItemKeyNumCount; + /* 0x04E92 */ s16 mItemMaxLifeCount; + /* 0x04E94 */ s16 mItemMagicCount; + /* 0x04E96 */ s16 mItemNowMagicCount; + /* 0x04E98 */ s16 mItemMaxMagicCount; + /* 0x04E9A */ s16 field_0x4e9a; + /* 0x04E9C */ int mItemOilCount; + /* 0x04EA0 */ int mItemNowOil; + /* 0x04EA4 */ int mItemMaxOilCount; + /* 0x04EA8 */ int mOxygen; + /* 0x04EAC */ int mNowOxygen; + /* 0x04EB0 */ int mMaxOxygen; + /* 0x04EB4 */ int mOxygenCount; + /* 0x04EB8 */ int mMaxOxygenCount; + /* 0x04EBC */ s16 mItemArrowNumCount; + /* 0x04EBE */ s16 mItemPachinkoNumCount; + /* 0x04EC0 */ s16 mItemMaxArrowNumCount; + /* 0x04EC2 */ s16 mItemBombNumCount[3]; + /* 0x04EC8 */ u8 field_0x4ec8[4]; + /* 0x04ECC */ s16 mItemMaxBombNumCount1; + /* 0x04ECE */ s16 mItemMaxBombNumCount2; + /* 0x04ED0 */ u8 field_0x4ed0[6]; + /* 0x04ED6 */ s16 mItemMaxBombNumCount3; + /* 0x04ED8 */ u8 field_0x4ed8[6]; + /* 0x04EDE */ u16 mItemNowLife; + /* 0x04EE0 */ u8 field_0x4ee0[2]; + /* 0x04EE2 */ u8 mMesgStatus; + /* 0x04EE3 */ u8 field_0x4ee3; + /* 0x04EE4 */ u8 mRStatus; + /* 0x04EE5 */ u8 mAStatus; // B button + /* 0x04EE6 */ u8 field_0x4ee6; + /* 0x04EE7 */ u8 mNunStatus; + /* 0x04EE8 */ u8 mBottleStatus; + /* 0x04EE9 */ u8 mRemoConStatus; + /* 0x04EEA */ u8 field_0x4eea[2]; + /* 0x04EEC */ u8 mDoStatus; // A button + /* 0x04EED */ u8 field_0x4eed; + /* 0x04EEE */ u8 m3DStatus; + /* 0x04EEF */ u8 field_0x4eef; // related to NunStatusForce + /* 0x04EF0 */ u8 field_0x4ef0; // related to NunStatus + /* 0x04EF1 */ u8 field_0x4ef1; // related to RemoConStatusForce + /* 0x04EF2 */ u8 field_0x4ef2; // related to RemoConStatus + /* 0x04EF3 */ u8 field_0x4ef3[2]; + /* 0x04EF5 */ u8 m3DDirection; + /* 0x04EF6 */ u8 m3DDirectionForce; + /* 0x04EF7 */ u8 mCStickStatus; + /* 0x04EF8 */ u8 mCStickDirection; + /* 0x04EF9 */ u8 mCStickDirectionForce; + /* 0x04EFA */ u8 mSButtonStatus; + /* 0x04EFB */ u8 mZStatus; + /* 0x04EFC */ u8 mRStatusForce; + /* 0x04EFD */ u8 mAStatusForce; + /* 0x04EFE */ u8 field_0x4efe; + /* 0x04EFF */ u8 field_0x4eff; // related to NunStatusForce + /* 0x04F00 */ u8 mBottleStatusForce; + /* 0x04F01 */ u8 field_0x4f01; // related to RemoConStatusForce + /* 0x04F02 */ u8 field_0x4f02[2]; + /* 0x04F04 */ u8 mDoStatusForce; + /* 0x04F05 */ u8 mTouchStatusForce; + /* 0x04F06 */ u8 m3DStatusForce; + /* 0x04F07 */ u8 mCStickStatusForce; + /* 0x04F08 */ u8 mSButtonStatusForce; + /* 0x04F09 */ u8 mZStatusForce; + /* 0x04F0A */ u8 mRSetFlag; // related to RStatus + /* 0x04F0B */ u8 mASetFlag; // related to AStatus + /* 0x04F0C */ u8 field_0x4f0c; + /* 0x04F0D */ u8 mNunSetFlag; // related to NunStatus + /* 0x04F0E */ u8 mBottleSetFlag; // related to BottleStatus + /* 0x04F0F */ u8 mRemoConSetFlag; // related to RemoConStatus + /* 0x04F10 */ u8 field_0x4f10[2]; + /* 0x04F12 */ u8 mDoSetFlag; // related to DoStatus + /* 0x04F13 */ u8 m3DSetFlag; // related to 3DStatus + /* 0x04F14 */ u8 mCStickSetFlag; // related to CStickStatus + /* 0x04F15 */ u8 mSButtonSetFlag; // related to SButtonStatus + /* 0x04F16 */ u8 mZSetFlag; // related to ZStatus + /* 0x04F17 */ u8 mRSetFlagForce; + /* 0x04F18 */ u8 mASetFlagForce; + /* 0x04F19 */ u8 field_0x4f19; + /* 0x04F1A */ u8 field_0x4f1a; // related to NunStatusForce + /* 0x04F1B */ u8 mBottleSetFlagForce; + /* 0x04F1C */ u8 field_0x4f1c; // related to RemoConStatusForce + /* 0x04F1D */ u8 field_0x4f1d[2]; + /* 0x04F1F */ u8 mDoSetFlagForce; + /* 0x04F20 */ u8 m3DSetFlagForce; + /* 0x04F21 */ u8 mCStickSetFlagForce; + /* 0x04F22 */ u8 mSButtonSetFlagForce; + /* 0x04F23 */ u8 mZSetFlagForce; + /* 0x04F24 */ u8 mXStatus; + /* 0x04F25 */ u8 mXStatusForce; + /* 0x04F26 */ u8 field_0x4fbe; // related to XStatus + /* 0x04F27 */ u8 mXSetFlagForce; + /* 0x04F28 */ u8 mYStatus; + /* 0x04F29 */ u8 mYStatusForce; + /* 0x04F2A */ u8 mYSetFlag; // related to YStatus + /* 0x04F2B */ u8 mYSetFlagForce; + /* 0x04F2C */ u8 mNunZStatus; + /* 0x04F2D */ u8 mNunZSetFlag; // related to NunZStatus + /* 0x04F2E */ u8 field_0x4fc6; // related to NunZStatusForce + /* 0x04F2F */ u8 field_0x4fc7; // related to NunZStatusForce + /* 0x04F30 */ u8 mNunCStatus; + /* 0x04F31 */ u8 mNunCSetFlag; // related to NunCStatus + /* 0x04F32 */ u8 field_0x4fca; // related to NunCStatusForce + /* 0x04F33 */ u8 field_0x4fcb; // related to NunCStatusForce + /* 0x04F34 */ u8 mSelectItem[8]; + /* 0x04F3C */ u8 mSelectEquip[6]; + /* 0x04F42 */ u8 mBaseAnimeID; + /* 0x04F43 */ u8 mFaceAnimeID; + /* 0x04F44 */ u8 mNowAnimeID; + /* 0x04F45 */ u8 mItemSlot; + /* 0x04F46 */ u8 mItemID; + /* 0x04F47 */ u8 field_0x4f47[2]; + /* 0x04F49 */ u8 mDirection; + /* 0x04F4A */ u8 field_0x4f4a; + /* 0x04F4B */ u8 field_0x4f4b; // related to itemInit + /* 0x04F4C */ u8 field_0x4f4c; // related to itemInit + /* 0x04F4D */ u8 field_0x4f4d; + /* 0x04F4E */ u8 mMesgCancelButton; + /* 0x04F4F */ u8 field_0x4f4f[2]; + /* 0x04F51 */ u8 mGameoverStatus; + /* 0x04F52 */ u8 field_0x4f52[5]; + /* 0x04F57 */ u8 mHeapLockFlag; + /* 0x04F58 */ u8 mSubHeapLockFlag[2]; + /* 0x04F5A */ u8 mNowVibration; + /* 0x04F5B */ u8 field_0x4f5b[2]; + /* 0x04F5D */ u8 mWolfAbility; + /* 0x04F5E */ u8 field_0x4f5e[11]; + /* 0x04F69 */ u8 mNeedLightDropNum; + /* 0x04F6A */ u8 field_0x4f6a[18]; + /* 0x04F7C */ u8 mMesgBgm; + /* 0x04F7D */ bool mPauseFlag; + /* 0x04F7E */ u8 mItemLifeCountType; + /* 0x04F7F */ u8 mOxygenShowFlag; + /* 0x04F80 */ u8 mShow2D; + /* 0x04F81 */ u8 field_0x4f81[3]; + /* 0x04F84 */ JKRExpHeap* mExpHeap2D; + /* 0x04F88 */ JKRExpHeap* mSubExpHeap2D[2]; + /* 0x04F90 */ JKRExpHeap* mMsgExpHeap; + /* 0x04F94 */ char field_0x4F94[8]; // related to setWarpItemData + /* 0x04F9C */ cXyz field_0x4f9c; // related to setWarpItemData + /* 0x04FA8 */ u8 field_0x4fa8[2]; + /* 0x04FAA */ u8 field_0x4faa; // related to setWarpItemData + /* 0x04FAB */ u8 field_0x4fab; // related to setWarpItemData + /* 0x04FAC */ u8 field_0x4fac; // related to setWarpItemData + /* 0x04FAD */ u8 field_0x4fad[3]; + /* 0x04FB0 */ void* mMesgCamInfo; + /* 0x04FB4 */ int mMesgCamInfoBasicID; + /* 0x04FB8 */ fopAc_ac_c* mMesgCamInfoActor1; + /* 0x04FBC */ fopAc_ac_c* mMesgCamInfoActor2; + /* 0x04FC0 */ fopAc_ac_c* mMesgCamInfoActor3; + /* 0x04FC4 */ fopAc_ac_c* mMesgCamInfoActor4; + /* 0x04FC8 */ fopAc_ac_c* mMesgCamInfoActor5; + /* 0x04FCC */ fopAc_ac_c* mMesgCamInfoActor6; + /* 0x04FD0 */ fopAc_ac_c* mMesgCamInfoActor7; + /* 0x04FD4 */ fopAc_ac_c* mMesgCamInfoActor8; + /* 0x04FD8 */ fopAc_ac_c* mMesgCamInfoActor9; + /* 0x04FDC */ fopAc_ac_c* mMesgCamInfoActor10; + /* 0x04FE0 */ int mPlayerStatus; + /* 0x04FE4 */ u8 field_0x4fe4[0x14]; + /* 0x04FF8 */ dTimer_c* mTimerPtr; + /* 0x04FFC */ int mTimerNowTimeMs; + /* 0x05000 */ int mTimerLimitTimeMs; + /* 0x05004 */ int mTimerMode; + /* 0x05008 */ u8 mTimerType; + /* 0x0500C */ dDlst_window_c* mCurrentWindow; + /* 0x05010 */ void* mCurrentView; + /* 0x05014 */ void* mCurrentViewport; + /* 0x05018 */ void* mCurrentGrafPort; + /* 0x0501C */ void* mItemTable; + /* 0x0501D */ u8 field_0x501d[7]; + /* 0x05024 */ char mLastPlayStageName[8]; +}; +#pragma pack(pop) + +#pragma pack(push, 1) +class dComIfG_inf_c { +public: + dComIfG_inf_c(void); + ~dComIfG_inf_c(); + void ct(void); + + // temp for setWarashibeItem + void setPlayUnkWarashibe1(u8 num) { play.setUnkWarashibe1(num); } + void setPlayUnkWarashibe2(u8 num) { play.setUnkWarashibe2(num); } + void setWorldDark(u8 state) { mWorldDark = state; } + u8 setWorldDark() { return mWorldDark; } + + dSv_player_c& getPlayer() { return info.getPlayer(); } + dSv_save_c& getSaveFile() { return info.getSaveFile(); } + u32 getNowVibration() { return play.getNowVibration(); } + dDlst_peekZ_c& getdlstPeekZ() { return draw_list_list.dlstPeekZ; } + dComIfG_play_c& getPlay() { return play; } + dSv_memory_c& getMemory() { return info.getMemory(); } + dSv_event_c& getEvent() { return info.getEvent(); } + dSv_info_c& getInfo() { return info; } + inline dDlst_list_c& getDrawlist() { return draw_list_list; } + +private: + /* 0x00000 */ dSv_info_c info; + /* 0x00EEC */ u8 field_0xeec[0x38]; + /* 0x00F24 */ u32 saveTotalTime; + /* 0x00F28 */ u32 saveStartTime; + /* 0x00F2C */ u32 field_0xf2c; + /* 0x00F30 */ u32 field_0xf30; + /* 0x00F34 */ u32 field_0xf34; + /* 0x00F38 */ dComIfG_play_c play; + /* 0x05F64 */ dDlst_list_c draw_list_list; + /* 0x1C110 */ u8 field_0x1C114[0x1E8]; + /* 0x1C2F8 */ dRes_info_c resource_info1; + /* 0x1C31C */ u8 unk19[0x11DC]; + /* 0x1D4F8 */ dRes_info_c resource_info2; + /* 0x1D51C */ u8 unk20[0x8DA]; + /* 0x1DDF8 */ u8 field_0x1ddf8; + /* 0x1DDF9 */ u8 mWorldDark; + /* 0x1DDFA */ u8 field_0x1ddfa; + /* 0x1DDFB */ u8 field_0x1ddfb; + /* 0x1DDFC */ u8 field_0x1ddfc; + /* 0x1DE00 */ u32 field_0x1de00; + /* 0x1DE04 */ u32 field_0x1de04; + /* 0x1DE08 */ u8 field_0x1de08; + /* 0x1DE09 */ u8 field_0x1de09; + /* 0x1DE0A */ u8 field_0x1de0a; + + static u8 dComIfG_mTimerInfo[20]; +}; +#pragma pack(pop) + +class __d_timer_info_c { +public: + __d_timer_info_c() { + field_0xc = -1; + field_0x8 = 0; + field_0x4 = 0; + field_0x0 = 0; + } + u32 field_0x0; + u32 field_0x4; + u32 field_0x8; + u32 field_0xc; + u32 field_0x10; +}; + +// extern dComIfG_inf_c g_dComIfG_gameInfo; + +/* void dComIfGp_setItemLifeCount(float, u8); +void dComIfGp_setItemRupeeCount(long); +int dComIfGs_isItemFirstBit(u8); + +inline void dComIfGp_setRStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.getPlay().setRStatus(status, flag); +} +inline void dComIfGp_setDoStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.getPlay().setDoStatus(status, flag); +} +inline void dComIfGp_setAStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.getPlay().setAStatus(status, flag); +} +inline void dComIfGp_setZStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.getPlay().setZStatus(status, flag); +} +inline void dComIfGp_setItemMagicCount(s16 amount) { + g_dComIfG_gameInfo.getPlay().setItemMagicCount(amount); +} +inline void dComIfGp_setItemMaxMagicCount(s16 max) { + g_dComIfG_gameInfo.getPlay().setItemMaxMagicCount(max); +} +inline void dComIfGp_setItemArrowNumCount(s16 amount) { + g_dComIfG_gameInfo.getPlay().setItemArrowNumCount(amount); +} +inline void dComIfGp_setItemPachinkoNumCount(s16 amount) { + g_dComIfG_gameInfo.getPlay().setItemPachinkoNumCount(amount); +} +inline void dComIfGp_setItemKeyNumCount(s16 amount) { + g_dComIfG_gameInfo.getPlay().setItemKeyNumCount(amount); +} +inline void dComIfGp_setItemMaxLifeCount(s16 max) { + g_dComIfG_gameInfo.getPlay().setItemMaxLifeCount(max); +} +inline void dComIfGs_onDungeonItemMap(void) { + g_dComIfG_gameInfo.getMemory().getTempFlags().onDungeonItemMap(); +} +inline void dComIfGs_onDungeonItemCompass(void) { + g_dComIfG_gameInfo.getMemory().getTempFlags().onDungeonItemCompass(); +} +inline void dComIfGs_onDungeonItemWarp(void) { + g_dComIfG_gameInfo.getMemory().getTempFlags().onDungeonItemWarp(); +} +inline void dComIfGs_setItem(int slot, u8 i_no) { + g_dComIfG_gameInfo.getSaveFile().getPlayerItem().setItem(slot, i_no); +} +inline void dComIfGs_setOxygen(int amount) { + g_dComIfG_gameInfo.getPlay().setOxygen(amount); +} +inline void dComIfGs_setMaxOxygen(int max) { + g_dComIfG_gameInfo.getPlay().setMaxOxygen(max); +} +inline void dComIfGs_setOil(u16 amount) { + g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().setOil(amount); +} +inline void dComIfGs_setMaxOil(u16 max) { + g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().setMaxOil(max); +} +inline void dComIfGs_setWalletSize(u8 size) { + g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().setWalletSize(size); +} +inline void dComIfGs_setMagic(u8 amount) { + g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().setMagic(amount); +} +inline void dComIfGs_setMaxMagic(u8 max) { + g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().setMaxMagic(max); +} +inline void dComIfGs_setRupee(u16 amount) { + g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().setRupee(amount); +} +inline void dComIfGs_setLife(u16 amount) { + g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().setLife(amount); +} +inline void dComIfGs_setMaxLife(u8 max) { + g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().setMaxLife(max); +} +inline void dComIfGs_onDungeonItemBossKey(void) { + g_dComIfG_gameInfo.getMemory().getTempFlags().onDungeonItemBossKey(); +} +inline void dComIfGs_setCollectSword(u8 sword_id) { + g_dComIfG_gameInfo.getSaveFile().getPlayerCollect().setCollect(SWORD_BITFIELD, sword_id); +} +inline void dComIfGs_setCollectShield(u8 shield_id) { + g_dComIfG_gameInfo.getSaveFile().getPlayerCollect().setCollect(SHIELD_BITFIELD, shield_id); +} +inline void dComIfGs_setCollectClothes(u8 clothes_id) { + g_dComIfG_gameInfo.getSaveFile().getPlayerCollect().setCollect(CLOTHING_BITFIELD, clothes_id); +} +inline void dComIfGs_setRodTypeLevelUp(void) { + g_dComIfG_gameInfo.getSaveFile().getPlayerItem().setRodTypeLevelUp(); +} +inline void dComIfGs_setArrowNum(u8 amount) { + g_dComIfG_gameInfo.getSaveFile().getPlayerItemRecord().setArrowNum(amount); +} +inline void dComIfGs_setArrowMax(u8 max) { + g_dComIfG_gameInfo.getSaveFile().getPlayerItemMax().setArrowNum(max); +} +inline u8 dComIfGs_getPachinkoMax(void) { + return 50; +} +inline void dComIfGs_setEmptyBombBag(void) { + g_dComIfG_gameInfo.getSaveFile().getPlayerItem().setEmptyBombBag(); +} +inline void dComIfGs_setEmptyBombBag(u8 type, u8 amount) { + g_dComIfG_gameInfo.getSaveFile().getPlayerItem().setEmptyBombBag(type, amount); +} +inline void dComIfGs_setEmptyBombBagItemIn(u8 type, bool unk) { + g_dComIfG_gameInfo.getSaveFile().getPlayerItem().setEmptyBombBagItemIn(type, unk); +} +inline void dComIfGs_setEmptyBottle(void) { + g_dComIfG_gameInfo.getSaveFile().getPlayerItem().setEmptyBottle(); +} +inline void dComIfGs_setEmptyBottle(u8 type) { + g_dComIfG_gameInfo.getSaveFile().getPlayerItem().setEmptyBottle(type); +} +inline void dComIfGs_setEmptyBottleItemIn(u8 type) { + g_dComIfG_gameInfo.getSaveFile().getPlayerItem().setEmptyBottleItemIn(type); +} +inline void dComIfGs_onEventBit(u16 id) { + g_dComIfG_gameInfo.getSaveFile().getEventFlags().onEventBit(id); +} +inline void dComIfGs_onLightDropFlag(u8 area_id) { + g_dComIfG_gameInfo.getSaveFile().getLightDrop().onLightDropGetFlag(area_id); +} +inline void dComIfGs_onSwitch(int param1, int param2) { + g_dComIfG_gameInfo.getInfo().onSwitch(param1, param2); +} +inline bool dComIfGs_isDungeonItemMap(void) { + return g_dComIfG_gameInfo.getMemory().getTempFlags().isDungeonItemMap(); +} +inline bool dComIfGs_isDungeonItemBossKey(void) { + return g_dComIfG_gameInfo.getMemory().getTempFlags().isDungeonItemBossKey(); +} +inline u8 dComIfGs_getItem(int slot, bool unk) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerItem().getItem(slot, unk); +} +inline BOOL dComIfGs_isCollectSword(u8 sword_id) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerCollect().isCollect(SWORD_BITFIELD, sword_id); +} +inline BOOL dComIfGs_isCollectClothing(u8 clothing_id) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerCollect().isCollect(CLOTHING_BITFIELD, + clothing_id); +} +inline u8 dComIfGs_checkBottle(u8 type) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerItem().checkBottle(type); +} +inline BOOL dComIfGs_isLightDropGetFlag(u8 area_id) { + return g_dComIfG_gameInfo.getSaveFile().getLightDrop().isLightDropGetFlag(area_id); +} +inline u8 dComIfGs_getArrowMax(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerItemMax().getArrowNum(); +} +inline u8 dComIfGs_getCollectSmell(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerStatusA().getSelectEquip(3); +} +inline u8 dComIfGs_getPohSpiritNum(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerCollect().getPohNum(); +} +inline u8 dComIfGs_getKeyNum(void) { + return g_dComIfG_gameInfo.getMemory().getTempFlags().getKeyNum(); +} +inline void dComIfGs_onItemFirstBit(u8 i_no) { + g_dComIfG_gameInfo.getSaveFile().getPlayerGetItem().onFirstBit(i_no); +} +inline u16 dComIfGs_getMaxLife(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().getMaxLife(); +} +inline void dComIfGs_offEventBit(u16 event) { + g_dComIfG_gameInfo.getSaveFile().getEventFlags().offEventBit(event); +} +// inline int dComIfGs_isEventBit__FUs(u16 event) { +// return g_dComIfG_gameInfo.getSaveFile().getEventFlags().isEventBit(event); +// } +inline const char* dComIfGs_getLastWarpMarkStageName(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerLastMarkInfo().getName(); +} +inline cXyz dComIfGs_getLastWarpMarkPlayerPos(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerLastMarkInfo().getPos(); +} +inline s16 dComIfGs_getLastWarpMarkPlayerAngleY(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerLastMarkInfo().getAngleY(); +} +inline s8 dComIfGs_getLastWarpMarkRoomNo(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerLastMarkInfo().getRoomNo(); +} +inline char dComIfGs_getLastWarpAcceptStage(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerLastMarkInfo().getWarpAcceptStage(); +} +inline u8 dComIfGs_getSelectEquipClothes(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().getSelectEquip(CLOTHING_BITFIELD); +} +inline u8 dComIfGs_getSelectEquipSword(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().getSelectEquip(SWORD_BITFIELD); +} +inline u8 dComIfGs_getSelectEquipShield(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().getSelectEquip(SHIELD_BITFIELD); +} +inline u8 dComIfGs_getLightDropNum(u8 area_id) { + return g_dComIfG_gameInfo.getSaveFile().getLightDrop().getLightDropNum(area_id); +} +inline u8 dComIfGs_getSelectItemIndex(int idx) { + return g_dComIfG_gameInfo.getPlayer().getPlayerStatusA().getSelectItemIndex(idx); +} +inline void dComIfGp_setItem(u8 slot, u8 i_no) { + g_dComIfG_gameInfo.getPlay().setItem(slot, i_no); +} +inline u32 dComIfGp_getNowVibration(void) { + return g_dComIfG_gameInfo.getPlay().getNowVibration(); +} +inline char* dComIfGp_getStartStageName(void) { + return g_dComIfG_gameInfo.getPlay().getStartStageName(); +} +inline void dComIfGd_reset(void) { + g_dComIfG_gameInfo.getDrawlist().reset(); +} */ + #endif /* D_COM_D_COM_INF_GAME_H */ diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index 712f9021c6..60e9ab7ecc 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -1,6 +1,97 @@ #ifndef D_D_DRAWLIST_H #define D_D_DRAWLIST_H +#include "SSystem/SComponent/c_xyz.h" #include "dolphin/types.h" +struct J3DPacket {}; +struct _GXColor; + +struct J3DDrawBuffer { + /* 80324F08 */ void initialize(); + /* 80324F70 */ void allocBuffer(u32); + /* 80325008 */ ~J3DDrawBuffer(); + /* 80325068 */ void frameInit(); + /* 8032548C */ void entryImm(J3DPacket*, u16); + /* 803254AC */ void draw() const; +}; + +class dDlst_FileInfo_c { +public: + void draw(void); + ~dDlst_FileInfo_c(); + +private: +}; + +#pragma pack(push, 1) +class dDlst_peekZ_c { +public: + /* 80056018 */ void newData(s16, s16, u32*); + /* 80056080 */ void peekData(); + + u8 unk[7]; +}; // actual size unknown!!! +#pragma pack(pop) + +#pragma pack(push, 1) +class dDlst_window_c { +public: + dDlst_window_c(void); + ~dDlst_window_c(); + /* 80051AC0 */ void setViewPort(f32, f32, f32, f32, f32, f32); + /* 80051ADC */ void setScissor(f32, f32, f32, f32); + +private: + float view_port1; + float view_port2; + float view_port3; + float view_port4; + float view_port5; + float view_port6; + float scissor1; + float scissor2; + float scissor3; + float scissor4; + int camera_id; +}; +#pragma pack(pop) + +class dDlst_base_c { +public: + virtual void draw(); +}; + +#pragma pack(push, 1) +class dDlst_list_c { +public: + /* 800560F0 */ dDlst_list_c(); + /* 80056390 */ void init(); + /* 8005648C */ ~dDlst_list_c(); + /* 80056538 */ void reset(); + /* 800565EC */ void entryZSortXluDrawList(J3DDrawBuffer*, J3DPacket*, cXyz&); + /* 800566D4 */ void drawOpaDrawList(J3DDrawBuffer*); + /* 80056710 */ void drawXluDrawList(J3DDrawBuffer*); + /* 8005674C */ void drawOpaListItem3d(); + /* 80056770 */ void drawXluListItem3d(); + /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); + /* 800567C4 */ void draw(dDlst_base_c**, dDlst_base_c**); + /* 8005681C */ void wipeIn(f32, _GXColor&); + /* 800568D8 */ void wipeIn(f32); + /* 80056900 */ void calcWipe(); + + static u8 mWipeDlst[72]; + static u8 mWipeColor[4]; + static f32 mWipeRate; + static f32 mWipeSpeed[1 + 1 /* padding */]; + + // private: + /* 0x00000 */ u8 field_0x00[0x1C]; + /* 0x0001C */ J3DPacket* mpPacket; + /* 0x00020 */ u8 field_0x20[0x16170]; + /* 0x16180 */ dDlst_peekZ_c dlstPeekZ; + /* 0x16184 */ u8 unk_0x16194[0x1F]; +}; // Size: 0x161A0 +#pragma pack(pop) + #endif /* D_D_DRAWLIST_H */ diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h index 8af53de109..4001d2d81c 100644 --- a/include/d/d_resorce.h +++ b/include/d/d_resorce.h @@ -1,6 +1,62 @@ #ifndef D_D_RESORCE_H #define D_D_RESORCE_H +#include "SSystem/SComponent/c_xyz.h" #include "dolphin/types.h" +#include "m_Do/m_Do_ext.h" + +struct JKRHeap { + /* 802CE6B0 */ void getSize(void*, JKRHeap*); + /* 802CE784 */ void getTotalFreeSize(); + /* 802CE5CC */ void freeAll(); + /* 802CE83C */ void findFromRoot(void*); + + static u8 sCurrentHeap[4]; +}; + +struct JKRArchive { + /* 802D5CE4 */ void getIdxResource(u32); + /* 802D625C */ void getFileAttribute(u32) const; + /* 802D6684 */ void findIdxResource(u32) const; + /* 802D66AC */ void findNameResource(char const*) const; + /* 802D5ECC */ void readIdxResource(void*, u32, u32); + /* 802D5B38 */ void getGlbResource(u32, char const*, JKRArchive*); +}; + +#pragma pack(push, 1) +class dRes_info_c { +public: + /* 8003A260 */ dRes_info_c(); + /* 8003A280 */ ~dRes_info_c(); + /* 8003A348 */ void set(char const*, char const*, u8, JKRHeap*); + /* 8003AB30 */ void onWarpMaterial(J3DModelData*); + /* 8003AC1C */ void offWarpMaterial(J3DModelData*); + /* 8003AD08 */ void setWarpSRT(J3DModelData*, cXyz const&, f32, f32); + /* 8003AE14 */ void loaderBasicBmd(u32, void*); + /* 8003B30C */ void loadResource(); + /* 8003B998 */ void deleteArchiveRes(); + /* 8003BAC4 */ void setRes(JKRArchive*, JKRHeap*); + /* 8003BAF8 */ void setRes(); + /* 8003BD2C */ void dump_long(dRes_info_c*, int); + /* 8003BE38 */ void dump(dRes_info_c*, int); + +private: + u8 unk[0x24]; + // u8* name; + // u32 unk4; + // u32 unk8; + // s16 reference_count; + // u8 padding[2]; + // mDoDVDThd_command_c* command; + // JKRArchive* archive; + // JKRHeap* heap; + // JKRSolidHeap* solid_heap; + // void** resource_buffer; +}; +#pragma pack(pop) + +struct J3DAnmBase { + /* 8003C734 */ ~J3DAnmBase(); +}; #endif /* D_D_RESORCE_H */ diff --git a/include/d/d_stage.h b/include/d/d_stage.h index cdf860e997..aeb8a3b23d 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -4,6 +4,7 @@ #include "d/save/d_save.h" #include "dolphin/types.h" #include "f_op/f_op_actor.h" +#include "msl_c/string.h" struct stage_vrboxcol_info_class {}; @@ -408,6 +409,14 @@ class dStage_startStage_c { public: void set(const char*, s8, s16, s8); inline char* getName() { return mStage; } + s8 getLayer() { return mLayer; } + void operator=(const dStage_startStage_c& other) { + strcpy(mStage, other.mStage); + mPoint = other.mPoint; + mRoomNo = other.mRoomNo; + mLayer = other.mLayer; + mDarkArea = other.mDarkArea; + } private: /* 0x0 */ char mStage[8]; diff --git a/include/d/d_vibration.h b/include/d/d_vibration.h index 60b550536e..6c03cc8b0a 100644 --- a/include/d/d_vibration.h +++ b/include/d/d_vibration.h @@ -1,6 +1,67 @@ #ifndef D_D_VIBRATION_H #define D_D_VIBRATION_H +#include "d/save/d_save.h" #include "dolphin/types.h" +#pragma pack(push, 1) +class dVibration_c { +public: + /* 8006F268 */ void Run(); + /* 8006FA24 */ void StartShock(int, int, cXyz); + /* 8006FC0C */ void StartQuake(u8 const*, int, int, cXyz); + /* 8006FB10 */ void StartQuake(int, int, cXyz); + /* 8006FD94 */ void StopQuake(int); + /* 8006FE00 */ void Kill(); + /* 8006FE5C */ void CheckQuake(); + /* 8006FE84 */ void setDefault(); + /* 8006FF04 */ void Init(); + /* 8006FF38 */ void Pause(); + /* 8006FFF8 */ void Remove(); + + static u8 const MS_patt[88]; + static u8 const CS_patt[88]; + static u8 const MQ_patt[80]; + static u8 const CQ_patt[80]; + +private: + u32 field_0x0; + u32 field_0x4; + u32 field_0x8; + u32 field_0xc; + u32 field_0x10; + u32 field_0x14; + float field_0x18; + float field_0x1c; + float field_0x20; + u32 field_0x24; + u32 field_0x28; + u32 field_0x2c; + u32 field_0x30; + u32 field_0x34; + u32 field_0x38; + u32 field_0x3c; + float field_0x40; + float field_0x44; + float field_0x48; + u32 field_0x4c; + u32 field_0x50; + u32 field_0x54; + u32 field_0x58; + u32 field_0x5c; + u32 field_0x60; + u32 field_0x64; + u32 field_0x68; + u32 field_0x6c; + u32 field_0x70; + u32 field_0x74; + u32 field_0x78; + u32 field_0x7c; + u32 field_0x80; + u32 field_0x84; + u32 field_0x88; + u32 field_0x8c; +}; +#pragma pack(pop) + #endif /* D_D_VIBRATION_H */ diff --git a/include/d/event/d_event_data.h b/include/d/event/d_event_data.h index 71383da85f..8a6e6d4f58 100644 --- a/include/d/event/d_event_data.h +++ b/include/d/event/d_event_data.h @@ -41,6 +41,7 @@ private: class dEvDtBase_c { public: dEvDtBase_c(); + ~dEvDtBase_c(); /* 80046138 */ void init(); /* 8004616C */ void init(char*, int); /* 8004628C */ void advanceCut(dEvDtEvent_c*); diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index 485852dcbe..4fcf725326 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -1,6 +1,7 @@ #ifndef D_METER_D_METER2_INFO_H #define D_METER_D_METER2_INFO_H +#include "d/d_resorce.h" #include "dolphin/types.h" #include "f_op/f_op_actor.h" //#include "JSystem/JUtility/JUTFont.h" @@ -52,11 +53,6 @@ class dMw_c {}; struct ResTIMG {}; -struct JKRArchive { - /* 802D5B38 */ void getGlbResource(u32, char const*, JKRArchive*); - /* 802D5ECC */ void readIdxResource(void*, u32, u32); -}; - class dMeter2Info_c { public: class WarpInfo_c { @@ -201,4 +197,8 @@ inline dMeterMap_c* dMeter2Info_getMeterMapClass() { return g_meter2_info.getMeterMapClass(); } +inline void dMeter2Info_Initialize() { + g_meter2_info.init(); +} + #endif /* D_METER_D_METER2_INFO_H */ diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index 84640448e0..511cc4d355 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -4,7 +4,11 @@ #include "JSystem/J3DGraphAnimator/J3DAnimation.h" #include "dolphin/types.h" -struct J3DModelData {}; +struct J3DModelData { + /* 80325E14 */ void newSharedDisplayList(u32); + /* 80325F94 */ void makeSharedDL(); + /* 8032600C */ void simpleCalcMaterial(u16, f32 (*)[4]); +}; struct J3DModel { /* 80327100 */ void initialize(); @@ -17,10 +21,13 @@ struct J3DModel { struct J3DMaterialTable; struct J3DAnmTextureSRTKey { + /* 80329E5C */ J3DAnmTextureSRTKey(); /* 8032B0C0 */ void searchUpdateMaterialID(J3DMaterialTable*); }; struct J3DAnmTexPattern { + /* 8032AED8 */ J3DAnmTexPattern(); + /* 8032AF50 */ void getTexNo(u16, u16*) const; /* 8032B004 */ void searchUpdateMaterialID(J3DMaterialTable*); }; @@ -39,7 +46,11 @@ struct J3DMaterialTable { /* 8032FE70 */ void entryTevRegAnimator(J3DAnmTevRegKey*); }; -struct J3DAnmTransform {}; +struct J3DAnmTransform { + /* 8003B93C */ ~J3DAnmTransform(); + /* 8003C77C */ bool getKind() const; + /* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*); +}; #pragma pack(push, 1) class mDoExt_baseAnm { @@ -56,6 +67,7 @@ private: class mDoExt_btkAnm { public: mDoExt_btkAnm(void); + ~mDoExt_btkAnm(); /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); @@ -69,6 +81,7 @@ private: class mDoExt_brkAnm { public: mDoExt_brkAnm(void); + ~mDoExt_brkAnm(); /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); @@ -82,6 +95,7 @@ private: class mDoExt_bpkAnm { public: mDoExt_bpkAnm(void); + ~mDoExt_bpkAnm(); /* 8000D47C */ void init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16); /* 8000D518 */ void entry(J3DMaterialTable*, f32); @@ -95,6 +109,7 @@ private: class mDoExt_bckAnm { public: mDoExt_bckAnm(void); + ~mDoExt_bckAnm(); /* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool); /* 8000D990 */ void changeBckOnly(J3DAnmTransform*); /* 8000D9CC */ void entry(J3DModelData*, f32); diff --git a/libs/SSystem/SComponent/c_angle.cpp b/libs/SSystem/SComponent/c_angle.cpp index 5f5a9e3afe..fc88848455 100644 --- a/libs/SSystem/SComponent/c_angle.cpp +++ b/libs/SSystem/SComponent/c_angle.cpp @@ -9,8 +9,6 @@ #include "msl_c/math.h" extern f32 cM_atan2f(f32, f32); -extern "C" void Xyz__7cSGlobeCFv(); -extern "C" void __ct__7cSGlobeFfRC7cSAngleRC7cSAngle(); // // Declarations: @@ -347,22 +345,10 @@ void cSGlobe::Polar(cSPolar* csp) const { SECTION_SDATA2 static f32 lit_2744 = 1.0f; /* 80271B30-80271B7C 004C+00 s=0 e=3 z=0 None .text Norm__7cSGlobeCFv */ -// adding the dtor to class members made this stop matching, idk why -#ifdef NONMATCHING cXyz cSGlobe::Norm(void) const { cSGlobe glob(1.0f, mAzimuth, mInclination); return glob.Xyz(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cXyz cSGlobe::Norm() const { - nofralloc -#include "asm/SSystem/SComponent/c_angle/Norm__7cSGlobeCFv.s" -} -#pragma pop -#endif /* 80271B7C-80271BA8 002C+00 s=0 e=2 z=0 None .text Invert__7cSGlobeFv */ cSGlobe& cSGlobe::Invert(void) { diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp index 72d3ffe802..4da13e5864 100644 --- a/src/d/a/d_a_player.cpp +++ b/src/d/a/d_a_player.cpp @@ -47,8 +47,6 @@ struct dStage_roomControl_c { static u8 mDemoArcName[10 + 2 /* padding */]; }; -struct dRes_info_c {}; - struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); /* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int); @@ -66,10 +64,6 @@ struct JMath { struct JKRSolidHeap {}; -struct JKRArchive { - /* 802D5ECC */ void readIdxResource(void*, u32, u32); -}; - struct J3DSys { /* 8031073C */ void reinitGX(); }; @@ -78,18 +72,6 @@ struct J3DShape { static u8 sOldVcdVatCmd[4]; }; -struct J3DAnmTransform { - /* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*); -}; - -struct J3DAnmTextureSRTKey { - /* 80329E5C */ J3DAnmTextureSRTKey(); -}; - -struct J3DAnmTexPattern { - /* 8032AED8 */ J3DAnmTexPattern(); -}; - struct J3DAnmLoaderDataBaseFlag {}; struct J3DAnmLoaderDataBase { diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index 1510833628..05d7740c05 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -4,8 +4,10 @@ // #include "d/com/d_com_inf_game.h" +#include "d/meter/d_meter2_info.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "msl_c/string.h" // // Types: @@ -13,8 +15,6 @@ struct scene_class {}; -struct roomRead_class {}; - struct request_of_phase_process_class {}; struct phaseParam_c {}; @@ -27,176 +27,10 @@ struct mDoGph_gInf_c { static u8 mFader[4]; }; -struct mDoExt_btkAnm { - /* 8003079C */ ~mDoExt_btkAnm(); - /* 80030954 */ mDoExt_btkAnm(); -}; - -struct mDoExt_brkAnm { - /* 80030748 */ ~mDoExt_brkAnm(); - /* 8003099C */ mDoExt_brkAnm(); -}; - -struct mDoExt_bpkAnm { - /* 800306F4 */ ~mDoExt_bpkAnm(); - /* 800309E4 */ mDoExt_bpkAnm(); -}; - -struct mDoExt_bckAnm { - /* 800306A0 */ ~mDoExt_bckAnm(); - /* 80030A2C */ mDoExt_bckAnm(); -}; - struct mDoCPd_c { static u8 m_cpadInfo[256]; }; -struct daAlink_c { - /* 800BDE48 */ void setLastSceneMode(u32*); -}; - -struct dTimer_c { - /* 8025D524 */ void deleteCheck(); - /* 8025D618 */ void start(int, s16); - /* 8025D538 */ void start(int); - /* 8025D7E8 */ void stop(u8); - /* 8025D86C */ void restart(u8); - /* 8025D920 */ void end(int); - /* 8025D9E0 */ void deleteRequest(); -}; - -struct dSv_zone_c { - /* 80030D74 */ dSv_zone_c(); -}; - -struct dSv_zoneBit_c { - /* 80034D04 */ void onSwitch(int); - /* 80034D2C */ void offSwitch(int); - /* 80034D50 */ void isSwitch(int) const; - /* 80034DAC */ void onOneSwitch(int); - /* 80034DC8 */ void offOneSwitch(int); - /* 80034DE0 */ void isOneSwitch(int) const; - /* 80034E50 */ void isItem(int) const; - /* 80034E98 */ void isOneItem(int) const; -}; - -struct dSv_save_c { - /* 800350A8 */ void getSave2(int); -}; - -struct dSv_player_status_b_c { - /* 80032BB0 */ void isDarkClearLV(int) const; - /* 80032BEC */ void isTransformLV(int) const; -}; - -struct dSv_player_status_a_c { - /* 80032A48 */ void setSelectItemIndex(int, u8); - /* 80032A5C */ void getSelectItemIndex(int) const; - /* 80032A78 */ void setMixItemIndex(int, u8); - /* 80032A8C */ void getMixItemIndex(int) const; -}; - -struct cXyz {}; - -struct dSv_player_last_mark_info_c { - /* 80032F2C */ void setWarpItemData(char const*, cXyz const&, s16, s8, u8, u8); -}; - -struct dSv_player_item_record_c { - /* 80033F6C */ void setBombNum(u8, u8); - /* 80033F7C */ void getBombNum(u8) const; - /* 80033F8C */ void setBottleNum(u8, u8); - /* 80033F9C */ void addBottleNum(u8, s16); - /* 80034030 */ void getBottleNum(u8) const; -}; - -struct dSv_player_item_max_c { - /* 800340F8 */ void getBombNum(u8) const; -}; - -struct dSv_player_item_c { - /* 80033030 */ void getItem(int, bool) const; -}; - -struct dSv_player_get_item_c { - /* 80033EC8 */ void isFirstBit(u8) const; -}; - -struct dSv_player_field_last_stay_info_c { - /* 80032DE0 */ void set(char const*, cXyz const&, s16, s8, u8); - /* 80032E4C */ void onRegionBit(int); - /* 80032E78 */ void isRegionBit(int) const; -}; - -struct dSv_player_config_c { - /* 80034694 */ void getVibration(); -}; - -struct dSv_player_collect_c { - /* 800341E8 */ void setCollect(int, u8); -}; - -struct dSv_memory_c { - /* 80030DB0 */ dSv_memory_c(); - /* 80034A64 */ void init(); -}; - -struct dSv_memory2_c { - /* 80030D80 */ dSv_memory2_c(); - /* 80034A84 */ void init(); - /* 80034AA4 */ void onVisitedRoom(int); - /* 80034AC8 */ void offVisitedRoom(int); - /* 80034AEC */ void isVisitedRoom(int); -}; - -struct dSv_memBit_c { - /* 800347E8 */ void isTbox(int) const; - /* 80034810 */ void onSwitch(int); - /* 80034838 */ void offSwitch(int); - /* 80034860 */ void isSwitch(int) const; - /* 80034918 */ void onDungeonItem(int); - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_light_drop_c { - /* 80034340 */ void getLightDropNum(u8) const; - /* 8003439C */ void isLightDropGetFlag(u8) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 800352B0 */ void offSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); - /* 800349A4 */ void offEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dStage_startStage_c {}; - -struct dStage_roomControl_c { - /* 80024338 */ void initZone(); - /* 80024384 */ void getStatusRoomDt(int); - /* 8002D9B0 */ void getZoneNo(int); - - static u8 mStatus[65792]; -}; - -struct dStage_nextStage_c { - /* 80023E28 */ void set(char const*, s8, s16, s8, s8, u8); -}; - -struct J3DModel {}; - -struct J3DModelData {}; - struct dSmplMdl_draw_c { /* 80048CB4 */ dSmplMdl_draw_c(); /* 80048E0C */ void draw(); @@ -205,15 +39,6 @@ struct dSmplMdl_draw_c { /* 80049058 */ void removeModel(J3DModelData*, int); }; -struct dRes_info_c { - /* 8003A260 */ dRes_info_c(); - /* 8003A280 */ ~dRes_info_c(); -}; - -struct JKRHeap { - /* 802CE784 */ void getTotalFreeSize(); -}; - struct dRes_control_c { /* 8003BFB0 */ ~dRes_control_c(); /* 8003C078 */ void setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*); @@ -226,38 +51,12 @@ struct dPa_control_c { /* 8004BACC */ dPa_control_c(); }; -struct dMeter2Info_c { - /* 8021BE68 */ void init(); - /* 8021E290 */ void setSaveStageName(char const*); -}; - struct dMapInfo_n { /* 8003EE5C */ void getMapPlayerPos(); }; struct dKy_tevstr_c {}; -struct dEvt_order_c { - /* 80030154 */ ~dEvt_order_c(); -}; - -struct dEvt_control_c { - /* 80041580 */ dEvt_control_c(); -}; - -struct dEvent_manager_c { - /* 80046688 */ dEvent_manager_c(); -}; - -struct dEvDtBase_c { - /* 80030190 */ ~dEvDtBase_c(); -}; - -struct dDlst_window_c { - /* 800301CC */ ~dDlst_window_c(); - /* 800304CC */ dDlst_window_c(); -}; - struct _GXTexObj {}; struct dDlst_shadowControl_c { @@ -265,139 +64,12 @@ struct dDlst_shadowControl_c { /* 80055F84 */ void setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*); }; -struct dDlst_list_c { - /* 800560F0 */ dDlst_list_c(); - /* 8005648C */ ~dDlst_list_c(); -}; - struct dComIfG_resLoader_c { /* 8002F314 */ dComIfG_resLoader_c(); /* 8002F328 */ ~dComIfG_resLoader_c(); /* 8002F3B4 */ void load(char const**, JKRHeap*); }; -struct dComIfG_play_c { - /* 8002B1DC */ void ct(); - /* 8002B22C */ void init(); - /* 8002B2C8 */ void itemInit(); - /* 8002B36C */ void setItemBombNumCount(u8, s16); - /* 8002B384 */ void getItemBombNumCount(u8); - /* 8002B394 */ void clearItemBombNumCount(u8); - /* 8002B3A8 */ void setNowVibration(u8); - /* 8002B3B0 */ void getNowVibration(); - /* 8002B3B8 */ void setStartStage(dStage_startStage_c*); - /* 8002B434 */ void getLayerNo_common_common(char const*, int, int); - /* 8002C950 */ void getLayerNo_common(char const*, int, int); - /* 8002C97C */ void getLayerNo(int); - /* 8002C9D8 */ void createParticle(); - /* 8002CA1C */ void createSimpleModel(); - /* 8002CA70 */ void deleteSimpleModel(); - /* 8002CAC4 */ void drawSimpleModel(); - /* 8002CAF0 */ void addSimpleModel(J3DModelData*, int, u8); - /* 8002CB30 */ void removeSimpleModel(J3DModelData*, int); - /* 8002CB68 */ void entrySimpleModel(J3DModel*, int); - /* 8002CB94 */ void setTimerNowTimeMs(int); - /* 8002CB9C */ void getTimerNowTimeMs(); - /* 8002CBA4 */ void setTimerLimitTimeMs(int); - /* 8002CBAC */ void getTimerLimitTimeMs(); - /* 8002CBB4 */ void setTimerMode(int); - /* 8002CBBC */ void getTimerMode(); - /* 8002CBC4 */ void setTimerType(u8); - /* 8002CBCC */ void getTimerType(); - /* 8002CBD4 */ void setTimerPtr(dTimer_c*); - /* 8002CBDC */ void getTimerPtr(); - /* 8002F128 */ void setWarpItemData(char const*, cXyz, s16, s8, u8, u8); - /* 8002FDE8 */ ~dComIfG_play_c(); -}; - -struct dComIfG_inf_c { - /* 8002CBE4 */ void ct(); - /* 8002FD74 */ ~dComIfG_inf_c(); - /* 80030244 */ dComIfG_inf_c(); -}; - -struct dComIfG_camera_info_class { - /* 80030208 */ ~dComIfG_camera_info_class(); - /* 800304C8 */ dComIfG_camera_info_class(); -}; - -struct dCcS { - /* 8002FF40 */ ~dCcS(); -}; - -struct dCcMassS_Obj { - /* 800300F4 */ ~dCcMassS_Obj(); -}; - -struct dCcMassS_Mng { - /* 80030A74 */ ~dCcMassS_Mng(); - /* 80085350 */ dCcMassS_Mng(); -}; - -struct dBgS { - /* 80030C50 */ ~dBgS(); -}; - -struct dAttention_c { - /* 80070774 */ ~dAttention_c(); -}; - -struct dAttList_c { - /* 800304D0 */ ~dAttList_c(); - /* 8003050C */ dAttList_c(); -}; - -struct dAttDraw_c { - /* 8003054C */ ~dAttDraw_c(); - /* 800307F0 */ dAttDraw_c(); -}; - -struct cSAngle { - /* 80030510 */ ~cSAngle(); -}; - -struct cM3dGPla {}; - -struct cM3dGCyl { - /* 80030E3C */ ~cM3dGCyl(); -}; - -struct cM3dGCps { - /* 8026EFA4 */ ~cM3dGCps(); -}; - -struct cM3dGAab { - /* 80030E84 */ ~cM3dGAab(); -}; - -struct cCcS { - /* 80030BDC */ ~cCcS(); - /* 80264A6C */ cCcS(); -}; - -struct cCcD_DivideInfo { - /* 80030ECC */ ~cCcD_DivideInfo(); -}; - -struct cCcD_DivideArea { - /* 80030DE0 */ ~cCcD_DivideArea(); -}; - -struct cBgS_PolyInfo { - /* 802680F8 */ void ChkSetInfo() const; -}; - -struct cBgS_ChkElm { - /* 8002FEF8 */ ~cBgS_ChkElm(); - /* 80030D38 */ cBgS_ChkElm(); - /* 800740F4 */ void Init(); -}; - -struct cBgS { - /* 80030CCC */ ~cBgS(); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - struct Z2SeqMgr { /* 802AF408 */ void bgmStop(u32, s32); }; @@ -406,14 +78,6 @@ struct Z2AudioMgr { static u8 mAudioMgrPtr[4 + 4 /* padding */]; }; -struct JKRExpHeap { - /* 802CEE2C */ void create(u32, JKRHeap*, bool); -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); -}; - // // Forward References: // @@ -505,7 +169,7 @@ extern "C" static void dComIfGp_checkEmptySubHeap2D__Fv(); extern "C" static void dComIfGp_searchUseSubHeap2D__Fi(); extern "C" void dComIfGp_getSubHeap2D__Fi(); extern "C" void dComIfGs_checkGetInsectNum__Fv(); -extern "C" static void dComIfGs_checkGetItem__FUc(); +extern "C" static u8 dComIfGs_checkGetItem__FUc(u8); extern "C" s32 dComIfGs_getBottleMax__Fv(); extern "C" void dComIfGp_getSelectItemNum__Fi(); extern "C" void dComIfGp_getSelectItemMaxNum__Fi(); @@ -612,7 +276,6 @@ extern "C" extern u32 g_saftyWhiteColor; // External References: // -SECTION_INIT void memset(); extern "C" void OSReport_Error(); extern "C" void mDoAud_setSceneName__FPCcll(); extern "C" void mDoAud_resetProcess__Fv(); @@ -695,9 +358,9 @@ extern "C" void __dt__12dAttention_cFv(); extern "C" void Init__11cBgS_ChkElmFv(); extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); extern "C" void __ct__12dCcMassS_MngFv(); -extern "C" void checkItemGet__FUci(); +extern "C" int checkItemGet__FUci(u8, int); extern "C" void setLastSceneMode__9daAlink_cFPUl(); -extern "C" void dKy_daynight_check__Fv(); +extern "C" int dKy_daynight_check__Fv(); extern "C" void dKy_darkworld_stage_check__FPCci(); extern "C" void dMenuFmap_getStartStageName__FPv(); extern "C" void init__13dMeter2Info_cFv(); @@ -736,8 +399,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" void sprintf(); -extern "C" void strcmp(); -extern "C" void strcpy(); extern "C" extern void* __vt__12J3DFrameCtrl[3]; extern "C" extern void* __vt__8cM3dGPla[3]; extern "C" extern void* __vt__16dStage_stageDt_c[93]; @@ -756,7 +417,6 @@ extern "C" extern void* __vt__4cCcS[12]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 mStatus__20dStage_roomControl_c[65792]; extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 g_meter2_info[248]; extern "C" u8 mFader__13mDoGph_gInf_c[4]; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; extern "C" extern u8 struct_80450D64[4]; @@ -767,14 +427,14 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // /* 8002B1DC-8002B22C 025B1C 0050+00 2/2 0/0 0/0 .text ct__14dComIfG_play_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::ct() { - nofralloc -#include "asm/d/com/d_com_inf_game/ct__14dComIfG_play_cFv.s" +void dComIfG_play_c::ct(void) { + mWindowNum = 0; + mParticle = NULL; + mLayerOld = 0; + + memset(mLastPlayStageName, 0, 8); + init(); } -#pragma pop /* ############################################################################################## */ /* 804061A0-804061B4 032EC0 0014+00 1/1 0/0 0/0 .bss dComIfG_mTimerInfo */ @@ -789,6 +449,21 @@ extern u8 g_dComIfG_gameInfo[122384]; u8 g_dComIfG_gameInfo[122384]; /* 8002B22C-8002B2A8 025B6C 007C+00 1/1 1/1 0/0 .text init__14dComIfG_play_cFv */ +#ifdef NONMATCHING +void dComIfG_play_c::init() { + mPlayer = NULL; + mPlayerCameraID[0] = -1; + mCameraInfo = NULL; + + for (int i = 0; i < 2; i++) { + } + + if (mGameoverStatus == 2) { + g_dComIfG_gameInfo.getPlay().getRoomControl()->initZone(); + } + mGameoverStatus = 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -797,18 +472,35 @@ asm void dComIfG_play_c::init() { #include "asm/d/com/d_com_inf_game/init__14dComIfG_play_cFv.s" } #pragma pop +#endif /* 8002B2A8-8002B2C8 025BE8 0020+00 0/0 1/1 0/0 .text dComIfGp_checkItemGet__FUci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfGp_checkItemGet(u8 param_0, int param_1) { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfGp_checkItemGet__FUci.s" +void dComIfGp_checkItemGet(u8 param_0, int param_1) { + checkItemGet__FUci(param_0, param_1); } -#pragma pop /* 8002B2C8-8002B36C 025C08 00A4+00 0/0 1/1 0/0 .text itemInit__14dComIfG_play_cFv */ +#ifdef NONMATCHING +void dComIfG_play_c::itemInit() { + dMeter2Info_Initialize(); + + JKRExpHeap* heap = mExpHeap2D; + memset(mMsgObjectClass, 0, 300); + mExpHeap2D = heap; + mOxygen = 600; + mNowOxygen = 600; + mMaxOxygen = 600; + + if (dComIfGs_checkGetItem(0x3e) == 0) { + field_0x4f4b = 21; + } else { + field_0x4f4b = 0; + } + field_0x4f4c = 7; + + mNowVibration = dComIfGs_getOptVibration(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -817,56 +509,43 @@ asm void dComIfG_play_c::itemInit() { #include "asm/d/com/d_com_inf_game/itemInit__14dComIfG_play_cFv.s" } #pragma pop +#endif /* 8002B36C-8002B384 025CAC 0018+00 1/1 3/3 1/1 .text setItemBombNumCount__14dComIfG_play_cFUcs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::setItemBombNumCount(u8 param_0, s16 param_1) { - nofralloc -#include "asm/d/com/d_com_inf_game/setItemBombNumCount__14dComIfG_play_cFUcs.s" +void dComIfG_play_c::setItemBombNumCount(u8 i_item, s16 pCount) { + mItemBombNumCount[i_item] += pCount; } -#pragma pop /* 8002B384-8002B394 025CC4 0010+00 0/0 1/1 0/0 .text getItemBombNumCount__14dComIfG_play_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::getItemBombNumCount(u8 param_0) { - nofralloc -#include "asm/d/com/d_com_inf_game/getItemBombNumCount__14dComIfG_play_cFUc.s" +s16 dComIfG_play_c::getItemBombNumCount(u8 i_item) { + return mItemBombNumCount[i_item]; } -#pragma pop /* 8002B394-8002B3A8 025CD4 0014+00 0/0 1/1 0/0 .text clearItemBombNumCount__14dComIfG_play_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::clearItemBombNumCount(u8 param_0) { - nofralloc -#include "asm/d/com/d_com_inf_game/clearItemBombNumCount__14dComIfG_play_cFUc.s" +void dComIfG_play_c::clearItemBombNumCount(u8 i_item) { + mItemBombNumCount[i_item] = 0; } -#pragma pop /* 8002B3A8-8002B3B0 -00001 0008+00 0/0 0/0 0/0 .text setNowVibration__14dComIfG_play_cFUc */ -void dComIfG_play_c::setNowVibration(u8 param_0) { - *(u8*)(((u8*)this) + 20314) /* this->field_0x4f5a */ = (u8)(param_0); +void dComIfG_play_c::setNowVibration(u8 pStatus) { + mNowVibration = pStatus; } /* 8002B3B0-8002B3B8 025CF0 0008+00 0/0 2/2 0/0 .text getNowVibration__14dComIfG_play_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::getNowVibration() { - nofralloc -#include "asm/d/com/d_com_inf_game/getNowVibration__14dComIfG_play_cFv.s" +u32 dComIfG_play_c::getNowVibration() { + return mNowVibration; } -#pragma pop /* 8002B3B8-8002B3F4 025CF8 003C+00 0/0 1/1 0/0 .text * setStartStage__14dComIfG_play_cFP19dStage_startStage_c */ +#ifdef NONMATCHING +void dComIfG_play_c::setStartStage(dStage_startStage_c* pStartStage) { + mLayerOld = mStartStage.getLayer(); + mStartStage = *pStartStage; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -875,16 +554,14 @@ asm void dComIfG_play_c::setStartStage(dStage_startStage_c* param_0) { #include "asm/d/com/d_com_inf_game/setStartStage__14dComIfG_play_cFP19dStage_startStage_c.s" } #pragma pop +#endif /* 8002B3F4-8002B434 025D34 0040+00 1/1 0/0 0/0 .text dComIfG_get_timelayer__FPi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dComIfG_get_timelayer(int* param_0) { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfG_get_timelayer__FPi.s" +static void dComIfG_get_timelayer(int* pLayer) { + if (dKy_daynight_check__Fv()) { + *pLayer += 1; + } } -#pragma pop /* ############################################################################################## */ /* 80378F38-80378F38 005598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -931,28 +608,29 @@ SECTION_DEAD static char const* const stringBase_8037903B = "D_MN08A"; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dComIfG_play_c::getLayerNo_common_common(char const* param_0, int param_1, int param_2) { +asm int dComIfG_play_c::getLayerNo_common_common(char const* param_0, int param_1, int param_2) { nofralloc #include "asm/d/com/d_com_inf_game/getLayerNo_common_common__14dComIfG_play_cFPCcii.s" } #pragma pop /* 8002C950-8002C97C 027290 002C+00 1/1 3/3 0/0 .text getLayerNo_common__14dComIfG_play_cFPCcii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::getLayerNo_common(char const* param_0, int param_1, int param_2) { - nofralloc -#include "asm/d/com/d_com_inf_game/getLayerNo_common__14dComIfG_play_cFPCcii.s" +int dComIfG_play_c::getLayerNo_common(char const* i_stageName, int i_roomID, int i_layerOverride) { + int layer = getLayerNo_common_common(i_stageName, i_roomID, i_layerOverride); + + if (layer < 0) { + layer = 0; + } + + return layer; } -#pragma pop /* 8002C97C-8002C9D8 0272BC 005C+00 1/1 22/22 68/68 .text getLayerNo__14dComIfG_play_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dComIfG_play_c::getLayerNo(int param_0) { +asm int dComIfG_play_c::getLayerNo(int param_0) { nofralloc #include "asm/d/com/d_com_inf_game/getLayerNo__14dComIfG_play_cFi.s" } @@ -973,7 +651,7 @@ asm void dComIfG_play_c::createParticle() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dComIfG_play_c::createSimpleModel() { +asm u32 dComIfG_play_c::createSimpleModel() { nofralloc #include "asm/d/com/d_com_inf_game/createSimpleModel__14dComIfG_play_cFv.s" } @@ -1005,7 +683,7 @@ asm void dComIfG_play_c::drawSimpleModel() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dComIfG_play_c::addSimpleModel(J3DModelData* param_0, int param_1, u8 param_2) { +asm u32 dComIfG_play_c::addSimpleModel(J3DModelData* param_0, int param_1, u8 param_2) { nofralloc #include "asm/d/com/d_com_inf_game/addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc.s" } @@ -1016,7 +694,7 @@ asm void dComIfG_play_c::addSimpleModel(J3DModelData* param_0, int param_1, u8 p #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dComIfG_play_c::removeSimpleModel(J3DModelData* param_0, int param_1) { +asm u32 dComIfG_play_c::removeSimpleModel(J3DModelData* param_0, int param_1) { nofralloc #include "asm/d/com/d_com_inf_game/removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai.s" } @@ -1027,88 +705,54 @@ asm void dComIfG_play_c::removeSimpleModel(J3DModelData* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dComIfG_play_c::entrySimpleModel(J3DModel* param_0, int param_1) { +asm u32 dComIfG_play_c::entrySimpleModel(J3DModel* param_0, int param_1) { nofralloc #include "asm/d/com/d_com_inf_game/entrySimpleModel__14dComIfG_play_cFP8J3DModeli.s" } #pragma pop -/* 8002CB94-8002CB9C -00001 0008+00 0/0 0/0 0/0 .text setTimerNowTimeMs__14dComIfG_play_cFi */ -void dComIfG_play_c::setTimerNowTimeMs(int param_0) { - *(u32*)(((u8*)this) + 20476) /* this->field_0x4ffc */ = (u32)(param_0); +void dComIfG_play_c::setTimerNowTimeMs(int time) { + mTimerNowTimeMs = time; } -/* 8002CB9C-8002CBA4 0274DC 0008+00 0/0 2/2 3/3 .text getTimerNowTimeMs__14dComIfG_play_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::getTimerNowTimeMs() { - nofralloc -#include "asm/d/com/d_com_inf_game/getTimerNowTimeMs__14dComIfG_play_cFv.s" -} -#pragma pop - -/* 8002CBA4-8002CBAC -00001 0008+00 0/0 0/0 0/0 .text setTimerLimitTimeMs__14dComIfG_play_cFi */ -void dComIfG_play_c::setTimerLimitTimeMs(int param_0) { - *(u32*)(((u8*)this) + 20480) /* this->field_0x5000 */ = (u32)(param_0); +int dComIfG_play_c::getTimerNowTimeMs() { + return mTimerNowTimeMs; } -/* 8002CBAC-8002CBB4 0274EC 0008+00 0/0 1/1 0/0 .text getTimerLimitTimeMs__14dComIfG_play_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::getTimerLimitTimeMs() { - nofralloc -#include "asm/d/com/d_com_inf_game/getTimerLimitTimeMs__14dComIfG_play_cFv.s" -} -#pragma pop - -/* 8002CBB4-8002CBBC -00001 0008+00 0/0 0/0 0/0 .text setTimerMode__14dComIfG_play_cFi */ -void dComIfG_play_c::setTimerMode(int param_0) { - *(u32*)(((u8*)this) + 20484) /* this->field_0x5004 */ = (u32)(param_0); +void dComIfG_play_c::setTimerLimitTimeMs(int time) { + mTimerLimitTimeMs = time; } -/* 8002CBBC-8002CBC4 0274FC 0008+00 6/6 8/8 7/7 .text getTimerMode__14dComIfG_play_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::getTimerMode() { - nofralloc -#include "asm/d/com/d_com_inf_game/getTimerMode__14dComIfG_play_cFv.s" -} -#pragma pop - -/* 8002CBC4-8002CBCC -00001 0008+00 0/0 0/0 0/0 .text setTimerType__14dComIfG_play_cFUc - */ -void dComIfG_play_c::setTimerType(u8 param_0) { - *(u8*)(((u8*)this) + 20488) /* this->field_0x5008 */ = (u8)(param_0); +int dComIfG_play_c::getTimerLimitTimeMs() { + return mTimerLimitTimeMs; } -/* 8002CBCC-8002CBD4 02750C 0008+00 0/0 1/1 0/0 .text getTimerType__14dComIfG_play_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::getTimerType() { - nofralloc -#include "asm/d/com/d_com_inf_game/getTimerType__14dComIfG_play_cFv.s" +void dComIfG_play_c::setTimerMode(int mode) { + mTimerMode = mode; +} + +int dComIfG_play_c::getTimerMode(void) { + return mTimerMode; +} + +void dComIfG_play_c::setTimerType(u8 type) { + mTimerType = type; +} + +u8 dComIfG_play_c::getTimerType(void) { + return mTimerType; } -#pragma pop /* 8002CBD4-8002CBDC -00001 0008+00 0/0 0/0 0/0 .text setTimerPtr__14dComIfG_play_cFP8dTimer_c */ -void dComIfG_play_c::setTimerPtr(dTimer_c* param_0) { - *(u32*)(((u8*)this) + 20472) /* this->field_0x4ff8 */ = (u32)(param_0); +void dComIfG_play_c::setTimerPtr(dTimer_c* pTimerPtr) { + mTimerPtr = pTimerPtr; } /* 8002CBDC-8002CBE4 02751C 0008+00 6/6 7/7 15/15 .text getTimerPtr__14dComIfG_play_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_play_c::getTimerPtr() { - nofralloc -#include "asm/d/com/d_com_inf_game/getTimerPtr__14dComIfG_play_cFv.s" +dTimer_c* dComIfG_play_c::getTimerPtr() { + return mTimerPtr; } -#pragma pop /* 8002CBE4-8002CC54 027524 0070+00 1/1 1/1 0/0 .text ct__13dComIfG_inf_cFv */ #pragma push @@ -1485,7 +1129,7 @@ asm void dComIfGs_onZoneSwitch(int param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dStage_roomControl_c::getZoneNo(int param_0) { +asm int dStage_roomControl_c::getZoneNo(int param_0) { nofralloc #include "asm/d/com/d_com_inf_game/getZoneNo__20dStage_roomControl_cFi.s" } @@ -1764,7 +1408,7 @@ asm void dComIfGs_checkGetInsectNum() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGs_checkGetItem(u8 param_0) { +static asm u8 dComIfGs_checkGetItem(u8 param_0) { nofralloc #include "asm/d/com/d_com_inf_game/dComIfGs_checkGetItem__FUc.s" } @@ -2607,7 +2251,7 @@ dAttList_c::dAttList_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cSAngle::~cSAngle() { +extern "C" void asm __dt__7cSAngleFv() { nofralloc #include "asm/d/com/d_com_inf_game/__dt__7cSAngleFv.s" } diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index 7349d946f6..428ae98753 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -16,8 +16,6 @@ struct mDoCPd_c { static u8 m_cpadInfo[256]; }; -struct dRes_info_c {}; - struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; @@ -637,7 +635,7 @@ asm void dAttention_c::SelectAttention(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cSGlobe::~cSGlobe() { +extern "C" asm void __dt__7cSGlobeFv() { nofralloc #include "asm/d/d_attention/__dt__7cSGlobeFv.s" } diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index e357337e44..01702e9ef4 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -34,11 +34,6 @@ struct mDoExt_3DlineMatSortPacket { struct dKy_tevstr_c {}; -struct dDlst_window_c { - /* 80051AC0 */ void setViewPort(f32, f32, f32, f32, f32, f32); - /* 80051ADC */ void setScissor(f32, f32, f32, f32); -}; - struct dDlst_shadowTri_c { /* 80056270 */ ~dDlst_shadowTri_c(); /* 80056344 */ dDlst_shadowTri_c(); @@ -46,16 +41,6 @@ struct dDlst_shadowTri_c { struct _GXTexObj {}; -struct Vec {}; - -struct cXyz { - /* 80009184 */ ~cXyz(); - /* 800125DC */ cXyz(); - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266EF4 */ void normalize(); - /* 802670AC */ void isZero() const; -}; - struct dDlst_shadowSimple_c { /* 8005520C */ void draw(); /* 800553EC */ void set(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*); @@ -104,48 +89,6 @@ struct dDlst_shadowControl_c { static u8 mSimpleTexObj[32]; }; -struct dDlst_peekZ_c { - /* 80056018 */ void newData(s16, s16, u32*); - /* 80056080 */ void peekData(); -}; - -struct J3DPacket {}; - -struct J3DDrawBuffer { - /* 80324F08 */ void initialize(); - /* 80324F70 */ void allocBuffer(u32); - /* 80325008 */ ~J3DDrawBuffer(); - /* 80325068 */ void frameInit(); - /* 8032548C */ void entryImm(J3DPacket*, u16); - /* 803254AC */ void draw() const; -}; - -struct _GXColor {}; - -struct dDlst_base_c {}; - -struct dDlst_list_c { - /* 800560F0 */ dDlst_list_c(); - /* 80056390 */ void init(); - /* 8005648C */ ~dDlst_list_c(); - /* 80056538 */ void reset(); - /* 800565EC */ void entryZSortXluDrawList(J3DDrawBuffer*, J3DPacket*, cXyz&); - /* 800566D4 */ void drawOpaDrawList(J3DDrawBuffer*); - /* 80056710 */ void drawXluDrawList(J3DDrawBuffer*); - /* 8005674C */ void drawOpaListItem3d(); - /* 80056770 */ void drawXluListItem3d(); - /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); - /* 800567C4 */ void draw(dDlst_base_c**, dDlst_base_c**); - /* 8005681C */ void wipeIn(f32, _GXColor&); - /* 800568D8 */ void wipeIn(f32); - /* 80056900 */ void calcWipe(); - - static u8 mWipeDlst[72]; - static u8 mWipeColor[4]; - static f32 mWipeRate; - static f32 mWipeSpeed[1 + 1 /* padding */]; -}; - struct dDlst_effectLine_c { /* 80053E9C */ void draw(); /* 800541F4 */ void update(cXyz&, _GXColor&, u16, u16, u16, u16, f32, f32, f32, f32); @@ -410,15 +353,6 @@ extern "C" void __dt__13J3DDrawBufferFv(); extern "C" void frameInit__13J3DDrawBufferFv(); extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs(); extern "C" void draw__13J3DDrawBufferCFv(); -extern "C" void PSMTXConcat(); -extern "C" void PSMTXTrans(); -extern "C" void C_MTXLightOrtho(); -extern "C" void PSMTXMultVec(); -extern "C" void C_MTXOrtho(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECDotProduct(); extern "C" void GXSetVtxDesc(); extern "C" void GXClearVtxDesc(); extern "C" void GXSetVtxAttrFmt(); diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index 06e19dbb20..c7bb5e76a1 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -24,48 +24,10 @@ struct mDoExt_transAnmBas { /* 8003C784 */ ~mDoExt_transAnmBas(); }; -struct JKRHeap { - /* 802CE6B0 */ void getSize(void*, JKRHeap*); - /* 802CE83C */ void findFromRoot(void*); - - static u8 sCurrentHeap[4]; -}; - struct mDoDvdThd_mountArchive_c { /* 80015E14 */ void create(char const*, u8, JKRHeap*); }; -struct J3DModelData { - /* 80325E14 */ void newSharedDisplayList(u32); - /* 80325F94 */ void makeSharedDL(); - /* 8032600C */ void simpleCalcMaterial(u16, f32 (*)[4]); -}; - -struct JKRArchive { - /* 802D5CE4 */ void getIdxResource(u32); - /* 802D625C */ void getFileAttribute(u32) const; - /* 802D6684 */ void findIdxResource(u32) const; - /* 802D66AC */ void findNameResource(char const*) const; -}; - -struct cXyz {}; - -struct dRes_info_c { - /* 8003A260 */ dRes_info_c(); - /* 8003A280 */ ~dRes_info_c(); - /* 8003A348 */ void set(char const*, char const*, u8, JKRHeap*); - /* 8003AB30 */ void onWarpMaterial(J3DModelData*); - /* 8003AC1C */ void offWarpMaterial(J3DModelData*); - /* 8003AD08 */ void setWarpSRT(J3DModelData*, cXyz const&, f32, f32); - /* 8003AE14 */ void loaderBasicBmd(u32, void*); - /* 8003B30C */ void loadResource(); - /* 8003B998 */ void deleteArchiveRes(); - /* 8003BAC4 */ void setRes(JKRArchive*, JKRHeap*); - /* 8003BAF8 */ void setRes(); - /* 8003BD2C */ void dump_long(dRes_info_c*, int); - /* 8003BE38 */ void dump(dRes_info_c*, int); -}; - struct dRes_control_c { /* 8003BFB0 */ ~dRes_control_c(); /* 8003C078 */ void setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*); @@ -161,8 +123,6 @@ struct J3DModelLoaderDataBase { /* 803346BC */ void load(void const*, u32); }; -struct J3DMaterialTable {}; - struct J3DMaterialAnm { /* 8032C320 */ void initialize(); }; @@ -183,22 +143,8 @@ struct J3DAnmTransformKey { /* 80329A34 */ void calcTransform(f32, u16, J3DTransformInfo*) const; }; -struct J3DAnmTransform { - /* 8003B93C */ ~J3DAnmTransform(); - /* 8003C77C */ bool getKind() const; - /* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*); -}; - -struct J3DAnmTexPattern { - /* 8032AF50 */ void getTexNo(u16, u16*) const; -}; - struct J3DAnmLoaderDataBaseFlag {}; -struct J3DAnmBase { - /* 8003C734 */ ~J3DAnmBase(); -}; - struct J3DAnmLoaderDataBase { /* 80337B40 */ void load(void const*, J3DAnmLoaderDataBaseFlag); /* 80338134 */ void setResource(J3DAnmBase*, void const*); @@ -313,8 +259,6 @@ extern "C" void setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv(); extern "C" void DCStoreRangeNoSync(); extern "C" void OSLockMutex(); extern "C" void OSUnlockMutex(); -extern "C" void PSMTXConcat(); -extern "C" void PSMTXTrans(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_20(); diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index 3b55a306d3..b6b0a2eb75 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -484,9 +484,6 @@ extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" void sprintf(); extern "C" void snprintf(); -extern "C" void strcmp(); -extern "C" void strncpy(); -extern "C" void strcpy(); extern "C" extern u8 const j3dDefaultLightInfo[52]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_save_bit_HIO[1184 + 4 /* padding */]; diff --git a/src/d/d_vibration.cpp b/src/d/d_vibration.cpp index 71a70f9ab3..cd28eb9a82 100644 --- a/src/d/d_vibration.cpp +++ b/src/d/d_vibration.cpp @@ -15,36 +15,6 @@ struct mDoCPd_c { static u8 m_gamePad[16]; }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266CE4 */ void norm() const; -}; - -struct dVibration_c { - /* 8006F268 */ void Run(); - /* 8006FA24 */ void StartShock(int, int, cXyz); - /* 8006FC0C */ void StartQuake(u8 const*, int, int, cXyz); - /* 8006FB10 */ void StartQuake(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); - /* 8006FE00 */ void Kill(); - /* 8006FE5C */ void CheckQuake(); - /* 8006FE84 */ void setDefault(); - /* 8006FF04 */ void Init(); - /* 8006FF38 */ void Pause(); - /* 8006FFF8 */ void Remove(); - - static u8 const MS_patt[88]; - static u8 const CS_patt[88]; - static u8 const MQ_patt[80]; - static u8 const CQ_patt[80]; -}; - -struct dSv_player_config_c { - /* 80034644 */ void checkVibration() const; -}; - struct dCamera_c { /* 80181000 */ void StartShake(s32, u8*, s32, cXyz); /* 80181158 */ void StopShake(); diff --git a/src/d/event/d_event.cpp b/src/d/event/d_event.cpp index 0124fc232d..53a3816156 100644 --- a/src/d/event/d_event.cpp +++ b/src/d/event/d_event.cpp @@ -27,8 +27,6 @@ struct dSv_event_tmp_flag_c { static u8 const tempBitLabels[370 + 2 /* padding */]; }; -struct dRes_info_c {}; - struct dRes_control_c { /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); }; @@ -203,9 +201,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcat(); -extern "C" void strncpy(); -extern "C" void strcpy(); extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; extern "C" extern void* __vt__11dEvt_info_c[3 + 1 /* padding */]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; diff --git a/src/d/event/d_event_data.cpp b/src/d/event/d_event_data.cpp index fca799ff89..01bb85de38 100644 --- a/src/d/event/d_event_data.cpp +++ b/src/d/event/d_event_data.cpp @@ -201,7 +201,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; diff --git a/src/d/event/d_event_manager.cpp b/src/d/event/d_event_manager.cpp index c9a46f132b..98e50c39e8 100644 --- a/src/d/event/d_event_manager.cpp +++ b/src/d/event/d_event_manager.cpp @@ -172,9 +172,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" void sprintf(); -extern "C" void strchr(); -extern "C" void strcmp(); -extern "C" void strcpy(); extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 sincosTable___5JMath[65536];