summaryrefslogtreecommitdiff
path: root/include/mail.h
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-08-30 23:45:35 +0100
committerGitHub <noreply@github.com>2020-08-30 23:45:35 +0100
commit656e4a2fee9ff86d678d6a7477611bfaca5171d4 (patch)
treeb3060e2576d1572c1a8aeb63f300f43ba0d13131 /include/mail.h
parent62e3afdea1f62da948dd9d3926f712dbbe7af039 (diff)
parent73aecdbbbff398c27734f8ed793bb495a5391a4b (diff)
Merge pull request #273 from PikalaxALT/pikalax_work
Decompile mail
Diffstat (limited to 'include/mail.h')
-rw-r--r--include/mail.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/include/mail.h b/include/mail.h
new file mode 100644
index 00000000..47d8a777
--- /dev/null
+++ b/include/mail.h
@@ -0,0 +1,58 @@
+#ifndef POKEDIAMOND_SEALS_H
+#define POKEDIAMOND_SEALS_H
+
+#include "save_block_2.h"
+
+union MailMessage
+{
+ u16 raw;
+ struct {
+ u16 unk_0:12;
+ u16 unk_C:4;
+ } bits;
+};
+
+struct Mail
+{
+ u32 author_otId; // author otid
+ u8 author_gender; // author gender
+ u8 author_language; // language
+ u8 author_version; // version
+ u8 mail_type; // mail type
+ u16 author_name[OT_NAME_LENGTH + 1]; // author name
+ union MailMessage unk_18[3];
+ u8 padding_1E[2];
+ u16 unk_20[3][4];
+};
+
+struct Mail * Mail_new(u32 heap_id);
+
+void Mail_init(struct Mail * mail);
+BOOL Mail_TypeIsValid(struct Mail * mail);
+struct Mail * Mail_new(u32 heap_id);
+void Mail_copy(const struct Mail * src, struct Mail * dest);
+void Mail_SetNewMessageDetails(struct Mail * mail, u8 type, u8 monIdx, struct SaveBlock2 * sav2);
+u32 Mail_GetOTID(struct Mail * mail);
+u16 * Mail_GetAuthorNamePtr(struct Mail * mail);
+u8 Mail_GetAuthorGender(struct Mail * mail);
+u8 Mail_GetType(struct Mail * mail);
+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 Mail * Sav2_Mailbox_get(struct SaveBlock2 * sav2);
+u32 Sav2_Mailbox_sizeof(void);
+void Sav2_Mailbox_init(struct Mail * mail);
+s32 Mailbox_GetFirstEmptySlotIdx(struct Mail * mail, BOOL r1);
+void Mailbox_DeleteSlotI(struct Mail * mail, BOOL r1, s32 idx);
+void Mailbox_CopyMailToSlotI(struct Mail * mail, BOOL r1, s32 idx, const struct Mail * src);
+s32 Mailbox_CountMessages(struct Mail * mail, BOOL r1);
+struct Mail * Mailbox_AllocAndFetchMailI(struct Mail * mail, BOOL r1, s32 idx, u32 heap_id);
+void Mailbox_FetchMailIToBuffer(struct Mail * mail, BOOL r1, s32 idx, struct Mail * dest);
+s32 MailArray_GetFirstEmptySlotIdx(struct Mail * mail, s32 count);
+s32 MailArray_CountMessages(struct Mail * mail, s32 count);
+struct Mail * Mailbox_GetPtrToSlotI(struct Mail * mail, BOOL r1, s32 idx);
+
+#endif //POKEDIAMOND_SEALS_H