summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lsf3
-rw-r--r--arm9/asm/daycare.s201
-rw-r--r--arm9/asm/pokedex.s (renamed from arm9/asm/unk_02023C40.s)239
-rw-r--r--arm9/asm/scrcmd.s4
-rw-r--r--arm9/asm/scrcmd_16.s4
-rw-r--r--arm9/asm/scrcmd_3.s2
-rw-r--r--arm9/asm/unk_020476CC.s12
-rw-r--r--arm9/asm/unk_0205CE48.s2
-rw-r--r--arm9/asm/unk_0206BB28.s2
-rw-r--r--arm9/global.inc18
-rw-r--r--arm9/modules/05/asm/mod05_021D80E8.s2
-rw-r--r--arm9/modules/06/asm/module_06.s8
-rw-r--r--arm9/modules/11/asm/module_11_thumb1.s6
-rw-r--r--arm9/modules/16/asm/module_16.s6
-rw-r--r--arm9/modules/18/asm/module_18.s4
-rw-r--r--arm9/modules/23/asm/module_23.s2
-rw-r--r--arm9/modules/35/asm/module_35.s2
-rw-r--r--arm9/modules/56/asm/module_56.s2
-rw-r--r--arm9/modules/80/asm/module_80.s2
-rw-r--r--arm9/modules/83/asm/module_83.s2
-rw-r--r--arm9/src/save_arrays.c12
21 files changed, 276 insertions, 259 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index ed8eb7ed..4a26515d 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -87,7 +87,8 @@ Static arm9
Object sav_system_info.o
Object player_data.o
Object unk_02023AC4.o
- Object unk_02023C40.o
+ Object daycare.o
+ Object pokedex.o
Object unk_02024E64.o
Object options.o
Object unk_020250A4.o
diff --git a/arm9/asm/daycare.s b/arm9/asm/daycare.s
new file mode 100644
index 00000000..3de96399
--- /dev/null
+++ b/arm9/asm/daycare.s
@@ -0,0 +1,201 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .include "constants/species.h"
+
+ .text
+
+ thumb_func_start Sav2_Daycare_sizeof
+Sav2_Daycare_sizeof: ; 0x02023C40
+ mov r0, #0x1e
+ lsl r0, r0, #0x4
+ bx lr
+ .balign 4
+
+ thumb_func_start Sav2_Daycare_init
+Sav2_Daycare_init: ; 0x02023C48
+ push {r4, lr}
+ mov r2, #0x1e
+ add r4, r0, #0x0
+ mov r1, #0x0
+ lsl r2, r2, #0x4
+ bl memset
+ add r0, r4, #0x0
+ bl ZeroBoxMonData
+ add r0, r4, #0x0
+ add r0, #0xec
+ bl ZeroBoxMonData
+ mov r0, #0x76
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, r0, #0x4
+ strb r1, [r4, r0]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02023C74
+FUN_02023C74: ; 0x02023C74
+ mov r2, #0xec
+ mul r2, r1
+ add r0, r0, r2
+ bx lr
+
+ thumb_func_start FUN_02023C7C
+FUN_02023C7C: ; 0x02023C7C
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02023C80
+FUN_02023C80: ; 0x02023C80
+ add r0, #0x88
+ bx lr
+
+ thumb_func_start FUN_02023C84
+FUN_02023C84: ; 0x02023C84
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02023C8C
+FUN_02023C8C: ; 0x02023C8C
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02023C90
+FUN_02023C90: ; 0x02023C90
+ mov r1, #0x76
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start FUN_02023C98
+FUN_02023C98: ; 0x02023C98
+ mov r1, #0x77
+ lsl r1, r1, #0x2
+ ldrb r0, [r0, r1]
+ bx lr
+
+ thumb_func_start FUN_02023CA0
+FUN_02023CA0: ; 0x02023CA0
+ add r0, #0xe8
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02023CA8
+FUN_02023CA8: ; 0x02023CA8
+ add r2, r0, #0x0
+ add r2, #0xe8
+ ldr r2, [r2, #0x0]
+ add r0, #0xe8
+ add r1, r2, r1
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02023CB8
+FUN_02023CB8: ; 0x02023CB8
+ mov r2, #0x76
+ lsl r2, r2, #0x2
+ str r1, [r0, r2]
+ bx lr
+
+ thumb_func_start FUN_02023CC0
+FUN_02023CC0: ; 0x02023CC0
+ mov r2, #0x77
+ lsl r2, r2, #0x2
+ strb r1, [r0, r2]
+ bx lr
+
+ thumb_func_start FUN_02023CC8
+FUN_02023CC8: ; 0x02023CC8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r1, #0xc
+ mov r2, #0x0
+ bl GetBoxMonData
+ add r5, #0xec
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xc
+ mov r2, #0x0
+ bl GetBoxMonData
+ cmp r4, r0
+ beq _02023CEA
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02023CEA:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02023CF0
+FUN_02023CF0: ; 0x02023CF0
+ push {r3-r4}
+ add r4, r0, #0x0
+ add r3, r1, #0x0
+ mov r2, #0x1d
+_02023CF8:
+ ldmia r3!, {r0-r1}
+ stmia r4!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02023CF8
+ ldr r0, [r3, #0x0]
+ str r0, [r4, #0x0]
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_02023D08
+FUN_02023D08: ; 0x02023D08
+ push {r3-r4}
+ mov r1, #0x0
+ add r2, r0, #0x0
+ add r4, r1, #0x0
+_02023D10:
+ add r1, r1, #0x1
+ strh r4, [r2, #0x38]
+ add r2, r2, #0x2
+ cmp r1, #0x8
+ blt _02023D10
+ add r3, r0, #0x0
+ mov r2, #0x0
+_02023D1E:
+ add r1, r3, #0x0
+ add r1, #0x48
+ add r4, r4, #0x1
+ add r3, r3, #0x2
+ strh r2, [r1, #0x0]
+ cmp r4, #0xb
+ blt _02023D1E
+ ldr r1, _02023D38 ; =0x0000FFFF
+ strh r1, [r0, #0x38]
+ add r0, #0x48
+ strh r1, [r0, #0x0]
+ pop {r3-r4}
+ bx lr
+ .balign 4
+_02023D38: .word 0x0000FFFF
+
+ thumb_func_start FUN_02023D3C
+FUN_02023D3C: ; 0x02023D3C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ZeroBoxMonData
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0xe8
+ add r4, #0x88
+ str r1, [r0, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02023D08
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start Sav2_Daycare_get
+Sav2_Daycare_get: ; 0x02023D58
+ ldr r3, _02023D60 ; =SavArray_get
+ mov r1, #0x8
+ bx r3
+ nop
+_02023D60: .word SavArray_get
diff --git a/arm9/asm/unk_02023C40.s b/arm9/asm/pokedex.s
index 0de40519..11a29cda 100644
--- a/arm9/asm/unk_02023C40.s
+++ b/arm9/asm/pokedex.s
@@ -1,231 +1,46 @@
.include "asm/macros.inc"
.include "global.inc"
+ .include "constants/species.h"
.section .rodata
.global UNK_020EE940
UNK_020EE940: ; 0x020EE940
- .short 0x01EA, 0x0097, 0x00F9, 0x00FA, 0x00FB, 0x0181, 0x0182, 0x01E9
- .short 0x01EA, 0x01EB, 0x01EC, 0x01ED
+ .short SPECIES_MANAPHY
+ .short SPECIES_MEW
+ .short SPECIES_LUGIA
+ .short SPECIES_HO_OH
+ .short SPECIES_CELEBI
+ .short SPECIES_JIRACHI
+ .short SPECIES_DEOXYS
+ .short SPECIES_PHIONE
+ .short SPECIES_MANAPHY
+ .short SPECIES_DARKRAI
+ .short SPECIES_SHAYMIN
+ .short SPECIES_ARCEUS
.text
- thumb_func_start FUN_02023C40
-FUN_02023C40: ; 0x02023C40
- mov r0, #0x1e
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023C48
-FUN_02023C48: ; 0x02023C48
- push {r4, lr}
- mov r2, #0x1e
- add r4, r0, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x4
- bl memset
- add r0, r4, #0x0
- bl ZeroBoxMonData
- add r0, r4, #0x0
- add r0, #0xec
- bl ZeroBoxMonData
- mov r0, #0x76
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, r0, #0x4
- strb r1, [r4, r0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02023C74
-FUN_02023C74: ; 0x02023C74
- mov r2, #0xec
- mul r2, r1
- add r0, r0, r2
- bx lr
-
- thumb_func_start FUN_02023C7C
-FUN_02023C7C: ; 0x02023C7C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023C80
-FUN_02023C80: ; 0x02023C80
- add r0, #0x88
- bx lr
-
- thumb_func_start FUN_02023C84
-FUN_02023C84: ; 0x02023C84
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023C8C
-FUN_02023C8C: ; 0x02023C8C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023C90
-FUN_02023C90: ; 0x02023C90
- mov r1, #0x76
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_02023C98
-FUN_02023C98: ; 0x02023C98
- mov r1, #0x77
- lsl r1, r1, #0x2
- ldrb r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_02023CA0
-FUN_02023CA0: ; 0x02023CA0
- add r0, #0xe8
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023CA8
-FUN_02023CA8: ; 0x02023CA8
- add r2, r0, #0x0
- add r2, #0xe8
- ldr r2, [r2, #0x0]
- add r0, #0xe8
- add r1, r2, r1
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023CB8
-FUN_02023CB8: ; 0x02023CB8
- mov r2, #0x76
- lsl r2, r2, #0x2
- str r1, [r0, r2]
- bx lr
-
- thumb_func_start FUN_02023CC0
-FUN_02023CC0: ; 0x02023CC0
- mov r2, #0x77
- lsl r2, r2, #0x2
- strb r1, [r0, r2]
- bx lr
-
- thumb_func_start FUN_02023CC8
-FUN_02023CC8: ; 0x02023CC8
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0xc
- mov r2, #0x0
- bl GetBoxMonData
- add r5, #0xec
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xc
- mov r2, #0x0
- bl GetBoxMonData
- cmp r4, r0
- beq _02023CEA
- mov r0, #0x1
- pop {r3-r5, pc}
-_02023CEA:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02023CF0
-FUN_02023CF0: ; 0x02023CF0
- push {r3-r4}
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r2, #0x1d
-_02023CF8:
- ldmia r3!, {r0-r1}
- stmia r4!, {r0-r1}
- sub r2, r2, #0x1
- bne _02023CF8
- ldr r0, [r3, #0x0]
- str r0, [r4, #0x0]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02023D08
-FUN_02023D08: ; 0x02023D08
- push {r3-r4}
- mov r1, #0x0
- add r2, r0, #0x0
- add r4, r1, #0x0
-_02023D10:
- add r1, r1, #0x1
- strh r4, [r2, #0x38]
- add r2, r2, #0x2
- cmp r1, #0x8
- blt _02023D10
- add r3, r0, #0x0
- mov r2, #0x0
-_02023D1E:
- add r1, r3, #0x0
- add r1, #0x48
- add r4, r4, #0x1
- add r3, r3, #0x2
- strh r2, [r1, #0x0]
- cmp r4, #0xb
- blt _02023D1E
- ldr r1, _02023D38 ; =0x0000FFFF
- strh r1, [r0, #0x38]
- add r0, #0x48
- strh r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
- .balign 4
-_02023D38: .word 0x0000FFFF
-
- thumb_func_start FUN_02023D3C
-FUN_02023D3C: ; 0x02023D3C
- push {r4, lr}
- add r4, r0, #0x0
- bl ZeroBoxMonData
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0xe8
- add r4, #0x88
- str r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_02023D08
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02023D58
-FUN_02023D58: ; 0x02023D58
- ldr r3, _02023D60 ; =SavArray_get
- mov r1, #0x8
- bx r3
- nop
-_02023D60: .word SavArray_get
-
- thumb_func_start FUN_02023D64
-FUN_02023D64: ; 0x02023D64
+ thumb_func_start Sav2_Pokedex_sizeof
+Sav2_Pokedex_sizeof: ; 0x02023D64
mov r0, #0x4f
lsl r0, r0, #0x2
bx lr
.balign 4
- thumb_func_start FUN_02023D6C
-FUN_02023D6C: ; 0x02023D6C
+ thumb_func_start Sav2_Pokedex_new
+Sav2_Pokedex_new: ; 0x02023D6C
push {r4, lr}
mov r1, #0x4f
lsl r1, r1, #0x2
bl AllocFromHeap
add r4, r0, #0x0
- bl FUN_02024378
+ bl Sav2_Pokedex_init
add r0, r4, #0x0
pop {r4, pc}
- thumb_func_start FUN_02023D80
-FUN_02023D80: ; 0x02023D80
+ thumb_func_start Sav2_Pokedex_Copy
+Sav2_Pokedex_Copy: ; 0x02023D80
ldr r3, _02023D88 ; =MI_CpuCopy8
mov r2, #0x4f
lsl r2, r2, #0x2
@@ -1071,8 +886,8 @@ _0202436E:
nop
_02024374: .word 0x000001EA
- thumb_func_start FUN_02024378
-FUN_02024378: ; 0x02024378
+ thumb_func_start Sav2_Pokedex_init
+Sav2_Pokedex_init: ; 0x02024378
push {r4, lr}
mov r2, #0x4f
mov r1, #0x0
@@ -1177,7 +992,7 @@ _0202443C: .word 0x000001ED
FUN_02024440: ; 0x02024440
push {r4, lr}
add r4, r0, #0x0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
cmp r0, #0x0
beq _02024454
add r0, r4, #0x0
@@ -2296,8 +2111,8 @@ _02024C78: .word 0xBEEFCAFE
_02024C7C: .word 0x000001ED
_02024C80: .word 0x00000147
- thumb_func_start FUN_02024C84
-FUN_02024C84: ; 0x02024C84
+ thumb_func_start Pokedex_SetNatDexFlag
+Pokedex_SetNatDexFlag: ; 0x02024C84
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
@@ -2314,8 +2129,8 @@ _02024C94:
_02024C9C: .word 0xBEEFCAFE
_02024CA0: .word 0x00000139
- thumb_func_start FUN_02024CA4
-FUN_02024CA4: ; 0x02024CA4
+ thumb_func_start Pokedex_GetNatDexFlag
+Pokedex_GetNatDexFlag: ; 0x02024CA4
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
diff --git a/arm9/asm/scrcmd.s b/arm9/asm/scrcmd.s
index 716c0f15..1cf7300d 100644
--- a/arm9/asm/scrcmd.s
+++ b/arm9/asm/scrcmd.s
@@ -10034,7 +10034,7 @@ FUN_0203E968: ; 0x0203E968
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
bl FUN_02024DA0
- bl FUN_02024C84
+ bl Pokedex_SetNatDexFlag
add r5, #0x80
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
@@ -10048,7 +10048,7 @@ _0203E9AE:
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl FUN_02024DA0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
strh r0, [r6, #0x0]
b _0203E9C8
_0203E9C4:
diff --git a/arm9/asm/scrcmd_16.s b/arm9/asm/scrcmd_16.s
index dba4514e..374d9ace 100644
--- a/arm9/asm/scrcmd_16.s
+++ b/arm9/asm/scrcmd_16.s
@@ -13,7 +13,7 @@ FUN_02043E00: ; 0x02043E00
bl FUN_02039438
add r4, r0, #0x0
add r0, r5, #0x0
- bl FUN_02023D58
+ bl Sav2_Daycare_get
ldr r1, [r4, #0x0]
bl MOD05_021ED4E0
mov r0, #0x0
@@ -306,7 +306,7 @@ FUN_02044034: ; 0x02044034
bl VarGet
add r4, r0, #0x0
add r0, r5, #0x0
- bl FUN_02023D58
+ bl Sav2_Daycare_get
lsl r1, r4, #0x18
lsr r1, r1, #0x18
str r1, [sp, #0x0]
diff --git a/arm9/asm/scrcmd_3.s b/arm9/asm/scrcmd_3.s
index 3de355ea..4d4d924c 100644
--- a/arm9/asm/scrcmd_3.s
+++ b/arm9/asm/scrcmd_3.s
@@ -145,7 +145,7 @@ FUN_0203FF10: ; 0x0203FF10
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
bl FUN_02024DA0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
add r1, sp, #0x14
strb r0, [r1, #0x4]
strb r6, [r1, #0x5]
diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s
index 60437a7d..bf857f21 100644
--- a/arm9/asm/unk_020476CC.s
+++ b/arm9/asm/unk_020476CC.s
@@ -111,7 +111,7 @@ _02047774:
lsl r1, r1, #0x2
str r0, [r7, r1]
add r0, r5, #0x0
- bl FUN_02023D6C
+ bl Sav2_Pokedex_new
mov r1, #0x11
lsl r1, r1, #0x4
str r0, [r7, r1]
@@ -508,7 +508,7 @@ FUN_02047A78: ; 0x02047A78
lsl r1, r1, #0x4
ldr r0, [sp, #0x4]
ldr r1, [r5, r1]
- bl FUN_02023D80
+ bl Sav2_Pokedex_Copy
mov r1, #0x13
lsl r1, r1, #0x4
ldr r0, [sp, #0xc]
@@ -707,7 +707,7 @@ _02047C98:
lsl r1, r1, #0x4
ldr r0, [sp, #0xc]
ldr r1, [r6, r1]
- bl FUN_02023D80
+ bl Sav2_Pokedex_Copy
mov r1, #0x13
lsl r1, r1, #0x4
ldr r0, [sp, #0x4]
@@ -891,7 +891,7 @@ _02047E2C:
lsl r1, r1, #0x4
ldr r0, [sp, #0x18]
ldr r1, [r5, r1]
- bl FUN_02023D80
+ bl Sav2_Pokedex_Copy
mov r1, #0x13
lsl r1, r1, #0x4
ldr r0, [sp, #0x10]
@@ -1042,7 +1042,7 @@ FUN_02047F38: ; 0x02047F38
lsl r0, r0, #0x4
ldr r0, [r4, r0]
ldr r1, [sp, #0x4]
- bl FUN_02023D80
+ bl Sav2_Pokedex_Copy
mov r0, #0x19
lsl r0, r0, #0x4
ldr r0, [r4, r0]
@@ -1067,7 +1067,7 @@ FUN_02047FA4: ; 0x02047FA4
mov r0, #0x11
lsl r0, r0, #0x4
ldr r0, [r4, r0]
- bl FUN_02023D80
+ bl Sav2_Pokedex_Copy
pop {r3-r5, pc}
thumb_func_start FUN_02047FD0
diff --git a/arm9/asm/unk_0205CE48.s b/arm9/asm/unk_0205CE48.s
index c42ef09c..aa8d85d5 100644
--- a/arm9/asm/unk_0205CE48.s
+++ b/arm9/asm/unk_0205CE48.s
@@ -1667,7 +1667,7 @@ _0205DB1A:
ldr r0, [r4, #0x18]
ldr r0, [r0, #0xc]
bl FUN_02024DA0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
cmp r0, #0x0
bne _0205DB30
mov r0, #0x0
diff --git a/arm9/asm/unk_0206BB28.s b/arm9/asm/unk_0206BB28.s
index 6416c65f..c460f6c3 100644
--- a/arm9/asm/unk_0206BB28.s
+++ b/arm9/asm/unk_0206BB28.s
@@ -13,7 +13,7 @@ FUN_0206BB28: ; 0x0206BB28
thumb_func_start FUN_0206BB34
FUN_0206BB34: ; 0x0206BB34
push {r3, lr}
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
cmp r0, #0x1
bne _0206BB42
mov r0, #0x1
diff --git a/arm9/global.inc b/arm9/global.inc
index 4ce9c8c0..4537bdc8 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -1517,8 +1517,8 @@
.extern FUN_02023BD4
.extern FUN_02023BE8
.extern FUN_02023C04
-.extern FUN_02023C40
-.extern FUN_02023C48
+.extern Sav2_Daycare_sizeof
+.extern Sav2_Daycare_init
.extern FUN_02023C74
.extern FUN_02023C7C
.extern FUN_02023C80
@@ -1533,11 +1533,11 @@
.extern FUN_02023CC8
.extern FUN_02023CF0
.extern FUN_02023D3C
-.extern FUN_02023D58
-.extern FUN_02023D64
-.extern FUN_02023D6C
-.extern FUN_02023D80
-.extern FUN_02024378
+.extern Sav2_Daycare_get
+.extern Sav2_Pokedex_sizeof
+.extern Sav2_Pokedex_new
+.extern Sav2_Pokedex_Copy
+.extern Sav2_Pokedex_init
.extern FUN_020243C8
.extern FUN_02024404
.extern FUN_02024440
@@ -1565,8 +1565,8 @@
.extern FUN_02024970
.extern FUN_0202498C
.extern FUN_02024AF0
-.extern FUN_02024C84
-.extern FUN_02024CA4
+.extern Pokedex_SetNatDexFlag
+.extern Pokedex_GetNatDexFlag
.extern FUN_02024CC4
.extern FUN_02024CE0
.extern FUN_02024D00
diff --git a/arm9/modules/05/asm/mod05_021D80E8.s b/arm9/modules/05/asm/mod05_021D80E8.s
index f1a29149..c5546619 100644
--- a/arm9/modules/05/asm/mod05_021D80E8.s
+++ b/arm9/modules/05/asm/mod05_021D80E8.s
@@ -1765,7 +1765,7 @@ MOD05_021D8F38: ; 0x021D8F38
bl SavArray_PlayerParty_get
add r5, r0, #0
ldr r0, [r4, #0xc]
- bl FUN_02023D58
+ bl Sav2_Daycare_get
add r1, r5, #0
add r2, r4, #0
bl MOD05_021ED378
diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s
index 01f04425..dd12992e 100644
--- a/arm9/modules/06/asm/module_06.s
+++ b/arm9/modules/06/asm/module_06.s
@@ -5044,7 +5044,7 @@ _0223BBDA:
add r0, r5, #0
bl ScriptEnvironment_GetSav2Ptr
bl FUN_02024DA0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
add r6, r0, #0
add r0, r4, #0
add r1, sp, #0x64
@@ -5481,7 +5481,7 @@ _0223BF7E:
add r0, r5, #0
bl ScriptEnvironment_GetSav2Ptr
bl FUN_02024DA0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
add r6, r0, #0
add r0, r4, #0
add r1, sp, #0x5c
@@ -5791,7 +5791,7 @@ _0223C222:
add r0, r5, #0
bl ScriptEnvironment_GetSav2Ptr
bl FUN_02024DA0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
add r6, r0, #0
ldr r0, [sp, #0x14]
add r1, sp, #0x5c
@@ -23654,7 +23654,7 @@ _02245098:
add r0, r5, #0
bl ScriptEnvironment_GetSav2Ptr
bl FUN_02024DA0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
add r6, r0, #0
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
diff --git a/arm9/modules/11/asm/module_11_thumb1.s b/arm9/modules/11/asm/module_11_thumb1.s
index 87056e2f..bbcb304d 100644
--- a/arm9/modules/11/asm/module_11_thumb1.s
+++ b/arm9/modules/11/asm/module_11_thumb1.s
@@ -1185,7 +1185,7 @@ _0222DFEC:
lsl r1, r1, #4
ldr r0, [r4, #0x60]
ldr r1, [r7, r1]
- bl FUN_02023D80
+ bl Sav2_Pokedex_Copy
ldr r0, [r4, #0x60]
bl FreeToHeap
mov r0, #0x45
@@ -1767,14 +1767,14 @@ _0222E532:
ldr r1, [r4, #0x58]
bl Sav2_Bag_copy
mov r0, #5
- bl FUN_02023D6C
+ bl Sav2_Pokedex_new
str r0, [r4, #0x60]
mov r1, #0x11
ldr r0, [sp, #4]
lsl r1, r1, #4
ldr r0, [r0, r1]
ldr r1, [r4, #0x60]
- bl FUN_02023D80
+ bl Sav2_Pokedex_Copy
mov r1, #0x45
lsl r1, r1, #2
ldr r0, [sp, #4]
diff --git a/arm9/modules/16/asm/module_16.s b/arm9/modules/16/asm/module_16.s
index 6b18fb65..14a64b6c 100644
--- a/arm9/modules/16/asm/module_16.s
+++ b/arm9/modules/16/asm/module_16.s
@@ -4573,7 +4573,7 @@ MOD16_021D9798: ; 0x021D9798
ldr r0, _021D9890 ; =0x00001744
str r1, [r5, r0]
ldr r0, [r5]
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
cmp r0, #0
beq _021D97C2
mov r1, #1
@@ -4955,11 +4955,11 @@ _021D9A50: .word FUN_02024970
thumb_func_start MOD16_021D9A54
MOD16_021D9A54: ; 0x021D9A54
- ldr r3, _021D9A5C ; =FUN_02024CA4
+ ldr r3, _021D9A5C ; =Pokedex_GetNatDexFlag
ldr r0, [r0]
bx r3
nop
-_021D9A5C: .word FUN_02024CA4
+_021D9A5C: .word Pokedex_GetNatDexFlag
thumb_func_end MOD16_021D9A54
thumb_func_start MOD16_021D9A60
diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s
index 09b24dc9..bf7fde6d 100644
--- a/arm9/modules/18/asm/module_18.s
+++ b/arm9/modules/18/asm/module_18.s
@@ -3028,7 +3028,7 @@ MOD18_0223AE88: ; 0x0223AE88
add r4, r0, #0
add r0, r6, #0
bl FUN_02024DA0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
mov r1, #0
cmp r0, #0
beq _0223AEB6
@@ -38229,7 +38229,7 @@ MOD18_0224C0AC: ; 0x0224C0AC
add r7, r0, #0
add r0, r5, #0
bl FUN_02024DA0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
str r0, [sp, #4]
add r0, r7, #0
bl FUN_02025D40
diff --git a/arm9/modules/23/asm/module_23.s b/arm9/modules/23/asm/module_23.s
index 56b78aaf..a7bb626a 100644
--- a/arm9/modules/23/asm/module_23.s
+++ b/arm9/modules/23/asm/module_23.s
@@ -1023,7 +1023,7 @@ MOD23_02254F94: ; 0x02254F94
bl MOD20_02252C40
bl FUN_02024DA0
add r5, r0, #0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
cmp r0, #0
beq _02254FCE
lsl r0, r4, #0x10
diff --git a/arm9/modules/35/asm/module_35.s b/arm9/modules/35/asm/module_35.s
index 7b347ca5..8892667e 100644
--- a/arm9/modules/35/asm/module_35.s
+++ b/arm9/modules/35/asm/module_35.s
@@ -48,7 +48,7 @@ MOD35_0225489C: ; 0x0225489C
add r0, r4, #0
add r6, r2, #0
bl MOD20_02252C40
- bl FUN_02023D58
+ bl Sav2_Daycare_get
str r0, [r5, #0x30]
ldr r1, [r5, #0x30]
add r0, r5, #4
diff --git a/arm9/modules/56/asm/module_56.s b/arm9/modules/56/asm/module_56.s
index f5670155..775315bc 100644
--- a/arm9/modules/56/asm/module_56.s
+++ b/arm9/modules/56/asm/module_56.s
@@ -2030,7 +2030,7 @@ _02212E82:
ldr r1, [r5, #4]
strb r0, [r1, #0x19]
ldr r0, [sp, #0x10]
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
ldr r1, [r5, #4]
strb r0, [r1, #0x1a]
ldr r1, [r5, #4]
diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s
index 28954019..196c959f 100644
--- a/arm9/modules/80/asm/module_80.s
+++ b/arm9/modules/80/asm/module_80.s
@@ -13746,7 +13746,7 @@ MOD80_022343DC: ; 0x022343DC
mov r6, #0
sub r7, r1, r0
add r0, r4, #0
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
str r0, [sp, #0x14]
ldr r0, _022344D8 ; =0x02237B50
ldrh r0, [r0, r5]
diff --git a/arm9/modules/83/asm/module_83.s b/arm9/modules/83/asm/module_83.s
index c21879dd..fec76301 100644
--- a/arm9/modules/83/asm/module_83.s
+++ b/arm9/modules/83/asm/module_83.s
@@ -144,7 +144,7 @@ _0222D6BE:
add r0, r4, #0
bl FUN_02016438
ldr r0, [r5, #8]
- bl FUN_02024CA4
+ bl Pokedex_GetNatDexFlag
cmp r0, #0
beq _0222D6E6
bl MOD83_02236EA8
diff --git a/arm9/src/save_arrays.c b/arm9/src/save_arrays.c
index 797539d2..201a313a 100644
--- a/arm9/src/save_arrays.c
+++ b/arm9/src/save_arrays.c
@@ -12,8 +12,8 @@
extern u32 FUN_0202AC20(void);
extern u32 FUN_02034D7C(void);
-extern u32 FUN_02023D64(void);
-extern u32 FUN_02023C40(void);
+extern u32 Sav2_Pokedex_sizeof(void);
+extern u32 Sav2_Daycare_sizeof(void);
extern u32 FUN_020254B8(void);
extern u32 FUN_02024E64(void);
extern u32 FUN_02034D80(void);
@@ -40,8 +40,8 @@ extern u32 FUN_0202C0E0(void);
extern u32 FUN_02013B28(void);
extern void FUN_0202AC28(void *);
extern void FUN_02034D98(void *);
-extern void FUN_02024378(void *);
-extern void FUN_02023C48(void *);
+extern void Sav2_Pokedex_init(void *);
+extern void Sav2_Daycare_init(void *);
extern void FUN_020254CC(void *);
extern void FUN_02024E6C(void *);
extern void FUN_02034D88(void *);
@@ -80,8 +80,8 @@ const struct SaveChunkHeader UNK_020EE700[] = {
{ 4, 0, (SAVSIZEFN)SavArray_Flags_sizeof, (SAVINITFN)SavArray_Flags_init },
{ 5, 0, (SAVSIZEFN)Sav2_Poketch_sizeof, (SAVINITFN)Sav2_Poketch_init },
{ 6, 0, (SAVSIZEFN)FUN_02034D7C, (SAVINITFN)FUN_02034D98 },
- { 7, 0, (SAVSIZEFN)FUN_02023D64, (SAVINITFN)FUN_02024378 },
- { 8, 0, (SAVSIZEFN)FUN_02023C40, (SAVINITFN)FUN_02023C48 },
+ { 7, 0, (SAVSIZEFN)Sav2_Pokedex_sizeof, (SAVINITFN)Sav2_Pokedex_init },
+ { 8, 0, (SAVSIZEFN)Sav2_Daycare_sizeof, (SAVINITFN)Sav2_Daycare_init },
{ 9, 0, (SAVSIZEFN)FUN_020254B8, (SAVINITFN)FUN_020254CC },
{ 10, 0, (SAVSIZEFN)FUN_02024E64, (SAVINITFN)FUN_02024E6C },
{ 11, 0, (SAVSIZEFN)FUN_02034D80, (SAVINITFN)FUN_02034D88 },