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
resource.h
Go to the documentation of this file.
1#ifndef JMESSAGE_RESOURCE_H
2#define JMESSAGE_RESOURCE_H
3
7
8namespace JMessage {
9
14struct TResource {
16 : field_0x8(NULL), field_0xc(NULL), field_0x10(NULL), field_0x14(0), mMessageID(NULL) {}
17
18 /* 802A8CDC */ u16 toMessageIndex_messageID(u32, u32, bool*) const;
19
20 bool isContained_messageIndex(u16 messageIndex) const {
21 return messageIndex < getMessageEntryNumber();
22 }
23
26
27 u16 getGroupID() const { return field_0xc.get_groupID(); }
28
29 void* getMessageEntry_messageIndex(u16 messageIndex) const {
30 if (!isContained_messageIndex(messageIndex)) {
31 return NULL;
32 }
33
34 return field_0xc.getContent() + (messageIndex * getMessageEntrySize());
35 }
36
37 char* getMessageText_messageEntry(const void* pEntry) const {
38 return field_0x10 + *(int*)pEntry;
39 }
40
41 const char* getMessageText_messageIndex(u16 messageIndex) const {
42 void* pEntry = getMessageEntry_messageIndex(messageIndex);
43 if (pEntry == NULL) {
44 return NULL;
45 }
46
47 return getMessageText_messageEntry(pEntry);
48 }
49
50 void setData_header(const void* pData) {
51 field_0x8.setRaw(pData);
52 }
56 /* 0x10 */ char* field_0x10;
57 /* 0x14 */ int field_0x14;
59};
60
67 void reset() {
68 field_0x0.setRaw(NULL);
69 field_0x4.setRaw(NULL);
70 }
71
74}; // Size: 0x8
75
81 struct TCResource : public JGadget::TLinkList_factory<TResource, 0> {
82 /* 802A8EC0 */ TCResource();
83 /* 802A8F6C */ TResource* Get_groupID(u16);
84
85 /* 802A8EF8 */ virtual ~TCResource();
86 /* 802A8FFC */ virtual JMessage::TResource* Do_create();
87 /* 802A9048 */ virtual void Do_destroy(JMessage::TResource*);
89 // u8 field_0x0[0x10];
90 };
91
92 /* 802A906C */ TResourceContainer();
93 /* 802A90B8 */ void setEncoding(u8);
94 /* 802A90F0 */ void setEncoding_(u8);
95
96 int parseCharacter(const char** string) const { return pfnParseCharacter_(string); }
98 TResource* getResource_groupID(u16 groupID) const { return getResource_groupID(groupID); }
99
100 bool isEncodingSettable(u8 e) const { return mEncodingType == e || mEncodingType == 0; }
107 }
112
114
115 /* 0x00 */ u8 mEncodingType;
119};
120
126 /* 802A9130 */ TParse(JMessage::TResourceContainer*);
127
128 /* 802A9158 */ virtual ~TParse();
129 /* 802A91B8 */ virtual bool parseHeader_next(void const**, u32*, u32);
130 /* 802A92F4 */ virtual bool parseBlock_next(void const**, u32*, u32);
131
134};
135}; // namespace JMessage
136
137#endif /* JMESSAGE_RESOURCE_H */
Definition control.h:6
Definition linklist.h:8
void setRaw(const void *p)
Definition binary.h:32
Definition resource.h:125
TResourceContainer * pContainer_
Definition resource.h:132
TParse(JMessage::TResourceContainer *)
Definition resource.cpp:155
virtual ~TParse()
Definition resource.cpp:161
TResource * pResource_
Definition resource.h:133
virtual bool parseBlock_next(void const **, u32 *, u32)
Definition resource.cpp:208
virtual bool parseHeader_next(void const **, u32 *, u32)
Definition resource.cpp:166
virtual void Do_destroy(JMessage::TResource *)
Definition resource.cpp:127
virtual ~TCResource()
Definition resource.cpp:102
virtual JMessage::TResource * Do_create()
Definition resource.cpp:119
TResource * Get_groupID(u16)
Definition resource.cpp:107
TCResource()
Definition resource.cpp:98
Definition resource.h:80
void destroyResource_color()
Definition resource.h:105
TResourceContainer()
Definition resource.cpp:132
void destroyResource()
Definition resource.h:102
static JMessage::locale::parseCharacter_function sapfnParseCharacter_[5]
Definition resource.h:88
JMessage::locale::parseCharacter_function pfnParseCharacter_
Definition resource.h:116
bool isEncodingSettable(u8 e) const
Definition resource.h:100
void destroyResource_all()
Definition resource.h:108
TCResource resContainer_
Definition resource.h:117
void setEncoding(u8)
Definition resource.cpp:136
void setEncoding_(u8)
Definition resource.cpp:147
const TCResource * getResourceContainer() const
Definition resource.h:101
TResource_color resColor_
Definition resource.h:118
TResource * getResource_groupID(u16 groupID)
Definition resource.h:97
u8 mEncodingType
Definition resource.h:115
int parseCharacter(const char **string) const
Definition resource.h:96
TResource * getResource_groupID(u16 groupID) const
Definition resource.h:98
Definition resource.h:65
TResource_color()
Definition resource.h:66
data::TParse_TBlock_color field_0x4
Definition resource.h:73
void reset()
Definition resource.h:67
data::TParse_THeader field_0x0
Definition resource.h:72
Definition resource.h:14
char * field_0x10
Definition resource.h:56
data::TParse_TBlock_messageID mMessageID
Definition resource.h:58
void setData_header(const void *pData)
Definition resource.h:50
char * getMessageText_messageEntry(const void *pEntry) const
Definition resource.h:37
TResource()
Definition resource.h:15
void * getMessageEntry_messageIndex(u16 messageIndex) const
Definition resource.h:29
u16 getGroupID() const
Definition resource.h:27
bool isContained_messageIndex(u16 messageIndex) const
Definition resource.h:20
u16 getMessageEntrySize() const
Definition resource.h:24
JGadget::TLinkListNode ocObject_
Definition resource.h:53
data::TParse_THeader field_0x8
Definition resource.h:54
int field_0x14
Definition resource.h:57
u16 toMessageIndex_messageID(u32, u32, bool *) const
Definition resource.cpp:13
const char * getMessageText_messageIndex(u16 messageIndex) const
Definition resource.h:41
data::TParse_TBlock_info field_0xc
Definition resource.h:55
u16 getMessageEntryNumber() const
Definition resource.h:25
u16 get_messageEntryNumber() const
Definition data.h:38
u16 get_messageEntrySize() const
Definition data.h:36
u16 get_groupID() const
Definition data.h:40
char * getContent() const
Definition data.h:34
Definition data.h:13
int(*) parseCharacter_function(const char **)
Definition locale.h:12
unsigned long u32
Definition types.h:9
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5