Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
DynamicLink.h
Go to the documentation of this file.
1#ifndef DYNAMICLINK_H
2#define DYNAMICLINK_H
3
4#include "dolphin/os.h"
5
6class JKRArchive;
7class JKRFileCache;
9
11 /* 0x00 */ u16 mLinkCount;
12 /* 0x02 */ u16 mDoLinkCount;
15
16 /* 0x0C */ /*vtable*/
17 /* 802621CC */ virtual ~DynamicModuleControlBase();
18 /* 800188DC */ virtual const char* getModuleName() const { return NULL; };
19 /* 80263210 */ virtual int getModuleSize() const { return 0; };
20 /* 80263200 */ virtual const char* getModuleTypeString() const {return "Base";};
21#if __MWERKS__ && __MWERKS__ < 0x4200
22 // This is illegal function overloading, but MWCC for GC allows it. MWCC for Wii does not.
23 virtual void dump();
24#endif
25 /* 80262470 */ static void dump();
26 /* 802631FC */ virtual void dump2() {};
27 /* 802631DC */ virtual bool do_load() {return true;};
28 /* 802631F4 */ virtual BOOL do_load_async() {return true;};
29 /* 802631E4 */ virtual bool do_unload() {return true;};
30 /* 802631D4 */ virtual BOOL do_link() {return TRUE;};
31 /* 802631EC */ virtual bool do_unlink() {return true; };
32 /* 80262284 */ DynamicModuleControlBase();
33 /* 802622D0 */ BOOL link();
34 /* 80262364 */ BOOL unlink();
35 /* 802623EC */ BOOL load_async();
36 /* 8026242C */ bool force_unlink();
37
38 static inline DynamicModuleControlBase* getFirstClass() { return mFirst; }
40 bool isLinked() const { return mLinkCount != 0; }
41
44};
45
47 /* 80263218 */ virtual const char* getModuleName() const { return mName; };
48 /* 800188E4 */ virtual ~DynamicModuleControl() {}
49 /* 80263000 */ virtual int getModuleSize() const;
50 /* 80263070 */ virtual const char* getModuleTypeString() const;
51 // virtual void dump();
52 /* 80262C0C */ virtual void dump2();
53 /* 802627E8 */ virtual bool do_load();
54 /* 80262AFC */ virtual BOOL do_load_async();
55 /* 80262BC4 */ virtual bool do_unload();
56 /* 80262C5C */ virtual BOOL do_link();
57 /* 80262F28 */ virtual bool do_unlink();
58 /* 80262660 */ DynamicModuleControl(char const*);
59 /* 802626D0 */ static JKRArchive* mountCallback(void*);
60 /* 8026275C */ static bool initialize();
61 /* 80262794 */ static bool callback(void*);
62
64 /* 0x14 */ void* mBss;
65 /* 0x18 */ u32 unk_24;
66 /* 0x1c */ const char* mName;
67 /* 0x20 */ u8 mResourceType;
68 /* 0x21 */ u8 unk_33;
69 /* 0x22 */ u16 mChecksum;
70 /* 0x24 */ s32 mSize;
72
76};
77
78#endif /* DYNAMICLINK_H */
Definition JKRArchive.h:57
Definition JKRFileCache.h:12
Definition m_Do_dvd_thread.h:98
Definition DynamicLink.h:10
static DynamicModuleControlBase * mLast
Definition DynamicLink.h:43
virtual void dump()
Definition DynamicLink.cpp:112
BOOL load_async()
Definition DynamicLink.cpp:93
virtual BOOL do_link()
Definition DynamicLink.h:30
DynamicModuleControlBase()
Definition DynamicLink.cpp:45
DynamicModuleControlBase * getNextClass()
Definition DynamicLink.h:39
virtual bool do_unload()
Definition DynamicLink.h:29
virtual const char * getModuleTypeString() const
Definition DynamicLink.h:20
DynamicModuleControlBase * mPrev
Definition DynamicLink.h:13
virtual ~DynamicModuleControlBase()
Definition DynamicLink.cpp:25
virtual bool do_unlink()
Definition DynamicLink.h:31
virtual int getModuleSize() const
Definition DynamicLink.h:19
virtual const char * getModuleName() const
Definition DynamicLink.h:18
static DynamicModuleControlBase * getFirstClass()
Definition DynamicLink.h:38
virtual void dump2()
Definition DynamicLink.h:26
virtual bool do_load()
Definition DynamicLink.h:27
BOOL link()
Definition DynamicLink.cpp:61
bool force_unlink()
Definition DynamicLink.cpp:102
u16 mDoLinkCount
Definition DynamicLink.h:12
DynamicModuleControlBase * mNext
Definition DynamicLink.h:14
bool isLinked() const
Definition DynamicLink.h:40
virtual BOOL do_load_async()
Definition DynamicLink.h:28
static DynamicModuleControlBase * mFirst
Definition DynamicLink.h:42
u16 mLinkCount
Definition DynamicLink.h:11
BOOL unlink()
Definition DynamicLink.cpp:78
Definition DynamicLink.h:46
OSModuleHeader * mModule
Definition DynamicLink.h:63
virtual BOOL do_link()
Definition DynamicLink.cpp:359
virtual const char * getModuleName() const
Definition DynamicLink.h:47
mDoDvdThd_callback_c * mAsyncLoadCallback
Definition DynamicLink.h:71
const char * mName
Definition DynamicLink.h:66
static u32 sAllocBytes
Definition DynamicLink.h:73
virtual ~DynamicModuleControl()
Definition DynamicLink.h:48
virtual int getModuleSize() const
Definition DynamicLink.cpp:478
u8 unk_33
Definition DynamicLink.h:68
virtual bool do_unlink()
Definition DynamicLink.cpp:457
u8 mResourceType
Definition DynamicLink.h:67
void * mBss
Definition DynamicLink.h:64
virtual void dump2()
Definition DynamicLink.cpp:348
virtual bool do_load()
Definition DynamicLink.cpp:215
virtual BOOL do_load_async()
Definition DynamicLink.cpp:315
static JKRFileCache * sFileCache
Definition DynamicLink.h:75
u16 mChecksum
Definition DynamicLink.h:69
static bool callback(void *)
Definition DynamicLink.cpp:197
static JKRArchive * mountCallback(void *)
Definition DynamicLink.cpp:173
static bool initialize()
Definition DynamicLink.cpp:187
static JKRArchive * sArchive
Definition DynamicLink.h:74
DynamicModuleControl(char const *)
Definition DynamicLink.cpp:146
virtual bool do_unload()
Definition DynamicLink.cpp:339
u32 unk_24
Definition DynamicLink.h:65
s32 mSize
Definition DynamicLink.h:70
virtual const char * getModuleTypeString() const
Definition DynamicLink.cpp:492
Definition OSModule.h:41
int BOOL
Definition types.h:30
unsigned long u32
Definition types.h:9
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5