summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/daycare.s41
-rw-r--r--include/global.h2
-rw-r--r--src/daycare.c13
3 files changed, 14 insertions, 42 deletions
diff --git a/asm/daycare.s b/asm/daycare.s
index 5377e4909..1882ad61e 100644
--- a/asm/daycare.s
+++ b/asm/daycare.s
@@ -6,47 +6,6 @@
.text
- thumb_func_start unref_sub_8041824
-unref_sub_8041824: @ 8041824
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
-_0804182A:
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 4
- adds r0, r6, r0
- bl ZeroBoxMonData
- movs r1, 0x88
- lsls r1, 1
- adds r0, r6, r1
- adds r0, r4
- movs r4, 0
- str r4, [r0]
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 3
- adds r0, 0xA0
- adds r0, r6, r0
- bl sub_80417F4
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _0804182A
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r6, r2
- movs r1, 0
- strh r4, [r0]
- adds r2, 0x2
- adds r0, r6, r2
- strb r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_8041824
-
thumb_func_start sub_8041870
sub_8041870: @ 8041870
push {r4-r7,lr}
diff --git a/include/global.h b/include/global.h
index 3f30544a8..ee54007b2 100644
--- a/include/global.h
+++ b/include/global.h
@@ -557,7 +557,7 @@ struct DayCareMailEtc
struct DayCareData {
struct BoxPokemon mons[2];
struct DayCareMailEtc mail;
- u8 unk_118[2];
+ u16 unk_118;
u8 unk_11a;
u8 unk_11b;
};
diff --git a/src/daycare.c b/src/daycare.c
index d7ded8721..3f65c5bea 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -248,3 +248,16 @@ void sub_80417F4(struct DayCareMail *mail)
do *names-- = zero; while ((int)names >= (int)names2);
ClearMailStruct(&mail->mail);
}
+
+void unref_sub_8041824(struct DayCareData *dayCareData)
+{
+ u8 slot;
+ for (slot = 0; slot < ARRAY_COUNT(dayCareData->mons); slot ++)
+ {
+ ZeroBoxMonData(&dayCareData->mons[slot]);
+ dayCareData->mail.extra.steps[slot] = 0;
+ sub_80417F4(&dayCareData->mail.data[slot]);
+ }
+ dayCareData->unk_118 = 0;
+ dayCareData->unk_11a = 0;
+}