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 JKRAramArchive;
13class JKRHeap;
14class JKRMemArchive;
15
16typedef void* (*mDoDvdThd_callback_func)(void*);
17
19public:
20 /* 0x0C */ bool mIsDone;
21 /* 0x10 vtable*/
22public:
23 virtual ~mDoDvdThd_command_c();
25 inline s32 sync() { return mIsDone; }
26 inline void destroy() { delete this; }
27 virtual s32 execute() = 0;
28}; // Size = 0x14
29
31public:
33 void kick();
38 void mainLoop();
39
40private:
42 /* 0x20 */ void* mMessageQueueMessages;
44 /* 0x30 */ OSMutex mMutext;
45}; // Size = 0x48
46
48public:
49 virtual ~mDoDvdThd_callback_c();
52 virtual s32 execute();
53
54private:
56 /* 0x18 */ void* mData;
57 /* 0x1C */ void* mResult;
58};
59
61public:
64 static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*);
65 virtual s32 execute();
66
67 JKRMemArchive* getArchive() const { return mArchive; }
68 JKRHeap* getHeap() const { return mHeap; }
69
70private:
71 /* 0x14 */ u8 mMountDirection;
72 /* 0x18 */ s32 mEntryNumber;
74 /* 0x20 */ JKRHeap* mHeap;
75}; // Size = 0x24
76
78public:
80 virtual s32 execute();
81
82 /* 0x14 */ u8 mMountDirection;
83 /* 0x18 */ s32 mEntryNum;
85};
86
88public:
90 mDoDvdThd_mountXArchive_c(u8 mountDirection, JKRArchive::EMountMode mountMode);
92 JKRHeap*);
93 virtual s32 execute();
94
95 JKRArchive* getArchive() const { return mArchive; }
96
97private:
98 /* 0x14 */ u8 mMountDirection;
99 /* 0x18 */ s32 mEntryNum;
100 /* 0x1C */ JKRArchive* mArchive;
102 /* 0x24 */ JKRHeap* mHeap;
103}; // Size = 0x28
104
106 virtual ~mDoDvdThd_getResource_c();
107 virtual s32 execute();
108
109 /* 0x14 */ void* mResource;
110 /* 0x18 */ JKRArchive* mArchive;
111 /* 0x1C */ u16 mResourceId;
112};
113
115public:
117 static mDoDvdThd_toMainRam_c* create(char const*, u8, JKRHeap*);
118 virtual ~mDoDvdThd_toMainRam_c();
119 virtual s32 execute();
120
121 void* getMemAddress() const { return mData; }
122
123private:
124 /* 0x14 */ u8 mMountDirection;
125 /* 0x18 */ s32 mEntryNum;
126 /* 0x1C */ void* mData;
127 /* 0x20 */ s32 mDataSize;
128 /* 0x24 */ JKRHeap* mHeap;
129}; // Size = 0x28
130
132 u8 stack[4096];
133} ATTRIBUTE_ALIGN(16);
134
135struct mDoDvdThd {
136 static s32 main(void*);
137 static void create(s32);
138 static void suspend();
139
143
144 static u8 verbose;
146 static bool SyncWidthSound;
148};
149
150namespace mDoDvdHack {
156
157 extern OSBootInfo* BootInfo;
158 extern FSTEntry* FstStart;
159 extern const char* FstStringStart;
160 extern u32 MaxEntryNum;
161
162 void __DVDFSInit();
163 const char* EntryToName(s32 entry);
164 const char* ConvertEntrynumToName(s32 entry);
165
166 class Manager {
167 public:
170 };
171}
172
173#endif /* M_DO_M_DO_DVD_THREAD_H */
Definition JKRAramArchive.h:13
Definition JKRArchive.h:57
EMountMode
Definition JKRArchive.h:96
Definition JKRHeap.h:23
Definition JKRMemArchive.h:15
Definition m_Do_dvd_thread.h:166
static Manager sManager
Definition m_Do_dvd_thread.h:169
Manager()
Definition m_Do_dvd_thread.h:168
Definition m_Do_dvd_thread.h:47
static mDoDvdThd_callback_c * create(mDoDvdThd_callback_func, void *)
Definition m_Do_dvd_thread.cpp:182
virtual ~mDoDvdThd_callback_c()
Definition m_Do_dvd_thread.cpp:174
void * mData
Definition m_Do_dvd_thread.h:56
void * mResult
Definition m_Do_dvd_thread.h:57
mDoDvdThd_callback_c(mDoDvdThd_callback_func, void *)
Definition m_Do_dvd_thread.cpp:176
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:194
mDoDvdThd_callback_func mFunction
Definition m_Do_dvd_thread.h:55
Definition m_Do_dvd_thread.h:18
mDoDvdThd_command_c()
Definition m_Do_dvd_thread.cpp:169
virtual ~mDoDvdThd_command_c()
Definition m_Do_dvd_thread.cpp:109
void destroy()
Definition m_Do_dvd_thread.h:26
s32 sync()
Definition m_Do_dvd_thread.h:25
bool mIsDone
Definition m_Do_dvd_thread.h:20
virtual s32 execute()=0
Definition m_Do_dvd_thread.h:105
JKRArchive * mArchive
Definition m_Do_dvd_thread.h:110
void * mResource
Definition m_Do_dvd_thread.h:109
virtual ~mDoDvdThd_getResource_c()
Definition m_Do_dvd_thread.cpp:411
u16 mResourceId
Definition m_Do_dvd_thread.h:111
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:419
Definition m_Do_dvd_thread.h:77
s32 mEntryNum
Definition m_Do_dvd_thread.h:83
JKRAramArchive * mArchive
Definition m_Do_dvd_thread.h:84
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:318
u8 mMountDirection
Definition m_Do_dvd_thread.h:82
virtual ~mDoDvdThd_mountAramArchive_c()
Definition m_Do_dvd_thread.cpp:312
Definition m_Do_dvd_thread.h:60
JKRHeap * mHeap
Definition m_Do_dvd_thread.h:74
virtual ~mDoDvdThd_mountArchive_c()
Definition m_Do_dvd_thread.cpp:200
JKRMemArchive * getArchive() const
Definition m_Do_dvd_thread.h:67
JKRHeap * getHeap() const
Definition m_Do_dvd_thread.h:68
s32 mEntryNumber
Definition m_Do_dvd_thread.h:72
static mDoDvdThd_mountArchive_c * create(char const *, u8, JKRHeap *)
Definition m_Do_dvd_thread.cpp:212
u8 mMountDirection
Definition m_Do_dvd_thread.h:71
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:233
mDoDvdThd_mountArchive_c(u8)
Definition m_Do_dvd_thread.cpp:202
JKRMemArchive * mArchive
Definition m_Do_dvd_thread.h:73
Definition m_Do_dvd_thread.h:87
u8 mMountDirection
Definition m_Do_dvd_thread.h:98
JKRArchive * getArchive() const
Definition m_Do_dvd_thread.h:95
s32 mEntryNum
Definition m_Do_dvd_thread.h:99
JKRArchive::EMountMode mMountMode
Definition m_Do_dvd_thread.h:101
static mDoDvdThd_mountXArchive_c * create(char const *, u8, JKRArchive::EMountMode, JKRHeap *)
Definition m_Do_dvd_thread.cpp:365
mDoDvdThd_mountXArchive_c(u8 mountDirection, JKRArchive::EMountMode mountMode)
Definition m_Do_dvd_thread.cpp:354
virtual ~mDoDvdThd_mountXArchive_c()
Definition m_Do_dvd_thread.cpp:352
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:388
JKRHeap * mHeap
Definition m_Do_dvd_thread.h:102
JKRArchive * mArchive
Definition m_Do_dvd_thread.h:100
Definition m_Do_dvd_thread.h:30
OSMutex mMutext
Definition m_Do_dvd_thread.h:44
void addition(mDoDvdThd_command_c *)
Definition m_Do_dvd_thread.cpp:133
void cut(mDoDvdThd_command_c *)
Definition m_Do_dvd_thread.cpp:140
void kick()
Definition m_Do_dvd_thread.cpp:121
node_list_class mNodeList
Definition m_Do_dvd_thread.h:43
s32 waitForKick()
Definition m_Do_dvd_thread.cpp:125
mDoDvdThd_command_c * getFirstCommand()
Definition m_Do_dvd_thread.cpp:129
OSMessageQueue mMessageQueue
Definition m_Do_dvd_thread.h:41
void * mMessageQueueMessages
Definition m_Do_dvd_thread.h:42
void mainLoop()
Definition m_Do_dvd_thread.cpp:155
mDoDvdThd_param_c()
Definition m_Do_dvd_thread.cpp:115
Definition m_Do_dvd_thread.h:114
static mDoDvdThd_toMainRam_c * create(char const *, u8, JKRHeap *)
Definition m_Do_dvd_thread.cpp:451
virtual s32 execute()
Definition m_Do_dvd_thread.cpp:474
JKRHeap * mHeap
Definition m_Do_dvd_thread.h:128
u8 mMountDirection
Definition m_Do_dvd_thread.h:124
mDoDvdThd_toMainRam_c(u8)
Definition m_Do_dvd_thread.cpp:444
s32 mEntryNum
Definition m_Do_dvd_thread.h:125
s32 mDataSize
Definition m_Do_dvd_thread.h:127
virtual ~mDoDvdThd_toMainRam_c()
Definition m_Do_dvd_thread.cpp:472
void * mData
Definition m_Do_dvd_thread.h:126
void * getMemAddress() const
Definition m_Do_dvd_thread.h:121
unsigned long u32
Definition types.h:12
unsigned int uint
Definition types.h:35
unsigned short int u16
Definition types.h:10
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:16
struct mDoDvdThd ATTRIBUTE_ALIGN
Definition JASDSPInterface.cpp:105
Definition m_Do_dvd_thread.h:150
void __DVDFSInit()
Definition m_Do_dvd_thread.cpp:64
FSTEntry * FstStart
Definition m_Do_dvd_thread.cpp:37
const char * EntryToName(s32 entry)
Definition m_Do_dvd_thread.cpp:73
const char * ConvertEntrynumToName(s32 entry)
Definition m_Do_dvd_thread.cpp:83
const char * FstStringStart
Definition m_Do_dvd_thread.cpp:38
struct mDoDvdHack::FSTEntry FSTEntry
OSBootInfo * BootInfo
Definition m_Do_dvd_thread.cpp:36
u32 MaxEntryNum
Definition m_Do_dvd_thread.cpp:39
Definition dvdfs.c:6
Definition os.h:128
Definition OSMessage.h:18
Definition OSMutex.h:13
Definition OSThread.h:42
Definition m_Do_dvd_thread.h:151
uint parentOrPosition
Definition m_Do_dvd_thread.h:153
uint isDirAndStringOff
Definition m_Do_dvd_thread.h:152
uint nextEntryOrLength
Definition m_Do_dvd_thread.h:154
Definition m_Do_dvd_thread.h:131
u8 stack[4096]
Definition m_Do_dvd_thread.h:132
Definition m_Do_dvd_thread.h:135
static void suspend()
Definition m_Do_dvd_thread.cpp:58
static bool SyncWidthSound
Definition m_Do_dvd_thread.h:146
static u8 verbose
Definition m_Do_dvd_thread.h:144
static s32 main(void *)
Definition m_Do_dvd_thread.cpp:17
static u8 Report_DVDRead
Definition m_Do_dvd_thread.h:147
static OSThread l_thread
Definition m_Do_dvd_thread.h:140
static mDoDvdThdStack l_threadStack
Definition m_Do_dvd_thread.h:141
static u8 DVDLogoMode
Definition m_Do_dvd_thread.h:145
static mDoDvdThd_param_c l_param
Definition m_Do_dvd_thread.h:142
static void create(s32)
Definition m_Do_dvd_thread.cpp:52
Definition c_node.h:5
Definition c_list.h:7