diff options
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); |