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
5#include <dolphin/os.h>
6#include <dolphin/os.h>
7#include "f_pc/f_pc_node.h"
8
9#define mDoDvd_MOUNT_DIRECTION_HEAD 0
10#define mDoDvd_MOUNT_DIRECTION_TAIL 1
11
12class JKRHeap;
13class JKRMemArchive;
14
15typedef void* (*mDoDvdThd_callback_func)(void*);
16
18public:
19 /* 0x0C */ bool mIsDone;
20 /* 0x10 vtable*/
21public:
22 virtual ~mDoDvdThd_command_c();
24 inline s32 sync() { return mIsDone; }
25 inline void destroy() { delete this; }
26 virtual s32 execute() = 0;
27}; // Size = 0x14
28
30public:
32 static mDoDvdThd_toMainRam_c* create(char const*, u8, JKRHeap*);
33 virtual ~mDoDvdThd_toMainRam_c();
34 virtual s32 execute();
35
36 void* getMemAddress() const { return mData; }
37
38private:
39 /* 0x14 */ u8 mMountDirection;
40 /* 0x18 */ s32 mEntryNum;
41 /* 0x1C */ void* mData;
42 /* 0x20 */ s32 mDataSize;
43 /* 0x24 */ JKRHeap* mHeap;
44}; // Size = 0x28
45
47public:
49 void kick();
54 void mainLoop();
55
56private:
58 /* 0x20 */ void* mMessageQueueMessages;
60 /* 0x30 */ OSMutex mMutext;
61}; // Size = 0x48
62
64public:
66 mDoDvdThd_mountXArchive_c(u8 mountDirection, JKRArchive::EMountMode mountMode);
68 JKRHeap*);
69 virtual s32 execute();
70
71 JKRArchive* getArchive() const { return mArchive; }
72
73private:
74 /* 0x14 */ u8 mMountDirection;
75 /* 0x18 */ s32 mEntryNum;
76 /* 0x1C */ JKRArchive* mArchive;
78 /* 0x24 */ JKRHeap* mHeap;
79}; // Size = 0x28
80
82public:
85 static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*);
86 virtual s32 execute();
87
88 JKRMemArchive* getArchive() const { return mArchive; }
89 JKRHeap* getHeap() const { return mHeap; }
90
91private:
92 /* 0x14 */ u8 mMountDirection;
93 /* 0x18 */ s32 mEntryNumber;
95 /* 0x20 */ JKRHeap* mHeap;
96}; // Size = 0x24
97
99public:
100 virtual ~mDoDvdThd_callback_c();
103 virtual s32 execute();
104
105private:
107 /* 0x18 */ void* mData;
108 /* 0x1C */ void* mResult;
109};
110
112 u8 stack[4096];
113} ATTRIBUTE_ALIGN(16);
114
115struct mDoDvdThd {
116 static s32 main(void*);
117 static void create(s32);
118 static void suspend();
119
123
124 static u8 verbose;
126 static bool SyncWidthSound;
128};
129
130#endif /* M_DO_M_DO_DVD_THREAD_H */
Definition JKRArchive.h:57
EMountMode
Definition JKRArchive.h:96
Definition JKRHeap.h:20
Definition JKRMemArchive.h:15
Definition m_Do_dvd_thread.h:98
static mDoDvdThd_callback_c * create(mDoDvdThd_callback_func, void *)
Definition m_Do_dvd_thread.cpp:126
virtual ~mDoDvdThd_callback_c()
Definition m_Do_dvd_thread.cpp:118
void * mData
Definition m_Do_dvd_thread.h:107
void * mResult
Definition m_Do_dvd_thread.h:108
mDoDvdThd_callback_c(mDoDvdThd_callback_func, void *)
Definition m_Do_dvd_thread.cpp:120
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:135
mDoDvdThd_callback_func mFunction
Definition m_Do_dvd_thread.h:106
Definition m_Do_dvd_thread.h:17
mDoDvdThd_command_c()
Definition m_Do_dvd_thread.cpp:113
virtual ~mDoDvdThd_command_c()
Definition m_Do_dvd_thread.cpp:58
void destroy()
Definition m_Do_dvd_thread.h:25
s32 sync()
Definition m_Do_dvd_thread.h:24
bool mIsDone
Definition m_Do_dvd_thread.h:19
virtual s32 execute()=0
Definition m_Do_dvd_thread.h:81
JKRHeap * mHeap
Definition m_Do_dvd_thread.h:95
virtual ~mDoDvdThd_mountArchive_c()
Definition m_Do_dvd_thread.cpp:141
JKRMemArchive * getArchive() const
Definition m_Do_dvd_thread.h:88
JKRHeap * getHeap() const
Definition m_Do_dvd_thread.h:89
s32 mEntryNumber
Definition m_Do_dvd_thread.h:93
static mDoDvdThd_mountArchive_c * create(char const *, u8, JKRHeap *)
Definition m_Do_dvd_thread.cpp:153
u8 mMountDirection
Definition m_Do_dvd_thread.h:92
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:171
mDoDvdThd_mountArchive_c(u8)
Definition m_Do_dvd_thread.cpp:143
JKRMemArchive * mArchive
Definition m_Do_dvd_thread.h:94
Definition m_Do_dvd_thread.h:63
u8 mMountDirection
Definition m_Do_dvd_thread.h:74
JKRArchive * getArchive() const
Definition m_Do_dvd_thread.h:71
s32 mEntryNum
Definition m_Do_dvd_thread.h:75
JKRArchive::EMountMode mMountMode
Definition m_Do_dvd_thread.h:77
static mDoDvdThd_mountXArchive_c * create(char const *, u8, JKRArchive::EMountMode, JKRHeap *)
Definition m_Do_dvd_thread.cpp:237
mDoDvdThd_mountXArchive_c(u8 mountDirection, JKRArchive::EMountMode mountMode)
Definition m_Do_dvd_thread.cpp:226
virtual ~mDoDvdThd_mountXArchive_c()
Definition m_Do_dvd_thread.cpp:224
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:257
JKRHeap * mHeap
Definition m_Do_dvd_thread.h:78
JKRArchive * mArchive
Definition m_Do_dvd_thread.h:76
Definition m_Do_dvd_thread.h:46
OSMutex mMutext
Definition m_Do_dvd_thread.h:60
void addition(mDoDvdThd_command_c *)
Definition m_Do_dvd_thread.cpp:78
void cut(mDoDvdThd_command_c *)
Definition m_Do_dvd_thread.cpp:85
void kick()
Definition m_Do_dvd_thread.cpp:66
node_list_class mNodeList
Definition m_Do_dvd_thread.h:59
s32 waitForKick()
Definition m_Do_dvd_thread.cpp:70
mDoDvdThd_command_c * getFirstCommand()
Definition m_Do_dvd_thread.cpp:74
OSMessageQueue mMessageQueue
Definition m_Do_dvd_thread.h:57
void * mMessageQueueMessages
Definition m_Do_dvd_thread.h:58
void mainLoop()
Definition m_Do_dvd_thread.cpp:100
mDoDvdThd_param_c()
Definition m_Do_dvd_thread.cpp:60
Definition m_Do_dvd_thread.h:29
static mDoDvdThd_toMainRam_c * create(char const *, u8, JKRHeap *)
Definition m_Do_dvd_thread.cpp:274
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:294
JKRHeap * mHeap
Definition m_Do_dvd_thread.h:43
u8 mMountDirection
Definition m_Do_dvd_thread.h:39
mDoDvdThd_toMainRam_c(u8)
Definition m_Do_dvd_thread.cpp:267
s32 mEntryNum
Definition m_Do_dvd_thread.h:40
s32 mDataSize
Definition m_Do_dvd_thread.h:42
virtual ~mDoDvdThd_toMainRam_c()
Definition m_Do_dvd_thread.cpp:292
void * mData
Definition m_Do_dvd_thread.h:41
void * getMemAddress() const
Definition m_Do_dvd_thread.h:36
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
void *(* mDoDvdThd_callback_func)(void *)
Definition m_Do_dvd_thread.h:15
struct mDoDvdThd ATTRIBUTE_ALIGN
Definition JASDSPInterface.cpp:76
Definition OSMessage.h:18
Definition OSMutex.h:13
Definition OSThread.h:42
Definition m_Do_dvd_thread.h:111
u8 stack[4096]
Definition m_Do_dvd_thread.h:112
Definition m_Do_dvd_thread.h:115
static void suspend()
Definition m_Do_dvd_thread.cpp:50
static bool SyncWidthSound
Definition m_Do_dvd_thread.h:126
static u8 verbose
Definition m_Do_dvd_thread.h:124
static s32 main(void *)
Definition m_Do_dvd_thread.cpp:15
static u8 Report_DVDRead
Definition m_Do_dvd_thread.h:127
static OSThread l_thread
Definition m_Do_dvd_thread.h:120
static mDoDvdThdStack l_threadStack
Definition m_Do_dvd_thread.h:121
static u8 DVDLogoMode
Definition m_Do_dvd_thread.h:125
static mDoDvdThd_param_c l_param
Definition m_Do_dvd_thread.h:122
static void create(s32)
Definition m_Do_dvd_thread.cpp:44
Definition c_node.h:5
Definition c_list.h:7