From 3dc3739ebdfb524bf80591a1c612ccccff9ef5a0 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 4 Dec 2020 00:04:41 -0500 Subject: [PATCH] initial class structure for dComIfG_inf_c --- asm/d/a/d_a_alink.s | 2 +- asm/d/com/inf/d_com_inf_game.s | 75 +--------------- asm/d/s/d_s_play.s | 2 +- .../JKernel/JKRSolidHeap/JKRSolidHeap.h | 10 +++ .../d_com/d_com_inf_game/asm/func_8002B1DC.s | 20 +++++ .../d_com/d_com_inf_game/asm/func_8002B22C.s | 33 +++++++ .../d/d_com/d_com_inf_game/d_com_inf_game.h | 89 ++++++++++++++++++- include/d/d_drawlist/d_drawlist.h | 13 +++ include/d/d_event/d_event/d_event.h | 11 +++ .../d_event/d_event_manager/d_event_manager.h | 11 +++ include/d/d_resource/d_resource.h | 26 ++++++ include/functions.h | 4 + .../m_Do/m_Do_dvd_thread/m_Do_dvd_thread.h | 11 +++ obj_files.mk | 1 + src/d/d_com/d_com_inf_game.cpp | 15 +++- 15 files changed, 242 insertions(+), 81 deletions(-) create mode 100644 include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h create mode 100644 include/d/d_com/d_com_inf_game/asm/func_8002B1DC.s create mode 100644 include/d/d_com/d_com_inf_game/asm/func_8002B22C.s create mode 100644 include/d/d_event/d_event/d_event.h create mode 100644 include/d/d_event/d_event_manager/d_event_manager.h create mode 100644 include/d/d_resource/d_resource.h create mode 100644 include/m_Do/m_Do_dvd_thread/m_Do_dvd_thread.h diff --git a/asm/d/a/d_a_alink.s b/asm/d/a/d_a_alink.s index b32fe8e55db..38bf9c92ff5 100644 --- a/asm/d/a/d_a_alink.s +++ b/asm/d/a/d_a_alink.s @@ -28779,7 +28779,7 @@ lbl_800B6D28: /* 800B6D78 000B3CB8 3B E0 00 00 */ li r31, 0 /* 800B6D7C 000B3CBC 38 60 00 48 */ li r3, 0x48 /* 800B6D80 000B3CC0 38 80 00 01 */ li r4, 1 -/* 800B6D84 000B3CC4 4B F7 45 25 */ bl dComIfGp_checkItemGet +/* 800B6D84 000B3CC4 4B F7 45 25 */ bl dComIfGp_checkItemGet__FUci /* 800B6D88 000B3CC8 2C 03 00 00 */ cmpwi r3, 0 /* 800B6D8C 000B3CCC 41 82 00 1C */ beq lbl_800B6DA8 /* 800B6D90 000B3CD0 3C 60 80 40 */ lis r3, lbl_804061C0@ha diff --git a/asm/d/com/inf/d_com_inf_game.s b/asm/d/com/inf/d_com_inf_game.s index 4b2db7304b2..8031e18bd87 100644 --- a/asm/d/com/inf/d_com_inf_game.s +++ b/asm/d/com/inf/d_com_inf_game.s @@ -2,77 +2,6 @@ .section .text, "ax" # 8002b1dc - -.global dComIfG_play_c_NS_ct -dComIfG_play_c_NS_ct: -/* 8002B1DC 0002811C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002B1E0 00028120 7C 08 02 A6 */ mflr r0 -/* 8002B1E4 00028124 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002B1E8 00028128 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8002B1EC 0002812C 7C 7F 1B 78 */ mr r31, r3 -/* 8002B1F0 00028130 38 00 00 00 */ li r0, 0 -/* 8002B1F4 00028134 98 03 4E 0C */ stb r0, 0x4e0c(r3) -/* 8002B1F8 00028138 90 03 4E 04 */ stw r0, 0x4e04(r3) -/* 8002B1FC 0002813C 98 03 4E 0D */ stb r0, 0x4e0d(r3) -/* 8002B200 00028140 38 7F 50 24 */ addi r3, r31, 0x5024 -/* 8002B204 00028144 38 80 00 00 */ li r4, 0 -/* 8002B208 00028148 38 A0 00 08 */ li r5, 8 -/* 8002B20C 0002814C 4B FD 82 4D */ bl func_80003458 -/* 8002B210 00028150 7F E3 FB 78 */ mr r3, r31 -/* 8002B214 00028154 48 00 00 19 */ bl dComIfG_play_c_NS_init -/* 8002B218 00028158 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8002B21C 0002815C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002B220 00028160 7C 08 03 A6 */ mtlr r0 -/* 8002B224 00028164 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002B228 00028168 4E 80 00 20 */ blr - -.global dComIfG_play_c_NS_init -dComIfG_play_c_NS_init: -/* 8002B22C 0002816C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002B230 00028170 7C 08 02 A6 */ mflr r0 -/* 8002B234 00028174 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002B238 00028178 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8002B23C 0002817C 7C 7F 1B 78 */ mr r31, r3 -/* 8002B240 00028180 38 80 00 00 */ li r4, 0 -/* 8002B244 00028184 38 00 FF FF */ li r0, -1 -/* 8002B248 00028188 90 83 4E 74 */ stw r4, 0x4e74(r3) -/* 8002B24C 0002818C 98 03 4E 78 */ stb r0, 0x4e78(r3) -/* 8002B250 00028190 90 83 4E 3C */ stw r4, 0x4e3c(r3) -/* 8002B254 00028194 38 60 00 00 */ li r3, 0 -/* 8002B258 00028198 38 00 00 02 */ li r0, 2 -/* 8002B25C 0002819C 7C 09 03 A6 */ mtctr r0 -lbl_8002B260: -/* 8002B260 000281A0 38 03 4E 7C */ addi r0, r3, 0x4e7c -/* 8002B264 000281A4 7C 9F 01 2E */ stwx r4, r31, r0 -/* 8002B268 000281A8 38 63 00 04 */ addi r3, r3, 4 -/* 8002B26C 000281AC 42 00 FF F4 */ bdnz lbl_8002B260 -/* 8002B270 000281B0 88 1F 4F 51 */ lbz r0, 0x4f51(r31) -/* 8002B274 000281B4 28 00 00 02 */ cmplwi r0, 2 -/* 8002B278 000281B8 40 82 00 14 */ bne lbl_8002B28C -/* 8002B27C 000281BC 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 8002B280 000281C0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 8002B284 000281C4 38 63 4E C4 */ addi r3, r3, 0x4ec4 -/* 8002B288 000281C8 4B FF 90 B1 */ bl dStage_roomControl_c_NS_initZone -lbl_8002B28C: -/* 8002B28C 000281CC 38 00 00 00 */ li r0, 0 -/* 8002B290 000281D0 98 1F 4F 51 */ stb r0, 0x4f51(r31) -/* 8002B294 000281D4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8002B298 000281D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002B29C 000281DC 7C 08 03 A6 */ mtlr r0 -/* 8002B2A0 000281E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002B2A4 000281E4 4E 80 00 20 */ blr - -.global dComIfGp_checkItemGet -dComIfGp_checkItemGet: -/* 8002B2A8 000281E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002B2AC 000281EC 7C 08 02 A6 */ mflr r0 -/* 8002B2B0 000281F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002B2B4 000281F4 48 06 CC 2D */ bl checkItemGet -/* 8002B2B8 000281F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002B2BC 000281FC 7C 08 03 A6 */ mtlr r0 -/* 8002B2C0 00028200 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002B2C4 00028204 4E 80 00 20 */ blr - .global dComIfG_play_c_NS_itemInit dComIfG_play_c_NS_itemInit: /* 8002B2C8 00028208 94 21 FF F0 */ stwu r1, -0x10(r1) @@ -1893,7 +1822,7 @@ dComIfG_inf_c_NS_ct: /* 8002CBFC 00029B3C 3C 7F 00 02 */ addis r3, r31, 2 /* 8002CC00 00029B40 98 03 DD F8 */ stb r0, -0x2208(r3) /* 8002CC04 00029B44 38 7F 0F 38 */ addi r3, r31, 0xf38 -/* 8002CC08 00029B48 4B FF E5 D5 */ bl dComIfG_play_c_NS_ct +/* 8002CC08 00029B48 4B FF E5 D5 */ bl ct__14dComIfG_play_cFv /* 8002CC0C 00029B4C 38 80 00 00 */ li r4, 0 /* 8002CC10 00029B50 3C 7F 00 02 */ addis r3, r31, 2 /* 8002CC14 00029B54 98 83 DD F9 */ stb r4, -0x2207(r3) @@ -6080,7 +6009,7 @@ dComIfG_inf_c: /* 80030444 0002D384 90 1E 4F FC */ stw r0, 0x4ffc(r30) /* 80030448 0002D388 90 1E 4F F8 */ stw r0, 0x4ff8(r30) /* 8003044C 0002D38C 7F C3 F3 78 */ mr r3, r30 -/* 80030450 0002D390 4B FF AD 8D */ bl dComIfG_play_c_NS_ct +/* 80030450 0002D390 4B FF AD 8D */ bl ct__14dComIfG_play_cFv /* 80030454 0002D394 38 7F 5F 64 */ addi r3, r31, 0x5f64 /* 80030458 0002D398 48 02 5C 99 */ bl dDlst_list_c /* 8003045C 0002D39C 3F BF 00 02 */ addis r29, r31, 2 diff --git a/asm/d/s/d_s_play.s b/asm/d/s/d_s_play.s index 83fdb55dc7e..b05de02a87d 100644 --- a/asm/d/s/d_s_play.s +++ b/asm/d/s/d_s_play.s @@ -463,7 +463,7 @@ lbl_80259A90: /* 80259A94 002569D4 41 80 FF E0 */ blt lbl_80259A74 lbl_80259A98: /* 80259A98 002569D8 7F E3 FB 78 */ mr r3, r31 -/* 80259A9C 002569DC 4B DD 17 91 */ bl dComIfG_play_c_NS_init +/* 80259A9C 002569DC 4B DD 17 91 */ bl init__14dComIfG_play_cFv /* 80259AA0 002569E0 38 60 00 00 */ li r3, 0 /* 80259AA4 002569E4 48 08 B1 99 */ bl JUTAssertion_NS_setMessageCount /* 80259AA8 002569E8 38 60 00 01 */ li r3, 1 diff --git a/include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h b/include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h new file mode 100644 index 00000000000..9e3c0543651 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h @@ -0,0 +1,10 @@ +#ifndef JKRSOLIDHEAP_H_ +#define JKRSOLIDHEAP_H_ + +#include "dolphin/types.h" + +class JKRSolidHeap { + +}; + +#endif \ No newline at end of file diff --git a/include/d/d_com/d_com_inf_game/asm/func_8002B1DC.s b/include/d/d_com/d_com_inf_game/asm/func_8002B1DC.s new file mode 100644 index 00000000000..f196b1ef416 --- /dev/null +++ b/include/d/d_com/d_com_inf_game/asm/func_8002B1DC.s @@ -0,0 +1,20 @@ +/* 8002B1DC 0002811C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8002B1E0 00028120 7C 08 02 A6 */ mflr r0 +/* 8002B1E4 00028124 90 01 00 14 */ stw r0, 0x14(r1) +/* 8002B1E8 00028128 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8002B1EC 0002812C 7C 7F 1B 78 */ mr r31, r3 +/* 8002B1F0 00028130 38 00 00 00 */ li r0, 0 +/* 8002B1F4 00028134 98 03 4E 0C */ stb r0, 0x4e0c(r3) +/* 8002B1F8 00028138 90 03 4E 04 */ stw r0, 0x4e04(r3) +/* 8002B1FC 0002813C 98 03 4E 0D */ stb r0, 0x4e0d(r3) +/* 8002B200 00028140 38 7F 50 24 */ addi r3, r31, 0x5024 +/* 8002B204 00028144 38 80 00 00 */ li r4, 0 +/* 8002B208 00028148 38 A0 00 08 */ li r5, 8 +/* 8002B20C 0002814C 4B FD 82 4D */ bl func_80003458 +/* 8002B210 00028150 7F E3 FB 78 */ mr r3, r31 +/* 8002B214 00028154 48 00 00 19 */ bl init__14dComIfG_play_cFv +/* 8002B218 00028158 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8002B21C 0002815C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8002B220 00028160 7C 08 03 A6 */ mtlr r0 +/* 8002B224 00028164 38 21 00 10 */ addi r1, r1, 0x10 +/* 8002B228 00028168 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_com/d_com_inf_game/asm/func_8002B22C.s b/include/d/d_com/d_com_inf_game/asm/func_8002B22C.s new file mode 100644 index 00000000000..1df38370ea0 --- /dev/null +++ b/include/d/d_com/d_com_inf_game/asm/func_8002B22C.s @@ -0,0 +1,33 @@ +/* 8002B22C 0002816C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8002B230 00028170 7C 08 02 A6 */ mflr r0 +/* 8002B234 00028174 90 01 00 14 */ stw r0, 0x14(r1) +/* 8002B238 00028178 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8002B23C 0002817C 7C 7F 1B 78 */ mr r31, r3 +/* 8002B240 00028180 38 80 00 00 */ li r4, 0 +/* 8002B244 00028184 38 00 FF FF */ li r0, -1 +/* 8002B248 00028188 90 83 4E 74 */ stw r4, 0x4e74(r3) +/* 8002B24C 0002818C 98 03 4E 78 */ stb r0, 0x4e78(r3) +/* 8002B250 00028190 90 83 4E 3C */ stw r4, 0x4e3c(r3) +/* 8002B254 00028194 38 60 00 00 */ li r3, 0 +/* 8002B258 00028198 38 00 00 02 */ li r0, 2 +/* 8002B25C 0002819C 7C 09 03 A6 */ mtctr r0 +lbl_8002B260: +/* 8002B260 000281A0 38 03 4E 7C */ addi r0, r3, 0x4e7c +/* 8002B264 000281A4 7C 9F 01 2E */ stwx r4, r31, r0 +/* 8002B268 000281A8 38 63 00 04 */ addi r3, r3, 4 +/* 8002B26C 000281AC 42 00 FF F4 */ bdnz lbl_8002B260 +/* 8002B270 000281B0 88 1F 4F 51 */ lbz r0, 0x4f51(r31) +/* 8002B274 000281B4 28 00 00 02 */ cmplwi r0, 2 +/* 8002B278 000281B8 40 82 00 14 */ bne lbl_8002B28C +/* 8002B27C 000281BC 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 8002B280 000281C0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 8002B284 000281C4 38 63 4E C4 */ addi r3, r3, 0x4ec4 +/* 8002B288 000281C8 4B FF 90 B1 */ bl dStage_roomControl_c_NS_initZone +lbl_8002B28C: +/* 8002B28C 000281CC 38 00 00 00 */ li r0, 0 +/* 8002B290 000281D0 98 1F 4F 51 */ stb r0, 0x4f51(r31) +/* 8002B294 000281D4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8002B298 000281D8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8002B29C 000281DC 7C 08 03 A6 */ mtlr r0 +/* 8002B2A0 000281E0 38 21 00 10 */ addi r1, r1, 0x10 +/* 8002B2A4 000281E4 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_com/d_com_inf_game/d_com_inf_game.h b/include/d/d_com/d_com_inf_game/d_com_inf_game.h index c8eb4568abf..211dd2befc5 100644 --- a/include/d/d_com/d_com_inf_game/d_com_inf_game.h +++ b/include/d/d_com/d_com_inf_game/d_com_inf_game.h @@ -1,14 +1,95 @@ #ifndef D_COM_INF_GAME_H_ #define D_COM_INF_GAME_H_ +#include "d/d_drawlist/d_drawlist.h" +#include "d/d_event/d_event/d_event.h" +#include "d/d_event/d_event_manager/d_event_manager.h" +#include "d/d_resource/d_resource.h" #include "d/d_save/d_save/d_save.h" -class dComIfG_gameInfo{ +class dComIfG_play_c { public: - dSv_save_c save_file; - u8 padding[0x1dc25]; //temp padding + void ct(void); + void init(void); + u8 unk[0x100]; }; -extern dComIfG_gameInfo lbl_804061C0; +class dCcMassS_Mng { + public: + u8 unk[0x274]; +}; + +class dAttDraw_c { + public: + u8 unk[0x178]; +}; + +class dAttList_c { + u8 unk[0x14]; +}; + +class dDlst_window_c { + u8 unk[0x2C]; +}; + +class dComIfG_camera_info_class { + u8 unk[0x38]; +}; + +// 16 bytes too big, figure out later +class dComIfG_inf_c { + public: + /* 0x00000 */ dSv_save_c save_file; + /* 0x00958 */ dSv_memory_c memory; + /* 0x00978 */ u8 unk1[0x3C]; + /* 0x009B4 */ dSv_zone_c zone; + /* 0x009D4 */ u8 unk2[0x564]; + /* 0x00F38 */ dComIfG_play_c play; + /* 0x01038 */ u8 unk3[0x3B50]; + /* 0x04B88 */ dCcMassS_Mng mass_mng; + /* 0x04DFC */ u8 unk4[0xCC]; // might be part of dCcMassS_Mng + /* 0x04EC8 */ dEvt_control_c event_control; + /* 0x04FF8 */ dEvent_manager_c event_manager; // 0x6C8 + /* 0x056C0 */ u8 unk5[0x20]; // vtables? + /* 0x056E0 */ dAttDraw_c att_draw; + /* 0x05858 */ u8 unk6[0x198]; + /* 0x059F0 */ dAttList_c att_list1; + /* 0x05A04 */ u8 unk8[0x94]; + /* 0x05A98 */ dAttList_c att_list2; + /* 0x05AAC */ u8 unk9[0x44]; + /* 0x05AF0 */ dAttList_c att_list3; + /* 0x05B04 */ u8 unk10[0x244]; + /* 0x05D48 */ dDlst_window_c draw_list_window; + /* 0x05D74 */ dComIfG_camera_info_class camera_info_class; + /* 0x05DAC */ u8 unk11[0x190]; + /* 0x05F3C */ u32 unk12; + /* 0x05F30 */ u32 unk13; + /* 0x05F34 */ u32 unk14; + /* 0x05F38 */ u32 unk15; + /* 0x05F3C */ u32 unk16; + /* 0x05F40 */ u8 unk17[0x24]; + /* 0x05F64 */ dDlst_list_c draw_list_list; + /* 0x1C104 */ u8 unk18[0x1F4]; // might be part of dDlst_list_c + /* 0x1C2F8 */ dRes_info_c resource_info1; + /* 0x1C31C */ u8 unk19[0x11DC]; + /* 0x1D4F8 */ dRes_info_c resource_info2; + /* 0x1D51C */ u8 unk20[0x8DC]; + /* 0x1DDF8 */ u8 unk21; + /* 0x1DDF9 */ u8 unk22; + /* 0x1DDFA */ u8 unk23; + /* 0x1DDFB */ u8 unk24; + /* 0x1DDFC */ u8 unk25; + /* 0x1DDFD */ u8 unk26[0x3]; // probably padding + /* 0x1DE00 */ u8 unk27; + /* 0x1DE01 */ u8 unk28[0x3]; // probably padding + /* 0x1DE04 */ u8 unk29; + /* 0x1DE05 */ u8 unk30[0x3]; // probably padding + /* 0x1DE08 */ u8 unk31; + /* 0x1DE09 */ u8 unk32; + /* 0x1DE0A */ u8 unk33; + /* 0x1DE0B */ u8 unk34[0x5]; // probably padding +}; + +extern dComIfG_inf_c g_dComIfG_gameInfo; #endif \ No newline at end of file diff --git a/include/d/d_drawlist/d_drawlist.h b/include/d/d_drawlist/d_drawlist.h index f5abcc63fdc..de4f091bb1c 100644 --- a/include/d/d_drawlist/d_drawlist.h +++ b/include/d/d_drawlist/d_drawlist.h @@ -1,6 +1,8 @@ #ifndef D_DRAWLIST_H_ #define D_DRAWLIST_H_ +#include "dolphin/types.h" + class dDlst_FileInfo_c { public: void draw(void); @@ -9,4 +11,15 @@ class dDlst_FileInfo_c { private: }; +class dDlst_list_c { + public: + static u32 mWipeColor; + static u32 mWipeDlst; + static u32 mWipeRate; + static u32 mWipeSpeed; + + private: + u8 unk[0x161A0]; +}; + #endif D_DRAWLIST_H_ \ No newline at end of file diff --git a/include/d/d_event/d_event/d_event.h b/include/d/d_event/d_event/d_event.h new file mode 100644 index 00000000000..77b92fa1053 --- /dev/null +++ b/include/d/d_event/d_event/d_event.h @@ -0,0 +1,11 @@ +#ifndef D_EVENT_H_ +#define D_EVENT_H_ + +#include "dolphin/types.h" + +class dEvt_control_c { + public: + u8 unk[0x130]; +}; + +#endif \ No newline at end of file diff --git a/include/d/d_event/d_event_manager/d_event_manager.h b/include/d/d_event/d_event_manager/d_event_manager.h new file mode 100644 index 00000000000..74ff13e8ba2 --- /dev/null +++ b/include/d/d_event/d_event_manager/d_event_manager.h @@ -0,0 +1,11 @@ +#ifndef D_EVENT_MANAGER_H_ +#define D_EVENT_MANAGER_H_ + +#include "dolphin/types.h" + +class dEvent_manager_c { + public: + u8 unk[0x6C8]; +}; + +#endif \ No newline at end of file diff --git a/include/d/d_resource/d_resource.h b/include/d/d_resource/d_resource.h new file mode 100644 index 00000000000..9b5df031113 --- /dev/null +++ b/include/d/d_resource/d_resource.h @@ -0,0 +1,26 @@ +#ifndef D_RESOURCE_H_ +#define D_RESOURCE_H_ + +#include "JSystem/JKernel/JKRArchive/JKRArchive.h" +#include "JSystem/JKernel/JKRHeap/JKRHeap.h" +#include "JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h" +#include "dolphin/types.h" +#include "m_Do/m_Do_dvd_thread/m_Do_dvd_thread.h" + +class dRes_info_c { + public: + 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; +}; + +#endif \ No newline at end of file diff --git a/include/functions.h b/include/functions.h index 0f963a2d573..f8ac1cef6b0 100644 --- a/include/functions.h +++ b/include/functions.h @@ -153,6 +153,10 @@ extern "C" { void setPlayTime__12dFile_info_cFP10dSv_save_c(void); void func_80362540(void); void dDlst_list_c_NS_set(void); + void init__14dComIfG_play_cFv(void); + void func_80003458(void); + void dStage_roomControl_c_NS_initZone(void); + void checkItemGet(u8,int); } // OS diff --git a/include/m_Do/m_Do_dvd_thread/m_Do_dvd_thread.h b/include/m_Do/m_Do_dvd_thread/m_Do_dvd_thread.h new file mode 100644 index 00000000000..258d99f909c --- /dev/null +++ b/include/m_Do/m_Do_dvd_thread/m_Do_dvd_thread.h @@ -0,0 +1,11 @@ +#ifndef M_DO_DVD_THREAD_H_ +#define M_DO_DVD_THREAD_H_ + +#include "dolphin/types.h" + +class mDoDVDThd_command_c { + +}; + + +#endif \ No newline at end of file diff --git a/obj_files.mk b/obj_files.mk index d00259b6806..d6ac5a9b07d 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -84,6 +84,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/f/pc/stdcreate/f_pc_stdcreate_req.o \ $(BUILD_DIR)/asm/d/d_stage.o \ $(BUILD_DIR)/asm/d/d_map.o \ + $(BUILD_DIR)/src/d/d_com/d_com_inf_game.o \ $(BUILD_DIR)/asm/d/com/inf/d_com_inf_game.o \ $(BUILD_DIR)/asm/d/com/d_com_static.o \ $(BUILD_DIR)/asm/d/d_bomb.o \ diff --git a/src/d/d_com/d_com_inf_game.cpp b/src/d/d_com/d_com_inf_game.cpp index 807507a4e65..e4889f8ba57 100644 --- a/src/d/d_com/d_com_inf_game.cpp +++ b/src/d/d_com/d_com_inf_game.cpp @@ -1,5 +1,16 @@ #include "d/d_com/d_com_inf_game/d_com_inf_game.h" +#include "global.h" -void dComIfG_play_c:ct(void) { - +asm void dComIfG_play_c::ct(void) { + nofralloc + #include "d/d_com/d_com_inf_game/asm/func_8002B1DC.s" +} + +asm void dComIfG_play_c::init(void) { + nofralloc + #include "d/d_com/d_com_inf_game/asm/func_8002B22C.s" +} + +void dComIfGp_checkItemGet(u8 param_1, int param_2) { + checkItemGet(param_1, param_2); } \ No newline at end of file