summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lsf2
-rw-r--r--arm9/asm/CARD_backup.s17
-rw-r--r--arm9/asm/CARD_common.s5
-rw-r--r--arm9/asm/CTRDG.s18
-rw-r--r--arm9/asm/WM_standard.s31
-rw-r--r--arm9/asm/save.s196
-rw-r--r--arm9/asm/scrcmd.s10
-rw-r--r--arm9/asm/scrcmd_12.s42
-rw-r--r--arm9/asm/scrcmd_18.s63
-rw-r--r--arm9/asm/scrcmd_19.s8
-rw-r--r--arm9/asm/scrcmd_22.s16
-rw-r--r--arm9/asm/scrcmd_7.s2
-rw-r--r--arm9/asm/scrcmd_9.s2
-rw-r--r--arm9/asm/unk_02001B80.s8
-rw-r--r--arm9/asm/unk_02011744.s36
-rw-r--r--arm9/asm/unk_02022504.s14
-rw-r--r--arm9/asm/unk_02034188.s2
-rw-r--r--arm9/asm/unk_02035068.s33
-rw-r--r--arm9/asm/unk_020377F0.s84
-rw-r--r--arm9/asm/unk_02038C78.s26
-rw-r--r--arm9/asm/unk_02047500.s2
-rw-r--r--arm9/asm/unk_020476CC.s22
-rw-r--r--arm9/asm/unk_020484A8.s6
-rw-r--r--arm9/asm/unk_0204A01C.s60
-rw-r--r--arm9/asm/unk_0204B34C.s4
-rw-r--r--arm9/asm/unk_02050E48.s2
-rw-r--r--arm9/asm/unk_0205CE48.s22
-rw-r--r--arm9/asm/unk_0205DD18.s4
-rw-r--r--arm9/asm/unk_0205FA2C.s2
-rw-r--r--arm9/asm/unk_02060CCC.s10
-rw-r--r--arm9/asm/unk_020625EC.s8
-rw-r--r--arm9/asm/unk_020653EC.s28
-rw-r--r--arm9/asm/unk_0206ABC4.s4
-rw-r--r--arm9/asm/unk_0206C700.s6
-rw-r--r--arm9/asm/unk_0206E2F0.s16
-rw-r--r--arm9/asm/unk_0206EB80.s962
-rw-r--r--arm9/asm/unk_0206F3FC.s14
-rw-r--r--arm9/asm/unk_02072548.s6
-rw-r--r--arm9/asm/unk_02073DA8.s38
-rw-r--r--arm9/asm/unk_0207550C.s16
-rw-r--r--arm9/asm/unk_020859C0.s2
-rw-r--r--arm9/asm/unk_02086414.s6
-rw-r--r--arm9/asm/unk_02087D00.s2
-rw-r--r--arm9/asm/unk_0208890C.s2
-rw-r--r--arm9/asm/unk_02088AAC.s8
-rw-r--r--arm9/asm/unk_02089D90.s2
-rw-r--r--arm9/asm/unk_02089F24.s5
-rw-r--r--arm9/asm/unk_0208A998.s4
-rw-r--r--arm9/global.inc114
-rw-r--r--arm9/lib/include/MI_memory.h7
-rw-r--r--arm9/modules/05/asm/mod05_021D80E8.s8
-rw-r--r--arm9/modules/05/asm/mod05_021E1374.s4
-rw-r--r--arm9/modules/05/asm/module_05.s20
-rw-r--r--arm9/modules/06/asm/module_06.s76
-rw-r--r--arm9/modules/09/asm/module_09.s8
-rw-r--r--arm9/modules/11/asm/module_11_thumb1.s6
-rw-r--r--arm9/modules/11/asm/module_11_thumb2.s4
-rw-r--r--arm9/modules/14/asm/module_14.s16
-rw-r--r--arm9/modules/18/asm/module_18.s130
-rw-r--r--arm9/modules/55/asm/module_55.s10
-rw-r--r--arm9/modules/56/asm/module_56.s42
-rw-r--r--arm9/modules/59/asm/module_59.s6
-rw-r--r--arm9/modules/62/asm/module_62.s6
-rw-r--r--arm9/modules/65/asm/module_65.s14
-rw-r--r--arm9/modules/71/asm/module_71.s36
-rw-r--r--arm9/modules/73/asm/module_73.s2
-rw-r--r--arm9/modules/75/asm/module_75.s66
-rw-r--r--arm9/modules/76/asm/module_76.s8
-rw-r--r--arm9/modules/77/asm/module_77.s10
-rw-r--r--arm9/modules/80/asm/module_80.s90
-rw-r--r--arm9/modules/83/asm/module_83.s1206
-rw-r--r--arm9/src/bag.c463
-rw-r--r--arm9/src/main.c24
-rw-r--r--arm9/src/pokemon.c10
-rw-r--r--arm9/src/sound.c2
-rw-r--r--include/bag.h79
-rw-r--r--include/constants/items.h9
-rw-r--r--include/main.h2
-rw-r--r--include/pokemon.h2
-rw-r--r--include/save_block_2.h30
-rw-r--r--include/sound.h4
81 files changed, 2165 insertions, 2227 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 2265303b..297c54fe 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -257,7 +257,7 @@ Static arm9
Object unk_0206E0F0.o
Object unk_0206E2F0.o
Object itemtool.o
- Object unk_0206EB80.o
+ Object bag.o
Object unk_0206F1F0.o
Object unk_0206F3FC.o
Object unk_02072548.o
diff --git a/arm9/asm/CARD_backup.s b/arm9/asm/CARD_backup.s
index ddbb5c63..32e6bc2a 100644
--- a/arm9/asm/CARD_backup.s
+++ b/arm9/asm/CARD_backup.s
@@ -24,10 +24,10 @@ _020D6DA8: .word cardi_common
arm_func_start CARD_TryWaitBackupAsync
CARD_TryWaitBackupAsync: ; 0x020D6DAC
- ldr ip, _020D6DB4 ; =FUN_020D6714
+ ldr ip, _020D6DB4 ; =CARDi_TryWaitAsync
bx r12
.balign 4
-_020D6DB4: .word FUN_020D6714
+_020D6DB4: .word CARDi_TryWaitAsync
arm_func_start CARD_WaitBackupAsync
CARD_WaitBackupAsync: ; 0x020D6DB8
@@ -250,14 +250,11 @@ _020D7094:
cmp r7, #0x3
addls pc, pc, r7, lsl #0x2
b _020D7124
-_020D70A0:
- b _020D70B0
-_020D70A4:
- b _020D70D4
-_020D70A8:
- b _020D70D4
-_020D70AC:
- b _020D710C
+ ; jump table
+ b _020D70B0 ; case 0
+ b _020D70D4 ; case 1
+ b _020D70D4 ; case 2
+ b _020D710C ; case 3
_020D70B0:
mov r1, r5
add r0, r9, #0x120
diff --git a/arm9/asm/CARD_common.s b/arm9/asm/CARD_common.s
index 37c24188..42bce178 100644
--- a/arm9/asm/CARD_common.s
+++ b/arm9/asm/CARD_common.s
@@ -68,9 +68,8 @@ CARD_GetResultCode: ; 0x020D6700
.balign 4
_020D6710: .word cardi_common
-;CARDi_TryWaitAsync?
- arm_func_start FUN_020D6714
-FUN_020D6714: ; 0x020D6714
+ arm_func_start CARDi_TryWaitAsync
+CARDi_TryWaitAsync: ; 0x020D6714
ldr r0, _020D672C ; =cardi_common
ldr r0, [r0, #0x114]
ands r0, r0, #0x4
diff --git a/arm9/asm/CTRDG.s b/arm9/asm/CTRDG.s
index 3cc4dadd..dc60582b 100644
--- a/arm9/asm/CTRDG.s
+++ b/arm9/asm/CTRDG.s
@@ -18,13 +18,11 @@ CTRDG_CheckEnabled:
stmdb sp!, {lr}
sub sp, sp, #0x4
bl CTRDG_IsOptionCartridge
-_020DB128: ; 0x020DB128
cmp r0, #0x0
addne sp, sp, #0x4
ldmneia sp!, {lr}
bxne lr
bl CTRDG_IsEnabled
-_020DB13C: ; 0x020DB13C
cmp r0, #0x0
addne sp, sp, #0x4
ldmneia sp!, {lr}
@@ -44,7 +42,6 @@ CTRDG_Enable: ; 0x020DB15C
mov r4, r0
str r5, [r1, #0x0]
bl CTRDG_IsOptionCartridge
-_020DB17C: ; 0x020DB17C
cmp r0, #0x0
bne _020DB198
cmp r5, #0x0
@@ -78,7 +75,6 @@ CTRDGi_AccessCommon: ; 0x020DB1C0
mov r5, r2
mov r4, r3
bl CTRDG_IsExisting
-_020DB1DC: ; 0x020DB1DC
cmp r0, #0x0
addeq sp, sp, #0x4
moveq r0, #0x0
@@ -137,7 +133,6 @@ _020DB294:
ldrh r0, [r0, #0x2]
bl OS_UnLockCartridge
bl CTRDG_IsExisting
-_020DB2A4: ; 0x020DB2A4
cmp r0, #0x0
movne r0, #0x1
moveq r0, #0x0
@@ -166,7 +161,6 @@ CTRDGi_CopyCommon: ; 0x020DB2D8
mov r5, r2
mov r4, r3
bl CTRDG_IsExisting
-_020DB2F4: ; 0x020DB2F4
cmp r0, #0x0
addeq sp, sp, #0x4
moveq r0, #0x0
@@ -250,7 +244,6 @@ _020DB404:
ldrh r0, [r0, #0x2]
bl OS_UnLockCartridge
bl CTRDG_IsExisting
-_020DB414: ; 0x020DB414
cmp r0, #0x0
movne r0, #0x1
moveq r0, #0x0
@@ -333,7 +326,6 @@ CTRDGi_SendtoPxi: ; 0x020DB504
mov r0, #0xd
mov r2, #0x0
bl PXI_SendWordByFifo
-_020DB520: ; 0x020DB520
cmp r0, #0x0
addeq sp, sp, #0x4
ldmeqia sp!, {r4-r7,lr}
@@ -348,7 +340,6 @@ _020DB53C:
mov r1, r7
mov r2, r4
bl PXI_SendWordByFifo
-_020DB554: ; 0x020DB554
cmp r0, #0x0
bne _020DB53C
add sp, sp, #0x4
@@ -391,7 +382,6 @@ _020DB5A8:
bxne lr
mov r0, r7
bl OS_TryLockCartridge
-_020DB5DC: ; 0x020DB5DC
cmp r0, #0x0
addeq sp, sp, #0x4
ldmeqia sp!, {r4-r7,lr}
@@ -560,7 +550,6 @@ CTRDGi_GetAgbMakerCodeAtInit: ; 0x020DB808
stmdb sp!, {r4,lr}
mov r4, #0x0
bl CTRDGi_IsAgbCartridgeAtInit
-_020DB814: ; 0x020DB814
cmp r0, #0x0
ldrne r0, _020DB82C ; =0x027FFC30
ldrneh r4, [r0, #0x6]
@@ -575,7 +564,6 @@ CTRDG_GetAgbMakerCode: ; 0x020DB830
stmdb sp!, {r4,lr}
mov r4, #0x0
bl CTRDG_IsExisting
-_020DB83C: ; 0x020DB83C
cmp r0, #0x0
beq _020DB84C
bl CTRDGi_GetAgbMakerCodeAtInit
@@ -590,7 +578,6 @@ CTRDGi_GetAgbGameCodeAtInit: ; 0x020DB858
stmdb sp!, {r4,lr}
mov r4, #0x0
bl CTRDGi_IsAgbCartridgeAtInit
-_020DB864: ; 0x020DB864
cmp r0, #0x0
ldrne r0, _020DB87C ; =0x027FFC30
ldrne r4, [r0, #0x8]
@@ -605,7 +592,6 @@ CTRDG_GetAgbGameCode: ; 0x020DB880
stmdb sp!, {r4,lr}
mov r4, #0x0
bl CTRDG_IsExisting
-_020DB88C: ; 0x020DB88C
cmp r0, #0x0
beq _020DB89C
bl CTRDGi_GetAgbGameCodeAtInit
@@ -630,11 +616,9 @@ CTRDG_IsOptionCartridge:
stmdb sp!, {lr}
sub sp, sp, #0x4
bl CTRDG_IsExisting
-_020DB8CC: ; 0x020DB8CC
cmp r0, #0x0
beq _020DB8EC
bl CTRDGi_IsAgbCartridgeAtInit
-_020DB8D8: ; 0x020DB8D8
cmp r0, #0x0
addeq sp, sp, #0x4
moveq r0, #0x1
@@ -651,11 +635,9 @@ CTRDG_IsAgbCartridge: ; 0x020DB8FC
stmdb sp!, {lr}
sub sp, sp, #0x4
bl CTRDG_IsExisting
-_020DB908: ; 0x020DB908
cmp r0, #0x0
beq _020DB928
bl CTRDGi_IsAgbCartridgeAtInit
-_020DB914: ; 0x020DB914
cmp r0, #0x0
addne sp, sp, #0x4
movne r0, #0x1
diff --git a/arm9/asm/WM_standard.s b/arm9/asm/WM_standard.s
index fe00e8fa..5d7e8db9 100644
--- a/arm9/asm/WM_standard.s
+++ b/arm9/asm/WM_standard.s
@@ -20,7 +20,6 @@ WM_Disconnect: ; 0x020D9060
mov r3, #0x8
str r12, [sp, #0x4]
bl WMi_CheckStateEx
-_020D909C: ; 0x020D909C
cmp r0, #0x0
addne sp, sp, #0x8
ldmneia sp!, {r4-r6,lr}
@@ -71,7 +70,6 @@ _020D9134:
mov r2, r1, lsl r5
mov r0, #0xd
bl WMi_SendCommand
-_020D9150: ; 0x020D9150
cmp r0, #0x0
moveq r0, #0x2
add sp, sp, #0x8
@@ -91,7 +89,6 @@ WM_StartConnectEx: ; 0x020D9168
mov r5, r2
mov r4, r3
bl WMi_CheckStateEx
-_020D918C: ; 0x020D918C
cmp r0, #0x0
addne sp, sp, #0x2c
ldmneia sp!, {r4-r7,lr}
@@ -135,7 +132,6 @@ _020D9218:
str r4, [sp, #0x20]
strh r2, [sp, #0x26]
bl WMi_SendCommandDirect
-_020D9230: ; 0x020D9230
cmp r0, #0x0
moveq r0, #0x2
add sp, sp, #0x2c
@@ -149,7 +145,6 @@ WM_EndScan: ; 0x020D9244
mov r0, #0x1
mov r1, #0x5
bl WMi_CheckStateEx
-_020D9258: ; 0x020D9258
cmp r0, #0x0
ldmneia sp!, {r4,lr}
bxne lr
@@ -159,7 +154,6 @@ _020D9258: ; 0x020D9258
mov r0, #0xb
mov r1, #0x0
bl WMi_SendCommand
-_020D927C: ; 0x020D927C
cmp r0, #0x0
moveq r0, #0x2
ldmia sp!, {r4,lr}
@@ -176,7 +170,6 @@ WM_StartScanEx: ; 0x020D928C
mov r1, #0x2
mov r3, #0x5
bl WMi_CheckStateEx
-_020D92B0: ; 0x020D92B0
cmp r0, #0x0
addne sp, sp, #0x3c
ldmneia sp!, {r4-r5,lr}
@@ -257,11 +250,9 @@ _020D937C:
ldrh r3, [r4, #0x12]
strh r3, [sp, #0x14]
bl MI_CpuCopy8
-_020D93E8: ; 0x020D93E8
add r0, sp, #0x0
mov r1, #0x3c
bl WMi_SendCommandDirect
-_020D93F4: ; 0x020D93F4
cmp r0, #0x0
moveq r0, #0x2
add sp, sp, #0x3c
@@ -281,7 +272,6 @@ WM_StartScan: ; 0x020D940C
mov r1, #0x2
mov r3, #0x5
bl WMi_CheckStateEx
-_020D9430: ; 0x020D9430
cmp r0, #0x0
addne sp, sp, #0x14
ldmneia sp!, {r4-r5,lr}
@@ -334,7 +324,6 @@ _020D9490:
ldrb r2, [r4, #0xd]
strb r2, [sp, #0xf]
bl WMi_SendCommandDirect
-_020D94F8: ; 0x020D94F8
cmp r0, #0x0
moveq r0, #0x2
add sp, sp, #0x14
@@ -348,7 +337,6 @@ WM_EndParent: ; 0x020D950C
mov r0, #0x1
mov r1, #0x7
bl WMi_CheckStateEx
-_020D9520: ; 0x020D9520
cmp r0, #0x0
ldmneia sp!, {r4,lr}
bxne lr
@@ -358,7 +346,6 @@ _020D9520: ; 0x020D9520
mov r0, #0x9
mov r1, #0x0
bl WMi_SendCommand
-_020D9544: ; 0x020D9544
cmp r0, #0x0
moveq r0, #0x2
ldmia sp!, {r4,lr}
@@ -381,7 +368,6 @@ WMi_StartParentEx: ; 0x020D9564
mov r0, #0x1
mov r1, #0x2
bl WMi_CheckStateEx
-_020D9580: ; 0x020D9580
cmp r0, #0x0
addne sp, sp, #0x4
ldmneia sp!, {r4-r5,lr}
@@ -398,7 +384,6 @@ _020D9580: ; 0x020D9580
mov r0, #0x8
mov r1, #0x1
bl WMi_SendCommand
-_020D95C0: ; 0x020D95C0
cmp r0, #0x0
moveq r0, #0x2
add sp, sp, #0x4
@@ -441,7 +426,6 @@ WM_SetParentParameter: ; 0x020D9624
mov r0, #0x1
mov r1, #0x2
bl WMi_CheckStateEx
-_020D9640: ; 0x020D9640
cmp r0, #0x0
addne sp, sp, #0x4
ldmneia sp!, {r4-r5,lr}
@@ -500,7 +484,6 @@ _020D9708:
mov r0, #0x7
mov r1, #0x1
bl WMi_SendCommand
-_020D9718: ; 0x020D9718
cmp r0, #0x0
moveq r0, #0x2
add sp, sp, #0x4
@@ -514,7 +497,6 @@ WM_End: ; 0x020D972C
mov r0, #0x1
mov r1, #0x2
bl WMi_CheckStateEx
-_020D9740: ; 0x020D9740
cmp r0, #0x0
ldmneia sp!, {r4,lr}
bxne lr
@@ -524,7 +506,6 @@ _020D9740: ; 0x020D9740
mov r0, #0x2
mov r1, #0x0
bl WMi_SendCommand
-_020D9764: ; 0x020D9764
cmp r0, #0x0
moveq r0, #0x2
ldmia sp!, {r4,lr}
@@ -535,7 +516,6 @@ WM_Reset: ; 0x020D9774
stmdb sp!, {r4,lr}
mov r4, r0
bl WMi_CheckIdle
-_020D9780: ; 0x020D9780
cmp r0, #0x0
ldmneia sp!, {r4,lr}
bxne lr
@@ -545,7 +525,6 @@ _020D9780: ; 0x020D9780
mov r0, #0x1
mov r1, #0x0
bl WMi_SendCommand
-_020D97A4: ; 0x020D97A4
cmp r0, #0x0
moveq r0, #0x2
ldmia sp!, {r4,lr}
@@ -558,7 +537,6 @@ WM_Initialize: ; 0x020D97B4
mov r4, r1
mov r1, r2
bl WM_Init
-_020D97C8: ; 0x020D97C8
cmp r0, #0x0
addne sp, sp, #0x8
ldmneia sp!, {r4,lr}
@@ -575,7 +553,6 @@ _020D97C8: ; 0x020D97C8
ldr r3, [r3, #0x4]
mov r1, #0x3
bl WMi_SendCommand
-_020D9808: ; 0x020D9808
cmp r0, #0x0
moveq r0, #0x2
add sp, sp, #0x8
@@ -589,7 +566,6 @@ WM_PowerOff: ; 0x020D981C
mov r0, #0x1
mov r1, #0x2
bl WMi_CheckStateEx
-_020D9830: ; 0x020D9830
cmp r0, #0x0
ldmneia sp!, {r4,lr}
bxne lr
@@ -599,7 +575,6 @@ _020D9830: ; 0x020D9830
mov r0, #0x6
mov r1, #0x0
bl WMi_SendCommand
-_020D9854: ; 0x020D9854
cmp r0, #0x0
moveq r0, #0x2
ldmia sp!, {r4,lr}
@@ -612,7 +587,6 @@ WM_PowerOn: ; 0x020D9864
mov r0, #0x1
mov r1, r0
bl WMi_CheckStateEx
-_020D9878: ; 0x020D9878
cmp r0, #0x0
ldmneia sp!, {r4,lr}
bxne lr
@@ -622,7 +596,6 @@ _020D9878: ; 0x020D9878
mov r0, #0x5
mov r1, #0x0
bl WMi_SendCommand
-_020D989C: ; 0x020D989C
cmp r0, #0x0
moveq r0, #0x2
ldmia sp!, {r4,lr}
@@ -635,7 +608,6 @@ WM_Disable: ; 0x020D98AC
mov r0, #0x1
mov r1, r0
bl WMi_CheckStateEx
-_020D98C0: ; 0x020D98C0
cmp r0, #0x0
ldmneia sp!, {r4,lr}
bxne lr
@@ -645,7 +617,6 @@ _020D98C0: ; 0x020D98C0
mov r0, #0x4
mov r1, #0x0
bl WMi_SendCommand
-_020D98E4: ; 0x020D98E4
cmp r0, #0x0
moveq r0, #0x2
ldmia sp!, {r4,lr}
@@ -659,7 +630,6 @@ WM_Enable: ; 0x020D98F4
mov r0, #0x1
mov r1, #0x0
bl WMi_CheckStateEx
-_020D990C: ; 0x020D990C
cmp r0, #0x0
addne sp, sp, #0x8
ldmneia sp!, {r4,lr}
@@ -676,7 +646,6 @@ _020D990C: ; 0x020D990C
ldr r3, [r3, #0x4]
mov r1, r0
bl WMi_SendCommand
-_020D994C: ; 0x020D994C
cmp r0, #0x0
moveq r0, #0x2
add sp, sp, #0x8
diff --git a/arm9/asm/save.s b/arm9/asm/save.s
index 4278bd36..b825978e 100644
--- a/arm9/asm/save.s
+++ b/arm9/asm/save.s
@@ -21,7 +21,7 @@ UNK_020EE700: ; 0x020EE700
.word 0x00, 0x00, FUN_0202376C, FUN_02023770
.word 0x01, 0x00, Sav2_PlayerData_sizeof, Sav2_PlayerData_init
.word 0x02, 0x00, SavArray_Party_sizeof, SavArray_Party_init
- .word 0x03, 0x00, FUN_0206EB80, FUN_0206EBA0
+ .word 0x03, 0x00, Sav2_Bag_sizeof, Sav2_Bag_init
.word 0x04, 0x00, SavArray_Flags_sizeof, SavArray_Flags_init
.word 0x05, 0x00, FUN_0204BE14, FUN_0204BE18
.word 0x06, 0x00, FUN_02034D7C, FUN_02034D98
@@ -63,8 +63,8 @@ UNK_021C59C8: ; 0x021C59C8
.text
- thumb_func_start FUN_0202254C
-FUN_0202254C: ; 0x0202254C
+ thumb_func_start SaveBlock2_new
+SaveBlock2_new: ; 0x0202254C
push {r4, lr}
ldr r1, _020225E0 ; =0x000204A8
mov r0, #0x1
@@ -76,7 +76,7 @@ FUN_0202254C: ; 0x0202254C
bl MIi_CpuClearFast
ldr r0, _020225E4 ; =UNK_021C59C8
str r4, [r0, #0x0]
- bl FUN_02023570
+ bl SaveDetectFlash
str r0, [r4, #0x0]
mov r0, #0x0
str r0, [r4, #0x4]
@@ -89,7 +89,7 @@ FUN_0202254C: ; 0x0202254C
bl MATHi_CRC16InitTable
ldr r0, _020225EC ; =0x00020224
add r0, r4, r0
- bl FUN_020230E4
+ bl SaveBlock2_InitSubstructs
ldr r0, _020225F0 ; =0x00020464
ldr r1, _020225EC ; =0x00020224
add r0, r4, r0
@@ -207,7 +207,7 @@ _02022660:
_02022662:
ldr r0, [sp, #0x0]
mov r1, #0x0
- bl FUN_02023074
+ bl FlashClobberChunkFooter
ldr r1, _020226F8 ; =0x00020221
ldr r0, [sp, #0x0]
ldrb r0, [r0, r1]
@@ -220,19 +220,19 @@ _02022678:
_0202267A:
ldr r0, [sp, #0x0]
mov r1, #0x1
- bl FUN_02023074
+ bl FlashClobberChunkFooter
ldr r0, [sp, #0x0]
ldr r3, _020226F4 ; =0x00020220
add r2, r0, #0x0
ldrb r2, [r2, r3]
mov r1, #0x0
- bl FUN_02023074
+ bl FlashClobberChunkFooter
ldr r0, [sp, #0x0]
ldr r3, _020226F8 ; =0x00020221
add r2, r0, #0x0
ldrb r2, [r2, r3]
mov r1, #0x1
- bl FUN_02023074
+ bl FlashClobberChunkFooter
mov r0, #0x0
mov r2, #0x1
mvn r0, r0
@@ -247,13 +247,13 @@ _020226B4:
add r0, r5, #0x0
add r1, r6, #0x0
add r2, r7, #0x0
- bl FUN_020235D0
+ bl FlashWriteChunk
add r0, r4, #0x0
add r0, #0x40
lsl r0, r0, #0xc
add r1, r6, #0x0
add r2, r7, #0x0
- bl FUN_020235D0
+ bl FlashWriteChunk
mov r0, #0x1
lsl r0, r0, #0xc
add r4, r4, #0x1
@@ -323,7 +323,7 @@ _02022746:
_02022748:
add r0, r4, #0x0
mov r1, #0x0
- bl FUN_02023074
+ bl FlashClobberChunkFooter
ldr r0, _0202279C ; =0x00020221
ldrb r0, [r4, r0]
cmp r0, #0x0
@@ -335,17 +335,17 @@ _0202275C:
_0202275E:
add r0, r4, #0x0
mov r1, #0x1
- bl FUN_02023074
+ bl FlashClobberChunkFooter
ldr r2, _02022798 ; =0x00020220
add r0, r4, #0x0
ldrb r2, [r4, r2]
mov r1, #0x0
- bl FUN_02023074
+ bl FlashClobberChunkFooter
ldr r2, _0202279C ; =0x00020221
add r0, r4, #0x0
ldrb r2, [r4, r2]
mov r1, #0x1
- bl FUN_02023074
+ bl FlashClobberChunkFooter
mov r0, #0x1
bl FUN_02016454
_02022784:
@@ -526,8 +526,8 @@ FUN_02022898: ; 0x02022898
.balign 4
_020228A0: .word MATH_CalcCRC16CCITT
- thumb_func_start FUN_020228A4
-FUN_020228A4: ; 0x020228A4
+ thumb_func_start GetChunkOffsetFromCurrentSaveSlot
+GetChunkOffsetFromCurrentSaveSlot: ; 0x020228A4
cmp r0, #0x0
bne _020228AC
mov r2, #0x0
@@ -857,7 +857,7 @@ FUN_02022AD8: ; 0x02022AD8
mov r0, #0x0
add r1, r6, #0x0
lsl r2, r2, #0x10
- bl FUN_020235EC
+ bl FlashLoadChunk
cmp r0, #0x0
add r0, sp, #0x2c
beq _02022B20
@@ -880,7 +880,7 @@ _02022B2A:
lsl r0, r0, #0x12
add r1, r4, #0x0
lsr r2, r0, #0x1
- bl FUN_020235EC
+ bl FlashLoadChunk
cmp r0, #0x0
add r0, sp, #0x38
beq _02022B54
@@ -1105,30 +1105,31 @@ FUN_02022CF0: ; 0x02022CF0
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r2, #0x0
- bl FUN_020228A4
+ bl GetChunkOffsetFromCurrentSaveSlot
ldr r1, [r5, #0x4]
ldr r2, [r5, #0x8]
add r1, r4, r1
- bl FUN_020235EC
+ bl FlashLoadChunk
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_02022D08
FUN_02022D08: ; 0x02022D08
+ ; BOOL FUN_02022D08(struct SaveBlock2 * sav2) {
push {r3-r7, lr}
add r5, r0, #0x0
- ldr r0, _02022D4C ; =0x00020464
- mov r7, #0x85
+ ldr r0, _02022D4C ; =0x00020464 ; unk_20464
+ mov r7, #0x85 ; dynamic_region
mov r4, #0x0
add r6, r5, r0
- lsl r7, r7, #0x2
-_02022D16:
- ldr r0, _02022D50 ; =0x00020220
+ lsl r7, r7, #0x2 ; dynamic_region
+_02022D16: ; for (int i = 0; i < 2; i++) {
+ ldr r0, _02022D50 ; =0x00020220 ; unk_20220
add r1, r5, r4
ldrb r0, [r1, r0]
add r1, r6, #0x0
add r2, r5, r7
- bl FUN_02022CF0
+ bl FUN_02022CF0 ; if (!FUN_02022CF0(sav2->unk_20220[i], &sav2->unk_20464[i], sav2->dynamic_region)) return FALSE;
cmp r0, #0x0
bne _02022D2C
mov r0, #0x0
@@ -1137,7 +1138,7 @@ _02022D2C:
add r0, r5, #0x0
add r1, r5, r7
add r2, r4, #0x0
- bl FUN_020228E0
+ bl FUN_020228E0 ; if (!FUN_020228E0(sav2, sav2->dynamic_region, i)) return FALSE;
cmp r0, #0x0
bne _02022D3E
mov r0, #0x0
@@ -1146,8 +1147,8 @@ _02022D3E:
add r4, r4, #0x1
add r6, #0xc
cmp r4, #0x2
- blt _02022D16
- mov r0, #0x1
+ blt _02022D16 ; }
+ mov r0, #0x1 ; return TRUE; }
pop {r3-r7, pc}
nop
_02022D4C: .word 0x00020464
@@ -1171,7 +1172,7 @@ FUN_02022D54: ; 0x02022D54
bl FUN_02022968
add r0, r6, #0x0
add r1, r4, #0x0
- bl FUN_020228A4
+ bl GetChunkOffsetFromCurrentSaveSlot
mov r1, #0x85
lsl r1, r1, #0x2
add r2, r5, r1
@@ -1179,7 +1180,7 @@ FUN_02022D54: ; 0x02022D54
add r1, r2, r1
ldr r2, [r4, #0x8]
sub r2, #0x14
- bl FUN_02023668
+ bl FlashWriteChunkInternal
pop {r4-r6, pc}
nop
_02022D90: .word 0x00020464
@@ -1196,7 +1197,7 @@ FUN_02022D94: ; 0x02022D94
add r0, r2, #0x0
add r1, r4, #0x0
ldr r5, [r4, #0x8]
- bl FUN_020228A4
+ bl GetChunkOffsetFromCurrentSaveSlot
mov r1, #0x2
lsl r1, r1, #0x8
add r2, r6, r1
@@ -1206,7 +1207,7 @@ FUN_02022D94: ; 0x02022D94
sub r0, #0x14
add r1, r1, r5
mov r2, #0x14
- bl FUN_02023668
+ bl FlashWriteChunkInternal
pop {r4-r6, pc}
.balign 4
_02022DC4: .word 0x00020464
@@ -1223,7 +1224,7 @@ FUN_02022DC8: ; 0x02022DC8
add r0, r2, #0x0
add r1, r4, #0x0
ldr r5, [r4, #0x8]
- bl FUN_020228A4
+ bl GetChunkOffsetFromCurrentSaveSlot
mov r1, #0x82
lsl r1, r1, #0x2
add r2, r6, r1
@@ -1233,7 +1234,7 @@ FUN_02022DC8: ; 0x02022DC8
sub r0, #0xc
add r1, r1, r5
mov r2, #0x8
- bl FUN_02023668
+ bl FlashWriteChunkInternal
pop {r4-r6, pc}
.balign 4
_02022DF8: .word 0x00020464
@@ -1348,7 +1349,7 @@ _02022EAE:
_02022EC0:
ldr r0, [r4, #0x10]
add r1, sp, #0x0
- bl FUN_020236E4
+ bl WaitFlashWrite
cmp r0, #0x0
beq _02022F78
ldr r0, [sp, #0x0]
@@ -1383,7 +1384,7 @@ _02022EEE:
_02022F00:
ldr r0, [r4, #0x10]
add r1, sp, #0x0
- bl FUN_020236E4
+ bl WaitFlashWrite
cmp r0, #0x0
beq _02022F78
ldr r0, [sp, #0x0]
@@ -1425,7 +1426,7 @@ _02022F3C:
_02022F4E:
ldr r0, [r4, #0x10]
add r1, sp, #0x0
- bl FUN_020236E4
+ bl WaitFlashWrite
cmp r0, #0x0
beq _02022F78
ldr r0, [sp, #0x0]
@@ -1581,8 +1582,8 @@ _02023054:
add sp, #0x24
pop {r3-r6, pc}
- thumb_func_start FUN_02023074
-FUN_02023074: ; 0x02023074
+ thumb_func_start FlashClobberChunkFooter
+FlashClobberChunkFooter: ; 0x02023074
push {r4-r5, lr}
sub sp, #0x14
add r4, r2, #0x0
@@ -1597,13 +1598,13 @@ FUN_02023074: ; 0x02023074
bl MI_CpuFill8
add r0, r4, #0x0
add r1, r5, #0x0
- bl FUN_020228A4
+ bl GetChunkOffsetFromCurrentSaveSlot
ldr r1, [r5, #0x8]
mov r2, #0x14
add r0, r1, r0
sub r0, #0x14
add r1, sp, #0x0
- bl FUN_020235D0
+ bl FlashWriteChunk
add sp, #0x14
pop {r4-r5, pc}
.balign 4
@@ -1638,8 +1639,8 @@ _020230BE:
_020230DC: .word UNK_020EE6DC
_020230E0: .word UNK_020EE700
- thumb_func_start FUN_020230E4
-FUN_020230E4: ; 0x020230E4
+ thumb_func_start SaveBlock2_InitSubstructs
+SaveBlock2_InitSubstructs: ; 0x020230E4
push {r3-r7, lr}
sub sp, #0x8
add r5, r0, #0x0
@@ -1829,8 +1830,9 @@ _0202323A:
_02023240: .word UNK_020EE700
_02023244: .word UNK_020EE6DC
- thumb_func_start FUN_02023248
-FUN_02023248: ; 0x02023248
+ thumb_func_start CreateChunkFooter
+CreateChunkFooter: ; 0x02023248
+ ; void CreateChunkFooter(struct SaveBlock2 * sav2, void * data, u16 id, u32 size)
push {r3-r5, lr}
ldr r5, _0202326C ; =0x20060623
add r4, r1, r3
@@ -1851,8 +1853,8 @@ FUN_02023248: ; 0x02023248
_0202326C: .word 0x20060623
_02023270: .word 0x000204A4
- thumb_func_start FUN_02023274
-FUN_02023274: ; 0x02023274
+ thumb_func_start ValidateChunk
+ValidateChunk: ; 0x02023274
push {r4-r6, lr}
ldr r6, [r1, r3]
ldr r5, _020232B0 ; =0x20060623
@@ -1896,8 +1898,8 @@ FUN_020232B4: ; 0x020232B4
bx lr
.balign 4
- thumb_func_start FUN_020232BC
-FUN_020232BC: ; 0x020232BC
+ thumb_func_start WriteSaveFileToFlash
+WriteSaveFileToFlash: ; 0x020232BC
push {r3-r7, lr}
sub sp, #0x8
add r7, r0, #0x0
@@ -1934,12 +1936,12 @@ _020232E8:
add r0, r7, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
- bl FUN_02023248
+ bl CreateChunkFooter
ldr r0, [r4, #0x4]
ldr r2, [sp, #0x4]
lsl r0, r0, #0xc
add r1, r6, #0x0
- bl FUN_020235D0
+ bl FlashWriteChunk
str r0, [sp, #0x0]
ldr r0, [r4, #0x8]
blx r0
@@ -1947,7 +1949,7 @@ _020232E8:
add r0, r7, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
- bl FUN_02023274
+ bl ValidateChunk
cmp r0, #0x1
beq _02023330
bl ErrorHandling
@@ -1958,13 +1960,13 @@ _02023330:
add r0, r7, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
- bl FUN_02023248
+ bl CreateChunkFooter
ldr r0, [r4, #0x4]
ldr r2, [sp, #0x4]
add r0, #0x40
lsl r0, r0, #0xc
add r1, r6, #0x0
- bl FUN_020235D0
+ bl FlashWriteChunk
ldr r1, [sp, #0x0]
orr r0, r1
str r0, [sp, #0x0]
@@ -1974,7 +1976,7 @@ _02023330:
add r0, r7, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
- bl FUN_02023274
+ bl ValidateChunk
cmp r0, #0x1
beq _020233DE
bl ErrorHandling
@@ -1985,13 +1987,13 @@ _0202336E:
add r0, r7, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
- bl FUN_02023248
+ bl CreateChunkFooter
ldr r0, [r4, #0x4]
ldr r2, [sp, #0x4]
add r0, #0x40
lsl r0, r0, #0xc
add r1, r6, #0x0
- bl FUN_020235D0
+ bl FlashWriteChunk
str r0, [sp, #0x0]
ldr r0, [r4, #0x8]
blx r0
@@ -1999,7 +2001,7 @@ _0202336E:
add r0, r7, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
- bl FUN_02023274
+ bl ValidateChunk
cmp r0, #0x1
beq _020233A4
bl ErrorHandling
@@ -2010,12 +2012,12 @@ _020233A4:
add r0, r7, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
- bl FUN_02023248
+ bl CreateChunkFooter
ldr r0, [r4, #0x4]
ldr r2, [sp, #0x4]
lsl r0, r0, #0xc
add r1, r6, #0x0
- bl FUN_020235D0
+ bl FlashWriteChunk
ldr r1, [sp, #0x0]
orr r0, r1
str r0, [sp, #0x0]
@@ -2025,7 +2027,7 @@ _020233A4:
add r0, r7, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
- bl FUN_02023274
+ bl ValidateChunk
cmp r0, #0x1
beq _020233DE
bl ErrorHandling
@@ -2049,8 +2051,8 @@ _020233FC: .word UNK_020EE6D8
_02023400: .word UNK_020EE6E0
_02023404: .word 0x000204A0
- thumb_func_start FUN_02023408
-FUN_02023408: ; 0x02023408
+ thumb_func_start ReadSaveFileFromFlash
+ReadSaveFileFromFlash: ; 0x02023408
push {r4-r7, lr}
sub sp, #0x14
add r5, r0, #0x0
@@ -2084,14 +2086,14 @@ _02023430:
ldr r2, [sp, #0x10]
lsl r0, r0, #0xc
add r1, r6, #0x0
- bl FUN_020235EC
+ bl FlashLoadChunk
ldr r0, [r4, #0x8]
blx r0
add r3, r0, #0x0
add r0, r5, #0x0
add r1, r6, #0x0
add r2, r7, #0x0
- bl FUN_02023274
+ bl ValidateChunk
str r0, [sp, #0xc]
ldr r0, [r4, #0x8]
blx r0
@@ -2104,14 +2106,14 @@ _02023430:
add r0, #0x40
lsl r0, r0, #0xc
add r1, r6, #0x0
- bl FUN_020235EC
+ bl FlashLoadChunk
ldr r0, [r4, #0x8]
blx r0
add r3, r0, #0x0
add r0, r5, #0x0
add r1, r6, #0x0
add r2, r7, #0x0
- bl FUN_02023274
+ bl ValidateChunk
add r7, r0, #0x0
ldr r0, [r4, #0x8]
blx r0
@@ -2137,7 +2139,7 @@ _02023430:
ldr r0, [r4, #0x4]
add r1, r6, #0x0
lsl r0, r0, #0xc
- bl FUN_020235EC
+ bl FlashLoadChunk
add sp, #0x14
add r0, r6, #0x0
pop {r4-r7, pc}
@@ -2158,7 +2160,7 @@ _020234CC:
add r1, r6, #0x0
add r0, #0x40
lsl r0, r0, #0xc
- bl FUN_020235EC
+ bl FlashLoadChunk
add sp, #0x14
add r0, r6, #0x0
pop {r4-r7, pc}
@@ -2185,7 +2187,7 @@ _020234F6:
ldr r0, [r4, #0x4]
add r1, r6, #0x0
lsl r0, r0, #0xc
- bl FUN_020235EC
+ bl FlashLoadChunk
add sp, #0x14
add r0, r6, #0x0
pop {r4-r7, pc}
@@ -2200,7 +2202,7 @@ _0202352E:
add r1, r6, #0x0
add r0, #0x40
lsl r0, r0, #0xc
- bl FUN_020235EC
+ bl FlashLoadChunk
add sp, #0x14
add r0, r6, #0x0
pop {r4-r7, pc}
@@ -2221,8 +2223,8 @@ _02023564: .word UNK_020EE6D8
_02023568: .word UNK_020EE6E0
_0202356C: .word 0x000204A0
- thumb_func_start FUN_02023570
-FUN_02023570: ; 0x02023570
+ thumb_func_start SaveDetectFlash
+SaveDetectFlash: ; 0x02023570
push {r3-r5, lr}
bl OS_GetLockID
add r4, r0, #0x0
@@ -2268,24 +2270,24 @@ _020235C2:
_020235C8: .word 0x00001302
_020235CC: .word 0x00001202
- thumb_func_start FUN_020235D0
-FUN_020235D0: ; 0x020235D0
+ thumb_func_start FlashWriteChunk
+FlashWriteChunk: ; 0x020235D0
push {r3-r5, lr}
- bl FUN_02023668
+ bl FlashWriteChunkInternal
add r5, r0, #0x0
add r4, sp, #0x0
_020235DA:
add r0, r5, #0x0
add r1, r4, #0x0
- bl FUN_020236E4
+ bl WaitFlashWrite
cmp r0, #0x0
beq _020235DA
ldr r0, [sp, #0x0]
pop {r3-r5, pc}
.balign 4
- thumb_func_start FUN_020235EC
-FUN_020235EC: ; 0x020235EC
+ thumb_func_start FlashLoadChunk
+FlashLoadChunk: ; 0x020235EC
push {r4-r7, lr}
sub sp, #0x14
add r5, r0, #0x0
@@ -2306,7 +2308,7 @@ _02023608:
str r3, [sp, #0x0]
mov r1, #0x1
str r1, [sp, #0x4]
- mov r0, #0x6
+ mov r0, #0x6 ; CARD_REQ_READ_BACKUP
str r0, [sp, #0x8]
str r1, [sp, #0xc]
add r0, r5, #0x0
@@ -2336,8 +2338,8 @@ _02023652:
.balign 4
_02023658: .word UNK_021C59C8
- thumb_func_start FUN_0202365C
-FUN_0202365C: ; 0x0202365C
+ thumb_func_start FlashWriteCommandCallback
+FlashWriteCommandCallback: ; 0x0202365C
ldr r0, _02023664 ; =UNK_021C59C8
mov r1, #0x1
str r1, [r0, #0x4]
@@ -2345,8 +2347,8 @@ FUN_0202365C: ; 0x0202365C
.balign 4
_02023664: .word UNK_021C59C8
- thumb_func_start FUN_02023668
-FUN_02023668: ; 0x02023668
+ thumb_func_start FlashWriteChunkInternal
+FlashWriteChunkInternal: ; 0x02023668
push {r3-r7, lr}
sub sp, #0x18
add r5, r0, #0x0
@@ -2366,7 +2368,7 @@ _02023684:
mov r0, #0x0
str r0, [sp, #0x0]
str r0, [sp, #0x4]
- mov r1, #0x6
+ mov r1, #0x6 ; CARD_REQ_READ_BACKUP
str r1, [sp, #0x8]
mov r1, #0x1
str r1, [sp, #0xc]
@@ -2379,7 +2381,7 @@ _02023684:
bne _020236B2
add r0, r4, #0x0
mov r1, #0x1
- bl FUN_02023740
+ bl SaveErrorHandling
_020236B2:
ldr r0, _020236DC ; =UNK_021C59C8
mov r1, #0x0
@@ -2387,13 +2389,13 @@ _020236B2:
str r1, [sp, #0x0]
mov r0, #0x1
str r0, [sp, #0x4]
- mov r0, #0x7
+ mov r0, #0x7 ; CARD_REQ_WRITE_BACKUP
str r0, [sp, #0x8]
mov r0, #0xa
str r0, [sp, #0xc]
mov r0, #0x2
str r0, [sp, #0x10]
- ldr r3, _020236E0 ; =FUN_0202365C
+ ldr r3, _020236E0 ; =FlashWriteCommandCallback
add r0, r6, #0x0
add r1, r5, #0x0
add r2, r7, #0x0
@@ -2403,10 +2405,10 @@ _020236B2:
pop {r3-r7, pc}
.balign 4
_020236DC: .word UNK_021C59C8
-_020236E0: .word FUN_0202365C
+_020236E0: .word FlashWriteCommandCallback
- thumb_func_start FUN_020236E4
-FUN_020236E4: ; 0x020236E4
+ thumb_func_start WaitFlashWrite
+WaitFlashWrite: ; 0x020236E4
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _0202373C ; =UNK_021C59C8
@@ -2438,13 +2440,13 @@ _0202371E:
mov r1, #0x0
add r0, r5, #0x0
str r1, [r4, #0x0]
- bl FUN_02023740
+ bl SaveErrorHandling
_02023728:
mov r0, #0x0
str r0, [r4, #0x0]
add r0, r5, #0x0
mov r1, #0x1
- bl FUN_02023740
+ bl SaveErrorHandling
_02023734:
mov r0, #0x1
pop {r3-r5, pc}
@@ -2454,8 +2456,8 @@ _02023738:
.balign 4
_0202373C: .word UNK_021C59C8
- thumb_func_start FUN_02023740
-FUN_02023740: ; 0x02023740
+ thumb_func_start SaveErrorHandling
+SaveErrorHandling: ; 0x02023740
push {r3-r5, lr}
add r5, r0, #0x0
lsl r0, r5, #0x10
diff --git a/arm9/asm/scrcmd.s b/arm9/asm/scrcmd.s
index 7ffad1f7..4fa6f75b 100644
--- a/arm9/asm/scrcmd.s
+++ b/arm9/asm/scrcmd.s
@@ -5091,9 +5091,9 @@ FUN_0203C1AC: ; 0x0203C1AC
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
mov r1, #0x4
- bl FUN_0206EE64
+ bl Bag_PocketNotEmpty
cmp r0, #0x0
bne _0203C1E0
mov r0, #0x1
@@ -8033,9 +8033,9 @@ FUN_0203D958: ; 0x0203D958
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r6, #0x0
- bl FUN_0206EE64
+ bl Bag_PocketNotEmpty
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r4-r6, pc}
@@ -11772,7 +11772,7 @@ FUN_0203F760: ; 0x0203F760
mov r1, #0x20
ldr r0, [r0, #0xc]
add r2, sp, #0x0
- bl FUN_02022534
+ bl LoadSaveFile
ldr r1, [sp, #0x0]
add r4, r0, #0x0
cmp r1, #0x0
diff --git a/arm9/asm/scrcmd_12.s b/arm9/asm/scrcmd_12.s
index 2566edfd..059262cf 100644
--- a/arm9/asm/scrcmd_12.s
+++ b/arm9/asm/scrcmd_12.s
@@ -305,7 +305,7 @@ FUN_02042F28: ; 0x02042F28
ldr r1, [r1, #0xc]
ldr r2, _02042F44 ; =0x000001EA
mov r0, #0x20
- bl FUN_0204A0C8
+ bl GiveEgg
add sp, #0x8
pop {r3, pc}
.balign 4
@@ -755,7 +755,7 @@ FUN_02043308: ; 0x02043308
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02042D04
@@ -766,7 +766,7 @@ FUN_02043308: ; 0x02043308
lsr r1, r1, #0x10
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED24
+ bl Bag_HasSpaceForItem
pop {r3-r5, pc}
.balign 4
@@ -775,7 +775,7 @@ FUN_02043330: ; 0x02043330
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02042D04
@@ -786,7 +786,7 @@ FUN_02043330: ; 0x02043330
lsr r1, r1, #0x10
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED38
+ bl Bag_AddItem
pop {r3-r5, pc}
.balign 4
@@ -827,7 +827,7 @@ FUN_02043394: ; 0x02043394
add r4, r1, #0x0
ldr r0, [r0, #0xc]
add r6, r2, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r0, [r5, #0x0]
bl FUN_02042D04
ldr r0, [r0, #0x0]
@@ -1099,7 +1099,7 @@ FUN_020435A0: ; 0x020435A0
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02042D04
@@ -1107,7 +1107,7 @@ FUN_020435A0: ; 0x020435A0
add r0, r4, #0x0
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED24
+ bl Bag_HasSpaceForItem
pop {r3-r5, pc}
.balign 4
_020435C0: .word 0x000001C6
@@ -1117,7 +1117,7 @@ FUN_020435C4: ; 0x020435C4
push {r3-r5, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_02042D04
@@ -1128,7 +1128,7 @@ FUN_020435C4: ; 0x020435C4
add r0, r5, #0x0
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED38
+ bl Bag_AddItem
add r0, r4, #0x0
mov r1, #0x0
bl FUN_0205F478
@@ -1172,7 +1172,7 @@ FUN_02043634: ; 0x02043634
add r4, r1, #0x0
ldr r0, [r0, #0xc]
add r6, r2, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r0, [r5, #0x0]
bl FUN_02042D04
mov r2, #0x53
@@ -1191,7 +1191,7 @@ FUN_02043660: ; 0x02043660
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02042D04
@@ -1200,7 +1200,7 @@ FUN_02043660: ; 0x02043660
lsl r1, r1, #0x2
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED24
+ bl Bag_HasSpaceForItem
pop {r3-r5, pc}
.balign 4
@@ -1209,7 +1209,7 @@ FUN_02043684: ; 0x02043684
push {r3-r5, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_02042D04
@@ -1221,7 +1221,7 @@ FUN_02043684: ; 0x02043684
lsl r1, r1, #0x2
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED38
+ bl Bag_AddItem
add r0, r4, #0x0
mov r1, #0x1
bl FUN_0205F478
@@ -1263,7 +1263,7 @@ FUN_020436F0: ; 0x020436F0
add r4, r1, #0x0
ldr r0, [r0, #0xc]
add r6, r2, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r0, [r5, #0x0]
bl FUN_02042D04
mov r2, #0x53
@@ -1282,7 +1282,7 @@ FUN_0204371C: ; 0x0204371C
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02042D04
@@ -1290,7 +1290,7 @@ FUN_0204371C: ; 0x0204371C
add r0, r4, #0x0
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED24
+ bl Bag_HasSpaceForItem
pop {r3-r5, pc}
.balign 4
_0204373C: .word 0x000001C7
@@ -1300,7 +1300,7 @@ FUN_02043740: ; 0x02043740
push {r3-r5, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_02042D04
@@ -1311,7 +1311,7 @@ FUN_02043740: ; 0x02043740
add r0, r5, #0x0
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED38
+ bl Bag_AddItem
add r0, r4, #0x0
mov r1, #0x2
bl FUN_0205F478
@@ -1355,7 +1355,7 @@ FUN_020437B0: ; 0x020437B0
add r4, r1, #0x0
ldr r0, [r0, #0xc]
add r6, r2, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r0, [r5, #0x0]
bl FUN_02042D04
mov r2, #0x53
diff --git a/arm9/asm/scrcmd_18.s b/arm9/asm/scrcmd_18.s
index c4fa299c..c5765553 100644
--- a/arm9/asm/scrcmd_18.s
+++ b/arm9/asm/scrcmd_18.s
@@ -3,8 +3,8 @@
.text
- thumb_func_start FUN_020442BC
-FUN_020442BC: ; 0x020442BC
+ thumb_func_start ScrCmd_givemon
+ScrCmd_givemon: ; 0x020442BC
push {r4-r7, lr}
sub sp, #0x14
add r4, r0, #0x0
@@ -60,15 +60,18 @@ FUN_020442BC: ; 0x020442BC
ldr r2, [sp, #0xc]
mov r0, #0xb
lsr r3, r3, #0x18
- bl FUN_0204A048
+ bl GiveMon
strh r0, [r4, #0x0]
mov r0, #0x0
add sp, #0x14
pop {r4-r7, pc}
.balign 4
- thumb_func_start FUN_0204434C
-FUN_0204434C: ; 0x0204434C
+ thumb_func_start ScrCmd_getpartyspecies
+ScrCmd_getpartyspecies: ; 0x0204434C
+ ; getpartyspecies XXXX, YYYY
+ ; Sets var YYYY to species of mon in party slot XXXX.
+ ; If mon is an egg, the value is SPECIES_NONE.
push {r4-r6, lr}
add r4, r0, #0x0
add r1, r4, #0x0
@@ -110,8 +113,8 @@ _020443A2:
mov r0, #0x0
pop {r4-r6, pc}
- thumb_func_start FUN_020443A8
-FUN_020443A8: ; 0x020443A8
+ thumb_func_start ScrCmd_checkpartymonotid
+ScrCmd_checkpartymonotid: ; 0x020443A8
push {r3-r7, lr}
add r4, r0, #0x0
add r0, #0x80
@@ -159,8 +162,8 @@ _0204440E:
mov r0, #0x0
pop {r3-r7, pc}
- thumb_func_start FUN_02044414
-FUN_02044414: ; 0x02044414
+ thumb_func_start ScrCmd_giveegg
+ScrCmd_giveegg: ; 0x02044414
push {r4-r7, lr}
sub sp, #0xc
add r5, r0, #0x0
@@ -206,7 +209,7 @@ FUN_02044414: ; 0x02044414
add r0, r4, #0x0
mov r2, #0x1
add r3, r7, #0x0
- bl MOD05_021ECF14
+ bl MOD05_SetEggStats
add r0, r6, #0x0
add r1, r4, #0x0
bl AddMonToParty
@@ -218,8 +221,8 @@ _02044494:
pop {r4-r7, pc}
.balign 4
- thumb_func_start FUN_0204449C
-FUN_0204449C: ; 0x0204449C
+ thumb_func_start ScrCmd_setpartymonmove
+ScrCmd_setpartymonmove: ; 0x0204449C
push {r3-r7, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
@@ -252,13 +255,13 @@ FUN_0204449C: ; 0x0204449C
add r1, r4, #0x0
add r2, r6, #0x0
add r3, r7, #0x0
- bl FUN_0204A120
+ bl PartyMonSetMoveInSlot
mov r0, #0x0
pop {r3-r7, pc}
.balign 4
- thumb_func_start FUN_020444F4
-FUN_020444F4: ; 0x020444F4
+ thumb_func_start ScrCmd_partymonhasmove
+ScrCmd_partymonhasmove: ; 0x020444F4
push {r3-r7, lr}
add r4, r0, #0x0
add r1, r4, #0x0
@@ -332,8 +335,8 @@ _02044592:
pop {r3-r7, pc}
.balign 4
- thumb_func_start FUN_02044598
-FUN_02044598: ; 0x02044598
+ thumb_func_start ScrCmd_findpartymonwithmove
+ScrCmd_findpartymonwithmove: ; 0x02044598
push {r3-r7, lr}
sub sp, #0x8
add r4, r0, #0x0
@@ -420,8 +423,8 @@ _02044648:
_02044650: .word 0x00000006
_02044654: .word 0x00000000
- thumb_func_start FUN_02044658
-FUN_02044658: ; 0x02044658
+ thumb_func_start ScrCmd_survivepsn
+ScrCmd_survivepsn: ; 0x02044658
push {r4-r6, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
@@ -445,13 +448,13 @@ FUN_02044658: ; 0x02044658
bl SavArray_PlayerParty_get
add r1, r6, #0x0
bl GetPartyMonByIndex
- bl FUN_0204A32C
+ bl SurvivePoisoning
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r4-r6, pc}
- thumb_func_start FUN_0204469C
-FUN_0204469C: ; 0x0204469C
+ thumb_func_start ScrCmd_countpartymonsatorbelowlevel
+ScrCmd_countpartymonsatorbelowlevel: ; 0x0204469C
push {r4-r7, lr}
sub sp, #0xc
add r4, r0, #0x0
@@ -520,8 +523,8 @@ _02044726:
add sp, #0xc
pop {r4-r7, pc}
- thumb_func_start FUN_02044730
-FUN_02044730: ; 0x02044730
+ thumb_func_start ScrCmd_getpartymonlevel
+ScrCmd_getpartymonlevel: ; 0x02044730
push {r4-r6, lr}
add r5, r0, #0x0
add r1, r5, #0x0
@@ -562,8 +565,8 @@ _02044786:
pop {r4-r6, pc}
.balign 4
- thumb_func_start FUN_0204478C
-FUN_0204478C: ; 0x0204478C
+ thumb_func_start ScrCmd_getpartymonnature
+ScrCmd_getpartymonnature: ; 0x0204478C
push {r4-r6, lr}
add r6, r0, #0x0
add r1, r6, #0x0
@@ -615,8 +618,8 @@ _020447F2:
pop {r4-r6, pc}
.balign 4
- thumb_func_start FUN_02044800
-FUN_02044800: ; 0x02044800
+ thumb_func_start ScrCmd_findpartymonwithnature
+ScrCmd_findpartymonwithnature: ; 0x02044800
push {r3-r7, lr}
sub sp, #0x8
add r4, r0, #0x0
@@ -680,8 +683,8 @@ _0204487E:
_02044884: .word 0x000000FF
_02044888: .word 0x00000000
- thumb_func_start FUN_0204488C
-FUN_0204488C: ; 0x0204488C
+ thumb_func_start ScrCmd_getpartymonfriendship
+ScrCmd_getpartymonfriendship: ; 0x0204488C
push {r4-r6, lr}
add r5, r0, #0x0
add r1, r5, #0x0
diff --git a/arm9/asm/scrcmd_19.s b/arm9/asm/scrcmd_19.s
index 0e036f08..863006b1 100644
--- a/arm9/asm/scrcmd_19.s
+++ b/arm9/asm/scrcmd_19.s
@@ -32,11 +32,11 @@ FUN_02045268: ; 0x02045268
add r5, r4, #0x0
_02045288:
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
lsl r1, r4, #0x2
ldrh r1, [r7, r1]
mov r2, #0x4
- bl FUN_0206EEF8
+ bl Bag_GetQuantity
add r0, r5, r0
lsl r0, r0, #0x10
lsr r5, r0, #0x10
@@ -133,11 +133,11 @@ FUN_02045308: ; 0x02045308
_02045358:
ldr r0, [r7, #0xc]
lsl r5, r4, #0x2
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _02045394 ; =UNK_020F450C
mov r2, #0x4
ldrh r1, [r1, r5]
- bl FUN_0206EEF8
+ bl Bag_GetQuantity
add r0, r6, r0
lsl r0, r0, #0x10
lsr r6, r0, #0x10
diff --git a/arm9/asm/scrcmd_22.s b/arm9/asm/scrcmd_22.s
index d0563546..1f354520 100644
--- a/arm9/asm/scrcmd_22.s
+++ b/arm9/asm/scrcmd_22.s
@@ -33,11 +33,11 @@ FUN_02045784: ; 0x02045784
bl GetVarPointer
add r4, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r6, #0x0
add r2, r7, #0x0
mov r3, #0x4
- bl FUN_0206ED38
+ bl Bag_AddItem
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
@@ -72,11 +72,11 @@ FUN_020457DC: ; 0x020457DC
bl GetVarPointer
add r4, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r6, #0x0
add r2, r7, #0x0
mov r3, #0x4
- bl FUN_0206EDD4
+ bl Bag_TakeItem
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
@@ -111,11 +111,11 @@ FUN_02045834: ; 0x02045834
bl GetVarPointer
add r4, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r6, #0x0
add r2, r7, #0x0
mov r3, #0x4
- bl FUN_0206ED24
+ bl Bag_HasSpaceForItem
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
@@ -150,11 +150,11 @@ FUN_0204588C: ; 0x0204588C
bl GetVarPointer
add r4, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r6, #0x0
add r2, r7, #0x0
mov r3, #0xb
- bl FUN_0206EE50
+ bl Bag_HasItem
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
diff --git a/arm9/asm/scrcmd_7.s b/arm9/asm/scrcmd_7.s
index 1a6a6584..7ae38f49 100644
--- a/arm9/asm/scrcmd_7.s
+++ b/arm9/asm/scrcmd_7.s
@@ -591,7 +591,7 @@ FUN_02041B70: ; 0x02041B70
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
- bl FUN_0204A248
+ bl HasEnoughAlivePokemonForDoubleBattle
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r5, pc}
diff --git a/arm9/asm/scrcmd_9.s b/arm9/asm/scrcmd_9.s
index 944243af..5c723f9a 100644
--- a/arm9/asm/scrcmd_9.s
+++ b/arm9/asm/scrcmd_9.s
@@ -549,7 +549,7 @@ FUN_02042288: ; 0x02042288
ldr r0, [r0, #0xc]
add r4, r1, #0x0
bl SavArray_PlayerParty_get
- bl FUN_0204A20C
+ bl GetFirstNonEggInParty
bl FUN_020690E4
add r2, r0, #0x0
add r0, r4, #0x0
diff --git a/arm9/asm/unk_02001B80.s b/arm9/asm/unk_02001B80.s
index 52c55775..ff804a2f 100644
--- a/arm9/asm/unk_02001B80.s
+++ b/arm9/asm/unk_02001B80.s
@@ -772,18 +772,18 @@ FUN_020020EC: ; 0x020020EC
add r4, r0, #0x0
mov r0, #0x2
add r1, r5, #0x0
- bl FUN_02012838
+ bl ListMenu_ctor
add r1, r4, #0x0
mov r2, #0x29
mov r3, #0x0
add r6, r0, #0x0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
mov r3, #0x2a
add r2, r3, #0x0
add r0, r6, #0x0
add r1, r4, #0x0
sub r3, #0x2c
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r4, #0x0
bl DestroyMsgData
add r0, r5, #0x0
@@ -896,7 +896,7 @@ FUN_020021EC: ; 0x020021EC
add r0, r4, #0x0
bl FUN_02016A8C
ldr r0, [r5, #0x0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r5, #0x0
mov r1, #0x0
bl FUN_02001C5C
diff --git a/arm9/asm/unk_02011744.s b/arm9/asm/unk_02011744.s
index 5d836ed4..d8202d2d 100644
--- a/arm9/asm/unk_02011744.s
+++ b/arm9/asm/unk_02011744.s
@@ -2388,8 +2388,8 @@ _0201282C: .word UNK_020ED4A4
_02012830: .word UNK_020ED498
_02012834: .word 0xBC19137F
- thumb_func_start FUN_02012838
-FUN_02012838: ; 0x02012838
+ thumb_func_start ListMenu_ctor
+ListMenu_ctor: ; 0x02012838
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
@@ -2421,23 +2421,23 @@ _02012862:
_0201286E:
pop {r3-r5, pc}
- thumb_func_start FUN_02012870
-FUN_02012870: ; 0x02012870
+ thumb_func_start ListMenu_dtor
+ListMenu_dtor: ; 0x02012870
push {r4, lr}
add r4, r0, #0x0
- bl FUN_0201291C
+ bl ListMenu_DestroyMenuStrings
add r0, r4, #0x0
bl FreeToHeap
pop {r4, pc}
- thumb_func_start FUN_02012880
-FUN_02012880: ; 0x02012880
+ thumb_func_start ListMenu_ItemFromMsgData
+ListMenu_ItemFromMsgData: ; 0x02012880
push {r3-r7, lr}
add r6, r1, #0x0
add r1, sp, #0x0
add r7, r2, #0x0
add r5, r3, #0x0
- bl FUN_020128E0
+ bl ListMenu_NewItem
add r4, r0, #0x0
beq _0201289E
add r0, r6, #0x0
@@ -2448,14 +2448,14 @@ FUN_02012880: ; 0x02012880
_0201289E:
pop {r3-r7, pc}
- thumb_func_start FUN_020128A0
-FUN_020128A0: ; 0x020128A0
+ thumb_func_start ListMenu_AddItem
+ListMenu_AddItem: ; 0x020128A0
push {r3-r6, lr}
sub sp, #0x4
add r6, r1, #0x0
add r1, sp, #0x0
add r5, r2, #0x0
- bl FUN_020128E0
+ bl ListMenu_NewItem
add r4, r0, #0x0
beq _020128BE
ldr r1, [sp, #0x0]
@@ -2468,13 +2468,13 @@ _020128BE:
pop {r3-r6, pc}
.balign 4
- thumb_func_start FUN_020128C4
-FUN_020128C4: ; 0x020128C4
+ thumb_func_start ListMenu_CopyItem
+ListMenu_CopyItem: ; 0x020128C4
push {r3-r4, lr}
sub sp, #0x4
add r4, r1, #0x0
add r1, sp, #0x0
- bl FUN_020128E0
+ bl ListMenu_NewItem
cmp r0, #0x0
beq _020128DC
ldr r1, [r4, #0x0]
@@ -2485,8 +2485,8 @@ _020128DC:
add sp, #0x4
pop {r3-r4, pc}
- thumb_func_start FUN_020128E0
-FUN_020128E0: ; 0x020128E0
+ thumb_func_start ListMenu_NewItem
+ListMenu_NewItem: ; 0x020128E0
push {r4, lr}
ldr r3, [r0, #0x0]
cmp r3, #0x0
@@ -2522,8 +2522,8 @@ _02012912:
pop {r4, pc}
.balign 4
- thumb_func_start FUN_0201291C
-FUN_0201291C: ; 0x0201291C
+ thumb_func_start ListMenu_DestroyMenuStrings
+ListMenu_DestroyMenuStrings: ; 0x0201291C
push {r4-r6, lr}
add r5, r0, #0x0
mov r0, #0x0
diff --git a/arm9/asm/unk_02022504.s b/arm9/asm/unk_02022504.s
index 8aa31ef0..6e6c0d06 100644
--- a/arm9/asm/unk_02022504.s
+++ b/arm9/asm/unk_02022504.s
@@ -35,19 +35,19 @@ FUN_02022528: ; 0x02022528
nop
_02022530: .word SavArray_get
- thumb_func_start FUN_02022534
-FUN_02022534: ; 0x02022534
+ thumb_func_start LoadSaveFile
+LoadSaveFile: ; 0x02022534
push {r3, lr}
add r3, r2, #0x0
mov r2, #0x0
- bl FUN_02023408
+ bl ReadSaveFileFromFlash
pop {r3, pc}
- thumb_func_start FUN_02022540
-FUN_02022540: ; 0x02022540
- ldr r3, _02022548 ; =FUN_020232BC
+ thumb_func_start SaveGame
+SaveGame: ; 0x02022540
+ ldr r3, _02022548 ; =WriteSaveFileToFlash
add r2, r1, #0x0
mov r1, #0x0
bx r3
.balign 4
-_02022548: .word FUN_020232BC
+_02022548: .word WriteSaveFileToFlash
diff --git a/arm9/asm/unk_02034188.s b/arm9/asm/unk_02034188.s
index f4979b35..f84f094a 100644
--- a/arm9/asm/unk_02034188.s
+++ b/arm9/asm/unk_02034188.s
@@ -179,7 +179,7 @@ _020342E4:
and r0, r1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
- bl FUN_02000FE8
+ bl HandleDSLidAction
add r0, r5, #0x0
tst r0, r7
bne _02034308
diff --git a/arm9/asm/unk_02035068.s b/arm9/asm/unk_02035068.s
index 093c06e6..3b3dccfc 100644
--- a/arm9/asm/unk_02035068.s
+++ b/arm9/asm/unk_02035068.s
@@ -10,8 +10,9 @@ UNK_020F2A8C: ; 0x020F2A8C
.global UNK_020F2A90
UNK_020F2A90: ; 0x020F2A90
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF, 0x00, 0x00, 0x00
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF
+ .balign 4, 0
.global UNK_020F2A9C
UNK_020F2A9C: ; 0x020F2A9C
.byte 0x00, 0x01, 0x02, 0x04, 0x03, 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00
@@ -638,7 +639,7 @@ FUN_0203549C: ; 0x0203549C
str r0, [sp, #0x18]
ldr r0, [sp, #0x14]
mov r1, #0xb
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r4, #0x24]
mov r5, #0x0
ldr r0, [sp, #0x14]
@@ -683,7 +684,7 @@ _02035526:
ldrb r2, [r2, #0x0]
ldr r0, [r4, #0x24]
add r1, r7, #0x0
- bl FUN_020128A0
+ bl ListMenu_AddItem
ldr r0, [sp, #0x20]
bl String_dtor
add r0, r7, #0x0
@@ -697,7 +698,7 @@ _02035594:
ldr r0, [r4, #0x24]
ldr r1, [sp, #0x18]
ldr r2, [r2, r6]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
_020355A2:
ldr r0, [sp, #0x1c]
add r0, #0x8c
@@ -901,7 +902,7 @@ FUN_02035718: ; 0x02035718
mov r1, #0x0
bl FUN_02001C5C
ldr r0, [r4, #0x24]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0x0
str r0, [r4, #0x20]
pop {r4, pc}
@@ -2088,14 +2089,14 @@ _020360EA:
lsl r1, r1, #0x2
str r0, [r4, r1]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r7, r0, #0x0
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetProfileAddr
ldr r1, _0203627C ; =UNK_020F2A90
add r0, r7, #0x0
mov r2, #0xb
- bl FUN_0206EFEC
+ bl CreateBagView
mov r1, #0x7e
lsl r1, r1, #0x2
add r3, r5, #0x0
@@ -2325,7 +2326,7 @@ FUN_020362E4: ; 0x020362E4
bl FUN_0204652C
add r4, r0, #0x0
mov r0, #0xb
- bl FUN_0206E2F0
+ bl BagView_new
str r0, [sp, #0x8]
bl FUN_0206E308
mov r1, #0x7e
@@ -2402,7 +2403,7 @@ _0203638A:
bl SavArray_PlayerParty_get
str r0, [r5, #0x0]
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r5, #0x4]
ldr r0, [r6, #0xc]
bl FUN_02025838
@@ -2501,7 +2502,7 @@ _02036474:
ldr r0, [sp, #0x4]
str r0, [r5, #0x0]
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r5, #0x4]
ldr r0, [r6, #0xc]
bl FUN_02025838
@@ -2994,7 +2995,7 @@ FUN_0203684C: ; 0x0203684C
bl SavArray_PlayerParty_get
str r0, [r5, #0x0]
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r5, #0x4]
ldr r0, [r6, #0xc]
bl FUN_02025838
@@ -3097,7 +3098,7 @@ FUN_0203695C: ; 0x0203695C
str r0, [r6, r1]
ldr r0, [sp, #0x4]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x0]
mov r0, #0x7e
lsl r0, r0, #0x2
@@ -3115,7 +3116,7 @@ _0203699A:
add r1, r7, #0x0
mov r2, #0x1
mov r3, #0xb
- bl FUN_0206EE50
+ bl Bag_HasItem
cmp r0, #0x1
bne _020369C6
mov r0, #0x7e
@@ -3523,7 +3524,7 @@ FUN_02036CEC: ; 0x02036CEC
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r5, #0xc]
bl FUN_02025838
@@ -3668,7 +3669,7 @@ FUN_02036E08: ; 0x02036E08
bl FUN_02024DA0
str r0, [sp, #0x2c]
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x30]
ldr r0, [r4, #0xc]
bl FUN_02029FC8
@@ -3705,7 +3706,7 @@ _02036E9E:
bl FUN_02024DA0
str r0, [sp, #0x3c]
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x40]
ldr r0, [r4, #0xc]
bl FUN_02029FC8
diff --git a/arm9/asm/unk_020377F0.s b/arm9/asm/unk_020377F0.s
index 48d33a87..3c5fc486 100644
--- a/arm9/asm/unk_020377F0.s
+++ b/arm9/asm/unk_020377F0.s
@@ -10,165 +10,197 @@
.section .rodata
+ .balign 4
.global UNK_020F2BC4
UNK_020F2BC4: ; 0x020F2BC4
- .byte 0x04, 0xFF, 0x00, 0x00
+ .byte 0x04, 0xFF
+ .balign 4
.global UNK_020F2BC8
UNK_020F2BC8: ; 0x020F2BC8
- .byte 0x00, 0xFF, 0x00, 0x00
+ .byte 0x00, 0xFF
+ .balign 4
.global UNK_020F2BCC
UNK_020F2BCC: ; 0x020F2BCC
- .byte 0x03, 0x05, 0x08, 0x00
+ .byte 0x03, 0x05, 0x08
+ .balign 4
.global UNK_020F2BD0
UNK_020F2BD0: ; 0x020F2BD0
- .byte 0x00, 0x01, 0x02, 0x04, 0x03, 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00
+ .byte 0x00, 0x01, 0x02, 0x04, 0x03, 0x05, 0x06, 0x07, 0x08
+ .balign 4
.global UNK_020F2BDC
UNK_020F2BDC: ; 0x020F2BDC
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF, 0x00, 0x00, 0x00
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF
+ .balign 4
.global UNK_020F2BE8
UNK_020F2BE8: ; 0x020F2BE8
.byte 0x00, 0x05, 0x01, 0x01, 0x04, 0x04, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03
+ .balign 4
.global UNK_020F2BF4
UNK_020F2BF4: ; 0x020F2BF4
.word MOD70_021D74E0, MOD70_021D758C, MOD70_021D755C, SDK_OVERLAY_MODULE_70_ID
+ .balign 4
.global UNK_020F2C04
UNK_020F2C04: ; 0x020F2C04
.word MOD84_021D74E0, MOD84_021D7748, MOD84_021D76A4, SDK_OVERLAY_MODULE_84_ID
+ .balign 4
.global UNK_020F2C14
UNK_020F2C14: ; 0x020F2C14
.word MOD85_021D74E0, MOD85_021D75A0, MOD85_021D7644, SDK_OVERLAY_MODULE_85_ID
+ .balign 4
.global UNK_020F2C24
UNK_020F2C24: ; 0x020F2C24
.word MOD58_021D9A20, MOD58_021D9B8C, MOD58_021D9BF0, SDK_OVERLAY_MODULE_58_ID
+ .balign 4
.global UNK_020F2C34
UNK_020F2C34: ; 0x020F2C34
.word MOD64_021D74E0, MOD64_021D7640, MOD64_021D76F4, SDK_OVERLAY_MODULE_64_ID
+ .balign 4
.global UNK_020F2C44
UNK_020F2C44: ; 0x020F2C44
.word MOD16_021D74E0, MOD16_021D7588, MOD16_021D7614, SDK_OVERLAY_MODULE_16_ID
+ .balign 4
.global UNK_020F2C54
UNK_020F2C54: ; 0x020F2C54
.word MOD57_021D74E0, MOD57_021D7714, MOD57_021D7944, SDK_OVERLAY_MODULE_57_ID
+ .balign 4
.global UNK_020F2C64
UNK_020F2C64: ; 0x020F2C64
.word MOD80_0222DFD0, MOD80_0222E134, MOD80_0222E25C, SDK_OVERLAY_MODULE_80_ID
+ .balign 4
.global UNK_020F2C74
UNK_020F2C74: ; 0x020F2C74
.word MOD82_0222DA34, MOD82_0222DB7C, MOD82_0222DC50, SDK_OVERLAY_MODULE_82_ID
+ .balign 4
.global UNK_020F2C84
UNK_020F2C84: ; 0x020F2C84
.word MOD76_021D74E0, MOD76_021D7568, MOD76_021D761C, SDK_OVERLAY_MODULE_76_ID
+ .balign 4
.global UNK_020F2C94
UNK_020F2C94: ; 0x020F2C94
.word MOD53_021D74E0, MOD53_021D7654, MOD53_021D7764, SDK_OVERLAY_MODULE_53_ID
+ .balign 4
.global UNK_020F2CA4
UNK_020F2CA4: ; 0x020F2CA4
.word MOD81_02237E40, MOD81_02238064, MOD81_02238004, SDK_OVERLAY_MODULE_81_ID
+ .balign 4
.global UNK_020F2CB4
UNK_020F2CB4: ; 0x020F2CB4
.word MOD74_021D74E0, MOD74_021D755C, MOD74_021D7540, SDK_OVERLAY_MODULE_74_ID
+ .balign 4
.global UNK_020F2CC4
UNK_020F2CC4: ; 0x020F2CC4
.word MOD60_021D74E0, MOD60_021D76B8, MOD60_021D75B0, SDK_OVERLAY_MODULE_60_ID
+ .balign 4
.global UNK_020F2CD4
UNK_020F2CD4: ; 0x020F2CD4
.word MOD66_021D74E0, MOD66_021D7538, MOD66_021D75B0, SDK_OVERLAY_MODULE_66_ID
+ .balign 4
.global UNK_020F2CE4
UNK_020F2CE4: ; 0x020F2CE4
.word MOD15_021D74E0, MOD15_021D7558, MOD15_021D7608, SDK_OVERLAY_MODULE_15_ID
+ .balign 4
.global UNK_020F2CF4
UNK_020F2CF4: ; 0x020F2CF4
.word MOD14_021D74E0, MOD14_021D754C, MOD14_021D75B8, SDK_OVERLAY_MODULE_14_ID
+ .balign 4
.global UNK_020F2D04
UNK_020F2D04: ; 0x020F2D04
.word MOD54_021D74E0, MOD54_021D764C, MOD54_021D7740, SDK_OVERLAY_MODULE_54_ID
+ .balign 4
.global UNK_020F2D14
UNK_020F2D14: ; 0x020F2D14
.word MOD77_021D74E0, MOD77_021D7604, MOD77_021D7BAC, SDK_OVERLAY_MODULE_77_ID
+ .balign 4
.global UNK_020F2D24
UNK_020F2D24: ; 0x020F2D24
.word MOD67_021D74E0, MOD67_021D75D0, MOD67_021D7624, SDK_OVERLAY_MODULE_67_ID
+
+ .balign 4
+ .global UNK_020F2D34
+UNK_020F2D34: ; 0x020F2D34
.word MOD55_021D7614, MOD55_021D76BC, MOD55_021D77AC, SDK_OVERLAY_MODULE_55_ID
+ .balign 4
.global UNK_020F2D44
UNK_020F2D44: ; 0x020F2D44
.word MOD68_021D74E0, MOD68_021D75D8, MOD68_021D762C, SDK_OVERLAY_MODULE_68_ID
+ .balign 4
.global UNK_020F2D54
UNK_020F2D54: ; 0x020F2D54
.word MOD55_021D756C, MOD55_021D76BC, MOD55_021D77AC, SDK_OVERLAY_MODULE_55_ID
+ .balign 4
.global UNK_020F2D64
UNK_020F2D64: ; 0x020F2D64
.word HOF_OverlayInit, HOF_OverlayRun, HOF_OverlayTeardown, SDK_OVERLAY_MODULE_69_ID
+ .balign 4
.global UNK_020F2D74
UNK_020F2D74: ; 0x020F2D74
.word MOD75_021E6BA0, MOD75_021E6D6C, MOD75_021E6F00, SDK_OVERLAY_MODULE_75_ID
+ .balign 4
.global UNK_020F2D84
UNK_020F2D84: ; 0x020F2D84
.word MOD78_021D74E0, MOD78_021D75D0, MOD78_021D76B8, SDK_OVERLAY_MODULE_78_ID
+ .balign 4
.global UNK_020F2D94
UNK_020F2D94: ; 0x020F2D94
.word FUN_020377F0, FUN_020377F4, FUN_02037808, SDK_OVERLAY_MODULE_11_ID
+ .balign 4
.global UNK_020F2DA4
UNK_020F2DA4: ; 0x020F2DA4
.word MOD86_021D74E0, MOD86_021D758C, MOD86_021D76B0, SDK_OVERLAY_MODULE_86_ID
.section .data
+ .balign 4
.global UNK_02105DB8
UNK_02105DB8: ; 0x02105DB8
- .byte 0x00, 0x00, 0x00, 0x00
+ .word 0 ; u8 *
+ .balign 4
.global UNK_02105DBC
UNK_02105DBC: ; 0x02105DBC
- .word MOD71_0222D5C0
- .word MOD71_0222D9C8
- .word MOD71_0222E438
- .word SDK_OVERLAY_MODULE_71_ID
+ .word MOD71_0222D5C0, MOD71_0222D9C8, MOD71_0222E438, SDK_OVERLAY_MODULE_71_ID
+ .balign 4
.global UNK_02105DCC
UNK_02105DCC: ; 0x02105DCC
- .word MOD17_021DDB58
- .word MOD17_021DDC30
- .word MOD17_021DDCF4
- .word SDK_OVERLAY_MODULE_17_ID
+ .word MOD17_021DDB58, MOD17_021DDC30, MOD17_021DDCF4, SDK_OVERLAY_MODULE_17_ID
+ .balign 4
.global UNK_02105DDC
UNK_02105DDC: ; 0x02105DDC
- .word MOD17_021D83E4
- .word MOD17_021D84F0
- .word MOD17_021D8738
- .word SDK_OVERLAY_MODULE_17_ID
+ .word MOD17_021D83E4, MOD17_021D84F0, MOD17_021D8738, SDK_OVERLAY_MODULE_17_ID
.text
@@ -232,10 +264,10 @@ FUN_02037844: ; 0x02037844
add r5, r0, #0x0
ldr r0, [r5, #0xc]
add r6, r1, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _02037898 ; =UNK_020F2BDC
mov r2, #0xb
- bl FUN_0206EFEC
+ bl CreateBagView
add r3, r5, #0x0
add r3, #0x94
ldr r1, [r5, #0xc]
@@ -272,7 +304,7 @@ FUN_0203789C: ; 0x0203789C
add r5, r0, #0x0
ldr r0, [r5, #0xc]
add r4, r1, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r6, r0, #0x0
cmp r4, #0x0
beq _020378B4
@@ -296,7 +328,7 @@ _020378C8:
add r0, r6, #0x0
ldr r1, [r1, #0x0]
mov r2, #0x20
- bl FUN_0206EFEC
+ bl CreateBagView
add r3, r5, #0x0
add r3, #0x94
ldr r1, [r5, #0xc]
@@ -400,7 +432,7 @@ FUN_0203797C: ; 0x0203797C
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r5, #0xc]
bl FUN_02025838
@@ -1612,7 +1644,7 @@ _020382F6:
bl FUN_02024DA0
add r7, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x28]
ldr r0, [r5, #0xc]
bl FUN_02029FC8
@@ -2131,7 +2163,7 @@ FUN_020386E0: ; 0x020386E0
bl FUN_02033830
str r0, [r4, #0x38]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x30]
add r0, r5, #0x0
add r1, sp, #0x0
@@ -2221,7 +2253,7 @@ FUN_02038824: ; 0x02038824
ldr r0, [r5, #0xc]
mov r1, #0xb
add r2, sp, #0x0
- bl FUN_02022534
+ bl LoadSaveFile
ldr r1, [sp, #0x0]
add r4, r0, #0x0
cmp r1, #0x2
diff --git a/arm9/asm/unk_02038C78.s b/arm9/asm/unk_02038C78.s
index 8eb56920..352c4094 100644
--- a/arm9/asm/unk_02038C78.s
+++ b/arm9/asm/unk_02038C78.s
@@ -299,11 +299,11 @@ gScriptCmdTable: ; 0x020F355C
.word FUN_0203B81C
.word FUN_0203B85C
.word FUN_0203B8A0
- .word FUN_020442BC
- .word FUN_02044414
- .word FUN_0204449C
- .word FUN_020444F4
- .word FUN_02044598
+ .word ScrCmd_givemon
+ .word ScrCmd_giveegg
+ .word ScrCmd_setpartymonmove
+ .word ScrCmd_partymonhasmove
+ .word ScrCmd_findpartymonwithmove
.word FUN_0203BB34
.word FUN_0203BB80
.word FUN_0203BB84
@@ -557,8 +557,8 @@ gScriptCmdTable: ; 0x020F355C
.word FUN_0203BA3C
.word FUN_0203BAB0
.word FUN_0203BAF4
- .word FUN_0204434C
- .word FUN_020443A8
+ .word ScrCmd_getpartyspecies
+ .word ScrCmd_checkpartymonotid
.word FUN_02044B2C
.word FUN_02044B84
.word FUN_02044C0C
@@ -590,7 +590,7 @@ gScriptCmdTable: ; 0x020F355C
.word FUN_0203DF84
.word FUN_0203DFA8
.word FUN_0203DFE0
- .word FUN_0204488C
+ .word ScrCmd_getpartymonfriendship
.word FUN_020448D4
.word FUN_020449A4
.word FUN_02044034
@@ -651,8 +651,8 @@ gScriptCmdTable: ; 0x020F355C
.word FUN_0204539C
.word FUN_020452B4
.word FUN_02045308
- .word FUN_0204469C
- .word FUN_02044658
+ .word ScrCmd_countpartymonsatorbelowlevel
+ .word ScrCmd_survivepsn
.word FUN_0203BC2C
.word FUN_02039A10
.word ScrCmd_message_from
@@ -679,8 +679,8 @@ gScriptCmdTable: ; 0x020F355C
.word FUN_0203E6C4
.word FUN_0203E6FC
.word FUN_0203E72C
- .word FUN_0204478C
- .word FUN_02044800
+ .word ScrCmd_getpartymonnature
+ .word ScrCmd_findpartymonwithnature
.word FUN_0203E744
.word FUN_02044158
.word FUN_0204416C
@@ -781,7 +781,7 @@ gScriptCmdTable: ; 0x020F355C
.word FUN_0203F2E4
.word FUN_02043C28
.word FUN_0203F31C
- .word FUN_02044730
+ .word ScrCmd_getpartymonlevel
.word FUN_0203F348
.word FUN_0203F38C
.word FUN_0203F39C
diff --git a/arm9/asm/unk_02047500.s b/arm9/asm/unk_02047500.s
index 04d99ac3..905cf7b1 100644
--- a/arm9/asm/unk_02047500.s
+++ b/arm9/asm/unk_02047500.s
@@ -239,7 +239,7 @@ _02047662:
FUN_02047668: ; 0x02047668
push {r4, lr}
mov r4, #0x1e
- bl FUN_0204A1D8
+ bl GetFirstAliveMonInParty_CrashIfNone
mov r1, #0x5
mov r2, #0x0
bl GetMonData
diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s
index 0936ad10..39b89324 100644
--- a/arm9/asm/unk_020476CC.s
+++ b/arm9/asm/unk_020476CC.s
@@ -106,7 +106,7 @@ _02047774:
cmp r6, #0x4
blt _02047774
add r0, r5, #0x0
- bl FUN_0206EB88
+ bl Sav2_Bag_new
mov r1, #0x42
lsl r1, r1, #0x2
str r0, [r7, r1]
@@ -248,7 +248,7 @@ FUN_02047814: ; 0x02047814
mov r1, #0x4
mov r2, #0x14
add r3, r6, #0x0
- bl FUN_0206ED38
+ bl Bag_AddItem
add r0, r6, #0x0
bl AllocMonZeroed
add r6, r0, #0x0
@@ -474,7 +474,7 @@ FUN_02047A78: ; 0x02047A78
bl SavArray_PlayerParty_get
add r7, r0, #0x0
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x0]
ldr r0, [r4, #0xc]
bl FUN_02024DA0
@@ -503,7 +503,7 @@ FUN_02047A78: ; 0x02047A78
lsl r1, r1, #0x2
ldr r0, [sp, #0x0]
ldr r1, [r5, r1]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
mov r1, #0x11
lsl r1, r1, #0x4
ldr r0, [sp, #0x4]
@@ -620,7 +620,7 @@ FUN_02047BC0: ; 0x02047BC0
str r0, [sp, #0x14]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x10]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
@@ -702,7 +702,7 @@ _02047C98:
lsl r1, r1, #0x2
ldr r0, [sp, #0x10]
ldr r1, [r6, r1]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
mov r1, #0x11
lsl r1, r1, #0x4
ldr r0, [sp, #0xc]
@@ -787,7 +787,7 @@ FUN_02047D48: ; 0x02047D48
str r0, [sp, #0x20]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x1c]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
@@ -886,7 +886,7 @@ _02047E2C:
lsl r1, r1, #0x2
ldr r0, [sp, #0x1c]
ldr r1, [r5, r1]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
mov r1, #0x11
lsl r1, r1, #0x4
ldr r0, [sp, #0x18]
@@ -1016,7 +1016,7 @@ FUN_02047F38: ; 0x02047F38
bl SavArray_PlayerParty_get
add r7, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x0]
ldr r0, [r5, #0xc]
bl FUN_02024DA0
@@ -1037,7 +1037,7 @@ FUN_02047F38: ; 0x02047F38
lsl r0, r0, #0x2
ldr r0, [r4, r0]
ldr r1, [sp, #0x0]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
mov r0, #0x11
lsl r0, r0, #0x4
ldr r0, [r4, r0]
@@ -1060,7 +1060,7 @@ FUN_02047FA4: ; 0x02047FA4
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r0, [r5, #0xc]
bl FUN_02024DA0
add r1, r0, #0x0
diff --git a/arm9/asm/unk_020484A8.s b/arm9/asm/unk_020484A8.s
index 36b0d359..1d7ad0d5 100644
--- a/arm9/asm/unk_020484A8.s
+++ b/arm9/asm/unk_020484A8.s
@@ -29,7 +29,7 @@ FUN_020484A8: ; 0x020484A8
add r6, r1, #0x0
mov r1, #0xb
add r2, sp, #0x0
- bl FUN_02022534
+ bl LoadSaveFile
add r4, r0, #0x0
ldr r0, [sp, #0x0]
cmp r0, #0x1
@@ -51,7 +51,7 @@ _020484CC:
bl FUN_0202B050
ldr r0, [r5, #0xc]
add r1, r4, #0x0
- bl FUN_02022540
+ bl SaveGame
add r0, r4, #0x0
bl FreeToHeap
add sp, #0x14
@@ -309,7 +309,7 @@ FUN_02048694: ; 0x02048694
_0204871E:
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
- bl FUN_0204A25C
+ bl GiveAllMonsTheSinnohChampRibbon
ldr r0, [sp, #0x8]
bl FUN_020377B0
ldr r0, [sp, #0x4]
diff --git a/arm9/asm/unk_0204A01C.s b/arm9/asm/unk_0204A01C.s
index d66ec174..49ac1fa6 100644
--- a/arm9/asm/unk_0204A01C.s
+++ b/arm9/asm/unk_0204A01C.s
@@ -3,8 +3,8 @@
.text
- thumb_func_start FUN_0204A01C
-FUN_0204A01C: ; 0x0204A01C
+ thumb_func_start MonNotFaintedOrEgg
+MonNotFaintedOrEgg: ; 0x0204A01C
push {r4, lr}
mov r1, #0xa2
mov r2, #0x0
@@ -28,8 +28,8 @@ _0204A042:
pop {r4, pc}
.balign 4
- thumb_func_start FUN_0204A048
-FUN_0204A048: ; 0x0204A048
+ thumb_func_start GiveMon
+GiveMon: ; 0x0204A048
push {r3-r7, lr}
sub sp, #0x20
add r6, r1, #0x0
@@ -86,8 +86,8 @@ _0204A0BC:
add sp, #0x20
pop {r3-r7, pc}
- thumb_func_start FUN_0204A0C8
-FUN_0204A0C8: ; 0x0204A0C8
+ thumb_func_start GiveEgg
+GiveEgg: ; 0x0204A0C8
push {r4-r7, lr}
sub sp, #0xc
add r4, r1, #0x0
@@ -113,7 +113,7 @@ FUN_0204A0C8: ; 0x0204A0C8
add r0, r4, #0x0
add r1, r5, #0x0
add r2, r7, #0x0
- bl MOD05_021ECF14
+ bl MOD05_SetEggStats
add r0, r6, #0x0
add r1, r4, #0x0
bl AddMonToParty
@@ -125,8 +125,8 @@ FUN_0204A0C8: ; 0x0204A0C8
pop {r4-r7, pc}
.balign 4
- thumb_func_start FUN_0204A120
-FUN_0204A120: ; 0x0204A120
+ thumb_func_start PartyMonSetMoveInSlot
+PartyMonSetMoveInSlot: ; 0x0204A120
push {r3-r5, lr}
add r5, r2, #0x0
add r4, r3, #0x0
@@ -134,12 +134,12 @@ FUN_0204A120: ; 0x0204A120
lsl r2, r5, #0x18
add r1, r4, #0x0
lsr r2, r2, #0x18
- bl FUN_020697CC
+ bl MonSetMoveInSlot
pop {r3-r5, pc}
.balign 4
- thumb_func_start FUN_0204A138
-FUN_0204A138: ; 0x0204A138
+ thumb_func_start GetIdxOfFirstPartyMonWithMove
+GetIdxOfFirstPartyMonWithMove: ; 0x0204A138
push {r3-r7, lr}
str r0, [sp, #0x0]
add r5, r1, #0x0
@@ -194,8 +194,8 @@ _0204A1A2:
pop {r3-r7, pc}
.balign 4
- thumb_func_start FUN_0204A1A8
-FUN_0204A1A8: ; 0x0204A1A8
+ thumb_func_start CountAlivePokemon
+CountAlivePokemon: ; 0x0204A1A8
push {r3-r7, lr}
add r7, r0, #0x0
bl GetPartyCount
@@ -208,7 +208,7 @@ _0204A1BA:
add r0, r7, #0x0
add r1, r4, #0x0
bl GetPartyMonByIndex
- bl FUN_0204A01C
+ bl MonNotFaintedOrEgg
cmp r0, #0x0
beq _0204A1CC
add r5, r5, #0x1
@@ -221,8 +221,8 @@ _0204A1D2:
pop {r3-r7, pc}
.balign 4
- thumb_func_start FUN_0204A1D8
-FUN_0204A1D8: ; 0x0204A1D8
+ thumb_func_start GetFirstAliveMonInParty_CrashIfNone
+GetFirstAliveMonInParty_CrashIfNone: ; 0x0204A1D8
push {r3-r7, lr}
add r6, r0, #0x0
bl GetPartyCount
@@ -235,7 +235,7 @@ _0204A1E8:
add r1, r4, #0x0
bl GetPartyMonByIndex
add r7, r0, #0x0
- bl FUN_0204A01C
+ bl MonNotFaintedOrEgg
cmp r0, #0x0
beq _0204A1FE
add r0, r7, #0x0
@@ -249,8 +249,8 @@ _0204A204:
mov r0, #0x0
pop {r3-r7, pc}
- thumb_func_start FUN_0204A20C
-FUN_0204A20C: ; 0x0204A20C
+ thumb_func_start GetFirstNonEggInParty
+GetFirstNonEggInParty: ; 0x0204A20C
push {r3-r7, lr}
add r6, r0, #0x0
bl GetPartyCount
@@ -282,10 +282,10 @@ _0204A240:
.balign 4
_0204A244: .word 0x00000000
- thumb_func_start FUN_0204A248
-FUN_0204A248: ; 0x0204A248
+ thumb_func_start HasEnoughAlivePokemonForDoubleBattle
+HasEnoughAlivePokemonForDoubleBattle: ; 0x0204A248
push {r3, lr}
- bl FUN_0204A1A8
+ bl CountAlivePokemon
cmp r0, #0x2
blt _0204A256
mov r0, #0x1
@@ -295,8 +295,8 @@ _0204A256:
pop {r3, pc}
.balign 4
- thumb_func_start FUN_0204A25C
-FUN_0204A25C: ; 0x0204A25C
+ thumb_func_start GiveAllMonsTheSinnohChampRibbon
+GiveAllMonsTheSinnohChampRibbon: ; 0x0204A25C
push {r3-r7, lr}
mov r2, #0x1
add r1, sp, #0x0
@@ -329,8 +329,8 @@ _0204A298:
pop {r3-r7, pc}
.balign 4
- thumb_func_start FUN_0204A29C
-FUN_0204A29C: ; 0x0204A29C
+ thumb_func_start ApplyPoisonStep
+ApplyPoisonStep: ; 0x0204A29C
push {r3-r7, lr}
sub sp, #0x10
mov r7, #0x0
@@ -347,7 +347,7 @@ _0204A2B4:
add r1, r4, #0x0
bl GetPartyMonByIndex
add r5, r0, #0x0
- bl FUN_0204A01C
+ bl MonNotFaintedOrEgg
cmp r0, #0x0
beq _0204A308
add r0, r5, #0x0
@@ -404,8 +404,8 @@ _0204A324:
pop {r3-r7, pc}
.balign 4
- thumb_func_start FUN_0204A32C
-FUN_0204A32C: ; 0x0204A32C
+ thumb_func_start SurvivePoisoning
+SurvivePoisoning: ; 0x0204A32C
push {r3-r4, lr}
sub sp, #0x4
mov r1, #0x9f
diff --git a/arm9/asm/unk_0204B34C.s b/arm9/asm/unk_0204B34C.s
index ac1c53ff..fe9cc3fd 100644
--- a/arm9/asm/unk_0204B34C.s
+++ b/arm9/asm/unk_0204B34C.s
@@ -288,7 +288,7 @@ FUN_0204B4FC: ; 0x0204B4FC
add r0, r7, #0x0
bl FUN_0205C374
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
ldr r0, [sp, #0x4]
bl FUN_0204B34C
@@ -297,7 +297,7 @@ FUN_0204B4FC: ; 0x0204B4FC
add r0, r4, #0x0
lsr r2, r2, #0x10
mov r3, #0x4
- bl FUN_0206ED38
+ bl Bag_AddItem
add sp, #0xc
pop {r4-r7, pc}
.balign 4
diff --git a/arm9/asm/unk_02050E48.s b/arm9/asm/unk_02050E48.s
index 74026711..51c42247 100644
--- a/arm9/asm/unk_02050E48.s
+++ b/arm9/asm/unk_02050E48.s
@@ -98,7 +98,7 @@ FUN_02050ED4: ; 0x02050ED4
str r0, [r4, #0x0]
ldr r0, [r5, #0x24]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
add r0, r4, #0x0
mov r1, #0x0
diff --git a/arm9/asm/unk_0205CE48.s b/arm9/asm/unk_0205CE48.s
index 631cedd6..c42ef09c 100644
--- a/arm9/asm/unk_0205CE48.s
+++ b/arm9/asm/unk_0205CE48.s
@@ -291,7 +291,7 @@ FUN_0205D024: ; 0x0205D024
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r5, #0xc]
bl FUN_02025838
@@ -774,7 +774,7 @@ FUN_0205D400: ; 0x0205D400
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r5, #0xc]
bl FUN_02025838
@@ -1146,11 +1146,11 @@ FUN_0205D6BC: ; 0x0205D6BC
mov r0, #0xa
strh r0, [r4, #0x2a]
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldrh r1, [r5, #0x4]
mov r2, #0x1
mov r3, #0xb
- bl FUN_0206EDD4
+ bl Bag_TakeItem
pop {r3-r7, pc}
.balign 4
_0205D710: .word MOD05_021F57F0
@@ -1389,8 +1389,8 @@ FUN_0205D8B8: ; 0x0205D8B8
str r0, [r4, #0x10]
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
- bl FUN_0206EBC4
+ bl Sav2_Bag_get
+ bl Bag_GetRegisteredItem
add r2, r0, #0x0
ldr r0, [r5, #0x0]
lsl r2, r2, #0x10
@@ -1505,7 +1505,7 @@ FUN_0205D9A8: ; 0x0205D9A8
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r5, #0xc]
bl FUN_02025838
@@ -1571,11 +1571,11 @@ FUN_0205DA3C: ; 0x0205DA3C
mov r0, #0xa
strh r0, [r4, #0x2a]
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldrh r1, [r5, #0x4]
mov r2, #0x1
mov r3, #0xb
- bl FUN_0206EDD4
+ bl Bag_TakeItem
pop {r4-r6, pc}
nop
_0205DA7C: .word FUN_0205DAAC
@@ -1704,8 +1704,8 @@ _0205DB54:
pop {r3-r7, pc}
_0205DB66:
ldr r0, [r5, #0xc]
- bl FUN_0206F158
- bl FUN_0206EBC4
+ bl Sav2_Bag_get
+ bl Bag_GetRegisteredItem
lsl r0, r0, #0x10
lsr r0, r0, #0x10
mov r1, #0x6
diff --git a/arm9/asm/unk_0205DD18.s b/arm9/asm/unk_0205DD18.s
index f5987509..80b7ca1a 100644
--- a/arm9/asm/unk_0205DD18.s
+++ b/arm9/asm/unk_0205DD18.s
@@ -1037,11 +1037,11 @@ FUN_0205E4A4: ; 0x0205E4A4
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _0205E4D4 ; =0x000001AF
mov r2, #0x1
mov r3, #0x4
- bl FUN_0206EE50
+ bl Bag_HasItem
cmp r0, #0x1
bne _0205E4D0
ldr r0, [r4, #0xc]
diff --git a/arm9/asm/unk_0205FA2C.s b/arm9/asm/unk_0205FA2C.s
index fc7d7a17..ae0d9d3f 100644
--- a/arm9/asm/unk_0205FA2C.s
+++ b/arm9/asm/unk_0205FA2C.s
@@ -32,7 +32,7 @@ FUN_0205FA2C: ; 0x0205FA2C
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
add r0, r6, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
add r0, r4, #0x0
mov r1, #0x0
diff --git a/arm9/asm/unk_02060CCC.s b/arm9/asm/unk_02060CCC.s
index 11145e7b..eaf86357 100644
--- a/arm9/asm/unk_02060CCC.s
+++ b/arm9/asm/unk_02060CCC.s
@@ -1726,12 +1726,12 @@ FUN_020618E0: ; 0x020618E0
FUN_020618EC: ; 0x020618EC
push {r3, lr}
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
mov r1, #0x6b
lsl r1, r1, #0x2
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206EE50
+ bl Bag_HasItem
pop {r3, pc}
.balign 4
@@ -2083,12 +2083,12 @@ FUN_02061B80: ; 0x02061B80
FUN_02061BB4: ; 0x02061BB4
push {r3, lr}
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
mov r1, #0x6b
lsl r1, r1, #0x2
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206EE50
+ bl Bag_HasItem
pop {r3, pc}
.balign 4
@@ -2173,7 +2173,7 @@ FUN_02061C5C: ; 0x02061C5C
ldr r0, [r5, #0xc]
add r4, r1, #0x0
bl SavArray_PlayerParty_get
- bl FUN_0204A20C
+ bl GetFirstNonEggInParty
add r1, sp, #0x8
add r2, sp, #0x4
add r3, sp, #0x4
diff --git a/arm9/asm/unk_020625EC.s b/arm9/asm/unk_020625EC.s
index 5179b667..92829a69 100644
--- a/arm9/asm/unk_020625EC.s
+++ b/arm9/asm/unk_020625EC.s
@@ -1361,7 +1361,7 @@ FUN_02063028: ; 0x02063028
ldr r1, [r5, #0x0]
add r7, r0, #0x1
add r0, r7, #0x0
- bl FUN_02012838
+ bl ListMenu_ctor
add r1, r5, #0x0
add r1, #0xc4
str r0, [r1, #0x0]
@@ -1397,7 +1397,7 @@ _0206307C:
ldr r0, [r0, #0x0]
ldr r1, [r4, #0x64]
add r2, r6, #0x0
- bl FUN_020128A0
+ bl ListMenu_AddItem
ldrb r0, [r5, #0x18]
add r6, r6, #0x1
add r4, r4, #0x4
@@ -1409,7 +1409,7 @@ _02063094:
ldr r0, [r0, #0x0]
ldr r1, [r5, #0x38]
ldr r2, _02063160 ; =0x0000FFFF
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r1, r5, #0x0
ldr r0, _02063164 ; =UNK_020F7C2C
add r1, #0xa0
@@ -1519,7 +1519,7 @@ FUN_02063178: ; 0x02063178
add r0, r4, #0x0
add r0, #0xc4
ldr r0, [r0, #0x0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r4, #0x0
add r0, #0xd4
bl FUN_02019570
diff --git a/arm9/asm/unk_020653EC.s b/arm9/asm/unk_020653EC.s
index 452513ab..edeab8fa 100644
--- a/arm9/asm/unk_020653EC.s
+++ b/arm9/asm/unk_020653EC.s
@@ -800,7 +800,7 @@ _020659DC:
add r1, r4, r1
ldrh r1, [r1, #0x22]
ldr r2, [r4, #0x0]
- bl FUN_0206EEF8
+ bl Bag_GetQuantity
cmp r0, #0x0
ldr r1, _02065AE8 ; =0x0000013B
beq _02065A1A
@@ -976,7 +976,7 @@ FUN_02065AF4: ; 0x02065AF4
ldrb r0, [r5, #0x1b]
ldr r1, [r5, #0x0]
add r0, r0, #0x1
- bl FUN_02012838
+ bl ListMenu_ctor
mov r1, #0x59
lsl r1, r1, #0x2
add r7, r5, #0x0
@@ -995,7 +995,7 @@ _02065B7E:
ldr r1, [r2, #0x8]
ldrb r2, [r2, #0x0]
ldr r0, [r5, r0]
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r0, r6, #0x1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
@@ -1011,7 +1011,7 @@ _02065B9E:
sub r1, #0x4c
ldr r1, [r5, r1]
ldr r2, _02065CE0 ; =0x0000FFFF
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r0, r6, #0x1
lsl r0, r0, #0x18
mov r1, #0x5
@@ -1280,7 +1280,7 @@ FUN_02065DD8: ; 0x02065DD8
str r2, [sp, #0x4]
ldr r1, [r5, #0x0]
mov r0, #0x4
- bl FUN_02012838
+ bl ListMenu_ctor
mov r1, #0x59
lsl r1, r1, #0x2
str r0, [r5, r1]
@@ -1309,7 +1309,7 @@ _02065E14:
ldr r1, [r5, r7]
ldr r2, [r6, r2]
ldr r3, [r3, #0x4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r4, #0x1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
@@ -1422,7 +1422,7 @@ FUN_02065EF8: ; 0x02065EF8
mov r0, #0x59
lsl r0, r0, #0x2
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0x65
lsl r0, r0, #0x2
add r0, r4, r0
@@ -1499,7 +1499,7 @@ FUN_02065F8C: ; 0x02065F8C
mov r0, #0x59
lsl r0, r0, #0x2
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0x5d
lsl r0, r0, #0x2
add r0, r4, r0
@@ -1612,7 +1612,7 @@ FUN_02066070: ; 0x02066070
str r0, [sp, #0x4]
str r0, [r6, r1]
add r0, r4, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
mov r1, #0x1b
lsl r1, r1, #0x4
str r0, [r6, r1]
@@ -1762,7 +1762,7 @@ FUN_020661A0: ; 0x020661A0
ldr r0, [r5, r0]
ldr r3, [r5, #0x0]
mov r2, #0x1
- bl FUN_0206ED24
+ bl Bag_HasSpaceForItem
add r6, r0, #0x0
beq _020661D4
mov r0, #0x1b
@@ -1771,7 +1771,7 @@ FUN_020661A0: ; 0x020661A0
ldr r0, [r5, r0]
ldr r3, [r5, #0x0]
mov r2, #0x1
- bl FUN_0206ED38
+ bl Bag_AddItem
_020661D4:
mov r0, #0x6b
lsl r0, r0, #0x2
@@ -1826,7 +1826,7 @@ FUN_020661F8: ; 0x020661F8
ldr r0, [r5, r0]
ldr r3, [r5, #0x0]
mov r2, #0x1
- bl FUN_0206ED24
+ bl Bag_HasSpaceForItem
cmp r0, #0x0
beq _0206625E
mov r0, #0x1b
@@ -1835,7 +1835,7 @@ FUN_020661F8: ; 0x020661F8
ldr r0, [r5, r0]
ldr r3, [r5, #0x0]
mov r2, #0x1
- bl FUN_0206ED38
+ bl Bag_AddItem
_0206625E:
ldrb r1, [r5, #0x18]
add r0, r5, #0x0
@@ -2383,7 +2383,7 @@ _02066676:
lsl r0, r0, #0x2
ldr r0, [r5, r0]
bl FUN_020377AC
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
mov r0, #0x5b
lsl r0, r0, #0x2
diff --git a/arm9/asm/unk_0206ABC4.s b/arm9/asm/unk_0206ABC4.s
index ddce6b39..9d8b12d8 100644
--- a/arm9/asm/unk_0206ABC4.s
+++ b/arm9/asm/unk_0206ABC4.s
@@ -535,7 +535,7 @@ _0206AFB0:
lsl r2, r6, #0x18
ldr r0, [sp, #0x40]
lsr r2, r2, #0x18
- bl FUN_020697CC
+ bl MonSetMoveInSlot
add r6, r6, #0x1
add r7, r7, #0x2
cmp r6, #0x4
@@ -717,7 +717,7 @@ _0206B120:
lsl r2, r6, #0x18
ldr r0, [sp, #0x40]
lsr r2, r2, #0x18
- bl FUN_020697CC
+ bl MonSetMoveInSlot
add r6, r6, #0x1
add r7, r7, #0x2
cmp r6, #0x4
diff --git a/arm9/asm/unk_0206C700.s b/arm9/asm/unk_0206C700.s
index 94b4217b..7387f701 100644
--- a/arm9/asm/unk_0206C700.s
+++ b/arm9/asm/unk_0206C700.s
@@ -1744,7 +1744,7 @@ _0206D560:
ldrh r1, [r1, #0x0]
ldrb r2, [r2, #0x0]
ldr r0, [r4, #0x28]
- bl FUN_020697CC
+ bl MonSetMoveInSlot
add r0, r4, #0x0
mov r1, #0x14
add r0, #0x66
@@ -2081,7 +2081,7 @@ _0206D854:
ldr r0, [r4, #0x4c]
ldr r2, [r4, #0x5c]
mov r1, #0x4
- bl FUN_0206EEF8
+ bl Bag_GetQuantity
cmp r0, #0x0
beq _0206D86C
ldr r0, [r4, #0x24]
@@ -2216,7 +2216,7 @@ _0206D8EA:
ldr r3, [r4, #0x5c]
mov r1, #0x4
mov r2, #0x1
- bl FUN_0206EDD4
+ bl Bag_TakeItem
add sp, #0x20
pop {r4-r6, pc}
_0206D9A0:
diff --git a/arm9/asm/unk_0206E2F0.s b/arm9/asm/unk_0206E2F0.s
index 264f9294..8694a11b 100644
--- a/arm9/asm/unk_0206E2F0.s
+++ b/arm9/asm/unk_0206E2F0.s
@@ -3,8 +3,8 @@
.text
- thumb_func_start FUN_0206E2F0
-FUN_0206E2F0: ; 0x0206E2F0
+ thumb_func_start BagView_new
+BagView_new: ; 0x0206E2F0
push {r4, lr}
mov r1, #0x78
bl AllocFromHeap
@@ -44,8 +44,8 @@ FUN_0206E314: ; 0x0206E314
pop {r4-r6, pc}
.balign 4
- thumb_func_start FUN_0206E330
-FUN_0206E330: ; 0x0206E330
+ thumb_func_start BagView_setitem
+BagView_setitem: ; 0x0206E330
push {r3-r4}
mov r4, #0xc
mul r4, r3
@@ -199,7 +199,7 @@ FUN_0206E3F8: ; 0x0206E3F8
b _0206E4FA
_0206E428:
mov r1, #0x1b
- lsl r1, r1, #0x4
+ lsl r1, r1, #0x4 ; ITEM_POINT_CARD
cmp r5, r1
bne _0206E454
add r0, r6, #0x0
@@ -218,7 +218,7 @@ _0206E428:
bl FUN_0200AD38
b _0206E4FA
_0206E454:
- add r2, r1, #0x2
+ add r2, r1, #0x2 ; ITEM_SEAL_CASE
cmp r5, r2
bne _0206E47E
add r0, r6, #0x0
@@ -237,7 +237,7 @@ _0206E454:
bl FUN_0200AD38
b _0206E4FA
_0206E47E:
- add r2, r1, #0x3
+ add r2, r1, #0x3 ; ITEM_FASHION_CASE
cmp r5, r2
bne _0206E4C0
add r0, r6, #0x0
@@ -266,7 +266,7 @@ _0206E47E:
bl FUN_0200AD38
b _0206E4FA
_0206E4C0:
- add r1, #0xc
+ add r1, #0xc ; ITEM_COIN_CASE
cmp r5, r1
bne _0206E4EA
add r0, r6, #0x0
diff --git a/arm9/asm/unk_0206EB80.s b/arm9/asm/unk_0206EB80.s
deleted file mode 100644
index bca18f77..00000000
--- a/arm9/asm/unk_0206EB80.s
+++ /dev/null
@@ -1,962 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_0206EB80
-FUN_0206EB80: ; 0x0206EB80
- ldr r0, _0206EB84 ; =0x00000774
- bx lr
- .balign 4
-_0206EB84: .word 0x00000774
-
- thumb_func_start FUN_0206EB88
-FUN_0206EB88: ; 0x0206EB88
- push {r4, lr}
- ldr r1, _0206EB9C ; =0x00000774
- bl AllocFromHeap
- add r4, r0, #0x0
- bl FUN_0206EBA0
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_0206EB9C: .word 0x00000774
-
- thumb_func_start FUN_0206EBA0
-FUN_0206EBA0: ; 0x0206EBA0
- ldr r3, _0206EBAC ; =MIi_CpuClear16
- add r1, r0, #0x0
- mov r0, #0x0
- ldr r2, _0206EBB0 ; =0x00000774
- bx r3
- nop
-_0206EBAC: .word MIi_CpuClear16
-_0206EBB0: .word 0x00000774
-
- thumb_func_start FUN_0206EBB4
-FUN_0206EBB4: ; 0x0206EBB4
- ldr r3, _0206EBBC ; =MI_CpuCopy8
- ldr r2, _0206EBC0 ; =0x00000774
- bx r3
- nop
-_0206EBBC: .word MI_CpuCopy8
-_0206EBC0: .word 0x00000774
-
- thumb_func_start FUN_0206EBC4
-FUN_0206EBC4: ; 0x0206EBC4
- mov r1, #0x77
- lsl r1, r1, #0x4
- ldr r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_0206EBCC
-FUN_0206EBCC: ; 0x0206EBCC
- mov r2, #0x77
- lsl r2, r2, #0x4
- str r1, [r0, r2]
- bx lr
-
- thumb_func_start FUN_0206EBD4
-FUN_0206EBD4: ; 0x0206EBD4
- push {r4-r6, lr}
- add r5, r2, #0x0
- add r4, r0, #0x0
- add r0, r1, #0x0
- ldr r2, [sp, #0x10]
- mov r1, #0x5
- add r6, r3, #0x0
- bl GetItemAttr
- cmp r0, #0x7
- bhi _0206EC64
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206EBF6: ; jump table (using 16-bit offset)
- .short _0206EC14 - _0206EBF6 - 2; case 0
- .short _0206EC28 - _0206EBF6 - 2; case 1
- .short _0206EC34 - _0206EBF6 - 2; case 2
- .short _0206EC58 - _0206EBF6 - 2; case 3
- .short _0206EC1C - _0206EBF6 - 2; case 4
- .short _0206EC4C - _0206EBF6 - 2; case 5
- .short _0206EC40 - _0206EBF6 - 2; case 6
- .short _0206EC06 - _0206EBF6 - 2; case 7
-_0206EC06:
- mov r1, #0xa5
- lsl r1, r1, #0x2
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0x32
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC14:
- str r4, [r5, #0x0]
- mov r1, #0xa5
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC1C:
- ldr r1, _0206EC68 ; =0x000005BC
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0x40
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC28:
- ldr r1, _0206EC6C ; =0x0000051C
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0x28
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC34:
- ldr r1, _0206EC70 ; =0x000006BC
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0xf
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC40:
- ldr r1, _0206EC74 ; =0x000006F8
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0x1e
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC4C:
- ldr r1, _0206EC78 ; =0x000004EC
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0xc
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC58:
- mov r1, #0xd7
- lsl r1, r1, #0x2
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0x64
- str r1, [r6, #0x0]
-_0206EC64:
- pop {r4-r6, pc}
- nop
-_0206EC68: .word 0x000005BC
-_0206EC6C: .word 0x0000051C
-_0206EC70: .word 0x000006BC
-_0206EC74: .word 0x000006F8
-_0206EC78: .word 0x000004EC
-
- thumb_func_start FUN_0206EC7C
-FUN_0206EC7C: ; 0x0206EC7C
- push {r4-r7}
- add r5, r1, #0x0
- mov r1, #0x0
- add r7, r0, #0x0
- add r4, r2, #0x0
- mov r12, r3
- mvn r1, r1
- mov r0, #0x0
- cmp r5, #0x0
- bls _0206ECCA
- add r2, r7, #0x0
- add r3, r1, #0x0
-_0206EC94:
- ldrh r6, [r2, #0x0]
- cmp r4, r6
- bne _0206ECB2
- lsl r0, r0, #0x2
- add r0, r7, r0
- ldrh r2, [r0, #0x2]
- mov r1, r12
- add r2, r1, r2
- add r1, sp, #0x0
- ldrh r1, [r1, #0x10]
- cmp r2, r1
- ble _0206ECDC
- mov r0, #0x0
- pop {r4-r7}
- bx lr
-_0206ECB2:
- cmp r1, r3
- bne _0206ECC2
- cmp r6, #0x0
- bne _0206ECC2
- ldrh r6, [r2, #0x2]
- cmp r6, #0x0
- bne _0206ECC2
- add r1, r0, #0x0
-_0206ECC2:
- add r0, r0, #0x1
- add r2, r2, #0x4
- cmp r0, r5
- blo _0206EC94
-_0206ECCA:
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- bne _0206ECD8
- mov r0, #0x0
- pop {r4-r7}
- bx lr
-_0206ECD8:
- lsl r0, r1, #0x2
- add r0, r7, r0
-_0206ECDC:
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_0206ECE0
-FUN_0206ECE0: ; 0x0206ECE0
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- str r3, [sp, #0x0]
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r5, r1, #0x0
- bl FUN_0206EBD4
- cmp r0, #0x3
- bne _0206ED0A
- mov r0, #0x63
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- add r2, r5, #0x0
- add r3, r4, #0x0
- bl FUN_0206EC7C
- add sp, #0xc
- pop {r4-r5, pc}
-_0206ED0A:
- ldr r0, _0206ED20 ; =0x000003E7
- add r2, r5, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- add r3, r4, #0x0
- bl FUN_0206EC7C
- add sp, #0xc
- pop {r4-r5, pc}
- nop
-_0206ED20: .word 0x000003E7
-
- thumb_func_start FUN_0206ED24
-FUN_0206ED24: ; 0x0206ED24
- push {r3, lr}
- bl FUN_0206ECE0
- cmp r0, #0x0
- beq _0206ED32
- mov r0, #0x1
- pop {r3, pc}
-_0206ED32:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0206ED38
-FUN_0206ED38: ; 0x0206ED38
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_0206ECE0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- bne _0206ED54
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0206ED54:
- strh r5, [r0, #0x0]
- ldr r1, [sp, #0x8]
- add r2, sp, #0x8
- ldrh r0, [r1, #0x2]
- add r3, sp, #0x4
- add r0, r0, r4
- strh r0, [r1, #0x2]
- add r0, r7, #0x0
- add r1, r5, #0x0
- str r6, [sp, #0x0]
- bl FUN_0206EBD4
- sub r0, r0, #0x3
- cmp r0, #0x1
- bhi _0206ED7A
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- bl FUN_0206EF94
-_0206ED7A:
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206ED80
-FUN_0206ED80: ; 0x0206ED80
- push {r3-r6}
- mov r5, #0x0
- cmp r1, #0x0
- bls _0206EDA8
- add r6, r0, #0x0
-_0206ED8A:
- ldrh r4, [r6, #0x0]
- cmp r2, r4
- bne _0206EDA0
- lsl r1, r5, #0x2
- add r0, r0, r1
- ldrh r1, [r0, #0x2]
- cmp r1, r3
- bhs _0206EDAA
- mov r0, #0x0
- pop {r3-r6}
- bx lr
-_0206EDA0:
- add r5, r5, #0x1
- add r6, r6, #0x4
- cmp r5, r1
- blo _0206ED8A
-_0206EDA8:
- mov r0, #0x0
-_0206EDAA:
- pop {r3-r6}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206EDB0
-FUN_0206EDB0: ; 0x0206EDB0
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- str r3, [sp, #0x0]
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r5, r1, #0x0
- bl FUN_0206EBD4
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- add r2, r5, #0x0
- add r3, r4, #0x0
- bl FUN_0206ED80
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0206EDD4
-FUN_0206EDD4: ; 0x0206EDD4
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- add r7, r1, #0x0
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_0206EDB0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- bne _0206EDF0
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0206EDF0:
- ldrh r1, [r0, #0x2]
- sub r1, r1, r5
- strh r1, [r0, #0x2]
- ldr r1, [sp, #0x8]
- ldrh r0, [r1, #0x2]
- cmp r0, #0x0
- bne _0206EE02
- mov r0, #0x0
- strh r0, [r1, #0x0]
-_0206EE02:
- str r4, [sp, #0x0]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r2, sp, #0x8
- add r3, sp, #0x4
- bl FUN_0206EBD4
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- bl FUN_0206EF48
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206EE20
-FUN_0206EE20: ; 0x0206EE20
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r3, #0x0
- bl FUN_0206ED80
- cmp r0, #0x0
- bne _0206EE34
- mov r0, #0x0
- pop {r4-r6, pc}
-_0206EE34:
- ldrh r1, [r0, #0x2]
- sub r1, r1, r4
- strh r1, [r0, #0x2]
- ldrh r1, [r0, #0x2]
- cmp r1, #0x0
- bne _0206EE44
- mov r1, #0x0
- strh r1, [r0, #0x0]
-_0206EE44:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0206EF48
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206EE50
-FUN_0206EE50: ; 0x0206EE50
- push {r3, lr}
- bl FUN_0206EDB0
- cmp r0, #0x0
- beq _0206EE5E
- mov r0, #0x1
- pop {r3, pc}
-_0206EE5E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0206EE64
-FUN_0206EE64: ; 0x0206EE64
- cmp r1, #0x7
- bhi _0206EEC4
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206EE74: ; jump table (using 16-bit offset)
- .short _0206EE8E - _0206EE74 - 2; case 0
- .short _0206EE9A - _0206EE74 - 2; case 1
- .short _0206EEA2 - _0206EE74 - 2; case 2
- .short _0206EEBA - _0206EE74 - 2; case 3
- .short _0206EE92 - _0206EE74 - 2; case 4
- .short _0206EEB2 - _0206EE74 - 2; case 5
- .short _0206EEAA - _0206EE74 - 2; case 6
- .short _0206EE84 - _0206EE74 - 2; case 7
-_0206EE84:
- mov r1, #0xa5
- lsl r1, r1, #0x2
- add r0, r0, r1
- mov r2, #0x32
- b _0206EEC8
-_0206EE8E:
- mov r2, #0xa5
- b _0206EEC8
-_0206EE92:
- ldr r1, _0206EEE4 ; =0x000005BC
- mov r2, #0x40
- add r0, r0, r1
- b _0206EEC8
-_0206EE9A:
- ldr r1, _0206EEE8 ; =0x0000051C
- mov r2, #0x28
- add r0, r0, r1
- b _0206EEC8
-_0206EEA2:
- ldr r1, _0206EEEC ; =0x000006BC
- mov r2, #0xf
- add r0, r0, r1
- b _0206EEC8
-_0206EEAA:
- ldr r1, _0206EEF0 ; =0x000006F8
- mov r2, #0x1e
- add r0, r0, r1
- b _0206EEC8
-_0206EEB2:
- ldr r1, _0206EEF4 ; =0x000004EC
- mov r2, #0xc
- add r0, r0, r1
- b _0206EEC8
-_0206EEBA:
- mov r1, #0xd7
- lsl r1, r1, #0x2
- add r0, r0, r1
- mov r2, #0x64
- b _0206EEC8
-_0206EEC4:
- mov r0, #0x0
- bx lr
-_0206EEC8:
- mov r3, #0x0
- cmp r2, #0x0
- bls _0206EEE0
-_0206EECE:
- ldrh r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0206EED8
- mov r0, #0x1
- bx lr
-_0206EED8:
- add r3, r3, #0x1
- add r0, r0, #0x4
- cmp r3, r2
- blo _0206EECE
-_0206EEE0:
- mov r0, #0x0
- bx lr
- .balign 4
-_0206EEE4: .word 0x000005BC
-_0206EEE8: .word 0x0000051C
-_0206EEEC: .word 0x000006BC
-_0206EEF0: .word 0x000006F8
-_0206EEF4: .word 0x000004EC
-
- thumb_func_start FUN_0206EEF8
-FUN_0206EEF8: ; 0x0206EEF8
- push {r3, lr}
- add r3, r2, #0x0
- mov r2, #0x1
- bl FUN_0206EDB0
- cmp r0, #0x0
- bne _0206EF0A
- mov r0, #0x0
- pop {r3, pc}
-_0206EF0A:
- ldrh r0, [r0, #0x2]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0206EF10
-FUN_0206EF10: ; 0x0206EF10
- push {r3, lr}
- mov r3, #0x1
- bl FUN_0206ED80
- cmp r0, #0x0
- bne _0206EF20
- mov r0, #0x0
- pop {r3, pc}
-_0206EF20:
- ldrh r0, [r0, #0x2]
- pop {r3, pc}
-
- thumb_func_start FUN_0206EF24
-FUN_0206EF24: ; 0x0206EF24
- push {r3}
- sub sp, #0x4
- ldrh r3, [r0, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x0]
- ldrh r3, [r0, #0x2]
- strh r3, [r2, #0x2]
- ldrh r3, [r1, #0x0]
- strh r3, [r0, #0x0]
- ldrh r3, [r1, #0x2]
- strh r3, [r0, #0x2]
- ldrh r0, [r2, #0x0]
- strh r0, [r1, #0x0]
- ldrh r0, [r2, #0x2]
- strh r0, [r1, #0x2]
- add sp, #0x4
- pop {r3}
- bx lr
-
- thumb_func_start FUN_0206EF48
-FUN_0206EF48: ; 0x0206EF48
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r7, r1, #0x0
- str r0, [sp, #0x4]
- sub r0, r7, #0x1
- str r0, [sp, #0x8]
- beq _0206EF8E
- ldr r4, [sp, #0x0]
-_0206EF5C:
- ldr r0, [sp, #0x4]
- add r6, r0, #0x1
- cmp r6, r7
- bhs _0206EF80
- ldr r0, [sp, #0x0]
- lsl r1, r6, #0x2
- add r5, r0, r1
-_0206EF6A:
- ldrh r0, [r4, #0x2]
- cmp r0, #0x0
- bne _0206EF78
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0206EF24
-_0206EF78:
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, r7
- blo _0206EF6A
-_0206EF80:
- ldr r0, [sp, #0x4]
- add r4, r4, #0x4
- add r1, r0, #0x1
- ldr r0, [sp, #0x8]
- str r1, [sp, #0x4]
- cmp r1, r0
- blo _0206EF5C
-_0206EF8E:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206EF94
-FUN_0206EF94: ; 0x0206EF94
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r7, r1, #0x0
- str r0, [sp, #0x4]
- sub r0, r7, #0x1
- str r0, [sp, #0x8]
- beq _0206EFE8
- ldr r4, [sp, #0x0]
-_0206EFA8:
- ldr r0, [sp, #0x4]
- add r6, r0, #0x1
- cmp r6, r7
- bhs _0206EFDA
- ldr r0, [sp, #0x0]
- lsl r1, r6, #0x2
- add r5, r0, r1
-_0206EFB6:
- ldrh r0, [r4, #0x2]
- cmp r0, #0x0
- beq _0206EFCA
- ldrh r0, [r5, #0x2]
- cmp r0, #0x0
- beq _0206EFD2
- ldrh r1, [r4, #0x0]
- ldrh r0, [r5, #0x0]
- cmp r1, r0
- bls _0206EFD2
-_0206EFCA:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0206EF24
-_0206EFD2:
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, r7
- blo _0206EFB6
-_0206EFDA:
- ldr r0, [sp, #0x4]
- add r4, r4, #0x4
- add r1, r0, #0x1
- ldr r0, [sp, #0x8]
- str r1, [sp, #0x4]
- cmp r1, r0
- blo _0206EFA8
-_0206EFE8:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206EFEC
-FUN_0206EFEC: ; 0x0206EFEC
- push {r3-r7, lr}
- add r5, r0, #0x0
- lsl r0, r2, #0x18
- add r7, r1, #0x0
- lsr r0, r0, #0x18
- bl FUN_0206E2F0
- add r6, r0, #0x0
- ldrb r0, [r7, #0x0]
- mov r4, #0x0
- cmp r0, #0xff
- beq _0206F0BE
-_0206F004:
- ldrb r0, [r7, r4]
- cmp r0, #0x7
- bhi _0206F0B6
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206F016: ; jump table (using 16-bit offset)
- .short _0206F03A - _0206F016 - 2; case 0
- .short _0206F05C - _0206F016 - 2; case 1
- .short _0206F06E - _0206F016 - 2; case 2
- .short _0206F0A4 - _0206F016 - 2; case 3
- .short _0206F04A - _0206F016 - 2; case 4
- .short _0206F092 - _0206F016 - 2; case 5
- .short _0206F080 - _0206F016 - 2; case 6
- .short _0206F026 - _0206F016 - 2; case 7
-_0206F026:
- mov r1, #0xa5
- lsl r1, r1, #0x2
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x7
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F03A:
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, #0x0
- mov r2, #0x0
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F04A:
- ldr r1, _0206F0C4 ; =0x000005BC
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x4
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F05C:
- ldr r1, _0206F0C8 ; =0x0000051C
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x1
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F06E:
- ldr r1, _0206F0CC ; =0x000006BC
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x2
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F080:
- ldr r1, _0206F0D0 ; =0x000006F8
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x6
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F092:
- ldr r1, _0206F0D4 ; =0x000004EC
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x5
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F0A4:
- mov r1, #0xd7
- lsl r1, r1, #0x2
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x3
- lsr r3, r3, #0x18
- bl FUN_0206E330
-_0206F0B6:
- add r4, r4, #0x1
- ldrb r0, [r7, r4]
- cmp r0, #0xff
- bne _0206F004
-_0206F0BE:
- add r0, r6, #0x0
- pop {r3-r7, pc}
- nop
-_0206F0C4: .word 0x000005BC
-_0206F0C8: .word 0x0000051C
-_0206F0CC: .word 0x000006BC
-_0206F0D0: .word 0x000006F8
-_0206F0D4: .word 0x000004EC
-
- thumb_func_start FUN_0206F0D8
-FUN_0206F0D8: ; 0x0206F0D8
- cmp r1, #0x7
- bhi _0206F136
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206F0E8: ; jump table (using 16-bit offset)
- .short _0206F102 - _0206F0E8 - 2; case 0
- .short _0206F10E - _0206F0E8 - 2; case 1
- .short _0206F116 - _0206F0E8 - 2; case 2
- .short _0206F12E - _0206F0E8 - 2; case 3
- .short _0206F106 - _0206F0E8 - 2; case 4
- .short _0206F126 - _0206F0E8 - 2; case 5
- .short _0206F11E - _0206F0E8 - 2; case 6
- .short _0206F0F8 - _0206F0E8 - 2; case 7
-_0206F0F8:
- mov r1, #0xa5
- lsl r1, r1, #0x2
- add r0, r0, r1
- mov r3, #0x32
- b _0206F136
-_0206F102:
- mov r3, #0xa5
- b _0206F136
-_0206F106:
- ldr r1, _0206F144 ; =0x000005BC
- mov r3, #0x40
- add r0, r0, r1
- b _0206F136
-_0206F10E:
- ldr r1, _0206F148 ; =0x0000051C
- mov r3, #0x28
- add r0, r0, r1
- b _0206F136
-_0206F116:
- ldr r1, _0206F14C ; =0x000006BC
- mov r3, #0xf
- add r0, r0, r1
- b _0206F136
-_0206F11E:
- ldr r1, _0206F150 ; =0x000006F8
- mov r3, #0x1e
- add r0, r0, r1
- b _0206F136
-_0206F126:
- ldr r1, _0206F154 ; =0x000004EC
- mov r3, #0xc
- add r0, r0, r1
- b _0206F136
-_0206F12E:
- mov r1, #0xd7
- lsl r1, r1, #0x2
- add r0, r0, r1
- mov r3, #0x64
-_0206F136:
- cmp r2, r3
- blo _0206F13E
- mov r0, #0x0
- bx lr
-_0206F13E:
- lsl r1, r2, #0x2
- add r0, r0, r1
- bx lr
- .balign 4
-_0206F144: .word 0x000005BC
-_0206F148: .word 0x0000051C
-_0206F14C: .word 0x000006BC
-_0206F150: .word 0x000006F8
-_0206F154: .word 0x000004EC
-
- thumb_func_start FUN_0206F158
-FUN_0206F158: ; 0x0206F158
- ldr r3, _0206F160 ; =SavArray_get
- mov r1, #0x3
- bx r3
- nop
-_0206F160: .word SavArray_get
-
- thumb_func_start FUN_0206F164
-FUN_0206F164: ; 0x0206F164
- push {r4, lr}
- mov r1, #0x24
- bl AllocFromHeap
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x24
- bl MIi_CpuClear16
- add r0, r4, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0206F17C
-FUN_0206F17C: ; 0x0206F17C
- push {r3-r4}
- add r4, r0, r1
- ldrb r4, [r4, #0x8]
- strb r4, [r2, #0x0]
- ldrb r0, [r0, r1]
- strb r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0206F18C
-FUN_0206F18C: ; 0x0206F18C
- ldrh r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_0206F190
-FUN_0206F190: ; 0x0206F190
- push {r3-r4}
- add r4, r0, r1
- strb r2, [r4, #0x8]
- strb r3, [r0, r1]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0206F19C
-FUN_0206F19C: ; 0x0206F19C
- strh r1, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_0206F1A0
-FUN_0206F1A0: ; 0x0206F1A0
- add r1, r0, r1
- ldrb r0, [r1, #0x19]
- strb r0, [r2, #0x0]
- ldrb r0, [r1, #0x14]
- strb r0, [r3, #0x0]
- bx lr
-
- thumb_func_start FUN_0206F1AC
-FUN_0206F1AC: ; 0x0206F1AC
- ldrh r0, [r0, #0x1e]
- bx lr
-
- thumb_func_start FUN_0206F1B0
-FUN_0206F1B0: ; 0x0206F1B0
- ldrh r0, [r0, #0x20]
- bx lr
-
- thumb_func_start FUN_0206F1B4
-FUN_0206F1B4: ; 0x0206F1B4
- ldrh r0, [r0, #0x22]
- bx lr
-
- thumb_func_start FUN_0206F1B8
-FUN_0206F1B8: ; 0x0206F1B8
- add r0, r0, r1
- strb r2, [r0, #0x19]
- strb r3, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_0206F1C0
-FUN_0206F1C0: ; 0x0206F1C0
- push {r4-r6, lr}
- mov r4, #0x0
- add r5, r0, #0x0
- add r6, r4, #0x0
-_0206F1C8:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r6, #0x0
- bl FUN_0206F1B8
- add r4, r4, #0x1
- cmp r4, #0x5
- blo _0206F1C8
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0206F1EC
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206F1E4
-FUN_0206F1E4: ; 0x0206F1E4
- strh r1, [r0, #0x1e]
- strh r2, [r0, #0x20]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206F1EC
-FUN_0206F1EC: ; 0x0206F1EC
- strh r1, [r0, #0x22]
- bx lr
diff --git a/arm9/asm/unk_0206F3FC.s b/arm9/asm/unk_0206F3FC.s
index 4dc1be07..5c8bbf31 100644
--- a/arm9/asm/unk_0206F3FC.s
+++ b/arm9/asm/unk_0206F3FC.s
@@ -778,7 +778,7 @@ _0206F914:
bl FUN_02001C5C
ldr r0, _0206F978 ; =0x000006F8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r4, #0x0
mov r1, #0x1d
mov r2, #0x1
@@ -5415,7 +5415,7 @@ _02071E5A:
mov r3, #0xc
ldr r0, [r1, #0x4]
ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
+ bl Bag_TakeItem
add r0, r4, #0x0
mov r1, #0x1a
bl GetItemAttr_PreloadedItemData
@@ -5666,7 +5666,7 @@ FUN_02072080: ; 0x02072080
ldr r1, [r4, r0]
ldr r0, [r1, #0x4]
ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
+ bl Bag_TakeItem
add r0, r5, #0x0
mov r1, #0x6
add r2, sp, #0x0
@@ -5709,7 +5709,7 @@ FUN_020720E0: ; 0x020720E0
lsr r1, r1, #0x10
mov r2, #0x1
mov r3, #0xc
- bl FUN_0206ED38
+ bl Bag_AddItem
add r0, r5, #0x0
mov r1, #0x6
add r2, sp, #0x1c
@@ -5825,7 +5825,7 @@ _020721B0:
mov r2, #0x1
ldr r0, [r0, #0x4]
mov r3, #0xc
- bl FUN_0206ED38
+ bl Bag_AddItem
cmp r0, #0x0
bne _0207220C
add r0, r5, #0x0
@@ -5854,7 +5854,7 @@ _0207220C:
ldr r0, [r0, #0x4]
mov r2, #0x1
mov r3, #0xc
- bl FUN_0206EDD4
+ bl Bag_TakeItem
add r0, r5, #0x0
add r1, r7, #0x0
add r2, r6, #0x0
@@ -6024,7 +6024,7 @@ _02072388:
ldr r0, [r0, #0x4]
mov r2, #0x1
mov r3, #0xc
- bl FUN_0206ED38
+ bl Bag_AddItem
ldr r2, _0207241C ; =0x0000069C
mov r1, #0x54
ldr r0, [r5, r2]
diff --git a/arm9/asm/unk_02072548.s b/arm9/asm/unk_02072548.s
index 3479c659..99ab8a55 100644
--- a/arm9/asm/unk_02072548.s
+++ b/arm9/asm/unk_02072548.s
@@ -453,7 +453,7 @@ FUN_02072844: ; 0x02072844
bl FUN_02019064
ldr r0, [sp, #0x14]
mov r1, #0xc
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _0207294C ; =0x000006F8
mov r6, #0x0
str r0, [r5, r1]
@@ -473,7 +473,7 @@ _02072890:
ldr r1, _02072950 ; =0x000006E8
ldr r0, [r5, r0]
ldr r1, [r3, r1]
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r0, r6, #0x1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
@@ -488,7 +488,7 @@ _020728B4:
ldr r1, _02072954 ; =0x000006AC
ldr r0, [r5, r0]
ldr r1, [r3, r1]
- bl FUN_020128A0
+ bl ListMenu_AddItem
_020728CC:
add r0, r4, #0x1
lsl r0, r0, #0x10
diff --git a/arm9/asm/unk_02073DA8.s b/arm9/asm/unk_02073DA8.s
index cf11907a..8eed46de 100644
--- a/arm9/asm/unk_02073DA8.s
+++ b/arm9/asm/unk_02073DA8.s
@@ -46,7 +46,7 @@ FUN_02073DB4: ; 0x02073DB4
bl FUN_02001C5C
ldr r0, _02073DF0 ; =0x000006F8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0x95
lsl r0, r0, #0x2
add r0, r4, r0
@@ -69,7 +69,7 @@ FUN_02073DF4: ; 0x02073DF4
bl FUN_020731D4
mov r0, #0x3
mov r1, #0xc
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _02073EB0 ; =0x000006F8
str r0, [r5, r1]
mov r0, #0x3
@@ -79,7 +79,7 @@ FUN_02073DF4: ; 0x02073DF4
ldr r0, [r5, r1]
sub r1, #0x40
ldr r1, [r5, r1]
- bl FUN_020128A0
+ bl ListMenu_AddItem
mov r0, #0x4
bl FUN_02073DA8
ldr r1, _02073EB0 ; =0x000006F8
@@ -87,7 +87,7 @@ FUN_02073DF4: ; 0x02073DF4
ldr r0, [r5, r1]
sub r1, #0x3c
ldr r1, [r5, r1]
- bl FUN_020128A0
+ bl ListMenu_AddItem
mov r0, #0x9
bl FUN_02073DA8
ldr r1, _02073EB0 ; =0x000006F8
@@ -95,7 +95,7 @@ FUN_02073DF4: ; 0x02073DF4
ldr r0, [r5, r1]
sub r1, #0x28
ldr r1, [r5, r1]
- bl FUN_020128A0
+ bl ListMenu_AddItem
ldr r0, _02073EB0 ; =0x000006F8
mov r1, #0x0
ldr r0, [r5, r0]
@@ -155,7 +155,7 @@ FUN_02073EB8: ; 0x02073EB8
bl FUN_02001C5C
ldr r0, _02073EE4 ; =0x000006F8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02073EE8 ; =0x000005A4
mov r1, #0x3
ldr r0, [r5, r0]
@@ -186,7 +186,7 @@ FUN_02073EEC: ; 0x02073EEC
bl FUN_02001C5C
ldr r0, _02074048 ; =0x000006F8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _0207404C ; =0x00000B25
ldrb r1, [r5, r0]
mov r0, #0x2c
@@ -230,7 +230,7 @@ _02073F66:
ldr r0, [r0, #0x4]
mov r2, #0x1
mov r3, #0xc
- bl FUN_0206ED38
+ bl Bag_AddItem
cmp r0, #0x1
bne _0207400A
ldr r0, _02074054 ; =0x000005A4
@@ -381,7 +381,7 @@ FUN_020740AC: ; 0x020740AC
bl FUN_020731D4
mov r0, #0x3
mov r1, #0xc
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _02074168 ; =0x000006F8
str r0, [r5, r1]
mov r0, #0x6
@@ -391,7 +391,7 @@ FUN_020740AC: ; 0x020740AC
ldr r0, [r5, r1]
sub r1, #0x34
ldr r1, [r5, r1]
- bl FUN_020128A0
+ bl ListMenu_AddItem
mov r0, #0x7
bl FUN_02073DA8
ldr r1, _02074168 ; =0x000006F8
@@ -399,7 +399,7 @@ FUN_020740AC: ; 0x020740AC
ldr r0, [r5, r1]
sub r1, #0x30
ldr r1, [r5, r1]
- bl FUN_020128A0
+ bl ListMenu_AddItem
mov r0, #0x9
bl FUN_02073DA8
ldr r1, _02074168 ; =0x000006F8
@@ -407,7 +407,7 @@ FUN_020740AC: ; 0x020740AC
ldr r0, [r5, r1]
sub r1, #0x28
ldr r1, [r5, r1]
- bl FUN_020128A0
+ bl ListMenu_AddItem
ldr r0, _02074168 ; =0x000006F8
mov r1, #0x0
ldr r0, [r5, r0]
@@ -467,7 +467,7 @@ FUN_02074170: ; 0x02074170
bl FUN_02001C5C
ldr r0, _0207419C ; =0x000006F8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _020741A0 ; =0x000005A4
mov r1, #0x7
ldr r0, [r5, r0]
@@ -497,7 +497,7 @@ FUN_020741A4: ; 0x020741A4
bl FUN_02001C5C
ldr r0, _020741F0 ; =0x000006F8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r5, #0x0
mov r1, #0x2b
mov r2, #0x1
@@ -617,7 +617,7 @@ FUN_020742A8: ; 0x020742A8
ldr r0, [r0, #0x4]
mov r2, #0x1
mov r3, #0xc
- bl FUN_0206ED38
+ bl Bag_AddItem
cmp r0, #0x1
bne _0207431A
ldr r0, _02074334 ; =0x000005A4
@@ -744,7 +744,7 @@ FUN_020743AC: ; 0x020743AC
bl FUN_02001C5C
ldr r0, _02074414 ; =0x000006F8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02074418 ; =0x000005A4
mov r1, #0x0
ldr r0, [r5, r0]
@@ -2324,7 +2324,7 @@ FUN_02075090: ; 0x02075090
bl FUN_02001C5C
ldr r0, _020750C0 ; =0x000006F8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0x1b
str r0, [r4, #0x0]
pop {r3-r5, pc}
@@ -2349,7 +2349,7 @@ FUN_020750C4: ; 0x020750C4
bl FUN_02001C5C
ldr r0, _020750F4 ; =0x000006F8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0x1b
str r0, [r4, #0x0]
pop {r3-r5, pc}
@@ -2482,7 +2482,7 @@ _020751E4:
bl FUN_02001C5C
ldr r0, _0207523C ; =0x000006F8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0x1b
str r0, [r6, #0x0]
pop {r4-r6, pc}
diff --git a/arm9/asm/unk_0207550C.s b/arm9/asm/unk_0207550C.s
index d2c20b95..4750d078 100644
--- a/arm9/asm/unk_0207550C.s
+++ b/arm9/asm/unk_0207550C.s
@@ -1744,7 +1744,7 @@ _020763B2:
mov r3, #0xc
ldr r0, [r1, #0x4]
ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
+ bl Bag_TakeItem
ldr r0, _020763F0 ; =0x000005A4
mov r1, #0x0
ldr r0, [r4, r0]
@@ -3114,7 +3114,7 @@ FUN_02076F2C: ; 0x02076F2C
mov r3, #0xc
ldr r0, [r1, #0x4]
ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
+ bl Bag_TakeItem
_02076F98:
add r0, r5, #0x0
bl FUN_020772CC
@@ -3174,7 +3174,7 @@ FUN_02076FB0: ; 0x02076FB0
mov r2, #0x2
ldr r1, [r5, r1]
mvn r2, r2
- bl FUN_020128A0
+ bl ListMenu_AddItem
mov r0, #0x0
pop {r3-r7, pc}
_0207701C:
@@ -3182,7 +3182,7 @@ _0207701C:
sub r1, #0x50
ldr r1, [r5, r1]
add r2, r6, #0x0
- bl FUN_020128A0
+ bl ListMenu_AddItem
mov r0, #0x1
pop {r3-r7, pc}
.balign 4
@@ -3209,7 +3209,7 @@ _02077050:
_02077058:
mov r0, #0x4
mov r1, #0xc
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _02077108 ; =0x000006F8
str r0, [r4, r1]
add r0, r4, #0x0
@@ -3328,7 +3328,7 @@ _02077130:
bl FUN_02001C5C
ldr r0, _02077230 ; =0x000006F8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r5, #0x0
mov r1, #0x20
mov r2, #0x1
@@ -3353,7 +3353,7 @@ _0207716A:
bl FUN_02001C5C
ldr r0, _02077230 ; =0x000006F8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02077234 ; =0x000005A4
ldr r6, [r5, r0]
add r0, r5, #0x0
@@ -3392,7 +3392,7 @@ _0207716A:
mov r3, #0xc
ldr r0, [r1, #0x4]
ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
+ bl Bag_TakeItem
ldr r0, _0207723C ; =0x000005EC
bl FUN_020054C8
b _02077204
diff --git a/arm9/asm/unk_020859C0.s b/arm9/asm/unk_020859C0.s
index 410345d4..8f1aa043 100644
--- a/arm9/asm/unk_020859C0.s
+++ b/arm9/asm/unk_020859C0.s
@@ -635,7 +635,7 @@ _02085E66:
ldr r0, [r7, #0x1c]
str r0, [r4, #0x0]
ldr r0, [r6, #0x10]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r6, #0x10]
bl FUN_02025838
diff --git a/arm9/asm/unk_02086414.s b/arm9/asm/unk_02086414.s
index 598bb827..05e25ce3 100644
--- a/arm9/asm/unk_02086414.s
+++ b/arm9/asm/unk_02086414.s
@@ -658,7 +658,7 @@ FUN_02086878: ; 0x02086878
bl FUN_02019064
mov r0, #0x2
mov r1, #0x47
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x44]
ldr r2, _0208695C ; =0x0000013F
mov r0, #0x0
@@ -675,7 +675,7 @@ _020868DE:
ldr r0, [r5, #0x44]
add r1, r6, #0x0
add r2, r4, #0x0
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r0, r6, #0x0
bl String_dtor
add r4, r4, #0x1
@@ -744,7 +744,7 @@ FUN_02086960: ; 0x02086960
mov r1, #0x0
bl FUN_02001C5C
ldr r0, [r4, #0x44]
- bl FUN_02012870
+ bl ListMenu_dtor
pop {r4, pc}
thumb_func_start FUN_0208698C
diff --git a/arm9/asm/unk_02087D00.s b/arm9/asm/unk_02087D00.s
index 46f48b7a..5676baf3 100644
--- a/arm9/asm/unk_02087D00.s
+++ b/arm9/asm/unk_02087D00.s
@@ -66,7 +66,7 @@ FUN_02087D00: ; 0x02087D00
bl SavArray_PlayerParty_get
str r0, [r7, #0x10]
add r0, r4, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r7, #0x14]
add r0, r4, #0x0
bl Sav2_PlayerData_GetOptionsAddr
diff --git a/arm9/asm/unk_0208890C.s b/arm9/asm/unk_0208890C.s
index 92bfc9b5..58ffb9d8 100644
--- a/arm9/asm/unk_0208890C.s
+++ b/arm9/asm/unk_0208890C.s
@@ -30,7 +30,7 @@ FUN_0208890C: ; 0x0208890C
bl Sav2_PlayerData_GetProfileAddr
str r0, [r4, #0x10]
add r0, r5, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x14]
add r0, r5, #0x0
bl Sav2_PlayerData_GetOptionsAddr
diff --git a/arm9/asm/unk_02088AAC.s b/arm9/asm/unk_02088AAC.s
index b8a83eab..30ea796e 100644
--- a/arm9/asm/unk_02088AAC.s
+++ b/arm9/asm/unk_02088AAC.s
@@ -131,7 +131,7 @@ FUN_02088B4C: ; 0x02088B4C
ldr r1, _02088BA4 ; =UNK_020FD6F4
ldr r0, [r0, #0x14]
ldr r2, [r5, #0x0]
- bl FUN_0206EFEC
+ bl CreateBagView
add r4, r0, #0x0
ldrh r0, [r5, #0x6]
lsl r0, r0, #0x18
@@ -177,7 +177,7 @@ _02088BBA:
ldr r0, [r4, #0x0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
- bl FUN_0206E2F0
+ bl BagView_new
add r5, r0, #0x0
bl FUN_0206E308
add r2, r0, #0x0
@@ -228,7 +228,7 @@ _02088C1E:
ldr r3, [r4, #0x0]
lsr r1, r1, #0x10
mov r2, #0x1
- bl FUN_0206EDD4
+ bl Bag_TakeItem
cmp r0, #0x0
bne _02088C38
bl ErrorHandling
@@ -271,7 +271,7 @@ _02088C70:
ldr r3, [r5, #0x0]
add r1, r7, #0x0
mov r2, #0x1
- bl FUN_0206EE50
+ bl Bag_HasItem
cmp r0, #0x1
bne _02088C9A
ldr r0, [r5, #0x18]
diff --git a/arm9/asm/unk_02089D90.s b/arm9/asm/unk_02089D90.s
index 6849192b..b4a6a662 100644
--- a/arm9/asm/unk_02089D90.s
+++ b/arm9/asm/unk_02089D90.s
@@ -168,7 +168,7 @@ FUN_02089D90: ; 0x02089D90
bl FUN_0200A274
mov r4, #0x1
_02089EE4:
- bl FUN_02000FE8
+ bl HandleDSLidAction
add r0, r4, #0x0
add r1, r4, #0x0
bl OS_WaitIrq
diff --git a/arm9/asm/unk_02089F24.s b/arm9/asm/unk_02089F24.s
index 19e3631e..8dfe9755 100644
--- a/arm9/asm/unk_02089F24.s
+++ b/arm9/asm/unk_02089F24.s
@@ -172,7 +172,7 @@ FUN_02089F24: ; 0x02089F24
bl FUN_0200A274
mov r4, #0x1
_0208A078:
- bl FUN_02000FE8
+ bl HandleDSLidAction
add r0, r4, #0x0
add r1, r4, #0x0
bl OS_WaitIrq
@@ -340,8 +340,9 @@ _0208A0C8:
mov r2, #0x3
bl FUN_0200A274
mov r4, #0x1
+ ; Battery-saver trap
_0208A21A:
- bl FUN_02000FE8
+ bl HandleDSLidAction
add r0, r4, #0x0
add r1, r4, #0x0
bl OS_WaitIrq
diff --git a/arm9/asm/unk_0208A998.s b/arm9/asm/unk_0208A998.s
index bd8f0bf7..4b3a5510 100644
--- a/arm9/asm/unk_0208A998.s
+++ b/arm9/asm/unk_0208A998.s
@@ -224,7 +224,7 @@ _0208A9C6:
bl FUN_02032DAC
mov r4, #0x1
_0208AB58:
- bl FUN_02000FE8
+ bl HandleDSLidAction
bl FUN_0202FB80
bl FUN_02033678
cmp r0, #0x0
@@ -239,7 +239,7 @@ _0208AB72:
ldr r7, _0208AC0C ; =0x00002FFF
mov r6, #0x1
_0208AB7A:
- bl FUN_02000FE8
+ bl HandleDSLidAction
ldrh r1, [r5, #0x0]
ldrh r0, [r4, #0x0]
orr r1, r0
diff --git a/arm9/global.inc b/arm9/global.inc
index c8eaec71..1fd91f17 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -187,7 +187,7 @@
.extern FUN_02000E7C
.extern FUN_02000EE8
.extern FUN_02000F18
-.extern FUN_02000FE8
+.extern HandleDSLidAction
.extern FUN_020010A8
.extern FUN_02001204
.extern FUN_02001300
@@ -810,12 +810,12 @@
.extern FUN_02012794
.extern FUN_020127A8
.extern FUN_020127C0
-.extern FUN_02012838
-.extern FUN_02012870
-.extern FUN_02012880
-.extern FUN_020128A0
-.extern FUN_020128C4
-.extern FUN_0201291C
+.extern ListMenu_ctor
+.extern ListMenu_dtor
+.extern ListMenu_ItemFromMsgData
+.extern ListMenu_AddItem
+.extern ListMenu_CopyItem
+.extern ListMenu_DestroyMenuStrings
.extern FUN_02012944
.extern FUN_02012974
.extern FUN_02012988
@@ -1431,9 +1431,9 @@
.extern FUN_02022510
.extern FUN_0202251C
.extern FUN_02022528
-.extern FUN_02022534
-.extern FUN_02022540
-.extern FUN_0202254C
+.extern LoadSaveFile
+.extern SaveGame
+.extern SaveBlock2_new
.extern FUN_020225F8
.extern SavArray_get
.extern FUN_02022634
@@ -1451,8 +1451,8 @@
.extern FUN_02022840
.extern FUN_02022854
.extern FUN_0202287C
-.extern FUN_020232BC
-.extern FUN_02023408
+.extern WriteSaveFileToFlash
+.extern ReadSaveFileFromFlash
.extern FUN_0202376C
.extern FUN_02023770
.extern FUN_02023788
@@ -3320,19 +3320,19 @@
.extern FUN_02044158
.extern FUN_0204416C
.extern FUN_02044198
-.extern FUN_020442BC
-.extern FUN_0204434C
-.extern FUN_020443A8
-.extern FUN_02044414
-.extern FUN_0204449C
-.extern FUN_020444F4
-.extern FUN_02044598
-.extern FUN_02044658
-.extern FUN_0204469C
-.extern FUN_02044730
-.extern FUN_0204478C
-.extern FUN_02044800
-.extern FUN_0204488C
+.extern ScrCmd_givemon
+.extern ScrCmd_getpartyspecies
+.extern ScrCmd_checkpartymonotid
+.extern ScrCmd_giveegg
+.extern ScrCmd_setpartymonmove
+.extern ScrCmd_partymonhasmove
+.extern ScrCmd_findpartymonwithmove
+.extern ScrCmd_survivepsn
+.extern ScrCmd_countpartymonsatorbelowlevel
+.extern ScrCmd_getpartymonlevel
+.extern ScrCmd_getpartymonnature
+.extern ScrCmd_findpartymonwithnature
+.extern ScrCmd_getpartymonfriendship
.extern FUN_020448D4
.extern FUN_020449A4
.extern FUN_02044A0C
@@ -3500,16 +3500,16 @@
.extern FUN_02049EA4
.extern FUN_02049F98
.extern FUN_02049FFC
-.extern FUN_0204A048
-.extern FUN_0204A0C8
-.extern FUN_0204A120
-.extern FUN_0204A138
-.extern FUN_0204A1D8
-.extern FUN_0204A20C
-.extern FUN_0204A248
-.extern FUN_0204A25C
-.extern FUN_0204A29C
-.extern FUN_0204A32C
+.extern GiveMon
+.extern GiveEgg
+.extern PartyMonSetMoveInSlot
+.extern GetIdxOfFirstPartyMonWithMove
+.extern GetFirstAliveMonInParty_CrashIfNone
+.extern GetFirstNonEggInParty
+.extern HasEnoughAlivePokemonForDoubleBattle
+.extern GiveAllMonsTheSinnohChampRibbon
+.extern ApplyPoisonStep
+.extern SurvivePoisoning
.extern FUN_0204A368
.extern FUN_0204A390
.extern FUN_0204A3A4
@@ -4792,7 +4792,7 @@
.extern GetEggSpecies
.extern FUN_02069698
.extern FUN_02069708
-.extern FUN_020697CC
+.extern MonSetMoveInSlot
.extern FUN_02069818
.extern FUN_020698E0
.extern FUN_020698E8
@@ -4975,10 +4975,10 @@
.extern FUN_0206E2AC
.extern FUN_0206E2E0
.extern FUN_0206E2E8
-.extern FUN_0206E2F0
+.extern BagView_new
.extern FUN_0206E308
.extern FUN_0206E314
-.extern FUN_0206E330
+.extern BagView_setitem
.extern FUN_0206E340
.extern FUN_0206E354
.extern FUN_0206E358
@@ -5011,23 +5011,23 @@
.extern ItemIsBitter
.extern LoadAllItemData
.extern GetItemDataPtrFromArray
-.extern FUN_0206EB80
-.extern FUN_0206EB88
-.extern FUN_0206EBA0
-.extern FUN_0206EBB4
-.extern FUN_0206EBC4
-.extern FUN_0206EBCC
-.extern FUN_0206ED24
-.extern FUN_0206ED38
-.extern FUN_0206EDD4
-.extern FUN_0206EE20
-.extern FUN_0206EE50
-.extern FUN_0206EE64
-.extern FUN_0206EEF8
-.extern FUN_0206EF10
-.extern FUN_0206EFEC
-.extern FUN_0206F0D8
-.extern FUN_0206F158
+.extern Sav2_Bag_sizeof
+.extern Sav2_Bag_new
+.extern Sav2_Bag_init
+.extern Sav2_Bag_copy
+.extern Bag_GetRegisteredItem
+.extern Bag_SetRegisteredItem
+.extern Bag_HasSpaceForItem
+.extern Bag_AddItem
+.extern Bag_TakeItem
+.extern Pocket_TakeItem
+.extern Bag_HasItem
+.extern Bag_PocketNotEmpty
+.extern Bag_GetQuantity
+.extern Pocket_GetQuantity
+.extern CreateBagView
+.extern Bag_GetPocketSlotN
+.extern Sav2_Bag_get
.extern FUN_0206F164
.extern FUN_0206F17C
.extern FUN_0206F18C
@@ -5804,7 +5804,7 @@
.extern FUN_020C5E04
.extern FUN_020C6034
.extern FUN_020C605C
-.extern FUN_020D6714
+.extern CARDi_TryWaitAsync
.extern FUN_020D9564
.extern FX_Atan
.extern FX_Atan2
@@ -6489,7 +6489,7 @@
.extern MOD05_021EC854
.extern MOD05_021EC864
.extern MOD05_021ECD64
-.extern MOD05_021ECF14
+.extern MOD05_SetEggStats
.extern MOD05_021ED0CC
.extern MOD05_021ED378
.extern MOD05_021ED49C
diff --git a/arm9/lib/include/MI_memory.h b/arm9/lib/include/MI_memory.h
index c39c7895..d79e9dcb 100644
--- a/arm9/lib/include/MI_memory.h
+++ b/arm9/lib/include/MI_memory.h
@@ -12,6 +12,13 @@ void MIi_CpuCopy16(const void *src, void *dst, u32 size);
void MIi_CpuClear32(u32 data, void *destp, u32 size);
+void MIi_CpuClear16(u16 data, void *destp, u32 size);
+
+static inline void MI_CpuClear16(void * destp, u32 size)
+{
+ MIi_CpuClear16(0, destp, size);
+}
+
static inline void MI_CpuFill32(void *dest, u32 data, u32 size)
{
MIi_CpuClear32(data, dest, size);
diff --git a/arm9/modules/05/asm/mod05_021D80E8.s b/arm9/modules/05/asm/mod05_021D80E8.s
index 81ff471b..f1a29149 100644
--- a/arm9/modules/05/asm/mod05_021D80E8.s
+++ b/arm9/modules/05/asm/mod05_021D80E8.s
@@ -319,7 +319,7 @@ _021D8342:
bne _021D8384
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
- bl FUN_0204A248
+ bl HasEnoughAlivePokemonForDoubleBattle
add r6, r0, #0
ldr r0, [r4, #0xc]
bl SavArray_Flags_get
@@ -387,7 +387,7 @@ _021D83E4:
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
mov r1, #0x7f
- bl FUN_0204A138
+ bl GetIdxOfFirstPartyMonWithMove
cmp r0, #0xff
beq _021D83F8
mov r0, #2
@@ -1473,7 +1473,7 @@ _021D8C88:
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
mov r1, #0x39
- bl FUN_0204A138
+ bl GetIdxOfFirstPartyMonWithMove
cmp r0, #0xff
beq _021D8CE0
ldr r0, _021D8D1C ; =0x00002714
@@ -1899,7 +1899,7 @@ _021D903E:
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
- bl FUN_0204A29C
+ bl ApplyPoisonStep
cmp r0, #0
beq _021D9060
cmp r0, #1
diff --git a/arm9/modules/05/asm/mod05_021E1374.s b/arm9/modules/05/asm/mod05_021E1374.s
index 018f4d8c..75c42499 100644
--- a/arm9/modules/05/asm/mod05_021E1374.s
+++ b/arm9/modules/05/asm/mod05_021E1374.s
@@ -396,11 +396,11 @@ MOD05_021E1654: ; 0x021E1654
bl FUN_0205F43C
add r5, r0, #0
ldr r0, [r7, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _021E16C4 ; =0x000001BB
mov r2, #1
mov r3, #4
- bl FUN_0206EE50
+ bl Bag_HasItem
cmp r0, #1
bne _021E1692
cmp r6, #0x64
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s
index bcebfd49..4bd3be33 100644
--- a/arm9/modules/05/asm/module_05.s
+++ b/arm9/modules/05/asm/module_05.s
@@ -3914,10 +3914,10 @@ _021E497A:
mov r6, #0
_021E4980:
ldr r0, [r5, #4]
- bl FUN_0204A1D8
+ bl GetFirstAliveMonInParty_CrashIfNone
add r7, r0, #0
ldr r0, [r5, #8]
- bl FUN_0204A1D8
+ bl GetFirstAliveMonInParty_CrashIfNone
str r0, [sp]
add r0, r7, #0
mov r1, #0xa0
@@ -20875,8 +20875,8 @@ _021ECF08: .word 0x0000013A
_021ECF0C: .word 0x00000139
_021ECF10: .word 0x000001EA
- thumb_func_start MOD05_021ECF14
-MOD05_021ECF14: ; 0x021ECF14
+ thumb_func_start MOD05_SetEggStats
+MOD05_SetEggStats: ; 0x021ECF14
push {r0, r1, r2, r3}
push {r4, r5, r6, lr}
sub sp, #0x20
@@ -26807,11 +26807,11 @@ _021EFCB0:
pop {r3, r4, r5, r6, pc}
_021EFCC4:
ldr r0, [r6, #0x34]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _021EFD3C ; =0x000001B5
mov r2, #1
mov r3, #4
- bl FUN_0206EE50
+ bl Bag_HasItem
cmp r0, #1
bne _021EFCFE
add r0, r6, #0
@@ -27091,7 +27091,7 @@ MOD05_021EFEDC: ; 0x021EFEDC
add r7, r0, #0
add r0, r7, #1
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5]
mov r0, #1
str r0, [sp]
@@ -27132,7 +27132,7 @@ _021EFF2E:
ldr r0, [r5]
ldr r1, [r5, #8]
add r2, r4, #0
- bl FUN_020128A0
+ bl ListMenu_AddItem
_021EFF54:
add r4, r4, #1
cmp r4, #0x20
@@ -27142,7 +27142,7 @@ _021EFF54:
ldr r0, [r5]
ldr r1, [r5, #0x3c]
sub r3, #0xd
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r4, _021EFFC0 ; =UNK05_021F8B4C
add r3, sp, #0x14
add r2, r3, #0
@@ -27262,7 +27262,7 @@ _021F0056:
add r2, r1, #0
bl FUN_02001300
ldr r0, [r5]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s
index 164e4d16..e2f76b59 100644
--- a/arm9/modules/06/asm/module_06.s
+++ b/arm9/modules/06/asm/module_06.s
@@ -4864,7 +4864,7 @@ _0223BA42:
cmp r0, #0
bne _0223BA8C
add r0, r7, #0
- bl FUN_0204A1D8
+ bl GetFirstAliveMonInParty_CrashIfNone
mov r1, #1
str r1, [sp, #0x34]
mov r1, #0xa0
@@ -5646,7 +5646,7 @@ _0223C0CE:
cmp r0, #0
bne _0223C118
add r0, r6, #0
- bl FUN_0204A1D8
+ bl GetFirstAliveMonInParty_CrashIfNone
mov r1, #1
str r1, [sp, #0x2c]
mov r1, #0xa0
@@ -8162,7 +8162,7 @@ MOD06_0223D3D0: ; 0x0223D3D0
cmp r0, #0
bne _0223D456
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
mov r1, #0x21
lsl r1, r1, #4
str r0, [r4, r1]
@@ -8427,7 +8427,7 @@ MOD06_0223D63C: ; 0x0223D63C
mov r4, #3
add r0, r4, #0
mov r1, #0xb
- bl FUN_02012838
+ bl ListMenu_ctor
add r1, r5, #0
add r1, #0x84
str r0, [r1]
@@ -8439,7 +8439,7 @@ MOD06_0223D63C: ; 0x0223D63C
ldr r1, [r1]
mov r2, #0xf
mov r3, #2
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r5, #0
add r1, r5, #0
add r0, #0x84
@@ -8448,7 +8448,7 @@ MOD06_0223D63C: ; 0x0223D63C
ldr r1, [r1]
mov r2, #0x10
mov r3, #0xe
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r5, #0
add r1, r5, #0
add r0, #0x84
@@ -8458,7 +8458,7 @@ MOD06_0223D63C: ; 0x0223D63C
ldr r0, [r0]
ldr r1, [r1]
sub r3, #0x13
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
mov r3, #1
str r3, [sp]
mov r1, #0xd
@@ -8478,7 +8478,7 @@ _0223D6B8:
mov r4, #2
add r0, r4, #0
mov r1, #0xb
- bl FUN_02012838
+ bl ListMenu_ctor
add r1, r5, #0
add r1, #0x84
str r0, [r1]
@@ -8490,7 +8490,7 @@ _0223D6B8:
ldr r1, [r1]
mov r2, #0xf
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r5, #0
add r1, r5, #0
add r0, #0x84
@@ -8500,7 +8500,7 @@ _0223D6B8:
ldr r0, [r0]
ldr r1, [r1]
sub r3, #0x13
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
mov r3, #1
str r3, [sp]
mov r1, #0xd
@@ -8618,7 +8618,7 @@ MOD06_0223D7B8: ; 0x0223D7B8
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r4, #8
add r0, r4, #0
bl FUN_02019178
@@ -9146,7 +9146,7 @@ _0223DC34:
ldrb r0, [r5, r0]
mov r1, #0xb
add r0, r0, #1
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x7c]
mov r0, #0x8b
lsl r0, r0, #2
@@ -9172,7 +9172,7 @@ _0223DC52:
ldr r0, [r5, #0x7c]
ldrh r2, [r2, r4]
add r1, r7, #0
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r0, r7, #0
bl String_dtor
mov r0, #0x8b
@@ -9190,7 +9190,7 @@ _0223DC8E:
ldr r0, [r5, #0x7c]
ldr r1, [r1]
sub r3, #0xa
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, [sp]
bl DestroyMsgData
ldr r4, _0223DCEC ; =0x0224F38C
@@ -9597,7 +9597,7 @@ _0223E006:
add r2, r1, #0
bl FUN_02001300
ldr r0, [r5, #0x7c]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r5, #0
bl MOD06_0223D9C0
add r0, r5, #0
@@ -9811,7 +9811,7 @@ MOD06_0223E1D8: ; 0x0223E1D8
ldrh r1, [r5, r1]
ldr r0, [r5, r0]
mov r2, #0xb
- bl FUN_0206EEF8
+ bl Bag_GetQuantity
add r4, r0, #0
b _0223E214
_0223E1FA:
@@ -10005,7 +10005,7 @@ MOD06_0223E384: ; 0x0223E384
ldrh r2, [r4, r2]
ldr r0, [r4, r0]
mov r3, #0xb
- bl FUN_0206ED24
+ bl Bag_HasSpaceForItem
b _0223E3D2
_0223E3A8:
cmp r0, #1
@@ -10507,7 +10507,7 @@ _0223E7B2:
ldrh r2, [r4, r2]
ldr r0, [r4, r0]
mov r3, #0xb
- bl FUN_0206ED38
+ bl Bag_AddItem
b _0223E7F6
_0223E7D0:
cmp r0, #1
@@ -10622,7 +10622,7 @@ _0223E88A:
mov r1, #0xc
mov r2, #1
mov r3, #0xb
- bl FUN_0206ED38
+ bl Bag_AddItem
cmp r0, #1
bne _0223E902
add r0, r5, #0
@@ -11160,10 +11160,10 @@ MOD06_0223ECF0: ; 0x0223ECF0
add r4, r0, #0
bl MOD06_0223D7B8
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _0223ED48 ; =0x0224F47C
mov r2, #0xb
- bl FUN_0206EFEC
+ bl CreateBagView
add r3, r5, #0
str r0, [r4, #4]
add r3, #0x94
@@ -11977,7 +11977,7 @@ MOD06_0223F3B8: ; 0x0223F3B8
beq _0223F450
mov r0, #0x10
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r4, _0223F454 ; =0x02252420
mov r5, #0
ldr r1, [r4]
@@ -12006,7 +12006,7 @@ _0223F3E0:
mov r2, #0
ldr r0, [r1, #0x64]
ldr r1, [r1]
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r5, r5, #1
cmp r5, #0x10
blt _0223F3E0
@@ -12821,7 +12821,7 @@ MOD06_0223FAB8: ; 0x0223FAB8
beq _0223FB4C
mov r0, #5
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r4, _0223FB50 ; =0x02252420
mov r5, #0
ldr r1, [r4]
@@ -12834,7 +12834,7 @@ _0223FAE6:
ldr r0, [r1, #0x64]
ldr r1, [r1, #0x74]
add r3, r7, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r5, r5, #1
cmp r5, #5
blt _0223FAE6
@@ -13849,7 +13849,7 @@ MOD06_02240364: ; 0x02240364
mov r1, #0
bl FUN_0200CCF8
ldr r0, [r4, #0x64]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r1, #0
ldr r0, [r4, #0x5c]
add r2, r1, #0
@@ -14577,7 +14577,7 @@ _02240940:
bne _022409D2
add r0, r6, #2
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #8]
mov r3, #1
str r3, [sp]
@@ -14605,7 +14605,7 @@ _02240940:
ldr r1, [r5, #0x68]
mov r2, #0x7b
mov r3, #0xc
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
mov r4, #0
cmp r6, #0
ble _022409C4
@@ -14625,7 +14625,7 @@ _02240998:
ldr r0, [r5, #8]
ldr r1, [r5, #0x20]
add r2, r4, #0
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r4, r4, #1
cmp r4, r6
blt _02240998
@@ -14635,7 +14635,7 @@ _022409C4:
ldr r0, [r5, #8]
ldr r1, [r5, #0x68]
sub r3, #0x74
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
_022409D2:
ldr r4, _02240A24 ; =0x0224F704
add r3, sp, #0x14
@@ -14700,7 +14700,7 @@ MOD06_02240A28: ; 0x02240A28
add r0, #0x34
bl FUN_02019178
ldr r0, [r4, #8]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0
str r0, [r4]
_02240A62:
@@ -14792,7 +14792,7 @@ MOD06_02240B04: ; 0x02240B04
mov r0, #3
mov r1, #4
ldr r4, _02240BA8 ; =MOD6_022522E4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0xc]
mov r0, #0xa
str r0, [sp]
@@ -14823,7 +14823,7 @@ _02240B4A:
ldr r1, [r5, #0x68]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r6, r6, #1
add r4, #8
cmp r6, #3
@@ -14935,7 +14935,7 @@ _02240C1A:
add r0, #0x44
bl FUN_02019178
ldr r0, [r5, #0xc]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0
str r0, [r5, #4]
_02240C50:
@@ -41161,7 +41161,7 @@ MOD06_0224D70C: ; 0x0224D70C
bl FUN_0202708C
str r0, [r4, #0xc]
add r0, r6, #0
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x10]
mov r2, #0x81
ldr r3, [r4, #0x18]
@@ -42756,7 +42756,7 @@ MOD06_0224E410: ; 0x0224E410
add r1, #0x95
lsl r1, r1, #0x10
lsr r1, r1, #0x10
- bl FUN_0206EEF8
+ bl Bag_GetQuantity
ldr r1, [r5, #0xc]
add r3, r0, #0
add r2, r1, r4
@@ -42870,7 +42870,7 @@ MOD06_0224E4E4: ; 0x0224E4E4
add r1, #0x95
lsl r1, r1, #0x10
lsr r1, r1, #0x10
- bl FUN_0206EEF8
+ bl Bag_GetQuantity
add r1, r5, r4
ldr r1, [r1, #8]
cmp r0, r1
@@ -42912,7 +42912,7 @@ MOD06_0224E520: ; 0x0224E520
add r0, r6, #0
lsr r1, r1, #0x10
lsr r2, r2, #0x10
- bl FUN_0206EDD4
+ bl Bag_TakeItem
cmp r0, #1
beq _0224E550
bl ErrorHandling
diff --git a/arm9/modules/09/asm/module_09.s b/arm9/modules/09/asm/module_09.s
index 115ee3cb..571d34b6 100644
--- a/arm9/modules/09/asm/module_09.s
+++ b/arm9/modules/09/asm/module_09.s
@@ -3802,7 +3802,7 @@ MOD09_02213C84: ; 0x02213C84
add r1, r4, #0
mov r2, #1
add r3, r7, #0
- bl FUN_0206EDD4
+ bl Bag_TakeItem
_02213CA8:
add r0, r5, #0
bl MOD11_02230218
@@ -14295,7 +14295,7 @@ MOD09_0221944C: ; 0x0221944C
add r1, r4, #0
mov r2, #1
add r3, r7, #0
- bl FUN_0206EDD4
+ bl Bag_TakeItem
add r0, r5, #0
bl MOD11_02230218
add r1, r4, #0
@@ -15275,7 +15275,7 @@ _02219C48:
ldr r0, [r3, #8]
ldr r3, [r3, #0xc]
mov r2, #1
- bl FUN_0206EE50
+ bl Bag_HasItem
cmp r0, #0
bne _02219C62
ldr r1, [r4]
@@ -15351,7 +15351,7 @@ _02219CCA:
lsl r2, r2, #0x10
ldr r1, [sp, #8]
lsr r2, r2, #0x10
- bl FUN_0206F0D8
+ bl Bag_GetPocketSlotN
add r5, r0, #0
beq _02219D3C
ldrh r0, [r5]
diff --git a/arm9/modules/11/asm/module_11_thumb1.s b/arm9/modules/11/asm/module_11_thumb1.s
index 235b01d0..a5298ae9 100644
--- a/arm9/modules/11/asm/module_11_thumb1.s
+++ b/arm9/modules/11/asm/module_11_thumb1.s
@@ -1178,7 +1178,7 @@ _0222DFEC:
lsl r1, r1, #2
ldr r0, [r4, #0x58]
ldr r1, [r7, r1]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
ldr r0, [r4, #0x58]
bl FreeToHeap
mov r1, #0x11
@@ -1758,14 +1758,14 @@ _0222E532:
cmp r7, #4
blt _0222E532
mov r0, #5
- bl FUN_0206EB88
+ bl Sav2_Bag_new
str r0, [r4, #0x58]
mov r1, #0x42
ldr r0, [sp, #4]
lsl r1, r1, #2
ldr r0, [r0, r1]
ldr r1, [r4, #0x58]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
mov r0, #5
bl FUN_02023D6C
str r0, [r4, #0x60]
diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s
index b3f10c3b..ab70294a 100644
--- a/arm9/modules/11/asm/module_11_thumb2.s
+++ b/arm9/modules/11/asm/module_11_thumb2.s
@@ -24516,7 +24516,7 @@ _0223B1F6:
add r0, r6, #0
lsr r1, r1, #0x10
lsr r2, r2, #0x18
- bl FUN_020697CC
+ bl MonSetMoveInSlot
ldr r1, [r4, #4]
ldr r0, _0223B2D8 ; =0x0000219C
add r2, r1, r7
@@ -33053,7 +33053,7 @@ _0223F598:
ldrh r1, [r6]
mov r2, #1
mov r3, #5
- bl FUN_0206EDD4
+ bl Bag_TakeItem
add r0, r7, #0
bl MOD11_02230218
ldrh r1, [r6]
diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s
index 738bf429..e1232e0b 100644
--- a/arm9/modules/14/asm/module_14.s
+++ b/arm9/modules/14/asm/module_14.s
@@ -5807,10 +5807,10 @@ _021DA41E:
mov r0, #0x47
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _021DA5D8 ; =MOD14_021E6264
mov r2, #9
- bl FUN_0206EFEC
+ bl CreateBagView
mov r1, #0x85
lsl r1, r1, #2
str r0, [r4, r1]
@@ -5869,12 +5869,12 @@ _021DA498:
mov r0, #0x47
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_0206F158
+ bl Sav2_Bag_get
lsl r1, r6, #0x10
lsr r1, r1, #0x10
mov r2, #1
mov r3, #9
- bl FUN_0206EDD4
+ bl Bag_TakeItem
ldr r1, _021DA5E4 ; =MOD14_021E6A00
add r0, r4, #0
ldr r1, [r1, #8]
@@ -6122,14 +6122,14 @@ _021DA6E4:
mov r0, #0x47
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _021DA7B4 ; =MOD14_021E6A00
mov r2, #1
ldr r1, [r1, #4]
mov r3, #9
lsl r1, r1, #0x10
lsr r1, r1, #0x10
- bl FUN_0206ED38
+ bl Bag_AddItem
cmp r0, #0
beq _021DA72A
add r0, r4, #0
@@ -6344,14 +6344,14 @@ _021DA8BA:
mov r0, #0x47
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _021DA9C0 ; =MOD14_021E6A00
mov r2, #1
ldr r1, [r1]
mov r3, #9
lsl r1, r1, #0x10
lsr r1, r1, #0x10
- bl FUN_0206ED38
+ bl Bag_AddItem
cmp r0, #0
beq _021DA908
add r0, r4, #0
diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s
index 3fbc762e..bc6fe658 100644
--- a/arm9/modules/18/asm/module_18.s
+++ b/arm9/modules/18/asm/module_18.s
@@ -22044,7 +22044,7 @@ MOD18_02244028: ; 0x02244028
ldr r1, [sp, #0xc]
ldrh r0, [r5, #0x10]
ldrb r1, [r1, #0x1d]
- bl FUN_02012838
+ bl ListMenu_ctor
add r7, r0, #0
ldrh r0, [r5, #0x10]
mov r6, #0
@@ -22055,7 +22055,7 @@ _02244084:
ldr r1, [r5]
add r0, r7, #0
add r1, r1, r4
- bl FUN_020128C4
+ bl ListMenu_CopyItem
ldrh r0, [r5, #0x10]
add r6, r6, #1
add r4, #8
@@ -22216,7 +22216,7 @@ _022441BA:
blx r3
ldrb r1, [r5, #0x1d]
add r0, r7, #0
- bl FUN_02012838
+ bl ListMenu_ctor
mov r4, #0
add r6, r4, #0
str r0, [sp]
@@ -22234,7 +22234,7 @@ _022441DE:
lsl r1, r4, #3
ldr r0, [sp]
add r1, r2, r1
- bl FUN_020128C4
+ bl ListMenu_CopyItem
_022441EA:
add r0, sp, #0xc
ldrh r1, [r0, #2]
@@ -22250,7 +22250,7 @@ _022441EA:
add r1, r2, r1
lsl r1, r1, #3
add r1, r3, r1
- bl FUN_020128C4
+ bl ListMenu_CopyItem
_0224420A:
add r6, r6, #1
cmp r6, r7
@@ -25548,17 +25548,17 @@ MOD18_02245B1C: ; 0x02245B1C
add r5, r0, #0
ldr r1, [sp, #0x30]
mov r0, #2
- bl FUN_02012838
+ bl ListMenu_ctor
add r4, r0, #0
add r1, r5, #0
mov r2, #0x26
mov r3, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r4, #0
add r1, r5, #0
mov r2, #0x27
mov r3, #1
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, [sp, #0x30]
mov r1, #1
str r4, [sp, #0x10]
@@ -29532,7 +29532,7 @@ MOD18_02247AA8: ; 0x02247AA8
add r5, r0, #0
mov r0, #4
add r1, r0, #0
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x1c]
mov r3, #1
str r3, [sp]
@@ -29569,7 +29569,7 @@ _02247AFA:
ldr r2, [r4]
ldr r3, [r4, #4]
add r1, r7, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r6, r6, #1
add r4, #8
cmp r6, #4
@@ -29658,7 +29658,7 @@ MOD18_02247BB8: ; 0x02247BB8
add r5, r0, #0
mov r0, #4
add r1, r0, #0
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x1c]
mov r3, #1
str r3, [sp]
@@ -29714,7 +29714,7 @@ _02247C2C:
ldr r0, [r5, #0x1c]
add r1, r6, #0
add r3, r2, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _02247C40
_02247C3E:
sub r4, r4, #1
@@ -29831,7 +29831,7 @@ MOD18_02247D1C: ; 0x02247D1C
add r5, r0, #0
mov r0, #4
add r1, r0, #0
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x1c]
mov r3, #1
str r3, [sp]
@@ -29871,7 +29871,7 @@ _02247D6C:
lsl r2, r2, #2
add r2, r4, r2
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r4, r4, #1
cmp r4, #4
blt _02247D6C
@@ -30167,7 +30167,7 @@ MOD18_02247FC0: ; 0x02247FC0
add r0, #0xc
bl FUN_02019178
ldr r0, [r4, #0x1c]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0
str r0, [r4, #0x1c]
_02247FF8:
@@ -31143,7 +31143,7 @@ MOD18_02248784: ; 0x02248784
add r0, #8
bl FUN_02019178
ldr r0, [r4, #0x18]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0
str r0, [r4, #0x18]
_022487BC:
@@ -31202,7 +31202,7 @@ MOD18_02248820: ; 0x02248820
add r5, r0, #0
mov r0, #5
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x18]
mov r3, #1
add r1, r5, #0
@@ -31242,7 +31242,7 @@ _02248870:
lsl r2, r2, #2
add r2, r4, r2
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r4, r4, #1
cmp r4, #4
blt _02248870
@@ -31250,7 +31250,7 @@ _02248870:
add r1, r6, #0
mov r2, #0x30
mov r3, #0x33
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r6, #0
bl DestroyMsgData
ldr r4, _022488EC ; =0x02250528
@@ -32943,7 +32943,7 @@ MOD18_02249564: ; 0x02249564
bl MOD18_02249544
mov r0, #7
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x40]
mov r0, #1
str r0, [sp]
@@ -32985,7 +32985,7 @@ _022495BA:
ldr r0, [r5, #0x40]
ldr r2, [r4, #4]
add r1, r7, #0
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r0, r7, #0
bl String_dtor
b _022495EE
@@ -32994,7 +32994,7 @@ _022495E2:
ldr r1, [sp, #0x14]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
_022495EE:
add r6, r6, #1
add r4, #8
@@ -33413,7 +33413,7 @@ _02249936:
add r0, #0x10
bl FUN_02019178
ldr r0, [r4, #0x40]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r4, #0
bl MOD18_0224CBAC
_02249968:
@@ -33456,7 +33456,7 @@ _02249998:
_022499A2:
add r0, r6, #0
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x44]
lsl r0, r7, #0x18
lsr r0, r0, #0x18
@@ -33498,7 +33498,7 @@ _022499FA:
ldr r1, [sp, #0x14]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r7, r7, #1
add r4, #8
cmp r7, r6
@@ -33559,7 +33559,7 @@ MOD18_02249A64: ; 0x02249A64
ldr r0, [r4, #0x20]
bl FUN_0201AC68
ldr r0, [r4, #0x44]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0
str r0, [r4, #0x50]
_02249A8C:
@@ -33730,7 +33730,7 @@ MOD18_02249BA8: ; 0x02249BA8
bl MOD18_0224DB80
add r0, r6, #1
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x40]
mov r2, #3
add r1, r5, #0
@@ -33767,7 +33767,7 @@ _02249C18:
ldr r0, [r5, #0x40]
ldr r1, [sp, #0x18]
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r4, r4, #1
cmp r4, r6
blt _02249C18
@@ -33777,7 +33777,7 @@ _02249C30:
ldr r0, [r5, #0x40]
ldr r1, [sp, #0x18]
sub r3, #0x24
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r3, _02249CBC ; =0x02250598
add r2, sp, #0x1c
ldmia r3!, {r0, r1}
@@ -34197,7 +34197,7 @@ MOD18_02249F8C: ; 0x02249F8C
bl MOD18_0224DB80
add r0, r6, #1
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x40]
mov r2, #3
add r1, r5, #0
@@ -34259,7 +34259,7 @@ _0224A002:
ldr r0, [r5, #0x40]
ldr r1, [r5, #0x68]
add r2, r4, #0
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r4, r4, #1
cmp r4, r6
blt _0224A002
@@ -34269,7 +34269,7 @@ _0224A058:
ldr r0, [r5, #0x40]
ldr r1, [sp, #0x18]
sub r3, #0x3e
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r3, _0224A0E0 ; =0x02250598
add r2, sp, #0x20
ldmia r3!, {r0, r1}
@@ -34646,7 +34646,7 @@ MOD18_0224A360: ; 0x0224A360
bl MOD18_0224DB80
add r0, r6, #1
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x40]
mov r2, #3
add r1, r5, #0
@@ -34683,7 +34683,7 @@ _0224A3D0:
ldr r0, [r5, #0x40]
ldr r1, [sp, #0x18]
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r4, r4, #1
cmp r4, r6
blt _0224A3D0
@@ -34693,7 +34693,7 @@ _0224A3E8:
ldr r0, [r5, #0x40]
ldr r1, [sp, #0x18]
sub r3, #0x3e
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r3, _0224A470 ; =0x02250598
add r2, sp, #0x1c
ldmia r3!, {r0, r1}
@@ -34906,7 +34906,7 @@ _0224A5A6:
add r4, r0, #0
ldr r0, [r5, #0xc]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r6, r0, #0
ldr r0, _0224A694 ; =0x000005DC
bl FUN_020054C8
@@ -34915,7 +34915,7 @@ _0224A5A6:
lsr r1, r1, #0x10
mov r2, #1
mov r3, #4
- bl FUN_0206ED38
+ bl Bag_AddItem
cmp r0, #0
beq _0224A62A
ldr r0, _0224A69C ; =0x022513F8
@@ -35584,7 +35584,7 @@ MOD18_0224AB08: ; 0x0224AB08
bl MOD18_0224DB80
add r0, r6, #1
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x40]
mov r2, #3
add r1, r5, #0
@@ -35621,7 +35621,7 @@ _0224AB78:
ldr r0, [r5, #0x40]
ldr r1, [sp, #0x18]
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r4, r4, #1
cmp r4, r6
blt _0224AB78
@@ -35630,7 +35630,7 @@ _0224AB90:
ldr r0, [r5, #0x40]
ldr r1, [sp, #0x18]
sub r3, r2, #2
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r3, _0224AC18 ; =0x02250598
add r2, sp, #0x1c
ldmia r3!, {r0, r1}
@@ -36627,7 +36627,7 @@ _0224B374:
bl MOD18_022498EC
ldr r0, [sp, #0x18]
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x40]
mov r2, #3
str r2, [sp]
@@ -36675,13 +36675,13 @@ _0224B3D4:
add r1, r7, #0
add r2, r6, #5
mvn r3, r3
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _0224B3F4
_0224B3EA:
add r1, r7, #0
add r2, r6, r4
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
_0224B3F4:
ldr r0, [sp, #0x18]
add r4, r4, #1
@@ -36750,7 +36750,7 @@ MOD18_0224B464: ; 0x0224B464
bl MOD18_022498EC
ldr r0, [sp, #0x1c]
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x40]
mov r2, #3
add r1, r5, #0
@@ -36796,13 +36796,13 @@ _0224B4D0:
add r1, r7, #0
add r2, r6, r4
mvn r3, r3
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _0224B4F0
_0224B4E6:
add r1, r7, #0
add r2, r6, r4
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
_0224B4F0:
ldr r0, [sp, #0x1c]
add r4, r4, #1
@@ -38462,7 +38462,7 @@ _0224C288:
bl MOD18_022498EC
add r0, r4, #0
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x40]
mov r2, #3
add r1, r5, #0
@@ -38502,14 +38502,14 @@ _0224C288:
ldr r0, [r5, #0x40]
mov r2, #0xd
mov r3, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
bl MOD18_0223D658
bl MOD18_0224DBB4
add r1, r0, #0
ldr r0, [r5, #0x40]
mov r2, #0xe
mov r3, #1
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
bl MOD18_0223D658
bl MOD18_0224DBB4
mov r2, #0xf
@@ -38517,7 +38517,7 @@ _0224C288:
add r3, r2, #0
ldr r0, [r5, #0x40]
sub r3, #0x11
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _0224C396
_0224C31E:
cmp r0, #0
@@ -38532,14 +38532,14 @@ _0224C31E:
ldr r0, [r5, #0x40]
mov r2, #0x10
mov r3, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
bl MOD18_0223D658
bl MOD18_0224DBB4
add r1, r0, #0
ldr r0, [r5, #0x40]
mov r2, #0x11
mov r3, #1
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
bl MOD18_0223D658
bl MOD18_0224DBB4
mov r2, #0x12
@@ -38547,7 +38547,7 @@ _0224C31E:
add r3, r2, #0
ldr r0, [r5, #0x40]
sub r3, #0x14
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _0224C396
_0224C36C:
bl MOD18_0223D658
@@ -38556,7 +38556,7 @@ _0224C36C:
ldr r0, [r5, #0x40]
mov r2, #0x1c
mov r3, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
bl MOD18_0223D658
bl MOD18_0224DBB4
mov r2, #0x16
@@ -38564,7 +38564,7 @@ _0224C36C:
add r3, r2, #0
ldr r0, [r5, #0x40]
sub r3, #0x18
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
_0224C396:
bl MOD18_0224DAD8
add r1, sp, #0x14
@@ -39086,7 +39086,7 @@ MOD18_0224C7D4: ; 0x0224C7D4
bl MOD18_022498EC
mov r0, #6
mov r1, #4
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x40]
mov r2, #3
add r1, r5, #0
@@ -39160,7 +39160,7 @@ _0224C87C:
ldr r0, [r5, #0x40]
add r1, r6, #0
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r4, r4, #1
cmp r4, #5
blt _0224C87C
@@ -39168,7 +39168,7 @@ _0224C87C:
ldr r0, [r5, #0x40]
add r1, r6, #0
sub r3, r2, #2
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r6, #0
bl DestroyMsgData
bl MOD18_0224DAD8
@@ -42286,7 +42286,7 @@ MOD18_0224E0CC: ; 0x0224E0CC
add r5, r0, #0
mov r0, #4
add r1, r0, #0
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x24]
mov r2, #3
str r2, [sp]
@@ -42369,7 +42369,7 @@ _0224E186:
ldr r2, [r4]
add r1, r7, #0
add r3, r6, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r6, r6, #1
add r4, r4, #4
cmp r6, #4
@@ -42496,7 +42496,7 @@ MOD18_0224E26C: ; 0x0224E26C
add r0, #0x14
bl FUN_02019178
ldr r0, [r4, #0x24]
- bl FUN_02012870
+ bl ListMenu_dtor
pop {r4, pc}
.align 2, 0
thumb_func_end MOD18_0224E26C
@@ -42741,7 +42741,7 @@ _0224E454:
ldr r0, [sp, #0x20]
mov r1, #4
add r0, r0, #1
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5, #0x28]
mov r2, #3
str r2, [sp]
@@ -42899,7 +42899,7 @@ _0224E5B4:
ldr r1, [sp, #0x18]
ldr r2, [sp, #0x14]
add r3, r6, r3
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, [sp, #0x20]
add r4, r4, #1
add r6, r6, #2
@@ -42911,7 +42911,7 @@ _0224E5CE:
ldr r1, [sp, #0x18]
ldr r2, _0224E694 ; =0x00000115
add r3, r3, #1
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, [sp, #0x18]
bl DestroyMsgData
bl MOD18_0223D678
@@ -43025,7 +43025,7 @@ MOD18_0224E6A8: ; 0x0224E6A8
add r0, #0x18
bl FUN_02019178
ldr r0, [r4, #0x28]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, [r4, #4]
bl FUN_0205EBEC
pop {r4, pc}
diff --git a/arm9/modules/55/asm/module_55.s b/arm9/modules/55/asm/module_55.s
index 5ac713b0..e0ada2b4 100644
--- a/arm9/modules/55/asm/module_55.s
+++ b/arm9/modules/55/asm/module_55.s
@@ -3213,7 +3213,7 @@ MOD55_021D8E6C: ; 0x021D8E6C
stmia r2!, {r0, r1}
add r0, r7, #0
mov r1, #0x34
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r4, _021D8FD0 ; =0x021DA3D8
str r0, [r5, #0x14]
mov r6, #0
@@ -3222,7 +3222,7 @@ _021D8EB6:
ldr r1, [r5, #0x10]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r6, r6, #1
add r4, #8
cmp r6, #4
@@ -3241,7 +3241,7 @@ _021D8ECC:
stmia r2!, {r0, r1}
add r0, r7, #0
mov r1, #0x34
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r4, _021D8FD8 ; =0x021DA438
str r0, [r5, #0x14]
mov r6, #0
@@ -3250,7 +3250,7 @@ _021D8EEE:
ldr r1, [r5, #0x10]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r6, r6, #1
add r4, #8
cmp r6, #4
@@ -3460,7 +3460,7 @@ _021D9098:
add r2, r1, #0
bl FUN_02001300
ldr r0, [r5, #0x14]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r6, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
diff --git a/arm9/modules/56/asm/module_56.s b/arm9/modules/56/asm/module_56.s
index 614bbffd..197bf84c 100644
--- a/arm9/modules/56/asm/module_56.s
+++ b/arm9/modules/56/asm/module_56.s
@@ -1457,7 +1457,7 @@ _022129EA:
ldr r0, [r0]
cmp r0, #0
beq _02212A00
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r4, #0
mov r1, #0
add r0, #0xb0
@@ -2487,7 +2487,7 @@ MOD56_02213194: ; 0x02213194
add r0, r6, #0
add r0, #0xb0
ldr r0, [r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r6, #0
mov r1, #0
add r0, #0xb0
@@ -3462,7 +3462,7 @@ _02213944:
ldr r0, [r0]
ldr r1, [r5, r7]
sub r2, r2, #1
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r6, r6, #1
_0221395C:
add r4, r4, #1
@@ -3476,7 +3476,7 @@ _0221395C:
ldr r1, [r1]
mov r2, #0x1b
mov r3, #0x20
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r5, #0
add r0, #0xb0
add r5, #0xcc
@@ -3485,7 +3485,7 @@ _0221395C:
ldr r0, [r0]
ldr r1, [r5]
sub r3, #0x30
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
@@ -3498,7 +3498,7 @@ MOD56_02213990: ; 0x02213990
add r5, r0, #0
mov r0, #0x22
mov r1, #0x36
- bl FUN_02012838
+ bl ListMenu_ctor
add r1, r5, #0
add r1, #0xb0
str r0, [r1]
@@ -3683,7 +3683,7 @@ _02213AF0:
add r0, r5, #0
add r0, #0xb0
ldr r0, [r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r5, #0
mov r1, #0
add r0, #0xb0
@@ -3808,7 +3808,7 @@ _02213C24:
add r0, r5, #0
add r0, #0xb0
ldr r0, [r0]
- bl FUN_0201291C
+ bl ListMenu_DestroyMenuStrings
add r0, r5, #0
add r0, #0xb4
ldr r0, [r0]
@@ -4107,7 +4107,7 @@ _02213E5C:
add r0, r5, #0
add r0, #0xb0
ldr r0, [r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r5, #0
mov r1, #0
add r0, #0xb0
@@ -5059,7 +5059,7 @@ MOD56_022145D4: ; 0x022145D4
stmia r2!, {r0, r1}
mov r0, #4
mov r1, #0x36
- bl FUN_02012838
+ bl ListMenu_ctor
add r1, r5, #0
add r1, #0xb8
ldr r4, _022146C4 ; =0x02216480
@@ -5074,7 +5074,7 @@ _02214602:
ldr r1, [r1]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r6, r6, #1
add r4, #8
cmp r6, #4
@@ -5261,7 +5261,7 @@ _0221476E:
add r0, r5, #0
add r0, #0xb8
ldr r0, [r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r5, #0
add r1, r4, #0
bl MOD56_02214808
@@ -5301,7 +5301,7 @@ _022147CE:
bl FUN_02001300
add r5, #0xb8
ldr r0, [r5]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
nop
@@ -5338,7 +5338,7 @@ _02214820:
stmia r2!, {r0, r1}
add r0, r7, #0
mov r1, #0x36
- bl FUN_02012838
+ bl ListMenu_ctor
add r1, r5, #0
add r1, #0xb8
mov r6, #0
@@ -5354,7 +5354,7 @@ _0221484C:
ldr r1, [r1]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r6, r6, #1
add r4, #8
cmp r6, r7
@@ -5524,7 +5524,7 @@ _02214994:
bl FUN_02001300
add r5, #0xb8
ldr r0, [r5]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r6, #0
pop {r4, r5, r6, pc}
nop
@@ -5585,7 +5585,7 @@ MOD56_022149D8: ; 0x022149D8
lsr r0, r0, #0x10
str r0, [sp, #0x1c]
mov r0, #3
- bl FUN_02012838
+ bl ListMenu_ctor
add r1, r5, #0
add r1, #0xb8
str r0, [r1]
@@ -5630,7 +5630,7 @@ _02214A7E:
ldr r1, [r1]
ldr r3, [r4, #4]
mov r2, #0x1a
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _02214ADC
_02214A9E:
ldrh r0, [r7, #0x16]
@@ -5652,7 +5652,7 @@ _02214AB2:
ldr r1, [r1]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _02214ADC
_02214AC8:
add r0, r5, #0
@@ -5663,7 +5663,7 @@ _02214AC8:
ldr r1, [r1]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
_02214ADC:
ldr r0, [sp, #0x24]
add r4, #8
@@ -6077,7 +6077,7 @@ _02214DEC:
bl FUN_02001300
add r4, #0xb8
ldr r0, [r4]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, [sp]
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
diff --git a/arm9/modules/59/asm/module_59.s b/arm9/modules/59/asm/module_59.s
index ccfa6163..a06b384c 100644
--- a/arm9/modules/59/asm/module_59.s
+++ b/arm9/modules/59/asm/module_59.s
@@ -1114,7 +1114,7 @@ _021D7DC4:
bl FUN_02019150
ldr r1, [r5]
add r0, r6, #0
- bl FUN_02012838
+ bl ListMenu_ctor
mov r7, #0
str r0, [r5, #0x44]
cmp r6, #0
@@ -1124,7 +1124,7 @@ _021D7DDE:
ldr r1, [r5, #0x4c]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r7, r7, #1
add r4, #8
cmp r7, r6
@@ -1198,7 +1198,7 @@ _021D7E66:
add r2, r1, #0
bl FUN_02001300
ldr r0, [r5, #0x44]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _021D7EC8 ; =0x000005DC
bl FUN_020054C8
mov r0, #0
diff --git a/arm9/modules/62/asm/module_62.s b/arm9/modules/62/asm/module_62.s
index 044f1cb5..b02c4ff1 100644
--- a/arm9/modules/62/asm/module_62.s
+++ b/arm9/modules/62/asm/module_62.s
@@ -1957,7 +1957,7 @@ _0222E442:
bl FUN_02019064
add r0, r7, #0
mov r1, #0x35
- bl FUN_02012838
+ bl ListMenu_ctor
mov r2, #0x67
ldr r1, [sp, #0x1c]
lsl r2, r2, #2
@@ -1990,7 +1990,7 @@ _0222E49A:
ldr r0, [r1, r0]
ldr r2, [r2, #4]
add r1, r4, #0
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r0, r4, #0
bl String_dtor
add r6, r6, #1
@@ -4612,7 +4612,7 @@ MOD62_0222F904: ; 0x0222F904
mov r0, #0x67
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r4, #0xfc
add r0, r4, #0
bl FUN_02019178
diff --git a/arm9/modules/65/asm/module_65.s b/arm9/modules/65/asm/module_65.s
index 87f493d0..748c1b41 100644
--- a/arm9/modules/65/asm/module_65.s
+++ b/arm9/modules/65/asm/module_65.s
@@ -1542,7 +1542,7 @@ MOD65_021D80C8: ; 0x021D80C8
strb r0, [r5, #0x1c]
ldrb r0, [r5, #0x1c]
ldr r1, [r5]
- bl FUN_02012838
+ bl ListMenu_ctor
add r1, r5, #0
add r1, #0xcc
str r0, [r1]
@@ -1585,7 +1585,7 @@ _021D80EE:
ldrb r2, [r6, #5]
ldr r0, [r0]
ldr r1, [r5, #0x34]
- bl FUN_020128A0
+ bl ListMenu_AddItem
cmp r4, #0xff
bne _021D80EE
_021D8142:
@@ -1594,7 +1594,7 @@ _021D8142:
ldr r0, [r0]
ldr r1, [r5, #0x38]
mov r2, #0xff
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r1, r5, #0
ldr r0, _021D8210 ; =0x021DA2E0
add r1, #0x84
@@ -1729,7 +1729,7 @@ _021D823E:
add r0, r5, #0
add r0, #0xcc
ldr r0, [r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r5, #0
add r0, #0x80
ldrh r1, [r0]
@@ -2223,7 +2223,7 @@ MOD65_021D8634: ; 0x021D8634
add r5, r0, #0
ldr r1, [r5]
mov r0, #3
- bl FUN_02012838
+ bl ListMenu_ctor
add r1, r5, #0
add r1, #0xd0
str r0, [r1]
@@ -2235,7 +2235,7 @@ _021D8648:
ldr r1, [r5, #0x2c]
add r2, r4, #1
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
@@ -2308,7 +2308,7 @@ MOD65_021D86BC: ; 0x021D86BC
add r0, r4, #0
add r0, #0xd0
ldr r0, [r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r4, #0
mov r1, #0
add r0, #0xc8
diff --git a/arm9/modules/71/asm/module_71.s b/arm9/modules/71/asm/module_71.s
index 9c4c00c9..c5d9cbbc 100644
--- a/arm9/modules/71/asm/module_71.s
+++ b/arm9/modules/71/asm/module_71.s
@@ -4386,7 +4386,7 @@ _0222F9E4:
bl FUN_02001300
ldr r0, _0222FA34 ; =0x0000367C
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0
pop {r4, r5, r6, pc}
.align 2, 0
@@ -4412,7 +4412,7 @@ MOD71_0222FA38: ; 0x0222FA38
str r0, [sp]
add r0, r0, #1
mov r1, #0x1a
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _0222FAD0 ; =0x0000367C
str r0, [r5, r1]
mov r0, #0x64
@@ -4438,7 +4438,7 @@ _0222FA60:
add r1, r6, #0
ldr r0, [r5, r0]
add r2, r4, #0
- bl FUN_020128A0
+ bl ListMenu_AddItem
_0222FA8A:
add r4, r4, #1
cmp r4, #0x20
@@ -4450,7 +4450,7 @@ _0222FA8A:
add r3, r2, #0
ldr r1, [r5, r1]
sub r3, #0xd
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r6, #0
bl String_dtor
ldr r2, _0222FAD0 ; =0x0000367C
@@ -4681,11 +4681,11 @@ _0222FC2C:
pop {r3, r4, r5, r6, r7, pc}
_0222FC70:
ldr r0, [r6, #4]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _0222FCFC ; =0x000001B5
mov r2, #1
mov r3, #0x1a
- bl FUN_0206EE50
+ bl Bag_HasItem
cmp r0, #1
bne _0222FCAA
ldr r0, _0222FCE4 ; =0x0000366C
@@ -4909,7 +4909,7 @@ MOD71_0222FDD8: ; 0x0222FDD8
bl MOD71_02230F40
mov r0, #3
mov r1, #0x1a
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _0222FED8 ; =0x0000065C
mov r2, #0x11
str r0, [r4, r1]
@@ -4918,7 +4918,7 @@ MOD71_0222FDD8: ; 0x0222FDD8
lsl r1, r1, #2
ldr r1, [r4, r1]
mov r3, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _0222FED8 ; =0x0000065C
mov r1, #0x61
lsl r1, r1, #2
@@ -4926,7 +4926,7 @@ MOD71_0222FDD8: ; 0x0222FDD8
ldr r1, [r4, r1]
mov r2, #0x12
mov r3, #1
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _0222FED8 ; =0x0000065C
mov r1, #0x61
lsl r1, r1, #2
@@ -4934,7 +4934,7 @@ MOD71_0222FDD8: ; 0x0222FDD8
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #2
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _0222FED8 ; =0x0000065C
ldr r1, [r4, r0]
str r1, [sp, #0x10]
@@ -5024,7 +5024,7 @@ _0222FF10:
bl FUN_02001C5C
ldr r0, _0223000C ; =0x0000065C
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r1, _02230010 ; =MOD71_0222F538
ldr r0, _02230014 ; =0x00002214
add sp, #0x10
@@ -5063,7 +5063,7 @@ _0222FF64:
bl FUN_02001C5C
ldr r0, _0223000C ; =0x0000065C
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r1, _0223001C ; =MOD71_02230020
ldr r0, _02230014 ; =0x00002214
str r1, [r4, r0]
@@ -5100,7 +5100,7 @@ _0222FFB4:
bl FUN_02001C5C
ldr r0, _0223000C ; =0x0000065C
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r1, _02230010 ; =MOD71_0222F538
ldr r0, _02230014 ; =0x00002214
str r1, [r4, r0]
@@ -6155,7 +6155,7 @@ MOD71_02230810: ; 0x02230810
bl MOD71_02230F40
mov r0, #2
mov r1, #0x1a
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _02230900 ; =0x0000065C
mov r2, #0x11
str r0, [r4, r1]
@@ -6164,7 +6164,7 @@ MOD71_02230810: ; 0x02230810
lsl r1, r1, #2
ldr r1, [r4, r1]
mov r3, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _02230900 ; =0x0000065C
mov r1, #0x61
lsl r1, r1, #2
@@ -6172,7 +6172,7 @@ MOD71_02230810: ; 0x02230810
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #1
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _02230900 ; =0x0000065C
ldr r1, [r4, r0]
sub r0, #0x94
@@ -6259,7 +6259,7 @@ _0223092E:
bl FUN_02001C5C
ldr r0, _022309E4 ; =0x0000065C
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add sp, #0x10
mov r0, #3
pop {r4, pc}
@@ -6295,7 +6295,7 @@ _02230982:
bl FUN_02001C5C
ldr r0, _022309E4 ; =0x0000065C
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r1, _022309DC ; =MOD71_0222F538
ldr r0, _022309E0 ; =0x00002214
str r1, [r4, r0]
diff --git a/arm9/modules/73/asm/module_73.s b/arm9/modules/73/asm/module_73.s
index b9d19767..4a1e86bf 100644
--- a/arm9/modules/73/asm/module_73.s
+++ b/arm9/modules/73/asm/module_73.s
@@ -1159,7 +1159,7 @@ _021D7E68:
ldr r0, [r6, #0x10]
mov r1, #4
ldr r0, [r0, #0x14]
- bl FUN_0206EE64
+ bl Bag_PocketNotEmpty
cmp r0, #0
bne _021D7E8A
ldr r0, _021D7F44 ; =0x0000063C
diff --git a/arm9/modules/75/asm/module_75.s b/arm9/modules/75/asm/module_75.s
index 59d25787..ec4049ab 100644
--- a/arm9/modules/75/asm/module_75.s
+++ b/arm9/modules/75/asm/module_75.s
@@ -473,7 +473,7 @@ MOD75_021E6FA4: ; 0x021E6FA4
add r0, #0xc4
ldr r0, [r0]
ldr r0, [r0]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r4, #0
add r1, #0xc8
str r0, [r1]
@@ -1040,8 +1040,8 @@ _021E743E:
bx lr
thumb_func_end MOD75_021E7420
- thumb_func_start MOD75_021E7448
-MOD75_021E7448: ; 0x021E7448
+ thumb_func_start MOD75_GetItemName
+MOD75_GetItemName: ; 0x021E7448
add r3, r1, #0
add r1, r2, #0
add r2, r3, #0
@@ -1049,10 +1049,10 @@ MOD75_021E7448: ; 0x021E7448
bx r3
nop
_021E7454: .word ReadMsgDataIntoString
- thumb_func_end MOD75_021E7448
+ thumb_func_end MOD75_GetItemName
- thumb_func_start MOD75_021E7458
-MOD75_021E7458: ; 0x021E7458
+ thumb_func_start MOD75_GetTMHMMoveName
+MOD75_GetTMHMMoveName: ; 0x021E7458
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
@@ -1063,7 +1063,7 @@ MOD75_021E7458: ; 0x021E7458
add r2, r4, #0
bl ReadMsgDataIntoString
pop {r3, r4, r5, pc}
- thumb_func_end MOD75_021E7458
+ thumb_func_end MOD75_GetTMHMMoveName
thumb_func_start MOD75_021E7470
MOD75_021E7470: ; 0x021E7470
@@ -1233,7 +1233,7 @@ MOD75_021E7580: ; 0x021E7580
ldrb r0, [r0, r1]
mov r1, #6
add r0, r0, #3
- bl FUN_02012838
+ bl ListMenu_ctor
mov r1, #0x16
lsl r1, r1, #4
str r0, [r5, r1]
@@ -1243,7 +1243,7 @@ MOD75_021E7580: ; 0x021E7580
add r3, r2, #0
ldr r1, [r5, r1]
sub r3, #0x23
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldrb r3, [r4, #8]
cmp r3, #3
bne _021E764A
@@ -1272,7 +1272,7 @@ _021E75CE:
ldr r0, [r5, r0]
ldr r1, [r7, r1]
mov r3, #6
- bl MOD75_021E7458
+ bl MOD75_GetTMHMMoveName
mov r0, #0x16
mov r1, #0x59
lsl r0, r0, #4
@@ -1280,7 +1280,7 @@ _021E75CE:
ldr r0, [r5, r0]
ldr r1, [r7, r1]
add r2, r6, #0
- bl FUN_020128A0
+ bl ListMenu_AddItem
ldr r0, [sp]
ldrb r1, [r4, #8]
add r0, r0, #4
@@ -1300,7 +1300,7 @@ _021E761A:
add r3, r2, #0
ldr r1, [r5, r1]
sub r3, #0x22
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
mov r1, #0x16
lsl r1, r1, #4
ldr r0, [r5, r1]
@@ -1309,7 +1309,7 @@ _021E761A:
add r3, r2, #0
ldr r1, [r5, r1]
sub r3, #0x23
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r6, #3
add sp, #8
strb r0, [r4, #9]
@@ -1340,7 +1340,7 @@ _021E7658:
ldr r0, [r5, r0]
ldr r1, [r7, r1]
mov r3, #6
- bl MOD75_021E7448
+ bl MOD75_GetItemName
mov r0, #0x16
mov r1, #0x59
lsl r0, r0, #4
@@ -1348,7 +1348,7 @@ _021E7658:
ldr r0, [r5, r0]
ldr r1, [r7, r1]
add r2, r6, #0
- bl FUN_020128A0
+ bl ListMenu_AddItem
ldr r0, [sp, #4]
ldrb r3, [r4, #8]
add r0, r0, #4
@@ -1377,7 +1377,7 @@ _021E76A4:
add r3, r2, #0
ldr r1, [r5, r1]
sub r3, #0x22
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _021E76E0
_021E76CC:
mov r1, #0x16
@@ -1388,7 +1388,7 @@ _021E76CC:
add r3, r2, #0
ldr r1, [r5, r1]
sub r3, #0x2b
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
_021E76E0:
mov r1, #0x16
lsl r1, r1, #4
@@ -1398,7 +1398,7 @@ _021E76E0:
add r3, r2, #0
ldr r1, [r5, r1]
sub r3, #0x23
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r6, #3
add sp, #8
strb r0, [r4, #9]
@@ -1412,7 +1412,7 @@ _021E76FC:
add r3, r2, #0
ldr r1, [r5, r1]
sub r3, #0x23
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r6, #2
strb r0, [r4, #9]
add sp, #8
@@ -1795,7 +1795,7 @@ _021E79C6:
add r0, r4, #0
add r0, #0xc8
ldr r0, [r0]
- bl FUN_0206EBC4
+ bl Bag_GetRegisteredItem
ldr r2, [r6]
lsl r1, r5, #2
ldrh r1, [r2, r1]
@@ -1915,7 +1915,7 @@ MOD75_021E7AA4: ; 0x021E7AA4
mov r0, #0x16
lsl r0, r0, #4
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #0x57
mov r1, #0
lsl r0, r0, #2
@@ -2834,7 +2834,7 @@ _021E81D2:
mov r0, #0x16
lsl r0, r0, #4
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
_021E8206:
add r0, r5, #0
add r0, #0xc4
@@ -3900,7 +3900,7 @@ MOD75_021E89F0: ; 0x021E89F0
mov r0, #0x16
lsl r0, r0, #4
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r4, #0
bl MOD75_021E7580
_021E8A3C:
@@ -4209,7 +4209,7 @@ _021E8C84:
add r0, r5, #0
add r0, #0xc8
ldr r0, [r0]
- bl FUN_0206EBC4
+ bl Bag_GetRegisteredItem
add r1, r5, #0
add r1, #0xc4
ldr r1, [r1]
@@ -5004,7 +5004,7 @@ MOD75_021E92BC: ; 0x021E92BC
ldrh r2, [r2]
ldrh r3, [r4, r3]
sub r1, r1, #3
- bl FUN_0206EE20
+ bl Pocket_TakeItem
add r0, r4, #0
add r0, #0xc4
ldr r3, [r0]
@@ -5026,7 +5026,7 @@ MOD75_021E92BC: ; 0x021E92BC
mov r0, #0x16
lsl r0, r0, #4
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r4, #0
bl MOD75_021E7580
add r0, r4, #0
@@ -5226,7 +5226,7 @@ MOD75_021E947C: ; 0x021E947C
add r2, #0x66
ldrh r2, [r2]
sub r1, r1, #3
- bl FUN_0206EF10
+ bl Pocket_GetQuantity
cmp r0, #1
bne _021E94BA
add r0, r4, #0
@@ -5604,7 +5604,7 @@ MOD75_021E97A8: ; 0x021E97A8
add r1, #0x66
ldrh r1, [r1]
ldr r0, [r0]
- bl FUN_0206EBCC
+ bl Bag_SetRegisteredItem
mov r0, #0x57
lsl r0, r0, #2
ldr r0, [r4, r0]
@@ -5629,7 +5629,7 @@ MOD75_021E97E4: ; 0x021E97E4
add r0, #0xc8
ldr r0, [r0]
mov r1, #0
- bl FUN_0206EBCC
+ bl Bag_SetRegisteredItem
mov r0, #0x57
lsl r0, r0, #2
ldr r0, [r4, r0]
@@ -5954,7 +5954,7 @@ _021E9A6E:
add r2, #0x66
ldrh r2, [r2]
sub r1, r1, #3
- bl FUN_0206EF10
+ bl Pocket_GetQuantity
cmp r0, #1
bne _021E9AF4
mov r0, #0x45
@@ -8881,7 +8881,7 @@ _021EB180:
_021EB1B0:
add r0, r7, #0
mov r1, #6
- bl FUN_02012838
+ bl ListMenu_ctor
mov r1, #0x55
lsl r1, r1, #2
mov r4, #0
@@ -8901,7 +8901,7 @@ _021EB1C4:
lsl r1, r1, #2
ldr r0, [r5, r0]
ldr r1, [r3, r1]
- bl FUN_020128A0
+ bl ListMenu_AddItem
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
@@ -9112,7 +9112,7 @@ _021EB37A:
mov r0, #0x55
lsl r0, r0, #2
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
add r0, r5, #0
add r0, #0xb4
bl FUN_02019178
diff --git a/arm9/modules/76/asm/module_76.s b/arm9/modules/76/asm/module_76.s
index 3a079284..028319f9 100644
--- a/arm9/modules/76/asm/module_76.s
+++ b/arm9/modules/76/asm/module_76.s
@@ -1257,7 +1257,7 @@ MOD76_021D7ECC: ; 0x021D7ECC
strb r1, [r5, r0]
ldrb r0, [r5, r0]
mov r1, #0x43
- bl FUN_02012838
+ bl ListMenu_ctor
mov r1, #0x42
lsl r1, r1, #2
str r0, [r5, r1]
@@ -1287,7 +1287,7 @@ _021D7F0E:
ldr r0, [r5, r0]
add r1, r7, #0
add r3, r2, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _021D7F42
_021D7F2A:
mov r0, #0x42
@@ -1299,7 +1299,7 @@ _021D7F2A:
ldr r0, [r5, r0]
ldr r1, [r1]
sub r3, #0x22
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _021D7F50
_021D7F42:
mov r0, #0x61
@@ -1369,7 +1369,7 @@ MOD76_021D7FAC: ; 0x021D7FAC
mov r0, #0x42
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
pop {r4, pc}
.align 2, 0
thumb_func_end MOD76_021D7FAC
diff --git a/arm9/modules/77/asm/module_77.s b/arm9/modules/77/asm/module_77.s
index a6ce5269..3d646524 100644
--- a/arm9/modules/77/asm/module_77.s
+++ b/arm9/modules/77/asm/module_77.s
@@ -1767,7 +1767,7 @@ MOD77_021D8370: ; 0x021D8370
bl FUN_02019150
ldrh r0, [r6, #0x10]
ldr r1, [r5]
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _021D8404 ; =0x0000C058
mov r7, #0
str r0, [r5, r1]
@@ -1782,7 +1782,7 @@ _021D8398:
ldr r1, [r5, r1]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldrh r0, [r6, #0x10]
add r7, r7, #1
add r4, #8
@@ -1853,7 +1853,7 @@ MOD77_021D8418: ; 0x021D8418
str r0, [sp, #8]
ldr r1, [r5]
add r0, r6, #0
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _021D84C8 ; =0x0000C058
mov r4, #0
str r0, [r5, r1]
@@ -1865,7 +1865,7 @@ _021D844E:
ldr r0, [r5, r0]
ldr r1, [sp, #8]
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r4, r4, #1
cmp r4, r6
blo _021D844E
@@ -1940,7 +1940,7 @@ MOD77_021D84D8: ; 0x021D84D8
bl FUN_02001300
ldr r0, _021D850C ; =0x0000C058
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
pop {r4, pc}
.align 2, 0
_021D8504: .word 0x0000C024
diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s
index c58bb515..6f1d2bbe 100644
--- a/arm9/modules/80/asm/module_80.s
+++ b/arm9/modules/80/asm/module_80.s
@@ -4573,7 +4573,7 @@ MOD80_0222F96C: ; 0x0222F96C
bic r3, r1
mov r1, #0x3e
strb r3, [r2, #0xb]
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _0222F9FC ; =0x00000FC8
mov r2, #0x36
str r0, [r4, r1]
@@ -4581,14 +4581,14 @@ MOD80_0222F96C: ; 0x0222F96C
ldr r1, _0222FA00 ; =0x00000B34
mov r3, #1
ldr r1, [r4, r1]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _0222F9FC ; =0x00000FC8
ldr r1, _0222FA00 ; =0x00000B34
ldr r0, [r4, r0]
ldr r1, [r4, r1]
mov r2, #0x37
mov r3, #2
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _0222F9FC ; =0x00000FC8
mov r2, #0x1f
ldr r1, [r4, r0]
@@ -4647,7 +4647,7 @@ _0222FA26:
bl FUN_02001C5C
ldr r0, _0222FADC ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _0222FAE0 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -4702,7 +4702,7 @@ _0222FAA4:
bl FUN_02001C5C
ldr r0, _0222FADC ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _0222FAE0 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -7629,7 +7629,7 @@ _02231240:
bl FUN_02001300
ldr r0, _022312B8 ; =0x00000FC8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _022312BC ; =0x000005DC
bl FUN_020054C8
mov r0, #6
@@ -7646,7 +7646,7 @@ _02231266:
bl FUN_02001300
ldr r0, _022312B8 ; =0x00000FC8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _022312C0 ; =0x00000ED8
mov r1, #0
add r0, r4, r0
@@ -7750,7 +7750,7 @@ _02231342:
bl FUN_02001300
ldr r0, _02231468 ; =0x00000FC8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _0223146C ; =0x00000EE8
mov r1, #0
add r0, r4, r0
@@ -7783,7 +7783,7 @@ _0223138C:
bl FUN_02001300
ldr r0, _02231468 ; =0x00000FC8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02231474 ; =0x00000ED8
mov r1, #0
add r0, r4, r0
@@ -7983,7 +7983,7 @@ _0223154A:
bl FUN_02001300
ldr r0, _022315F4 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _022315F8 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -8008,7 +8008,7 @@ _0223158E:
bl FUN_02001300
ldr r0, _022315F4 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _022315F8 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -8156,7 +8156,7 @@ _022316D0:
bl FUN_02001300
ldr r0, _02231770 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02231774 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -8181,7 +8181,7 @@ _0223170C:
bl FUN_02001300
ldr r0, _02231770 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02231774 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -9823,7 +9823,7 @@ MOD80_02232470: ; 0x02232470
bic r3, r1
mov r1, #0x3e
strb r3, [r2, #0xb]
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _02232510 ; =0x00000FC8
mov r2, #0x5e
str r0, [r4, r1]
@@ -9831,21 +9831,21 @@ MOD80_02232470: ; 0x02232470
ldr r1, _02232514 ; =0x00000B34
mov r3, #1
ldr r1, [r4, r1]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _02232510 ; =0x00000FC8
ldr r1, _02232514 ; =0x00000B34
ldr r0, [r4, r0]
ldr r1, [r4, r1]
mov r2, #0x5f
mov r3, #2
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _02232510 ; =0x00000FC8
ldr r1, _02232514 ; =0x00000B34
ldr r0, [r4, r0]
ldr r1, [r4, r1]
mov r2, #0x60
mov r3, #3
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _02232510 ; =0x00000FC8
mov r2, #0x1f
ldr r1, [r4, r0]
@@ -9912,7 +9912,7 @@ _02232546:
bl FUN_02001C5C
ldr r0, _02232660 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02232664 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -9932,7 +9932,7 @@ _02232574:
bl FUN_02001C5C
ldr r0, _02232660 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02232664 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -10016,7 +10016,7 @@ _0223262E:
bl FUN_02001C5C
ldr r0, _02232660 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02232664 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -10063,7 +10063,7 @@ MOD80_02232670: ; 0x02232670
bic r3, r1
mov r1, #0x3e
strb r3, [r2, #0xb]
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _02232710 ; =0x00000FC8
mov r2, #0x54
str r0, [r4, r1]
@@ -10071,21 +10071,21 @@ MOD80_02232670: ; 0x02232670
ldr r1, _02232714 ; =0x00000B34
mov r3, #1
ldr r1, [r4, r1]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _02232710 ; =0x00000FC8
ldr r1, _02232714 ; =0x00000B34
ldr r0, [r4, r0]
ldr r1, [r4, r1]
mov r2, #0x55
mov r3, #2
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _02232710 ; =0x00000FC8
ldr r1, _02232714 ; =0x00000B34
ldr r0, [r4, r0]
ldr r1, [r4, r1]
mov r2, #0x56
mov r3, #3
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
ldr r0, _02232710 ; =0x00000FC8
mov r2, #0x1f
ldr r1, [r4, r0]
@@ -10152,7 +10152,7 @@ _02232746:
bl FUN_02001C5C
ldr r0, _0223283C ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02232840 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -10172,7 +10172,7 @@ _02232774:
bl FUN_02001C5C
ldr r0, _0223283C ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02232840 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -10239,7 +10239,7 @@ _0223280A:
bl FUN_02001C5C
ldr r0, _0223283C ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02232840 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -12263,7 +12263,7 @@ _022337FA:
bl FUN_02001300
ldr r0, _0223387C ; =0x00000FC8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r0, #5
str r0, [r4, #0x2c]
ldr r0, _02233880 ; =0x000005DC
@@ -12280,7 +12280,7 @@ _02233820:
bl FUN_02001300
ldr r0, _0223387C ; =0x00000FC8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02233884 ; =0x00000ED8
mov r1, #0
add r0, r4, r0
@@ -12418,7 +12418,7 @@ _02233932:
bl FUN_02001300
ldr r0, _02233A50 ; =0x00000FC8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02233A54 ; =0x00000EE8
mov r1, #0
add r0, r4, r0
@@ -12457,7 +12457,7 @@ _0223398C:
bl FUN_02001300
ldr r0, _02233A50 ; =0x00000FC8
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02233A58 ; =0x00000ED8
mov r1, #0
add r0, r4, r0
@@ -12647,7 +12647,7 @@ _02233B26:
bl FUN_02001300
ldr r0, _02233BD0 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02233BD4 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -12672,7 +12672,7 @@ _02233B6A:
bl FUN_02001300
ldr r0, _02233BD0 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02233BD4 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -12819,7 +12819,7 @@ _02233CA4:
bl FUN_02001300
ldr r0, _02233D70 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02233D74 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -12859,7 +12859,7 @@ _02233CFA:
bl FUN_02001300
ldr r0, _02233D70 ; =0x00000FC8
ldr r0, [r5, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
ldr r0, _02233D74 ; =0x00000ED8
mov r1, #0
add r0, r5, r0
@@ -13680,7 +13680,7 @@ MOD80_02234370: ; 0x02234370
mov r1, #0x3e
str r2, [sp]
add r6, r3, #0
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r5]
mov r4, #0
_02234388:
@@ -13689,7 +13689,7 @@ _02234388:
add r1, r6, #0
add r2, #0x68
add r3, r4, #1
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r4, r4, #1
cmp r4, #9
blt _02234388
@@ -13791,7 +13791,7 @@ _0223444A:
_02234456:
add r0, r6, #1
mov r1, #0x3e
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, [sp]
str r0, [r1]
mov r0, #0
@@ -13816,7 +13816,7 @@ _02234472:
ldr r1, [sp, #4]
ldr r0, [r0]
add r3, r2, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
b _022344B6
_02234494:
ldrh r1, [r5]
@@ -13833,7 +13833,7 @@ _02234494:
ldr r1, [sp, #4]
ldr r0, [r0]
add r3, r2, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
_022344B6:
ldr r0, [sp, #0x10]
add r5, r5, #2
@@ -13848,7 +13848,7 @@ _022344C2:
ldr r0, [r0]
ldr r1, [sp, #8]
sub r3, #0x77
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r0, r6, #1
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
@@ -13929,7 +13929,7 @@ MOD80_02234560: ; 0x02234560
mov r0, #4
mov r1, #0x3e
add r7, r2, #0
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r5, _022345C8 ; =0x02237B64
str r0, [r6]
mov r4, #0
@@ -13938,7 +13938,7 @@ _02234578:
ldr r2, [r5]
ldr r3, [r5, #4]
add r1, r7, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r4, r4, #1
add r5, #8
cmp r4, #4
@@ -13985,7 +13985,7 @@ MOD80_022345D0: ; 0x022345D0
mov r0, #0xd
mov r1, #0x3e
add r7, r2, #0
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r5, _02234638 ; =0x02237494
str r0, [r6]
mov r4, #0
@@ -13994,7 +13994,7 @@ _022345E8:
ldr r2, [r5]
add r1, r7, #0
add r3, r4, #0
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r4, r4, #1
add r5, #8
cmp r4, #0xd
diff --git a/arm9/modules/83/asm/module_83.s b/arm9/modules/83/asm/module_83.s
index 181dbb80..4e81fd4b 100644
--- a/arm9/modules/83/asm/module_83.s
+++ b/arm9/modules/83/asm/module_83.s
@@ -1,5 +1,6 @@
.include "asm/macros.inc"
.include "global.inc"
+ .include "constants/species.h"
.section .text
.balign 4, 0
@@ -41,7 +42,7 @@ _0222D5E0:
mov r0, #2
str r0, [sp, #4]
add r1, r1, #4
- ldr r7, _0222D670 ; =0x0223A794
+ ldr r7, _0222D670 ; =MOD83_0223A794
mul r6, r3
add r4, r7, r6
ldr r3, [r4, #0x10]
@@ -384,10 +385,10 @@ _0222D85E:
ldr r2, [r4, #0x38]
tst r1, r2
beq _0222D88E
- ldr r5, _0222D9A4 ; =0x0223A7F0
+ ldr r5, _0222D9A4 ; =MOD83_0223A7F0
b _0222D8B2
_0222D88E:
- ldr r5, _0222D9A8 ; =0x0223A804
+ ldr r5, _0222D9A8 ; =MOD83_0223A804
b _0222D8B2
_0222D892:
mov r1, #2
@@ -397,16 +398,16 @@ _0222D892:
ldr r2, [r4, #0x38]
tst r1, r2
beq _0222D8A4
- ldr r5, _0222D9AC ; =0x0223A818
+ ldr r5, _0222D9AC ; =MOD83_0223A818
b _0222D8B2
_0222D8A4:
- ldr r5, _0222D9B0 ; =0x0223A82C
+ ldr r5, _0222D9B0 ; =MOD83_0223A82C
b _0222D8B2
_0222D8A8:
mov r1, #0x80
tst r1, r0
beq _0222D8B2
- ldr r5, _0222D9B4 ; =0x0223A840
+ ldr r5, _0222D9B4 ; =MOD83_0223A840
mov r0, #0
_0222D8B2:
ldr r1, [r4, #0x44]
@@ -607,7 +608,7 @@ _0222DA4C: .word 0xFFFF4000
MOD83_0222DA50: ; 0x0222DA50
push {r3, r4, r5, lr}
sub sp, #0x40
- ldr r5, _0222DB4C ; =0x0223A380
+ ldr r5, _0222DB4C ; =MOD83_0223A380
add r4, r0, #0
add r3, sp, #0x18
mov r2, #5
@@ -616,7 +617,7 @@ _0222DA5C:
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0222DA5C
- ldr r3, _0222DB50 ; =0x0223A370
+ ldr r3, _0222DB50 ; =MOD83_0223A370
add r2, sp, #8
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
@@ -987,7 +988,7 @@ _0222DD58:
str r0, [sp, #0x1c]
_0222DD5C:
ldr r0, [sp, #0x14]
- ldr r1, _0222DEC0 ; =0x0223A85C
+ ldr r1, _0222DEC0 ; =MOD83_0223A85C
lsl r0, r0, #4
str r0, [sp, #0x20]
ldr r0, [r1, r0]
@@ -998,7 +999,7 @@ _0222DD5C:
ldr r0, [r0]
add r3, r4, #0
bl MOD83_02238A38
- ldr r4, _0222DEC4 ; =0x0223A784
+ ldr r4, _0222DEC4 ; =MOD83_0223A784
mov r6, #1
mov r5, #0x10
_0222DD7C:
@@ -1127,7 +1128,7 @@ _0222DE76:
lsr r2, r2, #0x10
lsr r3, r3, #0x18
bl FUN_0200CCA4
- ldr r1, _0222DEC8 ; =0x0223A854
+ ldr r1, _0222DEC8 ; =MOD83_0223A854
ldr r0, [sp, #0x20]
ldr r2, [r1, r0]
ldr r0, [sp, #0x14]
@@ -1206,7 +1207,7 @@ _0222DF12:
mov r1, #0x1a
add r2, r6, #0
bl MOD83_0222DC60
- ldr r0, _0222DF3C ; =0x0223A854
+ ldr r0, _0222DF3C ; =MOD83_0223A854
lsl r1, r5, #4
ldr r1, [r0, r1]
lsl r0, r5, #2
@@ -1247,7 +1248,7 @@ _0222DF60:
str r0, [r5, #0x34]
_0222DF72:
mov r0, #0x51
- bl MOD83_022385FC
+ bl MOD83_SetHeapId
bl MOD83_02238700
cmp r0, #0
beq _0222DF88
@@ -1267,7 +1268,7 @@ _0222DF98:
ldr r0, [r5, #0x34]
cmp r0, #1
bne _0222DFDC
- ldr r0, _0222DFE4 ; =0x0223A85C
+ ldr r0, _0222DFE4 ; =MOD83_0223A85C
lsl r6, r4, #4
ldr r0, [r0, r6]
ldr r1, [sp, #4]
@@ -1280,7 +1281,7 @@ _0222DF98:
mov r1, #0x1a
add r2, r7, #0
bl MOD83_0222DC60
- ldr r0, _0222DFE8 ; =0x0223A854
+ ldr r0, _0222DFE8 ; =MOD83_0223A854
ldr r1, [r0, r6]
lsl r0, r4, #2
add r0, r5, r0
@@ -1316,7 +1317,7 @@ MOD83_0222DFEC: ; 0x0222DFEC
ldr r0, [r5, #0x4c]
cmp r0, #1
bne _0222E03C
- ldr r0, _0222E040 ; =0x0223A85C
+ ldr r0, _0222E040 ; =MOD83_0223A85C
lsl r6, r4, #4
ldr r0, [r0, r6]
add r1, r2, #0
@@ -1334,7 +1335,7 @@ MOD83_0222DFEC: ; 0x0222DFEC
mov r0, #1
add r1, #0xe8
str r0, [r1]
- ldr r1, _0222E044 ; =0x0223A854
+ ldr r1, _0222E044 ; =MOD83_0223A854
ldr r2, [r1, r6]
add r1, r5, r3
add r1, #0xcc
@@ -1361,7 +1362,7 @@ MOD83_0222E048: ; 0x0222E048
add r7, r3, #0
cmp r0, #1
bne _0222E08A
- ldr r0, _0222E090 ; =0x0223A85C
+ ldr r0, _0222E090 ; =MOD83_0223A85C
lsl r6, r5, #4
ldr r0, [r0, r6]
add r1, r2, #0
@@ -1378,7 +1379,7 @@ MOD83_0222E048: ; 0x0222E048
mov r1, #0x1a
add r2, r7, #0
bl MOD83_0222DC10
- ldr r0, _0222E094 ; =0x0223A854
+ ldr r0, _0222E094 ; =MOD83_0223A854
ldr r1, [r0, r6]
add r0, r4, r5
add r0, #0xcc
@@ -1398,7 +1399,7 @@ MOD83_0222E098: ; 0x0222E098
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
- ldr r0, _0222E0D4 ; =0x0223A85C
+ ldr r0, _0222E0D4 ; =MOD83_0223A85C
lsl r6, r4, #4
ldr r0, [r0, r6]
add r1, r2, #0
@@ -1416,7 +1417,7 @@ MOD83_0222E098: ; 0x0222E098
mov r1, #0x1a
add r2, r7, #0
bl MOD83_0222DC10
- ldr r0, _0222E0D8 ; =0x0223A854
+ ldr r0, _0222E0D8 ; =MOD83_0223A854
ldr r1, [r0, r6]
add r0, r5, r4
add r0, #0xcc
@@ -1438,7 +1439,7 @@ MOD83_0222E0DC: ; 0x0222E0DC
mov r0, #0x13
str r0, [r7, #0x20]
ldr r0, [sp, #0xc]
- ldr r4, _0222E1F0 ; =0x0223A854
+ ldr r4, _0222E1F0 ; =MOD83_0223A854
str r0, [sp, #0x10]
add r0, r7, #0
str r0, [sp, #8]
@@ -1864,7 +1865,7 @@ MOD83_0222E430: ; 0x0222E430
lsl r1, r1, #2
ldr r2, [r0, r1]
lsl r3, r2, #1
- ldr r2, _0222E45C ; =0x0223A7B0
+ ldr r2, _0222E45C ; =MOD83_0223A7B0
ldrh r2, [r2, r3]
cmp r2, #0
bne _0222E444
@@ -1876,7 +1877,7 @@ _0222E444:
ldr r3, [r0, r1]
add r2, r3, #1
str r2, [r0, r1]
- ldr r0, _0222E45C ; =0x0223A7B0
+ ldr r0, _0222E45C ; =MOD83_0223A7B0
lsl r1, r3, #1
ldrh r1, [r0, r1]
ldr r0, _0222E460 ; =0x0500006C
@@ -1895,7 +1896,7 @@ MOD83_0222E464: ; 0x0222E464
bl FUN_02009F80
add r0, r4, #0
bl FUN_0201AB60
- ldr r3, _0222E484 ; =0x027E0000
+ ldr r3, _0222E484 ; =MOD83_027E0000
ldr r1, _0222E488 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
@@ -2318,21 +2319,21 @@ _0222E7DA:
pop {r3, pc}
_0222E7E4:
ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID
- ldr r1, _0222E834 ; =0x0223A434
+ ldr r1, _0222E834 ; =MOD83_0223A434
bl FUN_02000E7C
pop {r3, pc}
_0222E7EE:
ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID
- ldr r1, _0222E838 ; =0x0223A4FC
+ ldr r1, _0222E838 ; =MOD83_0223A4FC
bl FUN_02000E7C
pop {r3, pc}
_0222E7F8:
ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID
- ldr r1, _0222E83C ; =0x0223A3A8
+ ldr r1, _0222E83C ; =MOD83_0223A3A8
bl FUN_02000E7C
pop {r3, pc}
_0222E802:
- ldr r0, _0222E840 ; =0x0223A8C4
+ ldr r0, _0222E840 ; =MOD83_0223A8C4
bl FUN_020224D8
pop {r3, pc}
_0222E80A:
@@ -2382,14 +2383,14 @@ MOD83_0222E850: ; 0x0222E850
thumb_func_start MOD83_0222E874
MOD83_0222E874: ; 0x0222E874
push {r3, r4}
- ldr r4, _0222E89C ; =0x0223A8E0
+ ldr r4, _0222E89C ; =MOD83_0223A8E0
ldr r1, _0222E8A0 ; =0x00000123
mov r3, #0
_0222E87C:
ldrh r2, [r4, #2]
cmp r0, r2
bne _0222E88C
- ldr r0, _0222E89C ; =0x0223A8E0
+ ldr r0, _0222E89C ; =MOD83_0223A8E0
lsl r1, r3, #2
ldrh r0, [r0, r1]
pop {r3, r4}
@@ -2463,7 +2464,7 @@ MOD83_0222E910: ; 0x0222E910
add r7, r0, #0
ldr r0, [r7, #0x10]
bl PlayerProfile_GetNamePtr
- ldr r5, _0222E948 ; =0x0223B860
+ ldr r5, _0222E948 ; =MOD83_0223B860
add r4, r0, #0
mov r6, #0
_0222E920:
@@ -2478,9 +2479,9 @@ _0222E920:
ldr r0, [r7, #0x10]
bl PlayerProfile_GetTrainerID_VisibleHalf
add r1, r0, #0
- ldr r0, _0222E94C ; =0x0223B870
+ ldr r0, _0222E94C ; =MOD83_0223B870
bl MOD83_0222E8A4
- ldr r0, _0222E950 ; =0x0223B860
+ ldr r0, _0222E950 ; =MOD83_0223B860
mov r1, #0
strh r1, [r0, #0x1a]
pop {r3, r4, r5, r6, r7, pc}
@@ -2494,7 +2495,7 @@ _0222E950: .word MOD83_0223B860
MOD83_0222E954: ; 0x0222E954
push {r3, r4, r5, lr}
sub sp, #0x48
- ldr r5, _0222EA80 ; =0x0223A3C8
+ ldr r5, _0222EA80 ; =MOD83_0223A3C8
add r4, r0, #0
add r3, sp, #0x20
mov r2, #5
@@ -2503,7 +2504,7 @@ _0222E960:
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0222E960
- ldr r3, _0222EA84 ; =0x0223A3B8
+ ldr r3, _0222EA84 ; =MOD83_0223A3B8
add r2, sp, #0x10
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
@@ -3597,7 +3598,7 @@ _0222F29E:
beq _0222F356
mov r1, #0x5b
lsl r1, r1, #2
- ldr r0, _0222F5E0 ; =0x0223A8D4
+ ldr r0, _0222F5E0 ; =MOD83_0223A8D4
add r1, r4, r1
bl MOD83_02233F94
mov r0, #0x56
@@ -3801,7 +3802,7 @@ _0222F44E:
bl MOD83_0222F1B4
b _0222F736
_0222F45C:
- ldr r0, _0222F5F8 ; =0x0223AD6C
+ ldr r0, _0222F5F8 ; =MOD83_0223AD6C
mov r1, #0x2a
mov r2, #1
bl MOD83_02234424
@@ -3898,7 +3899,7 @@ _0222F51E:
str r0, [r4, r5]
b _0222F736
_0222F524:
- ldr r0, _0222F5F8 ; =0x0223AD6C
+ ldr r0, _0222F5F8 ; =MOD83_0223AD6C
mov r1, #0x2a
mov r2, #2
bl MOD83_02234424
@@ -4157,7 +4158,7 @@ _0222F748: .word gMain
thumb_func_start MOD83_0222F74C
MOD83_0222F74C: ; 0x0222F74C
push {r4, lr}
- ldr r1, _0222F79C ; =0x0223B884
+ ldr r1, _0222F79C ; =MOD83_0223B884
add r4, r0, #0
ldr r1, [r1]
cmp r1, #0
@@ -4167,13 +4168,13 @@ MOD83_0222F74C: ; 0x0222F74C
mov r0, #0xf
lsl r1, r1, #2
bl AllocFromHeap
- ldr r1, _0222F79C ; =0x0223B884
+ ldr r1, _0222F79C ; =MOD83_0223B884
mov r2, #0xf5
str r0, [r1]
mov r1, #0
lsl r2, r2, #2
bl MI_CpuFill8
- ldr r0, _0222F79C ; =0x0223B884
+ ldr r0, _0222F79C ; =MOD83_0223B884
mov r1, #0x32
ldr r0, [r0]
mov r2, #0xa
@@ -4181,7 +4182,7 @@ MOD83_0222F74C: ; 0x0222F74C
ldr r0, _0222F7A0 ; =MOD83_0222F89C
mov r1, #0
bl FUN_0200CA44
- ldr r1, _0222F79C ; =0x0223B884
+ ldr r1, _0222F79C ; =MOD83_0223B884
ldr r2, [r1]
str r0, [r2, #0x1c]
ldr r0, [r1]
@@ -4198,7 +4199,7 @@ _0222F7A0: .word MOD83_0222F89C
thumb_func_start MOD83_0222F7A4
MOD83_0222F7A4: ; 0x0222F7A4
- ldr r2, _0222F7B0 ; =0x0223B884
+ ldr r2, _0222F7B0 ; =MOD83_0223B884
ldr r3, [r2]
str r0, [r3, #0x20]
ldr r0, [r2]
@@ -4216,7 +4217,7 @@ MOD83_0222F7B4: ; 0x0222F7B4
cmp r0, #0
beq _0222F7E2
mov r4, #0
- ldr r1, _0222F7E4 ; =0x0223B884
+ ldr r1, _0222F7E4 ; =MOD83_0223B884
ldr r0, _0222F7E8 ; =0x000003C1
add r3, r4, #0
_0222F7CA:
@@ -4242,7 +4243,7 @@ _0222F7EC: .word MOD83_0222F7F0
MOD83_0222F7F0: ; 0x0222F7F0
push {r4, r5, r6, lr}
mov r4, #0
- ldr r6, _0222F824 ; =0x0223B884
+ ldr r6, _0222F824 ; =MOD83_0223B884
add r5, r4, #0
_0222F7F8:
ldr r0, [r6]
@@ -4294,7 +4295,7 @@ MOD83_0222F840: ; 0x0222F840
thumb_func_start MOD83_0222F844
MOD83_0222F844: ; 0x0222F844
push {r3, lr}
- ldr r0, _0222F85C ; =0x0223B884
+ ldr r0, _0222F85C ; =MOD83_0223B884
ldr r0, [r0]
add r0, #0x27
ldrb r0, [r0]
@@ -4314,7 +4315,7 @@ MOD83_0222F864: ; 0x0222F864
bl FUN_02031A2C
cmp r0, #0
beq _0222F88C
- ldr r0, _0222F890 ; =0x0223B884
+ ldr r0, _0222F890 ; =MOD83_0223B884
mov r2, #0
ldr r1, [r0]
mov r0, #0xf
@@ -4342,7 +4343,7 @@ MOD83_0222F898: ; 0x0222F898
thumb_func_start MOD83_0222F89C
MOD83_0222F89C: ; 0x0222F89C
push {r3, lr}
- ldr r1, _0222F8C0 ; =0x0223B884
+ ldr r1, _0222F8C0 ; =MOD83_0223B884
ldr r2, [r1]
cmp r2, #0
bne _0222F8AC
@@ -4424,7 +4425,7 @@ _0222F930: .word MOD83_0222F828
thumb_func_start MOD83_0222F934
MOD83_0222F934: ; 0x0222F934
- ldr r1, _0222F944 ; =0x0223B884
+ ldr r1, _0222F944 ; =MOD83_0223B884
ldr r3, _0222F948 ; =MOD83_0222F7A4
ldr r1, [r1]
add r1, #0x27
@@ -4470,7 +4471,7 @@ _0222F976:
thumb_func_start MOD83_0222F984
MOD83_0222F984: ; 0x0222F984
- ldr r1, _0222F99C ; =0x0223B884
+ ldr r1, _0222F99C ; =MOD83_0223B884
ldr r2, [r1]
add r1, r2, #0
add r1, #0x27
@@ -4489,7 +4490,7 @@ _0222F99C: .word MOD83_0223B884
thumb_func_start MOD83_0222F9A0
MOD83_0222F9A0: ; 0x0222F9A0
- ldr r0, _0222F9AC ; =0x0223B884
+ ldr r0, _0222F9AC ; =MOD83_0223B884
ldr r1, [r0]
mov r0, #0xf
lsl r0, r0, #6
@@ -4509,7 +4510,7 @@ MOD83_0222F9B0: ; 0x0222F9B0
thumb_func_start MOD83_0222F9B8
MOD83_0222F9B8: ; 0x0222F9B8
- ldr r0, _0222F9C0 ; =0x0223B884
+ ldr r0, _0222F9C0 ; =MOD83_0223B884
ldr r0, [r0]
add r0, #0x68
bx lr
@@ -4519,7 +4520,7 @@ _0222F9C0: .word MOD83_0223B884
thumb_func_start MOD83_0222F9C4
MOD83_0222F9C4: ; 0x0222F9C4
- ldr r1, _0222F9D4 ; =0x0223B884
+ ldr r1, _0222F9D4 ; =MOD83_0223B884
mov r2, #1
ldr r1, [r1]
add r1, r1, r0
@@ -4534,11 +4535,11 @@ _0222F9D8: .word 0x000003C1
thumb_func_start MOD83_0222F9DC
MOD83_0222F9DC: ; 0x0222F9DC
push {r3, lr}
- ldr r1, _0222F9F4 ; =0x0223B884
+ ldr r1, _0222F9F4 ; =MOD83_0223B884
mov r0, #0xf
ldr r1, [r1]
bl FUN_02016A8C
- ldr r0, _0222F9F4 ; =0x0223B884
+ ldr r0, _0222F9F4 ; =MOD83_0223B884
mov r1, #0
str r1, [r0]
bl FUN_02031A08
@@ -4551,7 +4552,7 @@ _0222F9F4: .word MOD83_0223B884
MOD83_0222F9F8: ; 0x0222F9F8
ldr r3, _0222FA04 ; =FUN_0202D8D0
add r2, r0, #0
- ldr r0, _0222FA08 ; =0x0223A3F0
+ ldr r0, _0222FA08 ; =MOD83_0223A3F0
mov r1, #2
bx r3
nop
@@ -4608,7 +4609,7 @@ MOD83_0222FA4C: ; 0x0222FA4C
ldr r0, [r7, #0x7c]
cmp r0, #0
beq _0222FA62
- bl FUN_02012870
+ bl ListMenu_dtor
_0222FA62:
ldr r0, [r7, #0x78]
cmp r0, #0
@@ -5050,7 +5051,7 @@ _0222FDC6:
mov r2, #0x1f
mov r3, #3
bl FUN_0200CCA4
- ldr r1, _0222FDE4 ; =0x0223ADD8
+ ldr r1, _0222FDE4 ; =MOD83_0223ADD8
add r0, r6, #0
mov r2, #2
add r3, r4, #0
@@ -5139,7 +5140,7 @@ _0222FE76:
mov r3, #3
bl FUN_0200CCA4
mov r2, #2
- ldr r1, _0222FE9C ; =0x0223ADC8
+ ldr r1, _0222FE9C ; =MOD83_0223ADC8
add r0, r6, #0
add r3, r4, #0
str r2, [sp]
@@ -5194,7 +5195,7 @@ _0222FEE6:
bl FUN_0200CCA4
mov r0, #0x4e
str r0, [sp]
- ldr r1, _0222FF0C ; =0x0223AD98
+ ldr r1, _0222FF0C ; =MOD83_0223AD98
add r0, r6, #0
mov r2, #2
add r3, r5, #0
@@ -5249,7 +5250,7 @@ _0222FF56:
bl FUN_0200CCA4
mov r0, #0x4d
str r0, [sp]
- ldr r1, _0222FF7C ; =0x0223ADA8
+ ldr r1, _0222FF7C ; =MOD83_0223ADA8
add r0, r6, #0
mov r2, #2
add r3, r5, #0
@@ -5296,7 +5297,7 @@ _0222FFB4:
bl FUN_0200CCA4
mov r0, #4
str r0, [sp]
- ldr r1, _0222FFD4 ; =0x0223ADB8
+ ldr r1, _0222FFD4 ; =MOD83_0223ADB8
add r0, r5, #0
mov r2, #2
add r3, r4, #0
@@ -5352,7 +5353,7 @@ MOD83_02230010: ; 0x02230010
add r0, r4, #0
mov r1, #1
bl MOD83_0222FA0C
- ldr r0, _02230044 ; =0x0223B888
+ ldr r0, _02230044 ; =MOD83_0223B888
mov r1, #0x24
str r1, [r0, #0x10]
mov r0, #0x20
@@ -5395,7 +5396,7 @@ _02230060:
thumb_func_start MOD83_02230084
MOD83_02230084: ; 0x02230084
push {r3, lr}
- ldr r0, _022300A8 ; =0x0223B888
+ ldr r0, _022300A8 ; =MOD83_0223B888
ldr r0, [r0, #0x10]
cmp r0, #0x27
beq _02230096
@@ -5407,7 +5408,7 @@ _02230096:
bl MOD83_02239A14
cmp r0, #0
beq _022300A4
- ldr r0, _022300A8 ; =0x0223B888
+ ldr r0, _022300A8 ; =MOD83_0223B888
mov r1, #0x2a
str r1, [r0, #0x10]
_022300A4:
@@ -5520,7 +5521,7 @@ _02230172:
bl FUN_0200CCA4
mov r0, #1
str r0, [sp]
- ldr r1, _02230198 ; =0x0223AE20
+ ldr r1, _02230198 ; =MOD83_0223AE20
add r0, r6, #0
mov r2, #4
add r3, r4, #0
@@ -5595,7 +5596,7 @@ MOD83_0223020C: ; 0x0223020C
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r3, #0
- ldr r3, _02230254 ; =0x0223A418
+ ldr r3, _02230254 ; =MOD83_0223A418
add r7, r0, #0
add r4, r1, #0
add r6, r2, #0
@@ -5634,7 +5635,7 @@ _02230254: .word MOD83_0223A418
MOD83_02230258: ; 0x02230258
push {r3, r4, r5, lr}
sub sp, #0x10
- ldr r5, _022302B0 ; =0x0223A408
+ ldr r5, _022302B0 ; =MOD83_0223A408
add r3, sp, #0
add r4, r0, #0
add r2, r3, #0
@@ -5811,11 +5812,11 @@ MOD83_022303B0: ; 0x022303B0
ldr r0, [r4, #0x7c]
cmp r0, #0
beq _022303CC
- bl FUN_02012870
+ bl ListMenu_dtor
_022303CC:
add r0, r7, #0
mov r1, #0x56
- bl FUN_02012838
+ bl ListMenu_ctor
str r0, [r4, #0x7c]
ldr r2, _0223045C ; =0x00000172
mov r0, #0
@@ -5831,7 +5832,7 @@ _022303EA:
ldr r1, [r4, #0x10]
ldr r2, [r5]
ldr r3, [r5, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r6, r6, #1
add r5, #8
cmp r6, r7
@@ -5839,7 +5840,7 @@ _022303EA:
_022303FE:
ldr r0, [r4, #0x10]
bl DestroyMsgData
- ldr r3, _02230460 ; =0x0223AE00
+ ldr r3, _02230460 ; =MOD83_0223AE00
add r2, sp, #8
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
@@ -5899,7 +5900,7 @@ MOD83_02230464: ; 0x02230464
ldr r0, [r7, #4]
mov r5, #0
bl FUN_0202251C
- ldr r1, _02230508 ; =0x0223AD98
+ ldr r1, _02230508 ; =MOD83_0223AD98
add r4, r7, #0
ldr r2, [r1, #0x50]
ldr r1, [r1, #0x54]
@@ -5913,7 +5914,7 @@ MOD83_02230464: ; 0x02230464
lsl r6, r5, #3
add r0, sp, #0x20
add r1, r0, r6
- ldr r0, _02230508 ; =0x0223AD98
+ ldr r0, _02230508 ; =MOD83_0223AD98
add r5, r5, #1
ldr r3, [r0, #0x58]
ldr r2, [r0, #0x5c]
@@ -5924,7 +5925,7 @@ _022304A8:
lsl r6, r5, #3
add r0, sp, #0x20
add r1, r0, r6
- ldr r0, _02230508 ; =0x0223AD98
+ ldr r0, _02230508 ; =MOD83_0223AD98
ldr r3, [r0, #0x60]
ldr r2, [r0, #0x64]
add r0, sp, #0x20
@@ -6119,7 +6120,7 @@ _02230642:
bl FUN_020054C8
cmp r4, #0
beq _0223065E
- ldr r0, _02230664 ; =0x0223B888
+ ldr r0, _02230664 ; =MOD83_0223B888
str r4, [r0, #0xc]
add r0, r7, #0
blx r4
@@ -6532,7 +6533,7 @@ MOD83_02230954: ; 0x02230954
mov r2, #1
bl FUN_0200433C
mov r0, #0x56
- bl MOD83_022385FC
+ bl MOD83_SetHeapId
bl MOD83_02238700
cmp r0, #0
beq _022309D0
@@ -6706,7 +6707,7 @@ _02230B1C:
_02230B28:
add r0, r4, #0
bl MOD83_022314B4
- ldr r0, _02230D70 ; =0x0223B888
+ ldr r0, _02230D70 ; =MOD83_0223B888
ldr r0, [r0, #0x10]
cmp r0, #0x2c
bne _02230BC0
@@ -6772,7 +6773,7 @@ _02230B9A:
mov r0, #0x1f
str r0, [r5]
_02230BC0:
- ldr r0, _02230D70 ; =0x0223B888
+ ldr r0, _02230D70 ; =MOD83_0223B888
ldr r0, [r0, #0x10]
sub r0, #0x2d
cmp r0, #1
@@ -6858,7 +6859,7 @@ _02230C48:
_02230C7C:
add r0, r4, #0
bl MOD83_022314B4
- ldr r0, _02230D70 ; =0x0223B888
+ ldr r0, _02230D70 ; =MOD83_0223B888
ldr r1, [r0, #0x10]
add r0, r1, #0
sub r0, #0x2c
@@ -7655,7 +7656,7 @@ _02231360: .word 0x0000298C
thumb_func_start MOD83_02231364
MOD83_02231364: ; 0x02231364
- ldr r0, _0223136C ; =0x0223B888
+ ldr r0, _0223136C ; =MOD83_0223B888
ldr r0, [r0, #4]
bx lr
nop
@@ -7664,7 +7665,7 @@ _0223136C: .word MOD83_0223B888
thumb_func_start MOD83_02231370
MOD83_02231370: ; 0x02231370
- ldr r1, _02231378 ; =0x0223B888
+ ldr r1, _02231378 ; =MOD83_0223B888
str r0, [r1, #4]
bx lr
nop
@@ -7690,7 +7691,7 @@ _0223139A:
cmp r0, #1
bne _022313A6
ldr r0, _022313D8 ; =SDK_OVERLAY_MODULE_83_ID
- ldr r1, _022313DC ; =0x0223A444
+ ldr r1, _022313DC ; =MOD83_0223A444
bl FUN_02000E7C
_022313A6:
mov r0, #0x5b
@@ -7785,22 +7786,22 @@ _02231450: ; jump table
.short _02231472 - _02231450 - 2 ; case 3
.short _02231486 - _02231450 - 2 ; case 4
_0223145A:
- ldr r0, _02231490 ; =0x0223B888
+ ldr r0, _02231490 ; =MOD83_0223B888
mov r1, #0x27
str r1, [r0, #0x10]
bx lr
_02231462:
- ldr r0, _02231490 ; =0x0223B888
+ ldr r0, _02231490 ; =MOD83_0223B888
mov r1, #0x28
str r1, [r0, #0x10]
bx lr
_0223146A:
- ldr r0, _02231490 ; =0x0223B888
+ ldr r0, _02231490 ; =MOD83_0223B888
mov r1, #0x29
str r1, [r0, #0x10]
bx lr
_02231472:
- ldr r0, _02231490 ; =0x0223B888
+ ldr r0, _02231490 ; =MOD83_0223B888
ldr r1, [r0, #0x10]
cmp r1, #0x29
bne _02231480
@@ -7812,7 +7813,7 @@ _02231480:
str r1, [r0, #0x10]
bx lr
_02231486:
- ldr r0, _02231490 ; =0x0223B888
+ ldr r0, _02231490 ; =MOD83_0223B888
mov r1, #0x2f
str r1, [r0, #0x10]
_0223148C:
@@ -7825,11 +7826,11 @@ _02231490: .word MOD83_0223B888
MOD83_02231494: ; 0x02231494
push {r3, lr}
bl FUN_0202E4F0
- ldr r0, _022314B0 ; =0x0223B888
+ ldr r0, _022314B0 ; =MOD83_0223B888
ldr r0, [r0, #8]
bl FreeToHeap
bl FUN_02033ED0
- ldr r0, _022314B0 ; =0x0223B888
+ ldr r0, _022314B0 ; =MOD83_0223B888
mov r1, #0
str r1, [r0, #8]
pop {r3, pc}
@@ -7841,7 +7842,7 @@ _022314B0: .word MOD83_0223B888
MOD83_022314B4: ; 0x022314B4
push {r4, lr}
add r4, r0, #0
- ldr r0, _022315C0 ; =0x0223B888
+ ldr r0, _022315C0 ; =MOD83_0223B888
ldr r0, [r0, #0x10]
cmp r0, #0x2b
bne _022314DA
@@ -7849,16 +7850,16 @@ MOD83_022314B4: ; 0x022314B4
bl MOD83_02239CEC
cmp r0, #0
beq _022314D4
- ldr r0, _022315C0 ; =0x0223B888
+ ldr r0, _022315C0 ; =MOD83_0223B888
mov r1, #0x2c
str r1, [r0, #0x10]
b _022314DA
_022314D4:
- ldr r0, _022315C0 ; =0x0223B888
+ ldr r0, _022315C0 ; =MOD83_0223B888
mov r1, #0x2d
str r1, [r0, #0x10]
_022314DA:
- ldr r0, _022315C0 ; =0x0223B888
+ ldr r0, _022315C0 ; =MOD83_0223B888
ldr r0, [r0, #0x10]
cmp r0, #0x24
beq _022314F6
@@ -7878,7 +7879,7 @@ _022314F6:
sub r0, r1, r0
bl FUN_02033EEC
_02231502:
- ldr r1, _022315C0 ; =0x0223B888
+ ldr r1, _022315C0 ; =MOD83_0223B888
ldr r0, [r1, #0x10]
sub r0, #0x24
cmp r0, #0xb
@@ -7904,7 +7905,7 @@ _02231518: ; jump table
.short _0223157C - _02231518 - 2 ; case 11
_02231530:
bl FUN_0202E49C
- ldr r0, _022315C0 ; =0x0223B888
+ ldr r0, _022315C0 ; =MOD83_0223B888
mov r1, #0x25
str r1, [r0, #0x10]
b _0223157C
@@ -7912,7 +7913,7 @@ _0223153C:
bl FUN_0202E4C8
cmp r0, #1
bne _0223157C
- ldr r0, _022315C0 ; =0x0223B888
+ ldr r0, _022315C0 ; =MOD83_0223B888
mov r1, #0
str r1, [r0]
bl MOD83_02239D98
@@ -7920,13 +7921,13 @@ _0223153C:
mov r0, #0x56
bl AllocFromHeap
add r2, r0, #0
- ldr r0, _022315C0 ; =0x0223B888
+ ldr r0, _022315C0 ; =MOD83_0223B888
ldr r1, _022315C4 ; =MOD83_02231440
str r2, [r0, #8]
ldr r0, _022315C8 ; =0x000005D4
add r0, r4, r0
bl MOD83_02239A98
- ldr r0, _022315C0 ; =0x0223B888
+ ldr r0, _022315C0 ; =MOD83_0223B888
mov r1, #0x26
str r1, [r0, #0x10]
bl FUN_02033E74
@@ -7944,7 +7945,7 @@ _0223157C:
mov r0, #2
tst r0, r1
beq _022315BC
- ldr r0, _022315C0 ; =0x0223B888
+ ldr r0, _022315C0 ; =MOD83_0223B888
ldr r0, [r0, #0x10]
sub r0, #0x27
cmp r0, #8
@@ -7969,7 +7970,7 @@ _022315AE:
bl MOD83_02239A14
cmp r0, #0
beq _022315BC
- ldr r0, _022315C0 ; =0x0223B888
+ ldr r0, _022315C0 ; =MOD83_0223B888
mov r1, #0x2a
str r1, [r0, #0x10]
_022315BC:
@@ -8141,7 +8142,7 @@ MOD83_022316F0: ; 0x022316F0
str r3, [sp]
cmp r0, #0
beq _02231708
- bl FUN_02012870
+ bl ListMenu_dtor
_02231708:
ldr r0, _02231798 ; =0x00002B68
ldr r0, [r5, r0]
@@ -8153,7 +8154,7 @@ _02231708:
_02231718:
add r0, r7, #0
mov r1, #0x57
- bl FUN_02012838
+ bl ListMenu_ctor
ldr r1, _02231794 ; =0x00002B6C
ldr r2, _0223179C ; =0x00000172
str r0, [r5, r1]
@@ -8173,7 +8174,7 @@ _0223173A:
ldr r1, [r5, r1]
ldr r2, [r4]
ldr r3, [r4, #4]
- bl FUN_02012880
+ bl ListMenu_ItemFromMsgData
add r6, r6, #1
add r4, #8
cmp r6, r7
@@ -8182,7 +8183,7 @@ _02231752:
ldr r0, _022317A0 ; =0x000029A4
ldr r0, [r5, r0]
bl DestroyMsgData
- ldr r4, _022317A4 ; =0x0223AE90
+ ldr r4, _022317A4 ; =MOD83_0223AE90
add r3, sp, #4
add r2, r3, #0
ldmia r4!, {r0, r1}
@@ -8502,7 +8503,7 @@ MOD83_02231A00: ; 0x02231A00
add r4, r0, #0
ldr r0, _02231A40 ; =0x00002B6C
ldr r0, [r4, r0]
- bl FUN_02012870
+ bl ListMenu_dtor
mov r1, #0
ldr r0, _02231A40 ; =0x00002B6C
add r2, r1, #0
@@ -8805,8 +8806,8 @@ MOD83_02231C58: ; 0x02231C58
mov r0, #0
add r7, r1, #0
add r1, r0, #1
- ldr r0, _02231D38 ; =0x0223AE40
- ldr r2, _02231D38 ; =0x0223AE40
+ ldr r0, _02231D38 ; =MOD83_0223AE40
+ ldr r2, _02231D38 ; =MOD83_0223AE40
ldr r0, [r0, #0x30]
ldr r2, [r2, #0x34]
str r0, [sp, #0x14]
@@ -8824,8 +8825,8 @@ MOD83_02231C58: ; 0x02231C58
add r6, sp, #0x14
cmp r0, #0
beq _02231C9C
- ldr r0, _02231D38 ; =0x0223AE40
- ldr r2, _02231D38 ; =0x0223AE40
+ ldr r0, _02231D38 ; =MOD83_0223AE40
+ ldr r2, _02231D38 ; =MOD83_0223AE40
ldr r0, [r0, #0x38]
add r4, r1, #1
lsl r1, r1, #3
@@ -8843,7 +8844,7 @@ _02231C9C:
bl FUN_0202AE90
cmp r0, #0
bne _02231CC2
- ldr r2, _02231D38 ; =0x0223AE40
+ ldr r2, _02231D38 ; =MOD83_0223AE40
lsl r1, r4, #3
ldr r0, [r2, #0x40]
add r6, sp, #0x14
@@ -8853,7 +8854,7 @@ _02231C9C:
add r4, r4, #1
str r2, [r3, #4]
_02231CC2:
- ldr r2, _02231D38 ; =0x0223AE40
+ ldr r2, _02231D38 ; =MOD83_0223AE40
lsl r1, r4, #3
ldr r0, [r2, #0x48]
add r6, sp, #0x14
@@ -8920,7 +8921,7 @@ _02231D48: .word 0x0000299C
MOD83_02231D4C: ; 0x02231D4C
push {r3, lr}
add r3, r1, #0
- ldr r1, _02231D5C ; =0x0223AE40
+ ldr r1, _02231D5C ; =MOD83_0223AE40
mov r2, #2
bl MOD83_022316F0
mov r0, #1
@@ -8933,7 +8934,7 @@ _02231D5C: .word MOD83_0223AE40
MOD83_02231D60: ; 0x02231D60
push {r3, lr}
add r3, r1, #0
- ldr r1, _02231D70 ; =0x0223AE60
+ ldr r1, _02231D70 ; =MOD83_0223AE60
mov r2, #2
bl MOD83_022316F0
mov r0, #1
@@ -8951,7 +8952,7 @@ MOD83_02231D74: ; 0x02231D74
add r0, r5, r0
mov r1, #2
bl MOD83_022317A8
- ldr r1, _02231D98 ; =0x0223AE50
+ ldr r1, _02231D98 ; =MOD83_0223AE50
add r0, r5, #0
mov r2, #2
add r3, r4, #0
@@ -9022,7 +9023,7 @@ MOD83_02231DF0: ; 0x02231DF0
ldr r3, [r5]
mov r0, #1
mov r1, #0x1a
- ldr r4, _02231F6C ; =0x0223AEB0
+ ldr r4, _02231F6C ; =MOD83_0223AEB0
bl NewMsgDataFromNarc
ldr r1, _02231F70 ; =0x000029A4
str r0, [r5, r1]
@@ -9212,7 +9213,7 @@ MOD83_02231F88: ; 0x02231F88
add r5, r0, #0
add r7, r3, #0
mov r3, #0x30
- ldr r0, _02232084 ; =0x0223AEB0
+ ldr r0, _02232084 ; =MOD83_0223AEB0
mul r3, r2
add r6, r1, #0
add r4, r0, r3
@@ -9561,7 +9562,7 @@ _02232248:
str r4, [r5]
pop {r3, r4, r5, r6, r7, pc}
_0223225A:
- ldr r0, _02232278 ; =0x0223B89C
+ ldr r0, _02232278 ; =MOD83_0223B89C
str r4, [r0]
add r0, r7, #0
blx r4
@@ -11362,7 +11363,7 @@ _02233104:
ldr r0, [r7, r0]
bl FreeToHeap
ldr r0, _02233160 ; =SDK_OVERLAY_MODULE_83_ID
- ldr r1, _02233164 ; =0x0223A434
+ ldr r1, _02233164 ; =MOD83_0223A434
bl FUN_02000E7C
mov r0, #0x5b
bl FUN_020168D0
@@ -11423,7 +11424,7 @@ _022331BC: .word 0x00002B54
MOD83_022331C0: ; 0x022331C0
push {r4, lr}
sub sp, #0x28
- ldr r4, _022331DC ; =0x0223A4D4
+ ldr r4, _022331DC ; =MOD83_0223A4D4
add r3, sp, #0
mov r2, #5
_022331CA:
@@ -11443,7 +11444,7 @@ _022331DC: .word MOD83_0223A4D4
MOD83_022331E0: ; 0x022331E0
push {r3, r4, r5, lr}
sub sp, #0x80
- ldr r5, _022332A0 ; =0x0223A454
+ ldr r5, _022332A0 ; =MOD83_0223A454
add r3, sp, #0x70
add r4, r0, #0
add r2, r3, #0
@@ -11453,7 +11454,7 @@ MOD83_022331E0: ; 0x022331E0
stmia r3!, {r0, r1}
add r0, r2, #0
bl FUN_02016BBC
- ldr r5, _022332A4 ; =0x0223A480
+ ldr r5, _022332A4 ; =MOD83_0223A480
add r3, sp, #0x54
ldmia r5!, {r0, r1}
add r2, r3, #0
@@ -11471,7 +11472,7 @@ MOD83_022331E0: ; 0x022331E0
add r0, r4, #0
mov r1, #0
bl FUN_02018744
- ldr r5, _022332A8 ; =0x0223A4B8
+ ldr r5, _022332A8 ; =MOD83_0223A4B8
add r3, sp, #0x38
ldmia r5!, {r0, r1}
add r2, r3, #0
@@ -11489,7 +11490,7 @@ MOD83_022331E0: ; 0x022331E0
add r0, r4, #0
mov r1, #1
bl FUN_02018744
- ldr r5, _022332AC ; =0x0223A49C
+ ldr r5, _022332AC ; =MOD83_0223A49C
add r3, sp, #0x1c
ldmia r5!, {r0, r1}
add r2, r3, #0
@@ -11507,7 +11508,7 @@ MOD83_022331E0: ; 0x022331E0
add r0, r4, #0
mov r1, #2
bl FUN_02018744
- ldr r5, _022332B0 ; =0x0223A464
+ ldr r5, _022332B0 ; =MOD83_0223A464
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
@@ -14015,7 +14016,7 @@ MOD83_02234558: ; 0x02234558
thumb_func_start MOD83_02234564
MOD83_02234564: ; 0x02234564
- ldr r0, _02234568 ; =0x0223B240
+ ldr r0, _02234568 ; =MOD83_0223B240
bx lr
.align 2, 0
_02234568: .word MOD83_0223B240
@@ -14023,7 +14024,7 @@ _02234568: .word MOD83_0223B240
thumb_func_start MOD83_0223456C
MOD83_0223456C: ; 0x0223456C
- ldr r0, _02234570 ; =0x0223B8A0
+ ldr r0, _02234570 ; =MOD83_0223B8A0
bx lr
.align 2, 0
_02234570: .word MOD83_0223B8A0
@@ -15092,25 +15093,25 @@ _02234C6C:
_02234C70: .word MOD83_02233F00
thumb_func_end MOD83_02234C54
- thumb_func_start MOD83_02234C74
-MOD83_02234C74: ; 0x02234C74
- cmp r0, #0
+ thumb_func_start MOD83_RS_SpeciesIsInvalid
+MOD83_RS_SpeciesIsInvalid: ; 0x02234C74
+ cmp r0, #0 ; RS_SPECIES_NONE
bgt _02234C7C
mov r0, #1
bx lr
_02234C7C:
- cmp r0, #0xfb
+ cmp r0, #0xfb ; RS_SPECIES_CELEBI
bgt _02234C84
mov r0, #0
bx lr
_02234C84:
- ldr r1, _02234C9C ; =0x00000115
+ ldr r1, _02234C9C ; =0x00000115 RS_SPECIES_TREECKO
cmp r0, r1
bge _02234C8E
mov r0, #1
bx lr
_02234C8E:
- add r1, #0x86
+ add r1, #0x86 ; RS_SPECIES_CHIMECHO
cmp r0, r1
ble _02234C98
mov r0, #1
@@ -15120,7 +15121,7 @@ _02234C98:
bx lr
.align 2, 0
_02234C9C: .word 0x00000115
- thumb_func_end MOD83_02234C74
+ thumb_func_end MOD83_RS_SpeciesIsInvalid
thumb_func_start MOD83_02234CA0
MOD83_02234CA0: ; 0x02234CA0
@@ -15658,7 +15659,7 @@ _022350B8: .word 0x000003D2
MOD83_022350BC: ; 0x022350BC
push {r4, lr}
sub sp, #0x10
- ldr r4, _022350E8 ; =0x0223A50C
+ ldr r4, _022350E8 ; =MOD83_0223A50C
add r3, sp, #0
add r2, r3, #0
ldmia r4!, {r0, r1}
@@ -16070,7 +16071,7 @@ MOD83_022353C0: ; 0x022353C0
add r6, r2, #0
add r7, r3, #0
add r5, r1, #0
- bl MOD83_02237EBC
+ bl MOD83_TranslateAgbSpecies
add r1, r6, #0
add r2, r7, #0
add r4, r0, #0
@@ -16118,7 +16119,7 @@ MOD83_0223542C: ; 0x0223542C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r1, #0
- ldr r1, _022354A8 ; =0x0223BB14
+ ldr r1, _022354A8 ; =MOD83_0223BB14
str r2, [sp]
ldr r2, [r1]
mov r1, #0x83
@@ -16130,11 +16131,11 @@ MOD83_0223542C: ; 0x0223542C
add r6, r0, #0
cmp r1, #0
beq _022354A0
- bl MOD83_02234C74
+ bl MOD83_RS_SpeciesIsInvalid
cmp r0, #0
bne _0223545C
add r0, r6, #0
- bl MOD83_02237EBC
+ bl MOD83_TranslateAgbSpecies
add r6, r0, #0
b _0223545E
_0223545C:
@@ -16181,7 +16182,7 @@ _022354A8: .word MOD83_0223BB14
thumb_func_start MOD83_022354AC
MOD83_022354AC: ; 0x022354AC
push {r3, r4, r5, r6, r7, lr}
- ldr r0, _022354EC ; =0x0223BB14
+ ldr r0, _022354EC ; =MOD83_0223BB14
mov r6, #2
lsl r6, r6, #8
add r7, r6, #0
@@ -16266,7 +16267,7 @@ _02235512:
bl MOD83_022352B4
str r0, [sp, #0x20]
ldr r0, [sp, #0x1c]
- bl MOD83_02237EBC
+ bl MOD83_TranslateAgbSpecies
ldr r2, _0223563C ; =gUnk021C4918
ldr r1, [sp, #0x20]
ldrb r2, [r2, #6]
@@ -16704,7 +16705,7 @@ _022358E2:
add r1, #0xd
add r2, r7, #0
bl AGB_GetBoxMonData
- ldr r3, _02235914 ; =0x0223B2B8
+ ldr r3, _02235914 ; =MOD83_0223B2B8
add r2, r0, #0
mov r1, #0
_022358F4:
@@ -16746,11 +16747,11 @@ MOD83_02235918: ; 0x02235918
mov r1, #0xc
mov r2, #0
bl AGB_GetBoxMonData
- ldr r1, _02235960 ; =0x0223B2C8
+ ldr r1, _02235960 ; =MOD83_InvalidItemIds - 0x30
ldrh r1, [r1, #0x30]
cmp r1, #0
beq _02235956
- ldr r2, _02235964 ; =0x0223B2F8
+ ldr r2, _02235964 ; =MOD83_InvalidItemIds
_02235944:
ldrh r1, [r2]
cmp r0, r1
@@ -16767,8 +16768,8 @@ _02235956:
pop {r3, pc}
nop
_0223595C: .word 0x0000E880
-_02235960: .word MOD83_0223B2C8
-_02235964: .word MOD83_0223B2F8
+_02235960: .word MOD83_InvalidItemIds - 0x30
+_02235964: .word MOD83_InvalidItemIds
thumb_func_end MOD83_02235918
thumb_func_start MOD83_02235968
@@ -16789,7 +16790,7 @@ MOD83_02235968: ; 0x02235968
mov r1, #0xb
mov r2, #0
bl AGB_GetBoxMonData
- bl MOD83_02234C74
+ bl MOD83_RS_SpeciesIsInvalid
pop {r3, pc}
.align 2, 0
_02235990: .word 0x0000E880
@@ -17264,7 +17265,7 @@ _02235CCA:
mov r1, #0xb
mov r2, #0
bl AGB_GetBoxMonData
- bl MOD83_02237EBC
+ bl MOD83_TranslateAgbSpecies
str r0, [sp, #4]
ldr r1, [sp, #4]
add r0, r7, #0
@@ -17417,7 +17418,7 @@ _02235E64: .word 0x00007FFF
MOD83_02235E68: ; 0x02235E68
push {r3, r4, r5, lr}
sub sp, #0x80
- ldr r5, _02235F28 ; =0x0223A51C
+ ldr r5, _02235F28 ; =MOD83_0223A51C
add r3, sp, #0x70
add r4, r0, #0
add r2, r3, #0
@@ -17427,7 +17428,7 @@ MOD83_02235E68: ; 0x02235E68
stmia r3!, {r0, r1}
add r0, r2, #0
bl FUN_02016BBC
- ldr r5, _02235F2C ; =0x0223A52C
+ ldr r5, _02235F2C ; =MOD83_0223A52C
add r3, sp, #0x54
ldmia r5!, {r0, r1}
add r2, r3, #0
@@ -17445,7 +17446,7 @@ MOD83_02235E68: ; 0x02235E68
add r0, r4, #0
mov r1, #0
bl FUN_02018744
- ldr r5, _02235F30 ; =0x0223A548
+ ldr r5, _02235F30 ; =MOD83_0223A548
add r3, sp, #0x38
ldmia r5!, {r0, r1}
add r2, r3, #0
@@ -17463,7 +17464,7 @@ MOD83_02235E68: ; 0x02235E68
add r0, r4, #0
mov r1, #1
bl FUN_02018744
- ldr r5, _02235F34 ; =0x0223A564
+ ldr r5, _02235F34 ; =MOD83_0223A564
add r3, sp, #0x1c
ldmia r5!, {r0, r1}
add r2, r3, #0
@@ -17481,7 +17482,7 @@ MOD83_02235E68: ; 0x02235E68
add r0, r4, #0
mov r1, #2
bl FUN_02018744
- ldr r5, _02235F38 ; =0x0223A580
+ ldr r5, _02235F38 ; =MOD83_0223A580
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
@@ -17513,7 +17514,7 @@ _02235F38: .word MOD83_0223A580
MOD83_02235F3C: ; 0x02235F3C
push {r3, r4, r5, lr}
sub sp, #0x38
- ldr r5, _02235FB4 ; =0x0223A59C
+ ldr r5, _02235FB4 ; =MOD83_0223A59C
add r4, r0, #0
add r3, sp, #0x10
mov r2, #5
@@ -17594,7 +17595,7 @@ MOD83_02235FBC: ; 0x02235FBC
str r0, [sp, #4]
mov r2, #0
ldr r1, [r4]
- ldr r0, _02236008 ; =0x0223B280
+ ldr r0, _02236008 ; =MOD83_0223B280
add r3, r2, #0
ldrb r0, [r0, r1]
mov r1, #2
@@ -17852,7 +17853,7 @@ _02236148:
str r0, [sp, #4]
mov r2, #0
ldr r1, [r6]
- ldr r0, _02236290 ; =0x0223B280
+ ldr r0, _02236290 ; =MOD83_0223B280
add r3, r2, #0
ldrb r0, [r0, r1]
mov r1, #2
@@ -18178,7 +18179,7 @@ MOD83_02236484: ; 0x02236484
ldr r0, [r5]
mov r2, #0x18
lsl r1, r0, #2
- ldr r0, _02236508 ; =0x0223B2A0
+ ldr r0, _02236508 ; =MOD83_0223B2A0
ldr r0, [r0, r1]
mov r1, #0x46
lsl r1, r1, #4
@@ -18219,7 +18220,7 @@ _02236520:
bl FUN_02009F80
ldr r0, [r4, #0x20]
bl FUN_0201AB60
- ldr r3, _02236540 ; =0x027E0000
+ ldr r3, _02236540 ; =MOD83_027E0000
ldr r1, _02236544 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
@@ -18340,7 +18341,7 @@ MOD83_02236604: ; 0x02236604
bl MOD83_0223600C
mov r0, #1
bl FUN_02002BB8
- ldr r0, _02236660 ; =0x0223B2D8
+ ldr r0, _02236660 ; =MOD83_0223B2D8
lsl r1, r4, #2
ldr r0, [r0, r1]
mov r1, #0x46
@@ -18389,7 +18390,7 @@ MOD83_02236668: ; 0x02236668
bl MOD83_0223600C
mov r0, #1
bl FUN_02002BB8
- ldr r0, _022366C8 ; =0x0223B2D8
+ ldr r0, _022366C8 ; =MOD83_0223B2D8
lsl r1, r4, #2
ldr r0, [r0, r1]
mov r1, #0x46
@@ -18553,7 +18554,7 @@ _022367DE:
bl MOD83_02239490
ldr r0, _022367FC ; =0x0000E89C
add r1, r4, r0
- ldr r0, _02236800 ; =0x0223BB14
+ ldr r0, _02236800 ; =MOD83_0223BB14
str r1, [r0]
mov r0, #1
pop {r3, r4, r5, pc}
@@ -19143,7 +19144,7 @@ _02236CAE:
ldr r0, [r4]
mov r2, #0
lsl r1, r0, #2
- ldr r0, _02236DB4 ; =0x0223B288
+ ldr r0, _02236DB4 ; =MOD83_0223B288
ldr r0, [r0, r1]
mov r1, #0x46
lsl r1, r1, #4
@@ -19313,41 +19314,41 @@ _02236E14:
thumb_func_start MOD83_02236E18
MOD83_02236E18: ; 0x02236E18
push {r3, lr}
- ldr r1, _02236E74 ; =0x0223BB18
+ ldr r1, _02236E74 ; =MOD83_0223BB18
str r0, [r1, #8]
- ldr r0, _02236E78 ; =0x0223B41C
+ ldr r0, _02236E78 ; =MOD83_0223B41C
ldr r0, [r0]
cmp r0, #0
beq _02236E2A
mov r0, #0xc
pop {r3, pc}
_02236E2A:
- ldr r0, _02236E7C ; =0x0223A5C4
+ ldr r0, _02236E7C ; =MOD83_0223A5C4
mov r1, #0x1e
bl MOD83_02236EB4
cmp r0, #0
bne _02236E72
- ldr r0, _02236E78 ; =0x0223B41C
+ ldr r0, _02236E78 ; =MOD83_0223B41C
ldr r0, [r0]
ldrb r0, [r0, #4]
cmp r0, #0
bne _02236E5A
mov r0, #0x89
- ldr r1, _02236E80 ; =0x0223BB98
+ ldr r1, _02236E80 ; =MOD83_0223BB98
lsl r0, r0, #4
str r0, [r1, #0x20]
mov r0, #0xeb
lsl r0, r0, #6
str r0, [r1, #0x24]
ldr r2, _02236E84 ; =0x00001220
- ldr r0, _02236E74 ; =0x0223BB18
+ ldr r0, _02236E74 ; =MOD83_0223BB18
str r2, [r0, #0x68]
mov r0, #9
str r0, [r1, #0x30]
b _02236E64
_02236E5A:
ldr r0, _02236E88 ; =0x08000100
- ldr r1, _02236E8C ; =0x0223BB30
+ ldr r1, _02236E8C ; =MOD83_0223BB30
mov r2, #0xfc
bl CTRDG_CpuCopy32
_02236E64:
@@ -19372,7 +19373,7 @@ _02236E8C: .word MOD83_0223BB30
thumb_func_start MOD83_02236E90
MOD83_02236E90: ; 0x02236E90
- ldr r0, _02236E98 ; =0x0223B41C
+ ldr r0, _02236E98 ; =MOD83_0223B41C
mov r1, #0
str r1, [r0]
bx lr
@@ -19382,7 +19383,7 @@ _02236E98: .word MOD83_0223B41C
thumb_func_start MOD83_02236E9C
MOD83_02236E9C: ; 0x02236E9C
- ldr r0, _02236EA4 ; =0x0223B41C
+ ldr r0, _02236EA4 ; =MOD83_0223B41C
ldr r0, [r0]
ldrb r0, [r0, #5]
bx lr
@@ -19392,7 +19393,7 @@ _02236EA4: .word MOD83_0223B41C
thumb_func_start MOD83_02236EA8
MOD83_02236EA8: ; 0x02236EA8
- ldr r0, _02236EB0 ; =0x0223B41C
+ ldr r0, _02236EB0 ; =MOD83_0223B41C
ldr r0, [r0]
ldrh r0, [r0, #6]
bx lr
@@ -19406,7 +19407,7 @@ MOD83_02236EB4: ; 0x02236EB4
sub sp, #0xc0
add r5, r0, #0
add r4, r1, #0
- ldr r0, _02236F60 ; =0x0223B41C
+ ldr r0, _02236F60 ; =MOD83_0223B41C
mov r1, #0
str r1, [r0]
bl CTRDG_IsAgbCartridge
@@ -19427,7 +19428,7 @@ _02236EDC:
bne _02236EEC
lsl r0, r2, #3
add r1, r5, r0
- ldr r0, _02236F60 ; =0x0223B41C
+ ldr r0, _02236F60 ; =MOD83_0223B41C
str r1, [r0]
b _02236EF4
_02236EEC:
@@ -19436,7 +19437,7 @@ _02236EEC:
cmp r2, r4
blt _02236EDC
_02236EF4:
- ldr r0, _02236F60 ; =0x0223B41C
+ ldr r0, _02236F60 ; =MOD83_0223B41C
ldr r0, [r0]
cmp r0, #0
bne _02236F02
@@ -19452,7 +19453,7 @@ _02236F02:
add r1, r4, #0
mov r2, #0xc0
bl CTRDG_CpuCopy32
- ldr r3, _02236F64 ; =0x0223B424
+ ldr r3, _02236F64 ; =MOD83_0223B424
mov r2, #0
_02236F1A:
add r0, r4, r2
@@ -19545,7 +19546,7 @@ MOD83_02236F98: ; 0x02236F98
MOD83_02236FAC: ; 0x02236FAC
cmp r0, #0
bne _02236FBA
- ldr r0, _02236FE0 ; =0x0223BB98
+ ldr r0, _02236FE0 ; =MOD83_0223BB98
ldr r0, [r0, #0x20]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
@@ -19553,7 +19554,7 @@ MOD83_02236FAC: ; 0x02236FAC
_02236FBA:
cmp r0, #4
bne _02236FCE
- ldr r0, _02236FE0 ; =0x0223BB98
+ ldr r0, _02236FE0 ; =MOD83_0223BB98
ldr r1, [r0, #0x24]
mov r0, #0xba
lsl r0, r0, #6
@@ -19579,7 +19580,7 @@ _02236FE0: .word MOD83_0223BB98
MOD83_02236FE4: ; 0x02236FE4
cmp r0, #0
bne _02236FF4
- ldr r0, _02237034 ; =0x0223BB18
+ ldr r0, _02237034 ; =MOD83_0223BB18
ldr r1, [r0, #8]
mov r0, #1
lsl r0, r0, #0xc
@@ -19590,7 +19591,7 @@ _02236FF4:
blt _02237012
cmp r0, #4
bgt _02237012
- ldr r1, _02237034 ; =0x0223BB18
+ ldr r1, _02237034 ; =MOD83_0223BB18
ldr r2, [r1, #8]
mov r1, #2
lsl r1, r1, #0xc
@@ -19606,7 +19607,7 @@ _02237012:
blt _02237030
cmp r0, #0xe
bge _02237030
- ldr r1, _02237034 ; =0x0223BB18
+ ldr r1, _02237034 ; =MOD83_0223BB18
ldr r2, [r1, #8]
mov r1, #6
lsl r1, r1, #0xc
@@ -19633,7 +19634,7 @@ MOD83_02237038: ; 0x02237038
str r6, [sp, #4]
add r1, r2, #0
str r6, [r1]
- ldr r1, _022370CC ; =0x0223BB18
+ ldr r1, _022370CC ; =MOD83_0223BB18
add r7, r0, #0
str r6, [r1, #4]
mov r1, #0xe
@@ -19835,10 +19836,10 @@ _022371B8:
thumb_func_start MOD83_022371C4
MOD83_022371C4: ; 0x022371C4
push {r3, r4, r5, r6, r7, lr}
- ldr r0, _02237278 ; =0x0223BB18
- ldr r1, _0223727C ; =0x0223BB18
+ ldr r0, _02237278 ; =MOD83_0223BB18
+ ldr r1, _0223727C ; =MOD83_0223BB18
ldr r0, [r0, #8]
- ldr r2, _02237280 ; =0x0223BB28
+ ldr r2, _02237280 ; =MOD83_0223BB28
bl MOD83_022370E8
cmp r0, #1
beq _022371EE
@@ -19857,7 +19858,7 @@ _022371EA:
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_022371EE:
- ldr r7, _02237278 ; =0x0223BB18
+ ldr r7, _02237278 ; =MOD83_0223BB18
ldr r0, [r7]
cmp r0, #1
bhi _02237272
@@ -19939,7 +19940,7 @@ _02237298: .word 0x00003FFF
MOD83_0223729C: ; 0x0223729C
push {r4, r5, r6, lr}
add r5, r0, #0
- ldr r0, _02237318 ; =0x0223BB18
+ ldr r0, _02237318 ; =MOD83_0223BB18
mov r2, #1
ldr r4, [r0, #8]
str r2, [r0, #0x14]
@@ -19955,7 +19956,7 @@ MOD83_0223729C: ; 0x0223729C
add r1, r4, #0
add r2, r6, #0
bl MIi_CpuCopy32
- ldr r0, _02237318 ; =0x0223BB18
+ ldr r0, _02237318 ; =MOD83_0223BB18
ldr r1, [r0, #0x10]
ldr r0, _0223731C ; =0x00000FFC
str r1, [r4, r0]
@@ -19972,13 +19973,13 @@ MOD83_0223729C: ; 0x0223729C
bl MOD83_02236F68
ldr r1, _02237324 ; =0x00000FF6
strh r0, [r4, r1]
- ldr r0, _02237318 ; =0x0223BB18
+ ldr r0, _02237318 ; =MOD83_0223BB18
mov r1, #0xe
ldr r0, [r0, #0xc]
add r0, r5, r0
add r0, r0, #1
bl _s32_div_f
- ldr r0, _02237328 ; =0x0223B41C
+ ldr r0, _02237328 ; =MOD83_0223B41C
ldr r3, _0223732C ; =MOD83_02237330
ldr r2, [r0, #4]
mov r0, #0xe
@@ -20004,7 +20005,7 @@ MOD83_02237330: ; 0x02237330
ldr r0, [r0, #8]
cmp r0, #0
bne _0223735C
- ldr r1, _02237368 ; =0x0223BB18
+ ldr r1, _02237368 ; =MOD83_0223BB18
ldr r0, [r1, #4]
add r0, r0, #1
str r0, [r1, #4]
@@ -20026,7 +20027,7 @@ _02237356:
str r0, [r1, #0x14]
b _02237362
_0223735C:
- ldr r0, _02237368 ; =0x0223BB18
+ ldr r0, _02237368 ; =MOD83_0223BB18
mov r1, #4
str r1, [r0, #0x14]
_02237362:
@@ -20039,7 +20040,7 @@ _02237368: .word MOD83_0223BB18
thumb_func_start MOD83_0223736C
MOD83_0223736C: ; 0x0223736C
push {r3, lr}
- ldr r1, _022373AC ; =0x0223BB18
+ ldr r1, _022373AC ; =MOD83_0223BB18
ldr r0, [r1, #4]
cmp r0, #0
bne _02237392
@@ -20047,14 +20048,14 @@ MOD83_0223736C: ; 0x0223736C
cmp r1, #1
bne _02237382
mov r2, #0
- ldr r1, _022373B0 ; =0x0223B41C
+ ldr r1, _022373B0 ; =MOD83_0223B41C
b _02237386
_02237382:
- ldr r1, _022373B0 ; =0x0223B41C
+ ldr r1, _022373B0 ; =MOD83_0223B41C
mov r2, #1
_02237386:
str r2, [r1, #4]
- ldr r1, _022373AC ; =0x0223BB18
+ ldr r1, _022373AC ; =MOD83_0223BB18
ldr r2, [r1, #0x10]
add r2, r2, #1
str r2, [r1, #0x10]
@@ -20063,7 +20064,7 @@ _02237392:
mov r0, #0
pop {r3, pc}
_02237396:
- ldr r1, _022373B0 ; =0x0223B41C
+ ldr r1, _022373B0 ; =MOD83_0223B41C
ldr r1, [r1, #4]
cmp r1, #0
bge _022373A2
@@ -20081,7 +20082,7 @@ _022373B0: .word MOD83_0223B41C
thumb_func_start MOD83_022373B4
MOD83_022373B4: ; 0x022373B4
push {r3, lr}
- ldr r1, _022373F0 ; =0x0223BB18
+ ldr r1, _022373F0 ; =MOD83_0223BB18
ldr r0, [r1, #0x14]
cmp r0, #4
bhi _022373EC
@@ -20120,7 +20121,7 @@ _022373F0: .word MOD83_0223BB18
thumb_func_start MOD83_022373F4
MOD83_022373F4: ; 0x022373F4
- ldr r0, _02237428 ; =0x0223BB18
+ ldr r0, _02237428 ; =MOD83_0223BB18
ldr r0, [r0, #0x14]
cmp r0, #4
bhi _02237422
@@ -20157,7 +20158,7 @@ _02237428: .word MOD83_0223BB18
thumb_func_start MOD83_0223742C
MOD83_0223742C: ; 0x0223742C
- ldr r0, _02237438 ; =0x0223BB18
+ ldr r0, _02237438 ; =MOD83_0223BB18
ldr r1, [r0, #8]
mov r0, #6
lsl r0, r0, #0xc
@@ -21774,8 +21775,8 @@ _02237EBA:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_02237D90
- thumb_func_start MOD83_02237EBC
-MOD83_02237EBC: ; 0x02237EBC
+ thumb_func_start MOD83_TranslateAgbSpecies
+MOD83_TranslateAgbSpecies: ; 0x02237EBC
ldr r2, _02237ED4 ; =0x00000115
cmp r0, r2
blt _02237ED2
@@ -21785,14 +21786,14 @@ MOD83_02237EBC: ; 0x02237EBC
bgt _02237ED2
sub r0, r0, r2
lsl r1, r0, #1
- ldr r0, _02237ED8 ; =0x0223B57C
+ ldr r0, _02237ED8 ; =MOD83_UpConvertSpeciesLUT
ldrh r0, [r0, r1]
_02237ED2:
bx lr
.align 2, 0
_02237ED4: .word 0x00000115
-_02237ED8: .word MOD83_0223B57C
- thumb_func_end MOD83_02237EBC
+_02237ED8: .word MOD83_UpConvertSpeciesLUT
+ thumb_func_end MOD83_TranslateAgbSpecies
thumb_func_start MOD83_02237EDC
MOD83_02237EDC: ; 0x02237EDC
@@ -21801,7 +21802,7 @@ MOD83_02237EDC: ; 0x02237EDC
mov r1, #0xb
mov r2, #0
bl AGB_GetBoxMonData
- bl MOD83_02237EBC
+ bl MOD83_TranslateAgbSpecies
add r4, r0, #0
add r0, r5, #0
mov r1, #0x19
@@ -21834,7 +21835,7 @@ MOD83_02237F04: ; 0x02237F04
bl GetMonBaseStat
cmp r0, #0
beq _02237F5E
- ldr r2, _02237F68 ; =0x0223B4C0
+ ldr r2, _02237F68 ; =MOD83_SpeciesWithAbilityOverridesList
mov r4, #0
_02237F32:
ldrh r1, [r2]
@@ -21866,7 +21867,7 @@ _02237F5E:
_02237F66:
pop {r4, r5, r6, pc}
.align 2, 0
-_02237F68: .word MOD83_0223B4C0
+_02237F68: .word MOD83_SpeciesWithAbilityOverridesList
thumb_func_end MOD83_02237F04
thumb_func_start MigrateBoxMon
@@ -21894,7 +21895,7 @@ MigrateBoxMon: ; 0x02237F6C
mov r2, #0
bl AGB_GetBoxMonData
str r0, [sp, #8]
- bl MOD83_02237EBC
+ bl MOD83_TranslateAgbSpecies
str r0, [sp, #8]
add r0, r4, #0
mov r1, #5
@@ -22601,26 +22602,26 @@ _022385F4: .word gUnk021C4918
_022385F8: .word gGameLanguage
thumb_func_end MigrateBoxMon
- thumb_func_start MOD83_022385FC
-MOD83_022385FC: ; 0x022385FC
- ldr r1, _02238604 ; =0x0223BC2C
+ thumb_func_start MOD83_SetHeapId
+MOD83_SetHeapId: ; 0x022385FC
+ ldr r1, _02238604 ; =heap_id
str r0, [r1]
bx lr
nop
-_02238604: .word MOD83_0223BC2C
- thumb_func_end MOD83_022385FC
+_02238604: .word heap_id
+ thumb_func_end MOD83_SetHeapId
- thumb_func_start MOD83_02238608
-MOD83_02238608: ; 0x02238608
+ thumb_func_start MOD83_Alloc
+MOD83_Alloc: ; 0x02238608
add r1, r0, #0
- ldr r0, _02238614 ; =0x0223BC2C
+ ldr r0, _02238614 ; =heap_id
ldr r3, _02238618 ; =AllocFromHeap
ldr r0, [r0]
bx r3
nop
-_02238614: .word MOD83_0223BC2C
+_02238614: .word heap_id
_02238618: .word AllocFromHeap
- thumb_func_end MOD83_02238608
+ thumb_func_end MOD83_Alloc
thumb_func_start MOD83_0223861C
MOD83_0223861C: ; 0x0223861C
@@ -22643,12 +22644,12 @@ MOD83_0223861C: ; 0x0223861C
orr r0, r1
add r6, r2, #0
orr r6, r0
- ldr r0, _022386B0 ; =0x0223B69C
+ ldr r0, _022386B0 ; =MOD83_0223B69C
mov r4, #0
ldr r0, [r0]
cmp r0, #0
bls _022386A6
- ldr r5, _022386B4 ; =0x0223B69C
+ ldr r5, _022386B4 ; =MOD83_0223B69C
add r7, sp, #0x80
_02238652:
ldr r0, [r5]
@@ -22667,11 +22668,11 @@ _02238652:
bl CTRDG_CpuCopy8
mov r0, #0
bl CTRDG_Enable
- ldr r0, _022386C0 ; =MOD83_02238608
+ ldr r0, _022386C0 ; =MOD83_Alloc
ldr r1, _022386C4 ; =FreeToHeap
bl SetCustomAllocatorAndDestructor
ldr r1, _022386B8 ; =0x000004A8
- ldr r3, _022386C8 ; =0x0223A6B4
+ ldr r3, _022386C8 ; =MOD83_0223A6B4
add r0, r7, #0
add r2, sp, #0
bl FUN_020910EC
@@ -22699,7 +22700,7 @@ _022386B0: .word MOD83_0223B69C
_022386B4: .word MOD83_0223B69C
_022386B8: .word 0x000004A8
_022386BC: .word 0x08020000
-_022386C0: .word MOD83_02238608
+_022386C0: .word MOD83_Alloc
_022386C4: .word FreeToHeap
_022386C8: .word MOD83_0223A6B4
thumb_func_end MOD83_0223861C
@@ -22715,7 +22716,7 @@ MOD83_022386CC: ; 0x022386CC
pop {r3, pc}
_022386DE:
bl CTRDG_GetAgbMakerCode
- ldr r1, _022386FC ; =0x00003130
+ ldr r1, _022386FC ; =0x00003130 "01"
cmp r0, r1
beq _022386EC
mov r0, #0
@@ -22796,7 +22797,7 @@ MOD83_02238770: ; 0x02238770
push {r3, r4, r5, r6}
add r4, r0, #0
mov r0, #0
- ldr r6, _02238798 ; =0x0223BC30
+ ldr r6, _02238798 ; =MOD83_0223BC30
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
@@ -22807,7 +22808,7 @@ _02238780:
sub r5, r5, #1
bne _02238780
str r0, [r6]
- ldr r0, _0223879C ; =0x0223BC30
+ ldr r0, _0223879C ; =MOD83_0223BC30
mov r1, #1
str r1, [r0]
str r4, [r0, #4]
@@ -22849,7 +22850,7 @@ MOD83_022387A0: ; 0x022387A0
MOD83_022387D8: ; 0x022387D8
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
- ldr r5, _0223885C ; =0x0223A760
+ ldr r5, _0223885C ; =MOD83_0223A760
add r6, r3, #0
add r7, r0, #0
add r4, r1, #0
@@ -22922,7 +22923,7 @@ _0223885C: .word MOD83_0223A760
thumb_func_start MOD83_02238860
MOD83_02238860: ; 0x02238860
- ldr r1, _02238868 ; =0x0223BC30
+ ldr r1, _02238868 ; =MOD83_0223BC30
str r0, [r1, #0xc]
bx lr
nop
@@ -22934,12 +22935,12 @@ MOD83_0223886C: ; 0x0223886C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp, #0xc]
- ldr r0, _022388C0 ; =0x0223BC30
+ ldr r0, _022388C0 ; =MOD83_0223BC30
add r5, r1, #0
ldr r0, [r0, #0xc]
add r4, r2, #0
add r6, r3, #0
- ldr r7, _022388C4 ; =0x0223BC30
+ ldr r7, _022388C4 ; =MOD83_0223BC30
cmp r0, #0
bne _0223889C
mov r0, #6
@@ -22984,7 +22985,7 @@ _022388C8: .word 0x00007FFF
MOD83_022388CC: ; 0x022388CC
push {r3, r4, r5, lr}
add r4, r0, #0
- ldr r5, _022388E0 ; =0x0223BC30
+ ldr r5, _022388E0 ; =MOD83_0223BC30
bl FUN_0200E308
cmp r0, #0
beq _022388DE
@@ -23069,7 +23070,7 @@ MOD83_0223894C: ; 0x0223894C
add r5, r0, #0
mov r0, #0
mvn r0, r0
- ldr r4, _02238A34 ; =0x0223BC30
+ ldr r4, _02238A34 ; =MOD83_0223BC30
cmp r1, r0
beq _02238A2A
ldr r0, [r5, #0x4c]
@@ -23287,19 +23288,19 @@ MOD83_02238AF4: ; 0x02238AF4
MOD83_02238AFC: ; 0x02238AFC
push {r4, lr}
sub sp, #0x10
- ldr r4, _02238B30 ; =0x0223A734
+ ldr r4, _02238B30 ; =MOD83_0223A734
add r3, sp, #0
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
- ldr r0, _02238B34 ; =0x0223BC30
+ ldr r0, _02238B34 ; =MOD83_0223BC30
ldr r0, [r0, #4]
str r0, [sp, #0xc]
add r0, r2, #0
bl FUN_0201D040
- ldr r1, _02238B34 ; =0x0223BC30
+ ldr r1, _02238B34 ; =MOD83_0223BC30
mov r0, #0x14
ldr r1, [r1, #4]
bl FUN_0201E00C
@@ -23314,7 +23315,7 @@ _02238B34: .word MOD83_0223BC30
thumb_func_start MOD83_02238B38
MOD83_02238B38: ; 0x02238B38
- ldr r0, _02238B48 ; =0x0223BC30
+ ldr r0, _02238B48 ; =MOD83_0223BC30
ldr r0, [r0, #0x30]
cmp r0, #0
beq _02238B44
@@ -23331,7 +23332,7 @@ _02238B48: .word MOD83_0223BC30
MOD83_02238B4C: ; 0x02238B4C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
- ldr r6, _02238BB4 ; =0x0223BC30
+ ldr r6, _02238BB4 ; =MOD83_0223BC30
bl FUN_020B0FC0
mov r0, #0
str r0, [sp]
@@ -23339,27 +23340,27 @@ MOD83_02238B4C: ; 0x02238B4C
str r1, [sp, #4]
str r0, [sp, #8]
mov r3, #0x20
- ldr r2, _02238BB8 ; =0x0223BC30
+ ldr r2, _02238BB8 ; =MOD83_0223BC30
str r3, [sp, #0xc]
ldr r2, [r2, #4]
str r2, [sp, #0x10]
add r2, r0, #0
bl FUN_02009EAC
- ldr r2, _02238BB8 ; =0x0223BC30
- ldr r1, _02238BBC ; =0x0223BC64
+ ldr r2, _02238BB8 ; =MOD83_0223BC30
+ ldr r1, _02238BBC ; =MOD83_0223BC64
ldr r2, [r2, #4]
mov r0, #0x46
bl FUN_02008C9C
- ldr r1, _02238BB8 ; =0x0223BC30
+ ldr r1, _02238BB8 ; =MOD83_0223BC30
mov r2, #1
str r0, [r1, #0x30]
- ldr r0, _02238BBC ; =0x0223BC64
+ ldr r0, _02238BBC ; =MOD83_0223BC64
mov r1, #0
lsl r2, r2, #0x14
bl FUN_02008D24
mov r1, #3
mov r7, #0x57
- ldr r0, _02238BC0 ; =0x0223BE30
+ ldr r0, _02238BC0 ; =MOD83_0223BE30
lsl r1, r1, #0x12
str r1, [r0, #0xc]
mov r4, #0
@@ -23393,7 +23394,7 @@ MOD83_02238BC4: ; 0x02238BC4
mov ip, r1
str r2, [sp, #0x2c]
str r3, [sp, #0x30]
- ldr r5, _02238D30 ; =0x0223BC30
+ ldr r5, _02238D30 ; =MOD83_0223BC30
cmp r4, #0
bne _02238BDC
mov r7, #1
@@ -23577,10 +23578,10 @@ MOD83_02238D38: ; 0x02238D38
add r2, r0, #0
add r4, r1, #0
add r1, r2, #0
- ldr r0, _02238D50 ; =0x0223BC64
+ ldr r0, _02238D50 ; =MOD83_0223BC64
add r2, r4, #0
bl FUN_02008D24
- ldr r0, _02238D54 ; =0x0223BE30
+ ldr r0, _02238D54 ; =MOD83_0223BE30
str r4, [r0, #0xc]
pop {r4, pc}
nop
@@ -23591,8 +23592,8 @@ _02238D54: .word MOD83_0223BE30
thumb_func_start MOD83_02238D58
MOD83_02238D58: ; 0x02238D58
push {r4, lr}
- ldr r0, _02238DB4 ; =0x0223BE30
- ldr r4, _02238DB8 ; =0x0223BC30
+ ldr r0, _02238DB4 ; =MOD83_0223BE30
+ ldr r4, _02238DB8 ; =MOD83_0223BC30
ldr r0, [r0, #4]
cmp r0, #0
beq _02238DA6
@@ -23645,7 +23646,7 @@ MOD83_02238DBC: ; 0x02238DBC
push {r3, r4, r5, lr}
sub sp, #0x30
add r4, r1, #0
- ldr r1, _02238E44 ; =0x0223BC30
+ ldr r1, _02238E44 ; =MOD83_0223BC30
bne _02238E1E
ldr r4, [r1, #0x30]
lsl r2, r2, #0xc
@@ -23716,8 +23717,8 @@ _02238E44: .word MOD83_0223BC30
thumb_func_start MOD83_02238E48
MOD83_02238E48: ; 0x02238E48
push {r3, r4, r5, r6, r7, lr}
- ldr r0, _02238EE8 ; =0x0223BE30
- ldr r4, _02238EEC ; =0x0223BC30
+ ldr r0, _02238EE8 ; =MOD83_0223BE30
+ ldr r4, _02238EEC ; =MOD83_0223BC30
ldr r0, [r0, #4]
cmp r0, #0
beq _02238E66
@@ -23731,7 +23732,7 @@ MOD83_02238E48: ; 0x02238E48
str r1, [r4, r0]
_02238E66:
mov r1, #0x51
- ldr r0, _02238EF0 ; =0x0223BC60
+ ldr r0, _02238EF0 ; =MOD83_0223BC60
lsl r1, r1, #2
ldr r0, [r0, r1]
cmp r0, #0
@@ -23739,7 +23740,7 @@ _02238E66:
bl FUN_02009C0C
_02238E76:
mov r1, #0x57
- ldr r0, _02238EF0 ; =0x0223BC60
+ ldr r0, _02238EF0 ; =MOD83_0223BC60
lsl r1, r1, #2
ldr r0, [r0, r1]
cmp r0, #0
@@ -23747,7 +23748,7 @@ _02238E76:
bl FUN_02009C0C
_02238E86:
mov r1, #0x52
- ldr r0, _02238EF0 ; =0x0223BC60
+ ldr r0, _02238EF0 ; =MOD83_0223BC60
lsl r1, r1, #2
ldr r0, [r0, r1]
cmp r0, #0
@@ -23755,7 +23756,7 @@ _02238E86:
bl FUN_02009E04
_02238E96:
mov r1, #0x16
- ldr r0, _02238EF0 ; =0x0223BC60
+ ldr r0, _02238EF0 ; =MOD83_0223BC60
lsl r1, r1, #4
ldr r0, [r0, r1]
cmp r0, #0
@@ -23764,7 +23765,7 @@ _02238E96:
_02238EA6:
mov r4, #0
mov r7, #0x4b
- ldr r5, _02238EF0 ; =0x0223BC60
+ ldr r5, _02238EF0 ; =MOD83_0223BC60
add r6, r4, #0
lsl r7, r7, #2
_02238EB0:
@@ -23777,10 +23778,10 @@ _02238EB0:
add r5, r5, #4
cmp r4, #6
blt _02238EB0
- ldr r0, _02238EF0 ; =0x0223BC60
+ ldr r0, _02238EF0 ; =MOD83_0223BC60
ldr r0, [r0]
bl FUN_0201FD58
- ldr r0, _02238EF0 ; =0x0223BC60
+ ldr r0, _02238EF0 ; =MOD83_0223BC60
mov r1, #0
str r1, [r0]
bl FUN_02009FA0
@@ -23809,8 +23810,8 @@ MOD83_02238EF4: ; 0x02238EF4
thumb_func_start MOD83_02238F00
MOD83_02238F00: ; 0x02238F00
push {r4, lr}
- ldr r0, _02238F34 ; =0x0223CAB0
- ldr r4, _02238F38 ; =0x0223BC30
+ ldr r0, _02238F34 ; =MOD83_0223CAB0
+ ldr r4, _02238F38 ; =MOD83_0223BC30
ldr r0, [r0, #0x20]
cmp r0, #0
beq _02238F1E
@@ -23826,7 +23827,7 @@ MOD83_02238F00: ; 0x02238F00
_02238F1E:
bl FUN_0201C30C
bl FUN_02009F80
- ldr r3, _02238F3C ; =0x027E0000
+ ldr r3, _02238F3C ; =MOD83_027E0000
ldr r1, _02238F40 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
@@ -23844,7 +23845,7 @@ _02238F40: .word 0x00003FF8
MOD83_02238F44: ; 0x02238F44
push {r4}
sub sp, #0x1c
- ldr r4, _02238F90 ; =0x0223A744
+ ldr r4, _02238F90 ; =MOD83_0223A744
add r3, sp, #0
mov r2, #0x1a
_02238F4E:
@@ -23932,7 +23933,7 @@ MOD83_02238F94: ; 0x02238F94
mov r0, #2
str r0, [sp, #0x18]
str r5, [sp, #0x1c]
- ldr r2, _0223902C ; =0x0223BC30
+ ldr r2, _0223902C ; =MOD83_0223BC30
ldrh r0, [r4]
ldrh r1, [r4, #2]
ldr r2, [r2, #4]
@@ -23948,7 +23949,7 @@ MOD83_02238F94: ; 0x02238F94
bl GXS_LoadOBJ
mov r0, #0x20
str r0, [sp]
- ldr r0, _0223902C ; =0x0223BC30
+ ldr r0, _0223902C ; =MOD83_0223BC30
mov r2, #5
ldr r0, [r0, #4]
mov r3, #0x60
@@ -24205,7 +24206,7 @@ MOD83_022391EC: ; 0x022391EC
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
- ldr r0, _022392DC ; =0x0223BC30
+ ldr r0, _022392DC ; =MOD83_0223BC30
mov r1, #0x1e
ldr r0, [r0, #4]
add r2, r5, #0
@@ -24214,7 +24215,7 @@ MOD83_022391EC: ; 0x022391EC
mov r3, #5
bl FUN_0200687C
mov r2, #1
- ldr r3, _022392DC ; =0x0223BC30
+ ldr r3, _022392DC ; =MOD83_0223BC30
str r2, [sp]
ldr r3, [r3, #4]
mov r0, #0x74
@@ -24249,7 +24250,7 @@ MOD83_022391EC: ; 0x022391EC
mov r1, #5
bl FUN_02017CD0
ldr r1, _022392E0 ; =MOD83_022391CC
- ldr r0, _022392E4 ; =0x0223CAB0
+ ldr r0, _022392E4 ; =MOD83_0223CAB0
cmp r4, #0xb
str r1, [r0, #0x20]
bhi _022392CA
@@ -24273,31 +24274,31 @@ _02239286: ; jump table
.short _022392C0 - _02239286 - 2 ; case 10
.short _0223929E - _02239286 - 2 ; case 11
_0223929E:
- ldr r0, _022392E8 ; =0x0223BC30
+ ldr r0, _022392E8 ; =MOD83_0223BC30
add r1, r4, #0
add r2, r6, #0
bl MOD83_02239030
b _022392CA
_022392AA:
mov r1, #0x82
- ldr r0, _022392E8 ; =0x0223BC30
+ ldr r0, _022392E8 ; =MOD83_0223BC30
mov r2, #0x78
lsl r1, r1, #2
str r2, [r0, r1]
_022392B4:
- ldr r0, _022392E8 ; =0x0223BC30
+ ldr r0, _022392E8 ; =MOD83_0223BC30
add r1, r4, #0
add r2, r6, #0
bl MOD83_02239070
b _022392CA
_022392C0:
- ldr r0, _022392E8 ; =0x0223BC30
+ ldr r0, _022392E8 ; =MOD83_0223BC30
add r1, r4, #0
add r2, r6, #0
bl MOD83_0223912C
_022392CA:
mov r1, #0x81
- ldr r0, _022392E8 ; =0x0223BC30
+ ldr r0, _022392E8 ; =MOD83_0223BC30
lsl r1, r1, #2
ldr r0, [r0, r1]
mov r1, #0
@@ -24467,7 +24468,7 @@ _02239428: .word 0x000005DC
thumb_func_start MOD83_0223942C
MOD83_0223942C: ; 0x0223942C
push {r3, lr}
- ldr r0, _0223944C ; =0x027FFFA8
+ ldr r0, _0223944C ; =MOD83_027FFFA8
ldrh r1, [r0]
mov r0, #2
lsl r0, r0, #0xe
@@ -24545,7 +24546,7 @@ _022394B8: .word MOD83_0223948C
thumb_func_start MOD83_022394BC
MOD83_022394BC: ; 0x022394BC
- ldr r1, _022394C8 ; =0x0223BC30
+ ldr r1, _022394C8 ; =MOD83_0223BC30
str r0, [r1, #0x14]
mov r0, #0
str r0, [r1, #0x10]
@@ -24557,8 +24558,8 @@ _022394C8: .word MOD83_0223BC30
thumb_func_start MOD83_022394CC
MOD83_022394CC: ; 0x022394CC
push {r3, r4, r5, lr}
- ldr r0, _0223953C ; =0x0223BC30
- ldr r4, _02239540 ; =0x0223BC30
+ ldr r0, _0223953C ; =MOD83_0223BC30
+ ldr r4, _02239540 ; =MOD83_0223BC30
ldr r0, [r0, #0x10]
cmp r0, #4
bhi _02239538
@@ -24623,8 +24624,8 @@ _02239540: .word MOD83_0223BC30
thumb_func_start MOD83_02239544
MOD83_02239544: ; 0x02239544
- ldr r0, _02239554 ; =0x0223BC30
- ldr r1, _02239558 ; =0x0223BC30
+ ldr r0, _02239554 ; =MOD83_0223BC30
+ ldr r1, _02239558 ; =MOD83_0223BC30
ldr r0, [r0, #0x10]
cmp r0, #4
bne _02239552
@@ -24640,7 +24641,7 @@ _02239558: .word MOD83_0223BC30
thumb_func_start MOD83_0223955C
MOD83_0223955C: ; 0x0223955C
push {r3, lr}
- ldr r0, _02239570 ; =0x0223BC30
+ ldr r0, _02239570 ; =MOD83_0223BC30
ldr r0, [r0, #0x14]
bl FUN_0202287C
mov r0, #4
@@ -24652,7 +24653,7 @@ _02239570: .word MOD83_0223BC30
thumb_func_start MOD83_02239574
MOD83_02239574: ; 0x02239574
- ldr r0, _0223957C ; =0x0223BC30
+ ldr r0, _0223957C ; =MOD83_0223BC30
ldr r0, [r0, #0x10]
bx lr
nop
@@ -24662,21 +24663,21 @@ _0223957C: .word MOD83_0223BC30
thumb_func_start MOD83_02239580
MOD83_02239580: ; 0x02239580
push {r4, lr}
- ldr r1, _022395BC ; =0x0223CAD4
+ ldr r1, _022395BC ; =MOD83_0223CAD4
add r4, r0, #0
ldr r2, [r1, #4]
cmp r2, #0
beq _0223959C
ldr r3, [r1]
ldr r1, _022395C0 ; =0x00001150
- ldr r0, _022395C4 ; =0x0223B80C
+ ldr r0, _022395C4 ; =MOD83_0223B80C
ldr r1, [r3, r1]
lsl r3, r1, #2
- ldr r1, _022395C8 ; =0x0223B7E4
+ ldr r1, _022395C8 ; =MOD83_0223B7E4
ldr r1, [r1, r3]
blx r2
_0223959C:
- ldr r3, _022395BC ; =0x0223CAD4
+ ldr r3, _022395BC ; =MOD83_0223CAD4
ldr r1, _022395C0 ; =0x00001150
ldr r0, [r3]
str r4, [r0, r1]
@@ -24684,10 +24685,10 @@ _0223959C:
cmp r2, #0
beq _022395B8
ldr r3, [r3]
- ldr r0, _022395CC ; =0x0223B814
+ ldr r0, _022395CC ; =MOD83_0223B814
ldr r1, [r3, r1]
lsl r3, r1, #2
- ldr r1, _022395C8 ; =0x0223B7E4
+ ldr r1, _022395C8 ; =MOD83_0223B7E4
ldr r1, [r1, r3]
blx r2
_022395B8:
@@ -24702,7 +24703,7 @@ _022395CC: .word MOD83_0223B814
thumb_func_start MOD83_022395D0
MOD83_022395D0: ; 0x022395D0
- ldr r1, _022395E4 ; =0x0223CAD4
+ ldr r1, _022395E4 ; =MOD83_0223CAD4
ldr r3, [r1]
ldr r1, _022395E8 ; =0x00001150
ldr r2, [r3, r1]
@@ -24721,7 +24722,7 @@ _022395E8: .word 0x00001150
thumb_func_start MOD83_022395EC
MOD83_022395EC: ; 0x022395EC
push {r4, lr}
- ldr r0, _02239658 ; =0x0223CAD4
+ ldr r0, _02239658 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _0223965C ; =0x00001150
ldr r0, [r1, r0]
@@ -24731,7 +24732,7 @@ MOD83_022395EC: ; 0x022395EC
_022395FE:
mov r0, #2
bl MOD83_02239580
- ldr r3, _02239658 ; =0x0223CAD4
+ ldr r3, _02239658 ; =MOD83_0223CAD4
ldr r0, _02239660 ; =0x0000FFFF
ldr r2, [r3]
ldr r1, _02239664 ; =0x00000FCC
@@ -24747,7 +24748,7 @@ _022395FE:
bne _0223963C
mov r0, #9
bl MOD83_02239580
- ldr r0, _02239658 ; =0x0223CAD4
+ ldr r0, _02239658 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239668 ; =0x0000117C
ldr r1, [r1, r0]
@@ -24759,7 +24760,7 @@ _02239638:
mov r0, #0
pop {r4, pc}
_0223963C:
- ldr r1, _02239658 ; =0x0223CAD4
+ ldr r1, _02239658 ; =MOD83_0223CAD4
ldr r0, _0223966C ; =0x00001158
ldr r2, [r1]
mov r3, #2
@@ -24786,7 +24787,7 @@ _0223966C: .word 0x00001158
thumb_func_start MOD83_02239670
MOD83_02239670: ; 0x02239670
push {r3, r4, r5, r6, r7, lr}
- ldr r0, _02239748 ; =0x0223CAD4
+ ldr r0, _02239748 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _0223974C ; =0x00001150
ldr r0, [r1, r0]
@@ -24813,7 +24814,7 @@ _0223969C:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_022396AA:
- ldr r0, _02239748 ; =0x0223CAD4
+ ldr r0, _02239748 ; =MOD83_0223CAD4
ldr r2, [r0]
ldr r0, _02239750 ; =0x00001176
ldrh r1, [r2, r0]
@@ -24837,7 +24838,7 @@ _022396D2:
cmp r5, #0xd
blt _022396C0
_022396D6:
- ldr r2, _02239748 ; =0x0223CAD4
+ ldr r2, _02239748 ; =MOD83_0223CAD4
add r4, r1, #0
ldr r3, [r2]
ldr r0, _02239750 ; =0x00001176
@@ -24852,7 +24853,7 @@ _022396EC:
ldr r0, _02239754 ; =0x00000FC4
strh r1, [r2, r0]
_022396F0:
- ldr r2, _02239748 ; =0x0223CAD4
+ ldr r2, _02239748 ; =MOD83_0223CAD4
ldr r0, _02239758 ; =0x00000FC6
ldr r1, [r2]
mov r3, #0xdc
@@ -24882,7 +24883,7 @@ _02239722:
cmp r5, #6
blt _02239718
_02239726:
- ldr r1, _02239748 ; =0x0223CAD4
+ ldr r1, _02239748 ; =MOD83_0223CAD4
ldr r0, _02239768 ; =MOD83_0223976C
ldr r2, [r1]
mov r1, #0x3f
@@ -24919,7 +24920,7 @@ MOD83_0223976C: ; 0x0223976C
bl MOD83_022395D0
mov r0, #9
bl MOD83_02239580
- ldr r0, _02239880 ; =0x0223CAD4
+ ldr r0, _02239880 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239884 ; =0x0000117C
ldr r1, [r1, r0]
@@ -24929,7 +24930,7 @@ MOD83_0223976C: ; 0x0223976C
blx r1
pop {r3, r4, r5, pc}
_02239792:
- ldr r0, _02239880 ; =0x0223CAD4
+ ldr r0, _02239880 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239888 ; =0x00001150
ldr r0, [r1, r0]
@@ -24940,7 +24941,7 @@ _02239792:
bne _0223987E
mov r0, #9
bl MOD83_02239580
- ldr r0, _02239880 ; =0x0223CAD4
+ ldr r0, _02239880 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239884 ; =0x0000117C
ldr r1, [r1, r0]
@@ -24970,17 +24971,17 @@ _022397BE:
cmp r1, r0
beq _022397F8
_022397E6:
- ldr r0, _02239880 ; =0x0223CAD4
+ ldr r0, _02239880 ; =MOD83_0223CAD4
ldr r3, [r0, #4]
cmp r3, #0
beq _02239860
- ldr r0, _02239890 ; =0x0223B818
+ ldr r0, _02239890 ; =MOD83_0223B818
ldr r1, [r4, #0x3c]
ldr r2, _0223988C ; =0x00400318
blx r3
b _02239860
_022397F8:
- ldr r1, _02239880 ; =0x0223CAD4
+ ldr r1, _02239880 ; =MOD83_0223CAD4
ldrh r3, [r4, #0x12]
ldr r2, [r1]
ldr r0, _02239894 ; =0x0000116C
@@ -24993,7 +24994,7 @@ _022397F8:
add r0, r4, #0
add r0, #0x48
bl MOD83_02239B00
- ldr r2, _02239880 ; =0x0223CAD4
+ ldr r2, _02239880 ; =MOD83_0223CAD4
ldr r1, _02239898 ; =0x00001170
mov r0, #0
_0223981A:
@@ -25005,7 +25006,7 @@ _0223981A:
strb r5, [r3, r1]
cmp r0, #6
blt _0223981A
- ldr r1, _02239880 ; =0x0223CAD4
+ ldr r1, _02239880 ; =MOD83_0223CAD4
ldr r0, _0223989C ; =0x00001176
ldr r3, [r1]
ldrh r2, [r3, r0]
@@ -25024,7 +25025,7 @@ _02239844:
bl MOD83_02239B80
cmp r0, #0
beq _02239860
- ldr r0, _02239880 ; =0x0223CAD4
+ ldr r0, _02239880 ; =MOD83_0223CAD4
mov r2, #4
ldr r1, [r0]
ldr r0, _022398A0 ; =0x00001158
@@ -25037,7 +25038,7 @@ _02239860:
bne _0223987E
mov r0, #9
bl MOD83_02239580
- ldr r0, _02239880 ; =0x0223CAD4
+ ldr r0, _02239880 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239884 ; =0x0000117C
ldr r1, [r1, r0]
@@ -25103,7 +25104,7 @@ MOD83_022398D8: ; 0x022398D8
_022398E8:
mov r0, #0
bl MOD83_02239580
- ldr r0, _02239900 ; =0x0223CAD4
+ ldr r0, _02239900 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239904 ; =0x0000117C
ldr r1, [r1, r0]
@@ -25121,7 +25122,7 @@ _02239904: .word 0x0000117C
thumb_func_start MOD83_02239908
MOD83_02239908: ; 0x02239908
push {r3, lr}
- ldr r0, _02239924 ; =0x0223CAD4
+ ldr r0, _02239924 ; =MOD83_0223CAD4
mov r2, #0
ldr r1, [r0]
ldr r0, _02239928 ; =0x00001154
@@ -25147,7 +25148,7 @@ MOD83_0223992C: ; 0x0223992C
bne _0223994A
mov r0, #9
bl MOD83_02239580
- ldr r0, _0223994C ; =0x0223CAD4
+ ldr r0, _0223994C ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239950 ; =0x0000117C
ldr r1, [r1, r0]
@@ -25167,7 +25168,7 @@ MOD83_02239954: ; 0x02239954
push {r3, lr}
mov r0, #3
bl MOD83_02239580
- ldr r0, _02239980 ; =0x0223CAD4
+ ldr r0, _02239980 ; =MOD83_0223CAD4
ldr r1, _02239984 ; =MOD83_02239988
ldr r0, [r0]
mov r2, #2
@@ -25218,7 +25219,7 @@ _022399C0: .word MOD83_0223992C
thumb_func_start MOD83_022399C4
MOD83_022399C4: ; 0x022399C4
push {r3, lr}
- ldr r0, _02239A04 ; =0x0223CAD4
+ ldr r0, _02239A04 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239A08 ; =0x00001150
ldr r0, [r1, r0]
@@ -25234,7 +25235,7 @@ _022399D6:
beq _02239A00
mov r0, #9
bl MOD83_02239580
- ldr r0, _02239A04 ; =0x0223CAD4
+ ldr r0, _02239A04 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239A10 ; =0x0000117C
ldr r1, [r1, r0]
@@ -25258,7 +25259,7 @@ _02239A10: .word 0x0000117C
thumb_func_start MOD83_02239A14
MOD83_02239A14: ; 0x02239A14
push {r3, lr}
- ldr r0, _02239A30 ; =0x0223CAD4
+ ldr r0, _02239A30 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239A34 ; =0x00001150
ldr r0, [r1, r0]
@@ -25304,7 +25305,7 @@ MOD83_02239A5C: ; 0x02239A5C
bl MOD83_02239580
ldrh r0, [r4, #2]
bl MOD83_022395D0
- ldr r0, _02239A90 ; =0x0223CAD4
+ ldr r0, _02239A90 ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239A94 ; =0x0000117C
ldr r1, [r1, r0]
@@ -25331,7 +25332,7 @@ MOD83_02239A98: ; 0x02239A98
add r2, #0x1f
mov r0, #0x1f
bic r2, r0
- ldr r5, _02239AF4 ; =0x0223CAD4
+ ldr r5, _02239AF4 ; =MOD83_0223CAD4
ldr r4, _02239AF8 ; =0x00001150
str r2, [r5]
mov r0, #0
@@ -25380,7 +25381,7 @@ _02239AFC: .word 0x00001048
thumb_func_start MOD83_02239B00
MOD83_02239B00: ; 0x02239B00
push {r4, r5, r6, lr}
- ldr r3, _02239B70 ; =0x0223CAD4
+ ldr r3, _02239B70 ; =MOD83_0223CAD4
ldr r1, _02239B74 ; =0x00001048
ldr r2, [r3]
mov r4, #0
@@ -25407,7 +25408,7 @@ MOD83_02239B00: ; 0x02239B00
ldr r2, _02239B7C ; =0x0000115C
add r0, r0, #1
strh r0, [r4, r2]
- ldr r4, _02239B70 ; =0x0223CAD4
+ ldr r4, _02239B70 ; =MOD83_0223CAD4
mov r0, #0
ldr r3, [r4]
add r1, r2, #2
@@ -25446,7 +25447,7 @@ _02239B7C: .word 0x0000115C
MOD83_02239B80: ; 0x02239B80
push {r3, r4, r5, lr}
add r4, r0, #0
- ldr r0, _02239C9C ; =0x0223CAD4
+ ldr r0, _02239C9C ; =MOD83_0223CAD4
ldrh r1, [r4]
ldr r3, [r0]
ldr r0, _02239CA0 ; =0x0000115A
@@ -25459,7 +25460,7 @@ MOD83_02239B80: ; 0x02239B80
cmp r1, r0
beq _02239BC8
_02239B9C:
- ldr r0, _02239C9C ; =0x0223CAD4
+ ldr r0, _02239C9C ; =MOD83_0223CAD4
ldr r3, [r0]
ldr r0, _02239CA4 ; =0x00001164
ldr r2, [r3, r0]
@@ -25469,7 +25470,7 @@ _02239B9C:
blo _02239BC4
add r0, r4, #0
bl MOD83_02239B00
- ldr r0, _02239C9C ; =0x0223CAD4
+ ldr r0, _02239C9C ; =MOD83_0223CAD4
ldr r1, [r0]
ldr r0, _02239CA8 ; =0x0000117C
ldr r1, [r1, r0]
@@ -25486,7 +25487,7 @@ _02239BC8:
ldr r0, _02239CAC ; =0x0000FFFF
cmp r3, r0
bne _02239BF0
- ldr r1, _02239C9C ; =0x0223CAD4
+ ldr r1, _02239C9C ; =MOD83_0223CAD4
add r4, #8
ldr r2, [r1]
mov r1, #0xfe
@@ -25495,14 +25496,14 @@ _02239BC8:
add r0, r4, #0
mov r2, #0x68
bl MIi_CpuCopy32
- ldr r0, _02239C9C ; =0x0223CAD4
+ ldr r0, _02239C9C ; =MOD83_0223CAD4
mov r2, #1
ldr r1, [r0]
ldr r0, _02239CB0 ; =0x00001048
str r2, [r1, r0]
b _02239C98
_02239BF0:
- ldr r1, _02239C9C ; =0x0223CAD4
+ ldr r1, _02239C9C ; =MOD83_0223CAD4
ldr r0, _02239CB4 ; =0x00001168
ldr r2, [r1]
str r3, [r2, r0]
@@ -25523,7 +25524,7 @@ _02239C12:
mov r0, #9
bl MOD83_02239580
_02239C18:
- ldr r0, _02239C9C ; =0x0223CAD4
+ ldr r0, _02239C9C ; =MOD83_0223CAD4
mov r2, #0x46
ldr r1, [r0]
lsl r2, r2, #6
@@ -25567,7 +25568,7 @@ _02239C5C:
add r1, r4, r3
bl MIi_CpuCopy32
_02239C70:
- ldr r1, _02239C9C ; =0x0223CAD4
+ ldr r1, _02239C9C ; =MOD83_0223CAD4
ldr r0, _02239CB8 ; =0x0000115E
ldr r3, [r1]
ldrh r2, [r3, r0]
@@ -25636,7 +25637,7 @@ _02239CE4:
MOD83_02239CEC: ; 0x02239CEC
push {r4, lr}
sub sp, #8
- ldr r0, _02239D80 ; =0x0223CAD4
+ ldr r0, _02239D80 ; =MOD83_0223CAD4
add r1, sp, #0
ldr r4, [r0]
ldr r0, _02239D84 ; =0x00001170
@@ -25662,14 +25663,14 @@ _02239D12:
add r3, r3, #2
cmp r1, #4
blt _02239D12
- ldr r0, _02239D80 ; =0x0223CAD4
+ ldr r0, _02239D80 ; =MOD83_0223CAD4
mov r2, #8
ldr r1, [r0]
ldr r0, _02239D8C ; =0x0000104C
add r0, r1, r0
add r1, sp, #0
bl FUN_0209521C
- ldr r0, _02239D80 ; =0x0223CAD4
+ ldr r0, _02239D80 ; =MOD83_0223CAD4
ldr r2, _02239D90 ; =0x00001178
ldr r3, [r0]
ldr r0, _02239D8C ; =0x0000104C
@@ -25679,21 +25680,21 @@ _02239D12:
add r0, r3, r0
add r3, r1, #0
bl FUN_020952AC
- ldr r1, _02239D80 ; =0x0223CAD4
+ ldr r1, _02239D80 ; =MOD83_0223CAD4
ldr r2, _02239D8C ; =0x0000104C
ldr r1, [r1]
mov r0, #0
add r1, r1, r2
lsr r2, r2, #4
bl MIi_CpuClear32
- ldr r0, _02239D80 ; =0x0223CAD4
+ ldr r0, _02239D80 ; =MOD83_0223CAD4
ldr r1, _02239D90 ; =0x00001178
ldr r2, [r0]
ldr r0, [r2, r1]
sub r1, #0x18
ldr r1, [r2, r1]
bl MOD83_02239CBC
- ldr r1, _02239D80 ; =0x0223CAD4
+ ldr r1, _02239D80 ; =MOD83_0223CAD4
ldr r2, [r1]
ldr r1, _02239D94 ; =0x0000115A
ldrh r1, [r2, r1]
@@ -25725,7 +25726,7 @@ _02239D9C: .word 0x000016A0
thumb_func_start MOD83_02239DA0
MOD83_02239DA0: ; 0x02239DA0
- ldr r0, _02239DB8 ; =0x0223CAD4
+ ldr r0, _02239DB8 ; =MOD83_0223CAD4
ldr r2, [r0]
ldr r0, _02239DBC ; =0x00001048
ldr r1, [r2, r0]
@@ -25797,7 +25798,7 @@ MOD83_02239DF0: ; 0x02239DF0
sub r0, r1, #4
mov r2, #1
str r2, [r4, r0]
- ldr r0, _02239E38 ; =0x0223CADC
+ ldr r0, _02239E38 ; =MOD83_0223CADC
mov r1, #0
str r1, [r0, #0xc]
add r0, r4, #0
@@ -25823,12 +25824,12 @@ MOD83_02239E40: ; 0x02239E40
bne _02239E5C
_02239E50:
bl MOD04_021DDC1C
- ldr r0, _02239E74 ; =0x0223CADC
+ ldr r0, _02239E74 ; =MOD83_0223CADC
mov r1, #1
str r1, [r0, #0xc]
b _02239E62
_02239E5C:
- ldr r0, _02239E74 ; =0x0223CADC
+ ldr r0, _02239E74 ; =MOD83_0223CADC
mov r1, #1
str r1, [r0, #0xc]
_02239E62:
@@ -25872,7 +25873,7 @@ _02239EA0:
thumb_func_start MOD83_02239EA8
MOD83_02239EA8: ; 0x02239EA8
push {r3, r4}
- ldr r3, _02239EBC ; =0x0223CADC
+ ldr r3, _02239EBC ; =MOD83_0223CADC
mov r4, #0
str r4, [r3]
ldr r3, _02239EC0 ; =0x000015F4
@@ -25890,7 +25891,7 @@ _02239EC4: .word 0x00001011
thumb_func_start MOD83_02239EC8
MOD83_02239EC8: ; 0x02239EC8
push {r3, r4, r5, lr}
- ldr r4, _02239EE4 ; =0x0223CADC
+ ldr r4, _02239EE4 ; =MOD83_0223CADC
mov r5, #0
str r5, [r4, #8]
str r1, [r4, #4]
@@ -25932,7 +25933,7 @@ _02239F14:
bne _02239F1C
bl OS_Terminate
_02239F1C:
- ldr r0, _02239F24 ; =0x0223CADC
+ ldr r0, _02239F24 ; =MOD83_0223CADC
mov r1, #1
str r1, [r0]
pop {r3, pc}
@@ -25942,7 +25943,7 @@ _02239F24: .word MOD83_0223CADC
thumb_func_start MOD83_02239F28
MOD83_02239F28: ; 0x02239F28
- ldr r0, _02239F30 ; =0x0223CADC
+ ldr r0, _02239F30 ; =MOD83_0223CADC
mov r1, #1
str r1, [r0, #8]
bx lr
@@ -26058,7 +26059,7 @@ _0223A002:
ldr r1, [r4, r0]
cmp r1, #1
bne _0223A020
- ldr r0, _0223A270 ; =0x0223CADC
+ ldr r0, _0223A270 ; =MOD83_0223CADC
mov r1, #3
str r1, [r0, #4]
ldr r0, _0223A274 ; =0x0000100D
@@ -26114,7 +26115,7 @@ _0223A06C:
_0223A07A:
cmp r0, #5
bne _0223A088
- ldr r0, _0223A270 ; =0x0223CADC
+ ldr r0, _0223A270 ; =MOD83_0223CADC
mov r1, #3
str r1, [r0, #4]
ldr r0, _0223A274 ; =0x0000100D
@@ -26132,8 +26133,8 @@ _0223A094:
b _0223A342
_0223A09A:
ldr r0, _0223A28C ; =MOD83_02239EF4
- ldr r1, _0223A290 ; =0x0223B838
- ldr r2, _0223A294 ; =0x0223B840
+ ldr r1, _0223A290 ; =MOD83_0223B838
+ ldr r2, _0223A294 ; =MOD83_0223B840
bl MOD04_021DE45C
cmp r0, #0
bne _0223A0B2
@@ -26159,7 +26160,7 @@ _0223A0BE:
bl MOD83_02239EC8
b _0223A342
_0223A0D4:
- ldr r0, _0223A29C ; =0x0223B854
+ ldr r0, _0223A29C ; =MOD83_0223B854
add r1, r0, #0
add r2, r0, #0
bl MOD04_021DE3D0
@@ -26201,7 +26202,7 @@ _0223A114:
bl MOD83_02239EC8
b _0223A342
_0223A12A:
- ldr r0, _0223A2AC ; =0x0223CAEC
+ ldr r0, _0223A2AC ; =MOD83_0223CAEC
mov r1, #0
mov r2, #0xa
bl MOD04_021DE364
@@ -26219,7 +26220,7 @@ _0223A142:
b _0223A342
_0223A14E:
ldr r1, _0223A2B4 ; =0x000015FC
- ldr r0, _0223A2AC ; =0x0223CAEC
+ ldr r0, _0223A2AC ; =MOD83_0223CAEC
add r1, r4, r1
add r2, r3, #0
bl MOD04_021DE330
@@ -26237,7 +26238,7 @@ _0223A168:
str r1, [r4, r0]
b _0223A342
_0223A174:
- ldr r0, _0223A270 ; =0x0223CADC
+ ldr r0, _0223A270 ; =MOD83_0223CADC
ldr r0, [r0]
cmp r0, #0
bne _0223A1C4
@@ -26308,7 +26309,7 @@ _0223A1F6:
bl FUN_02033364
bl FUN_02088868
bl FUN_0202E4F0
- ldr r0, _0223A270 ; =0x0223CADC
+ ldr r0, _0223A270 ; =MOD83_0223CADC
ldr r0, [r0, #4]
pop {r3, r4, r5, pc}
_0223A212:
@@ -26325,11 +26326,11 @@ _0223A21C:
bl FUN_020332DC
bl FUN_02088868
bl FUN_0202E4F0
- ldr r0, _0223A270 ; =0x0223CADC
+ ldr r0, _0223A270 ; =MOD83_0223CADC
ldr r0, [r0, #4]
pop {r3, r4, r5, pc}
_0223A238:
- ldr r0, _0223A270 ; =0x0223CADC
+ ldr r0, _0223A270 ; =MOD83_0223CADC
ldr r0, [r0, #0xc]
cmp r0, #1
beq _0223A242
@@ -26395,7 +26396,7 @@ _0223A2D4:
mov r0, #4
pop {r3, r4, r5, pc}
_0223A2F8:
- ldr r0, _0223A354 ; =0x0223CADC
+ ldr r0, _0223A354 ; =MOD83_0223CADC
ldr r1, [r0]
cmp r1, #1
bne _0223A30C
@@ -26416,7 +26417,7 @@ _0223A30C:
str r1, [r4, r0]
b _0223A342
_0223A31E:
- ldr r0, _0223A354 ; =0x0223CADC
+ ldr r0, _0223A354 ; =MOD83_0223CADC
ldr r1, [r0, #8]
cmp r1, #1
bne _0223A332
@@ -26916,47 +26917,171 @@ MOD83_0223B288: ; 0x0223B288
.global MOD83_0223B2A0
MOD83_0223B2A0: ; 0x0223B2A0
- .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
+ .word 0x00000000, 0x00000001, 0x00000000, 0x00000002
+ .word 0x00000003, 0x00000004
.global MOD83_0223B2B8
MOD83_0223B2B8: ; 0x0223B2B8
- .byte 0x0F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
-
- .global MOD83_0223B2C8
-MOD83_0223B2C8: ; 0x0223B2C8
- .byte 0x94, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x23, 0x01, 0x00, 0x00
+ .word 0x0000000F, 0x00000013, 0x00000039, 0x00000046
+ .word 0x00000094, 0x000000F9, 0x0000007F, 0x00000123
.global MOD83_0223B2D8
MOD83_0223B2D8: ; 0x0223B2D8
- .byte 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
- .byte 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
-
- .global MOD83_0223B2F8
-MOD83_0223B2F8: ; 0x0223B2F8
- .byte 0x05, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00
- .byte 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x48, 0x00, 0x52, 0x00, 0x57, 0x00, 0x58, 0x00
- .byte 0x59, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5C, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00
- .byte 0x69, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00
- .byte 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7A, 0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7D, 0x00, 0x7E, 0x00
- .byte 0x7F, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, 0x00, 0x84, 0x00, 0xB0, 0x00, 0xB1, 0x00
- .byte 0xB2, 0x00, 0xE2, 0x00, 0xE3, 0x00, 0xE4, 0x00, 0xE5, 0x00, 0xE6, 0x00, 0xE7, 0x00, 0xE8, 0x00
- .byte 0xE9, 0x00, 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xEE, 0x00, 0xEF, 0x00, 0xF0, 0x00
- .byte 0xF1, 0x00, 0xF2, 0x00, 0xF3, 0x00, 0xF4, 0x00, 0xF5, 0x00, 0xF6, 0x00, 0xF7, 0x00, 0xF8, 0x00
- .byte 0xF9, 0x00, 0xFA, 0x00, 0xFB, 0x00, 0xFC, 0x00, 0xFD, 0x00, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01
- .byte 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0A, 0x01, 0x0B, 0x01, 0x0C, 0x01, 0x0D, 0x01
- .byte 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01
- .byte 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1A, 0x01, 0x1B, 0x01, 0x1C, 0x01, 0x1D, 0x01
- .byte 0x1E, 0x01, 0x1F, 0x01, 0x20, 0x01, 0x53, 0x01, 0x54, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01
- .byte 0x58, 0x01, 0x59, 0x01, 0x5A, 0x01, 0x5B, 0x01, 0x5C, 0x01, 0x5D, 0x01, 0x5E, 0x01, 0x5F, 0x01
- .byte 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01, 0x64, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 0x01
- .byte 0x68, 0x01, 0x69, 0x01, 0x6A, 0x01, 0x6B, 0x01, 0x6C, 0x01, 0x6D, 0x01, 0x6E, 0x01, 0x6F, 0x01
- .byte 0x70, 0x01, 0x71, 0x01, 0x72, 0x01, 0x73, 0x01, 0x74, 0x01, 0x75, 0x01, 0x76, 0x01, 0x77, 0x01
- .byte 0x78, 0x01, 0x00, 0x00
+ .word 0x00000000, 0x00000025, 0x0000001F, 0x00000020
+ .word 0x00000020, 0x00000005, 0x00000007, 0x00000021
+
+ .global MOD83_InvalidItemIds
+MOD83_InvalidItemIds: ; 0x0223B2F8
+ .short 0x0005 ; RS_ITEM_SAFARI_BALL
+ .short 0x0034 ; RS_ITEM_034
+ .short 0x0035 ; RS_ITEM_035
+ .short 0x0036 ; RS_ITEM_036
+ .short 0x0037 ; RS_ITEM_037
+ .short 0x0038 ; RS_ITEM_038
+ .short 0x0039 ; RS_ITEM_039
+ .short 0x003A ; RS_ITEM_03A
+ .short 0x003B ; RS_ITEM_03B
+ .short 0x003C ; RS_ITEM_03C
+ .short 0x003D ; RS_ITEM_03D
+ .short 0x003E ; RS_ITEM_03E
+ .short 0x0048 ; RS_ITEM_048
+ .short 0x0052 ; RS_ITEM_052
+ .short 0x0057 ; RS_ITEM_057
+ .short 0x0058 ; RS_ITEM_058
+ .short 0x0059 ; RS_ITEM_059
+ .short 0x005A ; RS_ITEM_05A
+ .short 0x005B ; RS_ITEM_05B
+ .short 0x005C ; RS_ITEM_05C
+ .short 0x0063 ; RS_ITEM_063
+ .short 0x0064 ; RS_ITEM_064
+ .short 0x0065 ; RS_ITEM_065
+ .short 0x0066 ; RS_ITEM_066
+ .short 0x0069 ; RS_ITEM_069
+ .short 0x0070 ; RS_ITEM_070
+ .short 0x0071 ; RS_ITEM_071
+ .short 0x0072 ; RS_ITEM_072
+ .short 0x0073 ; RS_ITEM_073
+ .short 0x0074 ; RS_ITEM_074
+ .short 0x0075 ; RS_ITEM_075
+ .short 0x0076 ; RS_ITEM_076
+ .short 0x0077 ; RS_ITEM_077
+ .short 0x0078 ; RS_ITEM_078
+ .short 0x0079 ; RS_ITEM_ORANGE_MAIL
+ .short 0x007A ; RS_ITEM_HARBOR_MAIL
+ .short 0x007B ; RS_ITEM_GLITTER_MAIL
+ .short 0x007C ; RS_ITEM_MECH_MAIL
+ .short 0x007D ; RS_ITEM_WOOD_MAIL
+ .short 0x007E ; RS_ITEM_WAVE_MAIL
+ .short 0x007F ; RS_ITEM_BEAD_MAIL
+ .short 0x0080 ; RS_ITEM_SHADOW_MAIL
+ .short 0x0081 ; RS_ITEM_TROPIC_MAIL
+ .short 0x0082 ; RS_ITEM_DREAM_MAIL
+ .short 0x0083 ; RS_ITEM_FAB_MAIL
+ .short 0x0084 ; RS_ITEM_RETRO_MAIL
+ .short 0x00B0 ; RS_ITEM_0B0
+ .short 0x00B1 ; RS_ITEM_0B1
+ .short 0x00B2 ; RS_ITEM_0B2
+ .short 0x00E2 ; RS_ITEM_0E2
+ .short 0x00E3 ; RS_ITEM_0E3
+ .short 0x00E4 ; RS_ITEM_0E4
+ .short 0x00E5 ; RS_ITEM_0E5
+ .short 0x00E6 ; RS_ITEM_0E6
+ .short 0x00E7 ; RS_ITEM_0E7
+ .short 0x00E8 ; RS_ITEM_0E8
+ .short 0x00E9 ; RS_ITEM_0E9
+ .short 0x00EA ; RS_ITEM_0EA
+ .short 0x00EB ; RS_ITEM_0EB
+ .short 0x00EC ; RS_ITEM_0EC
+ .short 0x00ED ; RS_ITEM_0ED
+ .short 0x00EE ; RS_ITEM_0EE
+ .short 0x00EF ; RS_ITEM_0EF
+ .short 0x00F0 ; RS_ITEM_0F0
+ .short 0x00F1 ; RS_ITEM_0F1
+ .short 0x00F2 ; RS_ITEM_0F2
+ .short 0x00F3 ; RS_ITEM_0F3
+ .short 0x00F4 ; RS_ITEM_0F4
+ .short 0x00F5 ; RS_ITEM_0F5
+ .short 0x00F6 ; RS_ITEM_0F6
+ .short 0x00F7 ; RS_ITEM_0F7
+ .short 0x00F8 ; RS_ITEM_0F8
+ .short 0x00F9 ; RS_ITEM_0F9
+ .short 0x00FA ; RS_ITEM_0FA
+ .short 0x00FB ; RS_ITEM_0FB
+ .short 0x00FC ; RS_ITEM_0FC
+ .short 0x00FD ; RS_ITEM_0FD
+ .short 0x0103 ; RS_ITEM_MACH_BIKE
+ .short 0x0104 ; RS_ITEM_COIN_CASE
+ .short 0x0105 ; RS_ITEM_ITEMFINDER
+ .short 0x0106 ; RS_ITEM_OLD_ROD
+ .short 0x0107 ; RS_ITEM_GOOD_ROD
+ .short 0x0108 ; RS_ITEM_SUPER_ROD
+ .short 0x0109 ; RS_ITEM_SS_TICKET
+ .short 0x010A ; RS_ITEM_CONTEST_PASS
+ .short 0x010B ; RS_ITEM_10B
+ .short 0x010C ; RS_ITEM_WAILMER_PAIL
+ .short 0x010D ; RS_ITEM_DEVON_GOODS
+ .short 0x010E ; RS_ITEM_SOOT_SACK
+ .short 0x010F ; RS_ITEM_BASEMENT_KEY
+ .short 0x0110 ; RS_ITEM_ACRO_BIKE
+ .short 0x0111 ; RS_ITEM_POKEBLOCK_CASE
+ .short 0x0112 ; RS_ITEM_LETTER
+ .short 0x0113 ; RS_ITEM_EON_TICKET
+ .short 0x0114 ; RS_ITEM_RED_ORB
+ .short 0x0115 ; RS_ITEM_BLUE_ORB
+ .short 0x0116 ; RS_ITEM_SCANNER
+ .short 0x0117 ; RS_ITEM_GO_GOGGLES
+ .short 0x0118 ; RS_ITEM_METEORITE
+ .short 0x0119 ; RS_ITEM_ROOM_1_KEY
+ .short 0x011A ; RS_ITEM_ROOM_2_KEY
+ .short 0x011B ; RS_ITEM_ROOM_4_KEY
+ .short 0x011C ; RS_ITEM_ROOM_6_KEY
+ .short 0x011D ; RS_ITEM_STORAGE_KEY
+ .short 0x011E ; RS_ITEM_ROOT_FOSSIL
+ .short 0x011F ; RS_ITEM_CLAW_FOSSIL
+ .short 0x0120 ; RS_ITEM_DEVON_SCOPE
+ .short 0x0153 ; RS_ITEM_HM01
+ .short 0x0154 ; RS_ITEM_HM02
+ .short 0x0155 ; RS_ITEM_HM03
+ .short 0x0156 ; RS_ITEM_HM04
+ .short 0x0157 ; RS_ITEM_HM05
+ .short 0x0158 ; RS_ITEM_HM06
+ .short 0x0159 ; RS_ITEM_HM07
+ .short 0x015A ; RS_ITEM_HM08
+ .short 0x015B ; RS_ITEM_15B
+ .short 0x015C ; RS_ITEM_15C
+ .short 0x015D ; RS_ITEM_OAKS_PARCEL
+ .short 0x015E ; RS_ITEM_POKE_FLUTE
+ .short 0x015F ; RS_ITEM_SECRET_KEY
+ .short 0x0160 ; RS_ITEM_BIKE_VOUCHER
+ .short 0x0161 ; RS_ITEM_GOLD_TEETH
+ .short 0x0162 ; RS_ITEM_OLD_AMBER
+ .short 0x0163 ; RS_ITEM_CARD_KEY
+ .short 0x0164 ; RS_ITEM_LIFT_KEY
+ .short 0x0165 ; RS_ITEM_HELIX_FOSSIL
+ .short 0x0166 ; RS_ITEM_DOME_FOSSIL
+ .short 0x0167 ; RS_ITEM_SILPH_SCOPE
+ .short 0x0168 ; RS_ITEM_BICYCLE
+ .short 0x0169 ; RS_ITEM_TOWN_MAP
+ .short 0x016A ; RS_ITEM_VS_SEEKER
+ .short 0x016B ; RS_ITEM_FAME_CHECKER
+ .short 0x016C ; RS_ITEM_TM_CASE
+ .short 0x016D ; RS_ITEM_BERRY_POUCH
+ .short 0x016E ; RS_ITEM_TEACHY_TV
+ .short 0x016F ; RS_ITEM_TRI_PASS
+ .short 0x0170 ; RS_ITEM_RAINBOW_PASS
+ .short 0x0171 ; RS_ITEM_TEA
+ .short 0x0172 ; RS_ITEM_MYSTIC_TICKET
+ .short 0x0173 ; RS_ITEM_AURORA_TICKET
+ .short 0x0174 ; RS_ITEM_POWDER_JAR
+ .short 0x0175 ; RS_ITEM_RUBY
+ .short 0x0176 ; RS_ITEM_SAPPHIRE
+ .short 0x0177 ; RS_ITEM_MAGMA_EMBLEM
+ .short 0x0178 ; RS_ITEM_OLD_SEA_MAP
+ .short 0x0000 ; RS_ITEM_NONE
.global MOD83_0223B41C
MOD83_0223B41C: ; 0x0223B41C
- .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
+ .word 0, -1
.global MOD83_0223B424
MOD83_0223B424: ; 0x0223B424
@@ -26971,50 +27096,273 @@ MOD83_0223B424: ; 0x0223B424
.byte 0x78, 0x00, 0x90, 0xCB, 0x88, 0x11, 0x3A, 0x94, 0x65, 0xC0, 0x7C, 0x63, 0x87, 0xF0, 0x3C, 0xAF
.byte 0xD6, 0x25, 0xE4, 0x8B, 0x38, 0x0A, 0xAC, 0x72, 0x21, 0xD4, 0xF8, 0x07
- .global MOD83_0223B4C0
-MOD83_0223B4C0: ; 0x0223B4C0
- .byte 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00
- .byte 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x31, 0x00, 0x34, 0x00
- .byte 0x35, 0x00, 0x38, 0x00, 0x39, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x56, 0x00, 0x57, 0x00
- .byte 0x5A, 0x00, 0x5B, 0x00, 0x60, 0x00, 0x61, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x72, 0x00, 0x73, 0x00
- .byte 0x74, 0x00, 0x75, 0x00, 0x7A, 0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7F, 0x00, 0x80, 0x00, 0x85, 0x00
- .byte 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, 0x00, 0xAD, 0x00, 0xBB, 0x00, 0xBC, 0x00, 0xBD, 0x00
- .byte 0xBF, 0x00, 0xC0, 0x00, 0xC4, 0x00, 0xC5, 0x00, 0xC6, 0x00, 0xD2, 0x00, 0xD4, 0x00, 0xD5, 0x00
- .byte 0xD8, 0x00, 0xD9, 0x00, 0xDC, 0x00, 0xDD, 0x00, 0xDF, 0x00, 0xE0, 0x00, 0xE6, 0x00, 0xE9, 0x00
- .byte 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xEE, 0x00, 0xF1, 0x00, 0x05, 0x01, 0x06, 0x01
- .byte 0x07, 0x01, 0x08, 0x01, 0x1D, 0x01, 0x1E, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0x2E, 0x01, 0x3A, 0x01
- .byte 0x42, 0x01, 0x43, 0x01, 0x47, 0x01, 0x53, 0x01, 0x54, 0x01, 0x61, 0x01, 0x62, 0x01, 0x65, 0x01
- .byte 0x67, 0x01, 0x69, 0x01, 0x6A, 0x01, 0x6B, 0x01, 0x6C, 0x01, 0x6D, 0x01
-
- .global MOD83_0223B57C
-MOD83_0223B57C: ; 0x0223B57C
- .byte 0xFC, 0x00, 0xFD, 0x00, 0xFE, 0x00, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01
- .byte 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0A, 0x01, 0x0B, 0x01
- .byte 0x0C, 0x01, 0x0D, 0x01, 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01
- .byte 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x14, 0x01, 0x15, 0x01, 0x1D, 0x01, 0x1E, 0x01, 0x47, 0x01
- .byte 0x16, 0x01, 0x17, 0x01, 0x1B, 0x01, 0x1C, 0x01, 0x40, 0x01, 0x41, 0x01, 0x2C, 0x01, 0x2D, 0x01
- .byte 0x60, 0x01, 0x57, 0x01, 0x58, 0x01, 0x2B, 0x01, 0x44, 0x01, 0x2E, 0x01, 0x53, 0x01, 0x54, 0x01
- .byte 0x72, 0x01, 0x55, 0x01, 0x56, 0x01, 0x5D, 0x01, 0x5E, 0x01, 0x3E, 0x01, 0x3F, 0x01, 0x48, 0x01
- .byte 0x49, 0x01, 0x4A, 0x01, 0x28, 0x01, 0x29, 0x01, 0x35, 0x01, 0x36, 0x01, 0x42, 0x01, 0x43, 0x01
- .byte 0x6B, 0x01, 0x6C, 0x01, 0x6D, 0x01, 0x4B, 0x01, 0x4C, 0x01, 0x69, 0x01, 0x6A, 0x01, 0x51, 0x01
- .byte 0x52, 0x01, 0x2A, 0x01, 0x45, 0x01, 0x46, 0x01, 0x37, 0x01, 0x38, 0x01, 0x2F, 0x01, 0x33, 0x01
- .byte 0x34, 0x01, 0x4D, 0x01, 0x4E, 0x01, 0x68, 0x01, 0x63, 0x01, 0x64, 0x01, 0x3B, 0x01, 0x1F, 0x01
- .byte 0x20, 0x01, 0x21, 0x01, 0x3C, 0x01, 0x3D, 0x01, 0x65, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01
- .byte 0x6E, 0x01, 0x6F, 0x01, 0x70, 0x01, 0x67, 0x01, 0x61, 0x01, 0x62, 0x01, 0x50, 0x01, 0x4F, 0x01
- .byte 0x71, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01, 0x5F, 0x01, 0x39, 0x01, 0x3A, 0x01, 0x59, 0x01
- .byte 0x5A, 0x01, 0x5B, 0x01, 0x5C, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1A, 0x01, 0x73, 0x01, 0x74, 0x01
- .byte 0x75, 0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x01, 0x79, 0x01, 0x7A, 0x01, 0x7B, 0x01, 0x7E, 0x01
- .byte 0x7F, 0x01, 0x80, 0x01, 0x7C, 0x01, 0x7D, 0x01, 0x81, 0x01, 0x82, 0x01, 0x66, 0x01, 0x9C, 0x01
- .byte 0x9D, 0x01, 0x9E, 0x01, 0x9F, 0x01, 0xA0, 0x01, 0xA1, 0x01, 0xA2, 0x01, 0xA3, 0x01, 0xA4, 0x01
+ .global MOD83_SpeciesWithAbilityOverridesList
+MOD83_SpeciesWithAbilityOverridesList: ; 0x0223B4C0
+ .short SPECIES_PIDGEY
+ .short SPECIES_PIDGEOTTO
+ .short SPECIES_PIDGEOT
+ .short SPECIES_NIDORAN_F
+ .short SPECIES_NIDORINA
+ .short SPECIES_NIDOQUEEN
+ .short SPECIES_NIDORAN_M
+ .short SPECIES_NIDORINO
+ .short SPECIES_NIDOKING
+ .short SPECIES_CLEFAIRY
+ .short SPECIES_CLEFABLE
+ .short SPECIES_PARAS
+ .short SPECIES_PARASECT
+ .short SPECIES_VENONAT
+ .short SPECIES_VENOMOTH
+ .short SPECIES_MEOWTH
+ .short SPECIES_PERSIAN
+ .short SPECIES_MANKEY
+ .short SPECIES_PRIMEAPE
+ .short SPECIES_MACHOP
+ .short SPECIES_MACHOKE
+ .short SPECIES_MACHAMP
+ .short SPECIES_SEEL
+ .short SPECIES_DEWGONG
+ .short SPECIES_SHELLDER
+ .short SPECIES_CLOYSTER
+ .short SPECIES_DROWZEE
+ .short SPECIES_HYPNO
+ .short SPECIES_HITMONLEE
+ .short SPECIES_HITMONCHAN
+ .short SPECIES_TANGELA
+ .short SPECIES_KANGASKHAN
+ .short SPECIES_HORSEA
+ .short SPECIES_SEADRA
+ .short SPECIES_MR_MIME
+ .short SPECIES_SCYTHER
+ .short SPECIES_JYNX
+ .short SPECIES_PINSIR
+ .short SPECIES_TAUROS
+ .short SPECIES_EEVEE
+ .short SPECIES_VAPOREON
+ .short SPECIES_JOLTEON
+ .short SPECIES_FLAREON
+ .short SPECIES_PORYGON
+ .short SPECIES_CLEFFA
+ .short SPECIES_HOPPIP
+ .short SPECIES_SKIPLOOM
+ .short SPECIES_JUMPLUFF
+ .short SPECIES_SUNKERN
+ .short SPECIES_SUNFLORA
+ .short SPECIES_ESPEON
+ .short SPECIES_UMBREON
+ .short SPECIES_MURKROW
+ .short SPECIES_GRANBULL
+ .short SPECIES_SCIZOR
+ .short SPECIES_SHUCKLE
+ .short SPECIES_TEDDIURSA
+ .short SPECIES_URSARING
+ .short SPECIES_SWINUB
+ .short SPECIES_PILOSWINE
+ .short SPECIES_REMORAID
+ .short SPECIES_OCTILLERY
+ .short SPECIES_KINGDRA
+ .short SPECIES_PORYGON2
+ .short SPECIES_STANTLER
+ .short SPECIES_SMEARGLE
+ .short SPECIES_TYROGUE
+ .short SPECIES_HITMONTOP
+ .short SPECIES_SMOOCHUM
+ .short SPECIES_MILTANK
+ .short SPECIES_POOCHYENA
+ .short SPECIES_MIGHTYENA
+ .short SPECIES_ZIGZAGOON
+ .short SPECIES_LINOONE
+ .short SPECIES_SHROOMISH
+ .short SPECIES_BRELOOM
+ .short SPECIES_SKITTY
+ .short SPECIES_DELCATTY
+ .short SPECIES_SABLEYE
+ .short SPECIES_ILLUMISE
+ .short SPECIES_NUMEL
+ .short SPECIES_CAMERUPT
+ .short SPECIES_SPINDA
+ .short SPECIES_BARBOACH
+ .short SPECIES_WHISCASH
+ .short SPECIES_SHUPPET
+ .short SPECIES_BANETTE
+ .short SPECIES_TROPIUS
+ .short SPECIES_ABSOL
+ .short SPECIES_SNORUNT
+ .short SPECIES_GLALIE
+ .short SPECIES_SPHEAL
+ .short SPECIES_SEALEO
+ .short SPECIES_WALREIN
+
+ .global MOD83_UpConvertSpeciesLUT
+MOD83_UpConvertSpeciesLUT: ; 0x0223B57C
+ .short SPECIES_TREECKO
+ .short SPECIES_GROVYLE
+ .short SPECIES_SCEPTILE
+ .short SPECIES_TORCHIC
+ .short SPECIES_COMBUSKEN
+ .short SPECIES_BLAZIKEN
+ .short SPECIES_MUDKIP
+ .short SPECIES_MARSHTOMP
+ .short SPECIES_SWAMPERT
+ .short SPECIES_POOCHYENA
+ .short SPECIES_MIGHTYENA
+ .short SPECIES_ZIGZAGOON
+ .short SPECIES_LINOONE
+ .short SPECIES_WURMPLE
+ .short SPECIES_SILCOON
+ .short SPECIES_BEAUTIFLY
+ .short SPECIES_CASCOON
+ .short SPECIES_DUSTOX
+ .short SPECIES_LOTAD
+ .short SPECIES_LOMBRE
+ .short SPECIES_LUDICOLO
+ .short SPECIES_SEEDOT
+ .short SPECIES_NUZLEAF
+ .short SPECIES_SHIFTRY
+ .short SPECIES_NINCADA
+ .short SPECIES_NINJASK
+ .short SPECIES_SHEDINJA
+ .short SPECIES_TAILLOW
+ .short SPECIES_SWELLOW
+ .short SPECIES_SHROOMISH
+ .short SPECIES_BRELOOM
+ .short SPECIES_SPINDA
+ .short SPECIES_WINGULL
+ .short SPECIES_PELIPPER
+ .short SPECIES_SURSKIT
+ .short SPECIES_MASQUERAIN
+ .short SPECIES_WAILMER
+ .short SPECIES_WAILORD
+ .short SPECIES_SKITTY
+ .short SPECIES_DELCATTY
+ .short SPECIES_KECLEON
+ .short SPECIES_BALTOY
+ .short SPECIES_CLAYDOL
+ .short SPECIES_NOSEPASS
+ .short SPECIES_TORKOAL
+ .short SPECIES_SABLEYE
+ .short SPECIES_BARBOACH
+ .short SPECIES_WHISCASH
+ .short SPECIES_LUVDISC
+ .short SPECIES_CORPHISH
+ .short SPECIES_CRAWDAUNT
+ .short SPECIES_FEEBAS
+ .short SPECIES_MILOTIC
+ .short SPECIES_CARVANHA
+ .short SPECIES_SHARPEDO
+ .short SPECIES_TRAPINCH
+ .short SPECIES_VIBRAVA
+ .short SPECIES_FLYGON
+ .short SPECIES_MAKUHITA
+ .short SPECIES_HARIYAMA
+ .short SPECIES_ELECTRIKE
+ .short SPECIES_MANECTRIC
+ .short SPECIES_NUMEL
+ .short SPECIES_CAMERUPT
+ .short SPECIES_SPHEAL
+ .short SPECIES_SEALEO
+ .short SPECIES_WALREIN
+ .short SPECIES_CACNEA
+ .short SPECIES_CACTURNE
+ .short SPECIES_SNORUNT
+ .short SPECIES_GLALIE
+ .short SPECIES_LUNATONE
+ .short SPECIES_SOLROCK
+ .short SPECIES_AZURILL
+ .short SPECIES_SPOINK
+ .short SPECIES_GRUMPIG
+ .short SPECIES_PLUSLE
+ .short SPECIES_MINUN
+ .short SPECIES_MAWILE
+ .short SPECIES_MEDITITE
+ .short SPECIES_MEDICHAM
+ .short SPECIES_SWABLU
+ .short SPECIES_ALTARIA
+ .short SPECIES_WYNAUT
+ .short SPECIES_DUSKULL
+ .short SPECIES_DUSCLOPS
+ .short SPECIES_ROSELIA
+ .short SPECIES_SLAKOTH
+ .short SPECIES_VIGOROTH
+ .short SPECIES_SLAKING
+ .short SPECIES_GULPIN
+ .short SPECIES_SWALOT
+ .short SPECIES_TROPIUS
+ .short SPECIES_WHISMUR
+ .short SPECIES_LOUDRED
+ .short SPECIES_EXPLOUD
+ .short SPECIES_CLAMPERL
+ .short SPECIES_HUNTAIL
+ .short SPECIES_GOREBYSS
+ .short SPECIES_ABSOL
+ .short SPECIES_SHUPPET
+ .short SPECIES_BANETTE
+ .short SPECIES_SEVIPER
+ .short SPECIES_ZANGOOSE
+ .short SPECIES_RELICANTH
+ .short SPECIES_ARON
+ .short SPECIES_LAIRON
+ .short SPECIES_AGGRON
+ .short SPECIES_CASTFORM
+ .short SPECIES_VOLBEAT
+ .short SPECIES_ILLUMISE
+ .short SPECIES_LILEEP
+ .short SPECIES_CRADILY
+ .short SPECIES_ANORITH
+ .short SPECIES_ARMALDO
+ .short SPECIES_RALTS
+ .short SPECIES_KIRLIA
+ .short SPECIES_GARDEVOIR
+ .short SPECIES_BAGON
+ .short SPECIES_SHELGON
+ .short SPECIES_SALAMENCE
+ .short SPECIES_BELDUM
+ .short SPECIES_METANG
+ .short SPECIES_METAGROSS
+ .short SPECIES_REGIROCK
+ .short SPECIES_REGICE
+ .short SPECIES_REGISTEEL
+ .short SPECIES_KYOGRE
+ .short SPECIES_GROUDON
+ .short SPECIES_RAYQUAZA
+ .short SPECIES_LATIAS
+ .short SPECIES_LATIOS
+ .short SPECIES_JIRACHI
+ .short SPECIES_DEOXYS
+ .short SPECIES_CHIMECHO
+ .short SPECIES_BURMY
+ .short SPECIES_WORMADAM
+ .short SPECIES_MOTHIM
+ .short SPECIES_COMBEE
+ .short SPECIES_VESPIQUEN
+ .short SPECIES_PACHIRISU
+ .short SPECIES_BUIZEL
+ .short SPECIES_FLOATZEL
+ .short SPECIES_CHERUBI
.global MOD83_0223B69C
MOD83_0223B69C: ; 0x0223B69C
- .byte 0x45, 0x42, 0x35, 0x42, 0x45, 0x43, 0x35, 0x42, 0x45, 0x44, 0x35, 0x42, 0x45, 0x45, 0x35, 0x42
- .byte 0x45, 0x46, 0x35, 0x42, 0x45, 0x47, 0x35, 0x42, 0x45, 0x48, 0x35, 0x42, 0x45, 0x49, 0x35, 0x42
- .byte 0x45, 0x4A, 0x35, 0x42, 0x45, 0x4B, 0x35, 0x42, 0x45, 0x4C, 0x35, 0x42, 0x45, 0x4D, 0x35, 0x42
- .byte 0x45, 0x50, 0x35, 0x42, 0x45, 0x51, 0x35, 0x42, 0x45, 0x52, 0x35, 0x42, 0x45, 0x53, 0x35, 0x42
- .byte 0x45, 0x54, 0x35, 0x42, 0x45, 0x55, 0x35, 0x42, 0x45, 0x56, 0x35, 0x42, 0x45, 0x57, 0x35, 0x42
- .byte 0x00, 0x00, 0x00, 0x00
+ .word 0x42354245 ; "EB5B"
+ .word 0x42354345 ; "EC5B"
+ .word 0x42354445 ; "ED5B"
+ .word 0x42354545 ; "EE5B"
+ .word 0x42354645 ; "EF5B"
+ .word 0x42354745 ; "EG5B"
+ .word 0x42354845 ; "EH5B"
+ .word 0x42354945 ; "EI5B"
+ .word 0x42354A45 ; "EJ5B"
+ .word 0x42354B45 ; "EK5B"
+ .word 0x42354C45 ; "EL5B"
+ .word 0x42354D45 ; "EM5B"
+ .word 0x42355045 ; "EP5B"
+ .word 0x42355145 ; "EQ5B"
+ .word 0x42355245 ; "ER5B"
+ .word 0x42355345 ; "ES5B"
+ .word 0x42355445 ; "ET5B"
+ .word 0x42355545 ; "EU5B"
+ .word 0x42355645 ; "EV5B"
+ .word 0x42355745 ; "EW5B"
+ .word 0x00000000
.global MOD83_0223B6F0
MOD83_0223B6F0: ; 0x0223B6F0
@@ -27146,8 +27494,8 @@ MOD83_0223BB30: ; 0x0223BB30
MOD83_0223BB98: ; 0x0223BB98
.space 0x94
- .global MOD83_0223BC2C
-MOD83_0223BC2C: ; 0x0223BC2C
+ .global heap_id
+heap_id: ; 0x0223BC2C
.space 0x4
.global MOD83_0223BC30
diff --git a/arm9/src/bag.c b/arm9/src/bag.c
new file mode 100644
index 00000000..57609a8f
--- /dev/null
+++ b/arm9/src/bag.c
@@ -0,0 +1,463 @@
+#include "global.h"
+#include "MI_memory.h"
+#include "bag.h"
+#include "itemtool.h"
+#include "heap.h"
+
+#pragma thumb on
+
+u32 Sav2_Bag_sizeof(void)
+{
+ return sizeof(struct Bag);
+}
+
+struct Bag * Sav2_Bag_new(u32 heap_id)
+{
+ struct Bag * ret = (struct Bag *)AllocFromHeap(heap_id, sizeof(struct Bag));
+ Sav2_Bag_init(ret);
+ return ret;
+}
+
+void Sav2_Bag_init(struct Bag * bag)
+{
+ MI_CpuClear16(bag, sizeof(struct Bag));
+}
+
+void Sav2_Bag_copy(const struct Bag * src, struct Bag * dest)
+{
+ MI_CpuCopy8(src, dest, sizeof(struct Bag));
+}
+
+u32 Bag_GetRegisteredItem(struct Bag * bag)
+{
+ return bag->registeredItem;
+}
+
+void Bag_SetRegisteredItem(struct Bag * bag, u32 item)
+{
+ bag->registeredItem = item;
+}
+
+u32 Bag_GetItemPocket(struct Bag * bag, u16 item_id, struct ItemSlot ** slot_p, u32 * count_p, u32 heap_id)
+{
+ u32 pocket = GetItemAttr(item_id, 5, heap_id);
+ switch (pocket)
+ {
+ case POCKET_KEY_ITEMS:
+ *slot_p = bag->keyItems;
+ *count_p = NUM_BAG_KEY_ITEMS;
+ break;
+ case POCKET_ITEMS:
+ *slot_p = bag->items;
+ *count_p = NUM_BAG_ITEMS;
+ break;
+ case POCKET_BERRIES:
+ *slot_p = bag->berries;
+ *count_p = NUM_BAG_BERRIES;
+ break;
+ case POCKET_MEDICINE:
+ *slot_p = bag->medicine;
+ *count_p = NUM_BAG_MEDICINE;
+ break;
+ case POCKET_BALLS:
+ *slot_p = bag->balls;
+ *count_p = NUM_BAG_BALLS;
+ break;
+ case POCKET_BATTLE_ITEMS:
+ *slot_p = bag->battleItems;
+ *count_p = NUM_BAG_BATTLE_ITEMS;
+ break;
+ case POCKET_MAIL:
+ *slot_p = bag->mail;
+ *count_p = NUM_BAG_MAIL;
+ break;
+ case POCKET_TMHMS:
+ *slot_p = bag->TMsHMs;
+ *count_p = NUM_BAG_TMS_HMS;
+ break;
+ }
+ return pocket;
+}
+
+struct ItemSlot * Pocket_GetItemSlotForAdd(struct ItemSlot * slots, u32 count, u16 item_id, u16 quantity, u16 maxquantity)
+{
+ int i;
+ int found = -1;
+ for (i = 0; i < count; i++)
+ {
+ if (slots[i].id == item_id)
+ {
+ if (quantity + slots[i].quantity > maxquantity)
+ return NULL;
+ return &slots[i];
+ }
+ if (found == -1 && slots[i].id == ITEM_NONE && slots[i].quantity == 0)
+ {
+ found = i;
+ }
+ }
+ if (found == -1)
+ return NULL;
+ return &slots[found];
+}
+
+struct ItemSlot * Bag_GetItemSlotForAdd(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id)
+{
+ struct ItemSlot * slots;
+ u32 count;
+ u32 pocket = Bag_GetItemPocket(bag, item_id, &slots, &count, heap_id);
+ if (pocket == POCKET_TMHMS)
+ {
+ return Pocket_GetItemSlotForAdd(slots, count, item_id, quantity, 99);
+ }
+ else
+ {
+ return Pocket_GetItemSlotForAdd(slots, count, item_id, quantity, 999);
+ }
+}
+
+BOOL Bag_HasSpaceForItem(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id)
+{
+ return Bag_GetItemSlotForAdd(bag, item_id, quantity, heap_id) != NULL;
+}
+
+BOOL Bag_AddItem(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id)
+{
+ struct ItemSlot * slots = Bag_GetItemSlotForAdd(bag, item_id, quantity, heap_id);
+ if (slots == NULL)
+ return FALSE;
+ slots->id = item_id;
+ slots->quantity += quantity;
+ u32 count;
+ u32 pocket = Bag_GetItemPocket(bag, item_id, &slots, &count, heap_id);
+ if (pocket == POCKET_TMHMS || pocket == POCKET_BERRIES)
+ {
+ SortPocket(slots, count);
+ }
+ return TRUE;
+}
+
+struct ItemSlot * Pocket_GetItemSlotForRemove(struct ItemSlot * slots, u32 count, u16 item_id, u16 quantity)
+{
+ int i;
+ for (i = 0; i < count; i++)
+ {
+ if (slots[i].id == item_id)
+ {
+ if (slots[i].quantity >= quantity)
+ return &slots[i];
+ return NULL;
+ }
+ }
+ return NULL;
+}
+
+struct ItemSlot * Bag_GetItemSlotForRemove(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id)
+{
+ struct ItemSlot * slots;
+ u32 count;
+ (void)Bag_GetItemPocket(bag, item_id, &slots, &count, heap_id);
+ return Pocket_GetItemSlotForRemove(slots, count, item_id, quantity);
+}
+
+BOOL Bag_TakeItem(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id)
+{
+ struct ItemSlot * slots = Bag_GetItemSlotForRemove(bag, item_id, quantity, heap_id);
+ if (slots == NULL)
+ return FALSE;
+ slots->quantity -= quantity;
+ if (slots->quantity == 0)
+ slots->id = ITEM_NONE;
+ u32 count;
+ (void)Bag_GetItemPocket(bag, item_id, &slots, &count, heap_id);
+ PocketCompaction(slots, count);
+ return TRUE;
+}
+
+BOOL Pocket_TakeItem(struct ItemSlot * slots, u32 count, u16 item_id, u16 quantity)
+{
+ struct ItemSlot * slot = Pocket_GetItemSlotForRemove(slots, count, item_id, quantity);
+ if (slot == NULL)
+ return FALSE;
+ slot->quantity -= quantity;
+ if (slot->quantity == 0)
+ slot->id = ITEM_NONE;
+ PocketCompaction(slots, count);
+ return TRUE;
+}
+
+BOOL Bag_HasItem(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id)
+{
+ return Bag_GetItemSlotForRemove(bag, item_id, quantity, heap_id) != NULL;
+}
+
+BOOL Bag_PocketNotEmpty(struct Bag * bag, u32 pocket)
+{
+ struct ItemSlot * slots;
+ u32 count;
+ switch (pocket)
+ {
+ case POCKET_KEY_ITEMS:
+ slots = bag->keyItems;
+ count = NUM_BAG_KEY_ITEMS;
+ break;
+ case POCKET_ITEMS:
+ slots = bag->items;
+ count = NUM_BAG_ITEMS;
+ break;
+ case POCKET_BERRIES:
+ slots = bag->berries;
+ count = NUM_BAG_BERRIES;
+ break;
+ case POCKET_MEDICINE:
+ slots = bag->medicine;
+ count = NUM_BAG_MEDICINE;
+ break;
+ case POCKET_BALLS:
+ slots = bag->balls;
+ count = NUM_BAG_BALLS;
+ break;
+ case POCKET_BATTLE_ITEMS:
+ slots = bag->battleItems;
+ count = NUM_BAG_BATTLE_ITEMS;
+ break;
+ case POCKET_MAIL:
+ slots = bag->mail;
+ count = NUM_BAG_MAIL;
+ break;
+ case POCKET_TMHMS:
+ slots = bag->TMsHMs;
+ count = NUM_BAG_TMS_HMS;
+ break;
+ default:
+ return FALSE;
+ }
+ int i;
+ for (i = 0; i < count; i++)
+ {
+ if (slots[i].id != ITEM_NONE)
+ return TRUE;
+ }
+ return FALSE;
+}
+
+u16 Bag_GetQuantity(struct Bag * bag, u16 item_id, u32 heap_id)
+{
+ struct ItemSlot * slot = Bag_GetItemSlotForRemove(bag, item_id, 1, heap_id);
+ if (slot == NULL)
+ return 0;
+ return slot->quantity;
+}
+
+u16 Pocket_GetQuantity(struct ItemSlot * slots, u32 count, u16 item_id)
+{
+ struct ItemSlot * slot = Pocket_GetItemSlotForRemove(slots, count, item_id, 1);
+ if (slot == NULL)
+ return 0;
+ return slot->quantity;
+}
+
+void SwapItemSlots(struct ItemSlot * a, struct ItemSlot * b)
+{
+ struct ItemSlot tmp;
+
+ tmp = *a;
+ *a = *b;
+ *b = tmp;
+}
+
+void PocketCompaction(struct ItemSlot * slots, u32 count)
+{
+ int i, j;
+ for (i = 0; i < count - 1; i++)
+ {
+ for (j = i + 1; j < count; j++)
+ {
+ if (slots[i].quantity == 0)
+ {
+ SwapItemSlots(&slots[i], &slots[j]);
+ }
+ }
+ }
+}
+
+void SortPocket(struct ItemSlot * slots, u32 count)
+{
+ int i, j;
+ for (i = 0; i < count - 1; i++)
+ {
+ for (j = i + 1; j < count; j++)
+ {
+ if (slots[i].quantity == 0 || (slots[j].quantity != 0 && slots[i].id > slots[j].id))
+ {
+ SwapItemSlots(&slots[i], &slots[j]);
+ }
+ }
+ }
+}
+
+extern struct BagView * BagView_new(u8 heap_id);
+extern void BagView_setitem(struct BagView * view, struct ItemSlot * slot, u8 pocket, u8 idx);
+
+struct BagView * CreateBagView(struct Bag * bag, const u8 * pockets, u32 heap_id)
+{
+ struct BagView * view = BagView_new((u8)heap_id);
+ int i;
+ for (i = 0; pockets[i] != 0xFF; i++)
+ {
+ switch (pockets[i])
+ {
+ case POCKET_KEY_ITEMS:
+ BagView_setitem(view, bag->keyItems, POCKET_KEY_ITEMS, (u8)i);
+ break;
+ case POCKET_ITEMS:
+ BagView_setitem(view, bag->items, POCKET_ITEMS, (u8)i);
+ break;
+ case POCKET_BERRIES:
+ BagView_setitem(view, bag->berries, POCKET_BERRIES, (u8)i);
+ break;
+ case POCKET_MEDICINE:
+ BagView_setitem(view, bag->medicine, POCKET_MEDICINE, (u8)i);
+ break;
+ case POCKET_BALLS:
+ BagView_setitem(view, bag->balls, POCKET_BALLS, (u8)i);
+ break;
+ case POCKET_BATTLE_ITEMS:
+ BagView_setitem(view, bag->battleItems, POCKET_BATTLE_ITEMS, (u8)i);
+ break;
+ case POCKET_MAIL:
+ BagView_setitem(view, bag->mail, POCKET_MAIL, (u8)i);
+ break;
+ case POCKET_TMHMS:
+ BagView_setitem(view, bag->TMsHMs, POCKET_TMHMS, (u8)i);
+ break;
+ }
+ }
+ return view;
+}
+
+struct ItemSlot * Bag_GetPocketSlotN(struct Bag * bag, u32 pocket, u32 slot)
+{
+ struct ItemSlot * slots;
+ u32 count;
+ switch (pocket)
+ {
+ case POCKET_KEY_ITEMS:
+ slots = bag->keyItems;
+ count = NUM_BAG_KEY_ITEMS;
+ break;
+ case POCKET_ITEMS:
+ slots = bag->items;
+ count = NUM_BAG_ITEMS;
+ break;
+ case POCKET_BERRIES:
+ slots = bag->berries;
+ count = NUM_BAG_BERRIES;
+ break;
+ case POCKET_MEDICINE:
+ slots = bag->medicine;
+ count = NUM_BAG_MEDICINE;
+ break;
+ case POCKET_BALLS:
+ slots = bag->balls;
+ count = NUM_BAG_BALLS;
+ break;
+ case POCKET_BATTLE_ITEMS:
+ slots = bag->battleItems;
+ count = NUM_BAG_BATTLE_ITEMS;
+ break;
+ case POCKET_MAIL:
+ slots = bag->mail;
+ count = NUM_BAG_MAIL;
+ break;
+ case POCKET_TMHMS:
+ slots = bag->TMsHMs;
+ count = NUM_BAG_TMS_HMS;
+ break;
+ }
+ if (slot >= count)
+ return NULL;
+ return &slots[slot];
+}
+
+struct Bag * Sav2_Bag_get(struct SaveBlock2 * sav2)
+{
+ return (struct Bag *)SavArray_get(sav2, 3);
+}
+
+struct UnkStruct_0206F164 * FUN_0206F164(u32 heap_id)
+{
+ struct UnkStruct_0206F164 * ret = (struct UnkStruct_0206F164 *)AllocFromHeap(heap_id, sizeof(struct UnkStruct_0206F164));
+ MI_CpuClear16(ret, sizeof(struct UnkStruct_0206F164));
+ return ret;
+}
+
+void FUN_0206F17C(struct UnkStruct_0206F164 * a0, u32 a1, u8 * a2, u8 * a3)
+{
+ *a2 = a0->unk_08[a1];
+ *a3 = a0->unk_00[a1];
+}
+
+u16 FUN_0206F18C(struct UnkStruct_0206F164 * a0)
+{
+ return a0->unk_10;
+}
+
+void FUN_0206F190(struct UnkStruct_0206F164 * a0, u32 a1, u8 a2, u8 a3)
+{
+ a0->unk_08[a1] = a2;
+ a0->unk_00[a1] = a3;
+}
+
+void FUN_0206F19C(struct UnkStruct_0206F164 * a0, u16 a1)
+{
+ a0->unk_10 = a1;
+}
+
+void FUN_0206F1A0(struct UnkStruct_0206F164 * a0, u32 a1, u8 * a2, u8 * a3)
+{
+ *a2 = a0->unk_19[a1];
+ *a3 = a0->unk_14[a1];
+}
+
+u16 FUN_0206F1AC(struct UnkStruct_0206F164 * a0)
+{
+ return a0->unk_1e;
+}
+
+u16 FUN_0206F1B0(struct UnkStruct_0206F164 * a0)
+{
+ return a0->unk_20;
+}
+
+u16 FUN_0206F1B4(struct UnkStruct_0206F164 * a0)
+{
+ return a0->unk_22;
+}
+
+void FUN_0206F1B8(struct UnkStruct_0206F164 * a0, u32 a1, u8 a2, u8 a3)
+{
+ a0->unk_19[a1] = a2;
+ a0->unk_14[a1] = a3;
+}
+
+void FUN_0206F1C0(struct UnkStruct_0206F164 * a0)
+{
+ u32 i;
+ for (i = 0; i < 5; i++)
+ {
+ FUN_0206F1B8(a0, i, 0, 0);
+ }
+ FUN_0206F1EC(a0, 0);
+}
+
+void FUN_0206F1E4(struct UnkStruct_0206F164 * a0, u16 a1, u16 a2)
+{
+ a0->unk_1e = a1;
+ a0->unk_20 = a2;
+}
+
+void FUN_0206F1EC(struct UnkStruct_0206F164 * a0, u16 a1)
+{
+ a0->unk_22 = a1;
+}
diff --git a/arm9/src/main.c b/arm9/src/main.c
index 3de65c45..a81db33d 100644
--- a/arm9/src/main.c
+++ b/arm9/src/main.c
@@ -32,8 +32,8 @@ extern void FUN_02022294(void);
extern void FUN_0201259C(void);
extern void FUN_02002C14(void);
extern void FUN_02002C50(int, int);
-extern struct SaveBlock2 * FUN_0202254C(void);
-extern u32 FUN_02029EF8(struct SaveBlock2 *);
+extern struct SaveBlock2 * SaveBlock2_new(void);
+extern void * FUN_02029EF8(struct SaveBlock2 *);
extern void FUN_02020AFC(void);
extern int FUN_020337E8(int);
extern void FUN_02034188(int, int);
@@ -73,7 +73,7 @@ THUMB_FUNC void NitroMain(void)
FUN_02002C50(1, 3);
FUN_02002C50(3, 3);
gBacklightTop.unk18 = -1;
- gBacklightTop.unk20 = FUN_0202254C();
+ gBacklightTop.unk20 = SaveBlock2_new();
InitSoundData(FUN_02029EF8(gBacklightTop.unk20), Sav2_PlayerData_GetOptionsAddr(gBacklightTop.unk20));
FUN_02020AFC();
if (FUN_020337E8(3) == 3)
@@ -87,15 +87,17 @@ THUMB_FUNC void NitroMain(void)
switch (OS_GetResetParameter())
{
case 0:
+ // Title Demo
gBacklightTop.unk1C = 0;
FUN_02000E7C(FS_OVERLAY_ID(MODULE_63), &MOD63_021DBE18);
break;
case 1:
+ // Reset transition?
gBacklightTop.unk1C = 1;
FUN_02000E7C(FS_OVERLAY_ID(MODULE_52), &MOD52_021D76C8);
break;
default:
- ErrorHandling();
+ GF_ASSERT(0);
break;
}
}
@@ -108,7 +110,7 @@ THUMB_FUNC void NitroMain(void)
for (;;)
{
FUN_02000EE8();
- FUN_02000FE8();
+ HandleDSLidAction();
FUN_02016464();
if ((gMain.unk38 & SOFT_RESET_KEY) == SOFT_RESET_KEY && !gUnk021C4918.unk8) // soft reset?
{
@@ -215,7 +217,7 @@ THUMB_FUNC void FUN_02000EE8(void)
}
}
-extern void FUN_0200E3A0(int, int);
+extern void FUN_0200E3A0(PMLCDTarget, int);
extern BOOL FUN_02032DAC(void);
extern void FUN_020225F8(void);
extern void FUN_0202287C(void);
@@ -223,8 +225,8 @@ extern void FUN_0202287C(void);
// No Return
THUMB_FUNC void DoSoftReset(u32 parameter)
{
- FUN_0200E3A0(0, 0x7FFF);
- FUN_0200E3A0(1, 0x7FFF);
+ FUN_0200E3A0(PM_LCD_TOP, 0x7FFF);
+ FUN_0200E3A0(PM_LCD_BOTTOM, 0x7FFF);
if (FUN_02032DAC())
{
FUN_020225F8();
@@ -232,7 +234,7 @@ THUMB_FUNC void DoSoftReset(u32 parameter)
}
do
{
- FUN_02000FE8();
+ HandleDSLidAction();
FUN_02000EC8(parameter);
} while (1);
}
@@ -256,7 +258,7 @@ THUMB_FUNC void FUN_02000F4C(u32 arg0, u32 arg1)
FUN_02032DAC();
while (1)
{
- FUN_02000FE8();
+ HandleDSLidAction();
FUN_02016464();
if (gMain.unk48 & 1)
break;
@@ -285,7 +287,7 @@ THUMB_FUNC void InitializeMainRNG(void)
extern void FUN_0201CE04(void);
extern void FUN_0201CDD0(void);
-THUMB_FUNC void FUN_02000FE8(void)
+THUMB_FUNC void HandleDSLidAction(void)
{
PMBackLightSwitch top, bottom;
if (PAD_DetectFold())
diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c
index 05df8811..dbf86d8a 100644
--- a/arm9/src/pokemon.c
+++ b/arm9/src/pokemon.c
@@ -32,7 +32,7 @@ u8 CalcShininessByOtIdAndPersonality(u32 otid, u32 pid);
void InitBoxMonMoveset(struct BoxPokemon * boxmon);
u32 FUN_020696A8(struct BoxPokemon * boxmon, u16 move);
void FUN_02069718(struct BoxPokemon * boxmon, u16 move);
-void FUN_020697D4(struct BoxPokemon * boxmon, u16 move, u8 slot);
+void BoxMonSetMoveInSlot(struct BoxPokemon * boxmon, u16 move, u8 slot);
void FUN_020698E8(struct BoxPokemon * boxmon, int slot1, int slot2);
s8 FUN_02069BD0(struct BoxPokemon * boxmon, int flavor);
s8 FUN_02069BE4(u32 personality, int flavor);
@@ -2825,7 +2825,7 @@ u32 FUN_020696A8(struct BoxPokemon * boxmon, u16 move)
cur_move = (u16)GetBoxMonData(boxmon, MON_DATA_MOVE1 + i, NULL);
if (cur_move == MOVE_NONE)
{
- FUN_020697D4(boxmon, move, (u8)i);
+ BoxMonSetMoveInSlot(boxmon, move, (u8)i);
ret = move;
break;
}
@@ -2873,12 +2873,12 @@ void FUN_02069718(struct BoxPokemon * boxmon, u16 move)
ReleaseBoxMonLock(boxmon, decry);
}
-void FUN_020697CC(struct Pokemon * pokemon, u16 move, u8 slot)
+void MonSetMoveInSlot(struct Pokemon * pokemon, u16 move, u8 slot)
{
- FUN_020697D4(&pokemon->box, move, slot);
+ BoxMonSetMoveInSlot(&pokemon->box, move, slot);
}
-void FUN_020697D4(struct BoxPokemon * boxmon, u16 move, u8 slot)
+void BoxMonSetMoveInSlot(struct BoxPokemon * boxmon, u16 move, u8 slot)
{
u8 ppUp;
u8 pp;
diff --git a/arm9/src/sound.c b/arm9/src/sound.c
index d971872f..dd928287 100644
--- a/arm9/src/sound.c
+++ b/arm9/src/sound.c
@@ -25,7 +25,7 @@ extern void FUN_0200538C(int, int, int);
extern BOOL FUN_02005404(void);
extern void FUN_02005CFC(void);
-void InitSoundData(u32 a0, struct Options * a1)
+void InitSoundData(void * a0, struct Options * a1)
{
struct SoundData * sdat = GetSoundDataPointer();
SDAT_Init();
diff --git a/include/bag.h b/include/bag.h
new file mode 100644
index 00000000..14735443
--- /dev/null
+++ b/include/bag.h
@@ -0,0 +1,79 @@
+#ifndef POKEDIAMOND_BAG_H
+#define POKEDIAMOND_BAG_H
+
+#include "itemtool.h"
+#include "save_block_2.h"
+
+struct Bag
+{
+ struct ItemSlot items[NUM_BAG_ITEMS];
+ struct ItemSlot keyItems[NUM_BAG_KEY_ITEMS];
+ struct ItemSlot TMsHMs[NUM_BAG_TMS_HMS];
+ struct ItemSlot mail[NUM_BAG_MAIL];
+ struct ItemSlot medicine[NUM_BAG_MEDICINE];
+ struct ItemSlot berries[NUM_BAG_BERRIES];
+ struct ItemSlot balls[NUM_BAG_BALLS];
+ struct ItemSlot battleItems[NUM_BAG_BATTLE_ITEMS];
+ u32 registeredItem;
+};
+
+struct BagView
+{
+ struct ItemSlot * slots;
+ u32 count;
+ u8 pocket;
+};
+
+struct UnkStruct_0206F164
+{
+ u8 unk_00[8];
+ u8 unk_08[8];
+ u16 unk_10;
+ u8 filler_12[2];
+ u8 unk_14[5];
+ u8 unk_19[5];
+ u16 unk_1e;
+ u16 unk_20;
+ u16 unk_22;
+};
+
+u32 Sav2_Bag_sizeof(void);
+struct Bag * Sav2_Bag_new(u32 heap_id);
+void Sav2_Bag_init(struct Bag * bag);
+void Sav2_Bag_copy(const struct Bag * src, struct Bag * dest);
+u32 Bag_GetRegisteredItem(struct Bag * bag);
+void Bag_SetRegisteredItem(struct Bag * bag, u32 item);
+u32 Bag_GetItemPocket(struct Bag * bag, u16 item_id, struct ItemSlot ** slot_p, u32 * count_p, u32 heap_id);
+struct ItemSlot * Pocket_GetItemSlotForAdd(struct ItemSlot * slots, u32 count, u16 item_id, u16 quantity, u16 maxquantity);
+struct ItemSlot * Bag_GetItemSlotForAdd(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id);
+BOOL Bag_HasSpaceForItem(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id);
+BOOL Bag_AddItem(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id);
+struct ItemSlot * Pocket_GetItemSlotForRemove(struct ItemSlot * slots, u32 count, u16 item_id, u16 quantity);
+struct ItemSlot * Bag_GetItemSlotForRemove(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id);
+BOOL Bag_TakeItem(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id);
+BOOL Pocket_TakeItem(struct ItemSlot * slots, u32 count, u16 item_id, u16 quantity);
+BOOL Bag_HasItem(struct Bag * bag, u16 item_id, u16 quantity, u32 heap_id);
+BOOL Bag_PocketNotEmpty(struct Bag * bag, u32 pocket);
+u16 Bag_GetQuantity(struct Bag * bag, u16 item_id, u32 heap_id);
+u16 Pocket_GetQuantity(struct ItemSlot * slots, u32 count, u16 item_id);
+void SwapItemSlots(struct ItemSlot * a, struct ItemSlot * b);
+void PocketCompaction(struct ItemSlot * slots, u32 count);
+void SortPocket(struct ItemSlot * slots, u32 count);
+struct BagView * CreateBagView(struct Bag * bag, const u8 * pockets, u32 heap_id);
+struct ItemSlot * Bag_GetPocketSlotN(struct Bag * bag, u32 pocket, u32 slot);
+struct Bag * Sav2_Bag_get(struct SaveBlock2 * sav2);
+struct UnkStruct_0206F164 * FUN_0206F164(u32 heap_id);
+void FUN_0206F17C(struct UnkStruct_0206F164 * a0, u32 a1, u8 * a2, u8 * a3);
+u16 FUN_0206F18C(struct UnkStruct_0206F164 * a0);
+void FUN_0206F190(struct UnkStruct_0206F164 * a0, u32 a1, u8 a2, u8 a3);
+void FUN_0206F19C(struct UnkStruct_0206F164 * a0, u16 a1);
+void FUN_0206F1A0(struct UnkStruct_0206F164 * a0, u32 a1, u8 * a2, u8 * a3);
+u16 FUN_0206F1AC(struct UnkStruct_0206F164 * a0);
+u16 FUN_0206F1B0(struct UnkStruct_0206F164 * a0);
+u16 FUN_0206F1B4(struct UnkStruct_0206F164 * a0);
+void FUN_0206F1B8(struct UnkStruct_0206F164 * a0, u32 a1, u8 a2, u8 a3);
+void FUN_0206F1C0(struct UnkStruct_0206F164 * a0);
+void FUN_0206F1E4(struct UnkStruct_0206F164 * a0, u16 a1, u16 a2);
+void FUN_0206F1EC(struct UnkStruct_0206F164 * a0, u16 a1);
+
+#endif //POKEDIAMOND_BAG_H
diff --git a/include/constants/items.h b/include/constants/items.h
index 5fb58947..f1649cf3 100644
--- a/include/constants/items.h
+++ b/include/constants/items.h
@@ -10,6 +10,15 @@
#define POCKET_BATTLE_ITEMS 6
#define POCKET_KEY_ITEMS 7
+#define NUM_BAG_ITEMS 165
+#define NUM_BAG_KEY_ITEMS 50
+#define NUM_BAG_TMS_HMS 100
+#define NUM_BAG_MAIL 12
+#define NUM_BAG_MEDICINE 40
+#define NUM_BAG_BERRIES 64
+#define NUM_BAG_BALLS 15
+#define NUM_BAG_BATTLE_ITEMS 30
+
#define HOLD_EFFECT_NONE 0
#define HOLD_EFFECT_HP_RESTORE 1
#define HOLD_EFFECT_DIALGA_BOOST 2
diff --git a/include/main.h b/include/main.h
index b61e68b9..a01f06ce 100644
--- a/include/main.h
+++ b/include/main.h
@@ -105,6 +105,6 @@ void FUN_02000EE8(void);
void DoSoftReset(u32 parameter);
void FUN_02000F4C(u32 arg0, u32 arg1);
void InitializeMainRNG(void);
-void FUN_02000FE8(void);
+void HandleDSLidAction(void);
#endif //GUARD_MAIN_H
diff --git a/include/pokemon.h b/include/pokemon.h
index 1ab3c401..d3be0c34 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -273,7 +273,7 @@ BOOL FUN_020690E8(struct Pokemon * pokemon);
u32 FUN_02069698(struct Pokemon * pokemon, u16 move);
void FUN_02069708(struct Pokemon * pokemon, u16 move);
void FUN_02069718(struct BoxPokemon * boxmon, u16 move);
-void FUN_020697CC(struct Pokemon * pokemon, u16 move, u8 slot);
+void MonSetMoveInSlot(struct Pokemon * pokemon, u16 move, u8 slot);
u32 FUN_02069818(struct Pokemon * pokemon, u32 * r5, u16 * sp0);
void FUN_020698E0(struct Pokemon * pokemon, int slot1, int slot2);
void FUN_020698E8(struct BoxPokemon * boxmon, int slot1, int slot2);
diff --git a/include/save_block_2.h b/include/save_block_2.h
index fe052b1d..5257b11d 100644
--- a/include/save_block_2.h
+++ b/include/save_block_2.h
@@ -13,31 +13,37 @@ struct SavArrayHeader
u16 field_E;
};
+struct SavArrayFooter
+{
+ u32 magic;
+ u32 next;
+ u32 size;
+ u16 id;
+ u16 crc;
+};
+
struct SaveBlock2_Sub_20464 {
- u8 unk_0;
- u8 padding[3];
- int unk_4;
- int unk_8;
- u8 unk_C;
- u8 unk_D;
- u8 unk_E;
- u8 padding2;
+ u32 unk_0;
+ u32 offset;
+ u32 size;
};
struct SaveBlock2
{
- /* 0x00000 */ int unk_00000;
+ /* 0x00000 */ int flashType;
/* 0x00004 */ int unk_00004;
/* 0x00008 */ int unk_00008;
/* 0x0000C */ int unk_0000C;
/* 0x00010 */ int unk_00010;
- /* 0x00014 */ struct MATHCRC16Table unk_00014;
+ /* 0x00014 */ struct MATHCRC16Table crcTable;
/* 0x00214 */ u8 dynamic_region[0x20000];
/* 0x20214 */ int unk_20214;
/* 0x20218 */ u8 unk_20218[8];
- /* 0x20220 */ int unk_20220;
+ /* 0x20220 */ u8 unk_20220[2];
+ /* 0x20222 */ u8 filler_20222[2];
/* 0x20224 */ struct SavArrayHeader arrayHeaders[36];
- /* 0x20464 */ struct SaveBlock2_Sub_20464 unk_20464[4];
+ /* 0x20464 */ struct SaveBlock2_Sub_20464 saveSlotSpecs[2];
+ /* 0x2047C */ u8 filler_2047C[0x28];
/* 0x204A4 */ int unk_204A4;
// TODO: finish this struct
}; // size: 0x204A8
diff --git a/include/sound.h b/include/sound.h
index 6e78bfa4..9cec824d 100644
--- a/include/sound.h
+++ b/include/sound.h
@@ -42,7 +42,7 @@ struct SoundData
u32 unk_BCD3C;
u64 unk_BCD40;
u32 unk_BCD48;
- u32 unk_BCD4C;
+ void * unk_BCD4C;
u32 unk_BCD50;
u32 unk_BCD54;
u32 unk_BCD58;
@@ -50,7 +50,7 @@ struct SoundData
};
struct SoundData * GetSoundDataPointer(void);
-void InitSoundData(u32 a0, struct Options * a1);
+void InitSoundData(void * a0, struct Options * a1);
void * FUN_02003D38(u32 a0);
int FUN_02003F3C(int * a0);
void FUN_02003F64(int a0);