diff options
-rw-r--r-- | arm9/arm9.lsf | 1 | ||||
-rw-r--r-- | arm9/global.inc | 7 | ||||
-rw-r--r-- | arm9/modules/05/asm/mod05_021DB44C.s | 632 | ||||
-rw-r--r-- | arm9/modules/05/asm/module_05.s | 624 |
4 files changed, 640 insertions, 624 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index c4039c4f..789ad75c 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -522,6 +522,7 @@ Overlay MODULE_05 Object mod05_021D9320.o Object mod05_021D9A48.o Object mod05_021DA5B8.o + Object mod05_021DB44C.o Object module_05.o } diff --git a/arm9/global.inc b/arm9/global.inc index 2c9a5ab9..ab218923 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -6286,6 +6286,7 @@ .extern MOD05_021DB4D0 .extern MOD05_021DB52C .extern MOD05_021DB53C +.extern MOD05_021DB5EC .extern MOD05_021DBA00 .extern MOD05_021DBA1C .extern MOD05_021DBA40 @@ -6294,6 +6295,12 @@ .extern MOD05_021DBABC .extern MOD05_021DBAD8 .extern MOD05_021DBAEC +.extern MOD05_021DBC94 +.extern MOD05_021DBCBC +.extern MOD05_021DBCD0 +.extern MOD05_021DBCE4 +.extern MOD05_021DBCF8 +.extern MOD05_021DBD0C .extern MOD05_021DBD20 .extern MOD05_021DBD34 .extern MOD05_021DBD48 diff --git a/arm9/modules/05/asm/mod05_021DB44C.s b/arm9/modules/05/asm/mod05_021DB44C.s new file mode 100644 index 00000000..75d5fd9c --- /dev/null +++ b/arm9/modules/05/asm/mod05_021DB44C.s @@ -0,0 +1,632 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD05_021DB44C +MOD05_021DB44C: ; 0x021DB44C + push {r4, r5, r6, lr} + add r6, r1, #0 + add r5, r0, #0 + cmp r6, #3 + blo _021DB45A + bl ErrorHandling +_021DB45A: + mov r0, #4 + mov r1, #0x14 + bl AllocFromHeap + add r4, r0, #0 + ldr r0, _021DB4AC ; =UNK05_021F65FC + lsl r1, r6, #2 + ldr r0, [r0, r1] + str r5, [r4, #0xc] + add r1, r4, #4 + bl MOD05_021DB61C + str r0, [r4] + mov r0, #0 + str r0, [r4, #8] + bl FUN_020126D8 + lsr r1, r0, #0x1f + add r1, r0, r1 + asr r3, r1, #1 + ldr r5, [r4] + mov r1, #0 + cmp r5, #0 + bls _021DB49E + ldr r2, [r4, #4] +_021DB48C: + ldr r0, [r2] + cmp r0, r3 + bls _021DB496 + str r1, [r4, #8] + b _021DB49E +_021DB496: + add r1, r1, #1 + add r2, #0x30 + cmp r1, r5 + blo _021DB48C +_021DB49E: + mov r0, #1 + str r0, [r4, #0x10] + add r0, r4, #0 + bl MOD05_021DB5D4 + add r0, r4, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_021DB4AC: .word UNK05_021F65FC + + thumb_func_start MOD05_021DB4B0 +MOD05_021DB4B0: ; 0x021DB4B0 + push {r4, lr} + add r4, r0, #0 + bne _021DB4BA + bl ErrorHandling +_021DB4BA: + ldr r0, [r4] + add r0, r0, #4 + bl MOD05_021DB7A0 + ldr r1, [r4] + mov r0, #4 + bl FUN_02016A8C + mov r0, #0 + str r0, [r4] + pop {r4, pc} + + thumb_func_start MOD05_021DB4D0 +MOD05_021DB4D0: ; 0x021DB4D0 + push {r3, r4, r5, lr} + add r4, r0, #0 + bne _021DB4DA + bl ErrorHandling +_021DB4DA: + bl FUN_020126D8 + lsr r1, r0, #0x1f + add r1, r0, r1 + asr r0, r1, #1 + ldr r1, [r4] + cmp r1, #1 + bls _021DB528 + ldr r1, [r4, #8] + sub r5, r1, #1 + bmi _021DB4FA + mov r2, #0x30 + ldr r3, [r4, #4] + mul r2, r5 + ldr r2, [r3, r2] + b _021DB4FC +_021DB4FA: + mov r2, #0 +_021DB4FC: + mov r3, #0x30 + ldr r5, [r4, #4] + mul r3, r1 + ldr r1, [r5, r3] + cmp r0, r1 + bge _021DB50C + cmp r0, r2 + bge _021DB528 +_021DB50C: + ldr r0, [r4, #8] + add r1, r0, #1 + str r1, [r4, #8] + ldr r0, [r4] + cmp r1, r0 + blo _021DB51C + mov r0, #0 + str r0, [r4, #8] +_021DB51C: + ldr r0, [r4, #0x10] + cmp r0, #0 + beq _021DB528 + add r0, r4, #0 + bl MOD05_021DB5D4 +_021DB528: + pop {r3, r4, r5, pc} + .balign 4, 0 + + thumb_func_start MOD05_021DB52C +MOD05_021DB52C: ; 0x021DB52C + push {r3, lr} + str r1, [r0, #0x10] + cmp r1, #0 + beq _021DB538 + bl MOD05_021DB5D4 +_021DB538: + pop {r3, pc} + .balign 4, 0 + + thumb_func_start MOD05_021DB53C +MOD05_021DB53C: ; 0x021DB53C + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + str r0, [sp, #4] + add r6, r1, #0 + mov r4, #0 + add r5, r0, #0 + add r7, r0, #0 +_021DB54A: + ldr r0, [sp, #4] + ldrb r1, [r0, #4] + mov r0, #1 + lsl r0, r4 + tst r0, r1 + beq _021DB578 + mov r0, #0x12 + ldrsh r0, [r5, r0] + mov r2, #0xe + mov r3, #0x10 + str r0, [sp] + ldrsh r2, [r5, r2] + ldrsh r3, [r5, r3] + add r0, r6, #0 + add r1, r4, #0 + bl MOD05_021DBC94 + ldrh r2, [r7, #6] + add r0, r6, #0 + add r1, r4, #0 + bl MOD05_021DBCBC + b _021DB592 +_021DB578: + mov r0, #0 + mov r2, #0 + str r0, [sp] + add r0, r6, #0 + add r1, r4, #0 + add r3, r2, #0 + bl MOD05_021DBC94 + add r0, r6, #0 + add r1, r4, #0 + mov r2, #0 + bl MOD05_021DBCBC +_021DB592: + add r4, r4, #1 + add r5, r5, #6 + add r7, r7, #2 + cmp r4, #4 + blt _021DB54A + ldr r1, [sp, #4] + mov r2, #0 + ldrh r1, [r1, #0x26] + add r0, r6, #0 + add r3, r2, #0 + bl MOD05_021DBCD0 + ldr r1, [sp, #4] + add r0, r6, #0 + ldrh r1, [r1, #0x28] + mov r2, #1 + bl MOD05_021DBCE4 + ldr r1, [sp, #4] + mov r2, #0 + ldrh r1, [r1, #0x2a] + add r0, r6, #0 + add r3, r2, #0 + bl MOD05_021DBCF8 + ldr r1, [sp, #4] + add r0, r6, #0 + ldrh r1, [r1, #0x2c] + mov r2, #1 + bl MOD05_021DBD0C + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + + thumb_func_start MOD05_021DB5D4 +MOD05_021DB5D4: ; 0x021DB5D4 + add r3, r0, #0 + ldr r1, [r3, #8] + mov r0, #0x30 + mul r0, r1 + ldr r2, [r3, #4] + ldr r1, [r3, #0xc] + ldr r3, _021DB5E8 ; =MOD05_021DB53C + add r0, r2, r0 + bx r3 + nop +_021DB5E8: .word MOD05_021DB53C + + thumb_func_start MOD05_021DB5EC +MOD05_021DB5EC: ; 0x021DB5EC + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + mov r2, #0x40 + bl FUN_020BC094 + add r0, r4, #0 + mov r1, #0 + mov r2, #0x80 + bl FUN_020BC094 + mov r2, #2 + add r0, r4, #0 + mov r1, #0 + lsl r2, r2, #8 + bl FUN_020BC094 + mov r2, #1 + add r0, r4, #0 + mov r1, #0 + lsl r2, r2, #0xa + bl FUN_020BC094 + pop {r4, pc} + + thumb_func_start MOD05_021DB61C +MOD05_021DB61C: ; 0x021DB61C + push {r4, r5, r6, r7, lr} + sub sp, #0x1fc + sub sp, #0x20 + add r2, r0, #0 + str r1, [sp] + mov r0, #4 + add r1, r2, #0 + bl FUN_020161A4 + mov r1, #0 + str r0, [sp, #0x14] + str r1, [sp, #8] + add r5, sp, #0x11c + mov r6, #1 + mov r7, #2 + add r4, r1, #0 +_021DB63C: + add r1, r5, #0 + mov r2, #0xd + bl FUN_0201C6C8 + ldrsb r1, [r5, r4] + cmp r1, #0x45 + bne _021DB656 + ldrsb r1, [r5, r6] + cmp r1, #0x4f + bne _021DB656 + ldrsb r1, [r5, r7] + cmp r1, #0x46 + beq _021DB6A4 +_021DB656: + add r1, r5, #0 + mov r2, #0xd + bl FUN_0201C6C8 + add r1, r5, #0 + mov r2, #0xd + bl FUN_0201C6C8 + add r1, r5, #0 + mov r2, #0xd + bl FUN_0201C6C8 + add r1, r5, #0 + mov r2, #0xd + bl FUN_0201C6C8 + add r1, r5, #0 + mov r2, #0xd + bl FUN_0201C6C8 + add r1, r5, #0 + mov r2, #0xd + bl FUN_0201C6C8 + add r1, r5, #0 + mov r2, #0xd + bl FUN_0201C6C8 + add r1, r5, #0 + mov r2, #0xd + bl FUN_0201C6C8 + add r1, r5, #0 + mov r2, #0xd + bl FUN_0201C6C8 + ldr r1, [sp, #8] + add r1, r1, #1 + str r1, [sp, #8] +_021DB6A4: + mov r1, #0 + ldrsb r1, [r5, r1] + cmp r1, #0x45 + bne _021DB63C + mov r1, #1 + ldrsb r1, [r5, r1] + cmp r1, #0x4f + bne _021DB63C + mov r1, #2 + ldrsb r1, [r5, r1] + cmp r1, #0x46 + bne _021DB63C + ldr r0, [sp, #8] + mov r1, #0x30 + add r4, r0, #0 + mul r4, r1 + mov r0, #4 + add r1, r4, #0 + bl AllocFromHeap + ldr r1, [sp] + add r2, r4, #0 + str r0, [r1] + mov r1, #0 + bl MI_CpuFill8 + mov r1, #0 + str r1, [sp, #0x18] + ldr r1, [sp, #8] + ldr r0, [sp, #0x14] + cmp r1, #0 + ble _021DB78A + ldr r1, [sp, #0x18] + str r1, [sp, #0x10] +_021DB6E8: + ldr r1, [sp] + mov r2, #0xd + ldr r5, [r1] + ldr r1, [sp, #0x10] + add r4, r5, r1 + add r1, sp, #0x11c + bl FUN_0201C6C8 + str r0, [sp, #4] + add r0, sp, #0x11c + add r1, sp, #0x1c + mov r2, #0x2c + bl FUN_0201C6C8 + add r0, sp, #0x1c + bl FUN_0201C70C + ldr r1, [sp, #0x10] + add r6, r4, #0 + str r0, [r5, r1] + add r0, r4, #6 + mov r7, #0 + add r6, #0xe + str r0, [sp, #0xc] + add r5, r4, #0 +_021DB71A: + ldr r0, [sp, #4] + ldr r1, [sp, #0xc] + add r2, r6, #0 + bl MOD05_021DB7B4 + str r0, [sp, #4] + ldrh r1, [r5, #6] + ldr r0, _021DB79C ; =0x0000FFFF + cmp r1, r0 + beq _021DB73A + mov r0, #1 + ldrb r1, [r4, #4] + lsl r0, r7 + orr r0, r1 + strb r0, [r4, #4] + b _021DB73E +_021DB73A: + mov r0, #0 + strh r0, [r5, #6] +_021DB73E: + ldr r0, [sp, #0xc] + add r7, r7, #1 + add r0, r0, #2 + add r6, r6, #6 + add r5, r5, #2 + str r0, [sp, #0xc] + cmp r7, #4 + blt _021DB71A + add r1, r4, #0 + ldr r0, [sp, #4] + add r1, #0x26 + bl MOD05_021DB8A4 + add r1, r4, #0 + add r1, #0x28 + bl MOD05_021DB8A4 + add r1, r4, #0 + add r1, #0x2a + bl MOD05_021DB8A4 + add r4, #0x2c + add r1, r4, #0 + bl MOD05_021DB8A4 + add r1, sp, #0x11c + mov r2, #0xd + bl FUN_0201C6C8 + ldr r1, [sp, #0x10] + add r1, #0x30 + str r1, [sp, #0x10] + ldr r1, [sp, #0x18] + add r2, r1, #1 + ldr r1, [sp, #8] + str r2, [sp, #0x18] + cmp r2, r1 + blt _021DB6E8 +_021DB78A: + ldr r1, [sp, #0x14] + mov r0, #4 + bl FUN_02016A8C + ldr r0, [sp, #8] + add sp, #0x1fc + add sp, #0x20 + pop {r4, r5, r6, r7, pc} + nop +_021DB79C: .word 0x0000FFFF + + thumb_func_start MOD05_021DB7A0 +MOD05_021DB7A0: ; 0x021DB7A0 + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + mov r0, #4 + bl FUN_02016A8C + mov r0, #0 + str r0, [r4] + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021DB7B4 +MOD05_021DB7B4: ; 0x021DB7B4 + push {r4, r5, r6, r7, lr} + sub sp, #0x1fc + sub sp, #0x20 + str r1, [sp, #4] + add r7, r2, #0 + add r1, sp, #0x11c + mov r2, #0xd + bl FUN_0201C6C8 + str r0, [sp] + add r0, sp, #0x11c + add r1, sp, #0x1c + mov r2, #0x2c + bl FUN_0201C6C8 + add r4, r0, #0 + add r0, sp, #0x1c + bl FUN_0201C70C + cmp r0, #1 + bne _021DB88C + mov r6, #0 + add r5, sp, #8 +_021DB7E2: + add r0, r4, #0 + add r1, sp, #0x1c + mov r2, #0x2c + bl FUN_0201C6C8 + add r4, r0, #0 + add r0, sp, #0x1c + bl FUN_0201C70C + strh r0, [r5] + add r6, r6, #1 + add r5, r5, #2 + cmp r6, #3 + blt _021DB7E2 + add r1, sp, #8 + ldrh r0, [r1, #4] + ldrh r2, [r1] + ldrh r1, [r1, #2] + lsl r0, r0, #0xa + mov r6, #0 + lsl r1, r1, #5 + orr r1, r2 + orr r1, r0 + ldr r0, [sp, #4] + add r5, sp, #0x10 + strh r1, [r0] +_021DB816: + add r0, r4, #0 + add r1, sp, #0x1c + mov r2, #0x2c + bl FUN_0201C6C8 + add r4, r0, #0 + add r0, sp, #0x1c + bl FUN_0201C70C + add r6, r6, #1 + stmia r5!, {r0} + cmp r6, #3 + blt _021DB816 + ldr r0, [sp, #0x10] + strh r0, [r7] + ldr r0, [sp, #0x14] + strh r0, [r7, #2] + ldr r0, [sp, #0x18] + strh r0, [r7, #4] + mov r0, #0 + ldrsh r1, [r7, r0] + mov r0, #1 + lsl r0, r0, #0xc + cmp r1, r0 + ble _021DB84A + strh r0, [r7] +_021DB84A: + mov r0, #0 + ldrsh r1, [r7, r0] + ldr r0, _021DB89C ; =0xFFFFF000 + cmp r1, r0 + bge _021DB856 + strh r0, [r7] +_021DB856: + mov r0, #2 + ldrsh r2, [r7, r0] + lsl r1, r0, #0xb + cmp r2, r1 + ble _021DB864 + lsl r0, r0, #0xb + strh r0, [r7, #2] +_021DB864: + mov r0, #2 + ldrsh r1, [r7, r0] + ldr r0, _021DB89C ; =0xFFFFF000 + cmp r1, r0 + bge _021DB870 + strh r0, [r7, #2] +_021DB870: + mov r0, #4 + ldrsh r2, [r7, r0] + lsl r1, r0, #0xa + cmp r2, r1 + ble _021DB87E + lsl r0, r0, #0xa + strh r0, [r7, #4] +_021DB87E: + mov r0, #4 + ldrsh r1, [r7, r0] + ldr r0, _021DB89C ; =0xFFFFF000 + cmp r1, r0 + bge _021DB892 + strh r0, [r7, #4] + b _021DB892 +_021DB88C: + ldr r1, _021DB8A0 ; =0x0000FFFF + ldr r0, [sp, #4] + strh r1, [r0] +_021DB892: + ldr r0, [sp] + add sp, #0x1fc + add sp, #0x20 + pop {r4, r5, r6, r7, pc} + nop +_021DB89C: .word 0xFFFFF000 +_021DB8A0: .word 0x0000FFFF + + thumb_func_start MOD05_021DB8A4 +MOD05_021DB8A4: ; 0x021DB8A4 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x1fc + sub sp, #0x14 + str r1, [sp, #4] + add r1, sp, #0x10c + add r1, #2 + mov r2, #0xd + bl FUN_0201C6C8 + add r6, sp, #0x10c + add r7, sp, #0xc + str r0, [sp] + add r6, #2 + mov r4, #0 + add r5, sp, #8 + add r7, #2 +_021DB8C4: + add r0, r6, #0 + add r1, r7, #0 + mov r2, #0x2c + bl FUN_0201C6C8 + add r6, r0, #0 + add r0, r7, #0 + bl FUN_0201C70C + strh r0, [r5] + add r4, r4, #1 + add r5, r5, #2 + cmp r4, #3 + blt _021DB8C4 + add r0, sp, #8 + ldrh r1, [r0, #4] + lsl r2, r1, #0xa + ldrh r1, [r0] + ldrh r0, [r0, #2] + lsl r0, r0, #5 + orr r0, r1 + add r1, r2, #0 + orr r1, r0 + ldr r0, [sp, #4] + strh r1, [r0] + ldr r0, [sp] + add sp, #0x1fc + add sp, #0x14 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + + .section .rodata + + .global UNK05_021F65FC +UNK05_021F65FC: ; 0x021F65FC + .word UNK05_021FD1F8, UNK05_021FD1E0, UNK05_021FD210 + + .section .data + + .global UNK05_021FD1E0 +UNK05_021FD1E0: ; 0x021FD1E0 + .asciz "data/area01light.txt" + + .balign 4 + .global UNK05_021FD1F8 +UNK05_021FD1F8: ; 0x021FD1F8 + .asciz "data/area00light.txt" + + .balign 4 + .global UNK05_021FD210 +UNK05_021FD210: ; 0x021FD210 + .asciz "data/area02light.txt" diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index e49b2ab9..a6309956 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -3,612 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD05_021DB44C -MOD05_021DB44C: ; 0x021DB44C - push {r4, r5, r6, lr} - add r6, r1, #0 - add r5, r0, #0 - cmp r6, #3 - blo _021DB45A - bl ErrorHandling -_021DB45A: - mov r0, #4 - mov r1, #0x14 - bl AllocFromHeap - add r4, r0, #0 - ldr r0, _021DB4AC ; =UNK05_021F65FC - lsl r1, r6, #2 - ldr r0, [r0, r1] - str r5, [r4, #0xc] - add r1, r4, #4 - bl MOD05_021DB61C - str r0, [r4] - mov r0, #0 - str r0, [r4, #8] - bl FUN_020126D8 - lsr r1, r0, #0x1f - add r1, r0, r1 - asr r3, r1, #1 - ldr r5, [r4] - mov r1, #0 - cmp r5, #0 - bls _021DB49E - ldr r2, [r4, #4] -_021DB48C: - ldr r0, [r2] - cmp r0, r3 - bls _021DB496 - str r1, [r4, #8] - b _021DB49E -_021DB496: - add r1, r1, #1 - add r2, #0x30 - cmp r1, r5 - blo _021DB48C -_021DB49E: - mov r0, #1 - str r0, [r4, #0x10] - add r0, r4, #0 - bl MOD05_021DB5D4 - add r0, r4, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_021DB4AC: .word UNK05_021F65FC - - thumb_func_start MOD05_021DB4B0 -MOD05_021DB4B0: ; 0x021DB4B0 - push {r4, lr} - add r4, r0, #0 - bne _021DB4BA - bl ErrorHandling -_021DB4BA: - ldr r0, [r4] - add r0, r0, #4 - bl MOD05_021DB7A0 - ldr r1, [r4] - mov r0, #4 - bl FUN_02016A8C - mov r0, #0 - str r0, [r4] - pop {r4, pc} - - thumb_func_start MOD05_021DB4D0 -MOD05_021DB4D0: ; 0x021DB4D0 - push {r3, r4, r5, lr} - add r4, r0, #0 - bne _021DB4DA - bl ErrorHandling -_021DB4DA: - bl FUN_020126D8 - lsr r1, r0, #0x1f - add r1, r0, r1 - asr r0, r1, #1 - ldr r1, [r4] - cmp r1, #1 - bls _021DB528 - ldr r1, [r4, #8] - sub r5, r1, #1 - bmi _021DB4FA - mov r2, #0x30 - ldr r3, [r4, #4] - mul r2, r5 - ldr r2, [r3, r2] - b _021DB4FC -_021DB4FA: - mov r2, #0 -_021DB4FC: - mov r3, #0x30 - ldr r5, [r4, #4] - mul r3, r1 - ldr r1, [r5, r3] - cmp r0, r1 - bge _021DB50C - cmp r0, r2 - bge _021DB528 -_021DB50C: - ldr r0, [r4, #8] - add r1, r0, #1 - str r1, [r4, #8] - ldr r0, [r4] - cmp r1, r0 - blo _021DB51C - mov r0, #0 - str r0, [r4, #8] -_021DB51C: - ldr r0, [r4, #0x10] - cmp r0, #0 - beq _021DB528 - add r0, r4, #0 - bl MOD05_021DB5D4 -_021DB528: - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DB52C -MOD05_021DB52C: ; 0x021DB52C - push {r3, lr} - str r1, [r0, #0x10] - cmp r1, #0 - beq _021DB538 - bl MOD05_021DB5D4 -_021DB538: - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DB53C -MOD05_021DB53C: ; 0x021DB53C - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - str r0, [sp, #4] - add r6, r1, #0 - mov r4, #0 - add r5, r0, #0 - add r7, r0, #0 -_021DB54A: - ldr r0, [sp, #4] - ldrb r1, [r0, #4] - mov r0, #1 - lsl r0, r4 - tst r0, r1 - beq _021DB578 - mov r0, #0x12 - ldrsh r0, [r5, r0] - mov r2, #0xe - mov r3, #0x10 - str r0, [sp] - ldrsh r2, [r5, r2] - ldrsh r3, [r5, r3] - add r0, r6, #0 - add r1, r4, #0 - bl MOD05_021DBC94 - ldrh r2, [r7, #6] - add r0, r6, #0 - add r1, r4, #0 - bl MOD05_021DBCBC - b _021DB592 -_021DB578: - mov r0, #0 - mov r2, #0 - str r0, [sp] - add r0, r6, #0 - add r1, r4, #0 - add r3, r2, #0 - bl MOD05_021DBC94 - add r0, r6, #0 - add r1, r4, #0 - mov r2, #0 - bl MOD05_021DBCBC -_021DB592: - add r4, r4, #1 - add r5, r5, #6 - add r7, r7, #2 - cmp r4, #4 - blt _021DB54A - ldr r1, [sp, #4] - mov r2, #0 - ldrh r1, [r1, #0x26] - add r0, r6, #0 - add r3, r2, #0 - bl MOD05_021DBCD0 - ldr r1, [sp, #4] - add r0, r6, #0 - ldrh r1, [r1, #0x28] - mov r2, #1 - bl MOD05_021DBCE4 - ldr r1, [sp, #4] - mov r2, #0 - ldrh r1, [r1, #0x2a] - add r0, r6, #0 - add r3, r2, #0 - bl MOD05_021DBCF8 - ldr r1, [sp, #4] - add r0, r6, #0 - ldrh r1, [r1, #0x2c] - mov r2, #1 - bl MOD05_021DBD0C - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - - thumb_func_start MOD05_021DB5D4 -MOD05_021DB5D4: ; 0x021DB5D4 - add r3, r0, #0 - ldr r1, [r3, #8] - mov r0, #0x30 - mul r0, r1 - ldr r2, [r3, #4] - ldr r1, [r3, #0xc] - ldr r3, _021DB5E8 ; =MOD05_021DB53C - add r0, r2, r0 - bx r3 - nop -_021DB5E8: .word MOD05_021DB53C - - thumb_func_start MOD05_021DB5EC -MOD05_021DB5EC: ; 0x021DB5EC - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - mov r2, #0x40 - bl FUN_020BC094 - add r0, r4, #0 - mov r1, #0 - mov r2, #0x80 - bl FUN_020BC094 - mov r2, #2 - add r0, r4, #0 - mov r1, #0 - lsl r2, r2, #8 - bl FUN_020BC094 - mov r2, #1 - add r0, r4, #0 - mov r1, #0 - lsl r2, r2, #0xa - bl FUN_020BC094 - pop {r4, pc} - - thumb_func_start MOD05_021DB61C -MOD05_021DB61C: ; 0x021DB61C - push {r4, r5, r6, r7, lr} - sub sp, #0x1fc - sub sp, #0x20 - add r2, r0, #0 - str r1, [sp] - mov r0, #4 - add r1, r2, #0 - bl FUN_020161A4 - mov r1, #0 - str r0, [sp, #0x14] - str r1, [sp, #8] - add r5, sp, #0x11c - mov r6, #1 - mov r7, #2 - add r4, r1, #0 -_021DB63C: - add r1, r5, #0 - mov r2, #0xd - bl FUN_0201C6C8 - ldrsb r1, [r5, r4] - cmp r1, #0x45 - bne _021DB656 - ldrsb r1, [r5, r6] - cmp r1, #0x4f - bne _021DB656 - ldrsb r1, [r5, r7] - cmp r1, #0x46 - beq _021DB6A4 -_021DB656: - add r1, r5, #0 - mov r2, #0xd - bl FUN_0201C6C8 - add r1, r5, #0 - mov r2, #0xd - bl FUN_0201C6C8 - add r1, r5, #0 - mov r2, #0xd - bl FUN_0201C6C8 - add r1, r5, #0 - mov r2, #0xd - bl FUN_0201C6C8 - add r1, r5, #0 - mov r2, #0xd - bl FUN_0201C6C8 - add r1, r5, #0 - mov r2, #0xd - bl FUN_0201C6C8 - add r1, r5, #0 - mov r2, #0xd - bl FUN_0201C6C8 - add r1, r5, #0 - mov r2, #0xd - bl FUN_0201C6C8 - add r1, r5, #0 - mov r2, #0xd - bl FUN_0201C6C8 - ldr r1, [sp, #8] - add r1, r1, #1 - str r1, [sp, #8] -_021DB6A4: - mov r1, #0 - ldrsb r1, [r5, r1] - cmp r1, #0x45 - bne _021DB63C - mov r1, #1 - ldrsb r1, [r5, r1] - cmp r1, #0x4f - bne _021DB63C - mov r1, #2 - ldrsb r1, [r5, r1] - cmp r1, #0x46 - bne _021DB63C - ldr r0, [sp, #8] - mov r1, #0x30 - add r4, r0, #0 - mul r4, r1 - mov r0, #4 - add r1, r4, #0 - bl AllocFromHeap - ldr r1, [sp] - add r2, r4, #0 - str r0, [r1] - mov r1, #0 - bl MI_CpuFill8 - mov r1, #0 - str r1, [sp, #0x18] - ldr r1, [sp, #8] - ldr r0, [sp, #0x14] - cmp r1, #0 - ble _021DB78A - ldr r1, [sp, #0x18] - str r1, [sp, #0x10] -_021DB6E8: - ldr r1, [sp] - mov r2, #0xd - ldr r5, [r1] - ldr r1, [sp, #0x10] - add r4, r5, r1 - add r1, sp, #0x11c - bl FUN_0201C6C8 - str r0, [sp, #4] - add r0, sp, #0x11c - add r1, sp, #0x1c - mov r2, #0x2c - bl FUN_0201C6C8 - add r0, sp, #0x1c - bl FUN_0201C70C - ldr r1, [sp, #0x10] - add r6, r4, #0 - str r0, [r5, r1] - add r0, r4, #6 - mov r7, #0 - add r6, #0xe - str r0, [sp, #0xc] - add r5, r4, #0 -_021DB71A: - ldr r0, [sp, #4] - ldr r1, [sp, #0xc] - add r2, r6, #0 - bl MOD05_021DB7B4 - str r0, [sp, #4] - ldrh r1, [r5, #6] - ldr r0, _021DB79C ; =0x0000FFFF - cmp r1, r0 - beq _021DB73A - mov r0, #1 - ldrb r1, [r4, #4] - lsl r0, r7 - orr r0, r1 - strb r0, [r4, #4] - b _021DB73E -_021DB73A: - mov r0, #0 - strh r0, [r5, #6] -_021DB73E: - ldr r0, [sp, #0xc] - add r7, r7, #1 - add r0, r0, #2 - add r6, r6, #6 - add r5, r5, #2 - str r0, [sp, #0xc] - cmp r7, #4 - blt _021DB71A - add r1, r4, #0 - ldr r0, [sp, #4] - add r1, #0x26 - bl MOD05_021DB8A4 - add r1, r4, #0 - add r1, #0x28 - bl MOD05_021DB8A4 - add r1, r4, #0 - add r1, #0x2a - bl MOD05_021DB8A4 - add r4, #0x2c - add r1, r4, #0 - bl MOD05_021DB8A4 - add r1, sp, #0x11c - mov r2, #0xd - bl FUN_0201C6C8 - ldr r1, [sp, #0x10] - add r1, #0x30 - str r1, [sp, #0x10] - ldr r1, [sp, #0x18] - add r2, r1, #1 - ldr r1, [sp, #8] - str r2, [sp, #0x18] - cmp r2, r1 - blt _021DB6E8 -_021DB78A: - ldr r1, [sp, #0x14] - mov r0, #4 - bl FUN_02016A8C - ldr r0, [sp, #8] - add sp, #0x1fc - add sp, #0x20 - pop {r4, r5, r6, r7, pc} - nop -_021DB79C: .word 0x0000FFFF - - thumb_func_start MOD05_021DB7A0 -MOD05_021DB7A0: ; 0x021DB7A0 - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - mov r0, #4 - bl FUN_02016A8C - mov r0, #0 - str r0, [r4] - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DB7B4 -MOD05_021DB7B4: ; 0x021DB7B4 - push {r4, r5, r6, r7, lr} - sub sp, #0x1fc - sub sp, #0x20 - str r1, [sp, #4] - add r7, r2, #0 - add r1, sp, #0x11c - mov r2, #0xd - bl FUN_0201C6C8 - str r0, [sp] - add r0, sp, #0x11c - add r1, sp, #0x1c - mov r2, #0x2c - bl FUN_0201C6C8 - add r4, r0, #0 - add r0, sp, #0x1c - bl FUN_0201C70C - cmp r0, #1 - bne _021DB88C - mov r6, #0 - add r5, sp, #8 -_021DB7E2: - add r0, r4, #0 - add r1, sp, #0x1c - mov r2, #0x2c - bl FUN_0201C6C8 - add r4, r0, #0 - add r0, sp, #0x1c - bl FUN_0201C70C - strh r0, [r5] - add r6, r6, #1 - add r5, r5, #2 - cmp r6, #3 - blt _021DB7E2 - add r1, sp, #8 - ldrh r0, [r1, #4] - ldrh r2, [r1] - ldrh r1, [r1, #2] - lsl r0, r0, #0xa - mov r6, #0 - lsl r1, r1, #5 - orr r1, r2 - orr r1, r0 - ldr r0, [sp, #4] - add r5, sp, #0x10 - strh r1, [r0] -_021DB816: - add r0, r4, #0 - add r1, sp, #0x1c - mov r2, #0x2c - bl FUN_0201C6C8 - add r4, r0, #0 - add r0, sp, #0x1c - bl FUN_0201C70C - add r6, r6, #1 - stmia r5!, {r0} - cmp r6, #3 - blt _021DB816 - ldr r0, [sp, #0x10] - strh r0, [r7] - ldr r0, [sp, #0x14] - strh r0, [r7, #2] - ldr r0, [sp, #0x18] - strh r0, [r7, #4] - mov r0, #0 - ldrsh r1, [r7, r0] - mov r0, #1 - lsl r0, r0, #0xc - cmp r1, r0 - ble _021DB84A - strh r0, [r7] -_021DB84A: - mov r0, #0 - ldrsh r1, [r7, r0] - ldr r0, _021DB89C ; =0xFFFFF000 - cmp r1, r0 - bge _021DB856 - strh r0, [r7] -_021DB856: - mov r0, #2 - ldrsh r2, [r7, r0] - lsl r1, r0, #0xb - cmp r2, r1 - ble _021DB864 - lsl r0, r0, #0xb - strh r0, [r7, #2] -_021DB864: - mov r0, #2 - ldrsh r1, [r7, r0] - ldr r0, _021DB89C ; =0xFFFFF000 - cmp r1, r0 - bge _021DB870 - strh r0, [r7, #2] -_021DB870: - mov r0, #4 - ldrsh r2, [r7, r0] - lsl r1, r0, #0xa - cmp r2, r1 - ble _021DB87E - lsl r0, r0, #0xa - strh r0, [r7, #4] -_021DB87E: - mov r0, #4 - ldrsh r1, [r7, r0] - ldr r0, _021DB89C ; =0xFFFFF000 - cmp r1, r0 - bge _021DB892 - strh r0, [r7, #4] - b _021DB892 -_021DB88C: - ldr r1, _021DB8A0 ; =0x0000FFFF - ldr r0, [sp, #4] - strh r1, [r0] -_021DB892: - ldr r0, [sp] - add sp, #0x1fc - add sp, #0x20 - pop {r4, r5, r6, r7, pc} - nop -_021DB89C: .word 0xFFFFF000 -_021DB8A0: .word 0x0000FFFF - - thumb_func_start MOD05_021DB8A4 -MOD05_021DB8A4: ; 0x021DB8A4 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x1fc - sub sp, #0x14 - str r1, [sp, #4] - add r1, sp, #0x10c - add r1, #2 - mov r2, #0xd - bl FUN_0201C6C8 - add r6, sp, #0x10c - add r7, sp, #0xc - str r0, [sp] - add r6, #2 - mov r4, #0 - add r5, sp, #8 - add r7, #2 -_021DB8C4: - add r0, r6, #0 - add r1, r7, #0 - mov r2, #0x2c - bl FUN_0201C6C8 - add r6, r0, #0 - add r0, r7, #0 - bl FUN_0201C70C - strh r0, [r5] - add r4, r4, #1 - add r5, r5, #2 - cmp r4, #3 - blt _021DB8C4 - add r0, sp, #8 - ldrh r1, [r0, #4] - lsl r2, r1, #0xa - ldrh r1, [r0] - ldrh r0, [r0, #2] - lsl r0, r0, #5 - orr r0, r1 - add r1, r2, #0 - orr r1, r0 - ldr r0, [sp, #4] - strh r1, [r0] - ldr r0, [sp] - add sp, #0x1fc - add sp, #0x14 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_start MOD05_021DB900 MOD05_021DB900: ; 0x021DB900 push {r4, lr} @@ -55882,10 +55276,6 @@ _021F6428: .word MOD05_021F57F0 .section .rodata - .global UNK05_021F65FC -UNK05_021F65FC: ; 0x021F65FC - .word UNK05_021FD1F8, UNK05_021FD1E0, UNK05_021FD210 - .global UNK05_021F6608 UNK05_021F6608: ; 0x021F6608 .byte 0xC1, 0xAE, 0x29, 0x00, 0x02, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x05 @@ -58908,20 +58298,6 @@ UNK05_021FD1B8: ; 0x021FD1B8 .section .data - .global UNK05_021FD1E0 -UNK05_021FD1E0: ; 0x021FD1E0 - .asciz "data/area01light.txt" - - .balign 4 - .global UNK05_021FD1F8 -UNK05_021FD1F8: ; 0x021FD1F8 - .asciz "data/area00light.txt" - - .balign 4 - .global UNK05_021FD210 -UNK05_021FD210: ; 0x021FD210 - .asciz "data/area02light.txt" - .balign 4 .global UNK05_021FD228 UNK05_021FD228: ; 0x021FD228 |