summaryrefslogtreecommitdiff
path: root/src/code/m_mail.c
diff options
context:
space:
mode:
authorPrakxo <87568477+Prakxo@users.noreply.github.com>2023-11-23 18:03:30 +0100
committerGitHub <noreply@github.com>2023-11-23 10:03:30 -0700
commite1fcb33cef0b8e58ce3cecc2977921e685f129ba (patch)
tree2bdf6a246b02e0863efb24925293d916174e58bc /src/code/m_mail.c
parentbd8169465a20a324436c4ead9a750d869a17131b (diff)
The NPC PR 3/3 OK (#119)
* npc werk * atleast it builds * m_npc OK * forgor format * review * format * fix warns?
Diffstat (limited to 'src/code/m_mail.c')
-rw-r--r--src/code/m_mail.c108
1 files changed, 54 insertions, 54 deletions
diff --git a/src/code/m_mail.c b/src/code/m_mail.c
index d816fe2..d967753 100644
--- a/src/code/m_mail.c
+++ b/src/code/m_mail.c
@@ -2,7 +2,7 @@
#include "m_common_data.h"
#include "m_lib.h"
#include "m_npc.h"
-#include "6B8A70.h"
+#include "m_land.h"
#include "unknown_structs.h"
#include "macros.h"
@@ -50,21 +50,21 @@ void mMl_strcpy_back(char* dst, const char* src, s32 size) {
}
}
-void mMl_clear_mail_header(Mail* mail) {
- mPr_ClearPersonalID(&mail->unk_00.unk_00);
- mail->unk_00.unk_10 = 0xFF;
- mPr_ClearPersonalID(&mail->unk_12.unk_00);
- mail->unk_12.unk_10 = 0xFF;
+void mMl_clear_mail_header(Mail_c* mail) {
+ mPr_ClearPersonalID(&mail->header.recipient.personalID);
+ mail->header.recipient.type = 0xFF;
+ mPr_ClearPersonalID(&mail->header.sender.personalID);
+ mail->header.sender.type = 0xFF;
}
-void mMl_clear_mail(Mail* mail) {
- bzero(mail, sizeof(Mail));
+void mMl_clear_mail(Mail_c* mail) {
+ bzero(mail, sizeof(Mail_c));
mMl_clear_mail_header(mail);
- mem_clear((u8*)&mail->unk_2A, sizeof(mMl_unk_2A), 0x20);
- mail->unk_26 = 0xFF;
+ mem_clear(mail->content.header, MAIL_HEADER_LEN + MAIL_BODY_LEN + MAIL_FOOTER_LEN, 0x20);
+ mail->content.font = 0xFF;
}
-void mMl_clear_mail_box(Mail mail[], s32 arg1) {
+void mMl_clear_mail_box(Mail_c mail[], s32 arg1) {
while (arg1 != 0) {
arg1--;
mMl_clear_mail(mail);
@@ -72,47 +72,47 @@ void mMl_clear_mail_box(Mail mail[], s32 arg1) {
}
}
-s32 mMl_check_not_used_mail(Mail* mail) {
+s32 mMl_check_not_used_mail(Mail_c* mail) {
s32 ret = 0;
- if (mail->unk_26 == 0xFF) {
+ if (mail->content.font == 0xFF) {
ret = 1;
}
return ret;
}
void mMl_copy_header_name(mMl_unk_00* arg0, mMl_unk_00* arg1) {
- arg0->unk_10 = arg1->unk_10;
- mPr_CopyPersonalID(&arg0->unk_00, &arg1->unk_00);
+ arg0->type = arg1->type;
+ mPr_CopyPersonalID(&arg0->personalID, &arg1->personalID);
}
-void mMl_set_from_name(Mail* arg0, Mail* arg1) {
- mMl_copy_header_name(&arg0->unk_12, &arg1->unk_00);
+void mMl_set_from_name(Mail_c* arg0, Mail_c* arg1) {
+ mMl_copy_header_name(&arg0->header.sender, &arg1->header.recipient);
}
-void mMl_set_to_name(Mail* arg0, Mail* arg1) {
- mMl_copy_header_name(&arg0->unk_00, &arg1->unk_00);
+void mMl_set_to_name(Mail_c* arg0, Mail_c* arg1) {
+ mMl_copy_header_name(&arg0->header.recipient, &arg1->header.recipient);
}
-void mMl_set_to_plname(Mail* arg0, Mail* arg1) {
- mPr_CopyPersonalID(&arg0->unk_00.unk_00, &arg1->unk_00.unk_00);
- arg0->unk_00.unk_10 = 0;
+void mMl_set_to_plname(Mail_c* arg0, Mail_c* arg1) {
+ mPr_CopyPersonalID(&arg0->header.recipient.personalID, &arg1->header.recipient.personalID);
+ arg0->header.recipient.type = 0;
}
-void mMl_set_playername(Mail* mail, PersonalID* arg1) {
- mPr_CopyPersonalID(&mail->unk_12.unk_00, arg1);
- mail->unk_12.unk_10 = 0;
+void mMl_set_playername(Mail_c* mail, PersonalID_c* arg1) {
+ mPr_CopyPersonalID(&mail->header.sender.personalID, arg1);
+ mail->header.sender.type = 0;
}
-void mMl_init_mail(Mail* mail, PersonalID* arg1) {
+void mMl_init_mail(Mail_c* mail, PersonalID_c* arg1) {
mMl_clear_mail(mail);
mMl_set_playername(mail, arg1);
- mail->unk_26 = 1;
- mail->unk_28 = 0;
- mail->unk_29 = 0;
+ mail->content.font = 1;
+ mail->content.mailType = 0;
+ mail->content.paperType = 0;
}
-s32 mMl_chk_mail_free_space(Mail mail[], s32 arg1) {
+s32 mMl_chk_mail_free_space(Mail_c mail[], s32 arg1) {
s32 i;
for (i = 0; i < arg1; i++) {
@@ -124,7 +124,7 @@ s32 mMl_chk_mail_free_space(Mail mail[], s32 arg1) {
return -1;
}
-s32 mMl_use_mail_space(Mail mail[], s32 arg1, PersonalID* arg2) {
+s32 mMl_use_mail_space(Mail_c mail[], s32 arg1, PersonalID_c* arg2) {
s32 index = mMl_chk_mail_free_space(mail, arg1);
if (index != -1) {
@@ -133,7 +133,7 @@ s32 mMl_use_mail_space(Mail mail[], s32 arg1, PersonalID* arg2) {
return index;
}
-s32 mMl_count_use_mail_space(Mail mail[], s32 arg1) {
+s32 mMl_count_use_mail_space(Mail_c mail[], s32 arg1) {
s32 i;
s32 ret = 0;
@@ -146,8 +146,8 @@ s32 mMl_count_use_mail_space(Mail mail[], s32 arg1) {
return ret;
}
-void mMl_copy_mail(Mail* dst, Mail* src) {
- mem_copy((u8*)dst, (u8*)src, sizeof(Mail));
+void mMl_copy_mail(Mail_c* dst, Mail_c* src) {
+ mem_copy((u8*)dst, (u8*)src, sizeof(Mail_c));
}
void mMl_clear_mail_header_common(MailHeaderCommon* arg0) {
@@ -161,40 +161,40 @@ void mMl_copy_mail_header_common(MailHeaderCommon* arg0, MailHeaderCommon* arg1)
mem_copy((u8*)arg0, (u8*)arg1, sizeof(MailHeaderCommon));
}
-void mMl_set_mail_name_npcinfo(mMl_unk_00* arg0, mMl_get_npcinfo_from_mail_name_arg0* arg1) {
- PlayerName sp20;
+void mMl_set_mail_name_npcinfo(mMl_unk_00* arg0, AnmPersonalID_c* arg1) {
+ char name[PLAYER_NAME_LEN];
- arg0->unk_10 = 1;
- mNpc_GetNpcWorldNameAnm(&sp20, arg1);
- mPr_CopyPlayerName(&arg0->unk_00.unk_0, &sp20);
- arg0->unk_00.unk_E = arg1->unk_2;
- mLd_CopyLandName(&arg0->unk_00.unk_6, &arg1->unk_4);
- arg0->unk_00.unk_C = ((arg1->unk_0 & 0xFF) << 8) | (arg1->unk_A & 0xFF);
+ arg0->type = 1;
+ mNpc_GetNpcWorldNameAnm(name, arg1);
+ mPr_CopyPlayerName(arg0->personalID.playerName, name);
+ arg0->personalID.landId = arg1->landId;
+ mLd_CopyLandName(arg0->personalID.landName, arg1->landName);
+ arg0->personalID.playerId = ((arg1->npcId & 0xFF) << 8) | (arg1->nameId & 0xFF);
}
-s32 mMl_get_npcinfo_from_mail_name(mMl_get_npcinfo_from_mail_name_arg0* arg0, mMl_unk_00* arg1) {
+s32 mMl_get_npcinfo_from_mail_name(AnmPersonalID_c* arg0, mMl_unk_00* arg1) {
s32 var_v1 = 0;
- if (arg1->unk_10 == 1) {
- arg0->unk_0 = (((arg1->unk_00.unk_C & 0xFF00) >> 8) | 0xE000);
- arg0->unk_2 = arg1->unk_00.unk_E;
- mLd_CopyLandName(&arg0->unk_4, &arg1->unk_00.unk_6);
- arg0->unk_A = arg1->unk_00.unk_C & 0xFFFF;
- arg0->unk_B = mNpc_GetLooks(arg0->unk_0);
+ if (arg1->type == 1) {
+ arg0->npcId = (((arg1->personalID.playerId & 0xFF00) >> 8) | 0xE000);
+ arg0->landId = arg1->personalID.landId;
+ mLd_CopyLandName(arg0->landName, arg1->personalID.landName);
+ arg0->nameId = arg1->personalID.playerId & 0xFFFF;
+ arg0->looks = mNpc_GetLooks(arg0->npcId);
var_v1 = 1;
}
return var_v1;
}
-s32 mMl_hunt_for_send_address(Mail* mail) {
+s32 mMl_hunt_for_send_address(Mail_c* mail) {
s32 i;
- if (mail->unk_00.unk_10 != 0) {
+ if (mail->header.recipient.type != 0) {
return -1;
}
for (i = 0; i < ARRAY_COUNT(common_data.homes); i++) {
- if (mPr_CheckCmpPersonalID(&common_data.homes[i].unk_000, &mail->unk_00.unk_00) == 1) {
+ if (mPr_CheckCmpPersonalID(&common_data.homes[i].ownerID, &mail->header.recipient.personalID) == 1) {
return i;
}
}
@@ -212,8 +212,8 @@ s32 mMl_check_send_mail(struct_func_8085CE18_jp_arg4* arg0) {
}
}
-s32 mMl_check_set_present_myself(Mail* mail) {
- switch (mail->unk_26) {
+s32 mMl_check_set_present_myself(Mail_c* mail) {
+ switch (mail->content.font) {
case 1:
case 3:
case 4: