diff options
author | red031000 <rubenru09@aol.com> | 2020-12-27 22:20:15 +0000 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-12-27 22:20:15 +0000 |
commit | 66c84ded7ac7a706934ba9e0fdbe986c450858af (patch) | |
tree | 9304ac604786ad370373e65f9538d157cbf2f294 /arm9 | |
parent | 2d7c631f635359cbf82d22ecb50882300f67bfb5 (diff) |
some more mod 5
Diffstat (limited to 'arm9')
-rw-r--r-- | arm9/arm9.lsf | 2 | ||||
-rw-r--r-- | arm9/modules/05/asm/mod05_021E80F8.s | 303 | ||||
-rw-r--r-- | arm9/modules/05/asm/mod05_021E8310.s | 409 | ||||
-rw-r--r-- | arm9/modules/05/asm/module_05.s | 702 |
4 files changed, 714 insertions, 702 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 84d10f58..5468430a 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -558,6 +558,8 @@ Overlay MODULE_05 Object mod05_021E7504.o Object mod05_021E779C.o Object mod05_021E7C00.o + Object mod05_021E80F8.o + Object mod05_021E8310.o Object module_05.o } diff --git a/arm9/modules/05/asm/mod05_021E80F8.s b/arm9/modules/05/asm/mod05_021E80F8.s new file mode 100644 index 00000000..82fd7a02 --- /dev/null +++ b/arm9/modules/05/asm/mod05_021E80F8.s @@ -0,0 +1,303 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD05_021E80F8 +MOD05_021E80F8: ; 0x021E80F8 + push {r3, lr} + mov r1, #0x14 + bl AllocFromHeap + add r3, r0, #0 + mov r2, #0x14 + mov r1, #0 +_021E8106: + strb r1, [r3] + add r3, r3, #1 + sub r2, r2, #1 + bne _021E8106 + pop {r3, pc} + + thumb_func_start MOD05_021E8110 +MOD05_021E8110: ; 0x021E8110 + push {r4, lr} + add r4, r0, #0 + ldrb r1, [r4, #0x13] + lsl r1, r1, #0x18 + lsr r1, r1, #0x1f + beq _021E8120 + bl FUN_02019178 +_021E8120: + add r0, r4, #0 + bl FreeToHeap + pop {r4, pc} + + thumb_func_start MOD05_021E8128 +MOD05_021E8128: ; 0x021E8128 + strb r1, [r0, #0x12] + strh r2, [r0, #0x10] + bx lr + .balign 4, 0 + + thumb_func_start MOD05_021E8130 +MOD05_021E8130: ; 0x021E8130 + ldrb r3, [r0, #0x13] + mov r2, #0x7f + bic r3, r2 + mov r2, #0x7f + and r1, r2 + orr r1, r3 + strb r1, [r0, #0x13] + bx lr + + thumb_func_start MOD05_021E8140 +MOD05_021E8140: ; 0x021E8140 + bx lr + .balign 4, 0 + + thumb_func_start MOD05_021E8144 +MOD05_021E8144: ; 0x021E8144 + ldrb r0, [r0, #0x12] + bx lr + + thumb_func_start MOD05_021E8148 +MOD05_021E8148: ; 0x021E8148 + ldrb r0, [r0, #0x13] + lsl r0, r0, #0x19 + lsr r0, r0, #0x19 + bne _021E8154 + mov r0, #1 + bx lr +_021E8154: + mov r0, #0 + bx lr + + thumb_func_start MOD05_021E8158 +MOD05_021E8158: ; 0x021E8158 + push {r4, lr} + ldr r4, [r0, #0x60] + ldrb r1, [r4, #0x13] + lsl r1, r1, #0x19 + lsr r1, r1, #0x19 + cmp r1, #4 + bhi _021E81BA + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_021E8172: ; jump table + .short _021E81BA - _021E8172 - 2 ; case 0 + .short _021E817C - _021E8172 - 2 ; case 1 + .short _021E818A - _021E8172 - 2 ; case 2 + .short _021E819C - _021E8172 - 2 ; case 3 + .short _021E81AE - _021E8172 - 2 ; case 4 +_021E817C: + bl MOD05_021E81D0 + ldrb r1, [r4, #0x13] + mov r0, #0x7f + bic r1, r0 + strb r1, [r4, #0x13] + pop {r4, pc} +_021E818A: + bl MOD05_021E82A0 + cmp r0, #1 + bne _021E81BA + ldrb r1, [r4, #0x13] + mov r0, #0x7f + bic r1, r0 + strb r1, [r4, #0x13] + pop {r4, pc} +_021E819C: + bl MOD05_021E8260 + cmp r0, #1 + bne _021E81BA + ldrb r1, [r4, #0x13] + mov r0, #0x7f + bic r1, r0 + strb r1, [r4, #0x13] + pop {r4, pc} +_021E81AE: + bl MOD05_021E820C + ldrb r1, [r4, #0x13] + mov r0, #0x7f + bic r1, r0 + strb r1, [r4, #0x13] +_021E81BA: + pop {r4, pc} + + thumb_func_start MOD05_021E81BC +MOD05_021E81BC: ; 0x021E81BC + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x60] + bl MOD05_021E8130 + add r0, r4, #0 + bl MOD05_021E8158 + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E81D0 +MOD05_021E81D0: ; 0x021E81D0 + push {r4, lr} + mov r1, #3 + add r4, r0, #0 + add r3, r1, #0 + ldr r0, [r4, #8] + add r2, r1, #0 + sub r3, #0x33 + bl FUN_020179E0 + ldr r1, [r4, #0x60] + ldrb r0, [r1, #0x13] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bne _021E8200 + ldrb r2, [r1, #0x12] + ldr r0, [r4, #8] + mov r3, #3 + bl FUN_020546E0 + ldr r2, [r4, #0x60] + mov r0, #0x80 + ldrb r1, [r2, #0x13] + orr r0, r1 + strb r0, [r2, #0x13] +_021E8200: + ldr r0, [r4, #0x60] + ldrb r1, [r0, #0x12] + ldrh r2, [r0, #0x10] + bl FUN_02054744 + pop {r4, pc} + + thumb_func_start MOD05_021E820C +MOD05_021E820C: ; 0x021E820C + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0 + ldr r0, [r4, #0x60] + ldrb r1, [r0, #0x13] + lsl r1, r1, #0x18 + lsr r1, r1, #0x1f + beq _021E825A + bl FUN_02019178 + mov r0, #0x12 + str r0, [sp] + mov r0, #0x20 + str r0, [sp, #4] + mov r0, #6 + str r0, [sp, #8] + mov r0, #0x10 + str r0, [sp, #0xc] + mov r2, #0 + ldr r0, [r4, #8] + mov r1, #3 + add r3, r2, #0 + bl FUN_02018540 + ldr r0, [r4, #8] + mov r1, #3 + bl FUN_02017CD0 + mov r1, #3 + ldr r0, [r4, #8] + add r2, r1, #0 + mov r3, #0 + bl FUN_020179E0 + ldr r2, [r4, #0x60] + mov r0, #0x80 + ldrb r1, [r2, #0x13] + bic r1, r0 + strb r1, [r2, #0x13] +_021E825A: + add sp, #0x10 + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E8260 +MOD05_021E8260: ; 0x021E8260 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #8] + mov r1, #3 + bl FUN_02017B54 + cmp r0, #0 + bne _021E8274 + mov r0, #1 + pop {r4, pc} +_021E8274: + mov r1, #0x2f + mvn r1, r1 + cmp r0, r1 + ble _021E8280 + cmp r0, #0 + blt _021E828E +_021E8280: + mov r1, #3 + add r3, r1, #0 + ldr r0, [r4, #8] + add r2, r1, #0 + sub r3, #0x33 + bl FUN_020179E0 +_021E828E: + ldr r0, [r4, #8] + mov r1, #3 + mov r2, #4 + mov r3, #0x10 + bl FUN_020179E0 + mov r0, #0 + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E82A0 +MOD05_021E82A0: ; 0x021E82A0 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0 + ldr r0, [r4, #8] + mov r1, #3 + bl FUN_02017B54 + mov r1, #0x2f + mvn r1, r1 + cmp r0, r1 + bne _021E82EC + mov r0, #0x12 + str r0, [sp] + mov r0, #0x20 + str r0, [sp, #4] + mov r0, #6 + str r0, [sp, #8] + mov r0, #0x10 + str r0, [sp, #0xc] + mov r2, #0 + ldr r0, [r4, #8] + mov r1, #3 + add r3, r2, #0 + bl FUN_02018540 + ldr r0, [r4, #8] + mov r1, #3 + bl FUN_02017CD0 + mov r1, #3 + ldr r0, [r4, #8] + add r2, r1, #0 + mov r3, #0 + bl FUN_020179E0 + add sp, #0x10 + mov r0, #1 + pop {r4, pc} +_021E82EC: + ble _021E82F2 + cmp r0, #0 + blt _021E82FE +_021E82F2: + mov r1, #3 + ldr r0, [r4, #8] + add r2, r1, #0 + mov r3, #0 + bl FUN_020179E0 +_021E82FE: + ldr r0, [r4, #8] + mov r1, #3 + mov r2, #5 + mov r3, #0x10 + bl FUN_020179E0 + mov r0, #0 + add sp, #0x10 + pop {r4, pc} diff --git a/arm9/modules/05/asm/mod05_021E8310.s b/arm9/modules/05/asm/mod05_021E8310.s new file mode 100644 index 00000000..e3a28a97 --- /dev/null +++ b/arm9/modules/05/asm/mod05_021E8310.s @@ -0,0 +1,409 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD05_021E8310 +MOD05_021E8310: ; 0x021E8310 + push {r3, r4, r5, r6, r7, lr} + ldr r4, [r1, #0xc] + add r5, r0, #0 + add r0, r4, #0 + bl FUN_02034E30 + bl FUN_02034DC0 + add r6, r0, #0 + add r0, r4, #0 + bl Sav2_Pokedex_get + add r7, r0, #0 + ldr r0, [r6] + bl FUN_02034824 + str r0, [r5, #4] + add r0, r7, #0 + bl Pokedex_GetSinnohDexFlag + cmp r0, #0 + beq _021E8344 + add r0, r7, #0 + bl Pokedex_CountSeenMons + b _021E8346 +_021E8344: + mov r0, #0 +_021E8346: + str r0, [r5] + add r0, r4, #0 + bl Sav2_PlayerData_GetProfileAddr + str r0, [r5, #8] + add r0, r4, #0 + bl Sav2_PlayerData_GetIGTAddr + str r0, [r5, #0xc] + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E835C +MOD05_021E835C: ; 0x021E835C + push {r3, r4, r5, lr} + sub sp, #8 + add r4, r1, #0 + ldr r2, [r4, #4] + mov r1, #0 + add r5, r0, #0 + bl BufferLandmarkName + ldr r2, [r4, #8] + add r0, r5, #0 + mov r1, #1 + bl BufferPlayersName + ldr r0, [r4, #8] + bl PlayerProfile_CountBadges + add r2, r0, #0 + mov r0, #0 + str r0, [sp] + mov r3, #1 + str r3, [sp, #4] + add r0, r5, #0 + mov r1, #2 + bl BufferIntegerAsString + ldr r2, [r4] + cmp r2, #0x64 + blt _021E839A + mov r3, #3 + mov r0, #0 + b _021E83A8 +_021E839A: + cmp r2, #0xa + blt _021E83A4 + mov r3, #3 + mov r0, #1 + b _021E83A8 +_021E83A4: + mov r3, #2 + mov r0, #1 +_021E83A8: + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + add r0, r5, #0 + mov r1, #3 + bl BufferIntegerAsString + ldr r0, [r4, #0xc] + bl GetIGTHours + add r2, r0, #0 + cmp r2, #0x64 + blt _021E83C8 + mov r3, #3 + mov r0, #0 + b _021E83D6 +_021E83C8: + cmp r2, #0xa + blt _021E83D2 + mov r3, #3 + mov r0, #1 + b _021E83D6 +_021E83D2: + mov r3, #2 + mov r0, #1 +_021E83D6: + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + add r0, r5, #0 + mov r1, #4 + bl BufferIntegerAsString + ldr r0, [r4, #0xc] + bl GetIGTMinutes + mov r3, #2 + add r2, r0, #0 + str r3, [sp] + mov r0, #1 + str r0, [sp, #4] + add r0, r5, #0 + mov r1, #5 + bl BufferIntegerAsString + add sp, #8 + pop {r3, r4, r5, pc} + + thumb_func_start MOD05_021E8400 +MOD05_021E8400: ; 0x021E8400 + ldr r0, [r0] + cmp r0, #0 + beq _021E840A + mov r0, #0xa + bx lr +_021E840A: + mov r0, #8 + bx lr + .balign 4, 0 + + thumb_func_start MOD05_021E8410 +MOD05_021E8410: ; 0x021E8410 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x18 + add r5, r0, #0 + mov r0, #0 + mov r1, #1 + bl FUN_02002E4C + add r4, r0, #0 + mov r0, #0 + mov r1, #3 + bl FUN_02002E4C + add r0, r4, r0 + str r0, [sp, #0x14] + mov r4, #0 + ldr r0, [r5, #0x14] + ldr r1, [r5, #0x18] + ldr r3, [r5, #4] + add r2, r4, #0 + bl ReadMsgData_ExpandPlaceholders + add r1, r4, #0 + add r6, r0, #0 + str r1, [sp] + mov r0, #0xff + str r0, [sp, #4] + str r1, [sp, #8] + ldr r0, [r5, #0x10] + add r2, r6, #0 + add r3, r1, #0 + bl AddTextPrinterParameterized + add r0, r6, #0 + bl String_dtor + mov r0, #1 + str r0, [sp, #0x10] + ldr r0, _021E84EC ; =UNK05_021F78D4 + ldr r7, _021E84F0 ; =UNK05_021F78C4 + str r0, [sp, #0xc] +_021E8460: + ldr r0, [sp, #0xc] + ldr r1, [r0] + cmp r1, #3 + bne _021E846E + ldr r0, [r5, #0x1c] + cmp r0, #0 + beq _021E84D6 +_021E846E: + ldr r0, [sp, #0x14] + add r4, r4, r0 + ldr r0, [r5, #0x18] + bl NewString_ReadMsgData + add r6, r0, #0 + mov r1, #0 + str r4, [sp] + mov r0, #0xff + str r0, [sp, #4] + mov r0, #0 + str r0, [sp, #8] + ldr r0, [r5, #0x10] + add r2, r6, #0 + add r3, r1, #0 + bl AddTextPrinterParameterized + add r0, r6, #0 + bl String_dtor + sub r2, r7, #4 + ldr r0, [r5, #0x14] + ldr r1, [r5, #0x18] + ldr r2, [r2] + ldr r3, [r5, #4] + bl ReadMsgData_ExpandPlaceholders + add r6, r0, #0 + mov r0, #0 + mov r1, #2 + bl FUN_02002E4C + add r2, r0, #0 + mov r0, #0 + add r1, r6, #0 + bl FUN_02002E14 + mov r1, #0x68 + sub r3, r1, r0 + str r4, [sp] + mov r0, #0xff + str r0, [sp, #4] + mov r0, #0 + str r0, [sp, #8] + ldr r0, [r5, #0x10] + mov r1, #0 + add r2, r6, #0 + bl AddTextPrinterParameterized + add r0, r6, #0 + bl String_dtor +_021E84D6: + ldr r0, [sp, #0xc] + add r7, r7, #4 + add r0, r0, #4 + str r0, [sp, #0xc] + ldr r0, [sp, #0x10] + add r0, r0, #1 + str r0, [sp, #0x10] + cmp r0, #5 + blo _021E8460 + add sp, #0x18 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_021E84EC: .word UNK05_021F78D4 +_021E84F0: .word UNK05_021F78C4 + + thumb_func_start MOD05_021E84F4 +MOD05_021E84F4: ; 0x021E84F4 + push {r3, r4, lr} + sub sp, #0x14 + add r4, r0, #0 + ldr r0, [r4, #4] + mov r1, #0x10 + bl AllocFromHeap + str r0, [r4, #0x10] + mov r3, #1 + str r3, [sp] + ldr r0, [r4, #0x2c] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #4] + ldr r0, [r4, #0x30] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #8] + mov r0, #0xd + str r0, [sp, #0xc] + ldr r0, _021E8564 ; =0x0000027F + str r0, [sp, #0x10] + ldrb r2, [r4, #8] + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x10] + bl FUN_02019064 + mov r0, #0 + str r0, [sp] + ldr r0, [r4, #4] + ldr r2, _021E8568 ; =0x000003D9 + str r0, [sp, #4] + ldrb r1, [r4, #8] + ldr r0, [r4, #0xc] + mov r3, #0xb + bl FUN_0200CB00 + mov r0, #0 + mov r1, #6 + bl FUN_02002E4C + add r1, r0, #0 + ldr r0, [r4, #0x10] + bl FUN_02019620 + add r0, r4, #0 + bl MOD05_021E8410 + ldr r0, [r4, #0x10] + ldr r2, _021E8568 ; =0x000003D9 + mov r1, #0 + mov r3, #0xb + bl FUN_0200CCA4 + add sp, #0x14 + pop {r3, r4, pc} + .balign 4, 0 +_021E8564: .word 0x0000027F +_021E8568: .word 0x000003D9 + + thumb_func_start MOD05_021E856C +MOD05_021E856C: ; 0x021E856C + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x10] + mov r1, #0 + bl FUN_0200CCF8 + ldr r0, [r4, #0x10] + bl FUN_02019178 + ldr r0, [r4, #0x10] + bl FreeToHeap + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E8588 +MOD05_021E8588: ; 0x021E8588 + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r6, r0, #0 + add r0, r5, #0 + mov r1, #0x34 + add r7, r2, #0 + bl AllocFromHeap + add r4, r0, #0 + str r6, [r4] + str r5, [r4, #4] + strb r7, [r4, #8] + ldr r0, [r6, #8] + str r0, [r4, #0xc] + add r0, r5, #0 + bl ScrStrBufs_new + str r0, [r4, #0x14] + ldr r2, _021E85E0 ; =0x000001E3 + mov r0, #1 + mov r1, #0x1a + add r3, r5, #0 + bl NewMsgDataFromNarc + str r0, [r4, #0x18] + add r0, r4, #0 + ldr r1, [r4] + add r0, #0x1c + bl MOD05_021E8310 + add r1, r4, #0 + ldr r0, [r4, #0x14] + add r1, #0x1c + bl MOD05_021E835C + mov r0, #0xd + str r0, [r4, #0x2c] + add r0, r4, #0 + add r0, #0x1c + bl MOD05_021E8400 + str r0, [r4, #0x30] + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_021E85E0: .word 0x000001E3 + + thumb_func_start MOD05_021E85E4 +MOD05_021E85E4: ; 0x021E85E4 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x18] + bl DestroyMsgData + ldr r0, [r4, #0x14] + bl ScrStrBufs_delete + add r0, r4, #0 + bl FreeToHeap + pop {r4, pc} + + thumb_func_start MOD05_021E85FC +MOD05_021E85FC: ; 0x021E85FC + push {r4, lr} + add r4, r0, #0 + bl FUN_02034E48 + add r0, r4, #0 + mov r1, #4 + mov r2, #0 + bl MOD05_021EFA9C + ldr r0, [r4, #0x38] + bl FUN_02055320 + ldr r1, [r4, #0x1c] + str r0, [r1, #8] + ldr r0, [r4, #0x38] + bl FUN_0205532C + ldr r1, [r4, #0x1c] + str r0, [r1, #0xc] + mov r1, #0 + ldr r0, [r4, #0x1c] + mvn r1, r1 + str r1, [r0, #4] + ldr r0, [r4, #0x38] + bl FUN_020552F8 + ldr r1, [r4, #0x1c] + str r0, [r1, #0x10] + ldr r0, [r4, #0xc] + bl FUN_02022720 + cmp r0, #2 + bne _021E8642 + mov r0, #1 + pop {r4, pc} +_021E8642: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 + + .section .rodata + + .global UNK05_021F78C4 +UNK05_021F78C4: ; 0x021F78C4 + .word 0x00000006, 0x00000007, 0x00000008, 0x00000000 + + .global UNK05_021F78D4 +UNK05_021F78D4: ; 0x021F78D4 + .word 0x00000001, 0x00000002, 0x00000003, 0x00000004 diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index 96673023..597bd083 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -3,700 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD05_021E80F8 -MOD05_021E80F8: ; 0x021E80F8 - push {r3, lr} - mov r1, #0x14 - bl AllocFromHeap - add r3, r0, #0 - mov r2, #0x14 - mov r1, #0 -_021E8106: - strb r1, [r3] - add r3, r3, #1 - sub r2, r2, #1 - bne _021E8106 - pop {r3, pc} - - thumb_func_start MOD05_021E8110 -MOD05_021E8110: ; 0x021E8110 - push {r4, lr} - add r4, r0, #0 - ldrb r1, [r4, #0x13] - lsl r1, r1, #0x18 - lsr r1, r1, #0x1f - beq _021E8120 - bl FUN_02019178 -_021E8120: - add r0, r4, #0 - bl FreeToHeap - pop {r4, pc} - - thumb_func_start MOD05_021E8128 -MOD05_021E8128: ; 0x021E8128 - strb r1, [r0, #0x12] - strh r2, [r0, #0x10] - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021E8130 -MOD05_021E8130: ; 0x021E8130 - ldrb r3, [r0, #0x13] - mov r2, #0x7f - bic r3, r2 - mov r2, #0x7f - and r1, r2 - orr r1, r3 - strb r1, [r0, #0x13] - bx lr - - thumb_func_start MOD05_021E8140 -MOD05_021E8140: ; 0x021E8140 - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021E8144 -MOD05_021E8144: ; 0x021E8144 - ldrb r0, [r0, #0x12] - bx lr - - thumb_func_start MOD05_021E8148 -MOD05_021E8148: ; 0x021E8148 - ldrb r0, [r0, #0x13] - lsl r0, r0, #0x19 - lsr r0, r0, #0x19 - bne _021E8154 - mov r0, #1 - bx lr -_021E8154: - mov r0, #0 - bx lr - - thumb_func_start MOD05_021E8158 -MOD05_021E8158: ; 0x021E8158 - push {r4, lr} - ldr r4, [r0, #0x60] - ldrb r1, [r4, #0x13] - lsl r1, r1, #0x19 - lsr r1, r1, #0x19 - cmp r1, #4 - bhi _021E81BA - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021E8172: ; jump table - .short _021E81BA - _021E8172 - 2 ; case 0 - .short _021E817C - _021E8172 - 2 ; case 1 - .short _021E818A - _021E8172 - 2 ; case 2 - .short _021E819C - _021E8172 - 2 ; case 3 - .short _021E81AE - _021E8172 - 2 ; case 4 -_021E817C: - bl MOD05_021E81D0 - ldrb r1, [r4, #0x13] - mov r0, #0x7f - bic r1, r0 - strb r1, [r4, #0x13] - pop {r4, pc} -_021E818A: - bl MOD05_021E82A0 - cmp r0, #1 - bne _021E81BA - ldrb r1, [r4, #0x13] - mov r0, #0x7f - bic r1, r0 - strb r1, [r4, #0x13] - pop {r4, pc} -_021E819C: - bl MOD05_021E8260 - cmp r0, #1 - bne _021E81BA - ldrb r1, [r4, #0x13] - mov r0, #0x7f - bic r1, r0 - strb r1, [r4, #0x13] - pop {r4, pc} -_021E81AE: - bl MOD05_021E820C - ldrb r1, [r4, #0x13] - mov r0, #0x7f - bic r1, r0 - strb r1, [r4, #0x13] -_021E81BA: - pop {r4, pc} - - thumb_func_start MOD05_021E81BC -MOD05_021E81BC: ; 0x021E81BC - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x60] - bl MOD05_021E8130 - add r0, r4, #0 - bl MOD05_021E8158 - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E81D0 -MOD05_021E81D0: ; 0x021E81D0 - push {r4, lr} - mov r1, #3 - add r4, r0, #0 - add r3, r1, #0 - ldr r0, [r4, #8] - add r2, r1, #0 - sub r3, #0x33 - bl FUN_020179E0 - ldr r1, [r4, #0x60] - ldrb r0, [r1, #0x13] - lsl r0, r0, #0x18 - lsr r0, r0, #0x1f - bne _021E8200 - ldrb r2, [r1, #0x12] - ldr r0, [r4, #8] - mov r3, #3 - bl FUN_020546E0 - ldr r2, [r4, #0x60] - mov r0, #0x80 - ldrb r1, [r2, #0x13] - orr r0, r1 - strb r0, [r2, #0x13] -_021E8200: - ldr r0, [r4, #0x60] - ldrb r1, [r0, #0x12] - ldrh r2, [r0, #0x10] - bl FUN_02054744 - pop {r4, pc} - - thumb_func_start MOD05_021E820C -MOD05_021E820C: ; 0x021E820C - push {r4, lr} - sub sp, #0x10 - add r4, r0, #0 - ldr r0, [r4, #0x60] - ldrb r1, [r0, #0x13] - lsl r1, r1, #0x18 - lsr r1, r1, #0x1f - beq _021E825A - bl FUN_02019178 - mov r0, #0x12 - str r0, [sp] - mov r0, #0x20 - str r0, [sp, #4] - mov r0, #6 - str r0, [sp, #8] - mov r0, #0x10 - str r0, [sp, #0xc] - mov r2, #0 - ldr r0, [r4, #8] - mov r1, #3 - add r3, r2, #0 - bl FUN_02018540 - ldr r0, [r4, #8] - mov r1, #3 - bl FUN_02017CD0 - mov r1, #3 - ldr r0, [r4, #8] - add r2, r1, #0 - mov r3, #0 - bl FUN_020179E0 - ldr r2, [r4, #0x60] - mov r0, #0x80 - ldrb r1, [r2, #0x13] - bic r1, r0 - strb r1, [r2, #0x13] -_021E825A: - add sp, #0x10 - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E8260 -MOD05_021E8260: ; 0x021E8260 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #8] - mov r1, #3 - bl FUN_02017B54 - cmp r0, #0 - bne _021E8274 - mov r0, #1 - pop {r4, pc} -_021E8274: - mov r1, #0x2f - mvn r1, r1 - cmp r0, r1 - ble _021E8280 - cmp r0, #0 - blt _021E828E -_021E8280: - mov r1, #3 - add r3, r1, #0 - ldr r0, [r4, #8] - add r2, r1, #0 - sub r3, #0x33 - bl FUN_020179E0 -_021E828E: - ldr r0, [r4, #8] - mov r1, #3 - mov r2, #4 - mov r3, #0x10 - bl FUN_020179E0 - mov r0, #0 - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E82A0 -MOD05_021E82A0: ; 0x021E82A0 - push {r4, lr} - sub sp, #0x10 - add r4, r0, #0 - ldr r0, [r4, #8] - mov r1, #3 - bl FUN_02017B54 - mov r1, #0x2f - mvn r1, r1 - cmp r0, r1 - bne _021E82EC - mov r0, #0x12 - str r0, [sp] - mov r0, #0x20 - str r0, [sp, #4] - mov r0, #6 - str r0, [sp, #8] - mov r0, #0x10 - str r0, [sp, #0xc] - mov r2, #0 - ldr r0, [r4, #8] - mov r1, #3 - add r3, r2, #0 - bl FUN_02018540 - ldr r0, [r4, #8] - mov r1, #3 - bl FUN_02017CD0 - mov r1, #3 - ldr r0, [r4, #8] - add r2, r1, #0 - mov r3, #0 - bl FUN_020179E0 - add sp, #0x10 - mov r0, #1 - pop {r4, pc} -_021E82EC: - ble _021E82F2 - cmp r0, #0 - blt _021E82FE -_021E82F2: - mov r1, #3 - ldr r0, [r4, #8] - add r2, r1, #0 - mov r3, #0 - bl FUN_020179E0 -_021E82FE: - ldr r0, [r4, #8] - mov r1, #3 - mov r2, #5 - mov r3, #0x10 - bl FUN_020179E0 - mov r0, #0 - add sp, #0x10 - pop {r4, pc} - - thumb_func_start MOD05_021E8310 -MOD05_021E8310: ; 0x021E8310 - push {r3, r4, r5, r6, r7, lr} - ldr r4, [r1, #0xc] - add r5, r0, #0 - add r0, r4, #0 - bl FUN_02034E30 - bl FUN_02034DC0 - add r6, r0, #0 - add r0, r4, #0 - bl Sav2_Pokedex_get - add r7, r0, #0 - ldr r0, [r6] - bl FUN_02034824 - str r0, [r5, #4] - add r0, r7, #0 - bl Pokedex_GetSinnohDexFlag - cmp r0, #0 - beq _021E8344 - add r0, r7, #0 - bl Pokedex_CountSeenMons - b _021E8346 -_021E8344: - mov r0, #0 -_021E8346: - str r0, [r5] - add r0, r4, #0 - bl Sav2_PlayerData_GetProfileAddr - str r0, [r5, #8] - add r0, r4, #0 - bl Sav2_PlayerData_GetIGTAddr - str r0, [r5, #0xc] - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E835C -MOD05_021E835C: ; 0x021E835C - push {r3, r4, r5, lr} - sub sp, #8 - add r4, r1, #0 - ldr r2, [r4, #4] - mov r1, #0 - add r5, r0, #0 - bl BufferLandmarkName - ldr r2, [r4, #8] - add r0, r5, #0 - mov r1, #1 - bl BufferPlayersName - ldr r0, [r4, #8] - bl PlayerProfile_CountBadges - add r2, r0, #0 - mov r0, #0 - str r0, [sp] - mov r3, #1 - str r3, [sp, #4] - add r0, r5, #0 - mov r1, #2 - bl BufferIntegerAsString - ldr r2, [r4] - cmp r2, #0x64 - blt _021E839A - mov r3, #3 - mov r0, #0 - b _021E83A8 -_021E839A: - cmp r2, #0xa - blt _021E83A4 - mov r3, #3 - mov r0, #1 - b _021E83A8 -_021E83A4: - mov r3, #2 - mov r0, #1 -_021E83A8: - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - add r0, r5, #0 - mov r1, #3 - bl BufferIntegerAsString - ldr r0, [r4, #0xc] - bl GetIGTHours - add r2, r0, #0 - cmp r2, #0x64 - blt _021E83C8 - mov r3, #3 - mov r0, #0 - b _021E83D6 -_021E83C8: - cmp r2, #0xa - blt _021E83D2 - mov r3, #3 - mov r0, #1 - b _021E83D6 -_021E83D2: - mov r3, #2 - mov r0, #1 -_021E83D6: - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - add r0, r5, #0 - mov r1, #4 - bl BufferIntegerAsString - ldr r0, [r4, #0xc] - bl GetIGTMinutes - mov r3, #2 - add r2, r0, #0 - str r3, [sp] - mov r0, #1 - str r0, [sp, #4] - add r0, r5, #0 - mov r1, #5 - bl BufferIntegerAsString - add sp, #8 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021E8400 -MOD05_021E8400: ; 0x021E8400 - ldr r0, [r0] - cmp r0, #0 - beq _021E840A - mov r0, #0xa - bx lr -_021E840A: - mov r0, #8 - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021E8410 -MOD05_021E8410: ; 0x021E8410 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r5, r0, #0 - mov r0, #0 - mov r1, #1 - bl FUN_02002E4C - add r4, r0, #0 - mov r0, #0 - mov r1, #3 - bl FUN_02002E4C - add r0, r4, r0 - str r0, [sp, #0x14] - mov r4, #0 - ldr r0, [r5, #0x14] - ldr r1, [r5, #0x18] - ldr r3, [r5, #4] - add r2, r4, #0 - bl ReadMsgData_ExpandPlaceholders - add r1, r4, #0 - add r6, r0, #0 - str r1, [sp] - mov r0, #0xff - str r0, [sp, #4] - str r1, [sp, #8] - ldr r0, [r5, #0x10] - add r2, r6, #0 - add r3, r1, #0 - bl AddTextPrinterParameterized - add r0, r6, #0 - bl String_dtor - mov r0, #1 - str r0, [sp, #0x10] - ldr r0, _021E84EC ; =UNK05_021F78D4 - ldr r7, _021E84F0 ; =UNK05_021F78C4 - str r0, [sp, #0xc] -_021E8460: - ldr r0, [sp, #0xc] - ldr r1, [r0] - cmp r1, #3 - bne _021E846E - ldr r0, [r5, #0x1c] - cmp r0, #0 - beq _021E84D6 -_021E846E: - ldr r0, [sp, #0x14] - add r4, r4, r0 - ldr r0, [r5, #0x18] - bl NewString_ReadMsgData - add r6, r0, #0 - mov r1, #0 - str r4, [sp] - mov r0, #0xff - str r0, [sp, #4] - mov r0, #0 - str r0, [sp, #8] - ldr r0, [r5, #0x10] - add r2, r6, #0 - add r3, r1, #0 - bl AddTextPrinterParameterized - add r0, r6, #0 - bl String_dtor - sub r2, r7, #4 - ldr r0, [r5, #0x14] - ldr r1, [r5, #0x18] - ldr r2, [r2] - ldr r3, [r5, #4] - bl ReadMsgData_ExpandPlaceholders - add r6, r0, #0 - mov r0, #0 - mov r1, #2 - bl FUN_02002E4C - add r2, r0, #0 - mov r0, #0 - add r1, r6, #0 - bl FUN_02002E14 - mov r1, #0x68 - sub r3, r1, r0 - str r4, [sp] - mov r0, #0xff - str r0, [sp, #4] - mov r0, #0 - str r0, [sp, #8] - ldr r0, [r5, #0x10] - mov r1, #0 - add r2, r6, #0 - bl AddTextPrinterParameterized - add r0, r6, #0 - bl String_dtor -_021E84D6: - ldr r0, [sp, #0xc] - add r7, r7, #4 - add r0, r0, #4 - str r0, [sp, #0xc] - ldr r0, [sp, #0x10] - add r0, r0, #1 - str r0, [sp, #0x10] - cmp r0, #5 - blo _021E8460 - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021E84EC: .word UNK05_021F78D4 -_021E84F0: .word UNK05_021F78C4 - - thumb_func_start MOD05_021E84F4 -MOD05_021E84F4: ; 0x021E84F4 - push {r3, r4, lr} - sub sp, #0x14 - add r4, r0, #0 - ldr r0, [r4, #4] - mov r1, #0x10 - bl AllocFromHeap - str r0, [r4, #0x10] - mov r3, #1 - str r3, [sp] - ldr r0, [r4, #0x2c] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #4] - ldr r0, [r4, #0x30] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #8] - mov r0, #0xd - str r0, [sp, #0xc] - ldr r0, _021E8564 ; =0x0000027F - str r0, [sp, #0x10] - ldrb r2, [r4, #8] - ldr r0, [r4, #0xc] - ldr r1, [r4, #0x10] - bl FUN_02019064 - mov r0, #0 - str r0, [sp] - ldr r0, [r4, #4] - ldr r2, _021E8568 ; =0x000003D9 - str r0, [sp, #4] - ldrb r1, [r4, #8] - ldr r0, [r4, #0xc] - mov r3, #0xb - bl FUN_0200CB00 - mov r0, #0 - mov r1, #6 - bl FUN_02002E4C - add r1, r0, #0 - ldr r0, [r4, #0x10] - bl FUN_02019620 - add r0, r4, #0 - bl MOD05_021E8410 - ldr r0, [r4, #0x10] - ldr r2, _021E8568 ; =0x000003D9 - mov r1, #0 - mov r3, #0xb - bl FUN_0200CCA4 - add sp, #0x14 - pop {r3, r4, pc} - .balign 4, 0 -_021E8564: .word 0x0000027F -_021E8568: .word 0x000003D9 - - thumb_func_start MOD05_021E856C -MOD05_021E856C: ; 0x021E856C - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x10] - mov r1, #0 - bl FUN_0200CCF8 - ldr r0, [r4, #0x10] - bl FUN_02019178 - ldr r0, [r4, #0x10] - bl FreeToHeap - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E8588 -MOD05_021E8588: ; 0x021E8588 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r6, r0, #0 - add r0, r5, #0 - mov r1, #0x34 - add r7, r2, #0 - bl AllocFromHeap - add r4, r0, #0 - str r6, [r4] - str r5, [r4, #4] - strb r7, [r4, #8] - ldr r0, [r6, #8] - str r0, [r4, #0xc] - add r0, r5, #0 - bl ScrStrBufs_new - str r0, [r4, #0x14] - ldr r2, _021E85E0 ; =0x000001E3 - mov r0, #1 - mov r1, #0x1a - add r3, r5, #0 - bl NewMsgDataFromNarc - str r0, [r4, #0x18] - add r0, r4, #0 - ldr r1, [r4] - add r0, #0x1c - bl MOD05_021E8310 - add r1, r4, #0 - ldr r0, [r4, #0x14] - add r1, #0x1c - bl MOD05_021E835C - mov r0, #0xd - str r0, [r4, #0x2c] - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021E8400 - str r0, [r4, #0x30] - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021E85E0: .word 0x000001E3 - - thumb_func_start MOD05_021E85E4 -MOD05_021E85E4: ; 0x021E85E4 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x18] - bl DestroyMsgData - ldr r0, [r4, #0x14] - bl ScrStrBufs_delete - add r0, r4, #0 - bl FreeToHeap - pop {r4, pc} - - thumb_func_start MOD05_021E85FC -MOD05_021E85FC: ; 0x021E85FC - push {r4, lr} - add r4, r0, #0 - bl FUN_02034E48 - add r0, r4, #0 - mov r1, #4 - mov r2, #0 - bl MOD05_021EFA9C - ldr r0, [r4, #0x38] - bl FUN_02055320 - ldr r1, [r4, #0x1c] - str r0, [r1, #8] - ldr r0, [r4, #0x38] - bl FUN_0205532C - ldr r1, [r4, #0x1c] - str r0, [r1, #0xc] - mov r1, #0 - ldr r0, [r4, #0x1c] - mvn r1, r1 - str r1, [r0, #4] - ldr r0, [r4, #0x38] - bl FUN_020552F8 - ldr r1, [r4, #0x1c] - str r0, [r1, #0x10] - ldr r0, [r4, #0xc] - bl FUN_02022720 - cmp r0, #2 - bne _021E8642 - mov r0, #1 - pop {r4, pc} -_021E8642: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_start MOD05_021E8648 MOD05_021E8648: ; 0x021E8648 push {r4, r5, r6, lr} @@ -29232,14 +28538,6 @@ _021F6428: .word MOD05_021F57F0 .section .rodata - .global UNK05_021F78C4 -UNK05_021F78C4: ; 0x021F78C4 - .byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global UNK05_021F78D4 -UNK05_021F78D4: ; 0x021F78D4 - .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 - .global UNK05_021F78E4 UNK05_021F78E4: ; 0x021F78E4 .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |