diff options
-rw-r--r-- | asm/daycare.s | 28 | ||||
-rw-r--r-- | src/daycare.c | 22 |
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); +} |