diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-08-30 20:23:43 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-08-30 20:23:43 -0400 |
commit | 3adc93018bf3deabde775905169c2b87d0560bd9 (patch) | |
tree | b8c7ad379c2e7bdbec6d9c7e4f9021f73243f302 /include | |
parent | 73aecdbbbff398c27734f8ed793bb495a5391a4b (diff) |
Decompile mail_message.c
Diffstat (limited to 'include')
-rw-r--r-- | include/mail.h | 11 | ||||
-rw-r--r-- | include/mail_message.h | 30 | ||||
-rw-r--r-- | include/msgdata.h | 3 | ||||
-rw-r--r-- | include/proto.h | 2 | ||||
-rw-r--r-- | include/script_buffers.h | 3 |
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]; |