Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
m_Do_dvd_thread.h
Go to the documentation of this file.
1#ifndef M_DO_M_DO_DVD_THREAD_H
2#define M_DO_M_DO_DVD_THREAD_H
3
7#include "f_pc/f_pc_node.h"
8
9class JKRHeap;
10class JKRMemArchive;
11
12typedef void* (*mDoDvdThd_callback_func)(void*);
13
15public:
16 /* 0x0C */ bool mIsDone;
17 /* 0x10 vtable*/
18public:
19 /* 800158FC */ virtual ~mDoDvdThd_command_c();
20 /* 80015B74 */ mDoDvdThd_command_c();
21 inline s32 sync() { return mIsDone; }
22 inline void destroy() { delete this; }
23 virtual s32 execute() = 0;
24}; // Size = 0x14
25
27public:
28 /* 80016338 */ mDoDvdThd_toMainRam_c(u8);
29 /* 80016394 */ static mDoDvdThd_toMainRam_c* create(char const*, u8, JKRHeap*);
30 /* 8001645C */ virtual ~mDoDvdThd_toMainRam_c();
31 /* 800164BC */ virtual s32 execute();
32
33 void* getMemAddress() const { return mData; }
34
35private:
36 /* 0x14 */ u8 mMountDirection;
37 /* 0x18 */ s32 mEntryNum;
38 /* 0x1C */ void* mData;
39 /* 0x20 */ s32 mDataSize;
40 /* 0x24 */ JKRHeap* mHeap;
41}; // Size = 0x28
42
44public:
45 /* 80015944 */ mDoDvdThd_param_c();
46 /* 8001598C */ void kick();
47 /* 800159B4 */ s32 waitForKick();
48 /* 800159DC */ mDoDvdThd_command_c* getFirstCommand();
49 /* 800159E4 */ void addition(mDoDvdThd_command_c*);
50 /* 80015A3C */ void cut(mDoDvdThd_command_c*);
51 /* 80015AD8 */ void mainLoop();
52
53private:
55 /* 0x20 */ void* mMessageQueueMessages;
57 /* 0x30 */ OSMutex mMutext;
58}; // Size = 0x48
59
61public:
62 /* 80016108 */ virtual ~mDoDvdThd_mountXArchive_c();
64 /* 800161E0 */ static mDoDvdThd_mountXArchive_c* create(char const*, u8, JKRArchive::EMountMode,
65 JKRHeap*);
66 /* 800162B0 */ virtual s32 execute();
67
68 JKRArchive* getArchive() const { return mArchive; }
69
70private:
71 /* 0x14 */ u8 mMountDirection;
72 /* 0x18 */ s32 mEntryNum;
73 /* 0x1C */ JKRArchive* mArchive;
75 /* 0x24 */ JKRHeap* mHeap;
76}; // Size = 0x28
77
79public:
80 /* 80015D44 */ virtual ~mDoDvdThd_mountArchive_c();
81 /* 80015DA4 */ mDoDvdThd_mountArchive_c(u8);
82 /* 80015E14 */ static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*);
83 /* 80015EDC */ virtual s32 execute();
84
85 JKRMemArchive* getArchive() const { return mArchive; }
86 JKRHeap* getHeap() const { return mHeap; }
87
88private:
89 /* 0x14 */ u8 mMountDirection;
90 /* 0x18 */ s32 mEntryNumber;
92 /* 0x20 */ JKRHeap* mHeap;
93}; // Size = 0x24
94
96public:
97 /* 80015BB8 */ virtual ~mDoDvdThd_callback_c();
98 /* 80015C18 */ mDoDvdThd_callback_c(mDoDvdThd_callback_func, void*);
99 /* 80015C74 */ static mDoDvdThd_callback_c* create(mDoDvdThd_callback_func, void*);
100 /* 80015CF0 */ virtual s32 execute();
101
102private:
104 /* 0x18 */ void* mData;
105 /* 0x1C */ void* mResult;
106};
107
109 u8 stack[4096];
110} __attribute__((aligned(16)));
111
112struct mDoDvdThd {
113 /* 800157FC */ static s32 main(void*);
114 /* 80015858 */ static void create(s32);
115 /* 800158B4 */ static void suspend();
116
121
122#endif /* M_DO_M_DO_DVD_THREAD_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition JKRArchive.h:57
EMountMode
Definition JKRArchive.h:96
Definition JKRHeap.h:16
Definition JKRMemArchive.h:15
Definition m_Do_dvd_thread.h:95
static mDoDvdThd_callback_c * create(mDoDvdThd_callback_func, void *)
Definition m_Do_dvd_thread.cpp:140
virtual ~mDoDvdThd_callback_c()
Definition m_Do_dvd_thread.cpp:130
void * mData
Definition m_Do_dvd_thread.h:104
void * mResult
Definition m_Do_dvd_thread.h:105
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:151
mDoDvdThd_callback_func mFunction
Definition m_Do_dvd_thread.h:103
Definition m_Do_dvd_thread.h:14
mDoDvdThd_command_c()
Definition m_Do_dvd_thread.cpp:124
virtual ~mDoDvdThd_command_c()
Definition m_Do_dvd_thread.cpp:57
void destroy()
Definition m_Do_dvd_thread.h:22
s32 sync()
Definition m_Do_dvd_thread.h:21
bool mIsDone
Definition m_Do_dvd_thread.h:16
virtual s32 execute()=0
Definition m_Do_dvd_thread.h:78
JKRHeap * mHeap
Definition m_Do_dvd_thread.h:92
virtual ~mDoDvdThd_mountArchive_c()
Definition m_Do_dvd_thread.cpp:159
JKRMemArchive * getArchive() const
Definition m_Do_dvd_thread.h:85
JKRHeap * getHeap() const
Definition m_Do_dvd_thread.h:86
s32 mEntryNumber
Definition m_Do_dvd_thread.h:90
static mDoDvdThd_mountArchive_c * create(char const *, u8, JKRHeap *)
Definition m_Do_dvd_thread.cpp:175
u8 mMountDirection
Definition m_Do_dvd_thread.h:89
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:194
JKRMemArchive * mArchive
Definition m_Do_dvd_thread.h:91
Definition m_Do_dvd_thread.h:60
u8 mMountDirection
Definition m_Do_dvd_thread.h:71
JKRArchive * getArchive() const
Definition m_Do_dvd_thread.h:68
s32 mEntryNum
Definition m_Do_dvd_thread.h:72
JKRArchive::EMountMode mMountMode
Definition m_Do_dvd_thread.h:74
static mDoDvdThd_mountXArchive_c * create(char const *, u8, JKRArchive::EMountMode, JKRHeap *)
Definition m_Do_dvd_thread.cpp:266
virtual ~mDoDvdThd_mountXArchive_c()
Definition m_Do_dvd_thread.cpp:249
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:287
JKRHeap * mHeap
Definition m_Do_dvd_thread.h:75
JKRArchive * mArchive
Definition m_Do_dvd_thread.h:73
Definition m_Do_dvd_thread.h:43
OSMutex mMutext
Definition m_Do_dvd_thread.h:57
void addition(mDoDvdThd_command_c *)
Definition m_Do_dvd_thread.cpp:84
void cut(mDoDvdThd_command_c *)
Definition m_Do_dvd_thread.cpp:93
void kick()
Definition m_Do_dvd_thread.cpp:67
node_list_class mNodeList
Definition m_Do_dvd_thread.h:56
s32 waitForKick()
Definition m_Do_dvd_thread.cpp:73
mDoDvdThd_command_c * getFirstCommand()
Definition m_Do_dvd_thread.cpp:78
OSMessageQueue mMessageQueue
Definition m_Do_dvd_thread.h:54
void * mMessageQueueMessages
Definition m_Do_dvd_thread.h:55
void mainLoop()
Definition m_Do_dvd_thread.cpp:110
mDoDvdThd_param_c()
Definition m_Do_dvd_thread.cpp:60
Definition m_Do_dvd_thread.h:26
static mDoDvdThd_toMainRam_c * create(char const *, u8, JKRHeap *)
Definition m_Do_dvd_thread.cpp:307
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:330
JKRHeap * mHeap
Definition m_Do_dvd_thread.h:40
u8 mMountDirection
Definition m_Do_dvd_thread.h:36
s32 mEntryNum
Definition m_Do_dvd_thread.h:37
s32 mDataSize
Definition m_Do_dvd_thread.h:39
virtual ~mDoDvdThd_toMainRam_c()
Definition m_Do_dvd_thread.cpp:326
void * mData
Definition m_Do_dvd_thread.h:38
void * getMemAddress() const
Definition m_Do_dvd_thread.h:33
void *(* mDoDvdThd_callback_func)(void *)
Definition m_Do_dvd_thread.h:12
struct mDoDvdThd __attribute__
void main()
Definition m_Do_main.cpp:506
Definition OSMessage.h:12
Definition OSMutex.h:10
Definition OSThread.h:56
Definition m_Do_dvd_thread.h:108
u8 stack[4096]
Definition m_Do_dvd_thread.h:109
Definition m_Do_dvd_thread.h:112
static void suspend()
Definition m_Do_dvd_thread.cpp:46
static OSThread l_thread
Definition m_Do_dvd_thread.h:117
static mDoDvdThdStack l_threadStack
Definition m_Do_dvd_thread.h:118
static mDoDvdThd_param_c l_param
Definition m_Do_dvd_thread.h:119
static void create(s32)
Definition m_Do_dvd_thread.cpp:39
Definition c_node.h:5
Definition c_list.h:7
signed long s32
Definition types.h:6
unsigned char u8
Definition types.h:8