summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lsf1
-rw-r--r--arm9/modules/05/asm/mod05_021D7F4C.s224
-rw-r--r--arm9/modules/05/asm/module_05.s220
3 files changed, 225 insertions, 220 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index f7bf6bba..1b683c37 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -517,6 +517,7 @@ Overlay MODULE_05
##Overworld##
After arm9
Object mod05_021D74E0.o
+ Object mod05_021D7F4C.o
Object module_05.o
}
diff --git a/arm9/modules/05/asm/mod05_021D7F4C.s b/arm9/modules/05/asm/mod05_021D7F4C.s
new file mode 100644
index 00000000..2ba8b668
--- /dev/null
+++ b/arm9/modules/05/asm/mod05_021D7F4C.s
@@ -0,0 +1,224 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD05_021D7F4C
+MOD05_021D7F4C: ; 0x021D7F4C
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r7, r0, #0
+ add r0, r5, #0
+ mov r1, #0x14
+ add r6, r2, #0
+ bl AllocFromHeap
+ add r4, r0, #0
+ str r7, [r4]
+ str r5, [r4, #4]
+ mov r0, #0x14
+ add r7, r6, #0
+ mul r7, r0
+ str r6, [r4, #8]
+ add r0, r5, #0
+ add r1, r7, #0
+ bl AllocFromHeap
+ str r0, [r4, #0xc]
+ ldr r1, [r4, #0xc]
+ mov r0, #0
+ add r2, r7, #0
+ bl MIi_CpuClear32
+ add r0, r6, #0
+ bl FUN_0201B578
+ add r1, r0, #0
+ add r0, r5, #0
+ bl AllocFromHeap
+ str r0, [r4, #0x10]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl FUN_0201B580
+ str r0, [r4, #0x10]
+ add r0, r4, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD05_021D7F9C
+MOD05_021D7F9C: ; 0x021D7F9C
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #8]
+ mov r6, #0
+ cmp r0, #0
+ ble _021D7FBC
+ add r4, r6, #0
+_021D7FAA:
+ ldr r0, [r5, #0xc]
+ add r0, r0, r4
+ bl MOD05_021D80A4
+ ldr r0, [r5, #8]
+ add r6, r6, #1
+ add r4, #0x14
+ cmp r6, r0
+ blt _021D7FAA
+_021D7FBC:
+ ldr r0, [r5, #0xc]
+ bl FreeToHeap
+ ldr r0, [r5, #0x10]
+ bl FreeToHeap
+ add r0, r5, #0
+ bl FreeToHeap
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD05_021D7FD0
+MOD05_021D7FD0: ; 0x021D7FD0
+ ldr r3, _021D7FD8 ; =FUN_0201B5CC
+ ldr r0, [r0, #0x10]
+ bx r3
+ nop
+_021D7FD8: .word FUN_0201B5CC
+
+ thumb_func_start MOD05_021D7FDC
+MOD05_021D7FDC: ; 0x021D7FDC
+ push {r4, lr}
+ add r4, r1, #0
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl FUN_020373AC
+ cmp r0, #0
+ beq _021D7FFE
+ ldr r0, [r4, #0xc]
+ ldr r3, [r0, #0x10]
+ cmp r3, #0
+ beq _021D7FFE
+ ldr r1, [r4]
+ ldr r2, [r4, #0x10]
+ ldr r1, [r1]
+ add r0, r4, #0
+ blx r3
+_021D7FFE:
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021D8000
+MOD05_021D8000: ; 0x021D8000
+ push {r4, lr}
+ add r4, r1, #0
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl FUN_020373AC
+ cmp r0, #0
+ beq _021D8022
+ ldr r0, [r4, #0xc]
+ ldr r3, [r0, #0x14]
+ cmp r3, #0
+ beq _021D8022
+ ldr r1, [r4]
+ ldr r2, [r4, #0x10]
+ ldr r1, [r1]
+ add r0, r4, #0
+ blx r3
+_021D8022:
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021D8024
+MOD05_021D8024: ; 0x021D8024
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ ldr r2, [r5, #8]
+ add r6, r1, #0
+ mov r1, #0
+ ldr r4, [r5, #0xc]
+ cmp r2, #0
+ ble _021D8094
+_021D8034:
+ ldr r0, [r4, #4]
+ cmp r0, #0
+ bne _021D808C
+ ldr r0, _021D809C ; =MOD05_021D7FDC
+ ldr r2, [r6]
+ add r1, r4, #0
+ bl FUN_0200CA44
+ str r0, [r4, #4]
+ ldr r0, [r5, #0x10]
+ ldr r1, _021D80A0 ; =MOD05_021D8000
+ ldr r3, [r6]
+ add r2, r4, #0
+ bl FUN_0201B60C
+ str r0, [r4, #8]
+ str r5, [r4]
+ str r6, [r4, #0xc]
+ ldr r0, [r4, #4]
+ cmp r0, #0
+ bne _021D8062
+ bl ErrorHandling
+_021D8062:
+ ldr r0, [r4, #8]
+ cmp r0, #0
+ bne _021D806C
+ bl ErrorHandling
+_021D806C:
+ ldrh r1, [r6, #4]
+ cmp r1, #0
+ beq _021D807A
+ ldr r0, [r5, #4]
+ bl AllocFromHeap
+ str r0, [r4, #0x10]
+_021D807A:
+ ldr r3, [r6, #8]
+ cmp r3, #0
+ beq _021D8088
+ ldr r1, [r5]
+ ldr r2, [r4, #0x10]
+ add r0, r4, #0
+ blx r3
+_021D8088:
+ add r0, r4, #0
+ pop {r4, r5, r6, pc}
+_021D808C:
+ add r1, r1, #1
+ add r4, #0x14
+ cmp r1, r2
+ blt _021D8034
+_021D8094:
+ bl ErrorHandling
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .balign 4, 0
+_021D809C: .word MOD05_021D7FDC
+_021D80A0: .word MOD05_021D8000
+
+ thumb_func_start MOD05_021D80A4
+MOD05_021D80A4: ; 0x021D80A4
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq _021D80E2
+ ldr r1, [r4, #0xc]
+ ldr r3, [r1, #0xc]
+ cmp r3, #0
+ beq _021D80BE
+ ldr r1, [r4]
+ ldr r2, [r4, #0x10]
+ ldr r1, [r1]
+ blx r3
+_021D80BE:
+ ldr r0, [r4, #0xc]
+ ldrh r0, [r0, #4]
+ cmp r0, #0
+ beq _021D80CC
+ ldr r0, [r4, #0x10]
+ bl FreeToHeap
+_021D80CC:
+ ldr r0, [r4, #4]
+ bl FUN_0200CAB4
+ ldr r0, [r4, #8]
+ bl FUN_0200CAB4
+ mov r0, #0
+ add r1, r4, #0
+ mov r2, #0x14
+ bl MIi_CpuClear32
+_021D80E2:
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021D80E4
+MOD05_021D80E4: ; 0x021D80E4
+ ldr r0, [r0, #0x10]
+ bx lr
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s
index 7fb6e8d0..75ed8405 100644
--- a/arm9/modules/05/asm/module_05.s
+++ b/arm9/modules/05/asm/module_05.s
@@ -3,226 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD05_021D7F4C
-MOD05_021D7F4C: ; 0x021D7F4C
- push {r3, r4, r5, r6, r7, lr}
- add r5, r1, #0
- add r7, r0, #0
- add r0, r5, #0
- mov r1, #0x14
- add r6, r2, #0
- bl AllocFromHeap
- add r4, r0, #0
- str r7, [r4]
- str r5, [r4, #4]
- mov r0, #0x14
- add r7, r6, #0
- mul r7, r0
- str r6, [r4, #8]
- add r0, r5, #0
- add r1, r7, #0
- bl AllocFromHeap
- str r0, [r4, #0xc]
- ldr r1, [r4, #0xc]
- mov r0, #0
- add r2, r7, #0
- bl MIi_CpuClear32
- add r0, r6, #0
- bl FUN_0201B578
- add r1, r0, #0
- add r0, r5, #0
- bl AllocFromHeap
- str r0, [r4, #0x10]
- ldr r1, [r4, #0x10]
- add r0, r6, #0
- bl FUN_0201B580
- str r0, [r4, #0x10]
- add r0, r4, #0
- pop {r3, r4, r5, r6, r7, pc}
-
- thumb_func_start MOD05_021D7F9C
-MOD05_021D7F9C: ; 0x021D7F9C
- push {r4, r5, r6, lr}
- add r5, r0, #0
- ldr r0, [r5, #8]
- mov r6, #0
- cmp r0, #0
- ble _021D7FBC
- add r4, r6, #0
-_021D7FAA:
- ldr r0, [r5, #0xc]
- add r0, r0, r4
- bl MOD05_021D80A4
- ldr r0, [r5, #8]
- add r6, r6, #1
- add r4, #0x14
- cmp r6, r0
- blt _021D7FAA
-_021D7FBC:
- ldr r0, [r5, #0xc]
- bl FreeToHeap
- ldr r0, [r5, #0x10]
- bl FreeToHeap
- add r0, r5, #0
- bl FreeToHeap
- pop {r4, r5, r6, pc}
-
- thumb_func_start MOD05_021D7FD0
-MOD05_021D7FD0: ; 0x021D7FD0
- ldr r3, _021D7FD8 ; =FUN_0201B5CC
- ldr r0, [r0, #0x10]
- bx r3
- nop
-_021D7FD8: .word FUN_0201B5CC
-
- thumb_func_start MOD05_021D7FDC
-MOD05_021D7FDC: ; 0x021D7FDC
- push {r4, lr}
- add r4, r1, #0
- ldr r0, [r4]
- ldr r0, [r0]
- bl FUN_020373AC
- cmp r0, #0
- beq _021D7FFE
- ldr r0, [r4, #0xc]
- ldr r3, [r0, #0x10]
- cmp r3, #0
- beq _021D7FFE
- ldr r1, [r4]
- ldr r2, [r4, #0x10]
- ldr r1, [r1]
- add r0, r4, #0
- blx r3
-_021D7FFE:
- pop {r4, pc}
-
- thumb_func_start MOD05_021D8000
-MOD05_021D8000: ; 0x021D8000
- push {r4, lr}
- add r4, r1, #0
- ldr r0, [r4]
- ldr r0, [r0]
- bl FUN_020373AC
- cmp r0, #0
- beq _021D8022
- ldr r0, [r4, #0xc]
- ldr r3, [r0, #0x14]
- cmp r3, #0
- beq _021D8022
- ldr r1, [r4]
- ldr r2, [r4, #0x10]
- ldr r1, [r1]
- add r0, r4, #0
- blx r3
-_021D8022:
- pop {r4, pc}
-
- thumb_func_start MOD05_021D8024
-MOD05_021D8024: ; 0x021D8024
- push {r4, r5, r6, lr}
- add r5, r0, #0
- ldr r2, [r5, #8]
- add r6, r1, #0
- mov r1, #0
- ldr r4, [r5, #0xc]
- cmp r2, #0
- ble _021D8094
-_021D8034:
- ldr r0, [r4, #4]
- cmp r0, #0
- bne _021D808C
- ldr r0, _021D809C ; =MOD05_021D7FDC
- ldr r2, [r6]
- add r1, r4, #0
- bl FUN_0200CA44
- str r0, [r4, #4]
- ldr r0, [r5, #0x10]
- ldr r1, _021D80A0 ; =MOD05_021D8000
- ldr r3, [r6]
- add r2, r4, #0
- bl FUN_0201B60C
- str r0, [r4, #8]
- str r5, [r4]
- str r6, [r4, #0xc]
- ldr r0, [r4, #4]
- cmp r0, #0
- bne _021D8062
- bl ErrorHandling
-_021D8062:
- ldr r0, [r4, #8]
- cmp r0, #0
- bne _021D806C
- bl ErrorHandling
-_021D806C:
- ldrh r1, [r6, #4]
- cmp r1, #0
- beq _021D807A
- ldr r0, [r5, #4]
- bl AllocFromHeap
- str r0, [r4, #0x10]
-_021D807A:
- ldr r3, [r6, #8]
- cmp r3, #0
- beq _021D8088
- ldr r1, [r5]
- ldr r2, [r4, #0x10]
- add r0, r4, #0
- blx r3
-_021D8088:
- add r0, r4, #0
- pop {r4, r5, r6, pc}
-_021D808C:
- add r1, r1, #1
- add r4, #0x14
- cmp r1, r2
- blt _021D8034
-_021D8094:
- bl ErrorHandling
- mov r0, #0
- pop {r4, r5, r6, pc}
- .balign 4, 0
-_021D809C: .word MOD05_021D7FDC
-_021D80A0: .word MOD05_021D8000
-
- thumb_func_start MOD05_021D80A4
-MOD05_021D80A4: ; 0x021D80A4
- push {r4, lr}
- add r4, r0, #0
- ldr r1, [r4, #4]
- cmp r1, #0
- beq _021D80E2
- ldr r1, [r4, #0xc]
- ldr r3, [r1, #0xc]
- cmp r3, #0
- beq _021D80BE
- ldr r1, [r4]
- ldr r2, [r4, #0x10]
- ldr r1, [r1]
- blx r3
-_021D80BE:
- ldr r0, [r4, #0xc]
- ldrh r0, [r0, #4]
- cmp r0, #0
- beq _021D80CC
- ldr r0, [r4, #0x10]
- bl FreeToHeap
-_021D80CC:
- ldr r0, [r4, #4]
- bl FUN_0200CAB4
- ldr r0, [r4, #8]
- bl FUN_0200CAB4
- mov r0, #0
- add r1, r4, #0
- mov r2, #0x14
- bl MIi_CpuClear32
-_021D80E2:
- pop {r4, pc}
-
- thumb_func_start MOD05_021D80E4
-MOD05_021D80E4: ; 0x021D80E4
- ldr r0, [r0, #0x10]
- bx lr
-
thumb_func_start MOD05_021D80E8
MOD05_021D80E8: ; 0x021D80E8
ldrh r2, [r0]