summaryrefslogtreecommitdiff
path: root/include/msgdata.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/msgdata.h')
-rw-r--r--include/msgdata.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/msgdata.h b/include/msgdata.h
new file mode 100644
index 00000000..fae8ca78
--- /dev/null
+++ b/include/msgdata.h
@@ -0,0 +1,44 @@
+#ifndef POKEDIAMOND_MSG_DATA_H
+#define POKEDIAMOND_MSG_DATA_H
+
+#include "string16.h"
+
+struct MsgDataAlloc
+{
+ u32 offset;
+ u32 length;
+};
+
+struct MsgDataTable
+{
+ u16 count;
+ u16 key;
+ struct MsgDataAlloc alloc[1];
+};
+
+struct MsgData
+{
+ u16 type;
+ u16 heap_id;
+ u16 narc_id;
+ u16 file_id;
+ union {
+ struct MsgDataTable * raw;
+ NARC * narc;
+ } data;
+};
+
+void ReadMsgData_NewNarc_ExistingString(NarcId narc_id, u32 group, u32 num, u32 heap_id, struct String * dest);
+struct MsgData * NewMsgDataFromNarc(u32 type, NarcId narcId, s32 msgId, u32 heapno);
+void DestroyMsgData(struct MsgData *);
+struct String * ReadMsgData_NewNarc_NewString(NarcId narc_id, u32 group, u32 num, u32 heap_id);
+void ReadMsgDataIntoString(struct MsgData * msgData, u32 msg_no, struct String * dest);
+struct String * NewString_ReadMsgData(struct MsgData *, u32);
+u16 MsgDataGetCount(struct MsgData * msgData);
+void ReadMsgDataIntoU16Array(struct MsgData * msgData, u32 msg_no, u16 * dest);
+void GetSpeciesNameIntoArray(u16 species, u32 heap_id, u16 * dest);
+struct String * ReadMsgData_ExpandPlaceholders(u32 * a0, struct MsgData * msgData, u32 msgno, u32 heap_id);
+struct String * GetMoveName(u32 move, u32 heapno);
+struct String * GetSpeciesName(u16 species, u32 heap_id);
+
+#endif //POKEDIAMOND_MSG_DATA_H