diff options
author | red031000 <rubenru09@aol.com> | 2020-08-18 00:08:44 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-08-18 00:09:26 +0100 |
commit | 9ba79f3dc0ba6a2b205eb9cbf1a3ddcd16ba533e (patch) | |
tree | 8effb6db2265effb56558dd52521d34affb68797 | |
parent | 133a7967098a49cebc68c395df88d87485328175 (diff) |
split mod05_021E2B80 and mod05_021E2E88
-rw-r--r-- | arm9/arm9.lsf | 2 | ||||
-rw-r--r-- | arm9/modules/05/asm/mod05_021E2B80.s | 392 | ||||
-rw-r--r-- | arm9/modules/05/asm/mod05_021E2E88.s | 627 | ||||
-rw-r--r-- | arm9/modules/05/asm/module_05.s | 1010 |
4 files changed, 1021 insertions, 1010 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 297c54fe..3a2abe15 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -532,6 +532,8 @@ Overlay MODULE_05 Object mod05_021DC0B8.o Object mod05_021E1374.o Object mod05_021E1AD8.o + Object mod05_021E2B80.o + Object mod05_021E2E88.o Object module_05.o } diff --git a/arm9/modules/05/asm/mod05_021E2B80.s b/arm9/modules/05/asm/mod05_021E2B80.s new file mode 100644 index 00000000..86414448 --- /dev/null +++ b/arm9/modules/05/asm/mod05_021E2B80.s @@ -0,0 +1,392 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD05_021E2B80 +MOD05_021E2B80: ; 0x021E2B80 + add r2, r0, #0 + add r2, #0x97 + ldrb r3, [r2] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + mov r2, #0x40 + lsl r1, r1, #0x1f + bic r3, r2 + lsr r1, r1, #0x19 + orr r1, r3 + add r0, #0x97 + strb r1, [r0] + bx lr + .balign 4, 0 + + thumb_func_start MOD05_021E2B9C +MOD05_021E2B9C: ; 0x021E2B9C + add r2, r0, #0 + add r2, #0x97 + ldrb r3, [r2] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + mov r2, #0x80 + lsl r1, r1, #0x1f + bic r3, r2 + lsr r1, r1, #0x18 + orr r1, r3 + add r0, #0x97 + strb r1, [r0] + bx lr + .balign 4, 0 + + thumb_func_start MOD05_021E2BB8 +MOD05_021E2BB8: ; 0x021E2BB8 + push {r4, lr} + add r4, r0, #0 + add r0, r1, #0 + bl MOD05_021E2D00 + strb r0, [r4] + mov r0, #0 + strb r0, [r4, #1] + mov r0, #1 + strb r0, [r4, #2] + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E2BD0 +MOD05_021E2BD0: ; 0x021E2BD0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x20 + add r5, r0, #0 + str r3, [sp, #4] + add r0, #0x80 + add r6, r1, #0 + ldr r0, [r0] + add r1, sp, #8 + add r7, r2, #0 + ldr r4, [sp, #0x38] + bl MOD05_021E2D14 + add r0, r5, #0 + add r0, #0x80 + ldr r0, [r0] + add r1, sp, #8 + bl MOD05_021E2D9C + add r0, sp, #8 + add r1, r6, #0 + add r2, r7, #0 + bl MOD05_021E2DD4 + cmp r4, #0 + bne _021E2C10 + add r0, r5, #0 + bl MOD05_021E2D00 + add r2, r0, #0 + mov r0, #0 + mov r1, #1 + b _021E2C16 +_021E2C10: + ldrb r2, [r4] + ldrb r0, [r4, #1] + ldrb r1, [r4, #2] +_021E2C16: + str r0, [sp] + ldr r3, [sp, #4] + add r0, sp, #8 + bl MOD05_021E2E40 + add sp, #0x20 + pop {r3, r4, r5, r6, r7, pc} + + thumb_func_start MOD05_ShowMessageInField +MOD05_ShowMessageInField: ; 0x021E2C24 + push {r4, r5, r6, lr} + sub sp, #0x18 + add r5, r0, #0 + add r0, #0x80 + add r4, r1, #0 + ldr r0, [r0] + add r1, sp, #0 + add r6, r2, #0 + bl MOD05_021E2D14 + add r5, #0x80 + ldr r0, [r5] + add r1, sp, #0 + bl MOD05_021E2D9C + add r0, sp, #0 + add r1, r4, #0 + add r2, r6, #0 + bl MOD05_021E2DD4 + add r0, sp, #0 + mov r1, #1 + bl MOD05_021E2E68 + add sp, #0x18 + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021E2C58 +MOD05_021E2C58: ; 0x021E2C58 + push {r4, r5, r6, r7, lr} + sub sp, #0x1c + add r5, r0, #0 + add r0, #0x80 + add r4, r1, #0 + ldr r0, [r0] + add r1, sp, #4 + add r6, r2, #0 + add r7, r3, #0 + bl MOD05_021E2D14 + add r0, r5, #0 + add r0, #0x80 + ldr r0, [r0] + add r1, sp, #4 + bl MOD05_021E2D9C + add r0, sp, #0x20 + ldrh r0, [r0, #0x10] + add r1, r4, #0 + add r2, r6, #0 + str r0, [sp] + add r0, sp, #4 + add r3, r7, #0 + bl MOD05_021E2DF0 + add r0, sp, #0x20 + ldrb r0, [r0, #0x14] + cmp r0, #0xff + beq _021E2CB0 + add r0, r5, #0 + bl MOD05_021E2D00 + add r2, r0, #0 + mov r0, #0 + str r0, [sp] + add r3, sp, #0x20 + ldrb r3, [r3, #0x14] + add r0, sp, #4 + mov r1, #1 + bl MOD05_021E2E40 + add sp, #0x1c + pop {r4, r5, r6, r7, pc} +_021E2CB0: + add r0, sp, #4 + mov r1, #1 + bl MOD05_021E2E68 + add sp, #0x1c + pop {r4, r5, r6, r7, pc} + + thumb_func_start MOD05_021E2CBC +MOD05_021E2CBC: ; 0x021E2CBC + push {r3, r4, r5, r6, lr} + sub sp, #0x1c + add r5, r0, #0 + add r0, #0x80 + add r4, r2, #0 + ldr r0, [r0] + add r2, sp, #4 + add r6, r3, #0 + bl MOD05_021E2D5C + add r0, r5, #0 + add r0, #0x80 + ldr r0, [r0] + add r1, sp, #4 + bl MOD05_021E2D9C + ldr r1, [r5, #0x78] + add r0, sp, #4 + add r2, r4, #0 + bl MOD05_021E2DD4 + add r0, r5, #0 + bl MOD05_021E2D00 + add r2, r0, #0 + mov r0, #0 + str r0, [sp] + add r0, sp, #4 + mov r1, #1 + add r3, r6, #0 + bl MOD05_021E2E40 + add sp, #0x1c + pop {r3, r4, r5, r6, pc} + + thumb_func_start MOD05_021E2D00 +MOD05_021E2D00: ; 0x021E2D00 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0] + ldr r0, [r0, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + bl FUN_02024FF4 + pop {r3, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E2D14 +MOD05_021E2D14: ; 0x021E2D14 + push {r3, r4, r5, lr} + add r4, r1, #0 + mov r1, #0x10 + add r5, r0, #0 + bl FUN_02039438 + ldr r0, [r0] + mov r1, #0x11 + str r0, [r4] + add r0, r5, #0 + bl FUN_02039438 + ldr r0, [r0] + mov r1, #0xf + str r0, [r4, #4] + add r0, r5, #0 + bl FUN_02039438 + ldr r0, [r0] + mov r1, #1 + str r0, [r4, #8] + add r0, r5, #0 + bl FUN_02039438 + str r0, [r4, #0xc] + add r0, r5, #0 + mov r1, #6 + bl FUN_02039438 + str r0, [r4, #0x10] + add r0, r5, #0 + mov r1, #3 + bl FUN_02039438 + str r0, [r4, #0x14] + pop {r3, r4, r5, pc} + + thumb_func_start MOD05_021E2D5C +MOD05_021E2D5C: ; 0x021E2D5C + push {r4, r5, r6, lr} + add r6, r1, #0 + mov r1, #0x10 + add r5, r0, #0 + add r4, r2, #0 + bl FUN_02039438 + ldr r0, [r0] + mov r1, #0x11 + str r0, [r4] + add r0, r5, #0 + bl FUN_02039438 + ldr r0, [r0] + mov r1, #1 + str r0, [r4, #4] + str r6, [r4, #8] + add r0, r5, #0 + bl FUN_02039438 + str r0, [r4, #0xc] + add r0, r5, #0 + mov r1, #6 + bl FUN_02039438 + str r0, [r4, #0x10] + add r0, r5, #0 + mov r1, #3 + bl FUN_02039438 + str r0, [r4, #0x14] + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021E2D9C +MOD05_021E2D9C: ; 0x021E2D9C + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + ldr r0, [r4, #0x10] + ldrb r0, [r0] + cmp r0, #0 + bne _021E2DC8 + ldr r0, [r5, #8] + ldr r1, [r4, #0xc] + mov r2, #3 + bl FUN_020545B8 + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + add r1, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_02054608 + ldr r0, [r4, #0x10] + mov r1, #1 + strb r1, [r0] +_021E2DC8: + ldr r0, [r4, #0xc] + mov r1, #0xf + bl FUN_02019620 + pop {r3, r4, r5, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E2DD4 +MOD05_021E2DD4: ; 0x021E2DD4 + push {r4, lr} + add r4, r0, #0 + add r0, r1, #0 + add r1, r2, #0 + ldr r2, [r4, #4] + bl ReadMsgDataIntoString + ldr r0, [r4, #8] + ldr r1, [r4] + ldr r2, [r4, #4] + bl StringExpandPlaceholders + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E2DF0 +MOD05_021E2DF0: ; 0x021E2DF0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + add r0, sp, #0 + add r7, r3, #0 + bl FUN_02013724 + add r0, sp, #0 + add r1, r4, #0 + add r2, r6, #0 + bl FUN_02013980 + add r0, sp, #0 + mov r1, #0 + add r2, r7, #0 + bl FUN_02013998 + add r2, sp, #0x10 + ldrh r2, [r2, #0x10] + add r0, sp, #0 + mov r1, #1 + bl FUN_02013998 + add r0, sp, #0 + mov r1, #0x20 + bl FUN_020137D4 + add r4, r0, #0 + ldr r0, [r5] + add r1, r4, #0 + bl StringCopy + add r0, r4, #0 + bl String_dtor + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E2E40 +MOD05_021E2E40: ; 0x021E2E40 + push {r4, r5, r6, lr} + sub sp, #8 + add r4, r0, #0 + lsl r0, r3, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + ldr r0, [sp, #0x18] + add r5, r2, #0 + str r0, [sp, #4] + add r6, r1, #0 + ldr r0, [r4, #0xc] + ldr r1, [r4] + add r2, r6, #0 + add r3, r5, #0 + bl FUN_02054690 + ldr r1, [r4, #0x14] + strb r0, [r1] + add sp, #8 + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021E2E68 +MOD05_021E2E68: ; 0x021E2E68 + push {r3, r4, lr} + sub sp, #0xc + mov r3, #0 + str r3, [sp] + str r3, [sp, #4] + add r4, r0, #0 + str r3, [sp, #8] + ldr r0, [r4, #0xc] + ldr r2, [r4] + bl AddTextPrinterParameterized + ldr r1, [r4, #0x14] + strb r0, [r1] + add sp, #0xc + pop {r3, r4, pc} + .balign 4, 0 diff --git a/arm9/modules/05/asm/mod05_021E2E88.s b/arm9/modules/05/asm/mod05_021E2E88.s new file mode 100644 index 00000000..f49a1f99 --- /dev/null +++ b/arm9/modules/05/asm/mod05_021E2E88.s @@ -0,0 +1,627 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD05_021E2E88 +MOD05_021E2E88: ; 0x021E2E88 + push {r4, r5, r6, lr} + lsl r6, r1, #5 + add r5, r0, #0 + add r4, r2, #0 + add r1, r6, #0 + bl DC_FlushRange + add r0, r5, #0 + lsl r1, r4, #5 + add r2, r6, #0 + bl GX_LoadBGPltt + pop {r4, r5, r6, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E2EA4 +MOD05_021E2EA4: ; 0x021E2EA4 + push {r3, r4, lr} + sub sp, #0x14 + mov r3, #0 + add r4, r0, #0 + str r3, [sp] + mov r0, #0x20 + str r0, [sp, #4] + mov r2, #3 + add r1, r4, #0 + str r2, [sp, #8] + mov r0, #7 + str r0, [sp, #0xc] + ldr r0, _021E2EDC ; =0x000002CD + add r1, #0x20 + str r0, [sp, #0x10] + ldr r0, [r4, #0x1c] + bl FUN_02019064 + mov r0, #0 + str r0, [sp] + ldr r2, _021E2EE0 ; =0x000003CF + add r0, r4, #0 + mov r1, #3 + mov r3, #7 + bl MOD05_021E2EE4 + add sp, #0x14 + pop {r3, r4, pc} + .balign 4, 0 +_021E2EDC: .word 0x000002CD +_021E2EE0: .word 0x000003CF + + thumb_func_start MOD05_021E2EE4 +MOD05_021E2EE4: ; 0x021E2EE4 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r4, r2, #0 + add r5, r0, #0 + add r6, r1, #0 + ldr r2, _021E2F2C ; =UNK05_021FD610 + add r0, #0x38 + mov r1, #4 + add r7, r3, #0 + bl FUN_0201AB28 + str r0, [r5, #0x34] + add r3, r0, #0 + str r4, [sp] + ldr r2, [r3, #0x14] + ldr r0, [r5, #0x1c] + ldr r3, [r3, #0x10] + add r1, r6, #0 + bl FUN_02017E14 + ldr r2, _021E2F30 ; =UNK05_021FD62C + add r0, sp, #4 + mov r1, #4 + bl FUN_0201AB44 + ldr r0, [r0, #0xc] + mov r1, #1 + add r2, r7, #0 + bl MOD05_021E2E88 + ldr r0, [sp, #4] + bl FreeToHeap + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + nop +_021E2F2C: .word UNK05_021FD610 +_021E2F30: .word UNK05_021FD62C + + thumb_func_start MOD05_021E2F34 +MOD05_021E2F34: ; 0x021E2F34 + push {r4, r5, r6, r7, lr} + sub sp, #0x1c + add r2, r1, #0 + add r2, #8 + add r5, r0, #0 + asr r0, r2, #2 + lsr r0, r0, #0x1d + add r0, r2, r0 + asr r0, r0, #3 + lsl r0, r0, #3 + sub r2, r0, r1 + lsr r0, r2, #0x1f + add r0, r2, r0 + asr r0, r0, #1 + add r2, r0, #4 + cmp r2, #8 + blt _021E2F5A + mov r3, #0 + b _021E2F6C +_021E2F5A: + mov r0, #8 + sub r0, r0, r2 + lsl r0, r0, #1 + add r2, r0, #7 + asr r0, r2, #2 + lsr r0, r0, #0x1d + add r0, r2, r0 + lsl r0, r0, #0x15 + lsr r3, r0, #0x18 +_021E2F6C: + cmp r1, #0 + bgt _021E2F76 + mov r0, #0 + str r0, [sp, #0x18] + b _021E2F92 +_021E2F76: + add r2, r1, #0 + add r2, #8 + asr r0, r2, #2 + lsr r0, r0, #0x1d + add r0, r2, r0 + asr r0, r0, #3 + add r0, r0, r3 + str r0, [sp, #0x18] + lsl r0, r0, #3 + add r0, #8 + sub r1, r0, r1 + lsr r0, r1, #0x1f + add r0, r1, r0 + asr r0, r0, #1 +_021E2F92: + add r1, r0, #4 + add r0, r5, #0 + add r0, #0x30 + strb r1, [r0] + add r0, r5, #0 + add r0, #0x20 + mov r1, #0 + bl FUN_02019620 + mov r2, #8 + str r2, [sp] + add r0, r5, #0 + str r2, [sp, #4] + mov r3, #0 + str r3, [sp, #8] + str r3, [sp, #0xc] + str r2, [sp, #0x10] + str r2, [sp, #0x14] + ldr r1, [r5, #0x34] + add r0, #0x20 + ldr r1, [r1, #0x14] + bl FUN_02019658 + ldr r0, [sp, #0x18] + mov r1, #8 + add r0, r0, #1 + lsl r4, r0, #3 + str r1, [sp] + lsl r0, r4, #0x10 + str r1, [sp, #4] + lsr r0, r0, #0x10 + str r0, [sp, #8] + mov r3, #0 + str r3, [sp, #0xc] + str r1, [sp, #0x10] + str r1, [sp, #0x14] + ldr r1, [r5, #0x34] + add r0, r5, #0 + ldr r1, [r1, #0x14] + add r0, #0x20 + mov r2, #0x18 + bl FUN_02019658 + mov r0, #8 + str r0, [sp] + str r0, [sp, #4] + mov r3, #0 + str r3, [sp, #8] + str r0, [sp, #0xc] + str r0, [sp, #0x10] + str r0, [sp, #0x14] + ldr r1, [r5, #0x34] + add r0, r5, #0 + ldr r1, [r1, #0x14] + add r0, #0x20 + mov r2, #0x38 + bl FUN_02019658 + mov r1, #8 + str r1, [sp] + lsl r0, r4, #0x10 + str r1, [sp, #4] + lsr r0, r0, #0x10 + str r0, [sp, #8] + str r1, [sp, #0xc] + str r1, [sp, #0x10] + str r1, [sp, #0x14] + ldr r1, [r5, #0x34] + add r0, r5, #0 + ldr r1, [r1, #0x14] + add r0, #0x20 + mov r2, #0x40 + mov r3, #0 + bl FUN_02019658 + mov r1, #8 + str r1, [sp] + str r1, [sp, #4] + mov r3, #0 + str r3, [sp, #8] + mov r0, #0x10 + str r0, [sp, #0xc] + str r1, [sp, #0x10] + str r1, [sp, #0x14] + ldr r1, [r5, #0x34] + add r0, r5, #0 + ldr r1, [r1, #0x14] + add r0, #0x20 + mov r2, #0x20 + bl FUN_02019658 + mov r1, #8 + str r1, [sp] + lsl r0, r4, #0x10 + str r1, [sp, #4] + lsr r0, r0, #0x10 + str r0, [sp, #8] + mov r0, #0x10 + str r0, [sp, #0xc] + str r1, [sp, #0x10] + str r1, [sp, #0x14] + ldr r1, [r5, #0x34] + add r0, r5, #0 + ldr r1, [r1, #0x14] + add r0, #0x20 + mov r2, #0x30 + mov r3, #0 + bl FUN_02019658 + ldr r0, [sp, #0x18] + mov r7, #0 + cmp r0, #0 + ble _021E30F2 + add r6, r5, #0 + add r6, #0x20 +_021E3078: + add r0, r7, #1 + lsl r4, r0, #3 + mov r0, #8 + str r0, [sp] + str r0, [sp, #4] + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + mov r0, #8 + str r0, [sp, #0x10] + str r0, [sp, #0x14] + ldr r1, [r5, #0x34] + add r0, r6, #0 + ldr r1, [r1, #0x14] + mov r2, #0x10 + mov r3, #0 + bl FUN_02019658 + mov r0, #8 + str r0, [sp] + str r0, [sp, #4] + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #8] + mov r0, #8 + str r0, [sp, #0xc] + str r0, [sp, #0x10] + str r0, [sp, #0x14] + ldr r1, [r5, #0x34] + add r0, r6, #0 + ldr r1, [r1, #0x14] + mov r2, #0x48 + mov r3, #0 + bl FUN_02019658 + mov r0, #8 + str r0, [sp] + str r0, [sp, #4] + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #8] + mov r0, #0x10 + str r0, [sp, #0xc] + mov r0, #8 + str r0, [sp, #0x10] + str r0, [sp, #0x14] + ldr r1, [r5, #0x34] + add r0, r6, #0 + ldr r1, [r1, #0x14] + mov r2, #0x28 + mov r3, #0 + bl FUN_02019658 + add r0, r7, #1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r0, [sp, #0x18] + cmp r7, r0 + blt _021E3078 +_021E30F2: + add r5, #0x20 + add r0, r5, #0 + bl FUN_020191D0 + add sp, #0x1c + pop {r4, r5, r6, r7, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E3100 +MOD05_021E3100: ; 0x021E3100 + mov r1, #0 + str r1, [r0] + strb r1, [r0, #4] + str r1, [r0, #8] + str r1, [r0, #0xc] + strh r1, [r0, #0x10] + str r1, [r0, #0x14] + str r1, [r0, #0x18] + str r1, [r0, #0x1c] + bx lr + + thumb_func_start MOD05_021E3114 +MOD05_021E3114: ; 0x021E3114 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl MOD05_021E3100 + str r4, [r5, #0x1c] + pop {r3, r4, r5, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E3124 +MOD05_021E3124: ; 0x021E3124 + push {r4, lr} + add r4, r1, #0 + ldrb r0, [r4, #4] + cmp r0, #3 + bhi _021E31D0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_021E313A: ; jump table + .short _021E31D0 - _021E313A - 2 ; case 0 + .short _021E3142 - _021E313A - 2 ; case 1 + .short _021E3180 - _021E313A - 2 ; case 2 + .short _021E316A - _021E313A - 2 ; case 3 +_021E3142: + ldr r0, [r4, #0xc] + sub r0, r0, #4 + str r0, [r4, #0xc] + bpl _021E314E + mov r0, #0 + str r0, [r4, #0xc] +_021E314E: + mov r1, #3 + ldr r0, [r4, #0x1c] + ldr r3, [r4, #0xc] + add r2, r1, #0 + bl FUN_020179E0 + ldr r0, [r4, #0xc] + cmp r0, #0 + bne _021E31D0 + mov r0, #0 + strh r0, [r4, #0x10] + mov r0, #3 + strb r0, [r4, #4] + pop {r4, pc} +_021E316A: + ldrh r0, [r4, #0x10] + add r0, r0, #1 + strh r0, [r4, #0x10] + ldrh r0, [r4, #0x10] + cmp r0, #0x3c + blo _021E31D0 + mov r0, #0 + strh r0, [r4, #0x10] + mov r0, #2 + strb r0, [r4, #4] + pop {r4, pc} +_021E3180: + ldr r0, [r4, #0xc] + add r0, r0, #4 + str r0, [r4, #0xc] + cmp r0, #0x26 + ble _021E318E + mov r0, #0x26 + str r0, [r4, #0xc] +_021E318E: + mov r1, #3 + ldr r0, [r4, #0x1c] + ldr r3, [r4, #0xc] + add r2, r1, #0 + bl FUN_020179E0 + ldr r0, [r4, #0xc] + cmp r0, #0x26 + bne _021E31D0 + ldr r0, [r4, #0x14] + cmp r0, #0 + beq _021E31CA + mov r0, #0 + str r0, [r4, #0x14] + ldr r0, [r4, #0x3c] + ldr r1, [r4, #0x18] + ldr r2, [r4, #0x40] + bl FUN_02064E4C + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021E2F34 + ldr r1, [r4, #0x40] + add r0, r4, #0 + bl MOD05_021E31D4 + mov r0, #1 + strb r0, [r4, #4] + pop {r4, pc} +_021E31CA: + add r0, r4, #0 + bl MOD05_021E32F0 +_021E31D0: + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E31D4 +MOD05_021E31D4: ; 0x021E31D4 + push {r3, lr} + sub sp, #0x10 + add r3, r0, #0 + mov r0, #3 + add r2, r1, #0 + str r0, [sp] + mov r1, #0 + ldr r0, _021E31FC ; =0x00010200 + str r1, [sp, #4] + str r0, [sp, #8] + add r0, r3, #0 + str r1, [sp, #0xc] + add r3, #0x30 + ldrb r3, [r3] + add r0, #0x20 + bl AddTextPrinterParameterized2 + add sp, #0x10 + pop {r3, pc} + nop +_021E31FC: .word 0x00010200 + + thumb_func_start MOD05_021E3200 +MOD05_021E3200: ; 0x021E3200 + mov r1, #2 + strb r1, [r0, #4] + mov r1, #0 + strh r1, [r0, #0x10] + bx lr + .balign 4, 0 + + thumb_func_start MOD05_021E320C +MOD05_021E320C: ; 0x021E320C + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #4 + mov r1, #0x44 + bl AllocFromHeap + add r4, r0, #0 + mov r0, #0x16 + mov r1, #4 + bl String_ctor + str r0, [r4, #0x40] + add r0, r4, #0 + add r1, r5, #0 + bl MOD05_021E3114 + add r0, r4, #0 + bl MOD05_021E2EA4 + ldr r2, _021E3244 ; =0x0000017E + mov r0, #1 + mov r1, #0x1a + mov r3, #4 + bl NewMsgDataFromNarc + str r0, [r4, #0x3c] + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_021E3244: .word 0x0000017E + + thumb_func_start MOD05_021E3248 +MOD05_021E3248: ; 0x021E3248 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x3c] + bl DestroyMsgData + add r0, r4, #0 + add r0, #0x20 + bl FUN_02019178 + ldr r0, [r4, #0x40] + bl String_dtor + ldr r0, [r4, #0x38] + bl FreeToHeap + add r0, r4, #0 + bl FreeToHeap + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E3270 +MOD05_021E3270: ; 0x021E3270 + push {r4, lr} + add r4, r0, #0 + str r1, [r4, #0x18] + ldr r1, [r4] + cmp r1, #0 + bne _021E32BC + mov r0, #1 + str r0, [r4] + mov r1, #3 + ldr r0, [r4, #0x1c] + add r2, r1, #0 + mov r3, #0x26 + bl FUN_020179E0 + mov r0, #0x26 + str r0, [r4, #0xc] + ldr r0, _021E32EC ; =MOD05_021E3124 + add r1, r4, #0 + mov r2, #0 + bl FUN_0200CA44 + str r0, [r4, #8] + mov r0, #1 + strb r0, [r4, #4] + ldr r0, [r4, #0x3c] + ldr r1, [r4, #0x18] + ldr r2, [r4, #0x40] + bl FUN_02064E4C + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021E2F34 + ldr r1, [r4, #0x40] + add r0, r4, #0 + bl MOD05_021E31D4 + pop {r4, pc} +_021E32BC: + ldrb r1, [r4, #4] + cmp r1, #3 + bhi _021E32E6 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_021E32CE: ; jump table + .short _021E32E6 - _021E32CE - 2 ; case 0 + .short _021E32D6 - _021E32CE - 2 ; case 1 + .short _021E32E0 - _021E32CE - 2 ; case 2 + .short _021E32D6 - _021E32CE - 2 ; case 3 +_021E32D6: + bl MOD05_021E3200 + mov r0, #1 + str r0, [r4, #0x14] + pop {r4, pc} +_021E32E0: + mov r0, #1 + str r0, [r4, #0x14] + pop {r4, pc} +_021E32E6: + bl ErrorHandling + pop {r4, pc} + .balign 4, 0 +_021E32EC: .word MOD05_021E3124 + + thumb_func_start MOD05_021E32F0 +MOD05_021E32F0: ; 0x021E32F0 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #8] + cmp r0, #0 + beq _021E32FE + bl FUN_0200CAB4 +_021E32FE: + add r0, r4, #0 + add r0, #0x20 + bl FUN_02019570 + mov r1, #3 + ldr r0, [r4, #0x1c] + add r2, r1, #0 + mov r3, #0 + bl FUN_020179E0 + ldr r1, [r4, #0x1c] + add r0, r4, #0 + bl MOD05_021E3114 + pop {r4, pc} + + thumb_func_start MOD05_021E331C +MOD05_021E331C: ; 0x021E331C + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x1c] + ldr r0, [r0] + bl FUN_02034944 + cmp r0, #0 + bne _021E333E + ldr r0, [r4, #0x1c] + ldr r0, [r0] + bl FUN_02034824 + add r1, r0, #0 + ldr r0, [r4, #4] + ldr r0, [r0, #8] + bl MOD05_021E3270 +_021E333E: + pop {r4, pc} + + .section .data + + .balign 4 + .global UNK05_021FD610 +UNK05_021FD610: ; 0x021FD610 + .asciz "/data/dp_areawindow.NCGR" + + .balign 4 + .global UNK05_021FD62C +UNK05_021FD62C: ; 0x021FD62C + .asciz "/data/dp_areawindow.NCLR" diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index 4bd3be33..90a7f51b 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -3,1005 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD05_021E2B80 -MOD05_021E2B80: ; 0x021E2B80 - add r2, r0, #0 - add r2, #0x97 - ldrb r3, [r2] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - mov r2, #0x40 - lsl r1, r1, #0x1f - bic r3, r2 - lsr r1, r1, #0x19 - orr r1, r3 - add r0, #0x97 - strb r1, [r0] - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021E2B9C -MOD05_021E2B9C: ; 0x021E2B9C - add r2, r0, #0 - add r2, #0x97 - ldrb r3, [r2] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - mov r2, #0x80 - lsl r1, r1, #0x1f - bic r3, r2 - lsr r1, r1, #0x18 - orr r1, r3 - add r0, #0x97 - strb r1, [r0] - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021E2BB8 -MOD05_021E2BB8: ; 0x021E2BB8 - push {r4, lr} - add r4, r0, #0 - add r0, r1, #0 - bl MOD05_021E2D00 - strb r0, [r4] - mov r0, #0 - strb r0, [r4, #1] - mov r0, #1 - strb r0, [r4, #2] - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E2BD0 -MOD05_021E2BD0: ; 0x021E2BD0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x20 - add r5, r0, #0 - str r3, [sp, #4] - add r0, #0x80 - add r6, r1, #0 - ldr r0, [r0] - add r1, sp, #8 - add r7, r2, #0 - ldr r4, [sp, #0x38] - bl MOD05_021E2D14 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0] - add r1, sp, #8 - bl MOD05_021E2D9C - add r0, sp, #8 - add r1, r6, #0 - add r2, r7, #0 - bl MOD05_021E2DD4 - cmp r4, #0 - bne _021E2C10 - add r0, r5, #0 - bl MOD05_021E2D00 - add r2, r0, #0 - mov r0, #0 - mov r1, #1 - b _021E2C16 -_021E2C10: - ldrb r2, [r4] - ldrb r0, [r4, #1] - ldrb r1, [r4, #2] -_021E2C16: - str r0, [sp] - ldr r3, [sp, #4] - add r0, sp, #8 - bl MOD05_021E2E40 - add sp, #0x20 - pop {r3, r4, r5, r6, r7, pc} - - thumb_func_start MOD05_ShowMessageInField -MOD05_ShowMessageInField: ; 0x021E2C24 - push {r4, r5, r6, lr} - sub sp, #0x18 - add r5, r0, #0 - add r0, #0x80 - add r4, r1, #0 - ldr r0, [r0] - add r1, sp, #0 - add r6, r2, #0 - bl MOD05_021E2D14 - add r5, #0x80 - ldr r0, [r5] - add r1, sp, #0 - bl MOD05_021E2D9C - add r0, sp, #0 - add r1, r4, #0 - add r2, r6, #0 - bl MOD05_021E2DD4 - add r0, sp, #0 - mov r1, #1 - bl MOD05_021E2E68 - add sp, #0x18 - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021E2C58 -MOD05_021E2C58: ; 0x021E2C58 - push {r4, r5, r6, r7, lr} - sub sp, #0x1c - add r5, r0, #0 - add r0, #0x80 - add r4, r1, #0 - ldr r0, [r0] - add r1, sp, #4 - add r6, r2, #0 - add r7, r3, #0 - bl MOD05_021E2D14 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0] - add r1, sp, #4 - bl MOD05_021E2D9C - add r0, sp, #0x20 - ldrh r0, [r0, #0x10] - add r1, r4, #0 - add r2, r6, #0 - str r0, [sp] - add r0, sp, #4 - add r3, r7, #0 - bl MOD05_021E2DF0 - add r0, sp, #0x20 - ldrb r0, [r0, #0x14] - cmp r0, #0xff - beq _021E2CB0 - add r0, r5, #0 - bl MOD05_021E2D00 - add r2, r0, #0 - mov r0, #0 - str r0, [sp] - add r3, sp, #0x20 - ldrb r3, [r3, #0x14] - add r0, sp, #4 - mov r1, #1 - bl MOD05_021E2E40 - add sp, #0x1c - pop {r4, r5, r6, r7, pc} -_021E2CB0: - add r0, sp, #4 - mov r1, #1 - bl MOD05_021E2E68 - add sp, #0x1c - pop {r4, r5, r6, r7, pc} - - thumb_func_start MOD05_021E2CBC -MOD05_021E2CBC: ; 0x021E2CBC - push {r3, r4, r5, r6, lr} - sub sp, #0x1c - add r5, r0, #0 - add r0, #0x80 - add r4, r2, #0 - ldr r0, [r0] - add r2, sp, #4 - add r6, r3, #0 - bl MOD05_021E2D5C - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0] - add r1, sp, #4 - bl MOD05_021E2D9C - ldr r1, [r5, #0x78] - add r0, sp, #4 - add r2, r4, #0 - bl MOD05_021E2DD4 - add r0, r5, #0 - bl MOD05_021E2D00 - add r2, r0, #0 - mov r0, #0 - str r0, [sp] - add r0, sp, #4 - mov r1, #1 - add r3, r6, #0 - bl MOD05_021E2E40 - add sp, #0x1c - pop {r3, r4, r5, r6, pc} - - thumb_func_start MOD05_021E2D00 -MOD05_021E2D00: ; 0x021E2D00 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0] - ldr r0, [r0, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - bl FUN_02024FF4 - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E2D14 -MOD05_021E2D14: ; 0x021E2D14 - push {r3, r4, r5, lr} - add r4, r1, #0 - mov r1, #0x10 - add r5, r0, #0 - bl FUN_02039438 - ldr r0, [r0] - mov r1, #0x11 - str r0, [r4] - add r0, r5, #0 - bl FUN_02039438 - ldr r0, [r0] - mov r1, #0xf - str r0, [r4, #4] - add r0, r5, #0 - bl FUN_02039438 - ldr r0, [r0] - mov r1, #1 - str r0, [r4, #8] - add r0, r5, #0 - bl FUN_02039438 - str r0, [r4, #0xc] - add r0, r5, #0 - mov r1, #6 - bl FUN_02039438 - str r0, [r4, #0x10] - add r0, r5, #0 - mov r1, #3 - bl FUN_02039438 - str r0, [r4, #0x14] - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021E2D5C -MOD05_021E2D5C: ; 0x021E2D5C - push {r4, r5, r6, lr} - add r6, r1, #0 - mov r1, #0x10 - add r5, r0, #0 - add r4, r2, #0 - bl FUN_02039438 - ldr r0, [r0] - mov r1, #0x11 - str r0, [r4] - add r0, r5, #0 - bl FUN_02039438 - ldr r0, [r0] - mov r1, #1 - str r0, [r4, #4] - str r6, [r4, #8] - add r0, r5, #0 - bl FUN_02039438 - str r0, [r4, #0xc] - add r0, r5, #0 - mov r1, #6 - bl FUN_02039438 - str r0, [r4, #0x10] - add r0, r5, #0 - mov r1, #3 - bl FUN_02039438 - str r0, [r4, #0x14] - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021E2D9C -MOD05_021E2D9C: ; 0x021E2D9C - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4, #0x10] - ldrb r0, [r0] - cmp r0, #0 - bne _021E2DC8 - ldr r0, [r5, #8] - ldr r1, [r4, #0xc] - mov r2, #3 - bl FUN_020545B8 - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - add r1, r0, #0 - ldr r0, [r4, #0xc] - bl FUN_02054608 - ldr r0, [r4, #0x10] - mov r1, #1 - strb r1, [r0] -_021E2DC8: - ldr r0, [r4, #0xc] - mov r1, #0xf - bl FUN_02019620 - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E2DD4 -MOD05_021E2DD4: ; 0x021E2DD4 - push {r4, lr} - add r4, r0, #0 - add r0, r1, #0 - add r1, r2, #0 - ldr r2, [r4, #4] - bl ReadMsgDataIntoString - ldr r0, [r4, #8] - ldr r1, [r4] - ldr r2, [r4, #4] - bl StringExpandPlaceholders - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E2DF0 -MOD05_021E2DF0: ; 0x021E2DF0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - add r0, sp, #0 - add r7, r3, #0 - bl FUN_02013724 - add r0, sp, #0 - add r1, r4, #0 - add r2, r6, #0 - bl FUN_02013980 - add r0, sp, #0 - mov r1, #0 - add r2, r7, #0 - bl FUN_02013998 - add r2, sp, #0x10 - ldrh r2, [r2, #0x10] - add r0, sp, #0 - mov r1, #1 - bl FUN_02013998 - add r0, sp, #0 - mov r1, #0x20 - bl FUN_020137D4 - add r4, r0, #0 - ldr r0, [r5] - add r1, r4, #0 - bl StringCopy - add r0, r4, #0 - bl String_dtor - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E2E40 -MOD05_021E2E40: ; 0x021E2E40 - push {r4, r5, r6, lr} - sub sp, #8 - add r4, r0, #0 - lsl r0, r3, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - ldr r0, [sp, #0x18] - add r5, r2, #0 - str r0, [sp, #4] - add r6, r1, #0 - ldr r0, [r4, #0xc] - ldr r1, [r4] - add r2, r6, #0 - add r3, r5, #0 - bl FUN_02054690 - ldr r1, [r4, #0x14] - strb r0, [r1] - add sp, #8 - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021E2E68 -MOD05_021E2E68: ; 0x021E2E68 - push {r3, r4, lr} - sub sp, #0xc - mov r3, #0 - str r3, [sp] - str r3, [sp, #4] - add r4, r0, #0 - str r3, [sp, #8] - ldr r0, [r4, #0xc] - ldr r2, [r4] - bl AddTextPrinterParameterized - ldr r1, [r4, #0x14] - strb r0, [r1] - add sp, #0xc - pop {r3, r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E2E88 -MOD05_021E2E88: ; 0x021E2E88 - push {r4, r5, r6, lr} - lsl r6, r1, #5 - add r5, r0, #0 - add r4, r2, #0 - add r1, r6, #0 - bl DC_FlushRange - add r0, r5, #0 - lsl r1, r4, #5 - add r2, r6, #0 - bl GX_LoadBGPltt - pop {r4, r5, r6, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E2EA4 -MOD05_021E2EA4: ; 0x021E2EA4 - push {r3, r4, lr} - sub sp, #0x14 - mov r3, #0 - add r4, r0, #0 - str r3, [sp] - mov r0, #0x20 - str r0, [sp, #4] - mov r2, #3 - add r1, r4, #0 - str r2, [sp, #8] - mov r0, #7 - str r0, [sp, #0xc] - ldr r0, _021E2EDC ; =0x000002CD - add r1, #0x20 - str r0, [sp, #0x10] - ldr r0, [r4, #0x1c] - bl FUN_02019064 - mov r0, #0 - str r0, [sp] - ldr r2, _021E2EE0 ; =0x000003CF - add r0, r4, #0 - mov r1, #3 - mov r3, #7 - bl MOD05_021E2EE4 - add sp, #0x14 - pop {r3, r4, pc} - .balign 4, 0 -_021E2EDC: .word 0x000002CD -_021E2EE0: .word 0x000003CF - - thumb_func_start MOD05_021E2EE4 -MOD05_021E2EE4: ; 0x021E2EE4 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r2, #0 - add r5, r0, #0 - add r6, r1, #0 - ldr r2, _021E2F2C ; =UNK05_021FD610 - add r0, #0x38 - mov r1, #4 - add r7, r3, #0 - bl FUN_0201AB28 - str r0, [r5, #0x34] - add r3, r0, #0 - str r4, [sp] - ldr r2, [r3, #0x14] - ldr r0, [r5, #0x1c] - ldr r3, [r3, #0x10] - add r1, r6, #0 - bl FUN_02017E14 - ldr r2, _021E2F30 ; =UNK05_021FD62C - add r0, sp, #4 - mov r1, #4 - bl FUN_0201AB44 - ldr r0, [r0, #0xc] - mov r1, #1 - add r2, r7, #0 - bl MOD05_021E2E88 - ldr r0, [sp, #4] - bl FreeToHeap - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop -_021E2F2C: .word UNK05_021FD610 -_021E2F30: .word UNK05_021FD62C - - thumb_func_start MOD05_021E2F34 -MOD05_021E2F34: ; 0x021E2F34 - push {r4, r5, r6, r7, lr} - sub sp, #0x1c - add r2, r1, #0 - add r2, #8 - add r5, r0, #0 - asr r0, r2, #2 - lsr r0, r0, #0x1d - add r0, r2, r0 - asr r0, r0, #3 - lsl r0, r0, #3 - sub r2, r0, r1 - lsr r0, r2, #0x1f - add r0, r2, r0 - asr r0, r0, #1 - add r2, r0, #4 - cmp r2, #8 - blt _021E2F5A - mov r3, #0 - b _021E2F6C -_021E2F5A: - mov r0, #8 - sub r0, r0, r2 - lsl r0, r0, #1 - add r2, r0, #7 - asr r0, r2, #2 - lsr r0, r0, #0x1d - add r0, r2, r0 - lsl r0, r0, #0x15 - lsr r3, r0, #0x18 -_021E2F6C: - cmp r1, #0 - bgt _021E2F76 - mov r0, #0 - str r0, [sp, #0x18] - b _021E2F92 -_021E2F76: - add r2, r1, #0 - add r2, #8 - asr r0, r2, #2 - lsr r0, r0, #0x1d - add r0, r2, r0 - asr r0, r0, #3 - add r0, r0, r3 - str r0, [sp, #0x18] - lsl r0, r0, #3 - add r0, #8 - sub r1, r0, r1 - lsr r0, r1, #0x1f - add r0, r1, r0 - asr r0, r0, #1 -_021E2F92: - add r1, r0, #4 - add r0, r5, #0 - add r0, #0x30 - strb r1, [r0] - add r0, r5, #0 - add r0, #0x20 - mov r1, #0 - bl FUN_02019620 - mov r2, #8 - str r2, [sp] - add r0, r5, #0 - str r2, [sp, #4] - mov r3, #0 - str r3, [sp, #8] - str r3, [sp, #0xc] - str r2, [sp, #0x10] - str r2, [sp, #0x14] - ldr r1, [r5, #0x34] - add r0, #0x20 - ldr r1, [r1, #0x14] - bl FUN_02019658 - ldr r0, [sp, #0x18] - mov r1, #8 - add r0, r0, #1 - lsl r4, r0, #3 - str r1, [sp] - lsl r0, r4, #0x10 - str r1, [sp, #4] - lsr r0, r0, #0x10 - str r0, [sp, #8] - mov r3, #0 - str r3, [sp, #0xc] - str r1, [sp, #0x10] - str r1, [sp, #0x14] - ldr r1, [r5, #0x34] - add r0, r5, #0 - ldr r1, [r1, #0x14] - add r0, #0x20 - mov r2, #0x18 - bl FUN_02019658 - mov r0, #8 - str r0, [sp] - str r0, [sp, #4] - mov r3, #0 - str r3, [sp, #8] - str r0, [sp, #0xc] - str r0, [sp, #0x10] - str r0, [sp, #0x14] - ldr r1, [r5, #0x34] - add r0, r5, #0 - ldr r1, [r1, #0x14] - add r0, #0x20 - mov r2, #0x38 - bl FUN_02019658 - mov r1, #8 - str r1, [sp] - lsl r0, r4, #0x10 - str r1, [sp, #4] - lsr r0, r0, #0x10 - str r0, [sp, #8] - str r1, [sp, #0xc] - str r1, [sp, #0x10] - str r1, [sp, #0x14] - ldr r1, [r5, #0x34] - add r0, r5, #0 - ldr r1, [r1, #0x14] - add r0, #0x20 - mov r2, #0x40 - mov r3, #0 - bl FUN_02019658 - mov r1, #8 - str r1, [sp] - str r1, [sp, #4] - mov r3, #0 - str r3, [sp, #8] - mov r0, #0x10 - str r0, [sp, #0xc] - str r1, [sp, #0x10] - str r1, [sp, #0x14] - ldr r1, [r5, #0x34] - add r0, r5, #0 - ldr r1, [r1, #0x14] - add r0, #0x20 - mov r2, #0x20 - bl FUN_02019658 - mov r1, #8 - str r1, [sp] - lsl r0, r4, #0x10 - str r1, [sp, #4] - lsr r0, r0, #0x10 - str r0, [sp, #8] - mov r0, #0x10 - str r0, [sp, #0xc] - str r1, [sp, #0x10] - str r1, [sp, #0x14] - ldr r1, [r5, #0x34] - add r0, r5, #0 - ldr r1, [r1, #0x14] - add r0, #0x20 - mov r2, #0x30 - mov r3, #0 - bl FUN_02019658 - ldr r0, [sp, #0x18] - mov r7, #0 - cmp r0, #0 - ble _021E30F2 - add r6, r5, #0 - add r6, #0x20 -_021E3078: - add r0, r7, #1 - lsl r4, r0, #3 - mov r0, #8 - str r0, [sp] - str r0, [sp, #4] - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - mov r0, #8 - str r0, [sp, #0x10] - str r0, [sp, #0x14] - ldr r1, [r5, #0x34] - add r0, r6, #0 - ldr r1, [r1, #0x14] - mov r2, #0x10 - mov r3, #0 - bl FUN_02019658 - mov r0, #8 - str r0, [sp] - str r0, [sp, #4] - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #8] - mov r0, #8 - str r0, [sp, #0xc] - str r0, [sp, #0x10] - str r0, [sp, #0x14] - ldr r1, [r5, #0x34] - add r0, r6, #0 - ldr r1, [r1, #0x14] - mov r2, #0x48 - mov r3, #0 - bl FUN_02019658 - mov r0, #8 - str r0, [sp] - str r0, [sp, #4] - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #8] - mov r0, #0x10 - str r0, [sp, #0xc] - mov r0, #8 - str r0, [sp, #0x10] - str r0, [sp, #0x14] - ldr r1, [r5, #0x34] - add r0, r6, #0 - ldr r1, [r1, #0x14] - mov r2, #0x28 - mov r3, #0 - bl FUN_02019658 - add r0, r7, #1 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - ldr r0, [sp, #0x18] - cmp r7, r0 - blt _021E3078 -_021E30F2: - add r5, #0x20 - add r0, r5, #0 - bl FUN_020191D0 - add sp, #0x1c - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E3100 -MOD05_021E3100: ; 0x021E3100 - mov r1, #0 - str r1, [r0] - strb r1, [r0, #4] - str r1, [r0, #8] - str r1, [r0, #0xc] - strh r1, [r0, #0x10] - str r1, [r0, #0x14] - str r1, [r0, #0x18] - str r1, [r0, #0x1c] - bx lr - - thumb_func_start MOD05_021E3114 -MOD05_021E3114: ; 0x021E3114 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl MOD05_021E3100 - str r4, [r5, #0x1c] - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E3124 -MOD05_021E3124: ; 0x021E3124 - push {r4, lr} - add r4, r1, #0 - ldrb r0, [r4, #4] - cmp r0, #3 - bhi _021E31D0 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_021E313A: ; jump table - .short _021E31D0 - _021E313A - 2 ; case 0 - .short _021E3142 - _021E313A - 2 ; case 1 - .short _021E3180 - _021E313A - 2 ; case 2 - .short _021E316A - _021E313A - 2 ; case 3 -_021E3142: - ldr r0, [r4, #0xc] - sub r0, r0, #4 - str r0, [r4, #0xc] - bpl _021E314E - mov r0, #0 - str r0, [r4, #0xc] -_021E314E: - mov r1, #3 - ldr r0, [r4, #0x1c] - ldr r3, [r4, #0xc] - add r2, r1, #0 - bl FUN_020179E0 - ldr r0, [r4, #0xc] - cmp r0, #0 - bne _021E31D0 - mov r0, #0 - strh r0, [r4, #0x10] - mov r0, #3 - strb r0, [r4, #4] - pop {r4, pc} -_021E316A: - ldrh r0, [r4, #0x10] - add r0, r0, #1 - strh r0, [r4, #0x10] - ldrh r0, [r4, #0x10] - cmp r0, #0x3c - blo _021E31D0 - mov r0, #0 - strh r0, [r4, #0x10] - mov r0, #2 - strb r0, [r4, #4] - pop {r4, pc} -_021E3180: - ldr r0, [r4, #0xc] - add r0, r0, #4 - str r0, [r4, #0xc] - cmp r0, #0x26 - ble _021E318E - mov r0, #0x26 - str r0, [r4, #0xc] -_021E318E: - mov r1, #3 - ldr r0, [r4, #0x1c] - ldr r3, [r4, #0xc] - add r2, r1, #0 - bl FUN_020179E0 - ldr r0, [r4, #0xc] - cmp r0, #0x26 - bne _021E31D0 - ldr r0, [r4, #0x14] - cmp r0, #0 - beq _021E31CA - mov r0, #0 - str r0, [r4, #0x14] - ldr r0, [r4, #0x3c] - ldr r1, [r4, #0x18] - ldr r2, [r4, #0x40] - bl FUN_02064E4C - add r1, r0, #0 - add r0, r4, #0 - bl MOD05_021E2F34 - ldr r1, [r4, #0x40] - add r0, r4, #0 - bl MOD05_021E31D4 - mov r0, #1 - strb r0, [r4, #4] - pop {r4, pc} -_021E31CA: - add r0, r4, #0 - bl MOD05_021E32F0 -_021E31D0: - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E31D4 -MOD05_021E31D4: ; 0x021E31D4 - push {r3, lr} - sub sp, #0x10 - add r3, r0, #0 - mov r0, #3 - add r2, r1, #0 - str r0, [sp] - mov r1, #0 - ldr r0, _021E31FC ; =0x00010200 - str r1, [sp, #4] - str r0, [sp, #8] - add r0, r3, #0 - str r1, [sp, #0xc] - add r3, #0x30 - ldrb r3, [r3] - add r0, #0x20 - bl AddTextPrinterParameterized2 - add sp, #0x10 - pop {r3, pc} - nop -_021E31FC: .word 0x00010200 - - thumb_func_start MOD05_021E3200 -MOD05_021E3200: ; 0x021E3200 - mov r1, #2 - strb r1, [r0, #4] - mov r1, #0 - strh r1, [r0, #0x10] - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021E320C -MOD05_021E320C: ; 0x021E320C - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #4 - mov r1, #0x44 - bl AllocFromHeap - add r4, r0, #0 - mov r0, #0x16 - mov r1, #4 - bl String_ctor - str r0, [r4, #0x40] - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021E3114 - add r0, r4, #0 - bl MOD05_021E2EA4 - ldr r2, _021E3244 ; =0x0000017E - mov r0, #1 - mov r1, #0x1a - mov r3, #4 - bl NewMsgDataFromNarc - str r0, [r4, #0x3c] - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_021E3244: .word 0x0000017E - - thumb_func_start MOD05_021E3248 -MOD05_021E3248: ; 0x021E3248 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x3c] - bl DestroyMsgData - add r0, r4, #0 - add r0, #0x20 - bl FUN_02019178 - ldr r0, [r4, #0x40] - bl String_dtor - ldr r0, [r4, #0x38] - bl FreeToHeap - add r0, r4, #0 - bl FreeToHeap - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E3270 -MOD05_021E3270: ; 0x021E3270 - push {r4, lr} - add r4, r0, #0 - str r1, [r4, #0x18] - ldr r1, [r4] - cmp r1, #0 - bne _021E32BC - mov r0, #1 - str r0, [r4] - mov r1, #3 - ldr r0, [r4, #0x1c] - add r2, r1, #0 - mov r3, #0x26 - bl FUN_020179E0 - mov r0, #0x26 - str r0, [r4, #0xc] - ldr r0, _021E32EC ; =MOD05_021E3124 - add r1, r4, #0 - mov r2, #0 - bl FUN_0200CA44 - str r0, [r4, #8] - mov r0, #1 - strb r0, [r4, #4] - ldr r0, [r4, #0x3c] - ldr r1, [r4, #0x18] - ldr r2, [r4, #0x40] - bl FUN_02064E4C - add r1, r0, #0 - add r0, r4, #0 - bl MOD05_021E2F34 - ldr r1, [r4, #0x40] - add r0, r4, #0 - bl MOD05_021E31D4 - pop {r4, pc} -_021E32BC: - ldrb r1, [r4, #4] - cmp r1, #3 - bhi _021E32E6 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021E32CE: ; jump table - .short _021E32E6 - _021E32CE - 2 ; case 0 - .short _021E32D6 - _021E32CE - 2 ; case 1 - .short _021E32E0 - _021E32CE - 2 ; case 2 - .short _021E32D6 - _021E32CE - 2 ; case 3 -_021E32D6: - bl MOD05_021E3200 - mov r0, #1 - str r0, [r4, #0x14] - pop {r4, pc} -_021E32E0: - mov r0, #1 - str r0, [r4, #0x14] - pop {r4, pc} -_021E32E6: - bl ErrorHandling - pop {r4, pc} - .balign 4, 0 -_021E32EC: .word MOD05_021E3124 - - thumb_func_start MOD05_021E32F0 -MOD05_021E32F0: ; 0x021E32F0 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #8] - cmp r0, #0 - beq _021E32FE - bl FUN_0200CAB4 -_021E32FE: - add r0, r4, #0 - add r0, #0x20 - bl FUN_02019570 - mov r1, #3 - ldr r0, [r4, #0x1c] - add r2, r1, #0 - mov r3, #0 - bl FUN_020179E0 - ldr r1, [r4, #0x1c] - add r0, r4, #0 - bl MOD05_021E3114 - pop {r4, pc} - - thumb_func_start MOD05_021E331C -MOD05_021E331C: ; 0x021E331C - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x1c] - ldr r0, [r0] - bl FUN_02034944 - cmp r0, #0 - bne _021E333E - ldr r0, [r4, #0x1c] - ldr r0, [r0] - bl FUN_02034824 - add r1, r0, #0 - ldr r0, [r4, #4] - ldr r0, [r0, #8] - bl MOD05_021E3270 -_021E333E: - pop {r4, pc} - thumb_func_start MOD05_021E3340 MOD05_021E3340: ; 0x021E3340 push {r3, r4, r5, r6, lr} @@ -43170,17 +42171,6 @@ UNK05_021FD1B8: ; 0x021FD1B8 .section .data .balign 4 - - .global UNK05_021FD610 -UNK05_021FD610: ; 0x021FD610 - .asciz "/data/dp_areawindow.NCGR" - - .balign 4 - .global UNK05_021FD62C -UNK05_021FD62C: ; 0x021FD62C - .asciz "/data/dp_areawindow.NCLR" - - .balign 4 .global UNK05_021FD648 UNK05_021FD648: ; 0x021FD648 .asciz "fielddata/build_model/build_model_matshp.dat" |