Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
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 {
22
23 u16 toMessageIndex_messageID(u32 uMsgID, u32, bool* pbValid) const;
24
25 bool isContained_messageIndex(u16 uMessageIndex) const {
26 return uMessageIndex < getMessageEntryNumber();
27 }
28
31
33
34 void* getMessageEntry_messageIndex(u16 uMessageIndex) const {
35 if (!isContained_messageIndex(uMessageIndex)) {
36 return NULL;
37 }
38
39 void* pEntry = oParse_TBlock_info_.getContent() + (uMessageIndex * getMessageEntrySize());
40 return pEntry;
41 }
42
43 char* getMessageText_messageEntry(const void* pEntry) const {
44 JUT_ASSERT(141, pEntry!=NULL);
45 return pMessageText_ + *(int*)pEntry;
46 }
47
48 const char* getMessageText_messageIndex(u16 uMessageIndex) const {
49 void* pEntry = getMessageEntry_messageIndex(uMessageIndex);
50 if (pEntry == NULL) {
51 return NULL;
52 }
53
54 return getMessageText_messageEntry(pEntry);
55 }
56
57 void setData_header(const void* pData) {
59 }
60
61 void setData_block_info(const void* pData) {
63
65
67 }
68
72
76
77 void setData_block_messageID(const void* pData) {
79 }
80
84 /* 0x10 */ char* pMessageText_;
85 /* 0x14 */ char* pStringAttribute_;
87};
88
107
113 struct TCResource : public JGadget::TLinkList_factory<TResource, 0> {
114 TCResource();
115 TResource* Get_groupID(u16 u16GroupID);
116
117 virtual ~TCResource();
119 virtual void Do_destroy(JMessage::TResource* pResource);
120 };
121
123 void setEncoding(u8 e);
124 void setEncoding_(u8 e);
125
126 int parseCharacter(const char** ppszText) const {
127 JUT_ASSERT(330, pfnParseCharacter_!=NULL);
128 return pfnParseCharacter_(ppszText);
129 }
130
131 TResource* getResource_groupID(u16 u16GroupID) { return resContainer_.Get_groupID(u16GroupID); }
132 TResource* getResource_groupID(u16 u16GroupID) const { return getResource_groupID(u16GroupID); }
133
134 bool isEncodingSettable(u8 e) const { return encodingType_ == e || encodingType_ == 0; }
141 }
146
148
149 /* 0x00 */ u8 encodingType_;
153};
154
161
162 virtual ~TParse();
163 virtual bool parseHeader_next(const void** ppData_inout, u32* puBlock_out, u32);
164 virtual bool parseBlock_next(const void** ppData_inout, u32* puData_out, u32);
165
168};
169}; // namespace JMessage
170
171#endif /* JMESSAGE_RESOURCE_H */
unsigned long u32
Definition types.h:12
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
Definition control.h:6
Definition linklist.h:11
void setRaw(const void *p)
Definition binary.h:39
Definition resource.h:159
TResourceContainer * pContainer_
Definition resource.h:166
TParse(JMessage::TResourceContainer *pContainer)
Definition resource.cpp:145
virtual bool parseBlock_next(const void **ppData_inout, u32 *puData_out, u32)
Definition resource.cpp:211
virtual bool parseHeader_next(const void **ppData_inout, u32 *puBlock_out, u32)
Definition resource.cpp:157
virtual ~TParse()
Definition resource.cpp:155
TResource * pResource_
Definition resource.h:167
virtual ~TCResource()
Definition resource.cpp:100
virtual void Do_destroy(JMessage::TResource *pResource)
Definition resource.cpp:118
virtual JMessage::TResource * Do_create()
Definition resource.cpp:114
TResource * Get_groupID(u16 u16GroupID)
Definition resource.cpp:103
TCResource()
Definition resource.cpp:98
Definition resource.h:112
void destroyResource_color()
Definition resource.h:139
void setEncoding(u8 e)
Definition resource.cpp:129
TResourceContainer()
Definition resource.cpp:127
void destroyResource()
Definition resource.h:136
static JMessage::locale::parseCharacter_function sapfnParseCharacter_[5]
Definition resource.h:90
JMessage::locale::parseCharacter_function pfnParseCharacter_
Definition resource.h:150
bool isEncodingSettable(u8 e) const
Definition resource.h:134
void destroyResource_all()
Definition resource.h:142
TCResource resContainer_
Definition resource.h:151
const TCResource * getResourceContainer() const
Definition resource.h:135
TResource_color resColor_
Definition resource.h:152
TResource * getResource_groupID(u16 u16GroupID)
Definition resource.h:131
int parseCharacter(const char **ppszText) const
Definition resource.h:126
u8 encodingType_
Definition resource.h:149
void setEncoding_(u8 e)
Definition resource.cpp:139
TResource * getResource_groupID(u16 u16GroupID) const
Definition resource.h:132
Definition resource.h:93
TResource_color()
Definition resource.h:94
data::TParse_TBlock_color oParse_TBlock_color_
Definition resource.h:105
data::TParse_THeader oParse_THeader_
Definition resource.h:104
void reset()
Definition resource.h:99
Definition resource.h:14
void setData_header(const void *pData)
Definition resource.h:57
u16 toMessageIndex_messageID(u32 uMsgID, u32, bool *pbValid) const
Definition resource.cpp:9
char * getMessageText_messageEntry(const void *pEntry) const
Definition resource.h:43
void setData_block_info(const void *pData)
Definition resource.h:61
data::TParse_TBlock_messageID oParse_TBlock_messageID_
Definition resource.h:86
char * pStringAttribute_
Definition resource.h:85
void setData_block_stringAttribute(const void *pData)
Definition resource.h:73
const char * getMessageText_messageIndex(u16 uMessageIndex) const
Definition resource.h:48
data::TParse_THeader oParse_THeader_
Definition resource.h:82
TResource()
Definition resource.h:15
void setData_block_messageID(const void *pData)
Definition resource.h:77
u16 getGroupID() const
Definition resource.h:32
bool isContained_messageIndex(u16 uMessageIndex) const
Definition resource.h:25
JGadget::TLinkListNode ocObject_
Definition resource.h:81
char * pMessageText_
Definition resource.h:84
void setData_block_messageText(const void *pData)
Definition resource.h:69
void * getMessageEntry_messageIndex(u16 uMessageIndex) const
Definition resource.h:34
u32 getMessageEntrySize() const
Definition resource.h:29
data::TParse_TBlock_info oParse_TBlock_info_
Definition resource.h:83
u32 getMessageEntryNumber() const
Definition resource.h:30
u32 get_messageEntryNumber() const
Definition data.h:46
u32 get_messageEntrySize() const
Definition data.h:44
u16 get_groupID() const
Definition data.h:48
char * getContent() const
Definition data.h:42
char * getContent() const
Definition data.h:71
char * getContent() const
Definition data.h:78
Definition data.h:14
@ MESSAGEGROUPID_USER_ENUM_MAX
Definition data.h:97
@ MESSAGEINDEX_USER_ENUM_MAX
Definition data.h:91
int(*) parseCharacter_function(const char **)
Definition locale.h:13