summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/daycare.s28
-rw-r--r--src/daycare.c22
2 files changed, 19 insertions, 31 deletions
diff --git a/asm/daycare.s b/asm/daycare.s
index 7f62cc9a9..5377e4909 100644
--- a/asm/daycare.s
+++ b/asm/daycare.s
@@ -6,34 +6,6 @@
.text
- thumb_func_start sub_80417F4
-sub_80417F4: @ 80417F4
- push {lr}
- movs r3, 0
- movs r2, 0x7
- adds r1, r0, 0
- adds r1, 0x2B
-_080417FE:
- strb r3, [r1]
- subs r1, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _080417FE
- adds r2, r0, 0
- adds r2, 0x2C
- movs r3, 0
- adds r1, r0, 0
- adds r1, 0x36
-_08041812:
- strb r3, [r1]
- subs r1, 0x1
- cmp r1, r2
- bge _08041812
- bl ClearMailStruct
- pop {r0}
- bx r0
- thumb_func_end sub_80417F4
-
thumb_func_start unref_sub_8041824
unref_sub_8041824: @ 8041824
push {r4-r6,lr}
diff --git a/src/daycare.c b/src/daycare.c
index fc5e9a0d0..d7ded8721 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -104,7 +104,7 @@ void Daycare_SendPokemon_Special()
Daycare_SendPokemon(gPlayerParty + gLastFieldPokeMenuOpened, &gSaveBlock1.daycareData);
}
-void sub_80417F4(struct MailStruct *);
+void sub_80417F4(struct DayCareMail *);
void sub_80414C0(struct DayCareData * daycare_data)
{
@@ -115,7 +115,7 @@ void sub_80414C0(struct DayCareData * daycare_data)
daycare_data->mail.data[0] = daycare_data->mail.data[1];
daycare_data->mail.extra.steps[0] = daycare_data->mail.extra.steps[1];
daycare_data->mail.extra.steps[1] = 0;
- sub_80417F4(&daycare_data->mail.data[1].mail);
+ sub_80417F4(&daycare_data->mail.data[1]);
}
}
@@ -164,7 +164,7 @@ u16 sub_8041570(struct DayCareData * daycare_data, u8 slot)
if (daycare_data->mail.data[slot].mail.itemId)
{
GiveMailToMon2(&gPlayerParty[PARTY_SIZE - 1], &daycare_data->mail.data[slot].mail);
- sub_80417F4(&daycare_data->mail.data[slot].mail);
+ sub_80417F4(&daycare_data->mail.data[slot]);
}
party_compaction();
ZeroBoxMonData(&daycare_data->mons[slot]);
@@ -232,3 +232,19 @@ u8 sub_80417B8(void)
return sub_80416E8(&gSaveBlock1.daycareData, gSpecialVar_0x8004);
return 0;
}
+
+void sub_80417F4(struct DayCareMail *mail)
+{
+ u8 zero;
+ u8 *names;
+ u8 *names2;
+ int i;
+ zero = 0;
+ for (i = 7, names = mail->names + 7; i >= 0; i --)
+ *names-- = zero;
+ names2 = mail->names + 8;
+ zero = 0;
+ names = mail->names + 18;
+ do *names-- = zero; while ((int)names >= (int)names2);
+ ClearMailStruct(&mail->mail);
+}