summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorunknown <pheenoh@gmail.com>2020-12-04 00:04:41 -0500
committerunknown <pheenoh@gmail.com>2020-12-04 00:04:41 -0500
commit3dc3739ebdfb524bf80591a1c612ccccff9ef5a0 (patch)
treefd9c6a519b0649d47429a10a6b6e3da4af769024 /include
parent7ec9d6ec287bd96fa49daa2554f8a10c9f430bdc (diff)
initial class structure for dComIfG_inf_c
Diffstat (limited to 'include')
-rw-r--r--include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h10
-rw-r--r--include/d/d_com/d_com_inf_game/asm/func_8002B1DC.s20
-rw-r--r--include/d/d_com/d_com_inf_game/asm/func_8002B22C.s33
-rw-r--r--include/d/d_com/d_com_inf_game/d_com_inf_game.h89
-rw-r--r--include/d/d_drawlist/d_drawlist.h13
-rw-r--r--include/d/d_event/d_event/d_event.h11
-rw-r--r--include/d/d_event/d_event_manager/d_event_manager.h11
-rw-r--r--include/d/d_resource/d_resource.h26
-rw-r--r--include/functions.h4
-rw-r--r--include/m_Do/m_Do_dvd_thread/m_Do_dvd_thread.h11
10 files changed, 224 insertions, 4 deletions
diff --git a/include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h b/include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h
new file mode 100644
index 0000000000..9e3c054365
--- /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 0000000000..f196b1ef41
--- /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 0000000000..1df38370ea
--- /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 c8eb4568ab..211dd2befc 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 f5abcc63fd..de4f091bb1 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 0000000000..77b92fa105
--- /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 0000000000..74ff13e8ba
--- /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 0000000000..9b5df03111
--- /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 0f963a2d57..f8ac1cef6b 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 0000000000..258d99f909
--- /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