summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/m_Do/m_Do_dvd_thread.h105
-rw-r--r--include/m_Do/m_Do_ext.h6
2 files changed, 111 insertions, 0 deletions
diff --git a/include/m_Do/m_Do_dvd_thread.h b/include/m_Do/m_Do_dvd_thread.h
index 2ce24693d1..9a5e1b12ae 100644
--- a/include/m_Do/m_Do_dvd_thread.h
+++ b/include/m_Do/m_Do_dvd_thread.h
@@ -1,6 +1,111 @@
#ifndef M_DO_M_DO_DVD_THREAD_H
#define M_DO_M_DO_DVD_THREAD_H
+#include "JSystem/JKernel/JKRArchive.h"
+#include "JSystem/JKernel/JKRHeap.h"
+#include "JSystem/JKernel/JKRMemArchive.h"
#include "dolphin/types.h"
+#include "f_pc/f_pc_node.h"
+
+typedef void* (*mDoDvdThd_callback_func)(void*);
+
+class mDoDvdThd_command_c : public node_class {
+protected:
+ /* 0x0C */ bool mIsDone;
+ /* 0x10 vtable*/
+public:
+ /* 800158FC */ virtual ~mDoDvdThd_command_c();
+ /* 80015B74 */ mDoDvdThd_command_c();
+ virtual s32 execute() = 0;
+}; // Size = 0x14
+
+class mDoDvdThd_toMainRam_c : public mDoDvdThd_command_c {
+public:
+ /* 80016338 */ mDoDvdThd_toMainRam_c(u8);
+ /* 80016394 */ static mDoDvdThd_toMainRam_c* create(char const*, u8, JKRHeap*);
+ /* 8001645C */ virtual ~mDoDvdThd_toMainRam_c();
+ /* 800164BC */ virtual s32 execute();
+
+private:
+ /* 0x14 */ u8 mMountDirection;
+ /* 0x18 */ s32 mEntryNum;
+ /* 0x1C */ void* mData;
+ /* 0x20 */ s32 mDataSize;
+ /* 0x24 */ JKRHeap* mHeap;
+}; // Size = 0x28
+
+class mDoDvdThd_param_c {
+public:
+ /* 80015944 */ mDoDvdThd_param_c();
+ /* 8001598C */ void kick();
+ /* 800159B4 */ s32 waitForKick();
+ /* 800159DC */ mDoDvdThd_command_c* getFirstCommand();
+ /* 800159E4 */ void addition(mDoDvdThd_command_c*);
+ /* 80015A3C */ void cut(mDoDvdThd_command_c*);
+ /* 80015AD8 */ void mainLoop();
+
+private:
+ /* 0x00 */ OSMessageQueue mMessageQueue;
+ /* 0x20 */ void* mMessageQueueMessages;
+ /* 0x24 */ node_list_class mNodeList;
+ /* 0x30 */ OSMutex mMutext;
+}; // Size = 0x48
+
+class mDoDvdThd_mountXArchive_c : public mDoDvdThd_command_c {
+public:
+ /* 80016108 */ virtual ~mDoDvdThd_mountXArchive_c();
+ /* 80016168 */ mDoDvdThd_mountXArchive_c(u8, JKRArchive::EMountMode);
+ /* 800161E0 */ static mDoDvdThd_mountXArchive_c* create(char const*, u8, JKRArchive::EMountMode,
+ JKRHeap*);
+ /* 800162B0 */ virtual s32 execute();
+
+private:
+ /* 0x14 */ u8 mMountDirection;
+ /* 0x18 */ s32 mEntryNum;
+ /* 0x1C */ JKRArchive* mArchive;
+ /* 0x20 */ JKRArchive::EMountMode mMountMode;
+ /* 0x24 */ JKRHeap* mHeap;
+}; // Size = 0x28
+
+class mDoDvdThd_mountArchive_c : public mDoDvdThd_command_c {
+public:
+ /* 80015D44 */ virtual ~mDoDvdThd_mountArchive_c();
+ /* 80015DA4 */ mDoDvdThd_mountArchive_c(u8);
+ /* 80015E14 */ static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*);
+ /* 80015EDC */ virtual s32 execute();
+
+private:
+ /* 0x14 */ u8 mMountDirection;
+ /* 0x18 */ s32 mEntryNumber;
+ /* 0x1C */ JKRMemArchive* mArchive;
+ /* 0x20 */ JKRHeap* mHeap;
+}; // Size = 0x24
+
+class mDoDvdThd_callback_c : public mDoDvdThd_command_c {
+public:
+ /* 80015BB8 */ virtual ~mDoDvdThd_callback_c();
+ /* 80015C18 */ mDoDvdThd_callback_c(mDoDvdThd_callback_func, void*);
+ /* 80015C74 */ static mDoDvdThd_callback_c* create(mDoDvdThd_callback_func, void*);
+ /* 80015CF0 */ virtual s32 execute();
+
+private:
+ /* 0x14 */ mDoDvdThd_callback_func mFunction;
+ /* 0x18 */ void* mData;
+ /* 0x1C */ void* mResult;
+};
+
+struct mDoDvdThdStack {
+ u8 stack[4096];
+} __attribute__((aligned(16)));
+
+struct mDoDvdThd {
+ /* 800157FC */ static s32 main(void*);
+ /* 80015858 */ static void create(s32);
+ /* 800158B4 */ static void suspend();
+
+ static OSThread l_thread;
+ static mDoDvdThdStack l_threadStack;
+ static mDoDvdThd_param_c l_param;
+};
#endif /* M_DO_M_DO_DVD_THREAD_H */
diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h
index 773f4c2f44..a3abb886cb 100644
--- a/include/m_Do/m_Do_ext.h
+++ b/include/m_Do/m_Do_ext.h
@@ -3,6 +3,7 @@
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
#include "JSystem/J3DGraphAnimator/J3DModel.h"
+#include "JSystem/JKernel/JKRAssertHeap.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "dolphin/types.h"
@@ -136,6 +137,11 @@ JKRHeap* mDoExt_getGameHeap();
void mDoExt_destroySolidHeap(JKRSolidHeap*);
JKRHeap* mDoExt_setCurrentHeap(JKRHeap*);
JKRExpHeap* mDoExt_getArchiveHeap();
+JKRExpHeap* mDoExt_getArchiveHeapPtr();
void mDoExt_destroyExpHeap(JKRExpHeap*);
+JKRAssertHeap* mDoExt_getAssertHeap();
+JKRExpHeap* mDoExt_getCommandHeap();
+JKRExpHeap* mDoExt_getZeldaHeap();
+JKRExpHeap* mDoExt_getJ2dHeap();
#endif /* M_DO_M_DO_EXT_H */