summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lsf1
-rw-r--r--arm9/global.inc7
-rw-r--r--arm9/modules/05/asm/mod05_021DB44C.s632
-rw-r--r--arm9/modules/05/asm/module_05.s624
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