summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-08-31 14:33:17 +0100
committerGitHub <noreply@github.com>2020-08-31 14:33:17 +0100
commit0a880566f5889cdeb6fa3f96f5916c39dbb16b38 (patch)
treeb8c7ad379c2e7bdbec6d9c7e4f9021f73243f302 /include
parent656e4a2fee9ff86d678d6a7477611bfaca5171d4 (diff)
parent3adc93018bf3deabde775905169c2b87d0560bd9 (diff)
Merge pull request #274 from PikalaxALT/pikalax_work
Decompile mail_message.c
Diffstat (limited to 'include')
-rw-r--r--include/mail.h11
-rw-r--r--include/mail_message.h30
-rw-r--r--include/msgdata.h3
-rw-r--r--include/proto.h2
-rw-r--r--include/script_buffers.h3
5 files changed, 41 insertions, 8 deletions
diff --git a/include/mail.h b/include/mail.h
index 47d8a777..078b314a 100644
--- a/include/mail.h
+++ b/include/mail.h
@@ -2,8 +2,9 @@
#define POKEDIAMOND_SEALS_H
#include "save_block_2.h"
+#include "mail_message.h"
-union MailMessage
+union MailPatternData
{
u16 raw;
struct {
@@ -20,9 +21,9 @@ struct Mail
u8 author_version; // version
u8 mail_type; // mail type
u16 author_name[OT_NAME_LENGTH + 1]; // author name
- union MailMessage unk_18[3];
+ union MailPatternData unk_18[3];
u8 padding_1E[2];
- u16 unk_20[3][4];
+ struct MailMessage unk_20[3];
};
struct Mail * Mail_new(u32 heap_id);
@@ -40,8 +41,8 @@ void Mail_SetType(struct Mail * mail, u8 type);
u8 Mail_GetLanguage(struct Mail * mail);
u8 Mail_GetVersion(struct Mail * mail);
u16 Mail_GetAttrFromUnk18Array(struct Mail * mail, u32 idx, u32 attr);
-u16 * Mail_GetUnk20Array(struct Mail * mail, u32 idx);
-void Mail_CopyToUnk20Array(struct Mail * mail, const u16 * src, u32 idx);
+struct MailMessage * Mail_GetUnk20Array(struct Mail * mail, u32 idx);
+void Mail_CopyToUnk20Array(struct Mail * mail, const struct MailMessage * src, u32 idx);
struct Mail * Sav2_Mailbox_get(struct SaveBlock2 * sav2);
u32 Sav2_Mailbox_sizeof(void);
void Sav2_Mailbox_init(struct Mail * mail);
diff --git a/include/mail_message.h b/include/mail_message.h
new file mode 100644
index 00000000..5772fdd3
--- /dev/null
+++ b/include/mail_message.h
@@ -0,0 +1,30 @@
+#ifndef POKEDIAMOND_MAIL_MESSAGE_H
+#define POKEDIAMOND_MAIL_MESSAGE_H
+
+struct MailMessage
+{
+ u16 msg_bank;
+ u16 msg_no;
+ u16 fields[2];
+};
+
+void MailMsg_init(struct MailMessage * mailMsg);
+void MailMsg_init_withBank(struct MailMessage * mailMsg, u16 bank);
+void MailMsg_init_default(struct MailMessage * mailMsg);
+void MailMsg_init_fromTemplate(struct MailMessage * mailMsg, u32 a1);
+struct String * MailMsg_GetExpandedString(struct MailMessage * mailMsg, u32 heap_id);
+struct String * MailMsg_GetRawString(struct MailMessage * mailMsg, u32 heap_id);
+BOOL MailMsg_IsInit(struct MailMessage * mailMsg);
+BOOL MailMsg_AllFieldsAreInit(struct MailMessage * mailMsg);
+u32 MailMsg_NumFields(u16 bank, u16 num);
+u16 MailMsg_GetFieldI(struct MailMessage * mailMsg, u32 a1);
+u16 MailMsg_GetMsgBank(struct MailMessage * mailMsg);
+u16 MailMsg_GetMsgNo(struct MailMessage * mailMsg);
+BOOL MailMsg_compare(struct MailMessage * mailMsg, struct MailMessage * a1);
+void MailMsg_copy(struct MailMessage * mailMsg, const struct MailMessage * a1);
+u32 MailMsg_NumMsgsInBank(u16 bank);
+void MailMsg_SetMsgBankAndNum(struct MailMessage * mailMsg, u16 bank, u16 num);
+void MailMsg_SetFieldI(struct MailMessage * mailMsg, u32 idx, u16 word);
+void MailMsg_SetTrailingFieldsEmpty(struct MailMessage * mailMsg);
+
+#endif //POKEDIAMOND_MAIL_MESSAGE_H
diff --git a/include/msgdata.h b/include/msgdata.h
index c2f37274..855856ff 100644
--- a/include/msgdata.h
+++ b/include/msgdata.h
@@ -3,6 +3,7 @@
#include "filesystem.h"
#include "string16.h"
+#include "script_buffers.h"
struct MsgDataAlloc
{
@@ -38,7 +39,7 @@ 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 * ReadMsgData_ExpandPlaceholders(struct ScrStrBufs * a0, struct MsgData * msgData, u32 msgno, u32 heap_id);
struct String * GetMoveName(u32 move, u32 heapno);
struct String * GetSpeciesName(u16 species, u32 heap_id);
diff --git a/include/proto.h b/include/proto.h
index 67a295ac..365c0ecd 100644
--- a/include/proto.h
+++ b/include/proto.h
@@ -8,7 +8,6 @@
#include "player_data.h" // for struct definitions
int FUN_0206AE00(int x);
-u32 GetItemAttr(u16 item, u32 a1, u32 a2);
int FUN_02014C3C(u8);
void FUN_02014C54(int, int, struct UnkStruct_02069038 *, u8);
u32 IsNighttime(void); // is day or night
@@ -17,6 +16,5 @@ void FUN_02005E80(int);
void FUN_02005E90(int, int, int, int);
void FUN_020056AC(int, int, int, int, int);
void FUN_020808AC(struct BoxPokemon *, struct PlayerData *, int, u32, u32);
-void StringExpandPlaceholders(u32 *, struct String *, struct String *);
#endif //POKEDIAMOND_PROTO_H
diff --git a/include/script_buffers.h b/include/script_buffers.h
index 76d4eb71..63aaf65d 100644
--- a/include/script_buffers.h
+++ b/include/script_buffers.h
@@ -1,6 +1,9 @@
#ifndef POKEDIAMOND_SCRIPT_BUFFERS_H
#define POKEDIAMOND_SCRIPT_BUFFERS_H
+#include "pokemon.h"
+#include "pokemon_storage_system.h"
+
struct UnkStruct_0200AA80_sub_sub
{
u8 data[4];