mirror of
https://github.com/pret/pokeplatinum.git
synced 2024-11-23 13:59:53 +00:00
Split most remaining overlays
This commit is contained in:
parent
1d69985b5a
commit
374648c045
@ -1,8 +1,11 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov10_0221F800
|
||||
ov10_0221F800: ; 0x0221F800
|
||||
push {r3, r4, r5, lr}
|
||||
@ -6268,12 +6271,115 @@ _02222A5E:
|
||||
; .align 2, 0
|
||||
_02222A60: .word 0x00000BC4
|
||||
thumb_func_end ov10_02222A48
|
||||
; 0x02222A64
|
||||
|
||||
|
||||
.rodata
|
||||
.incbin "incbin/overlay10_rodata.bin"
|
||||
|
||||
|
||||
.bss
|
||||
.space 0x0
|
||||
.global Unk_ov10_02222A64
|
||||
Unk_ov10_02222A64: ; 0x02222A64
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x0, 0x4 - 0x0
|
||||
|
||||
.global Unk_ov10_02222A68
|
||||
Unk_ov10_02222A68: ; 0x02222A68
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x4, 0xC - 0x4
|
||||
|
||||
.global Unk_ov10_02222A70
|
||||
Unk_ov10_02222A70: ; 0x02222A70
|
||||
.incbin "incbin/overlay10_rodata.bin", 0xC, 0x18 - 0xC
|
||||
|
||||
.global Unk_ov10_02222A7C
|
||||
Unk_ov10_02222A7C: ; 0x02222A7C
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x18, 0x24 - 0x18
|
||||
|
||||
.global Unk_ov10_02222A88
|
||||
Unk_ov10_02222A88: ; 0x02222A88
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x24, 0x34 - 0x24
|
||||
|
||||
.global Unk_ov10_02222A98
|
||||
Unk_ov10_02222A98: ; 0x02222A98
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x34, 0x44 - 0x34
|
||||
|
||||
.global Unk_ov10_02222AA8
|
||||
Unk_ov10_02222AA8: ; 0x02222AA8
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x44, 0x58 - 0x44
|
||||
|
||||
.global Unk_ov10_02222ABC
|
||||
Unk_ov10_02222ABC: ; 0x02222ABC
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x58, 0x6C - 0x58
|
||||
|
||||
.global Unk_ov10_02222AD0
|
||||
Unk_ov10_02222AD0: ; 0x02222AD0
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x6C, 0x80 - 0x6C
|
||||
|
||||
.global Unk_ov10_02222AE4
|
||||
Unk_ov10_02222AE4: ; 0x02222AE4
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x80, 0x98 - 0x80
|
||||
|
||||
.global Unk_ov10_02222AFC
|
||||
Unk_ov10_02222AFC: ; 0x02222AFC
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x98, 0xB0 - 0x98
|
||||
|
||||
.global Unk_ov10_02222B14
|
||||
Unk_ov10_02222B14: ; 0x02222B14
|
||||
.incbin "incbin/overlay10_rodata.bin", 0xB0, 0xC8 - 0xB0
|
||||
|
||||
.global Unk_ov10_02222B2C
|
||||
Unk_ov10_02222B2C: ; 0x02222B2C
|
||||
.incbin "incbin/overlay10_rodata.bin", 0xC8, 0xE4 - 0xC8
|
||||
|
||||
.global Unk_ov10_02222B48
|
||||
Unk_ov10_02222B48: ; 0x02222B48
|
||||
.incbin "incbin/overlay10_rodata.bin", 0xE4, 0x100 - 0xE4
|
||||
|
||||
.global Unk_ov10_02222B64
|
||||
Unk_ov10_02222B64: ; 0x02222B64
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x100, 0x11C - 0x100
|
||||
|
||||
.global Unk_ov10_02222B80
|
||||
Unk_ov10_02222B80: ; 0x02222B80
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x11C, 0x138 - 0x11C
|
||||
|
||||
.global Unk_ov10_02222B9C
|
||||
Unk_ov10_02222B9C: ; 0x02222B9C
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x138, 0x154 - 0x138
|
||||
|
||||
.global Unk_ov10_02222BB8
|
||||
Unk_ov10_02222BB8: ; 0x02222BB8
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x154, 0x170 - 0x154
|
||||
|
||||
.global Unk_ov10_02222BD4
|
||||
Unk_ov10_02222BD4: ; 0x02222BD4
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x170, 0x18C - 0x170
|
||||
|
||||
.global Unk_ov10_02222BF0
|
||||
Unk_ov10_02222BF0: ; 0x02222BF0
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x18C, 0x1AC - 0x18C
|
||||
|
||||
.global Unk_ov10_02222C10
|
||||
Unk_ov10_02222C10: ; 0x02222C10
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x1AC, 0x1D4 - 0x1AC
|
||||
|
||||
.global Unk_ov10_02222C38
|
||||
Unk_ov10_02222C38: ; 0x02222C38
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x1D4, 0x208 - 0x1D4
|
||||
|
||||
.global Unk_ov10_02222C6C
|
||||
Unk_ov10_02222C6C: ; 0x02222C6C
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x208, 0x244 - 0x208
|
||||
|
||||
.global Unk_ov10_02222CA8
|
||||
Unk_ov10_02222CA8: ; 0x02222CA8
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x244, 0x290 - 0x244
|
||||
|
||||
.global Unk_ov10_02222CF4
|
||||
Unk_ov10_02222CF4: ; 0x02222CF4
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x290, 0x350 - 0x290
|
||||
|
||||
.global Unk_ov10_02222DB4
|
||||
Unk_ov10_02222DB4: ; 0x02222DB4
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x350, 0x4D8 - 0x350
|
||||
|
||||
.global Unk_ov10_02222F3C
|
||||
Unk_ov10_02222F3C: ; 0x02222F3C
|
||||
.incbin "incbin/overlay10_rodata.bin", 0x4D8, 0x348
|
||||
|
133
asm/ov11_0221F800.s
Normal file
133
asm/ov11_0221F800.s
Normal file
@ -0,0 +1,133 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov11_0221F800
|
||||
ov11_0221F800: ; 0x0221F800
|
||||
mov r1, #0
|
||||
mvn r1, r1
|
||||
cmp r0, r1
|
||||
beq _0221F810
|
||||
lsl r1, r0, #2
|
||||
ldr r0, _0221F814 ; =0x0221FBD0
|
||||
ldr r0, [r0, r1]
|
||||
bx lr
|
||||
_0221F810:
|
||||
ldr r0, _0221F818 ; =0x0221F96C
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_0221F814: .word 0x0221FBD0
|
||||
_0221F818: .word 0x0221F96C
|
||||
thumb_func_end ov11_0221F800
|
||||
|
||||
thumb_func_start ov11_0221F81C
|
||||
ov11_0221F81C: ; 0x0221F81C
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r0, r1, #0
|
||||
add r4, r3, #0
|
||||
bl ov11_0221F800
|
||||
ldr r3, [sp, #0x10]
|
||||
add r1, r0, #0
|
||||
mov r0, #0x20
|
||||
lsl r3, r3, #0x14
|
||||
str r0, [sp]
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
lsr r3, r3, #0x10
|
||||
bl sub_02002FBC
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov11_0221F81C
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov11_0221F94C
|
||||
Unk_ov11_0221F94C: ; 0x0221F94C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x0, 0x20 - 0x0
|
||||
|
||||
.global Unk_ov11_0221F96C
|
||||
Unk_ov11_0221F96C: ; 0x0221F96C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x20, 0x40 - 0x20
|
||||
|
||||
.global Unk_ov11_0221F98C
|
||||
Unk_ov11_0221F98C: ; 0x0221F98C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x40, 0x60 - 0x40
|
||||
|
||||
.global Unk_ov11_0221F9AC
|
||||
Unk_ov11_0221F9AC: ; 0x0221F9AC
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x60, 0x80 - 0x60
|
||||
|
||||
.global Unk_ov11_0221F9CC
|
||||
Unk_ov11_0221F9CC: ; 0x0221F9CC
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x80, 0xA0 - 0x80
|
||||
|
||||
.global Unk_ov11_0221F9EC
|
||||
Unk_ov11_0221F9EC: ; 0x0221F9EC
|
||||
.incbin "incbin/overlay11_rodata.bin", 0xA0, 0xC0 - 0xA0
|
||||
|
||||
.global Unk_ov11_0221FA0C
|
||||
Unk_ov11_0221FA0C: ; 0x0221FA0C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0xC0, 0xE0 - 0xC0
|
||||
|
||||
.global Unk_ov11_0221FA2C
|
||||
Unk_ov11_0221FA2C: ; 0x0221FA2C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0xE0, 0x100 - 0xE0
|
||||
|
||||
.global Unk_ov11_0221FA4C
|
||||
Unk_ov11_0221FA4C: ; 0x0221FA4C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x100, 0x120 - 0x100
|
||||
|
||||
.global Unk_ov11_0221FA6C
|
||||
Unk_ov11_0221FA6C: ; 0x0221FA6C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x120, 0x140 - 0x120
|
||||
|
||||
.global Unk_ov11_0221FA8C
|
||||
Unk_ov11_0221FA8C: ; 0x0221FA8C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x140, 0x160 - 0x140
|
||||
|
||||
.global Unk_ov11_0221FAAC
|
||||
Unk_ov11_0221FAAC: ; 0x0221FAAC
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x160, 0x180 - 0x160
|
||||
|
||||
.global Unk_ov11_0221FACC
|
||||
Unk_ov11_0221FACC: ; 0x0221FACC
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x180, 0x1A0 - 0x180
|
||||
|
||||
.global Unk_ov11_0221FAEC
|
||||
Unk_ov11_0221FAEC: ; 0x0221FAEC
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x1A0, 0x1C0 - 0x1A0
|
||||
|
||||
.global Unk_ov11_0221FB0C
|
||||
Unk_ov11_0221FB0C: ; 0x0221FB0C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x1C0, 0x1E0 - 0x1C0
|
||||
|
||||
.global Unk_ov11_0221FB2C
|
||||
Unk_ov11_0221FB2C: ; 0x0221FB2C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x1E0, 0x200 - 0x1E0
|
||||
|
||||
.global Unk_ov11_0221FB4C
|
||||
Unk_ov11_0221FB4C: ; 0x0221FB4C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x200, 0x220 - 0x200
|
||||
|
||||
.global Unk_ov11_0221FB6C
|
||||
Unk_ov11_0221FB6C: ; 0x0221FB6C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x220, 0x240 - 0x220
|
||||
|
||||
.global Unk_ov11_0221FB8C
|
||||
Unk_ov11_0221FB8C: ; 0x0221FB8C
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x240, 0x260 - 0x240
|
||||
|
||||
.global Unk_ov11_0221FBAC
|
||||
Unk_ov11_0221FBAC: ; 0x0221FBAC
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x260, 0x284 - 0x260
|
||||
|
||||
.global Unk_ov11_0221FBD0
|
||||
Unk_ov11_0221FBD0: ; 0x0221FBD0
|
||||
.incbin "incbin/overlay11_rodata.bin", 0x284, 0x48
|
||||
|
@ -1,45 +1,10 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ov11_0221F800
|
||||
ov11_0221F800: ; 0x0221F800
|
||||
mov r1, #0
|
||||
mvn r1, r1
|
||||
cmp r0, r1
|
||||
beq _0221F810
|
||||
lsl r1, r0, #2
|
||||
ldr r0, _0221F814 ; =0x0221FBD0
|
||||
ldr r0, [r0, r1]
|
||||
bx lr
|
||||
_0221F810:
|
||||
ldr r0, _0221F818 ; =0x0221F96C
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_0221F814: .word 0x0221FBD0
|
||||
_0221F818: .word 0x0221F96C
|
||||
thumb_func_end ov11_0221F800
|
||||
|
||||
thumb_func_start ov11_0221F81C
|
||||
ov11_0221F81C: ; 0x0221F81C
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r0, r1, #0
|
||||
add r4, r3, #0
|
||||
bl ov11_0221F800
|
||||
ldr r3, [sp, #0x10]
|
||||
add r1, r0, #0
|
||||
mov r0, #0x20
|
||||
lsl r3, r3, #0x14
|
||||
str r0, [sp]
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
lsr r3, r3, #0x10
|
||||
bl sub_02002FBC
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov11_0221F81C
|
||||
|
||||
thumb_func_start ov11_0221F840
|
||||
ov11_0221F840: ; 0x0221F840
|
||||
@ -177,13 +142,4 @@ ov11_0221F930: ; 0x0221F930
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_0221F948: .word 0x02100DF4
|
||||
thumb_func_end ov11_0221F930
|
||||
; 0x0221F94C
|
||||
|
||||
|
||||
.rodata
|
||||
.incbin "incbin/overlay11_rodata.bin"
|
||||
|
||||
|
||||
.bss
|
||||
.space 0x0
|
||||
thumb_func_end ov11_0221F930
|
8289
asm/ov12_0221FC20.s
Normal file
8289
asm/ov12_0221FC20.s
Normal file
File diff suppressed because it is too large
Load Diff
121
asm/ov12_022237EC.s
Normal file
121
asm/ov12_022237EC.s
Normal file
@ -0,0 +1,121 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_022237EC
|
||||
ov12_022237EC: ; 0x022237EC
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_022237EC
|
||||
|
||||
thumb_func_start ov12_022237F0
|
||||
ov12_022237F0: ; 0x022237F0
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
add r7, r2, #0
|
||||
bl ov11_0221F840
|
||||
add r4, r0, #0
|
||||
mov r0, #0x1d
|
||||
add r1, r6, #0
|
||||
add r2, r5, #0
|
||||
bl sub_020144C4
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
mov r2, #0xa
|
||||
add r3, r7, #0
|
||||
bl sub_020144CC
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov12_022237F0
|
||||
|
||||
thumb_func_start ov12_02223818
|
||||
ov12_02223818: ; 0x02223818
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
add r7, r2, #0
|
||||
str r3, [sp]
|
||||
bl ov11_0221F840
|
||||
add r4, r0, #0
|
||||
add r0, r6, #0
|
||||
add r1, r7, #0
|
||||
add r2, r5, #0
|
||||
bl sub_020144C4
|
||||
add r1, r0, #0
|
||||
ldr r3, [sp]
|
||||
add r0, r4, #0
|
||||
mov r2, #0xa
|
||||
bl sub_020144CC
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02223818
|
||||
|
||||
thumb_func_start ov12_02223844
|
||||
ov12_02223844: ; 0x02223844
|
||||
ldr r3, _02223848 ; =sub_02006CB8
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02223848: .word sub_02006CB8
|
||||
thumb_func_end ov12_02223844
|
||||
|
||||
thumb_func_start ov12_0222384C
|
||||
ov12_0222384C: ; 0x0222384C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r1, #0
|
||||
add r6, r0, #0
|
||||
add r0, r5, #0
|
||||
add r7, r2, #0
|
||||
str r3, [sp]
|
||||
bl ov11_0221F888
|
||||
add r4, r0, #0
|
||||
bne _02223864
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02223864:
|
||||
add r0, r6, #0
|
||||
add r1, r7, #0
|
||||
add r2, r5, #0
|
||||
bl ov12_02223844
|
||||
add r1, r0, #0
|
||||
ldr r3, [sp]
|
||||
add r0, r4, #0
|
||||
mov r2, #0xa
|
||||
bl sub_020144CC
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_0222384C
|
||||
|
||||
thumb_func_start ov12_02223880
|
||||
ov12_02223880: ; 0x02223880
|
||||
push {r4, lr}
|
||||
lsl r4, r2, #2
|
||||
ldr r2, _02223890 ; =0x02238DB0
|
||||
ldr r2, [r2, r4]
|
||||
bl sub_020146F4
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_02223890: .word 0x02238DB0
|
||||
thumb_func_end ov12_02223880
|
||||
|
||||
thumb_func_start ov12_02223894
|
||||
ov12_02223894: ; 0x02223894
|
||||
ldr r3, _02223898 ; =ov11_0221F8D8
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02223898: .word ov11_0221F8D8
|
||||
thumb_func_end ov12_02223894
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov12_02238DB0
|
||||
Unk_ov12_02238DB0: ; 0x02238DB0
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x81C, 0x5C
|
||||
|
1311
asm/ov12_0222389C.s
Normal file
1311
asm/ov12_0222389C.s
Normal file
File diff suppressed because it is too large
Load Diff
2015
asm/ov12_0222421C.s
Normal file
2015
asm/ov12_0222421C.s
Normal file
File diff suppressed because it is too large
Load Diff
772
asm/ov12_02225104.s
Normal file
772
asm/ov12_02225104.s
Normal file
@ -0,0 +1,772 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_02225104
|
||||
ov12_02225104: ; 0x02225104
|
||||
ldr r3, _0222510C ; =ov12_0222325C
|
||||
ldr r0, [r0, #0]
|
||||
mov r2, #5
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_0222510C: .word ov12_0222325C
|
||||
thumb_func_end ov12_02225104
|
||||
|
||||
thumb_func_start ov12_02225110
|
||||
ov12_02225110: ; 0x02225110
|
||||
mov r0, #1
|
||||
bx lr
|
||||
thumb_func_end ov12_02225110
|
||||
|
||||
thumb_func_start ov12_02225114
|
||||
ov12_02225114: ; 0x02225114
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x1c
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
add r1, sp, #0
|
||||
mov r0, #0
|
||||
strh r0, [r1]
|
||||
strh r0, [r1, #2]
|
||||
strh r0, [r1, #4]
|
||||
add r0, r4, #0
|
||||
add r1, sp, #8
|
||||
bl ov12_02225104
|
||||
add r0, r4, #0
|
||||
bl ov12_02224FC4
|
||||
strb r0, [r4, #8]
|
||||
ldr r0, [sp, #0xc]
|
||||
cmp r0, #1
|
||||
bne _02225140
|
||||
mov r0, #1
|
||||
strb r0, [r4, #8]
|
||||
_02225140:
|
||||
ldr r0, [sp, #8]
|
||||
cmp r0, #3
|
||||
bgt _0222515E
|
||||
cmp r0, #0
|
||||
blt _022251CA
|
||||
add r1, r0, r0
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_02225156: ; jump table
|
||||
.short _02225162 - _02225156 - 2 ; case 0
|
||||
.short _0222518E - _02225156 - 2 ; case 1
|
||||
.short _022251CA - _02225156 - 2 ; case 2
|
||||
.short _022251CA - _02225156 - 2 ; case 3
|
||||
_0222515E:
|
||||
cmp r0, #0xff
|
||||
b _022251CA
|
||||
_02225162:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02014874
|
||||
add r2, sp, #0
|
||||
mov r0, #0
|
||||
mov r1, #8
|
||||
ldrsh r3, [r2, r0]
|
||||
ldrsb r0, [r4, r1]
|
||||
mul r0, r3
|
||||
strh r0, [r2]
|
||||
mov r0, #2
|
||||
ldrsh r3, [r2, r0]
|
||||
ldrsb r0, [r4, r1]
|
||||
mul r0, r3
|
||||
strh r0, [r2, #2]
|
||||
mov r0, #4
|
||||
ldrsh r3, [r2, r0]
|
||||
ldrsb r0, [r4, r1]
|
||||
mul r0, r3
|
||||
strh r0, [r2, #4]
|
||||
b _022251CA
|
||||
_0222518E:
|
||||
ldr r0, [sp, #0x10]
|
||||
add r2, sp, #0
|
||||
strh r0, [r2]
|
||||
ldr r0, [sp, #0x14]
|
||||
mov r1, #8
|
||||
strh r0, [r2, #2]
|
||||
ldr r0, [sp, #0x18]
|
||||
strh r0, [r2, #4]
|
||||
mov r0, #0
|
||||
ldrsh r3, [r2, r0]
|
||||
ldrsb r0, [r4, r1]
|
||||
mul r0, r3
|
||||
strh r0, [r2]
|
||||
mov r0, #2
|
||||
ldrsh r3, [r2, r0]
|
||||
ldrsb r0, [r4, r1]
|
||||
mul r0, r3
|
||||
strh r0, [r2, #2]
|
||||
mov r0, #4
|
||||
ldrsh r3, [r2, r0]
|
||||
ldrsb r0, [r4, r1]
|
||||
add r1, sp, #0
|
||||
mul r0, r3
|
||||
strh r0, [r2, #4]
|
||||
add r0, r5, #0
|
||||
bl sub_02014874
|
||||
add sp, #0x1c
|
||||
mov r0, #1
|
||||
pop {r4, r5, pc}
|
||||
_022251CA:
|
||||
add r1, sp, #0
|
||||
mov r0, #0
|
||||
ldrsh r2, [r1, r0]
|
||||
ldr r0, [r4, #0x2c]
|
||||
sub r0, r2, r0
|
||||
strh r0, [r1]
|
||||
mov r0, #2
|
||||
ldrsh r2, [r1, r0]
|
||||
ldr r0, [r4, #0x30]
|
||||
sub r0, r2, r0
|
||||
strh r0, [r1, #2]
|
||||
mov r0, #4
|
||||
ldrsh r2, [r1, r0]
|
||||
ldr r0, [r4, #0x34]
|
||||
sub r0, r2, r0
|
||||
strh r0, [r1, #4]
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02014874
|
||||
mov r0, #1
|
||||
add sp, #0x1c
|
||||
pop {r4, r5, pc}
|
||||
thumb_func_end ov12_02225114
|
||||
|
||||
thumb_func_start ov12_022251F8
|
||||
ov12_022251F8: ; 0x022251F8
|
||||
mov r0, #1
|
||||
bx lr
|
||||
thumb_func_end ov12_022251F8
|
||||
|
||||
thumb_func_start ov12_022251FC
|
||||
ov12_022251FC: ; 0x022251FC
|
||||
mov r0, #1
|
||||
bx lr
|
||||
thumb_func_end ov12_022251FC
|
||||
|
||||
thumb_func_start ov12_02225200
|
||||
ov12_02225200: ; 0x02225200
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x20
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
add r1, sp, #0
|
||||
mov r0, #0
|
||||
str r0, [r1, #0]
|
||||
str r0, [r1, #4]
|
||||
str r0, [r1, #8]
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0xc
|
||||
bl ov12_02225104
|
||||
add r0, r4, #0
|
||||
bl ov12_02224FC4
|
||||
strb r0, [r4, #8]
|
||||
ldr r0, [sp, #0x10]
|
||||
cmp r0, #1
|
||||
bne _0222522C
|
||||
mov r0, #1
|
||||
strb r0, [r4, #8]
|
||||
_0222522C:
|
||||
ldr r0, [sp, #0xc]
|
||||
cmp r0, #3
|
||||
bgt _0222524A
|
||||
cmp r0, #0
|
||||
blt _022252AA
|
||||
add r1, r0, r0
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_02225242: ; jump table
|
||||
.short _0222524E - _02225242 - 2 ; case 0
|
||||
.short _02225272 - _02225242 - 2 ; case 1
|
||||
.short _02225294 - _02225242 - 2 ; case 2
|
||||
.short _022252A0 - _02225242 - 2 ; case 3
|
||||
_0222524A:
|
||||
cmp r0, #0xff
|
||||
b _022252AA
|
||||
_0222524E:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_020148A8
|
||||
mov r0, #8
|
||||
ldrsb r1, [r4, r0]
|
||||
ldr r2, [sp]
|
||||
mul r1, r2
|
||||
str r1, [sp]
|
||||
ldrsb r1, [r4, r0]
|
||||
ldr r2, [sp, #4]
|
||||
mul r1, r2
|
||||
str r1, [sp, #4]
|
||||
ldrsb r0, [r4, r0]
|
||||
ldr r1, [sp, #8]
|
||||
mul r0, r1
|
||||
str r0, [sp, #8]
|
||||
b _022252AA
|
||||
_02225272:
|
||||
ldr r2, [sp, #0x14]
|
||||
ldr r1, [sp, #0x18]
|
||||
ldr r0, [sp, #0x1c]
|
||||
str r2, [sp]
|
||||
str r1, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
mov r3, #8
|
||||
ldrsb r6, [r4, r3]
|
||||
mul r6, r2
|
||||
str r6, [sp]
|
||||
ldrsb r2, [r4, r3]
|
||||
mul r2, r1
|
||||
str r2, [sp, #4]
|
||||
ldrsb r1, [r4, r3]
|
||||
mul r1, r0
|
||||
str r1, [sp, #8]
|
||||
b _022252AA
|
||||
_02225294:
|
||||
ldr r0, [r4, #0]
|
||||
ldr r1, [r4, #0x24]
|
||||
add r2, sp, #0
|
||||
bl ov12_02235508
|
||||
b _022252AA
|
||||
_022252A0:
|
||||
ldr r0, [r4, #0]
|
||||
ldr r1, [r4, #0x28]
|
||||
add r2, sp, #0
|
||||
bl ov12_02235508
|
||||
_022252AA:
|
||||
ldr r1, [sp]
|
||||
ldr r0, [r4, #0x2c]
|
||||
sub r0, r1, r0
|
||||
str r0, [sp]
|
||||
ldr r1, [sp, #4]
|
||||
ldr r0, [r4, #0x30]
|
||||
sub r0, r1, r0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02014890
|
||||
mov r0, #1
|
||||
add sp, #0x20
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov12_02225200
|
||||
|
||||
thumb_func_start ov12_022252C8
|
||||
ov12_022252C8: ; 0x022252C8
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
mov r1, #0
|
||||
add r0, sp, #0
|
||||
strh r1, [r0]
|
||||
add r0, r4, #0
|
||||
add r1, sp, #4
|
||||
bl ov12_02225104
|
||||
add r0, r4, #0
|
||||
bl ov12_02224FC4
|
||||
strb r0, [r4, #8]
|
||||
ldr r0, [sp, #8]
|
||||
cmp r0, #1
|
||||
bne _022252F0
|
||||
mov r0, #1
|
||||
strb r0, [r4, #8]
|
||||
_022252F0:
|
||||
ldr r0, [sp, #4]
|
||||
cmp r0, #3
|
||||
bgt _0222530E
|
||||
cmp r0, #0
|
||||
blt _0222533C
|
||||
add r1, r0, r0
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_02225306: ; jump table
|
||||
.short _02225312 - _02225306 - 2 ; case 0
|
||||
.short _0222532A - _02225306 - 2 ; case 1
|
||||
.short _0222533C - _02225306 - 2 ; case 2
|
||||
.short _0222533C - _02225306 - 2 ; case 3
|
||||
_0222530E:
|
||||
cmp r0, #0xff
|
||||
b _0222533C
|
||||
_02225312:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_020148F4
|
||||
add r1, sp, #0
|
||||
mov r0, #0
|
||||
ldrsh r2, [r1, r0]
|
||||
mov r0, #8
|
||||
ldrsb r0, [r4, r0]
|
||||
mul r0, r2
|
||||
strh r0, [r1]
|
||||
b _0222533C
|
||||
_0222532A:
|
||||
ldr r0, [sp, #0xc]
|
||||
add r1, sp, #0
|
||||
strh r0, [r1]
|
||||
mov r0, #0
|
||||
ldrsh r2, [r1, r0]
|
||||
mov r0, #8
|
||||
ldrsb r0, [r4, r0]
|
||||
mul r0, r2
|
||||
strh r0, [r1]
|
||||
_0222533C:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_020148DC
|
||||
mov r0, #1
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_022252C8
|
||||
|
||||
thumb_func_start ov12_0222534C
|
||||
ov12_0222534C: ; 0x0222534C
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
mov r1, #0
|
||||
add r0, sp, #0
|
||||
strh r1, [r0]
|
||||
add r0, r4, #0
|
||||
add r1, sp, #4
|
||||
bl ov12_02225104
|
||||
add r0, r4, #0
|
||||
bl ov12_02224FC4
|
||||
strb r0, [r4, #8]
|
||||
ldr r0, [sp, #8]
|
||||
cmp r0, #1
|
||||
bne _02225374
|
||||
mov r0, #1
|
||||
strb r0, [r4, #8]
|
||||
_02225374:
|
||||
ldr r0, [sp, #4]
|
||||
cmp r0, #3
|
||||
bgt _02225392
|
||||
cmp r0, #0
|
||||
blt _022253BC
|
||||
add r1, r0, r0
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_0222538A: ; jump table
|
||||
.short _02225396 - _0222538A - 2 ; case 0
|
||||
.short _022253AC - _0222538A - 2 ; case 1
|
||||
.short _022253BC - _0222538A - 2 ; case 2
|
||||
.short _022253BC - _0222538A - 2 ; case 3
|
||||
_02225392:
|
||||
cmp r0, #0xff
|
||||
b _022253BC
|
||||
_02225396:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02014924
|
||||
add r1, sp, #0
|
||||
mov r0, #8
|
||||
ldrh r2, [r1]
|
||||
ldrsb r0, [r4, r0]
|
||||
mul r0, r2
|
||||
strh r0, [r1]
|
||||
b _022253BC
|
||||
_022253AC:
|
||||
ldr r0, [sp, #0xc]
|
||||
add r1, sp, #0
|
||||
strh r0, [r1]
|
||||
mov r0, #8
|
||||
ldrh r2, [r1]
|
||||
ldrsb r0, [r4, r0]
|
||||
mul r0, r2
|
||||
strh r0, [r1]
|
||||
_022253BC:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02014910
|
||||
mov r0, #1
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_0222534C
|
||||
|
||||
thumb_func_start ov12_022253CC
|
||||
ov12_022253CC: ; 0x022253CC
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
mov r1, #0
|
||||
add r0, sp, #0
|
||||
strh r1, [r0]
|
||||
add r0, r4, #0
|
||||
add r1, sp, #4
|
||||
bl ov12_02225104
|
||||
add r0, r4, #0
|
||||
bl ov12_02224FC4
|
||||
strb r0, [r4, #8]
|
||||
ldr r0, [sp, #8]
|
||||
cmp r0, #1
|
||||
bne _022253F4
|
||||
mov r0, #1
|
||||
strb r0, [r4, #8]
|
||||
_022253F4:
|
||||
ldr r1, [sp, #4]
|
||||
cmp r1, #3
|
||||
bgt _02225412
|
||||
cmp r1, #0
|
||||
blt _02225426
|
||||
add r0, r1, r1
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_0222540A: ; jump table
|
||||
.short _02225416 - _0222540A - 2 ; case 0
|
||||
.short _02225420 - _0222540A - 2 ; case 1
|
||||
.short _02225426 - _0222540A - 2 ; case 2
|
||||
.short _02225426 - _0222540A - 2 ; case 3
|
||||
_02225412:
|
||||
cmp r1, #0xff
|
||||
b _02225426
|
||||
_02225416:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02014954
|
||||
b _02225426
|
||||
_02225420:
|
||||
ldr r1, [sp, #0xc]
|
||||
add r0, sp, #0
|
||||
strh r1, [r0]
|
||||
_02225426:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02014940
|
||||
mov r0, #1
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov12_022253CC
|
||||
|
||||
thumb_func_start ov12_02225434
|
||||
ov12_02225434: ; 0x02225434
|
||||
mov r0, #1
|
||||
bx lr
|
||||
thumb_func_end ov12_02225434
|
||||
|
||||
thumb_func_start ov12_02225438
|
||||
ov12_02225438: ; 0x02225438
|
||||
mov r0, #1
|
||||
bx lr
|
||||
thumb_func_end ov12_02225438
|
||||
|
||||
thumb_func_start ov12_0222543C
|
||||
ov12_0222543C: ; 0x0222543C
|
||||
mov r0, #1
|
||||
bx lr
|
||||
thumb_func_end ov12_0222543C
|
||||
|
||||
thumb_func_start ov12_02225440
|
||||
ov12_02225440: ; 0x02225440
|
||||
mov r0, #1
|
||||
bx lr
|
||||
thumb_func_end ov12_02225440
|
||||
|
||||
thumb_func_start ov12_02225444
|
||||
ov12_02225444: ; 0x02225444
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x20
|
||||
add r7, r0, #0
|
||||
add r4, r1, #0
|
||||
add r1, sp, #0
|
||||
mov r0, #0
|
||||
str r0, [r1, #0]
|
||||
str r0, [r1, #4]
|
||||
str r0, [r1, #8]
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0xc
|
||||
bl ov12_02225104
|
||||
add r0, r4, #0
|
||||
bl ov12_02224FC4
|
||||
strb r0, [r4, #8]
|
||||
ldr r0, [sp, #0x10]
|
||||
cmp r0, #1
|
||||
bne _02225470
|
||||
mov r0, #1
|
||||
strb r0, [r4, #8]
|
||||
_02225470:
|
||||
ldr r0, [sp, #0xc]
|
||||
cmp r0, #4
|
||||
bgt _02225490
|
||||
cmp r0, #0
|
||||
blt _0222552A
|
||||
add r1, r0, r0
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_02225486: ; jump table
|
||||
.short _02225494 - _02225486 - 2 ; case 0
|
||||
.short _022254B8 - _02225486 - 2 ; case 1
|
||||
.short _02225514 - _02225486 - 2 ; case 2
|
||||
.short _02225520 - _02225486 - 2 ; case 3
|
||||
.short _022254DA - _02225486 - 2 ; case 4
|
||||
_02225490:
|
||||
cmp r0, #0xff
|
||||
b _0222552A
|
||||
_02225494:
|
||||
add r0, r7, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02014988
|
||||
mov r0, #8
|
||||
ldrsb r1, [r4, r0]
|
||||
ldr r2, [sp]
|
||||
mul r1, r2
|
||||
str r1, [sp]
|
||||
ldrsb r1, [r4, r0]
|
||||
ldr r2, [sp, #4]
|
||||
mul r1, r2
|
||||
str r1, [sp, #4]
|
||||
ldrsb r0, [r4, r0]
|
||||
ldr r1, [sp, #8]
|
||||
mul r0, r1
|
||||
str r0, [sp, #8]
|
||||
b _0222552A
|
||||
_022254B8:
|
||||
ldr r2, [sp, #0x14]
|
||||
ldr r1, [sp, #0x18]
|
||||
ldr r0, [sp, #0x1c]
|
||||
str r2, [sp]
|
||||
str r1, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
mov r3, #8
|
||||
ldrsb r5, [r4, r3]
|
||||
mul r5, r2
|
||||
str r5, [sp]
|
||||
ldrsb r2, [r4, r3]
|
||||
mul r2, r1
|
||||
str r2, [sp, #4]
|
||||
ldrsb r1, [r4, r3]
|
||||
mul r1, r0
|
||||
str r1, [sp, #8]
|
||||
b _0222552A
|
||||
_022254DA:
|
||||
ldr r0, [r4, #0]
|
||||
ldr r1, [r4, #0x28]
|
||||
add r2, sp, #0
|
||||
bl ov12_02235508
|
||||
ldr r1, [sp]
|
||||
ldr r5, [sp, #0x14]
|
||||
add r0, r1, #0
|
||||
ldr r6, [sp, #0x18]
|
||||
mul r0, r5
|
||||
add r1, r6, #0
|
||||
bl sub_020E1F6C
|
||||
ldr r1, [sp, #4]
|
||||
str r0, [sp]
|
||||
add r0, r1, #0
|
||||
mul r0, r5
|
||||
add r1, r6, #0
|
||||
bl sub_020E1F6C
|
||||
ldr r1, [sp, #8]
|
||||
str r0, [sp, #4]
|
||||
add r0, r1, #0
|
||||
mul r0, r5
|
||||
add r1, r6, #0
|
||||
bl sub_020E1F6C
|
||||
str r0, [sp, #8]
|
||||
b _0222552A
|
||||
_02225514:
|
||||
ldr r0, [r4, #0]
|
||||
ldr r1, [r4, #0x24]
|
||||
add r2, sp, #0
|
||||
bl ov12_02235508
|
||||
b _0222552A
|
||||
_02225520:
|
||||
ldr r0, [r4, #0]
|
||||
ldr r1, [r4, #0x28]
|
||||
add r2, sp, #0
|
||||
bl ov12_02235508
|
||||
_0222552A:
|
||||
ldr r1, [sp]
|
||||
ldr r0, [r4, #0x2c]
|
||||
sub r0, r1, r0
|
||||
str r0, [sp]
|
||||
ldr r1, [sp, #4]
|
||||
ldr r0, [r4, #0x30]
|
||||
sub r0, r1, r0
|
||||
str r0, [sp, #4]
|
||||
ldr r1, [sp, #8]
|
||||
ldr r0, [r4, #0x34]
|
||||
sub r0, r1, r0
|
||||
str r0, [sp, #8]
|
||||
add r0, r7, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02014970
|
||||
mov r0, #1
|
||||
add sp, #0x20
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov12_02225444
|
||||
|
||||
thumb_func_start ov12_02225550
|
||||
ov12_02225550: ; 0x02225550
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
mov r1, #0
|
||||
add r0, sp, #0
|
||||
strh r1, [r0]
|
||||
add r0, r4, #0
|
||||
add r1, sp, #4
|
||||
bl ov12_02225104
|
||||
add r0, r4, #0
|
||||
bl ov12_02224FC4
|
||||
strb r0, [r4, #8]
|
||||
ldr r0, [sp, #8]
|
||||
cmp r0, #1
|
||||
bne _02225578
|
||||
mov r0, #1
|
||||
strb r0, [r4, #8]
|
||||
_02225578:
|
||||
ldr r0, [sp, #4]
|
||||
cmp r0, #3
|
||||
bgt _02225596
|
||||
cmp r0, #0
|
||||
blt _022255C4
|
||||
add r1, r0, r0
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_0222558E: ; jump table
|
||||
.short _0222559A - _0222558E - 2 ; case 0
|
||||
.short _022255B2 - _0222558E - 2 ; case 1
|
||||
.short _022255C4 - _0222558E - 2 ; case 2
|
||||
.short _022255C4 - _0222558E - 2 ; case 3
|
||||
_02225596:
|
||||
cmp r0, #0xff
|
||||
b _022255C4
|
||||
_0222559A:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_020149D4
|
||||
add r1, sp, #0
|
||||
mov r0, #0
|
||||
ldrsh r2, [r1, r0]
|
||||
mov r0, #8
|
||||
ldrsb r0, [r4, r0]
|
||||
mul r0, r2
|
||||
strh r0, [r1]
|
||||
b _022255C4
|
||||
_022255B2:
|
||||
ldr r0, [sp, #0xc]
|
||||
add r1, sp, #0
|
||||
strh r0, [r1]
|
||||
mov r0, #0
|
||||
ldrsh r2, [r1, r0]
|
||||
mov r0, #8
|
||||
ldrsb r0, [r4, r0]
|
||||
mul r0, r2
|
||||
strh r0, [r1]
|
||||
_022255C4:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_020149BC
|
||||
mov r0, #1
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02225550
|
||||
|
||||
thumb_func_start ov12_022255D4
|
||||
ov12_022255D4: ; 0x022255D4
|
||||
push {r3, lr}
|
||||
add r3, r0, #0
|
||||
add r0, r1, #0
|
||||
add r1, r2, #0
|
||||
ldr r2, _022255E8 ; =0x02239D6C
|
||||
lsl r3, r3, #2
|
||||
ldr r2, [r2, r3]
|
||||
blx r2
|
||||
pop {r3, pc}
|
||||
nop
|
||||
_022255E8: .word 0x02239D6C
|
||||
thumb_func_end ov12_022255D4
|
||||
|
||||
thumb_func_start ov12_022255EC
|
||||
ov12_022255EC: ; 0x022255EC
|
||||
push {r3, r4, r5}
|
||||
sub sp, #0x3c
|
||||
ldr r4, _02225610 ; =0x02239DA4
|
||||
add r5, r0, #0
|
||||
add r3, sp, #0
|
||||
mov r2, #7
|
||||
_022255F8:
|
||||
ldmia r4!, {r0, r1}
|
||||
stmia r3!, {r0, r1}
|
||||
sub r2, r2, #1
|
||||
bne _022255F8
|
||||
ldr r0, [r4, #0]
|
||||
lsl r1, r5, #2
|
||||
str r0, [r3, #0]
|
||||
add r0, sp, #0
|
||||
ldr r0, [r0, r1]
|
||||
add sp, #0x3c
|
||||
pop {r3, r4, r5}
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_02225610: .word 0x02239DA4
|
||||
thumb_func_end ov12_022255EC
|
||||
|
||||
thumb_func_start ov12_02225614
|
||||
ov12_02225614: ; 0x02225614
|
||||
push {r4, r5, r6, lr}
|
||||
mov r4, #0
|
||||
ldr r6, _0222563C ; =0x0000FEFE
|
||||
add r5, r4, #0
|
||||
_0222561C:
|
||||
add r0, r4, #0
|
||||
bl ov12_022255EC
|
||||
add r4, r4, #1
|
||||
cmp r0, r6
|
||||
beq _0222562E
|
||||
add r5, r5, #1
|
||||
cmp r5, #0xff
|
||||
blt _0222561C
|
||||
_0222562E:
|
||||
cmp r5, #0xff
|
||||
blt _02225636
|
||||
mov r0, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
_02225636:
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
_0222563C: .word 0x0000FEFE
|
||||
thumb_func_end ov12_02225614
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov12_02239D6C
|
||||
Unk_ov12_02239D6C: ; 0x02239D6C
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x17D8, 0x1810 - 0x17D8
|
||||
|
||||
.global Unk_ov12_02239DA4
|
||||
Unk_ov12_02239DA4: ; 0x02239DA4
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x1810, 0x3C
|
||||
|
330
asm/ov12_02225640.s
Normal file
330
asm/ov12_02225640.s
Normal file
@ -0,0 +1,330 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_02225640
|
||||
ov12_02225640: ; 0x02225640
|
||||
ldr r3, _02225648 ; =ov12_0222325C
|
||||
ldr r0, [r0, #0]
|
||||
mov r2, #4
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02225648: .word ov12_0222325C
|
||||
thumb_func_end ov12_02225640
|
||||
|
||||
thumb_func_start ov12_0222564C
|
||||
ov12_0222564C: ; 0x0222564C
|
||||
push {r3, lr}
|
||||
sub sp, #8
|
||||
add r2, sp, #0
|
||||
mov r0, #0
|
||||
strh r0, [r2]
|
||||
strh r0, [r2, #2]
|
||||
strh r0, [r2, #4]
|
||||
strh r0, [r2, #6]
|
||||
ldr r0, [r1, #4]
|
||||
bl sub_02014784
|
||||
add r1, r0, #0
|
||||
add r0, sp, #0
|
||||
bl sub_020209D4
|
||||
mov r0, #1
|
||||
add sp, #8
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov12_0222564C
|
||||
|
||||
thumb_func_start ov12_02225670
|
||||
ov12_02225670: ; 0x02225670
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
ldr r1, _022256A8 ; =0x02239DE0
|
||||
add r0, sp, #0
|
||||
ldrh r2, [r1, #0x20]
|
||||
strh r2, [r0]
|
||||
ldrh r2, [r1, #0x22]
|
||||
strh r2, [r0, #2]
|
||||
ldrh r2, [r1, #0x24]
|
||||
ldrh r1, [r1, #0x26]
|
||||
strh r2, [r0, #4]
|
||||
strh r1, [r0, #6]
|
||||
ldr r0, [r4, #4]
|
||||
bl sub_02014784
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl sub_02014788
|
||||
add r0, sp, #0
|
||||
add r1, r5, #0
|
||||
bl sub_020209D4
|
||||
mov r0, #1
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_022256A8: .word 0x02239DE0
|
||||
thumb_func_end ov12_02225670
|
||||
|
||||
thumb_func_start ov12_022256AC
|
||||
ov12_022256AC: ; 0x022256AC
|
||||
push {r4, lr}
|
||||
sub sp, #0x18
|
||||
add r4, r1, #0
|
||||
add r1, sp, #0
|
||||
mov r0, #0
|
||||
strh r0, [r1]
|
||||
strh r0, [r1, #2]
|
||||
strh r0, [r1, #4]
|
||||
strh r0, [r1, #6]
|
||||
add r0, r4, #0
|
||||
add r1, sp, #8
|
||||
bl ov12_02225640
|
||||
ldr r1, [sp, #0xc]
|
||||
add r0, sp, #0
|
||||
strh r1, [r0]
|
||||
ldr r1, [sp, #0x10]
|
||||
strh r1, [r0, #2]
|
||||
ldr r1, [sp, #0x14]
|
||||
strh r1, [r0, #4]
|
||||
ldr r0, [r4, #4]
|
||||
bl sub_02014784
|
||||
add r1, r0, #0
|
||||
add r0, sp, #0
|
||||
bl sub_020209D4
|
||||
mov r0, #1
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov12_022256AC
|
||||
|
||||
thumb_func_start ov12_022256E8
|
||||
ov12_022256E8: ; 0x022256E8
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
ldr r1, _02225720 ; =0x02239DE0
|
||||
add r0, sp, #0
|
||||
ldrh r2, [r1, #0x18]
|
||||
strh r2, [r0]
|
||||
ldrh r2, [r1, #0x1a]
|
||||
strh r2, [r0, #2]
|
||||
ldrh r2, [r1, #0x1c]
|
||||
ldrh r1, [r1, #0x1e]
|
||||
strh r2, [r0, #4]
|
||||
strh r1, [r0, #6]
|
||||
ldr r0, [r4, #4]
|
||||
bl sub_02014784
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl sub_02014788
|
||||
add r0, sp, #0
|
||||
add r1, r5, #0
|
||||
bl sub_020209D4
|
||||
mov r0, #1
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_02225720: .word 0x02239DE0
|
||||
thumb_func_end ov12_022256E8
|
||||
|
||||
thumb_func_start ov12_02225724
|
||||
ov12_02225724: ; 0x02225724
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x10
|
||||
add r4, r1, #0
|
||||
ldr r1, _02225780 ; =0x02239DE0
|
||||
add r0, sp, #0
|
||||
ldrh r2, [r1, #0x10]
|
||||
strh r2, [r0, #8]
|
||||
ldrh r2, [r1, #0x12]
|
||||
strh r2, [r0, #0xa]
|
||||
ldrh r2, [r1, #0x14]
|
||||
strh r2, [r0, #0xc]
|
||||
ldrh r2, [r1, #0x16]
|
||||
strh r2, [r0, #0xe]
|
||||
ldrh r2, [r1, #0x28]
|
||||
strh r2, [r0]
|
||||
ldrh r2, [r1, #0x2a]
|
||||
strh r2, [r0, #2]
|
||||
ldrh r2, [r1, #0x2c]
|
||||
strh r2, [r0, #4]
|
||||
ldrh r1, [r1, #0x2e]
|
||||
strh r1, [r0, #6]
|
||||
ldr r0, [r4, #4]
|
||||
bl sub_02014784
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl sub_02014788
|
||||
ldr r0, [r4, #0]
|
||||
bl ov12_0221FDD4
|
||||
cmp r0, #1
|
||||
bne _02225772
|
||||
add r0, sp, #8
|
||||
add r1, r5, #0
|
||||
bl sub_020209D4
|
||||
b _0222577A
|
||||
_02225772:
|
||||
add r0, sp, #0
|
||||
add r1, r5, #0
|
||||
bl sub_020209D4
|
||||
_0222577A:
|
||||
mov r0, #1
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_02225780: .word 0x02239DE0
|
||||
thumb_func_end ov12_02225724
|
||||
|
||||
thumb_func_start ov12_02225784
|
||||
ov12_02225784: ; 0x02225784
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
ldr r1, _022257BC ; =0x02239DE0
|
||||
add r0, sp, #0
|
||||
ldrh r2, [r1]
|
||||
strh r2, [r0]
|
||||
ldrh r2, [r1, #2]
|
||||
strh r2, [r0, #2]
|
||||
ldrh r2, [r1, #4]
|
||||
ldrh r1, [r1, #6]
|
||||
strh r2, [r0, #4]
|
||||
strh r1, [r0, #6]
|
||||
ldr r0, [r4, #4]
|
||||
bl sub_02014784
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl sub_02014788
|
||||
add r0, sp, #0
|
||||
add r1, r5, #0
|
||||
bl sub_020209D4
|
||||
mov r0, #1
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_022257BC: .word 0x02239DE0
|
||||
thumb_func_end ov12_02225784
|
||||
|
||||
thumb_func_start ov12_022257C0
|
||||
ov12_022257C0: ; 0x022257C0
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
ldr r1, _022257F8 ; =0x02239DE0
|
||||
add r0, sp, #0
|
||||
ldrh r2, [r1, #8]
|
||||
strh r2, [r0]
|
||||
ldrh r2, [r1, #0xa]
|
||||
strh r2, [r0, #2]
|
||||
ldrh r2, [r1, #0xc]
|
||||
ldrh r1, [r1, #0xe]
|
||||
strh r2, [r0, #4]
|
||||
strh r1, [r0, #6]
|
||||
ldr r0, [r4, #4]
|
||||
bl sub_02014784
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl sub_02014788
|
||||
add r0, sp, #0
|
||||
add r1, r5, #0
|
||||
bl sub_020209D4
|
||||
mov r0, #1
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_022257F8: .word 0x02239DE0
|
||||
thumb_func_end ov12_022257C0
|
||||
|
||||
thumb_func_start ov12_022257FC
|
||||
ov12_022257FC: ; 0x022257FC
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0xc
|
||||
add r5, r1, #0
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_02014784
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
ldr r1, [r5, #0x24]
|
||||
add r2, sp, #0
|
||||
bl ov12_022356E8
|
||||
add r0, sp, #0
|
||||
add r1, r4, #0
|
||||
bl sub_02020ACC
|
||||
mov r0, #1
|
||||
add sp, #0xc
|
||||
pop {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_022257FC
|
||||
|
||||
thumb_func_start ov12_02225824
|
||||
ov12_02225824: ; 0x02225824
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0xc
|
||||
add r5, r1, #0
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_02014784
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
ldr r1, [r5, #0x28]
|
||||
add r2, sp, #0
|
||||
bl ov12_022356E8
|
||||
add r0, sp, #0
|
||||
add r1, r4, #0
|
||||
bl sub_02020ACC
|
||||
mov r0, #1
|
||||
add sp, #0xc
|
||||
pop {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02225824
|
||||
|
||||
thumb_func_start ov12_0222584C
|
||||
ov12_0222584C: ; 0x0222584C
|
||||
push {r3, lr}
|
||||
add r3, r0, #0
|
||||
add r0, r1, #0
|
||||
add r1, r2, #0
|
||||
ldr r2, _02225860 ; =0x02239E10
|
||||
lsl r3, r3, #2
|
||||
ldr r2, [r2, r3]
|
||||
blx r2
|
||||
pop {r3, pc}
|
||||
nop
|
||||
_02225860: .word 0x02239E10
|
||||
thumb_func_end ov12_0222584C
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov12_02239DE0
|
||||
Unk_ov12_02239DE0: ; 0x02239DE0
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x184C, 0x1854 - 0x184C
|
||||
|
||||
.global Unk_ov12_02239DE8
|
||||
Unk_ov12_02239DE8: ; 0x02239DE8
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x1854, 0x185C - 0x1854
|
||||
|
||||
.global Unk_ov12_02239DF0
|
||||
Unk_ov12_02239DF0: ; 0x02239DF0
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x185C, 0x1864 - 0x185C
|
||||
|
||||
.global Unk_ov12_02239DF8
|
||||
Unk_ov12_02239DF8: ; 0x02239DF8
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x1864, 0x186C - 0x1864
|
||||
|
||||
.global Unk_ov12_02239E00
|
||||
Unk_ov12_02239E00: ; 0x02239E00
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x186C, 0x1874 - 0x186C
|
||||
|
||||
.global Unk_ov12_02239E08
|
||||
Unk_ov12_02239E08: ; 0x02239E08
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x1874, 0x187C - 0x1874
|
||||
|
||||
.global Unk_ov12_02239E10
|
||||
Unk_ov12_02239E10: ; 0x02239E10
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x187C, 0x24
|
||||
|
2468
asm/ov12_02225864.s
Normal file
2468
asm/ov12_02225864.s
Normal file
File diff suppressed because it is too large
Load Diff
53
asm/ov12_02226998.s
Normal file
53
asm/ov12_02226998.s
Normal file
@ -0,0 +1,53 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_02226998
|
||||
ov12_02226998: ; 0x02226998
|
||||
cmp r0, #0x54
|
||||
blo _022269A0
|
||||
mov r0, #0
|
||||
bx lr
|
||||
_022269A0:
|
||||
lsl r1, r0, #2
|
||||
ldr r0, _022269A8 ; =0x02239EEC
|
||||
ldr r0, [r0, r1]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_022269A8: .word 0x02239EEC
|
||||
thumb_func_end ov12_02226998
|
||||
|
||||
thumb_func_start ov12_022269AC
|
||||
ov12_022269AC: ; 0x022269AC
|
||||
cmp r0, #0x21
|
||||
blo _022269B4
|
||||
mov r0, #0
|
||||
bx lr
|
||||
_022269B4:
|
||||
lsl r1, r0, #2
|
||||
ldr r0, _022269BC ; =0x02239E68
|
||||
ldr r0, [r0, r1]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_022269BC: .word 0x02239E68
|
||||
thumb_func_end ov12_022269AC
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov12_02239E64
|
||||
Unk_ov12_02239E64: ; 0x02239E64
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x18D0, 0x18D4 - 0x18D0
|
||||
|
||||
.global Unk_ov12_02239E68
|
||||
Unk_ov12_02239E68: ; 0x02239E68
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x18D4, 0x1958 - 0x18D4
|
||||
|
||||
.global Unk_ov12_02239EEC
|
||||
Unk_ov12_02239EEC: ; 0x02239EEC
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x1958, 0x150
|
||||
|
249
asm/ov12_022269C0.s
Normal file
249
asm/ov12_022269C0.s
Normal file
@ -0,0 +1,249 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_022269C0
|
||||
ov12_022269C0: ; 0x022269C0
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_022269C0
|
||||
|
||||
thumb_func_start ov12_022269C4
|
||||
ov12_022269C4: ; 0x022269C4
|
||||
push {r4, lr}
|
||||
add r4, r1, #0
|
||||
add r2, r0, #0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _022269D6
|
||||
cmp r0, #1
|
||||
beq _022269DC
|
||||
pop {r4, pc}
|
||||
_022269D6:
|
||||
add r0, r0, #1
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
_022269DC:
|
||||
ldr r0, [r4, #4]
|
||||
add r1, r2, #0
|
||||
bl ov12_02220220
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov12_022269C4
|
||||
|
||||
thumb_func_start ov12_022269EC
|
||||
ov12_022269EC: ; 0x022269EC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r0, #5
|
||||
mov r1, #8
|
||||
bl sub_02018144
|
||||
add r2, r0, #0
|
||||
mov r0, #0
|
||||
strb r0, [r2]
|
||||
mov r3, #1
|
||||
ldr r1, _02226A10 ; =ov12_022269C4
|
||||
add r0, r4, #0
|
||||
lsl r3, r3, #0xc
|
||||
str r4, [r2, #4]
|
||||
bl ov12_022201CC
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_02226A10: .word ov12_022269C4
|
||||
thumb_func_end ov12_022269EC
|
||||
|
||||
thumb_func_start ov12_02226A14
|
||||
ov12_02226A14: ; 0x02226A14
|
||||
push {r4, lr}
|
||||
add r4, r1, #0
|
||||
add r2, r0, #0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _02226A26
|
||||
cmp r0, #1
|
||||
beq _02226A2C
|
||||
pop {r4, pc}
|
||||
_02226A26:
|
||||
add r0, r0, #1
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
_02226A2C:
|
||||
ldr r0, [r4, #4]
|
||||
add r1, r2, #0
|
||||
bl ov12_02220230
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov12_02226A14
|
||||
|
||||
thumb_func_start ov12_02226A3C
|
||||
ov12_02226A3C: ; 0x02226A3C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r0, #5
|
||||
mov r1, #8
|
||||
bl sub_02018144
|
||||
add r2, r0, #0
|
||||
mov r0, #0
|
||||
strb r0, [r2]
|
||||
mov r3, #1
|
||||
ldr r1, _02226A60 ; =ov12_02226A14
|
||||
add r0, r4, #0
|
||||
lsl r3, r3, #0xc
|
||||
str r4, [r2, #4]
|
||||
bl ov12_02220204
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_02226A60: .word ov12_02226A14
|
||||
thumb_func_end ov12_02226A3C
|
||||
|
||||
thumb_func_start ov12_02226A64
|
||||
ov12_02226A64: ; 0x02226A64
|
||||
push {r4, lr}
|
||||
add r4, r1, #0
|
||||
ldrb r1, [r4]
|
||||
cmp r1, #0
|
||||
beq _02226A74
|
||||
cmp r1, #1
|
||||
beq _02226A7A
|
||||
pop {r4, pc}
|
||||
_02226A74:
|
||||
add r0, r1, #1
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
_02226A7A:
|
||||
bl sub_0200DA58
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02226A64
|
||||
|
||||
thumb_func_start ov12_02226A88
|
||||
ov12_02226A88: ; 0x02226A88
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r0, #5
|
||||
mov r1, #8
|
||||
bl sub_02018144
|
||||
add r1, r0, #0
|
||||
mov r0, #0
|
||||
strb r0, [r1]
|
||||
mov r2, #1
|
||||
ldr r0, _02226AA8 ; =ov12_02226A64
|
||||
lsl r2, r2, #0xc
|
||||
str r4, [r1, #4]
|
||||
bl sub_0200D9E8
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_02226AA8: .word ov12_02226A64
|
||||
thumb_func_end ov12_02226A88
|
||||
|
||||
thumb_func_start ov12_02226AAC
|
||||
ov12_02226AAC: ; 0x02226AAC
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r1, #0
|
||||
add r6, r0, #0
|
||||
ldrb r0, [r5]
|
||||
cmp r0, #0
|
||||
beq _02226ABE
|
||||
cmp r0, #1
|
||||
beq _02226B04
|
||||
pop {r4, r5, r6, pc}
|
||||
_02226ABE:
|
||||
ldr r0, [r5, #0x14]
|
||||
ldr r0, [r0, #0]
|
||||
bl sub_0200D324
|
||||
ldr r0, [r5, #0x18]
|
||||
ldr r0, [r0, #0]
|
||||
bl sub_0200D324
|
||||
ldr r0, [r5, #0x1c]
|
||||
ldr r0, [r0, #0]
|
||||
bl sub_0200D324
|
||||
ldr r0, [r5, #0x14]
|
||||
mov r1, #1
|
||||
ldr r0, [r0, #0]
|
||||
mov r2, #0
|
||||
bl sub_0200D5AC
|
||||
ldr r0, [r5, #0x18]
|
||||
mov r1, #0
|
||||
ldr r0, [r0, #0]
|
||||
mvn r1, r1
|
||||
mov r2, #0
|
||||
bl sub_0200D5AC
|
||||
ldr r0, [r5, #0x1c]
|
||||
mov r1, #1
|
||||
ldr r0, [r0, #0]
|
||||
add r2, r1, #0
|
||||
bl sub_0200D5AC
|
||||
ldr r0, [r5, #0xc]
|
||||
bl sub_0200C7EC
|
||||
pop {r4, r5, r6, pc}
|
||||
_02226B04:
|
||||
ldr r0, [r5, #0x10]
|
||||
ldr r4, [r5, #4]
|
||||
bl sub_0200D0F4
|
||||
add r0, r5, #0
|
||||
bl sub_020181C4
|
||||
add r0, r4, #0
|
||||
add r1, r6, #0
|
||||
bl ov12_02220220
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov12_02226AAC
|
||||
|
||||
thumb_func_start ov12_02226B1C
|
||||
ov12_02226B1C: ; 0x02226B1C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x38
|
||||
add r6, r1, #0
|
||||
mov r1, #0x73
|
||||
str r0, [sp]
|
||||
mov r0, #5
|
||||
lsl r1, r1, #2
|
||||
add r7, r2, #0
|
||||
add r5, r3, #0
|
||||
bl sub_02018144
|
||||
add r4, r0, #0
|
||||
bne _02226B3A
|
||||
bl sub_02022974
|
||||
_02226B3A:
|
||||
mov r0, #0
|
||||
strb r0, [r4]
|
||||
str r6, [r4, #8]
|
||||
str r7, [r4, #0xc]
|
||||
ldr r0, [sp]
|
||||
str r5, [r4, #0x10]
|
||||
str r0, [r4, #4]
|
||||
ldr r1, [sp]
|
||||
add r0, sp, #4
|
||||
bl ov12_0222329C
|
||||
str r5, [r4, #0x14]
|
||||
mov r6, #1
|
||||
add r5, r4, #4
|
||||
add r7, sp, #4
|
||||
_02226B58:
|
||||
ldr r0, [r4, #8]
|
||||
ldr r1, [r4, #0xc]
|
||||
add r2, r7, #0
|
||||
bl sub_0200CE6C
|
||||
str r0, [r5, #0x14]
|
||||
add r6, r6, #1
|
||||
add r5, r5, #4
|
||||
cmp r6, #3
|
||||
blt _02226B58
|
||||
mov r3, #1
|
||||
ldr r0, [sp]
|
||||
ldr r1, _02226B80 ; =ov12_02226AAC
|
||||
add r2, r4, #0
|
||||
lsl r3, r3, #0xc
|
||||
bl ov12_022201CC
|
||||
add sp, #0x38
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02226B80: .word ov12_02226AAC
|
||||
thumb_func_end ov12_02226B1C
|
8134
asm/ov12_02226B84.s
Normal file
8134
asm/ov12_02226B84.s
Normal file
File diff suppressed because it is too large
Load Diff
5210
asm/ov12_0222AC70.s
Normal file
5210
asm/ov12_0222AC70.s
Normal file
File diff suppressed because it is too large
Load Diff
2125
asm/ov12_0222D6B0.s
Normal file
2125
asm/ov12_0222D6B0.s
Normal file
File diff suppressed because it is too large
Load Diff
183
asm/ov12_0222E784.s
Normal file
183
asm/ov12_0222E784.s
Normal file
@ -0,0 +1,183 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_0222E784
|
||||
ov12_0222E784: ; 0x0222E784
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0xc
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
bne _0222E80A
|
||||
add r0, r4, #0
|
||||
add r0, #0x60
|
||||
bl ov12_02225F6C
|
||||
cmp r0, #0
|
||||
bne _0222E7C8
|
||||
ldr r0, [r4, #0x28]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [r4, #0x3c]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [r4, #0x3c]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [r4, #4]
|
||||
add r1, r5, #0
|
||||
bl ov12_02220220
|
||||
add r0, r4, #0
|
||||
bl ov12_02235E80
|
||||
add sp, #0xc
|
||||
pop {r4, r5, pc}
|
||||
_0222E7C8:
|
||||
add r0, r4, #0
|
||||
add r0, #0x60
|
||||
add r1, sp, #8
|
||||
add r2, sp, #4
|
||||
bl ov12_02225FA4
|
||||
ldr r0, [r4, #0x28]
|
||||
ldr r1, [sp, #8]
|
||||
ldr r2, [sp, #4]
|
||||
bl sub_0200D6E8
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r1, #0x58
|
||||
mov r2, #0x5a
|
||||
ldrsh r1, [r4, r1]
|
||||
ldrsh r2, [r4, r2]
|
||||
ldr r0, [r4, #0x28]
|
||||
ldr r3, [r4, #0x74]
|
||||
bl ov12_0222605C
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_0200D330
|
||||
ldr r0, [r4, #0x3c]
|
||||
bl sub_0200D330
|
||||
ldr r0, [r4, #0x50]
|
||||
bl sub_0200D330
|
||||
ldr r0, [r4, #0xc]
|
||||
bl sub_0200C7EC
|
||||
_0222E80A:
|
||||
add sp, #0xc
|
||||
pop {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_0222E784
|
||||
|
||||
thumb_func_start ov12_0222E810
|
||||
ov12_0222E810: ; 0x0222E810
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0xc
|
||||
mov r1, #0x84
|
||||
add r5, r0, #0
|
||||
bl ov12_02235E50
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl ov12_0223595C
|
||||
ldr r0, [r4, #4]
|
||||
bl ov12_02220248
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl ov12_022232FC
|
||||
mov r1, #1
|
||||
str r0, [r4, #0x24]
|
||||
bl sub_020080C0
|
||||
add r1, r4, #0
|
||||
add r1, #0x58
|
||||
strh r0, [r1]
|
||||
mov r0, #0x58
|
||||
ldrsh r1, [r4, r0]
|
||||
add r0, r4, #0
|
||||
add r0, #0x5c
|
||||
strh r1, [r0]
|
||||
ldr r0, [r4, #4]
|
||||
bl ov12_02220248
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl ov12_02223354
|
||||
add r1, r4, #0
|
||||
add r1, #0x5a
|
||||
strh r0, [r1]
|
||||
add r0, r5, #0
|
||||
mov r1, #0
|
||||
bl ov12_022202C0
|
||||
str r0, [r4, #0x28]
|
||||
add r0, r5, #0
|
||||
mov r1, #1
|
||||
bl ov12_022202C0
|
||||
str r0, [r4, #0x3c]
|
||||
add r0, r5, #0
|
||||
mov r1, #2
|
||||
bl ov12_022202C0
|
||||
str r0, [r4, #0x50]
|
||||
ldr r0, [r4, #0x28]
|
||||
mov r1, #2
|
||||
bl sub_0200D6A4
|
||||
add r0, r5, #0
|
||||
bl ov12_0222339C
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_0200D460
|
||||
add r0, r5, #0
|
||||
bl ov12_0222339C
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4, #0x3c]
|
||||
bl sub_0200D460
|
||||
add r0, r5, #0
|
||||
bl ov12_0222339C
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4, #0x50]
|
||||
bl sub_0200D460
|
||||
ldr r0, [r4, #4]
|
||||
bl ov12_02220248
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl ov12_022232B8
|
||||
sub r0, r0, #3
|
||||
cmp r0, #1
|
||||
ldr r0, [r4, #0x28]
|
||||
bhi _0222E8DE
|
||||
mov r1, #0x1e
|
||||
bl sub_0200D474
|
||||
ldr r0, [r4, #0x3c]
|
||||
mov r1, #0x32
|
||||
bl sub_0200D474
|
||||
ldr r0, [r4, #0x50]
|
||||
mov r1, #0x46
|
||||
bl sub_0200D474
|
||||
b _0222E8F4
|
||||
_0222E8DE:
|
||||
mov r1, #0x3c
|
||||
bl sub_0200D474
|
||||
ldr r0, [r4, #0x3c]
|
||||
mov r1, #0x46
|
||||
bl sub_0200D474
|
||||
ldr r0, [r4, #0x50]
|
||||
mov r1, #0x32
|
||||
bl sub_0200D474
|
||||
_0222E8F4:
|
||||
mov r2, #0x14
|
||||
mov r1, #0x64
|
||||
str r2, [sp]
|
||||
str r1, [sp, #4]
|
||||
mov r0, #0xa
|
||||
str r0, [sp, #8]
|
||||
add r0, r4, #0
|
||||
add r0, #0x60
|
||||
add r3, r1, #0
|
||||
bl ov12_02225EF0
|
||||
ldr r0, [r4, #4]
|
||||
ldr r1, _0222E918 ; =ov12_0222E784
|
||||
add r2, r4, #0
|
||||
bl ov12_022201E8
|
||||
add sp, #0xc
|
||||
pop {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_0222E918: .word ov12_0222E784
|
||||
thumb_func_end ov12_0222E810
|
1673
asm/ov12_0222E91C.s
Normal file
1673
asm/ov12_0222E91C.s
Normal file
File diff suppressed because it is too large
Load Diff
9863
asm/ov12_0222F700.s
Normal file
9863
asm/ov12_0222F700.s
Normal file
File diff suppressed because it is too large
Load Diff
964
asm/ov12_022346A4.s
Normal file
964
asm/ov12_022346A4.s
Normal file
@ -0,0 +1,964 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_022346A4
|
||||
ov12_022346A4: ; 0x022346A4
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x3c
|
||||
add r7, r1, #0
|
||||
add r4, r0, #0
|
||||
mov r1, #0xac
|
||||
add r6, r2, #0
|
||||
str r3, [sp]
|
||||
bl ov12_02235E50
|
||||
str r4, [r0, #0]
|
||||
str r0, [sp, #4]
|
||||
str r6, [r0, #0xc]
|
||||
add r0, r4, #0
|
||||
bl ov12_02220240
|
||||
add r5, r0, #0
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
bl ov12_02225964
|
||||
ldr r1, [sp, #4]
|
||||
str r0, [r1, #0x10]
|
||||
ldr r1, [r1, #0]
|
||||
add r0, sp, #8
|
||||
bl ov12_0222329C
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
mov r2, #0
|
||||
bl ov12_022258E0
|
||||
add r1, sp, #8
|
||||
strh r0, [r1]
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
mov r2, #1
|
||||
bl ov12_022258E0
|
||||
add r1, sp, #8
|
||||
ldr r5, [sp, #4]
|
||||
strh r0, [r1, #2]
|
||||
mov r4, #0
|
||||
_022346F8:
|
||||
cmp r4, #0
|
||||
add r2, sp, #8
|
||||
bne _02234712
|
||||
ldr r0, [sp]
|
||||
mov r1, #0
|
||||
str r0, [r5, #0x14]
|
||||
ldrsh r1, [r2, r1]
|
||||
add r3, r2, #0
|
||||
mov r2, #2
|
||||
ldrsh r2, [r3, r2]
|
||||
bl sub_0200D4C4
|
||||
b _0223471C
|
||||
_02234712:
|
||||
add r0, r7, #0
|
||||
add r1, r6, #0
|
||||
bl sub_0200CE6C
|
||||
str r0, [r5, #0x14]
|
||||
_0223471C:
|
||||
ldr r0, [r5, #0x14]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [r5, #0x14]
|
||||
mov r1, #0x64
|
||||
bl sub_0200D474
|
||||
ldr r0, [r5, #0x14]
|
||||
mov r1, #1
|
||||
bl sub_0200D460
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #2
|
||||
blt _022346F8
|
||||
ldr r0, [sp, #4]
|
||||
ldr r1, _0223474C ; =ov12_02234750
|
||||
ldr r0, [r0, #0]
|
||||
ldr r2, [sp, #4]
|
||||
bl ov12_022201E8
|
||||
add sp, #0x3c
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_0223474C: .word ov12_02234750
|
||||
thumb_func_end ov12_022346A4
|
||||
|
||||
thumb_func_start ov12_02234750
|
||||
ov12_02234750: ; 0x02234750
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r4, r1, #0
|
||||
add r7, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
cmp r0, #4
|
||||
bhi _02234834
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_02234768: ; jump table
|
||||
.short _02234772 - _02234768 - 2 ; case 0
|
||||
.short _0223479A - _02234768 - 2 ; case 1
|
||||
.short _022347BA - _02234768 - 2 ; case 2
|
||||
.short _022347EC - _02234768 - 2 ; case 3
|
||||
.short _02234812 - _02234768 - 2 ; case 4
|
||||
_02234772:
|
||||
add r2, r4, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
ldr r3, [r4, #0x10]
|
||||
add r1, #0x1c
|
||||
add r2, #0x64
|
||||
bl ov12_0223483C
|
||||
add r1, r4, #0
|
||||
add r2, r4, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
add r1, #0x1c
|
||||
add r2, #0x64
|
||||
bl ov12_0223489C
|
||||
ldr r0, [r4, #4]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #4]
|
||||
mov r0, #8
|
||||
str r0, [r4, #8]
|
||||
b _02234834
|
||||
_0223479A:
|
||||
ldr r0, [r4, #8]
|
||||
add r2, r4, #0
|
||||
sub r0, r0, #1
|
||||
str r0, [r4, #8]
|
||||
ldr r0, [r4, #0x14]
|
||||
add r1, #0x1c
|
||||
add r2, #0x64
|
||||
bl ov12_0223489C
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
bge _02234834
|
||||
ldr r0, [r4, #4]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #4]
|
||||
b _02234834
|
||||
_022347BA:
|
||||
add r2, r4, #0
|
||||
ldr r0, [r4, #0x18]
|
||||
ldr r3, [r4, #0x10]
|
||||
add r1, #0x40
|
||||
add r2, #0x88
|
||||
bl ov12_0223483C
|
||||
add r1, r4, #0
|
||||
add r2, r4, #0
|
||||
ldr r0, [r4, #0x18]
|
||||
add r1, #0x40
|
||||
add r2, #0x88
|
||||
bl ov12_0223489C
|
||||
add r1, r4, #0
|
||||
add r2, r4, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
add r1, #0x1c
|
||||
add r2, #0x64
|
||||
bl ov12_0223489C
|
||||
ldr r0, [r4, #4]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #4]
|
||||
b _02234834
|
||||
_022347EC:
|
||||
add r2, r4, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
add r1, #0x1c
|
||||
add r2, #0x64
|
||||
bl ov12_0223489C
|
||||
add r1, r4, #0
|
||||
add r2, r4, #0
|
||||
ldr r0, [r4, #0x18]
|
||||
add r1, #0x40
|
||||
add r2, #0x88
|
||||
bl ov12_0223489C
|
||||
cmp r0, #0
|
||||
beq _02234834
|
||||
ldr r0, [r4, #4]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #4]
|
||||
b _02234834
|
||||
_02234812:
|
||||
mov r6, #0
|
||||
add r5, r4, #0
|
||||
_02234816:
|
||||
ldr r0, [r5, #0x14]
|
||||
bl sub_0200D0F4
|
||||
add r6, r6, #1
|
||||
add r5, r5, #4
|
||||
cmp r6, #2
|
||||
blt _02234816
|
||||
ldr r0, [r4, #0]
|
||||
add r1, r7, #0
|
||||
bl ov12_02220220
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02234834:
|
||||
ldr r0, [r4, #0xc]
|
||||
bl sub_0200C7EC
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov12_02234750
|
||||
|
||||
thumb_func_start ov12_0223483C
|
||||
ov12_0223483C: ; 0x0223483C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0xc
|
||||
add r6, r1, #0
|
||||
add r5, r0, #0
|
||||
mov r1, #2
|
||||
add r7, r2, #0
|
||||
add r4, r3, #0
|
||||
bl sub_0200D6A4
|
||||
add r0, r5, #0
|
||||
mov r1, #1
|
||||
bl sub_0200D3F4
|
||||
add r1, sp, #8
|
||||
add r0, r5, #0
|
||||
add r1, #2
|
||||
add r2, sp, #8
|
||||
bl sub_0200D550
|
||||
add r1, sp, #8
|
||||
mov r0, #0
|
||||
ldrsh r3, [r1, r0]
|
||||
mov r0, #2
|
||||
ldrsh r1, [r1, r0]
|
||||
add r0, r3, #0
|
||||
sub r0, #0x20
|
||||
lsl r0, r0, #0x10
|
||||
lsl r2, r4, #4
|
||||
asr r0, r0, #0x10
|
||||
add r2, r1, r2
|
||||
str r0, [sp]
|
||||
mov r0, #0x20
|
||||
lsl r2, r2, #0x10
|
||||
str r0, [sp, #4]
|
||||
add r0, r6, #0
|
||||
asr r2, r2, #0x10
|
||||
bl ov12_02225BC8
|
||||
mov r0, #0x20
|
||||
mov r2, #0xa
|
||||
str r0, [sp]
|
||||
add r0, r7, #0
|
||||
mov r1, #2
|
||||
add r3, r2, #0
|
||||
bl ov12_02225E68
|
||||
add sp, #0xc
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov12_0223483C
|
||||
|
||||
thumb_func_start ov12_0223489C
|
||||
ov12_0223489C: ; 0x0223489C
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r0, r1, #0
|
||||
add r4, r2, #0
|
||||
add r1, r5, #0
|
||||
bl ov12_02225C50
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
bl ov12_022260A8
|
||||
cmp r0, #0
|
||||
beq _022348BA
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
_022348BA:
|
||||
add r0, r5, #0
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_0223489C
|
||||
|
||||
thumb_func_start ov12_022348C8
|
||||
ov12_022348C8: ; 0x022348C8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
mov r1, #0x3c
|
||||
add r6, r0, #0
|
||||
add r7, r2, #0
|
||||
add r5, r3, #0
|
||||
bl ov12_02235E50
|
||||
add r4, r0, #0
|
||||
str r6, [r4, #0]
|
||||
str r7, [r4, #0xc]
|
||||
str r5, [r4, #0x10]
|
||||
add r0, r5, #0
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [r4, #0x10]
|
||||
mov r1, #1
|
||||
bl sub_0200D810
|
||||
ldr r0, [r4, #0x10]
|
||||
mov r1, #0x64
|
||||
bl sub_0200D474
|
||||
ldr r0, [r4, #0x10]
|
||||
mov r1, #1
|
||||
bl sub_0200D460
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_0200D43C
|
||||
str r0, [r4, #8]
|
||||
ldr r0, [r4, #0]
|
||||
ldr r1, _02234914 ; =ov12_02234918
|
||||
add r2, r4, #0
|
||||
bl ov12_022201E8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02234914: .word ov12_02234918
|
||||
thumb_func_end ov12_022348C8
|
||||
|
||||
thumb_func_start ov12_02234918
|
||||
ov12_02234918: ; 0x02234918
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
cmp r0, #4
|
||||
bhi _02234A04
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_02234932: ; jump table
|
||||
.short _0223493C - _02234932 - 2 ; case 0
|
||||
.short _0223496C - _02234932 - 2 ; case 1
|
||||
.short _02234992 - _02234932 - 2 ; case 2
|
||||
.short _022349D0 - _02234932 - 2 ; case 3
|
||||
.short _022349EC - _02234932 - 2 ; case 4
|
||||
_0223493C:
|
||||
mov r0, #4
|
||||
str r0, [sp]
|
||||
mov r0, #0xa
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
add r0, #0x14
|
||||
mov r1, #0
|
||||
mov r2, #0x10
|
||||
mov r3, #0x14
|
||||
bl ov12_02226424
|
||||
ldr r0, [r4, #0x10]
|
||||
mov r1, #1
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl ov12_02235780
|
||||
ldr r0, [r4, #4]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #4]
|
||||
b _02234A04
|
||||
_0223496C:
|
||||
add r0, r4, #0
|
||||
add r0, #0x14
|
||||
bl ov12_02226454
|
||||
cmp r0, #0
|
||||
beq _02234A04
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #4]
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_0200D390
|
||||
mov r1, #1
|
||||
ldr r0, [r4, #0x10]
|
||||
lsl r1, r1, #0xc
|
||||
bl sub_0200D3A4
|
||||
b _02234A04
|
||||
_02234992:
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_0200D3E0
|
||||
mov r1, #3
|
||||
bl sub_020E1F6C
|
||||
ldr r2, [r4, #8]
|
||||
ldr r0, [r4, #0x10]
|
||||
add r1, r2, r1
|
||||
bl sub_0200D430
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_0200D3B8
|
||||
cmp r0, #0
|
||||
bne _02234A04
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #0x10
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #4]
|
||||
mov r0, #0x14
|
||||
str r0, [sp]
|
||||
mov r0, #8
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
add r0, #0x14
|
||||
mov r2, #0
|
||||
mov r3, #4
|
||||
bl ov12_02226424
|
||||
b _02234A04
|
||||
_022349D0:
|
||||
add r0, r4, #0
|
||||
add r0, #0x14
|
||||
bl ov12_02226454
|
||||
cmp r0, #0
|
||||
beq _02234A04
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #0
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #4]
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_0200D3F4
|
||||
b _02234A04
|
||||
_022349EC:
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_0200D0F4
|
||||
ldr r0, [r4, #0]
|
||||
add r1, r5, #0
|
||||
bl ov12_02220220
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
_02234A04:
|
||||
ldr r0, [r4, #0xc]
|
||||
bl sub_0200C7EC
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02234918
|
||||
|
||||
thumb_func_start ov12_02234A10
|
||||
ov12_02234A10: ; 0x02234A10
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x4c
|
||||
str r1, [sp, #4]
|
||||
str r2, [sp, #8]
|
||||
mov r1, #0x54
|
||||
add r5, r0, #0
|
||||
str r3, [sp, #0xc]
|
||||
bl ov12_02235E50
|
||||
ldr r1, [sp, #8]
|
||||
str r5, [r0, #0]
|
||||
str r0, [sp, #0x14]
|
||||
str r1, [r0, #8]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov12_02220240
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl ov12_02225964
|
||||
ldr r1, [sp, #0x14]
|
||||
str r0, [sp, #0x10]
|
||||
ldr r1, [r1, #0]
|
||||
add r0, sp, #0x18
|
||||
bl ov12_0222329C
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
mov r2, #0
|
||||
bl ov12_022258E0
|
||||
add r1, sp, #0x18
|
||||
strh r0, [r1]
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
mov r2, #1
|
||||
bl ov12_022258E0
|
||||
ldr r7, [sp, #0x14]
|
||||
ldr r6, [sp, #0x14]
|
||||
ldr r5, [sp, #0x14]
|
||||
add r1, sp, #0x18
|
||||
add r7, #0x3c
|
||||
add r6, #0x24
|
||||
strh r0, [r1, #2]
|
||||
mov r4, #5
|
||||
add r5, #0x14
|
||||
add r7, #0x14
|
||||
add r6, #0x14
|
||||
_02234A74:
|
||||
cmp r4, #5
|
||||
add r2, sp, #0x18
|
||||
bne _02234A8E
|
||||
ldr r0, [sp, #0xc]
|
||||
mov r1, #0
|
||||
str r0, [r5, #0xc]
|
||||
ldrsh r1, [r2, r1]
|
||||
add r3, r2, #0
|
||||
mov r2, #2
|
||||
ldrsh r2, [r3, r2]
|
||||
bl sub_0200D4C4
|
||||
b _02234A98
|
||||
_02234A8E:
|
||||
ldr r0, [sp, #4]
|
||||
ldr r1, [sp, #8]
|
||||
bl sub_0200CE6C
|
||||
str r0, [r5, #0xc]
|
||||
_02234A98:
|
||||
ldr r0, [r5, #0xc]
|
||||
mov r1, #0x64
|
||||
bl sub_0200D474
|
||||
ldr r0, [r5, #0xc]
|
||||
mov r1, #1
|
||||
bl sub_0200D460
|
||||
ldr r0, [r5, #0xc]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [sp, #0x10]
|
||||
add r1, r6, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [r5, #0xc]
|
||||
add r2, r7, #0
|
||||
add r3, r4, #0
|
||||
bl ov12_02234AE0
|
||||
sub r5, r5, #4
|
||||
sub r7, r7, #4
|
||||
sub r6, r6, #4
|
||||
sub r4, r4, #1
|
||||
bpl _02234A74
|
||||
ldr r0, [sp, #0x14]
|
||||
ldr r1, _02234ADC ; =ov12_02234B64
|
||||
ldr r0, [r0, #0]
|
||||
ldr r2, [sp, #0x14]
|
||||
bl ov12_022201E8
|
||||
add sp, #0x4c
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02234ADC: .word ov12_02234B64
|
||||
thumb_func_end ov12_02234A10
|
||||
|
||||
thumb_func_start ov12_02234AE0
|
||||
ov12_02234AE0: ; 0x02234AE0
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r4, r3, #0
|
||||
add r6, r1, #0
|
||||
lsr r1, r4, #0x1f
|
||||
add r1, r4, r1
|
||||
asr r1, r1, #1
|
||||
add r5, r0, #0
|
||||
add r7, r2, #0
|
||||
bl sub_0200D364
|
||||
lsl r0, r4, #1
|
||||
str r0, [r7, #0]
|
||||
mov r0, #0x10
|
||||
add r1, sp, #0
|
||||
str r0, [r6, #0]
|
||||
add r0, r5, #0
|
||||
add r1, #2
|
||||
add r2, sp, #0
|
||||
bl sub_0200D550
|
||||
mov r1, #2
|
||||
add r6, r1, #0
|
||||
add r2, sp, #0
|
||||
sub r6, #0xe
|
||||
mul r6, r4
|
||||
ldr r0, [sp, #0x18]
|
||||
ldrsh r3, [r2, r1]
|
||||
add r6, #0x28
|
||||
add r4, r0, #0
|
||||
mul r4, r6
|
||||
add r0, r3, r4
|
||||
mov r3, #0
|
||||
strh r0, [r2, #2]
|
||||
ldrsh r0, [r2, r3]
|
||||
add r0, #0x28
|
||||
strh r0, [r2]
|
||||
ldrsh r1, [r2, r1]
|
||||
ldrsh r2, [r2, r3]
|
||||
add r0, r5, #0
|
||||
bl sub_0200D4C4
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov12_02234AE0
|
||||
|
||||
thumb_func_start ov12_02234B34
|
||||
ov12_02234B34: ; 0x02234B34
|
||||
push {r3, lr}
|
||||
ldr r3, [r2, #0]
|
||||
cmp r3, #0
|
||||
ble _02234B4A
|
||||
sub r1, r3, #1
|
||||
str r1, [r2, #0]
|
||||
bne _02234B60
|
||||
mov r1, #1
|
||||
bl sub_0200D3F4
|
||||
b _02234B60
|
||||
_02234B4A:
|
||||
ldr r2, [r1, #0]
|
||||
cmp r2, #0
|
||||
ble _02234B56
|
||||
sub r0, r2, #1
|
||||
str r0, [r1, #0]
|
||||
b _02234B60
|
||||
_02234B56:
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_02234B60:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov12_02234B34
|
||||
|
||||
thumb_func_start ov12_02234B64
|
||||
ov12_02234B64: ; 0x02234B64
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r6, r0, #0
|
||||
ldr r0, [r1, #4]
|
||||
str r1, [sp]
|
||||
cmp r0, #0
|
||||
beq _02234B76
|
||||
cmp r0, #1
|
||||
beq _02234BA8
|
||||
b _02234BCC
|
||||
_02234B76:
|
||||
add r6, r1, #0
|
||||
add r4, r1, #0
|
||||
mov r7, #0
|
||||
add r6, #0x3c
|
||||
add r4, #0x24
|
||||
add r5, r1, #0
|
||||
_02234B82:
|
||||
ldr r0, [r5, #0xc]
|
||||
add r1, r4, #0
|
||||
add r2, r6, #0
|
||||
bl ov12_02234B34
|
||||
add r7, r7, #1
|
||||
add r6, r6, #4
|
||||
add r4, r4, #4
|
||||
add r5, r5, #4
|
||||
cmp r7, #6
|
||||
blt _02234B82
|
||||
cmp r0, #0
|
||||
beq _02234BCC
|
||||
ldr r0, [sp]
|
||||
ldr r0, [r0, #4]
|
||||
add r1, r0, #1
|
||||
ldr r0, [sp]
|
||||
str r1, [r0, #4]
|
||||
b _02234BCC
|
||||
_02234BA8:
|
||||
mov r5, #0
|
||||
add r4, r1, #0
|
||||
_02234BAC:
|
||||
ldr r0, [r4, #0xc]
|
||||
bl sub_0200D0F4
|
||||
add r5, r5, #1
|
||||
add r4, r4, #4
|
||||
cmp r5, #6
|
||||
blt _02234BAC
|
||||
ldr r0, [sp]
|
||||
add r1, r6, #0
|
||||
ldr r0, [r0, #0]
|
||||
bl ov12_02220220
|
||||
ldr r0, [sp]
|
||||
bl sub_020181C4
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02234BCC:
|
||||
ldr r0, [sp]
|
||||
ldr r0, [r0, #8]
|
||||
bl sub_0200C7EC
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02234B64
|
||||
|
||||
thumb_func_start ov12_02234BD8
|
||||
ov12_02234BD8: ; 0x02234BD8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
mov r7, #0
|
||||
add r6, r5, #0
|
||||
str r1, [sp, #0x10]
|
||||
add r6, #0x30
|
||||
add r4, r7, #0
|
||||
_02234BE8:
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #0x32
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0x30
|
||||
mov r1, #0
|
||||
str r0, [sp, #0xc]
|
||||
ldr r2, _02234C28 ; =0x00007FFF
|
||||
add r0, r6, #0
|
||||
add r3, r1, #0
|
||||
bl ov12_02225A5C
|
||||
ldr r0, [r5, #0x38]
|
||||
add r7, r7, #1
|
||||
add r0, r0, r4
|
||||
str r0, [r5, #0x38]
|
||||
ldr r1, [r5, #0x48]
|
||||
ldr r0, [sp, #0x10]
|
||||
add r6, #0x24
|
||||
mul r0, r1
|
||||
str r0, [r5, #0x48]
|
||||
ldr r0, _02234C2C ; =0x00002AAA
|
||||
add r5, #0x24
|
||||
add r4, r4, r0
|
||||
cmp r7, #6
|
||||
blt _02234BE8
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02234C28: .word 0x00007FFF
|
||||
_02234C2C: .word 0x00002AAA
|
||||
thumb_func_end ov12_02234BD8
|
||||
|
||||
thumb_func_start ov12_02234C30
|
||||
ov12_02234C30: ; 0x02234C30
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r6, r0, #0
|
||||
mov r0, #0
|
||||
add r7, r6, #0
|
||||
str r0, [sp]
|
||||
add r7, #0x30
|
||||
add r4, r6, #0
|
||||
add r5, r6, #0
|
||||
_02234C40:
|
||||
add r0, r7, #0
|
||||
bl ov12_02225AE0
|
||||
mov r1, #0x13
|
||||
lsl r1, r1, #4
|
||||
mov r2, #0x30
|
||||
ldrsh r1, [r6, r1]
|
||||
ldrsh r2, [r4, r2]
|
||||
ldr r0, [r5, #0x18]
|
||||
add r1, r1, r2
|
||||
ldr r2, _02234C9C ; =0x00000132
|
||||
lsl r1, r1, #0x10
|
||||
ldrsh r2, [r6, r2]
|
||||
asr r1, r1, #0x10
|
||||
bl sub_0200D4C4
|
||||
ldr r1, [r4, #0x38]
|
||||
ldr r0, _02234CA0 ; =0x00003FFF
|
||||
cmp r1, r0
|
||||
blt _02234C78
|
||||
ldr r0, _02234CA4 ; =0x0000BF49
|
||||
cmp r1, r0
|
||||
bgt _02234C78
|
||||
ldr r0, [r5, #0x18]
|
||||
mov r1, #1
|
||||
bl sub_0200D460
|
||||
b _02234C88
|
||||
_02234C78:
|
||||
ldr r0, [r6, #0]
|
||||
bl ov12_0222339C
|
||||
add r1, r0, #0
|
||||
ldr r0, [r5, #0x18]
|
||||
add r1, r1, #1
|
||||
bl sub_0200D460
|
||||
_02234C88:
|
||||
ldr r0, [sp]
|
||||
add r7, #0x24
|
||||
add r0, r0, #1
|
||||
add r4, #0x24
|
||||
add r5, r5, #4
|
||||
str r0, [sp]
|
||||
cmp r0, #6
|
||||
blt _02234C40
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02234C9C: .word 0x00000132
|
||||
_02234CA0: .word 0x00003FFF
|
||||
_02234CA4: .word 0x0000BF49
|
||||
thumb_func_end ov12_02234C30
|
||||
|
||||
thumb_func_start ov12_02234CA8
|
||||
ov12_02234CA8: ; 0x02234CA8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
add r7, r0, #0
|
||||
ldr r0, [r4, #0xc]
|
||||
cmp r0, #4
|
||||
bhi _02234D8E
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_02234CC2: ; jump table
|
||||
.short _02234CCC - _02234CC2 - 2 ; case 0
|
||||
.short _02234D02 - _02234CC2 - 2 ; case 1
|
||||
.short _02234D22 - _02234CC2 - 2 ; case 2
|
||||
.short _02234D4E - _02234CC2 - 2 ; case 3
|
||||
.short _02234D6A - _02234CC2 - 2 ; case 4
|
||||
_02234CCC:
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #1
|
||||
mov r2, #0xf
|
||||
bl ov12_02235780
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #0xa
|
||||
str r0, [sp, #4]
|
||||
add r0, #0xfe
|
||||
add r0, r4, r0
|
||||
mov r1, #1
|
||||
mov r2, #0x10
|
||||
mov r3, #0xf
|
||||
bl ov12_02226424
|
||||
ldr r1, [r4, #0x14]
|
||||
add r0, r4, #0
|
||||
bl ov12_02234BD8
|
||||
add r0, r4, #0
|
||||
bl ov12_02234C30
|
||||
ldr r0, [r4, #0xc]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0xc]
|
||||
b _02234D8E
|
||||
_02234D02:
|
||||
add r0, r4, #0
|
||||
bl ov12_02234C30
|
||||
mov r0, #0x42
|
||||
lsl r0, r0, #2
|
||||
add r0, r4, r0
|
||||
bl ov12_02226454
|
||||
cmp r0, #0
|
||||
beq _02234D8E
|
||||
ldr r0, [r4, #0xc]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0xc]
|
||||
mov r0, #0x1c
|
||||
str r0, [r4, #0x10]
|
||||
b _02234D8E
|
||||
_02234D22:
|
||||
add r0, r4, #0
|
||||
bl ov12_02234C30
|
||||
ldr r0, [r4, #0x10]
|
||||
sub r0, r0, #1
|
||||
str r0, [r4, #0x10]
|
||||
bpl _02234D8E
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x10
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0xc]
|
||||
mov r0, #0xf
|
||||
str r0, [sp]
|
||||
mov r0, #0xa
|
||||
str r0, [sp, #4]
|
||||
add r0, #0xfe
|
||||
add r0, r4, r0
|
||||
mov r2, #1
|
||||
mov r3, #0
|
||||
bl ov12_02226424
|
||||
b _02234D8E
|
||||
_02234D4E:
|
||||
add r0, r4, #0
|
||||
bl ov12_02234C30
|
||||
mov r0, #0x42
|
||||
lsl r0, r0, #2
|
||||
add r0, r4, r0
|
||||
bl ov12_02226454
|
||||
cmp r0, #0
|
||||
beq _02234D8E
|
||||
ldr r0, [r4, #0xc]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0xc]
|
||||
b _02234D8E
|
||||
_02234D6A:
|
||||
mov r6, #0
|
||||
add r5, r4, #0
|
||||
_02234D6E:
|
||||
ldr r0, [r5, #0x18]
|
||||
bl sub_0200D0F4
|
||||
add r6, r6, #1
|
||||
add r5, r5, #4
|
||||
cmp r6, #6
|
||||
blt _02234D6E
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
ldr r0, [r4, #0]
|
||||
add r1, r7, #0
|
||||
bl ov12_02220220
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02234D8E:
|
||||
ldr r0, [r4, #8]
|
||||
bl sub_0200C7EC
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov12_02234CA8
|
||||
|
||||
thumb_func_start ov12_02234D98
|
||||
ov12_02234D98: ; 0x02234D98
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x38
|
||||
add r5, r1, #0
|
||||
mov r1, #0x4d
|
||||
lsl r1, r1, #2
|
||||
add r4, r0, #0
|
||||
str r2, [sp]
|
||||
add r7, r3, #0
|
||||
bl ov12_02235E50
|
||||
add r6, r0, #0
|
||||
str r4, [r6, #0]
|
||||
ldr r0, [sp]
|
||||
str r5, [r6, #4]
|
||||
str r0, [r6, #8]
|
||||
add r0, r4, #0
|
||||
bl ov12_02220240
|
||||
add r1, r0, #0
|
||||
ldr r0, [r6, #0]
|
||||
bl ov12_022232FC
|
||||
mov r1, #0
|
||||
add r5, r0, #0
|
||||
bl sub_020080C0
|
||||
mov r1, #0x13
|
||||
lsl r1, r1, #4
|
||||
strh r0, [r6, r1]
|
||||
add r0, r5, #0
|
||||
mov r1, #1
|
||||
bl sub_020080C0
|
||||
ldr r1, _02234E3C ; =0x00000132
|
||||
strh r0, [r6, r1]
|
||||
add r0, sp, #4
|
||||
add r1, r4, #0
|
||||
bl ov12_0222329C
|
||||
mov r4, #0
|
||||
add r5, r6, #0
|
||||
_02234DEA:
|
||||
cmp r4, #0
|
||||
bne _02234DF2
|
||||
str r7, [r5, #0x18]
|
||||
b _02234DFE
|
||||
_02234DF2:
|
||||
ldr r0, [r6, #4]
|
||||
ldr r1, [r6, #8]
|
||||
add r2, sp, #4
|
||||
bl sub_0200CE6C
|
||||
str r0, [r5, #0x18]
|
||||
_02234DFE:
|
||||
ldr r0, [r5, #0x18]
|
||||
mov r1, #0x64
|
||||
bl sub_0200D474
|
||||
ldr r0, [r5, #0x18]
|
||||
mov r1, #1
|
||||
bl sub_0200D810
|
||||
ldr r0, [r5, #0x18]
|
||||
mov r1, #1
|
||||
bl sub_0200D390
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #6
|
||||
blt _02234DEA
|
||||
ldr r0, [r6, #0]
|
||||
bl ov12_02220240
|
||||
add r1, r0, #0
|
||||
ldr r0, [r6, #0]
|
||||
bl ov12_02225964
|
||||
str r0, [r6, #0x14]
|
||||
ldr r0, [r6, #0]
|
||||
ldr r1, _02234E40 ; =ov12_02234CA8
|
||||
add r2, r6, #0
|
||||
bl ov12_022201E8
|
||||
add sp, #0x38
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_02234E3C: .word 0x00000132
|
||||
_02234E40: .word ov12_02234CA8
|
||||
thumb_func_end ov12_02234D98
|
519
asm/ov12_02234E44.s
Normal file
519
asm/ov12_02234E44.s
Normal file
@ -0,0 +1,519 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_02234E44
|
||||
ov12_02234E44: ; 0x02234E44
|
||||
strh r1, [r0, #0xc]
|
||||
strh r2, [r0, #0xe]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02234E44
|
||||
|
||||
thumb_func_start ov12_02234E4C
|
||||
ov12_02234E4C: ; 0x02234E4C
|
||||
strh r1, [r0, #0x14]
|
||||
strh r2, [r0, #0x16]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02234E4C
|
||||
|
||||
thumb_func_start ov12_02234E54
|
||||
ov12_02234E54: ; 0x02234E54
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x10
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x1c]
|
||||
add r4, r1, #0
|
||||
bl ov12_0221FDE4
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x1c]
|
||||
mov r1, #3
|
||||
bl ov12_02223428
|
||||
add r1, r0, #0
|
||||
lsl r0, r4, #0x18
|
||||
lsl r1, r1, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
lsr r1, r1, #0x18
|
||||
bl sub_02019060
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
str r6, [sp, #0xc]
|
||||
ldr r1, [r5, #4]
|
||||
ldr r0, [r5, #0]
|
||||
lsl r2, r1, #4
|
||||
ldr r1, _02234EE4 ; =0x0223A1D8
|
||||
add r3, r4, #0
|
||||
ldr r1, [r1, r2]
|
||||
ldr r2, [r5, #0x2c]
|
||||
bl sub_02006E3C
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #0x20
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x80
|
||||
str r0, [sp, #8]
|
||||
ldr r2, [r5, #4]
|
||||
ldr r0, [r5, #0x30]
|
||||
lsl r3, r2, #4
|
||||
ldr r2, _02234EE8 ; =0x0223A1DC
|
||||
ldr r1, [r5, #0]
|
||||
ldr r2, [r2, r3]
|
||||
add r3, r6, #0
|
||||
bl sub_02003050
|
||||
lsl r1, r4, #0x18
|
||||
ldr r0, [r5, #0x2c]
|
||||
lsr r1, r1, #0x18
|
||||
bl sub_02019EBC
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
str r6, [sp, #0xc]
|
||||
ldr r1, [r5, #4]
|
||||
ldr r0, [r5, #0]
|
||||
lsl r2, r1, #4
|
||||
ldr r1, _02234EEC ; =0x0223A1E0
|
||||
add r3, r4, #0
|
||||
ldr r1, [r1, r2]
|
||||
ldr r2, [r5, #0x2c]
|
||||
bl sub_02006E60
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
_02234EE4: .word 0x0223A1D8
|
||||
_02234EE8: .word 0x0223A1DC
|
||||
_02234EEC: .word 0x0223A1E0
|
||||
thumb_func_end ov12_02234E54
|
||||
|
||||
thumb_func_start ov12_02234EF0
|
||||
ov12_02234EF0: ; 0x02234EF0
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldrb r0, [r4, #0x18]
|
||||
cmp r0, #3
|
||||
bhi _02234FAC
|
||||
add r1, r0, r0
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_02234F08: ; jump table
|
||||
.short _02234F10 - _02234F08 - 2 ; case 0
|
||||
.short _02234F20 - _02234F08 - 2 ; case 1
|
||||
.short _02234F38 - _02234F08 - 2 ; case 2
|
||||
.short _02234F58 - _02234F08 - 2 ; case 3
|
||||
_02234F10:
|
||||
add r0, r4, #0
|
||||
mov r1, #2
|
||||
bl ov12_02234E54
|
||||
ldrb r0, [r4, #0x18]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x18]
|
||||
b _02234FFA
|
||||
_02234F20:
|
||||
ldrh r0, [r4, #0x16]
|
||||
mov r1, #4
|
||||
mov r2, #0x39
|
||||
str r0, [sp]
|
||||
ldrh r3, [r4, #0x14]
|
||||
ldr r0, _02235048 ; =0x04000050
|
||||
bl sub_020BF55C
|
||||
ldrb r0, [r4, #0x18]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x18]
|
||||
b _02234FFA
|
||||
_02234F38:
|
||||
add r1, r4, #0
|
||||
add r1, #0x40
|
||||
ldrb r1, [r1]
|
||||
cmp r1, #0x14
|
||||
bls _02234F48
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x18]
|
||||
b _02234FFA
|
||||
_02234F48:
|
||||
add r0, r4, #0
|
||||
add r0, #0x40
|
||||
ldrb r0, [r0]
|
||||
add r1, r0, #1
|
||||
add r0, r4, #0
|
||||
add r0, #0x40
|
||||
strb r1, [r0]
|
||||
b _02234FFA
|
||||
_02234F58:
|
||||
ldrh r0, [r4, #0x14]
|
||||
cmp r0, #0
|
||||
beq _02234F62
|
||||
sub r0, r0, #1
|
||||
strh r0, [r4, #0x14]
|
||||
_02234F62:
|
||||
ldrh r0, [r4, #0x16]
|
||||
cmp r0, #0x10
|
||||
bhs _02234F6C
|
||||
add r0, r0, #1
|
||||
strh r0, [r4, #0x16]
|
||||
_02234F6C:
|
||||
ldrh r0, [r4, #0x14]
|
||||
cmp r0, #0
|
||||
bne _02234F9E
|
||||
ldrh r0, [r4, #0x16]
|
||||
cmp r0, #0x10
|
||||
bne _02234F9E
|
||||
ldr r0, [r4, #0x2c]
|
||||
mov r1, #2
|
||||
bl sub_02019EBC
|
||||
ldr r0, [r4, #0x34]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [r4, #0x38]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [r4, #0x3c]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldrb r0, [r4, #0x18]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x18]
|
||||
_02234F9E:
|
||||
ldrh r0, [r4, #0x16]
|
||||
ldrh r1, [r4, #0x14]
|
||||
lsl r0, r0, #8
|
||||
orr r1, r0
|
||||
ldr r0, _0223504C ; =0x04000052
|
||||
strh r1, [r0]
|
||||
b _02234FFA
|
||||
_02234FAC:
|
||||
ldr r0, _02235050 ; =0x0400004A
|
||||
mov r1, #0x3f
|
||||
ldrh r2, [r0]
|
||||
bic r2, r1
|
||||
mov r1, #0x1f
|
||||
orr r2, r1
|
||||
strh r2, [r0]
|
||||
ldrh r3, [r0]
|
||||
ldr r2, _02235054 ; =0xFFFFC0FF
|
||||
lsl r1, r1, #8
|
||||
and r2, r3
|
||||
orr r1, r2
|
||||
strh r1, [r0]
|
||||
mov r2, #0
|
||||
ldr r0, [r4, #0x2c]
|
||||
mov r1, #2
|
||||
add r3, r2, #0
|
||||
bl sub_02019184
|
||||
ldr r0, [r4, #0x2c]
|
||||
mov r1, #2
|
||||
mov r2, #3
|
||||
mov r3, #0
|
||||
bl sub_02019184
|
||||
mov r2, #1
|
||||
lsl r2, r2, #0x1a
|
||||
ldr r1, [r2, #0]
|
||||
ldr r0, _02235058 ; =0xFFFF1FFF
|
||||
and r0, r1
|
||||
str r0, [r2, #0]
|
||||
ldr r0, [r4, #0x1c]
|
||||
add r1, r5, #0
|
||||
bl ov12_02220220
|
||||
add r0, r4, #0
|
||||
bl ov12_02235E80
|
||||
pop {r3, r4, r5, pc}
|
||||
_02234FFA:
|
||||
mov r3, #0x10
|
||||
mov r0, #0xc
|
||||
ldrsh r1, [r4, r3]
|
||||
ldrsh r0, [r4, r0]
|
||||
mov r2, #0
|
||||
add r0, r1, r0
|
||||
strh r0, [r4, #0x10]
|
||||
mov r0, #0x12
|
||||
ldrsh r1, [r4, r0]
|
||||
mov r0, #0xe
|
||||
ldrsh r0, [r4, r0]
|
||||
add r0, r1, r0
|
||||
strh r0, [r4, #0x12]
|
||||
ldrsh r3, [r4, r3]
|
||||
ldr r0, [r4, #0x2c]
|
||||
mov r1, #2
|
||||
bl sub_02019184
|
||||
mov r3, #0x12
|
||||
ldrsh r3, [r4, r3]
|
||||
ldr r0, [r4, #0x2c]
|
||||
mov r1, #2
|
||||
mov r2, #3
|
||||
bl sub_02019184
|
||||
ldr r0, [r4, #0x34]
|
||||
bl sub_0200D330
|
||||
ldr r0, [r4, #0x38]
|
||||
bl sub_0200D330
|
||||
ldr r0, [r4, #0x3c]
|
||||
bl sub_0200D330
|
||||
ldr r0, [r4, #0x24]
|
||||
bl sub_0200C7EC
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_02235048: .word 0x04000050
|
||||
_0223504C: .word 0x04000052
|
||||
_02235050: .word 0x0400004A
|
||||
_02235054: .word 0xFFFFC0FF
|
||||
_02235058: .word 0xFFFF1FFF
|
||||
thumb_func_end ov12_02234EF0
|
||||
|
||||
thumb_func_start ov12_0223505C
|
||||
ov12_0223505C: ; 0x0223505C
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
mov r1, #7
|
||||
str r1, [r4, #0]
|
||||
add r5, r0, #0
|
||||
mov r1, #0
|
||||
bl ov12_02220280
|
||||
str r0, [r4, #4]
|
||||
add r0, r5, #0
|
||||
mov r1, #1
|
||||
bl ov12_02220280
|
||||
str r0, [r4, #8]
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_0223505C
|
||||
|
||||
thumb_func_start ov12_0223507C
|
||||
ov12_0223507C: ; 0x0223507C
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r1, #0
|
||||
mov r1, #0x44
|
||||
add r6, r0, #0
|
||||
bl ov12_02235E50
|
||||
add r4, r0, #0
|
||||
add r1, r4, #0
|
||||
add r0, r6, #0
|
||||
add r1, #0x18
|
||||
bl ov12_0223595C
|
||||
add r2, r4, #0
|
||||
ldmia r5!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldmia r5!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldmia r5!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r4, #0x1c]
|
||||
mov r1, #0
|
||||
bl ov12_022202C0
|
||||
str r0, [r4, #0x34]
|
||||
ldr r0, [r4, #0x1c]
|
||||
mov r1, #1
|
||||
bl ov12_022202C0
|
||||
str r0, [r4, #0x38]
|
||||
ldr r0, [r4, #0x1c]
|
||||
mov r1, #2
|
||||
bl ov12_022202C0
|
||||
str r0, [r4, #0x3c]
|
||||
ldr r0, [r4, #0x1c]
|
||||
mov r1, #2
|
||||
bl ov12_02223428
|
||||
ldr r0, [r4, #0x34]
|
||||
mov r1, #2
|
||||
bl sub_0200D460
|
||||
ldr r0, [r4, #0x38]
|
||||
mov r1, #2
|
||||
bl sub_0200D460
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
bne _022350E6
|
||||
add r0, r6, #0
|
||||
bl ov12_02220240
|
||||
b _022350EC
|
||||
_022350E6:
|
||||
add r0, r6, #0
|
||||
bl ov12_02220248
|
||||
_022350EC:
|
||||
add r1, r0, #0
|
||||
add r0, r6, #0
|
||||
bl ov12_02235254
|
||||
add r5, r0, #0
|
||||
add r0, r6, #0
|
||||
bl ov12_0221FDD4
|
||||
cmp r0, #1
|
||||
bne _02235124
|
||||
ldr r0, [r4, #0x3c]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [r4, #0x1c]
|
||||
mov r1, #2
|
||||
bl ov12_02223428
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #0x34]
|
||||
add r1, r5, #0
|
||||
bl sub_0200D460
|
||||
ldr r0, [r4, #0x38]
|
||||
add r1, r5, #0
|
||||
bl sub_0200D460
|
||||
b _02235148
|
||||
_02235124:
|
||||
cmp r5, #1
|
||||
bhi _02235132
|
||||
ldr r0, [r4, #0x3c]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
b _02235148
|
||||
_02235132:
|
||||
sub r0, r5, #3
|
||||
cmp r0, #1
|
||||
ldr r0, [r4, #0x3c]
|
||||
bhi _02235142
|
||||
mov r1, #3
|
||||
bl sub_0200D460
|
||||
b _02235148
|
||||
_02235142:
|
||||
mov r1, #1
|
||||
bl sub_0200D460
|
||||
_02235148:
|
||||
ldr r0, _02235194 ; =0x0400004A
|
||||
ldr r1, _02235198 ; =0xFFFFC0FF
|
||||
ldrh r2, [r0]
|
||||
and r2, r1
|
||||
mov r1, #0x16
|
||||
lsl r1, r1, #8
|
||||
orr r2, r1
|
||||
lsr r1, r0, #0xd
|
||||
orr r1, r2
|
||||
strh r1, [r0]
|
||||
ldrh r2, [r0]
|
||||
mov r1, #0x3f
|
||||
bic r2, r1
|
||||
mov r1, #0x1b
|
||||
orr r2, r1
|
||||
mov r1, #0x20
|
||||
orr r2, r1
|
||||
strh r2, [r0]
|
||||
lsl r3, r1, #0x15
|
||||
ldr r2, [r3, #0]
|
||||
ldr r0, _0223519C ; =0xFFFF1FFF
|
||||
and r2, r0
|
||||
lsl r0, r1, #0xa
|
||||
orr r0, r2
|
||||
str r0, [r3, #0]
|
||||
ldr r0, [r4, #0x38]
|
||||
mov r1, #2
|
||||
bl sub_0200D810
|
||||
mov r0, #0
|
||||
strh r0, [r4, #0x10]
|
||||
strh r0, [r4, #0x12]
|
||||
ldr r0, [r4, #0x1c]
|
||||
ldr r1, _022351A0 ; =ov12_02234EF0
|
||||
add r2, r4, #0
|
||||
bl ov12_022201E8
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_02235194: .word 0x0400004A
|
||||
_02235198: .word 0xFFFFC0FF
|
||||
_0223519C: .word 0xFFFF1FFF
|
||||
_022351A0: .word ov12_02234EF0
|
||||
thumb_func_end ov12_0223507C
|
||||
|
||||
thumb_func_start ov12_022351A4
|
||||
ov12_022351A4: ; 0x022351A4
|
||||
push {r4, lr}
|
||||
sub sp, #0x18
|
||||
add r1, sp, #0
|
||||
add r4, r0, #0
|
||||
bl ov12_0223505C
|
||||
add r0, sp, #0
|
||||
mov r1, #0
|
||||
mov r2, #3
|
||||
bl ov12_02234E44
|
||||
add r0, sp, #0
|
||||
mov r1, #0xc
|
||||
mov r2, #4
|
||||
bl ov12_02234E4C
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0
|
||||
bl ov12_0223507C
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov12_022351A4
|
||||
|
||||
thumb_func_start ov12_022351D0
|
||||
ov12_022351D0: ; 0x022351D0
|
||||
push {r4, lr}
|
||||
sub sp, #0x18
|
||||
add r1, sp, #0
|
||||
add r4, r0, #0
|
||||
bl ov12_0223505C
|
||||
mov r1, #0
|
||||
add r0, sp, #0
|
||||
sub r2, r1, #3
|
||||
bl ov12_02234E44
|
||||
add r0, sp, #0
|
||||
mov r1, #0xc
|
||||
mov r2, #4
|
||||
bl ov12_02234E4C
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0
|
||||
bl ov12_0223507C
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov12_022351D0
|
||||
|
||||
thumb_func_start ov12_022351FC
|
||||
ov12_022351FC: ; 0x022351FC
|
||||
push {r4, lr}
|
||||
sub sp, #0x18
|
||||
add r1, sp, #0
|
||||
add r4, r0, #0
|
||||
bl ov12_0223505C
|
||||
add r0, sp, #0
|
||||
mov r1, #0
|
||||
mov r2, #3
|
||||
bl ov12_02234E44
|
||||
add r0, sp, #0
|
||||
mov r1, #0xc
|
||||
mov r2, #4
|
||||
bl ov12_02234E4C
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0
|
||||
bl ov12_0223507C
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov12_022351FC
|
||||
|
||||
thumb_func_start ov12_02235228
|
||||
ov12_02235228: ; 0x02235228
|
||||
push {r4, lr}
|
||||
sub sp, #0x18
|
||||
add r1, sp, #0
|
||||
add r4, r0, #0
|
||||
bl ov12_0223505C
|
||||
mov r1, #0
|
||||
add r0, sp, #0
|
||||
sub r2, r1, #6
|
||||
bl ov12_02234E44
|
||||
add r0, sp, #0
|
||||
mov r1, #0xc
|
||||
mov r2, #4
|
||||
bl ov12_02234E4C
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0
|
||||
bl ov12_0223507C
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov12_02235228
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov12_0223A1D8
|
||||
Unk_ov12_0223A1D8: ; 0x0223A1D8
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x1C44, 0x40
|
||||
|
1670
asm/ov12_02235254.s
Normal file
1670
asm/ov12_02235254.s
Normal file
File diff suppressed because it is too large
Load Diff
4423
asm/ov12_02235E94.s
Normal file
4423
asm/ov12_02235E94.s
Normal file
File diff suppressed because it is too large
Load Diff
106
asm/ov12_02237E54.s
Normal file
106
asm/ov12_02237E54.s
Normal file
@ -0,0 +1,106 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_02237E54
|
||||
ov12_02237E54: ; 0x02237E54
|
||||
push {r3, lr}
|
||||
sub r1, r1, r3
|
||||
neg r1, r1
|
||||
sub r0, r0, r2
|
||||
lsl r1, r1, #0x10
|
||||
lsl r0, r0, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add r2, r1, #0
|
||||
asr r0, r0, #0x10
|
||||
mul r2, r1
|
||||
add r1, r0, #0
|
||||
mul r1, r0
|
||||
add r0, r2, r1
|
||||
lsl r0, r0, #0xc
|
||||
bl sub_020BCFF0
|
||||
asr r1, r0, #0xb
|
||||
lsr r1, r1, #0x14
|
||||
add r1, r0, r1
|
||||
asr r0, r1, #0xc
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02237E54
|
||||
|
||||
thumb_func_start ov12_02237E80
|
||||
ov12_02237E80: ; 0x02237E80
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
bl sub_0202CA80
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl sub_0202CA84
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
mov r2, #0xbe
|
||||
mov r3, #0x46
|
||||
bl ov12_02237E54
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02237E80
|
||||
|
||||
thumb_func_start ov12_02237EA0
|
||||
ov12_02237EA0: ; 0x02237EA0
|
||||
push {r4, lr}
|
||||
sub sp, #8
|
||||
ldr r3, _02237EF8 ; =0x0223B040
|
||||
add r4, r0, #0
|
||||
add r2, sp, #0
|
||||
mov r1, #7
|
||||
_02237EAC:
|
||||
ldrb r0, [r3]
|
||||
add r3, r3, #1
|
||||
strb r0, [r2]
|
||||
add r2, r2, #1
|
||||
sub r1, r1, #1
|
||||
bne _02237EAC
|
||||
add r0, r4, #0
|
||||
bl sub_0202CA7C
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
bl sub_020981AC
|
||||
cmp r0, #0
|
||||
bne _02237EEE
|
||||
add r0, r4, #0
|
||||
bl ov12_02237E80
|
||||
cmp r0, #0x38
|
||||
blt _02237ED8
|
||||
mov r0, #3
|
||||
b _02237EE6
|
||||
_02237ED8:
|
||||
add r0, r0, #1
|
||||
mov r1, #0x14
|
||||
bl sub_020E1F6C
|
||||
cmp r0, #3
|
||||
blt _02237EE6
|
||||
mov r0, #3
|
||||
_02237EE6:
|
||||
add r1, sp, #0
|
||||
add sp, #8
|
||||
ldrb r0, [r1, r0]
|
||||
pop {r4, pc}
|
||||
_02237EEE:
|
||||
add r0, sp, #0
|
||||
ldrb r0, [r0, #1]
|
||||
add sp, #8
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_02237EF8: .word 0x0223B040
|
||||
thumb_func_end ov12_02237EA0
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov12_0223B040
|
||||
Unk_ov12_0223B040: ; 0x0223B040
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x2AAC, 0x7
|
||||
|
276
asm/ov12_02237EFC.s
Normal file
276
asm/ov12_02237EFC.s
Normal file
@ -0,0 +1,276 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_02237EFC
|
||||
ov12_02237EFC: ; 0x02237EFC
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r1, #0
|
||||
mov r1, #0x48
|
||||
add r6, r0, #0
|
||||
bl sub_02018144
|
||||
add r4, r0, #0
|
||||
bne _02237F14
|
||||
bl sub_02022974
|
||||
mov r0, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
_02237F14:
|
||||
bl ov12_02220474
|
||||
str r6, [r4, #0]
|
||||
cmp r5, #0
|
||||
beq _02237F22
|
||||
ldr r0, [r5, #0]
|
||||
str r0, [r4, #4]
|
||||
_02237F22:
|
||||
mov r1, #0
|
||||
add r2, r4, #0
|
||||
add r0, r1, #0
|
||||
_02237F28:
|
||||
add r1, r1, #1
|
||||
str r0, [r2, #8]
|
||||
add r2, r2, #4
|
||||
cmp r1, #0x10
|
||||
blt _02237F28
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02237EFC
|
||||
|
||||
thumb_func_start ov12_02237F38
|
||||
ov12_02237F38: ; 0x02237F38
|
||||
push {r4, r5, r6, lr}
|
||||
mov r4, #0
|
||||
add r5, r4, #0
|
||||
add r3, r0, #0
|
||||
_02237F40:
|
||||
ldr r2, [r3, #8]
|
||||
cmp r2, #0
|
||||
bne _02237F60
|
||||
add r4, r0, #0
|
||||
ldr r0, [r0, #0]
|
||||
add r4, #8
|
||||
lsl r6, r5, #2
|
||||
bl ov12_02237FC8
|
||||
str r0, [r4, r6]
|
||||
ldr r0, [r4, r6]
|
||||
mov r1, #0
|
||||
str r1, [r0, #0x18]
|
||||
ldr r4, [r4, r6]
|
||||
str r5, [r4, #0]
|
||||
b _02237F68
|
||||
_02237F60:
|
||||
add r5, r5, #1
|
||||
add r3, r3, #4
|
||||
cmp r5, #0x10
|
||||
blt _02237F40
|
||||
_02237F68:
|
||||
cmp r4, #0
|
||||
bne _02237F70
|
||||
bl sub_02022974
|
||||
_02237F70:
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov12_02237F38
|
||||
|
||||
thumb_func_start ov12_02237F74
|
||||
ov12_02237F74: ; 0x02237F74
|
||||
push {r4, r5, r6, lr}
|
||||
add r6, r0, #0
|
||||
mov r4, #0
|
||||
add r5, r6, #0
|
||||
_02237F7C:
|
||||
ldr r0, [r5, #8]
|
||||
cmp r0, #0
|
||||
beq _02237F86
|
||||
bl sub_020181C4
|
||||
_02237F86:
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #0x10
|
||||
blt _02237F7C
|
||||
add r0, r6, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02237F74
|
||||
|
||||
thumb_func_start ov12_02237F98
|
||||
ov12_02237F98: ; 0x02237F98
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
mov r4, #0
|
||||
_02237F9E:
|
||||
ldr r0, [r5, #8]
|
||||
cmp r0, #0
|
||||
beq _02237FBC
|
||||
ldr r0, [r0, #0x10]
|
||||
bl ov12_02223894
|
||||
ldr r1, [r5, #8]
|
||||
ldr r0, [r1, #0x20]
|
||||
cmp r0, #0
|
||||
beq _02237FBC
|
||||
ldr r0, [r1, #0x18]
|
||||
cmp r0, #0
|
||||
beq _02237FBC
|
||||
bl sub_0200DA58
|
||||
_02237FBC:
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #0x10
|
||||
blt _02237F9E
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02237F98
|
||||
|
||||
thumb_func_start ov12_02237FC8
|
||||
ov12_02237FC8: ; 0x02237FC8
|
||||
push {r4, r5, r6, lr}
|
||||
add r6, r1, #0
|
||||
mov r1, #0x24
|
||||
add r5, r0, #0
|
||||
bl sub_02018144
|
||||
add r4, r0, #0
|
||||
bne _02237FE0
|
||||
bl sub_02022974
|
||||
mov r0, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
_02237FE0:
|
||||
str r5, [r4, #4]
|
||||
ldr r1, [r6, #0]
|
||||
ldr r0, [r6, #4]
|
||||
str r1, [r4, #8]
|
||||
str r0, [r4, #0xc]
|
||||
ldr r0, [r4, #8]
|
||||
bl ov12_02238088
|
||||
str r0, [r4, #0x1c]
|
||||
ldr r0, [r4, #4]
|
||||
ldr r1, [r4, #8]
|
||||
mov r2, #1
|
||||
bl ov12_022237F0
|
||||
str r0, [r4, #0x10]
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02237FC8
|
||||
|
||||
thumb_func_start ov12_02238004
|
||||
ov12_02238004: ; 0x02238004
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r1, #1
|
||||
str r1, [r4, #0x20]
|
||||
ldr r1, _02238024 ; =ov12_02238080
|
||||
bl ov12_02238054
|
||||
mov r2, #0xfa
|
||||
ldr r0, _02238028 ; =ov12_02238030
|
||||
add r1, r4, #0
|
||||
lsl r2, r2, #2
|
||||
bl sub_0200D9E8
|
||||
str r0, [r4, #0x18]
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_02238024: .word ov12_02238080
|
||||
_02238028: .word ov12_02238030
|
||||
thumb_func_end ov12_02238004
|
||||
|
||||
thumb_func_start ov12_0223802C
|
||||
ov12_0223802C: ; 0x0223802C
|
||||
ldr r0, [r0, #0x20]
|
||||
bx lr
|
||||
thumb_func_end ov12_0223802C
|
||||
|
||||
thumb_func_start ov12_02238030
|
||||
ov12_02238030: ; 0x02238030
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_02014710
|
||||
cmp r0, #0
|
||||
bne _02238050
|
||||
mov r0, #0
|
||||
str r0, [r4, #0x20]
|
||||
ldr r0, [r4, #0x10]
|
||||
bl ov12_02223894
|
||||
add r0, r5, #0
|
||||
bl sub_0200DA58
|
||||
_02238050:
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02238030
|
||||
|
||||
thumb_func_start ov12_02238054
|
||||
ov12_02238054: ; 0x02238054
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x1c]
|
||||
add r6, r1, #0
|
||||
mov r4, #0
|
||||
cmp r0, #0
|
||||
ble _02238076
|
||||
_02238062:
|
||||
ldr r0, [r5, #0x10]
|
||||
add r1, r4, #0
|
||||
add r2, r6, #0
|
||||
add r3, r5, #0
|
||||
bl sub_020146F4
|
||||
ldr r0, [r5, #0x1c]
|
||||
add r4, r4, #1
|
||||
cmp r4, r0
|
||||
blt _02238062
|
||||
_02238076:
|
||||
ldr r0, [r5, #0x10]
|
||||
ldr r1, [r5, #0xc]
|
||||
bl sub_02014788
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov12_02238054
|
||||
|
||||
thumb_func_start ov12_02238080
|
||||
ov12_02238080: ; 0x02238080
|
||||
ldr r3, _02238084 ; =sub_02014764
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02238084: .word sub_02014764
|
||||
thumb_func_end ov12_02238080
|
||||
|
||||
thumb_func_start ov12_02238088
|
||||
ov12_02238088: ; 0x02238088
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x58
|
||||
ldr r4, _022380B8 ; =0x0223B048
|
||||
add r5, r0, #0
|
||||
add r3, sp, #0
|
||||
mov r2, #0xb
|
||||
_02238094:
|
||||
ldmia r4!, {r0, r1}
|
||||
stmia r3!, {r0, r1}
|
||||
sub r2, r2, #1
|
||||
bne _02238094
|
||||
sub r0, r5, #5
|
||||
cmp r0, #0x16
|
||||
blo _022380AC
|
||||
bl sub_02022974
|
||||
add sp, #0x58
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
_022380AC:
|
||||
lsl r1, r0, #2
|
||||
add r0, sp, #0
|
||||
ldr r0, [r0, r1]
|
||||
add sp, #0x58
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_022380B8: .word 0x0223B048
|
||||
thumb_func_end ov12_02238088
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov12_0223B048
|
||||
Unk_ov12_0223B048: ; 0x0223B048
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x2AB4, 0x58
|
||||
|
556
asm/ov12_022380BC.s
Normal file
556
asm/ov12_022380BC.s
Normal file
@ -0,0 +1,556 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_022380BC
|
||||
ov12_022380BC: ; 0x022380BC
|
||||
push {r3, lr}
|
||||
add r3, r1, #0
|
||||
ldr r1, [r0, #0]
|
||||
mov r2, #0
|
||||
bl ov12_022380DC
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_022380BC
|
||||
|
||||
thumb_func_start ov12_022380CC
|
||||
ov12_022380CC: ; 0x022380CC
|
||||
push {r3, lr}
|
||||
add r3, r1, #0
|
||||
ldr r1, [r0, #4]
|
||||
mov r2, #1
|
||||
bl ov12_022380DC
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_022380CC
|
||||
|
||||
thumb_func_start ov12_022380DC
|
||||
ov12_022380DC: ; 0x022380DC
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x38
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
add r4, r1, #0
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
add r7, r2, #0
|
||||
str r3, [sp, #0x10]
|
||||
bl sub_020089B0
|
||||
ldr r0, [r5, #4]
|
||||
lsl r1, r0, #1
|
||||
add r1, r5, r1
|
||||
ldrh r6, [r1, #0x28]
|
||||
add r1, r5, r0
|
||||
add r1, #0x30
|
||||
ldrb r1, [r1]
|
||||
add r2, r5, r0
|
||||
add r2, #0x38
|
||||
str r1, [sp, #0x1c]
|
||||
add r1, r5, r0
|
||||
lsl r0, r0, #2
|
||||
ldrb r2, [r2]
|
||||
add r0, r5, r0
|
||||
add r1, #0x34
|
||||
ldr r0, [r0, #0x3c]
|
||||
ldrb r1, [r1]
|
||||
str r2, [sp, #0x18]
|
||||
str r0, [sp, #0x14]
|
||||
cmp r7, #0
|
||||
beq _02238132
|
||||
add r0, r5, r4
|
||||
add r0, #0x4c
|
||||
ldrb r2, [r0]
|
||||
mov r0, #1
|
||||
tst r0, r2
|
||||
beq _0223812E
|
||||
mov r4, #0
|
||||
b _02238144
|
||||
_0223812E:
|
||||
mov r4, #2
|
||||
b _02238144
|
||||
_02238132:
|
||||
add r0, r5, r4
|
||||
add r0, #0x4c
|
||||
ldrb r2, [r0]
|
||||
mov r0, #1
|
||||
tst r0, r2
|
||||
beq _02238142
|
||||
mov r4, #2
|
||||
b _02238144
|
||||
_02238142:
|
||||
mov r4, #0
|
||||
_02238144:
|
||||
lsl r0, r1, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x18]
|
||||
ldr r2, [sp, #0x1c]
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [sp, #0x14]
|
||||
lsl r1, r6, #0x10
|
||||
lsl r2, r2, #0x18
|
||||
lsl r3, r4, #0x18
|
||||
str r0, [sp, #8]
|
||||
add r0, sp, #0x28
|
||||
lsr r1, r1, #0x10
|
||||
lsr r2, r2, #0x18
|
||||
lsr r3, r3, #0x18
|
||||
bl sub_02075FB4
|
||||
ldr r0, [r5, #0]
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
bl sub_02008A90
|
||||
add r7, r0, #0
|
||||
add r3, sp, #0x28
|
||||
add r2, r7, #0
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r5, #0]
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
bl sub_020089A0
|
||||
ldr r0, [sp, #0x14]
|
||||
ldr r2, [sp, #0x10]
|
||||
str r0, [sp]
|
||||
mov r0, #0
|
||||
str r0, [sp, #4]
|
||||
str r4, [sp, #8]
|
||||
ldrh r0, [r7, #6]
|
||||
str r0, [sp, #0xc]
|
||||
ldr r3, [r5, #0]
|
||||
ldrh r0, [r7]
|
||||
lsl r3, r3, #2
|
||||
add r3, r5, r3
|
||||
ldr r3, [r3, #8]
|
||||
ldrh r1, [r7, #2]
|
||||
ldr r3, [r3, #0]
|
||||
bl sub_02013750
|
||||
ldr r1, [r5, #0]
|
||||
ldr r3, [sp, #0x18]
|
||||
lsl r1, r1, #2
|
||||
add r1, r5, r1
|
||||
lsl r2, r4, #0x18
|
||||
lsl r3, r3, #0x18
|
||||
ldrh r0, [r7]
|
||||
ldr r1, [r1, #8]
|
||||
lsr r2, r2, #0x18
|
||||
str r0, [r1, #4]
|
||||
ldr r1, [r5, #0]
|
||||
ldrh r0, [r7, #4]
|
||||
lsl r1, r1, #2
|
||||
add r1, r5, r1
|
||||
ldr r1, [r1, #8]
|
||||
lsr r3, r3, #0x18
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [sp, #0x14]
|
||||
ldr r1, [sp, #0x1c]
|
||||
str r0, [sp]
|
||||
lsl r0, r6, #0x10
|
||||
lsl r1, r1, #0x18
|
||||
lsr r0, r0, #0x10
|
||||
lsr r1, r1, #0x18
|
||||
bl sub_02076648
|
||||
ldr r1, [r5, #0]
|
||||
lsl r1, r1, #2
|
||||
add r1, r5, r1
|
||||
ldr r1, [r1, #8]
|
||||
str r0, [r1, #0xc]
|
||||
ldr r0, [r5, #0]
|
||||
lsl r1, r0, #2
|
||||
add r1, r5, r1
|
||||
ldr r1, [r1, #8]
|
||||
add r0, r5, r0
|
||||
ldr r1, [r1, #0xc]
|
||||
add r0, #0x4c
|
||||
lsl r1, r1, #0x18
|
||||
asr r7, r1, #0x18
|
||||
ldrb r0, [r0]
|
||||
mov r1, #1
|
||||
bl ov12_022384CC
|
||||
str r0, [sp, #0x20]
|
||||
ldr r0, [r5, #0]
|
||||
ldr r2, [sp, #0x20]
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r1, #1
|
||||
add r2, r2, r7
|
||||
bl sub_02007DEC
|
||||
cmp r4, #2
|
||||
bne _022382B8
|
||||
ldr r1, [sp, #0x10]
|
||||
mov r0, #0x93
|
||||
bl sub_02006C24
|
||||
add r1, sp, #0x24
|
||||
lsl r2, r6, #0x10
|
||||
add r1, #2
|
||||
lsr r2, r2, #0x10
|
||||
add r4, r0, #0
|
||||
bl sub_02078A80
|
||||
add r1, sp, #0x24
|
||||
lsl r2, r6, #0x10
|
||||
add r0, r4, #0
|
||||
add r1, #1
|
||||
lsr r2, r2, #0x10
|
||||
bl sub_02078AA4
|
||||
lsl r2, r6, #0x10
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0x24
|
||||
lsr r2, r2, #0x10
|
||||
bl sub_02078AC8
|
||||
add r0, r4, #0
|
||||
bl sub_02006CA8
|
||||
ldr r0, [r5, #0]
|
||||
add r2, sp, #0x24
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldrb r2, [r2]
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r1, #0x2e
|
||||
bl sub_02007DEC
|
||||
ldr r0, [r5, #0]
|
||||
ldr r2, [sp, #0x20]
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
add r2, #0x24
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r1, #0x14
|
||||
str r2, [sp, #0x20]
|
||||
bl sub_02007DEC
|
||||
ldr r0, [r5, #0]
|
||||
add r3, sp, #0x24
|
||||
lsl r0, r0, #2
|
||||
mov r2, #1
|
||||
add r0, r5, r0
|
||||
ldrsb r2, [r3, r2]
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r1, #0x15
|
||||
bl sub_02007DEC
|
||||
ldr r0, [r5, #0]
|
||||
mov r2, #0x24
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r1, #0x16
|
||||
sub r2, r2, r7
|
||||
bl sub_02007DEC
|
||||
ldr r0, [r5, #0]
|
||||
add r3, sp, #0x24
|
||||
lsl r0, r0, #2
|
||||
mov r2, #2
|
||||
add r0, r5, r0
|
||||
ldrsb r2, [r3, r2]
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r1, #0x29
|
||||
bl sub_02007DEC
|
||||
_022382B8:
|
||||
add sp, #0x38
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov12_022380DC
|
||||
|
||||
thumb_func_start ov12_022382BC
|
||||
ov12_022382BC: ; 0x022382BC
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x20
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
str r1, [sp, #0x10]
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
bl sub_02008A0C
|
||||
ldr r0, [r5, #0]
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
bl sub_02008A90
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
lsl r1, r0, #1
|
||||
add r1, r5, r1
|
||||
ldrh r1, [r1, #0x28]
|
||||
lsl r3, r0, #2
|
||||
str r1, [sp, #0x1c]
|
||||
add r1, r5, r0
|
||||
add r1, #0x30
|
||||
ldrb r1, [r1]
|
||||
str r1, [sp, #0x18]
|
||||
add r1, r5, r0
|
||||
add r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
add r0, r5, r0
|
||||
add r0, #0x4c
|
||||
str r1, [sp, #0x14]
|
||||
add r1, r5, r3
|
||||
ldr r7, [r1, #0x3c]
|
||||
ldrb r1, [r0]
|
||||
mov r0, #1
|
||||
tst r0, r1
|
||||
beq _0223830E
|
||||
mov r6, #2
|
||||
b _02238310
|
||||
_0223830E:
|
||||
mov r6, #0
|
||||
_02238310:
|
||||
str r7, [sp]
|
||||
mov r0, #0
|
||||
str r0, [sp, #4]
|
||||
str r6, [sp, #8]
|
||||
ldrh r0, [r4, #6]
|
||||
add r3, r5, r3
|
||||
ldr r2, [sp, #0x10]
|
||||
str r0, [sp, #0xc]
|
||||
ldr r3, [r3, #8]
|
||||
ldrh r0, [r4]
|
||||
ldrh r1, [r4, #2]
|
||||
ldr r3, [r3, #0]
|
||||
bl sub_02013750
|
||||
ldr r1, [r5, #0]
|
||||
ldrh r0, [r4]
|
||||
lsl r1, r1, #2
|
||||
add r1, r5, r1
|
||||
ldr r1, [r1, #8]
|
||||
ldr r3, [sp, #0x14]
|
||||
str r0, [r1, #4]
|
||||
ldr r1, [r5, #0]
|
||||
lsl r2, r6, #0x18
|
||||
lsl r1, r1, #2
|
||||
add r1, r5, r1
|
||||
lsl r3, r3, #0x18
|
||||
ldrh r0, [r4, #4]
|
||||
ldr r1, [r1, #8]
|
||||
lsr r2, r2, #0x18
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r1, [sp, #0x18]
|
||||
lsl r0, r0, #0x10
|
||||
lsl r1, r1, #0x18
|
||||
str r7, [sp]
|
||||
lsr r0, r0, #0x10
|
||||
lsr r1, r1, #0x18
|
||||
lsr r3, r3, #0x18
|
||||
bl sub_02076648
|
||||
ldr r1, [r5, #0]
|
||||
lsl r1, r1, #2
|
||||
add r1, r5, r1
|
||||
ldr r1, [r1, #8]
|
||||
str r0, [r1, #0xc]
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, #1
|
||||
lsl r4, r0, #2
|
||||
add r0, r5, r0
|
||||
add r0, #0x4c
|
||||
ldrb r0, [r0]
|
||||
bl ov12_022384CC
|
||||
add r1, r5, r4
|
||||
add r2, r0, #0
|
||||
ldr r0, [r1, #8]
|
||||
ldr r3, [r0, #0xc]
|
||||
ldr r0, [r1, #0x18]
|
||||
mov r1, #1
|
||||
add r2, r3, r2
|
||||
bl sub_02007DEC
|
||||
add sp, #0x20
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov12_022382BC
|
||||
|
||||
thumb_func_start ov12_02238390
|
||||
ov12_02238390: ; 0x02238390
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
add r6, r1, #0
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
bl sub_020089B0
|
||||
mov r0, #0x75
|
||||
add r2, sp, #0
|
||||
strh r0, [r2, #4]
|
||||
mov r0, #0xfa
|
||||
strh r0, [r2, #8]
|
||||
mov r0, #0
|
||||
strh r0, [r2, #0xa]
|
||||
strb r0, [r2, #0xc]
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [r5, #0]
|
||||
add r1, r5, r0
|
||||
add r1, #0x4c
|
||||
ldrb r3, [r1]
|
||||
mov r1, #1
|
||||
tst r1, r3
|
||||
beq _022383CC
|
||||
mov r1, #0xf9
|
||||
strh r1, [r2, #6]
|
||||
mov r4, #0x87
|
||||
b _022383D2
|
||||
_022383CC:
|
||||
mov r1, #0xf8
|
||||
strh r1, [r2, #6]
|
||||
mov r4, #0x86
|
||||
_022383D2:
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
bl sub_02008A90
|
||||
add r7, r0, #0
|
||||
add r3, sp, #4
|
||||
add r2, r7, #0
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r5, #0]
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
bl sub_020089A0
|
||||
ldr r3, [r5, #0]
|
||||
ldrh r0, [r7]
|
||||
lsl r3, r3, #2
|
||||
add r3, r5, r3
|
||||
ldr r3, [r3, #8]
|
||||
ldrh r1, [r7, #2]
|
||||
ldr r3, [r3, #0]
|
||||
add r2, r6, #0
|
||||
bl sub_02013610
|
||||
ldr r2, [r5, #0]
|
||||
add r1, sp, #0
|
||||
lsl r2, r2, #2
|
||||
add r2, r5, r2
|
||||
ldrh r0, [r1, #4]
|
||||
ldr r2, [r2, #8]
|
||||
str r0, [r2, #4]
|
||||
ldr r0, [r5, #0]
|
||||
ldrh r1, [r1, #8]
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #8]
|
||||
add r2, r4, #0
|
||||
str r1, [r0, #8]
|
||||
add r0, sp, #0
|
||||
mov r1, #0x79
|
||||
bl sub_02006AA4
|
||||
add r0, sp, #0
|
||||
ldrb r1, [r0]
|
||||
ldr r0, [r5, #0]
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #8]
|
||||
str r1, [r0, #0xc]
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, #1
|
||||
lsl r4, r0, #2
|
||||
add r0, r5, r0
|
||||
add r0, #0x4c
|
||||
ldrb r0, [r0]
|
||||
bl ov12_022384CC
|
||||
add r2, r5, r4
|
||||
ldr r1, [r2, #8]
|
||||
ldr r1, [r1, #0xc]
|
||||
add r4, r1, r0
|
||||
ldr r0, [r2, #0x18]
|
||||
mov r1, #1
|
||||
add r2, r4, #0
|
||||
bl sub_02007DEC
|
||||
ldr r1, [r5, #0]
|
||||
mov r2, #1
|
||||
add r0, r5, r1
|
||||
add r0, #0x4c
|
||||
ldrb r0, [r0]
|
||||
tst r0, r2
|
||||
beq _022384C6
|
||||
lsl r0, r1, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r1, #0x2e
|
||||
bl sub_02007DEC
|
||||
ldr r0, [r5, #0]
|
||||
add r2, sp, #0
|
||||
ldrb r3, [r2]
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
mov r2, #0x24
|
||||
sub r2, r2, r3
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r1, #0x14
|
||||
add r2, r4, r2
|
||||
bl sub_02007DEC
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, #0x15
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r2, #0
|
||||
bl sub_02007DEC
|
||||
ldr r0, [r5, #0]
|
||||
add r2, sp, #0
|
||||
lsl r0, r0, #2
|
||||
ldrb r3, [r2]
|
||||
add r0, r5, r0
|
||||
mov r2, #0x24
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r1, #0x16
|
||||
sub r2, r2, r3
|
||||
bl sub_02007DEC
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, #0x29
|
||||
lsl r0, r0, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x18]
|
||||
mov r2, #0
|
||||
bl sub_02007DEC
|
||||
_022384C6:
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov12_02238390
|
||||
|
||||
thumb_func_start ov12_022384CC
|
||||
ov12_022384CC: ; 0x022384CC
|
||||
cmp r1, #0
|
||||
bne _022384D8
|
||||
lsl r1, r0, #2
|
||||
ldr r0, _022384E8 ; =0x0223B0A0
|
||||
ldrsh r0, [r0, r1]
|
||||
bx lr
|
||||
_022384D8:
|
||||
mov r2, #6
|
||||
mul r2, r0
|
||||
ldr r0, _022384EC ; =0x0223B0B8
|
||||
lsl r1, r1, #1
|
||||
add r0, r0, r2
|
||||
ldrsh r0, [r1, r0]
|
||||
bx lr
|
||||
nop
|
||||
_022384E8: .word 0x0223B0A0
|
||||
_022384EC: .word 0x0223B0B8
|
||||
thumb_func_end ov12_022384CC
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov12_0223B0A0
|
||||
Unk_ov12_0223B0A0: ; 0x0223B0A0
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x2B0C, 0x2B24 - 0x2B0C
|
||||
|
||||
.global Unk_ov12_0223B0B8
|
||||
Unk_ov12_0223B0B8: ; 0x0223B0B8
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x2B24, 0x2B48 - 0x2B24
|
||||
|
||||
.global Unk_ov12_0223B0DC
|
||||
Unk_ov12_0223B0DC: ; 0x0223B0DC
|
||||
.incbin "incbin/overlay12_rodata.bin", 0x2B48, 0x24
|
||||
|
103
asm/ov12_022384F0.s
Normal file
103
asm/ov12_022384F0.s
Normal file
@ -0,0 +1,103 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov12_022384F0
|
||||
ov12_022384F0: ; 0x022384F0
|
||||
ldr r2, _02238590 ; =0x0000013B
|
||||
cmp r0, r2
|
||||
bhi _0223851E
|
||||
bhs _0223857E
|
||||
cmp r0, #0x7d
|
||||
bhi _0223850C
|
||||
bhs _0223857E
|
||||
cmp r0, #0x63
|
||||
bhi _02238506
|
||||
beq _0223857E
|
||||
b _0223858A
|
||||
_02238506:
|
||||
cmp r0, #0x78
|
||||
beq _0223857E
|
||||
b _0223858A
|
||||
_0223850C:
|
||||
cmp r0, #0xc9
|
||||
bhi _02238518
|
||||
bhs _0223857E
|
||||
cmp r0, #0x9f
|
||||
beq _0223857E
|
||||
b _0223858A
|
||||
_02238518:
|
||||
cmp r0, #0xd7
|
||||
beq _0223857E
|
||||
b _0223858A
|
||||
_0223851E:
|
||||
add r3, r2, #0
|
||||
add r3, #0x5c
|
||||
cmp r0, r3
|
||||
bhi _0223855E
|
||||
add r1, r2, #0
|
||||
add r1, #0x5b
|
||||
cmp r0, r1
|
||||
blo _0223853E
|
||||
add r1, r2, #0
|
||||
add r1, #0x5b
|
||||
cmp r0, r1
|
||||
beq _0223857E
|
||||
add r2, #0x5c
|
||||
cmp r0, r2
|
||||
beq _0223857E
|
||||
b _0223858A
|
||||
_0223853E:
|
||||
add r1, r2, #0
|
||||
add r1, #0x2c
|
||||
cmp r0, r1
|
||||
bhi _02238556
|
||||
add r1, r2, #0
|
||||
add r1, #0x2c
|
||||
cmp r0, r1
|
||||
bhs _0223857E
|
||||
add r2, #0x14
|
||||
cmp r0, r2
|
||||
beq _0223857E
|
||||
b _0223858A
|
||||
_02238556:
|
||||
add r2, #0x4a
|
||||
cmp r0, r2
|
||||
beq _0223857E
|
||||
b _0223858A
|
||||
_0223855E:
|
||||
add r3, r2, #0
|
||||
add r3, #0x99
|
||||
cmp r0, r3
|
||||
bhi _02238576
|
||||
add r1, r2, #0
|
||||
add r1, #0x99
|
||||
cmp r0, r1
|
||||
bhs _0223857E
|
||||
add r2, #0x98
|
||||
cmp r0, r2
|
||||
beq _0223857E
|
||||
b _0223858A
|
||||
_02238576:
|
||||
add r2, #0xb1
|
||||
cmp r0, r2
|
||||
beq _02238582
|
||||
b _0223858A
|
||||
_0223857E:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
_02238582:
|
||||
cmp r1, #1
|
||||
bne _0223858A
|
||||
mov r0, #0
|
||||
bx lr
|
||||
_0223858A:
|
||||
mov r0, #1
|
||||
bx lr
|
||||
nop
|
||||
_02238590: .word 0x0000013B
|
||||
thumb_func_end ov12_022384F0
|
3945
asm/ov13_0221FC20.s
Normal file
3945
asm/ov13_0221FC20.s
Normal file
File diff suppressed because it is too large
Load Diff
5039
asm/ov13_02221A88.s
Normal file
5039
asm/ov13_02221A88.s
Normal file
File diff suppressed because it is too large
Load Diff
2393
asm/ov13_02224500.s
Normal file
2393
asm/ov13_02224500.s
Normal file
File diff suppressed because it is too large
Load Diff
1882
asm/ov13_02225710.s
Normal file
1882
asm/ov13_02225710.s
Normal file
File diff suppressed because it is too large
Load Diff
1729
asm/ov13_022264F4.s
Normal file
1729
asm/ov13_022264F4.s
Normal file
File diff suppressed because it is too large
Load Diff
1008
asm/ov13_02227288.s
Normal file
1008
asm/ov13_02227288.s
Normal file
File diff suppressed because it is too large
Load Diff
238
asm/ov13_02227A4C.s
Normal file
238
asm/ov13_02227A4C.s
Normal file
@ -0,0 +1,238 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov13_02227A4C
|
||||
ov13_02227A4C: ; 0x02227A4C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r3, [r4, #0]
|
||||
ldrh r1, [r3, #0x20]
|
||||
cmp r1, #0
|
||||
bne _02227A5C
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
_02227A5C:
|
||||
ldr r0, [r3, #8]
|
||||
ldr r3, [r3, #0xc]
|
||||
mov r2, #1
|
||||
bl sub_0207D688
|
||||
cmp r0, #0
|
||||
bne _02227A76
|
||||
ldr r1, [r4, #0]
|
||||
mov r0, #0
|
||||
strh r0, [r1, #0x20]
|
||||
ldr r1, [r4, #0]
|
||||
strb r0, [r1, #0x1f]
|
||||
pop {r4, pc}
|
||||
_02227A76:
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02227A4C
|
||||
|
||||
thumb_func_start ov13_02227A7C
|
||||
ov13_02227A7C: ; 0x02227A7C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, _02227AC4 ; =0x0000114D
|
||||
ldr r6, [r5, #0]
|
||||
ldrb r7, [r5, r0]
|
||||
mov r0, #0x90
|
||||
ldrh r2, [r6, #0x20]
|
||||
mul r0, r7
|
||||
mov r4, #0
|
||||
add r1, r5, r0
|
||||
_02227A90:
|
||||
ldrh r0, [r1, #0x3c]
|
||||
cmp r2, r0
|
||||
bne _02227ABA
|
||||
add r0, r4, #0
|
||||
mov r1, #6
|
||||
bl sub_020E2178
|
||||
add r0, r6, r7
|
||||
add r0, #0x27
|
||||
strb r1, [r0]
|
||||
add r0, r4, #0
|
||||
mov r1, #6
|
||||
bl sub_020E2178
|
||||
ldr r1, _02227AC4 ; =0x0000114D
|
||||
ldr r2, [r5, #0]
|
||||
ldrb r1, [r5, r1]
|
||||
add r1, r2, r1
|
||||
add r1, #0x2c
|
||||
strb r0, [r1]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02227ABA:
|
||||
add r4, r4, #1
|
||||
add r1, r1, #4
|
||||
cmp r4, #0x24
|
||||
blo _02227A90
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_02227AC4: .word 0x0000114D
|
||||
thumb_func_end ov13_02227A7C
|
||||
|
||||
thumb_func_start ov13_02227AC8
|
||||
ov13_02227AC8: ; 0x02227AC8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0xc
|
||||
add r4, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp, #4]
|
||||
_02227AD2:
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #4]
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #8]
|
||||
_02227ADE:
|
||||
ldr r0, [r4, #0]
|
||||
ldr r2, [sp]
|
||||
ldr r0, [r0, #8]
|
||||
lsl r2, r2, #0x10
|
||||
ldr r1, [sp, #8]
|
||||
lsr r2, r2, #0x10
|
||||
bl sub_0207D910
|
||||
add r5, r0, #0
|
||||
beq _02227B50
|
||||
ldrh r0, [r5]
|
||||
cmp r0, #0
|
||||
beq _02227B48
|
||||
ldrh r1, [r5, #2]
|
||||
cmp r1, #0
|
||||
beq _02227B48
|
||||
ldr r2, [r4, #0]
|
||||
mov r1, #0xd
|
||||
ldr r2, [r2, #0xc]
|
||||
bl sub_0207CFF0
|
||||
add r7, r0, #0
|
||||
ldr r1, _02227B9C ; =0x02229BB0
|
||||
mov r0, #0
|
||||
_02227B0E:
|
||||
mov r2, #1
|
||||
lsl r2, r0
|
||||
tst r2, r7
|
||||
beq _02227B40
|
||||
ldrb r2, [r1]
|
||||
mov r3, #0x90
|
||||
add r6, r2, #0
|
||||
mul r6, r3
|
||||
add r3, r4, r2
|
||||
ldr r2, _02227BA0 ; =0x0000114F
|
||||
ldrb r2, [r3, r2]
|
||||
add r3, r4, r6
|
||||
lsl r2, r2, #2
|
||||
add r2, r2, r3
|
||||
ldrh r3, [r5]
|
||||
strh r3, [r2, #0x3c]
|
||||
ldrh r3, [r5, #2]
|
||||
strh r3, [r2, #0x3e]
|
||||
ldrb r2, [r1]
|
||||
add r6, r4, r2
|
||||
ldr r2, _02227BA0 ; =0x0000114F
|
||||
ldrb r2, [r6, r2]
|
||||
add r3, r2, #1
|
||||
ldr r2, _02227BA0 ; =0x0000114F
|
||||
strb r3, [r6, r2]
|
||||
_02227B40:
|
||||
add r0, r0, #1
|
||||
add r1, r1, #1
|
||||
cmp r0, #5
|
||||
blo _02227B0E
|
||||
_02227B48:
|
||||
ldr r0, [sp]
|
||||
add r0, r0, #1
|
||||
str r0, [sp]
|
||||
b _02227ADE
|
||||
_02227B50:
|
||||
ldr r0, [sp, #4]
|
||||
add r0, r0, #1
|
||||
str r0, [sp, #4]
|
||||
cmp r0, #8
|
||||
blo _02227AD2
|
||||
mov r5, #0
|
||||
add r7, r5, #0
|
||||
_02227B5E:
|
||||
ldr r0, _02227BA0 ; =0x0000114F
|
||||
add r6, r4, r5
|
||||
ldrb r0, [r6, r0]
|
||||
cmp r0, #0
|
||||
bne _02227B6E
|
||||
ldr r0, _02227BA4 ; =0x00001154
|
||||
strb r7, [r6, r0]
|
||||
b _02227B7A
|
||||
_02227B6E:
|
||||
sub r0, r0, #1
|
||||
mov r1, #6
|
||||
bl sub_020E1F6C
|
||||
ldr r1, _02227BA4 ; =0x00001154
|
||||
strb r0, [r6, r1]
|
||||
_02227B7A:
|
||||
ldr r1, [r4, #0]
|
||||
ldr r0, _02227BA4 ; =0x00001154
|
||||
add r2, r1, r5
|
||||
add r2, #0x2c
|
||||
ldrb r0, [r6, r0]
|
||||
ldrb r2, [r2]
|
||||
cmp r0, r2
|
||||
bhs _02227B90
|
||||
add r1, r1, r5
|
||||
add r1, #0x2c
|
||||
strb r0, [r1]
|
||||
_02227B90:
|
||||
add r5, r5, #1
|
||||
cmp r5, #5
|
||||
blo _02227B5E
|
||||
add sp, #0xc
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02227B9C: .word 0x02229BB0
|
||||
_02227BA0: .word 0x0000114F
|
||||
_02227BA4: .word 0x00001154
|
||||
thumb_func_end ov13_02227AC8
|
||||
|
||||
thumb_func_start ov13_02227BA8
|
||||
ov13_02227BA8: ; 0x02227BA8
|
||||
push {r3, r4}
|
||||
ldr r2, _02227BD8 ; =0x0000114D
|
||||
ldr r3, [r0, #0]
|
||||
ldrb r2, [r0, r2]
|
||||
add r3, r3, r2
|
||||
add r3, #0x2c
|
||||
ldrb r4, [r3]
|
||||
mov r3, #6
|
||||
mul r3, r4
|
||||
add r1, r1, r3
|
||||
lsl r3, r1, #2
|
||||
mov r1, #0x90
|
||||
mul r1, r2
|
||||
add r0, r0, r1
|
||||
add r1, r0, r3
|
||||
ldrh r0, [r1, #0x3c]
|
||||
cmp r0, #0
|
||||
beq _02227BD2
|
||||
ldrh r1, [r1, #0x3e]
|
||||
cmp r1, #0
|
||||
bne _02227BD4
|
||||
_02227BD2:
|
||||
mov r0, #0
|
||||
_02227BD4:
|
||||
pop {r3, r4}
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_02227BD8: .word 0x0000114D
|
||||
thumb_func_end ov13_02227BA8
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov13_02229BB0
|
||||
Unk_ov13_02229BB0: ; 0x02229BB0
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xEB4, 0x5
|
||||
|
731
asm/ov13_02227BDC.s
Normal file
731
asm/ov13_02227BDC.s
Normal file
@ -0,0 +1,731 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov13_02227BDC
|
||||
ov13_02227BDC: ; 0x02227BDC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl ov13_02227C08
|
||||
add r0, r4, #0
|
||||
bl ov13_02227C54
|
||||
add r0, r4, #0
|
||||
bl ov13_02227DE8
|
||||
add r0, r4, #0
|
||||
bl ov13_02227F7C
|
||||
add r0, r4, #0
|
||||
bl ov13_02228070
|
||||
mov r0, #0x10
|
||||
mov r1, #1
|
||||
bl sub_0201FF74
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02227BDC
|
||||
|
||||
thumb_func_start ov13_02227C08
|
||||
ov13_02227C08: ; 0x02227C08
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x18
|
||||
ldr r3, _02227C50 ; =0x02229BE4
|
||||
add r2, sp, #0
|
||||
add r5, r0, #0
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
add r4, r0, #0
|
||||
bl sub_0200C704
|
||||
mov r1, #0xc3
|
||||
lsl r1, r1, #2
|
||||
str r0, [r5, r1]
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r4, #0
|
||||
mov r2, #0xc
|
||||
bl sub_0200C7C0
|
||||
mov r1, #0xc3
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r4, #0
|
||||
add r2, sp, #0
|
||||
bl sub_0200CB30
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_02227C50: .word 0x02229BE4
|
||||
thumb_func_end ov13_02227C08
|
||||
|
||||
thumb_func_start ov13_02227C54
|
||||
ov13_02227C54: ; 0x02227C54
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x1c
|
||||
add r6, r0, #0
|
||||
ldr r1, [r6, #0]
|
||||
mov r0, #0x10
|
||||
ldr r1, [r1, #0xc]
|
||||
bl sub_02006C24
|
||||
add r7, r0, #0
|
||||
ldr r0, [r6, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
str r0, [sp, #0x18]
|
||||
mov r4, #0
|
||||
_02227C72:
|
||||
ldr r0, _02227D0C ; =0x0000B4B7
|
||||
add r5, r4, r0
|
||||
mov r0, #1
|
||||
add r1, r0, #0
|
||||
bl sub_0207CE78
|
||||
add r3, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #2
|
||||
str r0, [sp, #4]
|
||||
mov r1, #0xc3
|
||||
str r5, [sp, #8]
|
||||
lsl r1, r1, #2
|
||||
ldr r0, [sp, #0x18]
|
||||
ldr r1, [r6, r1]
|
||||
add r2, r7, #0
|
||||
bl sub_0200CC3C
|
||||
mov r0, #1
|
||||
mov r1, #2
|
||||
bl sub_0207CE78
|
||||
str r7, [sp]
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #2
|
||||
str r0, [sp, #0x10]
|
||||
mov r3, #0xc3
|
||||
str r5, [sp, #0x14]
|
||||
lsl r3, r3, #2
|
||||
ldr r0, [r6, #8]
|
||||
ldr r2, [sp, #0x18]
|
||||
ldr r3, [r6, r3]
|
||||
mov r1, #3
|
||||
bl sub_0200CDC4
|
||||
add r4, r4, #1
|
||||
cmp r4, #6
|
||||
blo _02227C72
|
||||
bl sub_0207CF40
|
||||
add r3, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
ldr r0, _02227D0C ; =0x0000B4B7
|
||||
mov r1, #0xc3
|
||||
str r0, [sp, #4]
|
||||
lsl r1, r1, #2
|
||||
ldr r0, [sp, #0x18]
|
||||
ldr r1, [r6, r1]
|
||||
add r2, r7, #0
|
||||
bl sub_0200CE24
|
||||
bl sub_0207CF44
|
||||
add r3, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
ldr r0, _02227D0C ; =0x0000B4B7
|
||||
mov r1, #0xc3
|
||||
str r0, [sp, #4]
|
||||
lsl r1, r1, #2
|
||||
ldr r0, [sp, #0x18]
|
||||
ldr r1, [r6, r1]
|
||||
add r2, r7, #0
|
||||
bl sub_0200CE54
|
||||
add r0, r7, #0
|
||||
bl sub_02006CA8
|
||||
add sp, #0x1c
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02227D0C: .word 0x0000B4B7
|
||||
thumb_func_end ov13_02227C54
|
||||
|
||||
thumb_func_start ov13_02227D10
|
||||
ov13_02227D10: ; 0x02227D10
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #8
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
add r6, r1, #0
|
||||
ldr r0, [r0, #0]
|
||||
add r4, r2, #0
|
||||
bl ov16_0223E010
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
mov r1, #1
|
||||
bl sub_0207CE78
|
||||
add r3, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r1, #0xc3
|
||||
str r4, [sp, #4]
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r7, #0
|
||||
mov r2, #0x10
|
||||
bl sub_0200D948
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02227D10
|
||||
|
||||
thumb_func_start ov13_02227D48
|
||||
ov13_02227D48: ; 0x02227D48
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0xc
|
||||
add r5, r0, #0
|
||||
add r0, r1, #0
|
||||
mov r1, #2
|
||||
add r4, r2, #0
|
||||
bl sub_0207CE78
|
||||
add r2, r0, #0
|
||||
mov r0, #3
|
||||
str r0, [sp]
|
||||
mov r0, #0x20
|
||||
str r0, [sp, #4]
|
||||
lsl r0, r4, #0x14
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #8]
|
||||
ldr r3, [r5, #0]
|
||||
ldr r0, [r5, #8]
|
||||
ldr r3, [r3, #0xc]
|
||||
mov r1, #0x10
|
||||
bl sub_02003050
|
||||
add sp, #0xc
|
||||
pop {r4, r5, pc}
|
||||
thumb_func_end ov13_02227D48
|
||||
|
||||
thumb_func_start ov13_02227D78
|
||||
ov13_02227D78: ; 0x02227D78
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x34
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
add r4, r1, #0
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
mov r2, #0
|
||||
add r1, sp, #0
|
||||
strh r2, [r1]
|
||||
strh r2, [r1, #2]
|
||||
strh r2, [r1, #4]
|
||||
strh r2, [r1, #6]
|
||||
mov r1, #0x14
|
||||
ldr r3, _02227DD4 ; =0x02229CCC
|
||||
mul r1, r4
|
||||
ldr r3, [r3, r1]
|
||||
str r2, [sp, #0xc]
|
||||
str r3, [sp, #8]
|
||||
mov r3, #2
|
||||
str r3, [sp, #0x10]
|
||||
ldr r3, _02227DD8 ; =0x02229CBC
|
||||
str r2, [sp, #0x30]
|
||||
ldr r3, [r3, r1]
|
||||
add r2, sp, #0
|
||||
str r3, [sp, #0x14]
|
||||
ldr r3, _02227DDC ; =0x02229CC0
|
||||
ldr r3, [r3, r1]
|
||||
str r3, [sp, #0x18]
|
||||
ldr r3, _02227DE0 ; =0x02229CC4
|
||||
ldr r3, [r3, r1]
|
||||
str r3, [sp, #0x1c]
|
||||
ldr r3, _02227DE4 ; =0x02229CC8
|
||||
ldr r1, [r3, r1]
|
||||
str r1, [sp, #0x20]
|
||||
mov r1, #1
|
||||
str r1, [sp, #0x2c]
|
||||
mov r1, #0xc3
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
bl sub_0200CE6C
|
||||
add sp, #0x34
|
||||
pop {r4, r5, pc}
|
||||
nop
|
||||
_02227DD4: .word 0x02229CCC
|
||||
_02227DD8: .word 0x02229CBC
|
||||
_02227DDC: .word 0x02229CC0
|
||||
_02227DE0: .word 0x02229CC4
|
||||
_02227DE4: .word 0x02229CC8
|
||||
thumb_func_end ov13_02227D78
|
||||
|
||||
thumb_func_start ov13_02227DE8
|
||||
ov13_02227DE8: ; 0x02227DE8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r6, r0, #0
|
||||
mov r7, #0x31
|
||||
mov r4, #0
|
||||
add r5, r6, #0
|
||||
lsl r7, r7, #4
|
||||
_02227DF4:
|
||||
add r0, r6, #0
|
||||
add r1, r4, #0
|
||||
bl ov13_02227D78
|
||||
str r0, [r5, r7]
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #6
|
||||
blo _02227DF4
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov13_02227DE8
|
||||
|
||||
thumb_func_start ov13_02227E08
|
||||
ov13_02227E08: ; 0x02227E08
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r7, r0, #0
|
||||
ldr r0, [r7, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
mov r6, #0x31
|
||||
str r0, [sp]
|
||||
mov r4, #0
|
||||
add r5, r7, #0
|
||||
lsl r6, r6, #4
|
||||
_02227E1E:
|
||||
ldr r0, [r5, r6]
|
||||
bl sub_0200D0F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #6
|
||||
blo _02227E1E
|
||||
add r0, r7, #0
|
||||
bl ov13_02227FDC
|
||||
add r0, r7, #0
|
||||
bl ov13_022280C8
|
||||
mov r1, #0xc3
|
||||
lsl r1, r1, #2
|
||||
ldr r0, [sp]
|
||||
ldr r1, [r7, r1]
|
||||
bl sub_0200D0B0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02227E08
|
||||
|
||||
thumb_func_start ov13_02227E48
|
||||
ov13_02227E48: ; 0x02227E48
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r1, #0
|
||||
add r4, r2, #0
|
||||
mov r1, #1
|
||||
add r6, r0, #0
|
||||
bl sub_0200D3F4
|
||||
lsl r1, r5, #0x10
|
||||
lsl r2, r4, #0x10
|
||||
add r0, r6, #0
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
bl sub_0200D4C4
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02227E48
|
||||
|
||||
thumb_func_start ov13_02227E68
|
||||
ov13_02227E68: ; 0x02227E68
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
mov r6, #0x31
|
||||
str r0, [sp]
|
||||
add r7, r1, #0
|
||||
mov r4, #0
|
||||
add r5, r0, #0
|
||||
lsl r6, r6, #4
|
||||
_02227E76:
|
||||
ldr r0, [r5, r6]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #6
|
||||
blo _02227E76
|
||||
cmp r7, #0
|
||||
beq _02227E94
|
||||
cmp r7, #1
|
||||
beq _02227E9C
|
||||
cmp r7, #2
|
||||
beq _02227EA4
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02227E94:
|
||||
ldr r0, [sp]
|
||||
bl ov13_02227EAC
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02227E9C:
|
||||
ldr r0, [sp]
|
||||
bl ov13_02227EE0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02227EA4:
|
||||
ldr r0, [sp]
|
||||
bl ov13_02227F38
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov13_02227E68
|
||||
|
||||
thumb_func_start ov13_02227EAC
|
||||
ov13_02227EAC: ; 0x02227EAC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r1, [r4, #0]
|
||||
ldrh r1, [r1, #0x20]
|
||||
cmp r1, #0
|
||||
beq _02227EDA
|
||||
ldr r2, _02227EDC ; =0x0000B4B7
|
||||
bl ov13_02227D10
|
||||
ldr r1, [r4, #0]
|
||||
ldr r3, _02227EDC ; =0x0000B4B7
|
||||
ldrh r1, [r1, #0x20]
|
||||
add r0, r4, #0
|
||||
mov r2, #0
|
||||
bl ov13_02227D48
|
||||
mov r0, #0x31
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r4, r0]
|
||||
mov r1, #0x18
|
||||
mov r2, #0xb2
|
||||
bl ov13_02227E48
|
||||
_02227EDA:
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_02227EDC: .word 0x0000B4B7
|
||||
thumb_func_end ov13_02227EAC
|
||||
|
||||
thumb_func_start ov13_02227EE0
|
||||
ov13_02227EE0: ; 0x02227EE0
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
ldr r6, _02227F30 ; =0x02229C44
|
||||
mov r4, #0
|
||||
add r7, r5, #0
|
||||
_02227EEA:
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl ov13_02227BA8
|
||||
str r0, [sp]
|
||||
cmp r0, #0
|
||||
beq _02227F22
|
||||
ldr r2, _02227F34 ; =0x0000B4B7
|
||||
ldr r1, [sp]
|
||||
add r0, r5, #0
|
||||
add r2, r4, r2
|
||||
bl ov13_02227D10
|
||||
ldr r3, _02227F34 ; =0x0000B4B7
|
||||
lsl r2, r4, #0x10
|
||||
ldr r1, [sp]
|
||||
add r0, r5, #0
|
||||
lsr r2, r2, #0x10
|
||||
add r3, r4, r3
|
||||
bl ov13_02227D48
|
||||
mov r0, #0x31
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r7, r0]
|
||||
ldr r1, [r6, #0]
|
||||
ldr r2, [r6, #4]
|
||||
bl ov13_02227E48
|
||||
_02227F22:
|
||||
add r4, r4, #1
|
||||
add r6, #8
|
||||
add r7, r7, #4
|
||||
cmp r4, #6
|
||||
blo _02227EEA
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02227F30: .word 0x02229C44
|
||||
_02227F34: .word 0x0000B4B7
|
||||
thumb_func_end ov13_02227EE0
|
||||
|
||||
thumb_func_start ov13_02227F38
|
||||
ov13_02227F38: ; 0x02227F38
|
||||
push {r3, r4, r5, lr}
|
||||
ldr r1, _02227F74 ; =0x0000114D
|
||||
add r4, r0, #0
|
||||
ldrb r1, [r4, r1]
|
||||
ldr r2, [r4, #0]
|
||||
add r1, r2, r1
|
||||
add r1, #0x27
|
||||
ldrb r1, [r1]
|
||||
bl ov13_02227BA8
|
||||
add r5, r0, #0
|
||||
ldr r2, _02227F78 ; =0x0000B4B7
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
bl ov13_02227D10
|
||||
ldr r3, _02227F78 ; =0x0000B4B7
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
mov r2, #0
|
||||
bl ov13_02227D48
|
||||
mov r0, #0x31
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r4, r0]
|
||||
mov r1, #0x28
|
||||
mov r2, #0x2c
|
||||
bl ov13_02227E48
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_02227F74: .word 0x0000114D
|
||||
_02227F78: .word 0x0000B4B7
|
||||
thumb_func_end ov13_02227F38
|
||||
|
||||
thumb_func_start ov13_02227F7C
|
||||
ov13_02227F7C: ; 0x02227F7C
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
ldr r1, _02227FD8 ; =0x0000B4BE
|
||||
add r4, r0, #0
|
||||
str r1, [sp]
|
||||
str r1, [sp, #4]
|
||||
sub r1, r1, #5
|
||||
str r1, [sp, #8]
|
||||
str r1, [sp, #0xc]
|
||||
mov r1, #0xc3
|
||||
ldr r3, [r5, #0]
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r5, #8]
|
||||
ldr r3, [r3, #0xc]
|
||||
bl ov16_0226DB7C
|
||||
ldr r3, _02227FD8 ; =0x0000B4BE
|
||||
mov r1, #0xc3
|
||||
str r3, [sp]
|
||||
sub r0, r3, #5
|
||||
str r0, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0x10]
|
||||
ldr r2, [r5, #0]
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r2, #0xc]
|
||||
add r0, r4, #0
|
||||
bl ov16_0226DC24
|
||||
add r1, r0, #0
|
||||
ldr r0, [r5, #0x34]
|
||||
bl ov13_02228A64
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
nop
|
||||
_02227FD8: .word 0x0000B4BE
|
||||
thumb_func_end ov13_02227F7C
|
||||
|
||||
thumb_func_start ov13_02227FDC
|
||||
ov13_02227FDC: ; 0x02227FDC
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x34]
|
||||
bl ov13_02228A58
|
||||
bl ov16_0226DCA8
|
||||
ldr r3, _02228004 ; =0x0000B4B9
|
||||
mov r0, #0xc3
|
||||
add r1, r3, #5
|
||||
str r3, [sp]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
add r2, r1, #0
|
||||
bl ov16_0226DBFC
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
nop
|
||||
_02228004: .word 0x0000B4B9
|
||||
thumb_func_end ov13_02227FDC
|
||||
|
||||
thumb_func_start ov13_02228008
|
||||
ov13_02228008: ; 0x02228008
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldr r1, _02228048 ; =0x02229BC8
|
||||
lsl r2, r4, #2
|
||||
ldr r0, [r5, #0x34]
|
||||
ldr r1, [r1, r2]
|
||||
bl ov13_02228A9C
|
||||
cmp r4, #0
|
||||
beq _02228026
|
||||
cmp r4, #1
|
||||
beq _02228032
|
||||
cmp r4, #2
|
||||
pop {r3, r4, r5, pc}
|
||||
_02228026:
|
||||
ldr r1, _0222804C ; =0x0000114D
|
||||
ldr r0, [r5, #0x34]
|
||||
ldrb r1, [r5, r1]
|
||||
bl ov13_02228A68
|
||||
pop {r3, r4, r5, pc}
|
||||
_02228032:
|
||||
ldr r1, _0222804C ; =0x0000114D
|
||||
ldr r2, [r5, #0]
|
||||
ldrb r1, [r5, r1]
|
||||
ldr r0, [r5, #0x34]
|
||||
add r1, r2, r1
|
||||
add r1, #0x27
|
||||
ldrb r1, [r1]
|
||||
bl ov13_02228A68
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_02228048: .word 0x02229BC8
|
||||
_0222804C: .word 0x0000114D
|
||||
thumb_func_end ov13_02228008
|
||||
|
||||
thumb_func_start ov13_02228050
|
||||
ov13_02228050: ; 0x02228050
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x34]
|
||||
mov r1, #0
|
||||
bl ov13_02228A60
|
||||
ldr r0, [r4, #0x34]
|
||||
bl ov13_02228A90
|
||||
ldr r0, [r4, #0x34]
|
||||
bl ov13_02228A58
|
||||
bl ov16_0226DDE8
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02228050
|
||||
|
||||
thumb_func_start ov13_02228070
|
||||
ov13_02228070: ; 0x02228070
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
ldr r1, _022280C4 ; =0x0000B4BD
|
||||
add r4, r0, #0
|
||||
str r1, [sp]
|
||||
str r1, [sp, #4]
|
||||
sub r1, r1, #5
|
||||
str r1, [sp, #8]
|
||||
str r1, [sp, #0xc]
|
||||
mov r1, #0xc3
|
||||
ldr r2, [r5, #0]
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r2, #0xc]
|
||||
ldr r3, [r5, #8]
|
||||
bl ov16_0226DE44
|
||||
ldr r3, _022280C4 ; =0x0000B4BD
|
||||
mov r1, #0xc3
|
||||
str r3, [sp]
|
||||
sub r0, r3, #5
|
||||
str r0, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
str r0, [sp, #0x10]
|
||||
ldr r2, [r5, #0]
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r2, #0xc]
|
||||
add r0, r4, #0
|
||||
bl ov16_0226DEEC
|
||||
str r0, [r5, #0x38]
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
nop
|
||||
_022280C4: .word 0x0000B4BD
|
||||
thumb_func_end ov13_02228070
|
||||
|
||||
thumb_func_start ov13_022280C8
|
||||
ov13_022280C8: ; 0x022280C8
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl ov16_0226DF68
|
||||
ldr r3, _022280EC ; =0x0000B4B8
|
||||
mov r0, #0xc3
|
||||
add r1, r3, #5
|
||||
str r3, [sp]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
add r2, r1, #0
|
||||
bl ov16_0226DEC4
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
nop
|
||||
_022280EC: .word 0x0000B4B8
|
||||
thumb_func_end ov13_022280C8
|
||||
|
||||
thumb_func_start ov13_022280F0
|
||||
ov13_022280F0: ; 0x022280F0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
ldr r0, [r0, #0x14]
|
||||
cmp r0, #1
|
||||
bne _02228116
|
||||
lsl r3, r1, #3
|
||||
ldr r1, _02228120 ; =0x02229BFC
|
||||
ldr r2, _02228124 ; =0x02229C00
|
||||
ldr r0, [r4, #0x38]
|
||||
ldr r1, [r1, r3]
|
||||
ldr r2, [r2, r3]
|
||||
bl ov16_0226DFB0
|
||||
ldr r0, [r4, #0x38]
|
||||
mov r1, #0x3c
|
||||
bl ov16_0226DFD0
|
||||
pop {r4, pc}
|
||||
_02228116:
|
||||
ldr r0, [r4, #0x38]
|
||||
bl ov16_0226DFBC
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_02228120: .word 0x02229BFC
|
||||
_02228124: .word 0x02229C00
|
||||
thumb_func_end ov13_022280F0
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov13_02229BB8
|
||||
Unk_ov13_02229BB8: ; 0x02229BB8
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xEBC, 0xEC4 - 0xEBC
|
||||
|
||||
.global Unk_ov13_02229BC0
|
||||
Unk_ov13_02229BC0: ; 0x02229BC0
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xEC4, 0xECC - 0xEC4
|
||||
|
||||
.global Unk_ov13_02229BC8
|
||||
Unk_ov13_02229BC8: ; 0x02229BC8
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xECC, 0xED8 - 0xECC
|
||||
|
||||
.global Unk_ov13_02229BD4
|
||||
Unk_ov13_02229BD4: ; 0x02229BD4
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xED8, 0xEE8 - 0xED8
|
||||
|
||||
.global Unk_ov13_02229BE4
|
||||
Unk_ov13_02229BE4: ; 0x02229BE4
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xEE8, 0xF00 - 0xEE8
|
||||
|
||||
.global Unk_ov13_02229BFC
|
||||
Unk_ov13_02229BFC: ; 0x02229BFC
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xF00, 0xF18 - 0xF00
|
||||
|
||||
.global Unk_ov13_02229C14
|
||||
Unk_ov13_02229C14: ; 0x02229C14
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xF18, 0xF48 - 0xF18
|
||||
|
||||
.global Unk_ov13_02229C44
|
||||
Unk_ov13_02229C44: ; 0x02229C44
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xF48, 0xF78 - 0xF48
|
||||
|
||||
.global Unk_ov13_02229C74
|
||||
Unk_ov13_02229C74: ; 0x02229C74
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xF78, 0xFC0 - 0xF78
|
||||
|
||||
.global Unk_ov13_02229CBC
|
||||
Unk_ov13_02229CBC: ; 0x02229CBC
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xFC0, 0x78
|
||||
|
1233
asm/ov13_02228128.s
Normal file
1233
asm/ov13_02228128.s
Normal file
File diff suppressed because it is too large
Load Diff
420
asm/ov13_02228A38.s
Normal file
420
asm/ov13_02228A38.s
Normal file
@ -0,0 +1,420 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov13_02228A38
|
||||
ov13_02228A38: ; 0x02228A38
|
||||
push {r3, lr}
|
||||
mov r1, #0x10
|
||||
bl sub_02018144
|
||||
add r3, r0, #0
|
||||
mov r2, #0x10
|
||||
mov r1, #0
|
||||
_02228A46:
|
||||
strb r1, [r3]
|
||||
add r3, r3, #1
|
||||
sub r2, r2, #1
|
||||
bne _02228A46
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov13_02228A38
|
||||
|
||||
thumb_func_start ov13_02228A50
|
||||
ov13_02228A50: ; 0x02228A50
|
||||
ldr r3, _02228A54 ; =sub_020181C4
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02228A54: .word sub_020181C4
|
||||
thumb_func_end ov13_02228A50
|
||||
|
||||
thumb_func_start ov13_02228A58
|
||||
ov13_02228A58: ; 0x02228A58
|
||||
ldr r0, [r0, #0]
|
||||
bx lr
|
||||
thumb_func_end ov13_02228A58
|
||||
|
||||
thumb_func_start ov13_02228A5C
|
||||
ov13_02228A5C: ; 0x02228A5C
|
||||
ldrb r0, [r0, #8]
|
||||
bx lr
|
||||
thumb_func_end ov13_02228A5C
|
||||
|
||||
thumb_func_start ov13_02228A60
|
||||
ov13_02228A60: ; 0x02228A60
|
||||
strb r1, [r0, #8]
|
||||
bx lr
|
||||
thumb_func_end ov13_02228A60
|
||||
|
||||
thumb_func_start ov13_02228A64
|
||||
ov13_02228A64: ; 0x02228A64
|
||||
str r1, [r0, #0]
|
||||
bx lr
|
||||
thumb_func_end ov13_02228A64
|
||||
|
||||
thumb_func_start ov13_02228A68
|
||||
ov13_02228A68: ; 0x02228A68
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
strb r1, [r0, #9]
|
||||
ldrb r1, [r0, #8]
|
||||
cmp r1, #1
|
||||
bne _02228A8C
|
||||
ldrb r1, [r0, #9]
|
||||
ldr r2, [r0, #4]
|
||||
lsl r4, r1, #3
|
||||
add r3, r2, r4
|
||||
ldrb r1, [r3, #3]
|
||||
str r1, [sp]
|
||||
ldrb r1, [r2, r4]
|
||||
ldrb r2, [r3, #2]
|
||||
ldrb r3, [r3, #1]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0226DD7C
|
||||
_02228A8C:
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
thumb_func_end ov13_02228A68
|
||||
|
||||
thumb_func_start ov13_02228A90
|
||||
ov13_02228A90: ; 0x02228A90
|
||||
mov r1, #0
|
||||
strb r1, [r0, #9]
|
||||
mov r1, #0xff
|
||||
strb r1, [r0, #0xa]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02228A90
|
||||
|
||||
thumb_func_start ov13_02228A9C
|
||||
ov13_02228A9C: ; 0x02228A9C
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
add r5, r1, #0
|
||||
bl ov13_02228A90
|
||||
mov r0, #0
|
||||
str r5, [r4, #4]
|
||||
mvn r0, r0
|
||||
str r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #8]
|
||||
cmp r0, #1
|
||||
bne _02228AC6
|
||||
ldr r3, [r4, #4]
|
||||
ldrb r0, [r3, #3]
|
||||
str r0, [sp]
|
||||
ldrb r1, [r3]
|
||||
ldrb r2, [r3, #2]
|
||||
ldrb r3, [r3, #1]
|
||||
ldr r0, [r4, #0]
|
||||
bl ov16_0226DD7C
|
||||
_02228AC6:
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov13_02228A9C
|
||||
|
||||
thumb_func_start ov13_02228AC8
|
||||
ov13_02228AC8: ; 0x02228AC8
|
||||
str r1, [r0, #0xc]
|
||||
bx lr
|
||||
thumb_func_end ov13_02228AC8
|
||||
|
||||
thumb_func_start ov13_02228ACC
|
||||
ov13_02228ACC: ; 0x02228ACC
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
ldrb r1, [r0, #8]
|
||||
cmp r1, #1
|
||||
bne _02228ADC
|
||||
add sp, #4
|
||||
mov r0, #1
|
||||
pop {r3, r4, pc}
|
||||
_02228ADC:
|
||||
ldr r1, _02228B10 ; =0x021BF67C
|
||||
ldr r2, [r1, #0x48]
|
||||
mov r1, #0xf3
|
||||
tst r1, r2
|
||||
beq _02228B08
|
||||
mov r1, #1
|
||||
strb r1, [r0, #8]
|
||||
ldrb r1, [r0, #9]
|
||||
ldr r2, [r0, #4]
|
||||
lsl r4, r1, #3
|
||||
add r3, r2, r4
|
||||
ldrb r1, [r3, #3]
|
||||
str r1, [sp]
|
||||
ldrb r1, [r2, r4]
|
||||
ldrb r2, [r3, #2]
|
||||
ldrb r3, [r3, #1]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0226DD7C
|
||||
ldr r0, _02228B14 ; =0x000005DC
|
||||
bl sub_02005748
|
||||
_02228B08:
|
||||
mov r0, #0
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
nop
|
||||
_02228B10: .word 0x021BF67C
|
||||
_02228B14: .word 0x000005DC
|
||||
thumb_func_end ov13_02228ACC
|
||||
|
||||
thumb_func_start ov13_02228B18
|
||||
ov13_02228B18: ; 0x02228B18
|
||||
cmp r1, #3
|
||||
bhi _02228B60
|
||||
add r1, r1, r1
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_02228B28: ; jump table
|
||||
.short _02228B30 - _02228B28 - 2 ; case 0
|
||||
.short _02228B3C - _02228B28 - 2 ; case 1
|
||||
.short _02228B48 - _02228B28 - 2 ; case 2
|
||||
.short _02228B54 - _02228B28 - 2 ; case 3
|
||||
_02228B30:
|
||||
ldrb r1, [r0, #5]
|
||||
mov r0, #0x80
|
||||
tst r0, r1
|
||||
beq _02228B60
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_02228B3C:
|
||||
ldrb r1, [r0, #4]
|
||||
mov r0, #0x80
|
||||
tst r0, r1
|
||||
beq _02228B60
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_02228B48:
|
||||
ldrb r1, [r0, #7]
|
||||
mov r0, #0x80
|
||||
tst r0, r1
|
||||
beq _02228B60
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_02228B54:
|
||||
ldrb r1, [r0, #6]
|
||||
mov r0, #0x80
|
||||
tst r0, r1
|
||||
beq _02228B60
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_02228B60:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end ov13_02228B18
|
||||
|
||||
thumb_func_start ov13_02228B64
|
||||
ov13_02228B64: ; 0x02228B64
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
bl ov13_02228ACC
|
||||
cmp r0, #0
|
||||
bne _02228B7A
|
||||
mov r0, #0
|
||||
add sp, #0x14
|
||||
mvn r0, r0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_02228B7A:
|
||||
ldr r0, _02228CF0 ; =0x021BF67C
|
||||
mov r1, #0x40
|
||||
ldr r0, [r0, #0x48]
|
||||
tst r1, r0
|
||||
beq _02228B9E
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
ldrb r0, [r5, #9]
|
||||
add r2, r1, #0
|
||||
add r3, r1, #0
|
||||
str r0, [sp, #4]
|
||||
str r1, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_0201E028
|
||||
add r4, r0, #0
|
||||
mov r6, #0
|
||||
b _02228C06
|
||||
_02228B9E:
|
||||
mov r1, #0x80
|
||||
tst r1, r0
|
||||
beq _02228BC0
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
ldrb r0, [r5, #9]
|
||||
add r2, r1, #0
|
||||
add r3, r1, #0
|
||||
str r0, [sp, #4]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_0201E028
|
||||
add r4, r0, #0
|
||||
mov r6, #1
|
||||
b _02228C06
|
||||
_02228BC0:
|
||||
mov r1, #0x20
|
||||
tst r1, r0
|
||||
beq _02228BE2
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
ldrb r0, [r5, #9]
|
||||
add r2, r1, #0
|
||||
add r3, r1, #0
|
||||
str r0, [sp, #4]
|
||||
mov r0, #2
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_0201E028
|
||||
add r4, r0, #0
|
||||
mov r6, #2
|
||||
b _02228C06
|
||||
_02228BE2:
|
||||
mov r1, #0x10
|
||||
tst r0, r1
|
||||
beq _02228C04
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
ldrb r0, [r5, #9]
|
||||
add r2, r1, #0
|
||||
add r3, r1, #0
|
||||
str r0, [sp, #4]
|
||||
mov r0, #3
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_0201E028
|
||||
add r4, r0, #0
|
||||
mov r6, #3
|
||||
b _02228C06
|
||||
_02228C04:
|
||||
mov r4, #0xff
|
||||
_02228C06:
|
||||
cmp r4, #0xff
|
||||
beq _02228CC6
|
||||
mov r0, #1
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #0x80
|
||||
add r1, r4, #0
|
||||
tst r1, r0
|
||||
beq _02228C26
|
||||
ldrb r1, [r5, #0xa]
|
||||
cmp r1, #0xff
|
||||
beq _02228C20
|
||||
add r4, r1, #0
|
||||
b _02228C26
|
||||
_02228C20:
|
||||
eor r0, r4
|
||||
lsl r0, r0, #0x18
|
||||
lsr r4, r0, #0x18
|
||||
_02228C26:
|
||||
mov r7, #0
|
||||
_02228C28:
|
||||
mov r0, #1
|
||||
ldr r1, [r5, #0xc]
|
||||
lsl r0, r4
|
||||
tst r0, r1
|
||||
bne _02228C60
|
||||
str r7, [sp, #0xc]
|
||||
str r7, [sp]
|
||||
str r4, [sp, #4]
|
||||
str r6, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
add r1, r7, #0
|
||||
add r2, r7, #0
|
||||
add r3, r7, #0
|
||||
bl sub_0201E028
|
||||
mov r1, #0x7f
|
||||
and r0, r1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r1, r0, #0x18
|
||||
cmp r1, r4
|
||||
beq _02228C58
|
||||
ldrb r0, [r5, #9]
|
||||
cmp r1, r0
|
||||
bne _02228C5C
|
||||
_02228C58:
|
||||
ldrb r4, [r5, #9]
|
||||
b _02228C60
|
||||
_02228C5C:
|
||||
add r4, r1, #0
|
||||
b _02228C28
|
||||
_02228C60:
|
||||
ldrb r0, [r5, #9]
|
||||
cmp r0, r4
|
||||
beq _02228CBE
|
||||
ldr r0, [r5, #4]
|
||||
lsl r7, r4, #3
|
||||
add r1, sp, #0x10
|
||||
add r2, sp, #0x10
|
||||
add r0, r0, r7
|
||||
add r1, #3
|
||||
add r2, #2
|
||||
bl sub_0201E010
|
||||
ldr r0, [r5, #4]
|
||||
add r1, sp, #0x10
|
||||
add r0, r0, r7
|
||||
add r1, #1
|
||||
add r2, sp, #0x10
|
||||
bl sub_0201E01C
|
||||
ldr r0, [r5, #4]
|
||||
add r1, r6, #0
|
||||
add r0, r0, r7
|
||||
bl ov13_02228B18
|
||||
cmp r0, #1
|
||||
bne _02228CA0
|
||||
ldr r0, [sp, #0xc]
|
||||
cmp r0, #0
|
||||
beq _02228CA0
|
||||
ldrb r0, [r5, #9]
|
||||
strb r0, [r5, #0xa]
|
||||
b _02228CA4
|
||||
_02228CA0:
|
||||
mov r0, #0xff
|
||||
strb r0, [r5, #0xa]
|
||||
_02228CA4:
|
||||
strb r4, [r5, #9]
|
||||
add r3, sp, #0x10
|
||||
ldrb r0, [r3]
|
||||
str r0, [sp]
|
||||
ldrb r1, [r3, #3]
|
||||
ldrb r2, [r3, #1]
|
||||
ldrb r3, [r3, #2]
|
||||
ldr r0, [r5, #0]
|
||||
bl ov16_0226DD7C
|
||||
ldr r0, _02228CF4 ; =0x000005DC
|
||||
bl sub_02005748
|
||||
_02228CBE:
|
||||
mov r0, #0
|
||||
add sp, #0x14
|
||||
mvn r0, r0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_02228CC6:
|
||||
ldr r0, _02228CF0 ; =0x021BF67C
|
||||
ldr r1, [r0, #0x48]
|
||||
mov r0, #1
|
||||
tst r0, r1
|
||||
beq _02228CD6
|
||||
add sp, #0x14
|
||||
ldrb r0, [r5, #9]
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_02228CD6:
|
||||
mov r0, #2
|
||||
tst r1, r0
|
||||
beq _02228CEA
|
||||
ldr r0, _02228CF8 ; =0x000005DD
|
||||
bl sub_02005748
|
||||
mov r0, #1
|
||||
add sp, #0x14
|
||||
mvn r0, r0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_02228CEA:
|
||||
sub r0, r0, #3
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_02228CF0: .word 0x021BF67C
|
||||
_02228CF4: .word 0x000005DC
|
||||
_02228CF8: .word 0x000005DD
|
||||
thumb_func_end ov13_02228B64
|
@ -1,8 +1,11 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov14_0221FC20
|
||||
ov14_0221FC20: ; 0x0221FC20
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
@ -9956,12 +9959,26 @@ _02224898: .word 0x000003D3
|
||||
_0222489C: .word 0x000003D1
|
||||
_022248A0: .word 0x000003D6
|
||||
thumb_func_end ov14_022244B0
|
||||
; 0x022248A4
|
||||
|
||||
|
||||
.rodata
|
||||
.incbin "incbin/overlay14_rodata.bin"
|
||||
|
||||
.global Unk_ov14_022248A4
|
||||
Unk_ov14_022248A4: ; 0x022248A4
|
||||
.incbin "incbin/overlay14_rodata.bin", 0x0, 0xA5BC
|
||||
|
||||
.global Unk_ov14_0222EE60
|
||||
Unk_ov14_0222EE60: ; 0x0222EE60
|
||||
.incbin "incbin/overlay14_rodata.bin", 0xA5BC, 0x18 - 0x0
|
||||
|
||||
.global Unk_ov14_0222EE78
|
||||
Unk_ov14_0222EE78: ; 0x0222EE78
|
||||
.incbin "incbin/overlay14_rodata.bin", 0xA5BC + 0x18, 0x30 - 0x18
|
||||
|
||||
.global Unk_ov14_0222EE90
|
||||
Unk_ov14_0222EE90: ; 0x0222EE90
|
||||
.incbin "incbin/overlay14_rodata.bin", 0xA5BC + 0x30, 0x4C - 0x30
|
||||
|
||||
.global Unk_ov14_0222EEAC
|
||||
Unk_ov14_0222EEAC: ; 0x0222EEAC
|
||||
.incbin "incbin/overlay14_rodata.bin", 0xA5BC + 0x4C, 0x1B4
|
||||
|
||||
.bss
|
||||
.space 0x0
|
5572
asm/ov16_0223B140.s
Normal file
5572
asm/ov16_0223B140.s
Normal file
File diff suppressed because it is too large
Load Diff
5414
asm/ov16_0223DF00.s
Normal file
5414
asm/ov16_0223DF00.s
Normal file
File diff suppressed because it is too large
Load Diff
22919
asm/ov16_022405FC.s
Normal file
22919
asm/ov16_022405FC.s
Normal file
File diff suppressed because it is too large
Load Diff
12277
asm/ov16_0224B940.s
Normal file
12277
asm/ov16_0224B940.s
Normal file
File diff suppressed because it is too large
Load Diff
22366
asm/ov16_0225177C.s
Normal file
22366
asm/ov16_0225177C.s
Normal file
File diff suppressed because it is too large
Load Diff
1601
asm/ov16_0225BFFC.s
Normal file
1601
asm/ov16_0225BFFC.s
Normal file
File diff suppressed because it is too large
Load Diff
15561
asm/ov16_0225CBB8.s
Normal file
15561
asm/ov16_0225CBB8.s
Normal file
File diff suppressed because it is too large
Load Diff
111
asm/ov16_02264798.s
Normal file
111
asm/ov16_02264798.s
Normal file
@ -0,0 +1,111 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov16_02264798
|
||||
ov16_02264798: ; 0x02264798
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r0, #0x66
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
bne _022647CC
|
||||
add r0, r1, #0
|
||||
bl ov16_0223DF0C
|
||||
mov r1, #0x22
|
||||
lsl r1, r1, #4
|
||||
tst r0, r1
|
||||
bne _022647CC
|
||||
mov r1, #0xb4
|
||||
add r0, r1, #0
|
||||
add r0, #0xe8
|
||||
strh r1, [r4, r0]
|
||||
ldr r0, _022647D0 ; =ov16_02264800
|
||||
ldr r2, _022647D4 ; =0x000003F2
|
||||
add r1, r4, #0
|
||||
bl sub_0200D9E8
|
||||
mov r1, #0x66
|
||||
lsl r1, r1, #2
|
||||
str r0, [r4, r1]
|
||||
_022647CC:
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_022647D0: .word ov16_02264800
|
||||
_022647D4: .word 0x000003F2
|
||||
thumb_func_end ov16_02264798
|
||||
|
||||
thumb_func_start ov16_022647D8
|
||||
ov16_022647D8: ; 0x022647D8
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r0, #0x66
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
beq _022647FE
|
||||
bl sub_0200DA58
|
||||
mov r0, #0x66
|
||||
mov r2, #0
|
||||
lsl r0, r0, #2
|
||||
str r2, [r4, r0]
|
||||
add r0, r0, #4
|
||||
strh r2, [r4, r0]
|
||||
ldr r0, [r4, #0x20]
|
||||
mov r1, #4
|
||||
bl sub_02007DEC
|
||||
_022647FE:
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov16_022647D8
|
||||
|
||||
thumb_func_start ov16_02264800
|
||||
ov16_02264800: ; 0x02264800
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
mov r1, #0x67
|
||||
lsl r1, r1, #2
|
||||
ldrh r0, [r4, r1]
|
||||
add r0, #0x14
|
||||
strh r0, [r4, r1]
|
||||
add r0, r1, #0
|
||||
ldrh r2, [r4, r1]
|
||||
sub r0, #0x34
|
||||
cmp r2, r0
|
||||
blo _02264820
|
||||
add r0, r1, #0
|
||||
sub r0, #0x34
|
||||
sub r0, r2, r0
|
||||
strh r0, [r4, r1]
|
||||
_02264820:
|
||||
mov r0, #0x67
|
||||
lsl r0, r0, #2
|
||||
ldrh r0, [r4, r0]
|
||||
bl sub_0201D15C
|
||||
mov r2, #6
|
||||
asr r1, r0, #0x1f
|
||||
lsl r2, r2, #0xa
|
||||
mov r3, #0
|
||||
bl sub_020E1F1C
|
||||
add r2, r1, #0
|
||||
mov r1, #4
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #0x20]
|
||||
mov r4, #0
|
||||
lsl r3, r1, #9
|
||||
add r3, r5, r3
|
||||
adc r2, r4
|
||||
lsl r2, r2, #0x14
|
||||
lsr r3, r3, #0xc
|
||||
orr r3, r2
|
||||
asr r2, r3, #0xb
|
||||
lsr r2, r2, #0x14
|
||||
add r2, r3, r2
|
||||
asr r2, r2, #0xc
|
||||
bl sub_02007DEC
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_02264800
|
5118
asm/ov16_0226485C.s
Normal file
5118
asm/ov16_0226485C.s
Normal file
File diff suppressed because it is too large
Load Diff
2976
asm/ov16_02266F1C.s
Normal file
2976
asm/ov16_02266F1C.s
Normal file
File diff suppressed because it is too large
Load Diff
278
asm/ov16_02268520.s
Normal file
278
asm/ov16_02268520.s
Normal file
@ -0,0 +1,278 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov16_02268520
|
||||
ov16_02268520: ; 0x02268520
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x28
|
||||
add r5, r0, #0
|
||||
mov r0, #0x1b
|
||||
mov r1, #5
|
||||
bl sub_02006C24
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #4]
|
||||
bl ov16_0223E010
|
||||
str r0, [sp, #0x24]
|
||||
ldr r0, [r5, #4]
|
||||
bl ov16_0223E018
|
||||
str r0, [sp, #0x20]
|
||||
ldr r0, [r5, #4]
|
||||
bl ov16_0223EC04
|
||||
add r7, r0, #0
|
||||
ldrb r0, [r5, #8]
|
||||
cmp r0, #0
|
||||
ldrb r0, [r5, #9]
|
||||
bne _02268566
|
||||
lsl r1, r0, #1
|
||||
ldr r0, _02268614 ; =0x0227009C
|
||||
ldrh r3, [r0, r1]
|
||||
ldr r0, _02268618 ; =0x00004E2D
|
||||
mov r1, #0x80
|
||||
str r1, [sp, #0x1c]
|
||||
add r6, r0, #0
|
||||
mov r1, #0x81
|
||||
sub r6, #8
|
||||
str r1, [sp, #0x18]
|
||||
b _0226857A
|
||||
_02268566:
|
||||
lsl r1, r0, #1
|
||||
ldr r0, _0226861C ; =0x0227006C
|
||||
ldrh r3, [r0, r1]
|
||||
ldr r0, _02268620 ; =0x00004E2E
|
||||
mov r1, #0x83
|
||||
str r1, [sp, #0x1c]
|
||||
add r6, r0, #0
|
||||
mov r1, #0x84
|
||||
sub r6, #8
|
||||
str r1, [sp, #0x18]
|
||||
_0226857A:
|
||||
mov r1, #1
|
||||
str r1, [sp]
|
||||
str r1, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [sp, #0x24]
|
||||
ldr r1, [sp, #0x20]
|
||||
add r2, r4, #0
|
||||
bl sub_0200CC3C
|
||||
ldr r0, [r5, #4]
|
||||
bl ov16_0223E064
|
||||
str r4, [sp]
|
||||
ldrb r1, [r5, #9]
|
||||
mov r2, #6
|
||||
add r3, r1, #0
|
||||
mul r3, r2
|
||||
ldr r2, _02268624 ; =0x02270134
|
||||
lsl r1, r7, #1
|
||||
add r2, r2, r3
|
||||
ldrh r1, [r1, r2]
|
||||
ldr r2, [sp, #0x24]
|
||||
ldr r3, [sp, #0x20]
|
||||
str r1, [sp, #4]
|
||||
mov r1, #0
|
||||
str r1, [sp, #8]
|
||||
mov r1, #1
|
||||
str r1, [sp, #0xc]
|
||||
str r1, [sp, #0x10]
|
||||
ldr r1, _02268628 ; =0x00004E29
|
||||
str r1, [sp, #0x14]
|
||||
mov r1, #2
|
||||
bl sub_0200CDC4
|
||||
ldr r0, [r5, #4]
|
||||
bl ov16_0223E064
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
mov r1, #0x20
|
||||
str r1, [sp, #4]
|
||||
mov r1, #0x70
|
||||
str r1, [sp, #8]
|
||||
ldrb r2, [r5, #9]
|
||||
mov r3, #6
|
||||
lsl r5, r7, #1
|
||||
mul r3, r2
|
||||
ldr r2, _02268624 ; =0x02270134
|
||||
mov r1, #0x1b
|
||||
add r2, r2, r3
|
||||
ldrh r2, [r5, r2]
|
||||
mov r3, #5
|
||||
bl sub_02003050
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x24]
|
||||
ldr r1, [sp, #0x20]
|
||||
ldr r3, [sp, #0x1c]
|
||||
add r2, r4, #0
|
||||
str r6, [sp, #4]
|
||||
bl sub_0200CE24
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x24]
|
||||
ldr r1, [sp, #0x20]
|
||||
ldr r3, [sp, #0x18]
|
||||
add r2, r4, #0
|
||||
str r6, [sp, #4]
|
||||
bl sub_0200CE54
|
||||
add r0, r4, #0
|
||||
bl sub_02006CA8
|
||||
add sp, #0x28
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_02268614: .word 0x0227009C
|
||||
_02268618: .word 0x00004E2D
|
||||
_0226861C: .word 0x0227006C
|
||||
_02268620: .word 0x00004E2E
|
||||
_02268624: .word 0x02270134
|
||||
_02268628: .word 0x00004E29
|
||||
thumb_func_end ov16_02268520
|
||||
|
||||
thumb_func_start ov16_0226862C
|
||||
ov16_0226862C: ; 0x0226862C
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl ov16_0223E010
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl ov16_0223E018
|
||||
add r1, r0, #0
|
||||
add r0, r5, #0
|
||||
ldrb r3, [r4, #8]
|
||||
mov r2, #0x34
|
||||
ldr r5, _0226865C ; =0x022700CC
|
||||
mul r2, r3
|
||||
add r2, r5, r2
|
||||
bl sub_0200CE6C
|
||||
str r0, [r4, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl sub_0200D324
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_0226865C: .word 0x022700CC
|
||||
thumb_func_end ov16_0226862C
|
||||
|
||||
thumb_func_start ov16_02268660
|
||||
ov16_02268660: ; 0x02268660
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
cmp r0, #0
|
||||
beq _02268672
|
||||
bl sub_0200D0F4
|
||||
mov r0, #0
|
||||
str r0, [r4, #0]
|
||||
_02268672:
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov16_02268660
|
||||
|
||||
thumb_func_start ov16_02268674
|
||||
ov16_02268674: ; 0x02268674
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #4]
|
||||
bl ov16_0223E018
|
||||
add r4, r0, #0
|
||||
ldrb r0, [r5, #8]
|
||||
cmp r0, #0
|
||||
bne _0226868A
|
||||
ldr r1, _022686B0 ; =0x00004E2D
|
||||
b _0226868C
|
||||
_0226868A:
|
||||
ldr r1, _022686B4 ; =0x00004E2E
|
||||
_0226868C:
|
||||
add r5, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r5, #8
|
||||
bl sub_0200D070
|
||||
ldr r1, _022686B8 ; =0x00004E29
|
||||
add r0, r4, #0
|
||||
bl sub_0200D080
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
bl sub_0200D090
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
bl sub_0200D0A0
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_022686B0: .word 0x00004E2D
|
||||
_022686B4: .word 0x00004E2E
|
||||
_022686B8: .word 0x00004E29
|
||||
thumb_func_end ov16_02268674
|
||||
|
||||
thumb_func_start ov16_022686BC
|
||||
ov16_022686BC: ; 0x022686BC
|
||||
push {r3, lr}
|
||||
ldr r0, [r0, #0]
|
||||
cmp r0, #0
|
||||
beq _022686C8
|
||||
bl sub_0200D3F4
|
||||
_022686C8:
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_022686BC
|
||||
|
||||
thumb_func_start ov16_022686CC
|
||||
ov16_022686CC: ; 0x022686CC
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
add r6, r2, #0
|
||||
mov r0, #0
|
||||
add r1, r5, #0
|
||||
mov r2, #0x10
|
||||
add r7, r3, #0
|
||||
bl sub_020C4BB8
|
||||
str r4, [r5, #4]
|
||||
strb r6, [r5, #8]
|
||||
strb r7, [r5, #9]
|
||||
cmp r7, #0x18
|
||||
blt _022686F2
|
||||
bl sub_02022974
|
||||
mov r0, #0
|
||||
strb r0, [r5, #9]
|
||||
_022686F2:
|
||||
add r0, r5, #0
|
||||
bl ov16_02268520
|
||||
add r0, r5, #0
|
||||
bl ov16_0226862C
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov16_022686CC
|
||||
|
||||
thumb_func_start ov16_02268700
|
||||
ov16_02268700: ; 0x02268700
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl ov16_02268660
|
||||
add r0, r4, #0
|
||||
bl ov16_02268674
|
||||
mov r0, #0
|
||||
add r1, r4, #0
|
||||
mov r2, #0x10
|
||||
bl sub_020C4BB8
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_02268700
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov16_0227006C
|
||||
Unk_ov16_0227006C: ; 0x0227006C
|
||||
.incbin "incbin/overlay16_rodata.bin", 0x1E10, 0x1E40 - 0x1E10
|
||||
|
||||
.global Unk_ov16_0227009C
|
||||
Unk_ov16_0227009C: ; 0x0227009C
|
||||
.incbin "incbin/overlay16_rodata.bin", 0x1E40, 0x1E70 - 0x1E40
|
||||
|
||||
.global Unk_ov16_022700CC
|
||||
Unk_ov16_022700CC: ; 0x022700CC
|
||||
.incbin "incbin/overlay16_rodata.bin", 0x1E70, 0x1ED8 - 0x1E70
|
||||
|
||||
.global Unk_ov16_02270134
|
||||
Unk_ov16_02270134: ; 0x02270134
|
||||
.incbin "incbin/overlay16_rodata.bin", 0x1ED8, 0x90
|
||||
|
9582
asm/ov16_0226871C.s
Normal file
9582
asm/ov16_0226871C.s
Normal file
File diff suppressed because it is too large
Load Diff
1496
asm/ov16_0226D094.s
Normal file
1496
asm/ov16_0226D094.s
Normal file
File diff suppressed because it is too large
Load Diff
385
asm/ov16_0226DB7C.s
Normal file
385
asm/ov16_0226DB7C.s
Normal file
@ -0,0 +1,385 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov16_0226DB7C
|
||||
ov16_0226DB7C: ; 0x0226DB7C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
mov r0, #0x1b
|
||||
add r1, r3, #0
|
||||
add r7, r2, #0
|
||||
bl sub_02006C24
|
||||
add r6, r0, #0
|
||||
str r6, [sp]
|
||||
mov r0, #0x50
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #2
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [sp, #0x34]
|
||||
mov r1, #3
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r7, #0
|
||||
add r2, r5, #0
|
||||
add r3, r4, #0
|
||||
bl sub_0200CDC4
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
mov r0, #2
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [sp, #0x30]
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #8]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0xfa
|
||||
bl sub_0200CC3C
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x38]
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0xfb
|
||||
bl sub_0200CE24
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x3c]
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0xfc
|
||||
bl sub_0200CE54
|
||||
add r0, r6, #0
|
||||
bl sub_02006CA8
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov16_0226DB7C
|
||||
|
||||
thumb_func_start ov16_0226DBFC
|
||||
ov16_0226DBFC: ; 0x0226DBFC
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r2, #0
|
||||
add r6, r3, #0
|
||||
bl sub_0200D070
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl sub_0200D080
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
bl sub_0200D090
|
||||
ldr r1, [sp, #0x10]
|
||||
add r0, r5, #0
|
||||
bl sub_0200D0A0
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_0226DBFC
|
||||
|
||||
thumb_func_start ov16_0226DC24
|
||||
ov16_0226DC24: ; 0x0226DC24
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x38
|
||||
add r5, r3, #0
|
||||
mov ip, r2
|
||||
ldr r3, _0226DC9C ; =0x02270AA4
|
||||
add r6, r0, #0
|
||||
add r7, r1, #0
|
||||
add r2, sp, #4
|
||||
mov r4, #6
|
||||
_0226DC36:
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
sub r4, r4, #1
|
||||
bne _0226DC36
|
||||
ldr r0, [r3, #0]
|
||||
mov r1, #0x18
|
||||
str r0, [r2, #0]
|
||||
ldr r0, [sp, #0x50]
|
||||
str r5, [sp, #0x18]
|
||||
str r0, [sp, #0x1c]
|
||||
ldr r0, [sp, #0x54]
|
||||
str r0, [sp, #0x20]
|
||||
ldr r0, [sp, #0x58]
|
||||
str r0, [sp, #0x24]
|
||||
ldr r0, [sp, #0x5c]
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [sp, #0x60]
|
||||
str r0, [sp, #0x30]
|
||||
mov r0, ip
|
||||
bl sub_02018144
|
||||
mov r1, #0
|
||||
mov r2, #0x18
|
||||
str r0, [sp]
|
||||
bl sub_020C4CF4
|
||||
ldr r5, [sp]
|
||||
mov r4, #0
|
||||
_0226DC6E:
|
||||
add r0, r6, #0
|
||||
add r1, r7, #0
|
||||
add r2, sp, #4
|
||||
bl sub_0200CE6C
|
||||
mov r1, #0
|
||||
stmia r5!, {r0}
|
||||
bl sub_0200D3F4
|
||||
add r4, r4, #1
|
||||
cmp r4, #5
|
||||
blt _0226DC6E
|
||||
ldr r0, _0226DCA0 ; =ov16_0226DE10
|
||||
ldr r1, [sp]
|
||||
ldr r2, _0226DCA4 ; =0x00009C40
|
||||
bl sub_0200D9E8
|
||||
ldr r1, [sp]
|
||||
str r0, [r1, #0x14]
|
||||
add r0, r1, #0
|
||||
add sp, #0x38
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_0226DC9C: .word 0x02270AA4
|
||||
_0226DCA0: .word ov16_0226DE10
|
||||
_0226DCA4: .word 0x00009C40
|
||||
thumb_func_end ov16_0226DC24
|
||||
|
||||
thumb_func_start ov16_0226DCA8
|
||||
ov16_0226DCA8: ; 0x0226DCA8
|
||||
push {r4, r5, r6, lr}
|
||||
add r6, r0, #0
|
||||
mov r4, #0
|
||||
add r5, r6, #0
|
||||
_0226DCB0:
|
||||
ldr r0, [r5, #0]
|
||||
bl sub_0200D0F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #5
|
||||
blt _0226DCB0
|
||||
ldr r0, [r6, #0x14]
|
||||
bl sub_0200DA58
|
||||
add r0, r6, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov16_0226DCA8
|
||||
|
||||
thumb_func_start ov16_0226DCCC
|
||||
ov16_0226DCCC: ; 0x0226DCCC
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
lsl r1, r1, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r4, [sp, #0x24]
|
||||
add r6, r3, #0
|
||||
ldr r0, [r5, #0]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
add r3, r4, #0
|
||||
bl sub_0200D500
|
||||
ldr r2, [sp, #0x10]
|
||||
lsl r1, r6, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [r5, #4]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
add r3, r4, #0
|
||||
bl sub_0200D500
|
||||
ldr r1, [sp, #0x14]
|
||||
ldr r2, [sp, #0x18]
|
||||
lsl r1, r1, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [r5, #8]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
add r3, r4, #0
|
||||
bl sub_0200D500
|
||||
ldr r1, [sp, #0x1c]
|
||||
ldr r2, [sp, #0x20]
|
||||
lsl r1, r1, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [r5, #0xc]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
add r3, r4, #0
|
||||
bl sub_0200D500
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, #0
|
||||
bl sub_0200D364
|
||||
ldr r0, [r5, #4]
|
||||
mov r1, #1
|
||||
bl sub_0200D364
|
||||
ldr r0, [r5, #8]
|
||||
mov r1, #2
|
||||
bl sub_0200D364
|
||||
ldr r0, [r5, #0xc]
|
||||
mov r1, #3
|
||||
bl sub_0200D364
|
||||
mov r4, #0
|
||||
mov r6, #1
|
||||
_0226DD42:
|
||||
ldr r0, [r5, #0]
|
||||
add r1, r6, #0
|
||||
bl sub_0200D3F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #4
|
||||
blt _0226DD42
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov16_0226DCCC
|
||||
|
||||
thumb_func_start ov16_0226DD54
|
||||
ov16_0226DD54: ; 0x0226DD54
|
||||
push {r4, lr}
|
||||
sub sp, #0x18
|
||||
ldr r4, [sp, #0x20]
|
||||
str r4, [sp]
|
||||
ldr r4, [sp, #0x24]
|
||||
str r4, [sp, #4]
|
||||
ldr r4, [sp, #0x28]
|
||||
str r4, [sp, #8]
|
||||
ldr r4, [sp, #0x2c]
|
||||
str r4, [sp, #0xc]
|
||||
ldr r4, [sp, #0x30]
|
||||
str r4, [sp, #0x10]
|
||||
mov r4, #3
|
||||
lsl r4, r4, #0x12
|
||||
str r4, [sp, #0x14]
|
||||
bl ov16_0226DCCC
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_0226DD54
|
||||
|
||||
thumb_func_start ov16_0226DD7C
|
||||
ov16_0226DD7C: ; 0x0226DD7C
|
||||
push {r3, r4, lr}
|
||||
sub sp, #0x14
|
||||
add r4, r2, #0
|
||||
str r3, [sp]
|
||||
ldr r2, [sp, #0x20]
|
||||
str r1, [sp, #4]
|
||||
str r2, [sp, #8]
|
||||
str r4, [sp, #0xc]
|
||||
str r2, [sp, #0x10]
|
||||
add r2, r3, #0
|
||||
add r3, r4, #0
|
||||
bl ov16_0226DD54
|
||||
add sp, #0x14
|
||||
pop {r3, r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_0226DD7C
|
||||
|
||||
thumb_func_start ov16_0226DD9C
|
||||
ov16_0226DD9C: ; 0x0226DD9C
|
||||
push {r4, lr}
|
||||
sub sp, #0x18
|
||||
add r4, r2, #0
|
||||
str r3, [sp]
|
||||
ldr r2, [sp, #0x20]
|
||||
str r1, [sp, #4]
|
||||
str r2, [sp, #8]
|
||||
str r4, [sp, #0xc]
|
||||
str r2, [sp, #0x10]
|
||||
ldr r2, [sp, #0x24]
|
||||
str r2, [sp, #0x14]
|
||||
add r2, r3, #0
|
||||
add r3, r4, #0
|
||||
bl ov16_0226DCCC
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_0226DD9C
|
||||
|
||||
thumb_func_start ov16_0226DDC0
|
||||
ov16_0226DDC0: ; 0x0226DDC0
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r3, #0
|
||||
lsl r1, r1, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [r5, #0x10]
|
||||
ldr r3, [sp, #0x10]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
bl sub_0200D500
|
||||
ldr r0, [r5, #0x10]
|
||||
add r1, r4, #0
|
||||
bl sub_0200D364
|
||||
ldr r0, [r5, #0x10]
|
||||
mov r1, #1
|
||||
bl sub_0200D3F4
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov16_0226DDC0
|
||||
|
||||
thumb_func_start ov16_0226DDE8
|
||||
ov16_0226DDE8: ; 0x0226DDE8
|
||||
push {r4, r5, r6, lr}
|
||||
mov r4, #0
|
||||
add r5, r0, #0
|
||||
add r6, r4, #0
|
||||
_0226DDF0:
|
||||
ldr r0, [r5, #0]
|
||||
add r1, r6, #0
|
||||
bl sub_0200D3F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #5
|
||||
blt _0226DDF0
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_0226DDE8
|
||||
|
||||
thumb_func_start ov16_0226DE04
|
||||
ov16_0226DE04: ; 0x0226DE04
|
||||
ldr r3, _0226DE0C ; =sub_0200D3F4
|
||||
ldr r0, [r0, #0x10]
|
||||
mov r1, #0
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_0226DE0C: .word sub_0200D3F4
|
||||
thumb_func_end ov16_0226DE04
|
||||
|
||||
thumb_func_start ov16_0226DE10
|
||||
ov16_0226DE10: ; 0x0226DE10
|
||||
push {r4, r5, r6, lr}
|
||||
add r6, r1, #0
|
||||
ldr r0, [r6, #0]
|
||||
bl sub_0200D408
|
||||
cmp r0, #0
|
||||
beq _0226DE40
|
||||
mov r4, #0
|
||||
add r5, r6, #0
|
||||
_0226DE22:
|
||||
ldr r0, [r5, #0]
|
||||
bl sub_0200D330
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #4
|
||||
blt _0226DE22
|
||||
ldr r0, [r6, #0x10]
|
||||
bl sub_0200D408
|
||||
cmp r0, #1
|
||||
bne _0226DE40
|
||||
ldr r0, [r6, #0x10]
|
||||
bl sub_0200D330
|
||||
_0226DE40:
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_0226DE10
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov16_02270AA4
|
||||
Unk_ov16_02270AA4: ; 0x02270AA4
|
||||
.incbin "incbin/overlay16_rodata.bin", 0x2848, 0x34
|
||||
|
421
asm/ov16_0226DE44.s
Normal file
421
asm/ov16_0226DE44.s
Normal file
@ -0,0 +1,421 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov16_0226DE44
|
||||
ov16_0226DE44: ; 0x0226DE44
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
mov r0, #0x52
|
||||
add r1, r2, #0
|
||||
add r7, r3, #0
|
||||
bl sub_02006C24
|
||||
add r6, r0, #0
|
||||
str r6, [sp]
|
||||
mov r0, #0xb
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #2
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [sp, #0x34]
|
||||
mov r1, #3
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r7, #0
|
||||
add r2, r5, #0
|
||||
add r3, r4, #0
|
||||
bl sub_0200CDC4
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #2
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [sp, #0x30]
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #8]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0xa
|
||||
bl sub_0200CC3C
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x38]
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0xc
|
||||
bl sub_0200CE24
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x3c]
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0xd
|
||||
bl sub_0200CE54
|
||||
add r0, r6, #0
|
||||
bl sub_02006CA8
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov16_0226DE44
|
||||
|
||||
thumb_func_start ov16_0226DEC4
|
||||
ov16_0226DEC4: ; 0x0226DEC4
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r2, #0
|
||||
add r6, r3, #0
|
||||
bl sub_0200D070
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl sub_0200D080
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
bl sub_0200D090
|
||||
ldr r1, [sp, #0x10]
|
||||
add r0, r5, #0
|
||||
bl sub_0200D0A0
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_0226DEC4
|
||||
|
||||
thumb_func_start ov16_0226DEEC
|
||||
ov16_0226DEEC: ; 0x0226DEEC
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x38
|
||||
ldr r5, _0226DF5C ; =0x02270AD8
|
||||
add r6, r3, #0
|
||||
add r7, r0, #0
|
||||
str r1, [sp]
|
||||
add r4, sp, #4
|
||||
mov r3, #6
|
||||
_0226DEFC:
|
||||
ldmia r5!, {r0, r1}
|
||||
stmia r4!, {r0, r1}
|
||||
sub r3, r3, #1
|
||||
bne _0226DEFC
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, #0x20
|
||||
str r0, [r4, #0]
|
||||
ldr r0, [sp, #0x50]
|
||||
str r6, [sp, #0x18]
|
||||
str r0, [sp, #0x1c]
|
||||
ldr r0, [sp, #0x54]
|
||||
str r0, [sp, #0x20]
|
||||
ldr r0, [sp, #0x58]
|
||||
str r0, [sp, #0x24]
|
||||
ldr r0, [sp, #0x5c]
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [sp, #0x60]
|
||||
str r0, [sp, #0x30]
|
||||
add r0, r2, #0
|
||||
bl sub_02018144
|
||||
mov r1, #0
|
||||
mov r2, #0x20
|
||||
add r4, r0, #0
|
||||
bl sub_020C4CF4
|
||||
ldr r1, [sp]
|
||||
add r0, r7, #0
|
||||
add r2, sp, #4
|
||||
bl sub_0200CE6C
|
||||
mov r1, #0
|
||||
str r0, [r4, #0]
|
||||
bl sub_0200D3F4
|
||||
mov r0, #3
|
||||
lsl r0, r0, #0x12
|
||||
str r0, [r4, #0x14]
|
||||
ldr r0, _0226DF60 ; =ov16_0226DFD8
|
||||
ldr r2, _0226DF64 ; =0x000003E7
|
||||
add r1, r4, #0
|
||||
bl sub_0200D9E8
|
||||
str r0, [r4, #4]
|
||||
add r0, r4, #0
|
||||
add sp, #0x38
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_0226DF5C: .word 0x02270AD8
|
||||
_0226DF60: .word ov16_0226DFD8
|
||||
_0226DF64: .word 0x000003E7
|
||||
thumb_func_end ov16_0226DEEC
|
||||
|
||||
thumb_func_start ov16_0226DF68
|
||||
ov16_0226DF68: ; 0x0226DF68
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
bl sub_0200D0F4
|
||||
ldr r0, [r4, #4]
|
||||
bl sub_0200DA58
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov16_0226DF68
|
||||
|
||||
thumb_func_start ov16_0226DF80
|
||||
ov16_0226DF80: ; 0x0226DF80
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r7, r1, #0
|
||||
add r4, r2, #0
|
||||
add r6, r3, #0
|
||||
bl ov16_0226E13C
|
||||
str r7, [r5, #8]
|
||||
str r4, [r5, #0xc]
|
||||
str r6, [r5, #0x14]
|
||||
lsl r1, r7, #0x10
|
||||
lsl r2, r4, #0x10
|
||||
ldr r0, [r5, #0]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
add r3, r6, #0
|
||||
bl sub_0200D500
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, #1
|
||||
bl sub_0200D3F4
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov16_0226DF80
|
||||
|
||||
thumb_func_start ov16_0226DFB0
|
||||
ov16_0226DFB0: ; 0x0226DFB0
|
||||
push {r3, lr}
|
||||
mov r3, #3
|
||||
lsl r3, r3, #0x12
|
||||
bl ov16_0226DF80
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov16_0226DFB0
|
||||
|
||||
thumb_func_start ov16_0226DFBC
|
||||
ov16_0226DFBC: ; 0x0226DFBC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
add r0, r4, #0
|
||||
bl ov16_0226E13C
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov16_0226DFBC
|
||||
|
||||
thumb_func_start ov16_0226DFD0
|
||||
ov16_0226DFD0: ; 0x0226DFD0
|
||||
strh r1, [r0, #0x18]
|
||||
bx lr
|
||||
thumb_func_end ov16_0226DFD0
|
||||
|
||||
thumb_func_start ov16_0226DFD4
|
||||
ov16_0226DFD4: ; 0x0226DFD4
|
||||
ldrb r0, [r0, #0x1b]
|
||||
bx lr
|
||||
thumb_func_end ov16_0226DFD4
|
||||
|
||||
thumb_func_start ov16_0226DFD8
|
||||
ov16_0226DFD8: ; 0x0226DFD8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r4, r1, #0
|
||||
ldrb r0, [r4, #0x1b]
|
||||
cmp r0, #1
|
||||
bne _0226DFE6
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0x1b]
|
||||
_0226DFE6:
|
||||
mov r0, #0x18
|
||||
ldrsh r1, [r4, r0]
|
||||
cmp r1, #0
|
||||
ble _0226DFFC
|
||||
sub r1, r1, #1
|
||||
strh r1, [r4, #0x18]
|
||||
ldrsh r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
bne _0226DFFC
|
||||
mov r0, #1
|
||||
strb r0, [r4, #0x1a]
|
||||
_0226DFFC:
|
||||
ldr r0, [r4, #0]
|
||||
bl sub_0200D408
|
||||
cmp r0, #0
|
||||
bne _0226E008
|
||||
b _0226E134
|
||||
_0226E008:
|
||||
ldrb r0, [r4, #0x1c]
|
||||
cmp r0, #0
|
||||
bne _0226E08A
|
||||
mov r1, #0xfa
|
||||
ldr r2, [r4, #0x10]
|
||||
lsl r1, r1, #2
|
||||
add r2, r2, r1
|
||||
add r0, r4, #0
|
||||
ldr r1, _0226E138 ; =0x00004650
|
||||
add r0, #0x10
|
||||
str r2, [r4, #0x10]
|
||||
cmp r2, r1
|
||||
blt _0226E036
|
||||
ldr r2, [r0, #0]
|
||||
sub r1, r2, r1
|
||||
str r1, [r0, #0]
|
||||
ldrb r0, [r4, #0x1a]
|
||||
cmp r0, #1
|
||||
bne _0226E036
|
||||
mov r0, #1
|
||||
strb r0, [r4, #0x1c]
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0x1a]
|
||||
_0226E036:
|
||||
ldrb r0, [r4, #0x1c]
|
||||
cmp r0, #0
|
||||
bne _0226E08A
|
||||
ldr r0, [r4, #0x10]
|
||||
mov r1, #0x64
|
||||
bl sub_020E1F6C
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
bl sub_0201D15C
|
||||
mov r2, #0xe
|
||||
asr r1, r0, #0x1f
|
||||
lsl r2, r2, #0xc
|
||||
mov r3, #0
|
||||
bl sub_020E1F1C
|
||||
add r5, r1, #0
|
||||
ldr r1, [r4, #8]
|
||||
mov r2, #2
|
||||
add r6, r0, #0
|
||||
lsl r1, r1, #0x10
|
||||
mov r7, #0
|
||||
lsl r2, r2, #0xa
|
||||
asr r1, r1, #0x10
|
||||
add r2, r6, r2
|
||||
adc r5, r7
|
||||
lsl r5, r5, #0x14
|
||||
lsr r2, r2, #0xc
|
||||
orr r2, r5
|
||||
asr r5, r2, #0xb
|
||||
lsr r5, r5, #0x14
|
||||
add r5, r2, r5
|
||||
ldr r3, [r4, #0xc]
|
||||
asr r2, r5, #0xc
|
||||
sub r2, r3, r2
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [r4, #0]
|
||||
ldr r3, [r4, #0x14]
|
||||
asr r2, r2, #0x10
|
||||
bl sub_0200D500
|
||||
_0226E08A:
|
||||
ldrb r0, [r4, #0x1c]
|
||||
cmp r0, #1
|
||||
bne _0226E12E
|
||||
ldrb r0, [r4, #0x1d]
|
||||
cmp r0, #3
|
||||
bhi _0226E12E
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_0226E0A2: ; jump table
|
||||
.short _0226E0AA - _0226E0A2 - 2 ; case 0
|
||||
.short _0226E0C2 - _0226E0A2 - 2 ; case 1
|
||||
.short _0226E0E4 - _0226E0A2 - 2 ; case 2
|
||||
.short _0226E112 - _0226E0A2 - 2 ; case 3
|
||||
_0226E0AA:
|
||||
ldrb r0, [r4, #0x1e]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r0, [r4, #0x1e]
|
||||
cmp r0, #3
|
||||
bls _0226E12E
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r0, [r4, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x1d]
|
||||
b _0226E12E
|
||||
_0226E0C2:
|
||||
ldr r2, [r4, #0xc]
|
||||
ldr r1, [r4, #8]
|
||||
add r2, #8
|
||||
lsl r1, r1, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [r4, #0]
|
||||
ldr r3, [r4, #0x14]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
bl sub_0200D500
|
||||
mov r0, #1
|
||||
strb r0, [r4, #0x1b]
|
||||
ldrb r0, [r4, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x1d]
|
||||
b _0226E12E
|
||||
_0226E0E4:
|
||||
ldrb r0, [r4, #0x1e]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r0, [r4, #0x1e]
|
||||
cmp r0, #2
|
||||
bls _0226E12E
|
||||
ldr r2, [r4, #0xc]
|
||||
ldr r1, [r4, #8]
|
||||
add r2, r2, #2
|
||||
lsl r1, r1, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [r4, #0]
|
||||
ldr r3, [r4, #0x14]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
bl sub_0200D500
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r0, [r4, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x1d]
|
||||
b _0226E12E
|
||||
_0226E112:
|
||||
ldrb r0, [r4, #0x1e]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r0, [r4, #0x1e]
|
||||
cmp r0, #2
|
||||
bls _0226E12E
|
||||
add r0, r4, #0
|
||||
bl ov16_0226DFBC
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r0, [r4, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x1d]
|
||||
_0226E12E:
|
||||
ldr r0, [r4, #0]
|
||||
bl sub_0200D330
|
||||
_0226E134:
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_0226E138: .word 0x00004650
|
||||
thumb_func_end ov16_0226DFD8
|
||||
|
||||
thumb_func_start ov16_0226E13C
|
||||
ov16_0226E13C: ; 0x0226E13C
|
||||
mov r1, #0
|
||||
str r1, [r0, #0x10]
|
||||
strb r1, [r0, #0x1c]
|
||||
strb r1, [r0, #0x1d]
|
||||
strb r1, [r0, #0x1e]
|
||||
bx lr
|
||||
thumb_func_end ov16_0226E13C
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov16_02270AD8
|
||||
Unk_ov16_02270AD8: ; 0x02270AD8
|
||||
.incbin "incbin/overlay16_rodata.bin", 0x287C, 0x34
|
||||
|
144
asm/ov16_0226E148.s
Normal file
144
asm/ov16_0226E148.s
Normal file
@ -0,0 +1,144 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov16_0226E148
|
||||
ov16_0226E148: ; 0x0226E148
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
mov r0, #5
|
||||
mov r1, #8
|
||||
bl sub_02018144
|
||||
mov r1, #0
|
||||
mov r2, #8
|
||||
add r4, r0, #0
|
||||
bl sub_020C4CF4
|
||||
mov r2, #0xfa
|
||||
ldr r0, _0226E170 ; =ov16_0226E188
|
||||
add r1, r4, #0
|
||||
lsl r2, r2, #2
|
||||
str r5, [r4, #0]
|
||||
bl sub_0200D9E8
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_0226E170: .word ov16_0226E188
|
||||
thumb_func_end ov16_0226E148
|
||||
|
||||
thumb_func_start ov16_0226E174
|
||||
ov16_0226E174: ; 0x0226E174
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0201CED0
|
||||
bl sub_020181C4
|
||||
add r0, r4, #0
|
||||
bl sub_0200DA58
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov16_0226E174
|
||||
|
||||
thumb_func_start ov16_0226E188
|
||||
ov16_0226E188: ; 0x0226E188
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
ldr r0, [r4, #0]
|
||||
bl ov16_0223E02C
|
||||
mov r1, #4
|
||||
ldrsh r1, [r4, r1]
|
||||
add r5, r0, #0
|
||||
cmp r1, #4
|
||||
bhi _0226E252
|
||||
add r1, r1, r1
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_0226E1AA: ; jump table
|
||||
.short _0226E1B4 - _0226E1AA - 2 ; case 0
|
||||
.short _0226E1FA - _0226E1AA - 2 ; case 1
|
||||
.short _0226E20E - _0226E1AA - 2 ; case 2
|
||||
.short _0226E234 - _0226E1AA - 2 ; case 3
|
||||
.short _0226E252 - _0226E1AA - 2 ; case 4
|
||||
_0226E1B4:
|
||||
cmp r5, #0
|
||||
bne _0226E1BC
|
||||
bl sub_02022974
|
||||
_0226E1BC:
|
||||
mov r0, #7
|
||||
mov r1, #5
|
||||
bl sub_02006C24
|
||||
add r6, r0, #0
|
||||
mov r0, #0x1b
|
||||
mov r1, #5
|
||||
bl sub_02006C24
|
||||
add r7, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
add r0, r6, #0
|
||||
add r1, r7, #0
|
||||
add r2, r5, #0
|
||||
mov r3, #0x12
|
||||
bl ov16_02268C04
|
||||
add r0, r6, #0
|
||||
bl sub_02006CA8
|
||||
add r0, r7, #0
|
||||
bl sub_02006CA8
|
||||
mov r0, #4
|
||||
ldrsh r0, [r4, r0]
|
||||
add sp, #8
|
||||
add r0, r0, #1
|
||||
strh r0, [r4, #4]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0226E1FA:
|
||||
bl ov16_02269348
|
||||
cmp r0, #1
|
||||
bne _0226E252
|
||||
mov r0, #4
|
||||
ldrsh r0, [r4, r0]
|
||||
add sp, #8
|
||||
add r0, r0, #1
|
||||
strh r0, [r4, #4]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0226E20E:
|
||||
ldr r0, [r4, #0]
|
||||
bl ov16_0223F7A4
|
||||
cmp r0, #1
|
||||
bne _0226E252
|
||||
add r0, r5, #0
|
||||
bl ov16_0226925C
|
||||
cmp r0, #1
|
||||
bne _0226E252
|
||||
ldr r0, _0226E258 ; =0x000005DD
|
||||
bl sub_02005748
|
||||
mov r0, #4
|
||||
ldrsh r0, [r4, r0]
|
||||
add sp, #8
|
||||
add r0, r0, #1
|
||||
strh r0, [r4, #4]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0226E234:
|
||||
mov r0, #6
|
||||
ldrsh r1, [r4, r0]
|
||||
add r1, r1, #1
|
||||
strh r1, [r4, #6]
|
||||
ldrsh r0, [r4, r0]
|
||||
cmp r0, #8
|
||||
ble _0226E252
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0
|
||||
bl ov16_0223F720
|
||||
mov r0, #4
|
||||
ldrsh r0, [r4, r0]
|
||||
add r0, r0, #1
|
||||
strh r0, [r4, #4]
|
||||
_0226E252:
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_0226E258: .word 0x000005DD
|
||||
thumb_func_end ov16_0226E188
|
3273
asm/ov17_0223B140.s
Normal file
3273
asm/ov17_0223B140.s
Normal file
File diff suppressed because it is too large
Load Diff
1956
asm/ov17_0223CB1C.s
Normal file
1956
asm/ov17_0223CB1C.s
Normal file
File diff suppressed because it is too large
Load Diff
2779
asm/ov17_0223DAD0.s
Normal file
2779
asm/ov17_0223DAD0.s
Normal file
File diff suppressed because it is too large
Load Diff
919
asm/ov17_0223F118.s
Normal file
919
asm/ov17_0223F118.s
Normal file
@ -0,0 +1,919 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov17_0223F118
|
||||
ov17_0223F118: ; 0x0223F118
|
||||
push {r3, lr}
|
||||
ldr r0, _0223F134 ; =0x0000000B
|
||||
mov r1, #2
|
||||
bl sub_02006590
|
||||
ldr r0, _0223F138 ; =0x0000000C
|
||||
mov r1, #2
|
||||
bl sub_02006590
|
||||
ldr r0, _0223F13C ; =0x00000016
|
||||
mov r1, #2
|
||||
bl sub_02006590
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
_0223F134: .word 0x0000000B
|
||||
_0223F138: .word 0x0000000C
|
||||
_0223F13C: .word 0x00000016
|
||||
thumb_func_end ov17_0223F118
|
||||
|
||||
thumb_func_start ov17_0223F140
|
||||
ov17_0223F140: ; 0x0223F140
|
||||
push {r3, lr}
|
||||
sub sp, #8
|
||||
mov r2, #2
|
||||
ldr r1, _0223F158 ; =ov17_0223F15C
|
||||
str r2, [sp]
|
||||
str r1, [sp, #4]
|
||||
mov r1, #0
|
||||
add r3, r1, #0
|
||||
bl sub_02024220
|
||||
add sp, #8
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
_0223F158: .word ov17_0223F15C
|
||||
thumb_func_end ov17_0223F140
|
||||
|
||||
thumb_func_start ov17_0223F15C
|
||||
ov17_0223F15C: ; 0x0223F15C
|
||||
push {r3, lr}
|
||||
mov r0, #1
|
||||
add r1, r0, #0
|
||||
bl sub_0201FF0C
|
||||
ldr r0, _0223F1C8 ; =0x04000008
|
||||
mov r1, #3
|
||||
ldrh r2, [r0]
|
||||
bic r2, r1
|
||||
mov r1, #1
|
||||
orr r1, r2
|
||||
strh r1, [r0]
|
||||
add r0, #0x58
|
||||
ldrh r2, [r0]
|
||||
ldr r1, _0223F1CC ; =0xFFFFCFFD
|
||||
and r2, r1
|
||||
strh r2, [r0]
|
||||
add r2, r1, #2
|
||||
ldrh r3, [r0]
|
||||
add r1, r1, #2
|
||||
and r3, r2
|
||||
mov r2, #0x10
|
||||
orr r2, r3
|
||||
strh r2, [r0]
|
||||
ldrh r3, [r0]
|
||||
ldr r2, _0223F1D0 ; =0x0000CFFB
|
||||
and r3, r2
|
||||
strh r3, [r0]
|
||||
ldrh r3, [r0]
|
||||
sub r2, #0x1c
|
||||
and r3, r1
|
||||
mov r1, #8
|
||||
orr r1, r3
|
||||
strh r1, [r0]
|
||||
ldrh r1, [r0]
|
||||
and r1, r2
|
||||
strh r1, [r0]
|
||||
mov r0, #0
|
||||
add r1, r0, #0
|
||||
add r2, r0, #0
|
||||
add r3, r0, #0
|
||||
bl sub_020BFC74
|
||||
mov r0, #0
|
||||
ldr r2, _0223F1D4 ; =0x00007FFF
|
||||
add r1, r0, #0
|
||||
mov r3, #0x3f
|
||||
str r0, [sp]
|
||||
bl sub_020BFD58
|
||||
ldr r1, _0223F1D8 ; =0xBFFF0000
|
||||
ldr r0, _0223F1DC ; =0x04000580
|
||||
str r1, [r0, #0]
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
_0223F1C8: .word 0x04000008
|
||||
_0223F1CC: .word 0xFFFFCFFD
|
||||
_0223F1D0: .word 0x0000CFFB
|
||||
_0223F1D4: .word 0x00007FFF
|
||||
_0223F1D8: .word 0xBFFF0000
|
||||
_0223F1DC: .word 0x04000580
|
||||
thumb_func_end ov17_0223F15C
|
||||
|
||||
thumb_func_start ov17_0223F1E0
|
||||
ov17_0223F1E0: ; 0x0223F1E0
|
||||
ldr r3, _0223F1E4 ; =sub_020242C4
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_0223F1E4: .word sub_020242C4
|
||||
thumb_func_end ov17_0223F1E0
|
||||
|
||||
thumb_func_start ov17_0223F1E8
|
||||
ov17_0223F1E8: ; 0x0223F1E8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x74
|
||||
str r0, [sp, #0x18]
|
||||
str r1, [sp, #0x1c]
|
||||
str r2, [sp, #0x20]
|
||||
ldr r0, [sp, #0x90]
|
||||
ldr r1, [sp, #0x8c]
|
||||
mov r2, #0
|
||||
str r3, [sp, #0x24]
|
||||
ldr r5, [sp, #0x88]
|
||||
ldr r4, [sp, #0xa0]
|
||||
bl sub_02002D7C
|
||||
add r7, r0, #0
|
||||
asr r1, r7, #2
|
||||
lsr r1, r1, #0x1d
|
||||
add r1, r7, r1
|
||||
asr r6, r1, #3
|
||||
mov r1, #8
|
||||
bl sub_020BD140
|
||||
cmp r0, #0
|
||||
beq _0223F218
|
||||
add r6, r6, #1
|
||||
_0223F218:
|
||||
add r0, sp, #0x34
|
||||
bl sub_0201A7A0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
lsl r2, r6, #0x18
|
||||
ldr r0, [sp, #0x1c]
|
||||
add r1, sp, #0x34
|
||||
lsr r2, r2, #0x18
|
||||
mov r3, #2
|
||||
bl sub_0201A870
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [sp, #0x94]
|
||||
ldr r1, [sp, #0x90]
|
||||
str r0, [sp, #8]
|
||||
str r3, [sp, #0xc]
|
||||
str r3, [sp, #0x10]
|
||||
ldr r2, [sp, #0x8c]
|
||||
add r0, sp, #0x34
|
||||
str r3, [sp, #0x14]
|
||||
bl sub_0201D7E0
|
||||
ldr r2, [sp, #0x18]
|
||||
add r0, sp, #0x34
|
||||
mov r1, #1
|
||||
bl sub_02012898
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
add r3, sp, #0x28
|
||||
bl sub_0201ED94
|
||||
ldr r0, [sp, #0xa8]
|
||||
cmp r0, #1
|
||||
bne _0223F270
|
||||
lsr r0, r7, #0x1f
|
||||
add r0, r7, r0
|
||||
asr r0, r0, #1
|
||||
sub r4, r4, r0
|
||||
_0223F270:
|
||||
ldr r0, [sp, #0x24]
|
||||
str r0, [sp, #0x44]
|
||||
add r0, sp, #0x34
|
||||
str r0, [sp, #0x48]
|
||||
ldr r0, [sp, #0x20]
|
||||
bl sub_0200D9B0
|
||||
str r0, [sp, #0x4c]
|
||||
ldr r0, [sp, #0x20]
|
||||
ldr r1, [sp, #0x9c]
|
||||
bl sub_0200D04C
|
||||
str r0, [sp, #0x50]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0x54]
|
||||
ldr r0, [sp, #0x2c]
|
||||
str r4, [sp, #0x5c]
|
||||
str r0, [sp, #0x58]
|
||||
ldr r0, [sp, #0xa4]
|
||||
sub r0, #8
|
||||
str r0, [sp, #0x60]
|
||||
ldr r0, [sp, #0xac]
|
||||
str r0, [sp, #0x64]
|
||||
ldr r0, [sp, #0xb0]
|
||||
str r0, [sp, #0x68]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0x6c]
|
||||
ldr r0, [sp, #0x18]
|
||||
str r0, [sp, #0x70]
|
||||
add r0, sp, #0x44
|
||||
bl sub_020127E8
|
||||
ldr r1, [sp, #0x98]
|
||||
add r6, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0223F2BC
|
||||
bl sub_02012A90
|
||||
_0223F2BC:
|
||||
ldr r2, [sp, #0xa4]
|
||||
add r0, r6, #0
|
||||
add r1, r4, #0
|
||||
sub r2, #8
|
||||
bl sub_020128C4
|
||||
add r0, sp, #0x34
|
||||
bl sub_0201A8FC
|
||||
str r6, [r5, #0]
|
||||
add r3, sp, #0x28
|
||||
ldmia r3!, {r0, r1}
|
||||
add r2, r5, #4
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r3, #0]
|
||||
str r0, [r2, #0]
|
||||
strh r7, [r5, #0x10]
|
||||
add sp, #0x74
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0223F1E8
|
||||
|
||||
thumb_func_start ov17_0223F2E4
|
||||
ov17_0223F2E4: ; 0x0223F2E4
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
bl sub_02012870
|
||||
add r0, r4, #4
|
||||
bl sub_0201EE28
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0223F2E4
|
||||
|
||||
thumb_func_start ov17_0223F2F8
|
||||
ov17_0223F2F8: ; 0x0223F2F8
|
||||
cmp r3, #1
|
||||
bne _0223F302
|
||||
ldrh r3, [r0, #0x10]
|
||||
lsr r3, r3, #1
|
||||
sub r1, r1, r3
|
||||
_0223F302:
|
||||
ldr r3, _0223F30C ; =sub_020128C4
|
||||
ldr r0, [r0, #0]
|
||||
sub r2, #8
|
||||
bx r3
|
||||
nop
|
||||
_0223F30C: .word sub_020128C4
|
||||
thumb_func_end ov17_0223F2F8
|
||||
|
||||
thumb_func_start ov17_0223F310
|
||||
ov17_0223F310: ; 0x0223F310
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
add r3, r1, #0
|
||||
mov r0, #1
|
||||
mov r1, #0x1a
|
||||
mov r2, #0xcf
|
||||
bl sub_0200B144
|
||||
add r5, r0, #0
|
||||
add r1, r4, #0
|
||||
bl sub_0200B1EC
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl sub_0200B190
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov17_0223F310
|
||||
|
||||
thumb_func_start ov17_0223F334
|
||||
ov17_0223F334: ; 0x0223F334
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r0, r1, #0
|
||||
ldr r1, _0223F36C ; =0x00000122
|
||||
ldrb r1, [r5, r1]
|
||||
bl ov17_02252A9C
|
||||
add r7, r0, #0
|
||||
mov r6, #0
|
||||
add r4, r5, #0
|
||||
_0223F348:
|
||||
add r0, r5, #0
|
||||
add r0, #0xf8
|
||||
ldr r0, [r0, #0]
|
||||
add r1, r7, #0
|
||||
bl ov17_02252A70
|
||||
ldr r1, _0223F370 ; =0x0000012A
|
||||
add r6, r6, #1
|
||||
strh r0, [r4, r1]
|
||||
add r5, r5, #4
|
||||
add r4, #0xc
|
||||
cmp r6, #4
|
||||
blt _0223F348
|
||||
add r0, r7, #0
|
||||
bl sub_020181C4
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_0223F36C: .word 0x00000122
|
||||
_0223F370: .word 0x0000012A
|
||||
thumb_func_end ov17_0223F334
|
||||
|
||||
thumb_func_start ov17_0223F374
|
||||
ov17_0223F374: ; 0x0223F374
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
str r0, [sp]
|
||||
ldr r4, [sp]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r4, #0
|
||||
str r0, [sp, #4]
|
||||
_0223F384:
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #6
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
mov r6, #0x64
|
||||
add r5, r0, #0
|
||||
add r0, r6, #0
|
||||
ldr r1, [sp]
|
||||
add r0, #0xbb
|
||||
ldrb r0, [r1, r0]
|
||||
cmp r0, #4
|
||||
bls _0223F3A0
|
||||
b _0223F512
|
||||
_0223F3A0:
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_0223F3AC: ; jump table
|
||||
.short _0223F3B6 - _0223F3AC - 2 ; case 0
|
||||
.short _0223F3FC - _0223F3AC - 2 ; case 1
|
||||
.short _0223F442 - _0223F3AC - 2 ; case 2
|
||||
.short _0223F488 - _0223F3AC - 2 ; case 3
|
||||
.short _0223F4CE - _0223F3AC - 2 ; case 4
|
||||
_0223F3B6:
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x13
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x17
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x14
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
add r0, #0xa0
|
||||
cmp r5, r0
|
||||
beq _0223F3F4
|
||||
add r0, r6, #0
|
||||
add r0, #0xa1
|
||||
cmp r5, r0
|
||||
beq _0223F3F8
|
||||
add r0, r6, #0
|
||||
add r0, #0xa4
|
||||
cmp r5, r0
|
||||
beq _0223F3F8
|
||||
b _0223F51A
|
||||
_0223F3F4:
|
||||
mov r6, #0x6e
|
||||
b _0223F51A
|
||||
_0223F3F8:
|
||||
mov r6, #0x69
|
||||
b _0223F51A
|
||||
_0223F3FC:
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x14
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x13
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x15
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
add r0, #0xa0
|
||||
cmp r5, r0
|
||||
beq _0223F43E
|
||||
add r0, r6, #0
|
||||
add r0, #0xa1
|
||||
cmp r5, r0
|
||||
beq _0223F43A
|
||||
add r0, r6, #0
|
||||
add r0, #0xa2
|
||||
cmp r5, r0
|
||||
beq _0223F43E
|
||||
b _0223F51A
|
||||
_0223F43A:
|
||||
mov r6, #0x6e
|
||||
b _0223F51A
|
||||
_0223F43E:
|
||||
mov r6, #0x69
|
||||
b _0223F51A
|
||||
_0223F442:
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x15
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x14
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x16
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
add r0, #0xa1
|
||||
cmp r5, r0
|
||||
beq _0223F484
|
||||
add r0, r6, #0
|
||||
add r0, #0xa2
|
||||
cmp r5, r0
|
||||
beq _0223F480
|
||||
add r0, r6, #0
|
||||
add r0, #0xa3
|
||||
cmp r5, r0
|
||||
beq _0223F484
|
||||
b _0223F51A
|
||||
_0223F480:
|
||||
mov r6, #0x6e
|
||||
b _0223F51A
|
||||
_0223F484:
|
||||
mov r6, #0x69
|
||||
b _0223F51A
|
||||
_0223F488:
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x16
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x15
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x17
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
add r0, #0xa2
|
||||
cmp r5, r0
|
||||
beq _0223F4CA
|
||||
add r0, r6, #0
|
||||
add r0, #0xa3
|
||||
cmp r5, r0
|
||||
beq _0223F4C6
|
||||
add r0, r6, #0
|
||||
add r0, #0xa4
|
||||
cmp r5, r0
|
||||
beq _0223F4CA
|
||||
b _0223F51A
|
||||
_0223F4C6:
|
||||
mov r6, #0x6e
|
||||
b _0223F51A
|
||||
_0223F4CA:
|
||||
mov r6, #0x69
|
||||
b _0223F51A
|
||||
_0223F4CE:
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x17
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x16
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x13
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
add r0, #0xa0
|
||||
cmp r5, r0
|
||||
beq _0223F50E
|
||||
add r0, r6, #0
|
||||
add r0, #0xa3
|
||||
cmp r5, r0
|
||||
beq _0223F50E
|
||||
add r0, r6, #0
|
||||
add r0, #0xa4
|
||||
cmp r5, r0
|
||||
bne _0223F51A
|
||||
mov r6, #0x6e
|
||||
b _0223F51A
|
||||
_0223F50E:
|
||||
mov r6, #0x69
|
||||
b _0223F51A
|
||||
_0223F512:
|
||||
bl sub_02022974
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_0223F51A:
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #0x18
|
||||
mov r2, #0
|
||||
bl sub_02074470
|
||||
ldr r1, [sp, #8]
|
||||
add r1, r1, r7
|
||||
add r1, r0, r1
|
||||
lsr r0, r1, #0x1f
|
||||
add r0, r1, r0
|
||||
asr r1, r0, #1
|
||||
ldr r0, [sp, #0xc]
|
||||
add r1, r0, r1
|
||||
add r0, r1, #0
|
||||
mul r0, r6
|
||||
mov r1, #0x64
|
||||
bl sub_020E1F6C
|
||||
mov r1, #0x4a
|
||||
ldr r2, [sp, #4]
|
||||
lsl r1, r1, #2
|
||||
strh r0, [r2, r1]
|
||||
add r0, r2, #0
|
||||
add r0, #0xc
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [sp, #0x10]
|
||||
add r4, r4, #4
|
||||
add r0, r0, #1
|
||||
str r0, [sp, #0x10]
|
||||
cmp r0, #4
|
||||
bge _0223F55A
|
||||
b _0223F384
|
||||
_0223F55A:
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0223F374
|
||||
|
||||
thumb_func_start ov17_0223F560
|
||||
ov17_0223F560: ; 0x0223F560
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x18
|
||||
add r6, r2, #0
|
||||
mov r2, #0
|
||||
mvn r2, r2
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
cmp r3, r2
|
||||
beq _0223F582
|
||||
mov r2, #1
|
||||
str r2, [sp]
|
||||
str r2, [sp, #4]
|
||||
str r3, [sp, #8]
|
||||
mov r2, #0x2e
|
||||
mov r3, #0x49
|
||||
bl sub_0200CBDC
|
||||
_0223F582:
|
||||
mov r1, #0
|
||||
ldr r0, [sp, #0x28]
|
||||
mvn r1, r1
|
||||
cmp r0, r1
|
||||
beq _0223F5AC
|
||||
mov r1, #0x2e
|
||||
str r1, [sp]
|
||||
mov r1, #7
|
||||
str r1, [sp, #4]
|
||||
mov r1, #0
|
||||
str r1, [sp, #8]
|
||||
mov r1, #1
|
||||
str r1, [sp, #0xc]
|
||||
str r1, [sp, #0x10]
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r6, #0
|
||||
mov r1, #2
|
||||
add r2, r5, #0
|
||||
add r3, r4, #0
|
||||
bl sub_0200CD7C
|
||||
_0223F5AC:
|
||||
mov r0, #0
|
||||
ldr r1, [sp, #0x2c]
|
||||
mvn r0, r0
|
||||
cmp r1, r0
|
||||
beq _0223F5C8
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
str r1, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
mov r2, #0x2e
|
||||
mov r3, #0x4a
|
||||
bl sub_0200CE0C
|
||||
_0223F5C8:
|
||||
mov r0, #0
|
||||
ldr r1, [sp, #0x30]
|
||||
mvn r0, r0
|
||||
cmp r1, r0
|
||||
beq _0223F5E4
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
str r1, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
mov r2, #0x2e
|
||||
mov r3, #0x4b
|
||||
bl sub_0200CE3C
|
||||
_0223F5E4:
|
||||
add sp, #0x18
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov17_0223F560
|
||||
|
||||
thumb_func_start ov17_0223F5E8
|
||||
ov17_0223F5E8: ; 0x0223F5E8
|
||||
push {r4, r5, r6, lr}
|
||||
add r4, r2, #0
|
||||
mov r2, #0
|
||||
mvn r2, r2
|
||||
add r5, r0, #0
|
||||
add r6, r3, #0
|
||||
cmp r1, r2
|
||||
beq _0223F5FC
|
||||
bl sub_0200D070
|
||||
_0223F5FC:
|
||||
mov r0, #0
|
||||
mvn r0, r0
|
||||
cmp r4, r0
|
||||
beq _0223F60C
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl sub_0200D080
|
||||
_0223F60C:
|
||||
mov r0, #0
|
||||
mvn r0, r0
|
||||
cmp r6, r0
|
||||
beq _0223F61C
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
bl sub_0200D090
|
||||
_0223F61C:
|
||||
mov r0, #0
|
||||
ldr r1, [sp, #0x10]
|
||||
mvn r0, r0
|
||||
cmp r1, r0
|
||||
beq _0223F62C
|
||||
add r0, r5, #0
|
||||
bl sub_0200D0A0
|
||||
_0223F62C:
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0223F5E8
|
||||
|
||||
thumb_func_start ov17_0223F630
|
||||
ov17_0223F630: ; 0x0223F630
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x3c
|
||||
ldr r5, _0223F6B8 ; =0x022531FC
|
||||
str r2, [sp, #4]
|
||||
str r0, [sp]
|
||||
add r7, r1, #0
|
||||
add r4, sp, #8
|
||||
mov r2, #6
|
||||
_0223F640:
|
||||
ldmia r5!, {r0, r1}
|
||||
stmia r4!, {r0, r1}
|
||||
sub r2, r2, #1
|
||||
bne _0223F640
|
||||
ldr r0, [r5, #0]
|
||||
ldr r5, _0223F6BC ; =0x022531CC
|
||||
str r0, [r4, #0]
|
||||
ldr r0, [sp, #0x50]
|
||||
ldr r4, [sp]
|
||||
str r0, [sp, #0x20]
|
||||
ldr r0, [sp, #0x54]
|
||||
str r3, [sp, #0x1c]
|
||||
str r0, [sp, #0x24]
|
||||
ldr r0, [sp, #0x58]
|
||||
mov r6, #0
|
||||
str r0, [sp, #0x28]
|
||||
ldr r0, [sp, #0x5c]
|
||||
str r0, [sp, #0x14]
|
||||
ldr r0, [sp, #0x60]
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [sp, #0x64]
|
||||
str r0, [sp, #0x34]
|
||||
_0223F66C:
|
||||
ldr r1, [sp, #4]
|
||||
add r0, r7, #0
|
||||
add r2, sp, #8
|
||||
bl sub_0200CE6C
|
||||
str r0, [r4, #0]
|
||||
mov r1, #0
|
||||
mov r2, #2
|
||||
ldrsh r1, [r5, r1]
|
||||
ldrsh r2, [r5, r2]
|
||||
bl sub_0200D4C4
|
||||
ldrb r1, [r5, #6]
|
||||
ldr r0, [r4, #0]
|
||||
bl sub_0200D364
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #1
|
||||
bl sub_0200D6A4
|
||||
ldr r0, [r4, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl sub_0200D324
|
||||
add r6, r6, #1
|
||||
add r4, r4, #4
|
||||
add r5, #8
|
||||
cmp r6, #6
|
||||
blt _0223F66C
|
||||
ldr r0, _0223F6C0 ; =ov17_0223F6E8
|
||||
ldr r1, [sp]
|
||||
ldr r2, [sp, #0x68]
|
||||
bl sub_0200D9E8
|
||||
ldr r1, [sp]
|
||||
str r0, [r1, #0x18]
|
||||
add sp, #0x3c
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_0223F6B8: .word 0x022531FC
|
||||
_0223F6BC: .word 0x022531CC
|
||||
_0223F6C0: .word ov17_0223F6E8
|
||||
thumb_func_end ov17_0223F630
|
||||
|
||||
thumb_func_start ov17_0223F6C4
|
||||
ov17_0223F6C4: ; 0x0223F6C4
|
||||
push {r4, r5, r6, lr}
|
||||
add r6, r0, #0
|
||||
mov r4, #0
|
||||
add r5, r6, #0
|
||||
_0223F6CC:
|
||||
ldr r0, [r5, #0]
|
||||
bl sub_0200D0F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #6
|
||||
blt _0223F6CC
|
||||
ldr r0, [r6, #0x18]
|
||||
bl sub_0200DA58
|
||||
mov r0, #0
|
||||
str r0, [r6, #0x18]
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0223F6C4
|
||||
|
||||
thumb_func_start ov17_0223F6E8
|
||||
ov17_0223F6E8: ; 0x0223F6E8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
ldr r4, _0223F708 ; =0x022531CC
|
||||
add r5, r1, #0
|
||||
mov r6, #0
|
||||
mov r7, #4
|
||||
_0223F6F2:
|
||||
ldrsh r1, [r4, r7]
|
||||
ldr r0, [r5, #0]
|
||||
bl sub_0200D7C0
|
||||
add r6, r6, #1
|
||||
add r4, #8
|
||||
add r5, r5, #4
|
||||
cmp r6, #6
|
||||
blt _0223F6F2
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_0223F708: .word 0x022531CC
|
||||
thumb_func_end ov17_0223F6E8
|
||||
|
||||
thumb_func_start ov17_0223F70C
|
||||
ov17_0223F70C: ; 0x0223F70C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r1, #0
|
||||
mov r1, #0x14
|
||||
add r6, r2, #0
|
||||
add r7, r3, #0
|
||||
bl sub_02018144
|
||||
add r4, r0, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl sub_020C4CF4
|
||||
str r5, [r4, #4]
|
||||
str r6, [r4, #0xc]
|
||||
ldr r0, [sp, #0x18]
|
||||
strb r7, [r4, #0x10]
|
||||
strb r0, [r4, #0x12]
|
||||
ldr r0, _0223F740 ; =ov17_0223F774
|
||||
ldr r2, [sp, #0x1c]
|
||||
add r1, r4, #0
|
||||
bl sub_0200D9E8
|
||||
str r0, [r4, #0]
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_0223F740: .word ov17_0223F774
|
||||
thumb_func_end ov17_0223F70C
|
||||
|
||||
thumb_func_start ov17_0223F744
|
||||
ov17_0223F744: ; 0x0223F744
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
cmp r0, #0
|
||||
bne _0223F752
|
||||
bl sub_02022974
|
||||
_0223F752:
|
||||
ldr r0, [r4, #0]
|
||||
bl sub_0200DA58
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov17_0223F744
|
||||
|
||||
thumb_func_start ov17_0223F760
|
||||
ov17_0223F760: ; 0x0223F760
|
||||
push {r3, lr}
|
||||
mov r0, #1
|
||||
bl sub_0200AC1C
|
||||
cmp r0, #1
|
||||
bne _0223F770
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_0223F770:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov17_0223F760
|
||||
|
||||
thumb_func_start ov17_0223F774
|
||||
ov17_0223F774: ; 0x0223F774
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
mov r0, #1
|
||||
add r4, r1, #0
|
||||
bl sub_0200AC1C
|
||||
cmp r0, #0
|
||||
beq _0223F7DA
|
||||
ldr r0, [r4, #8]
|
||||
add r2, r0, #1
|
||||
str r2, [r4, #8]
|
||||
ldrb r0, [r4, #0x11]
|
||||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #1
|
||||
ldrh r0, [r1, r0]
|
||||
cmp r2, r0
|
||||
ble _0223F7DA
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
mov r0, #6
|
||||
mov r1, #0
|
||||
mov r2, #4
|
||||
mov r3, #0x3f
|
||||
bl sub_0200AAE0
|
||||
ldr r0, _0223F7E0 ; =0x000005F8
|
||||
bl sub_02005748
|
||||
mov r0, #0
|
||||
str r0, [r4, #8]
|
||||
ldrb r0, [r4, #0x11]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x11]
|
||||
ldrb r1, [r4, #0x11]
|
||||
ldrb r0, [r4, #0x10]
|
||||
cmp r1, r0
|
||||
blo _0223F7DA
|
||||
ldrb r0, [r4, #0x12]
|
||||
cmp r0, #0
|
||||
bne _0223F7CE
|
||||
add r0, r4, #0
|
||||
bl ov17_0223F744
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
_0223F7CE:
|
||||
cmp r0, #0xff
|
||||
beq _0223F7D6
|
||||
sub r0, r0, #1
|
||||
strb r0, [r4, #0x12]
|
||||
_0223F7D6:
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0x11]
|
||||
_0223F7DA:
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
nop
|
||||
_0223F7E0: .word 0x000005F8
|
||||
thumb_func_end ov17_0223F774
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov17_022531CC
|
||||
Unk_ov17_022531CC: ; 0x022531CC
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x440, 0x470 - 0x440
|
||||
|
||||
.global Unk_ov17_022531FC
|
||||
Unk_ov17_022531FC: ; 0x022531FC
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x470, 0x34
|
||||
|
||||
.section .sinit, 4
|
||||
.word ov17_0223F118
|
3639
asm/ov17_0223F7E4.s
Normal file
3639
asm/ov17_0223F7E4.s
Normal file
File diff suppressed because it is too large
Load Diff
212
asm/ov17_02241270.s
Normal file
212
asm/ov17_02241270.s
Normal file
@ -0,0 +1,212 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov17_02241270
|
||||
ov17_02241270: ; 0x02241270
|
||||
push {r3, r4, r5, r6, lr}
|
||||
sub sp, #0xc
|
||||
mov r3, #1
|
||||
str r3, [sp]
|
||||
mov r3, #2
|
||||
str r3, [sp, #4]
|
||||
ldr r3, _022412B8 ; =0x000080FB
|
||||
add r5, r0, #0
|
||||
str r3, [sp, #8]
|
||||
mov r3, #0x2a
|
||||
add r4, r1, #0
|
||||
add r6, r2, #0
|
||||
bl sub_0200CC3C
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, _022412BC ; =0x000080F6
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0x2b
|
||||
bl sub_0200CE24
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, _022412BC ; =0x000080F6
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0x2c
|
||||
bl sub_0200CE54
|
||||
add sp, #0xc
|
||||
pop {r3, r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_022412B8: .word 0x000080FB
|
||||
_022412BC: .word 0x000080F6
|
||||
thumb_func_end ov17_02241270
|
||||
|
||||
thumb_func_start ov17_022412C0
|
||||
ov17_022412C0: ; 0x022412C0
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r2, #0
|
||||
ldr r2, _022412EC ; =0x0225364C
|
||||
bl sub_0200CE6C
|
||||
mov r1, #0x58
|
||||
mul r1, r5
|
||||
add r1, #0x28
|
||||
lsl r1, r1, #0x10
|
||||
mov r3, #0x11
|
||||
add r4, r0, #0
|
||||
asr r1, r1, #0x10
|
||||
mov r2, #0x60
|
||||
lsl r3, r3, #0x10
|
||||
bl sub_0200D500
|
||||
ldr r0, [r4, #0]
|
||||
bl sub_0200D324
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_022412EC: .word 0x0225364C
|
||||
thumb_func_end ov17_022412C0
|
||||
|
||||
thumb_func_start ov17_022412F0
|
||||
ov17_022412F0: ; 0x022412F0
|
||||
push {r4, lr}
|
||||
ldr r1, _0224130C ; =0x000080FB
|
||||
add r4, r0, #0
|
||||
bl sub_0200D070
|
||||
ldr r1, _02241310 ; =0x000080F6
|
||||
add r0, r4, #0
|
||||
bl sub_0200D090
|
||||
ldr r1, _02241310 ; =0x000080F6
|
||||
add r0, r4, #0
|
||||
bl sub_0200D0A0
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_0224130C: .word 0x000080FB
|
||||
_02241310: .word 0x000080F6
|
||||
thumb_func_end ov17_022412F0
|
||||
|
||||
thumb_func_start ov17_02241314
|
||||
ov17_02241314: ; 0x02241314
|
||||
ldr r3, _02241318 ; =sub_0200D0F4
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02241318: .word sub_0200D0F4
|
||||
thumb_func_end ov17_02241314
|
||||
|
||||
thumb_func_start ov17_0224131C
|
||||
ov17_0224131C: ; 0x0224131C
|
||||
push {r3, r4, r5, r6, lr}
|
||||
sub sp, #0xc
|
||||
mov r3, #1
|
||||
str r3, [sp]
|
||||
mov r3, #2
|
||||
str r3, [sp, #4]
|
||||
ldr r3, _02241364 ; =0x000080FA
|
||||
add r5, r0, #0
|
||||
str r3, [sp, #8]
|
||||
mov r3, #0x2d
|
||||
add r4, r1, #0
|
||||
add r6, r2, #0
|
||||
bl sub_0200CC3C
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, _02241368 ; =0x000080F5
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0x2e
|
||||
bl sub_0200CE24
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, _02241368 ; =0x000080F5
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0x2f
|
||||
bl sub_0200CE54
|
||||
add sp, #0xc
|
||||
pop {r3, r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_02241364: .word 0x000080FA
|
||||
_02241368: .word 0x000080F5
|
||||
thumb_func_end ov17_0224131C
|
||||
|
||||
thumb_func_start ov17_0224136C
|
||||
ov17_0224136C: ; 0x0224136C
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r2, #0
|
||||
ldr r2, [sp, #0x10]
|
||||
add r6, r3, #0
|
||||
cmp r2, #0
|
||||
blt _02241380
|
||||
ldr r2, _022413A4 ; =0x02253618
|
||||
bl sub_0200CE6C
|
||||
b _02241386
|
||||
_02241380:
|
||||
ldr r2, _022413A8 ; =0x02253680
|
||||
bl sub_0200CE6C
|
||||
_02241386:
|
||||
add r4, r0, #0
|
||||
lsl r1, r5, #0x10
|
||||
lsl r2, r6, #0x10
|
||||
mov r3, #0x11
|
||||
add r0, r4, #0
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
lsl r3, r3, #0x10
|
||||
bl sub_0200D500
|
||||
ldr r0, [r4, #0]
|
||||
bl sub_0200D324
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_022413A4: .word 0x02253618
|
||||
_022413A8: .word 0x02253680
|
||||
thumb_func_end ov17_0224136C
|
||||
|
||||
thumb_func_start ov17_022413AC
|
||||
ov17_022413AC: ; 0x022413AC
|
||||
ldr r3, _022413B0 ; =sub_0200D0F4
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_022413B0: .word sub_0200D0F4
|
||||
thumb_func_end ov17_022413AC
|
||||
|
||||
thumb_func_start ov17_022413B4
|
||||
ov17_022413B4: ; 0x022413B4
|
||||
push {r4, lr}
|
||||
ldr r1, _022413D0 ; =0x000080FA
|
||||
add r4, r0, #0
|
||||
bl sub_0200D070
|
||||
ldr r1, _022413D4 ; =0x000080F5
|
||||
add r0, r4, #0
|
||||
bl sub_0200D090
|
||||
ldr r1, _022413D4 ; =0x000080F5
|
||||
add r0, r4, #0
|
||||
bl sub_0200D0A0
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_022413D0: .word 0x000080FA
|
||||
_022413D4: .word 0x000080F5
|
||||
thumb_func_end ov17_022413B4
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov17_02253618
|
||||
Unk_ov17_02253618: ; 0x02253618
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x88C, 0x8C0 - 0x88C
|
||||
|
||||
.global Unk_ov17_0225364C
|
||||
Unk_ov17_0225364C: ; 0x0225364C
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x8C0, 0x8F4 - 0x8C0
|
||||
|
||||
.global Unk_ov17_02253680
|
||||
Unk_ov17_02253680: ; 0x02253680
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x8F4, 0x34
|
||||
|
5148
asm/ov17_022413D8.s
Normal file
5148
asm/ov17_022413D8.s
Normal file
File diff suppressed because it is too large
Load Diff
243
asm/ov17_02243AC4.s
Normal file
243
asm/ov17_02243AC4.s
Normal file
@ -0,0 +1,243 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov17_02243AC4
|
||||
ov17_02243AC4: ; 0x02243AC4
|
||||
push {r3, r4}
|
||||
add r1, r0, r1
|
||||
ldrb r4, [r1, #0xe]
|
||||
mov r3, #0
|
||||
add r2, r3, #0
|
||||
_02243ACE:
|
||||
add r1, r0, r2
|
||||
ldrb r1, [r1, #0xe]
|
||||
cmp r1, r4
|
||||
bne _02243AD8
|
||||
add r3, r3, #1
|
||||
_02243AD8:
|
||||
add r2, r2, #1
|
||||
cmp r2, #4
|
||||
blt _02243ACE
|
||||
sub r0, r3, #1
|
||||
pop {r3, r4}
|
||||
bx lr
|
||||
thumb_func_end ov17_02243AC4
|
||||
|
||||
thumb_func_start ov17_02243AE4
|
||||
ov17_02243AE4: ; 0x02243AE4
|
||||
ldr r1, _02243AEC ; =0x022539AC
|
||||
ldrb r0, [r1, r0]
|
||||
bx lr
|
||||
nop
|
||||
_02243AEC: .word 0x022539AC
|
||||
thumb_func_end ov17_02243AE4
|
||||
|
||||
thumb_func_start ov17_02243AF0
|
||||
ov17_02243AF0: ; 0x02243AF0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r0, r1, #0
|
||||
mov r1, #0xb
|
||||
bl sub_020790C4
|
||||
lsl r1, r4, #2
|
||||
add r2, r4, r1
|
||||
ldr r1, _02243B08 ; =0x022539C8
|
||||
add r1, r1, r2
|
||||
ldrsb r0, [r0, r1]
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_02243B08: .word 0x022539C8
|
||||
thumb_func_end ov17_02243AF0
|
||||
|
||||
thumb_func_start ov17_02243B0C
|
||||
ov17_02243B0C: ; 0x02243B0C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
mov r3, #0
|
||||
mov lr, r0
|
||||
add r2, sp, #8
|
||||
add r1, sp, #4
|
||||
add r7, r3, #0
|
||||
add r0, sp, #0
|
||||
mov r6, #0x1a
|
||||
b _02243B46
|
||||
_02243B20:
|
||||
lsl r4, r3, #1
|
||||
mov r5, lr
|
||||
add r5, r5, r4
|
||||
ldrsh r5, [r5, r6]
|
||||
strb r3, [r1, r3]
|
||||
strh r5, [r2, r4]
|
||||
add r4, r7, #0
|
||||
b _02243B40
|
||||
_02243B30:
|
||||
mov r5, lr
|
||||
add r5, r5, r4
|
||||
ldrb r5, [r5, #1]
|
||||
cmp r3, r5
|
||||
bne _02243B3E
|
||||
strb r4, [r0, r3]
|
||||
b _02243B44
|
||||
_02243B3E:
|
||||
add r4, r4, #1
|
||||
_02243B40:
|
||||
cmp r4, #4
|
||||
blt _02243B30
|
||||
_02243B44:
|
||||
add r3, r3, #1
|
||||
_02243B46:
|
||||
cmp r3, #4
|
||||
blt _02243B20
|
||||
mov r3, #0
|
||||
ldr r6, _02243C1C ; =0x022539B8
|
||||
add r1, sp, #8
|
||||
ldr r0, _02243C20 ; =0x022539B0
|
||||
ldr r2, _02243C24 ; =0x022539C0
|
||||
mov r7, #0x2c
|
||||
b _02243BA8
|
||||
_02243B58:
|
||||
add r5, r3, #0
|
||||
mul r5, r7
|
||||
mov r4, lr
|
||||
add r4, r4, r5
|
||||
ldr r4, [r4, #0x58]
|
||||
lsl r5, r4, #0x1a
|
||||
lsr r5, r5, #0x1e
|
||||
cmp r5, #3
|
||||
bhi _02243BA6
|
||||
add r5, r5, r5
|
||||
add r5, pc
|
||||
ldrh r5, [r5, #6]
|
||||
lsl r5, r5, #0x10
|
||||
asr r5, r5, #0x10
|
||||
add pc, r5
|
||||
_02243B76: ; jump table
|
||||
.short _02243BA6 - _02243B76 - 2 ; case 0
|
||||
.short _02243B7E - _02243B76 - 2 ; case 1
|
||||
.short _02243B8C - _02243B76 - 2 ; case 2
|
||||
.short _02243B9A - _02243B76 - 2 ; case 3
|
||||
_02243B7E:
|
||||
lsl r4, r4, #0x18
|
||||
lsr r4, r4, #0x1e
|
||||
lsl r4, r4, #1
|
||||
ldrsh r5, [r2, r4]
|
||||
lsl r4, r3, #1
|
||||
strh r5, [r1, r4]
|
||||
b _02243BA6
|
||||
_02243B8C:
|
||||
lsl r4, r4, #0x18
|
||||
lsr r4, r4, #0x1e
|
||||
lsl r4, r4, #1
|
||||
ldrsh r5, [r0, r4]
|
||||
lsl r4, r3, #1
|
||||
strh r5, [r1, r4]
|
||||
b _02243BA6
|
||||
_02243B9A:
|
||||
lsl r4, r4, #0x18
|
||||
lsr r4, r4, #0x1e
|
||||
lsl r4, r4, #1
|
||||
ldrsh r5, [r6, r4]
|
||||
lsl r4, r3, #1
|
||||
strh r5, [r1, r4]
|
||||
_02243BA6:
|
||||
add r3, r3, #1
|
||||
_02243BA8:
|
||||
cmp r3, #4
|
||||
blt _02243B58
|
||||
mov r3, #0
|
||||
b _02243BFE
|
||||
_02243BB0:
|
||||
mov r4, #3
|
||||
add r2, sp, #8
|
||||
add r7, sp, #0
|
||||
b _02243BF8
|
||||
_02243BB8:
|
||||
sub r1, r4, #1
|
||||
lsl r0, r1, #1
|
||||
lsl r5, r4, #1
|
||||
ldrsh r0, [r2, r0]
|
||||
ldrsh r5, [r2, r5]
|
||||
cmp r0, r5
|
||||
bgt _02243BD2
|
||||
cmp r0, r5
|
||||
bne _02243BF6
|
||||
ldrb r1, [r7, r1]
|
||||
ldrb r0, [r7, r4]
|
||||
cmp r1, r0
|
||||
bhs _02243BF6
|
||||
_02243BD2:
|
||||
sub r0, r4, #1
|
||||
lsl r1, r4, #1
|
||||
lsl r5, r0, #1
|
||||
mov ip, r5
|
||||
ldrsh r6, [r2, r1]
|
||||
ldrsh r5, [r2, r5]
|
||||
strh r5, [r2, r1]
|
||||
mov r1, ip
|
||||
strh r6, [r2, r1]
|
||||
add r1, sp, #4
|
||||
ldrb r6, [r1, r4]
|
||||
ldrb r5, [r1, r0]
|
||||
strb r5, [r1, r4]
|
||||
strb r6, [r1, r0]
|
||||
ldrb r5, [r7, r4]
|
||||
ldrb r1, [r7, r0]
|
||||
strb r1, [r7, r4]
|
||||
strb r5, [r7, r0]
|
||||
_02243BF6:
|
||||
sub r4, r4, #1
|
||||
_02243BF8:
|
||||
cmp r4, r3
|
||||
bgt _02243BB8
|
||||
add r3, r3, #1
|
||||
_02243BFE:
|
||||
cmp r3, #3
|
||||
blt _02243BB0
|
||||
mov r3, #0
|
||||
add r2, sp, #4
|
||||
b _02243C12
|
||||
_02243C08:
|
||||
ldrb r1, [r2, r3]
|
||||
mov r0, lr
|
||||
add r0, r0, r3
|
||||
strb r1, [r0, #1]
|
||||
add r3, r3, #1
|
||||
_02243C12:
|
||||
cmp r3, #4
|
||||
blt _02243C08
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02243C1C: .word 0x022539B8
|
||||
_02243C20: .word 0x022539B0
|
||||
_02243C24: .word 0x022539C0
|
||||
thumb_func_end ov17_02243B0C
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov17_022539AC
|
||||
Unk_ov17_022539AC: ; 0x022539AC
|
||||
.incbin "incbin/overlay17_rodata.bin", 0xC20, 0xC24 - 0xC20
|
||||
|
||||
.global Unk_ov17_022539B0
|
||||
Unk_ov17_022539B0: ; 0x022539B0
|
||||
.incbin "incbin/overlay17_rodata.bin", 0xC24, 0xC2C - 0xC24
|
||||
|
||||
.global Unk_ov17_022539B8
|
||||
Unk_ov17_022539B8: ; 0x022539B8
|
||||
.incbin "incbin/overlay17_rodata.bin", 0xC2C, 0xC34 - 0xC2C
|
||||
|
||||
.global Unk_ov17_022539C0
|
||||
Unk_ov17_022539C0: ; 0x022539C0
|
||||
.incbin "incbin/overlay17_rodata.bin", 0xC34, 0xC3C - 0xC34
|
||||
|
||||
.global Unk_ov17_022539C8
|
||||
Unk_ov17_022539C8: ; 0x022539C8
|
||||
.incbin "incbin/overlay17_rodata.bin", 0xC3C, 0x19
|
||||
|
4716
asm/ov17_02243C28.s
Normal file
4716
asm/ov17_02243C28.s
Normal file
File diff suppressed because it is too large
Load Diff
2202
asm/ov17_02245F14.s
Normal file
2202
asm/ov17_02245F14.s
Normal file
File diff suppressed because it is too large
Load Diff
1299
asm/ov17_02246ECC.s
Normal file
1299
asm/ov17_02246ECC.s
Normal file
File diff suppressed because it is too large
Load Diff
459
asm/ov17_022476F8.s
Normal file
459
asm/ov17_022476F8.s
Normal file
@ -0,0 +1,459 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov17_022476F8
|
||||
ov17_022476F8: ; 0x022476F8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
lsl r0, r4, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #8]
|
||||
cmp r0, #0
|
||||
bne _02247718
|
||||
lsl r0, r4, #4
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x48]
|
||||
cmp r0, #0
|
||||
beq _02247732
|
||||
bl sub_02022974
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02247718:
|
||||
bl sub_02007DC8
|
||||
add r6, r5, #0
|
||||
add r6, #0x48
|
||||
lsl r7, r4, #4
|
||||
ldr r0, [r6, r7]
|
||||
bl sub_020181C4
|
||||
lsl r0, r4, #2
|
||||
mov r1, #0
|
||||
add r0, r5, r0
|
||||
str r1, [r0, #8]
|
||||
str r1, [r6, r7]
|
||||
_02247732:
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov17_022476F8
|
||||
|
||||
thumb_func_start ov17_02247734
|
||||
ov17_02247734: ; 0x02247734
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
mov r4, #0
|
||||
_0224773A:
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl ov17_022476F8
|
||||
add r4, r4, #1
|
||||
cmp r4, #4
|
||||
blt _0224773A
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_02247734
|
||||
|
||||
thumb_func_start ov17_0224774C
|
||||
ov17_0224774C: ; 0x0224774C
|
||||
push {r3, r4, r5, r6, lr}
|
||||
sub sp, #0xc
|
||||
mov r3, #1
|
||||
str r3, [sp]
|
||||
mov r3, #2
|
||||
str r3, [sp, #4]
|
||||
ldr r3, _02247794 ; =0x000080EA
|
||||
add r5, r0, #0
|
||||
str r3, [sp, #8]
|
||||
mov r3, #0x43
|
||||
add r4, r1, #0
|
||||
add r6, r2, #0
|
||||
bl sub_0200CC3C
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, _02247794 ; =0x000080EA
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0x44
|
||||
bl sub_0200CE24
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, _02247794 ; =0x000080EA
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
mov r3, #0x45
|
||||
bl sub_0200CE54
|
||||
add sp, #0xc
|
||||
pop {r3, r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_02247794: .word 0x000080EA
|
||||
thumb_func_end ov17_0224774C
|
||||
|
||||
thumb_func_start ov17_02247798
|
||||
ov17_02247798: ; 0x02247798
|
||||
push {r4, lr}
|
||||
ldr r1, _022477B4 ; =0x000080EA
|
||||
add r4, r0, #0
|
||||
bl sub_0200D070
|
||||
ldr r1, _022477B4 ; =0x000080EA
|
||||
add r0, r4, #0
|
||||
bl sub_0200D090
|
||||
ldr r1, _022477B4 ; =0x000080EA
|
||||
add r0, r4, #0
|
||||
bl sub_0200D0A0
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_022477B4: .word 0x000080EA
|
||||
thumb_func_end ov17_02247798
|
||||
|
||||
thumb_func_start ov17_022477B8
|
||||
ov17_022477B8: ; 0x022477B8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
mov r0, #0x16
|
||||
mov r1, #0x18
|
||||
add r7, r2, #0
|
||||
bl sub_02018144
|
||||
mov r1, #0
|
||||
mov r2, #0x18
|
||||
add r4, r0, #0
|
||||
bl sub_020C4CF4
|
||||
ldr r0, [r5, #0x28]
|
||||
ldr r1, [r5, #0x2c]
|
||||
ldr r2, _0224782C ; =0x022543F8
|
||||
bl sub_0200CE6C
|
||||
lsl r1, r6, #0x10
|
||||
lsl r2, r7, #0x10
|
||||
mov r3, #1
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
lsl r3, r3, #0x14
|
||||
str r0, [r4, #4]
|
||||
bl sub_0200D500
|
||||
ldr r0, [sp, #0x18]
|
||||
cmp r0, #1
|
||||
bne _022477FC
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl sub_0200D364
|
||||
_022477FC:
|
||||
ldr r0, [r4, #4]
|
||||
ldr r0, [r0, #0]
|
||||
bl sub_0200D324
|
||||
lsl r0, r6, #8
|
||||
str r0, [r4, #8]
|
||||
lsl r0, r7, #8
|
||||
str r0, [r4, #0xc]
|
||||
ldr r0, _02247830 ; =0x000004F9
|
||||
ldr r2, _02247834 ; =0x0000C350
|
||||
add r1, r5, r0
|
||||
str r1, [r4, #0]
|
||||
ldrb r0, [r1]
|
||||
add r0, r0, #1
|
||||
strb r0, [r1]
|
||||
ldr r0, _02247838 ; =ov17_02247840
|
||||
add r1, r4, #0
|
||||
bl sub_0200D9E8
|
||||
ldr r0, _0224783C ; =0x000006E1
|
||||
bl sub_02005748
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_0224782C: .word 0x022543F8
|
||||
_02247830: .word 0x000004F9
|
||||
_02247834: .word 0x0000C350
|
||||
_02247838: .word ov17_02247840
|
||||
_0224783C: .word 0x000006E1
|
||||
thumb_func_end ov17_022477B8
|
||||
|
||||
thumb_func_start ov17_02247840
|
||||
ov17_02247840: ; 0x02247840
|
||||
push {r4, r5, r6, lr}
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldrb r0, [r4, #0x14]
|
||||
cmp r0, #0
|
||||
bne _022478AE
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_0201D2B8
|
||||
lsl r1, r0, #3
|
||||
asr r0, r1, #0xb
|
||||
lsr r0, r0, #0x14
|
||||
add r0, r1, r0
|
||||
asr r5, r0, #0xc
|
||||
mov r0, #6
|
||||
mov r3, #1
|
||||
ldr r1, [r4, #0x10]
|
||||
lsl r0, r0, #0xc
|
||||
add r0, r1, r0
|
||||
str r0, [r4, #0x10]
|
||||
ldr r0, [r4, #0xc]
|
||||
lsl r3, r3, #8
|
||||
sub r2, r0, r3
|
||||
str r2, [r4, #0xc]
|
||||
ldr r1, [r4, #8]
|
||||
ldr r0, [r4, #4]
|
||||
asr r6, r1, #7
|
||||
lsr r6, r6, #0x18
|
||||
add r6, r1, r6
|
||||
asr r1, r6, #8
|
||||
add r1, r1, r5
|
||||
asr r5, r2, #7
|
||||
lsr r5, r5, #0x18
|
||||
add r5, r2, r5
|
||||
lsl r1, r1, #0x10
|
||||
lsl r2, r5, #8
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
lsl r3, r3, #0xc
|
||||
bl sub_0200D500
|
||||
ldrh r0, [r4, #0x16]
|
||||
add r0, r0, #1
|
||||
strh r0, [r4, #0x16]
|
||||
ldrh r0, [r4, #0x16]
|
||||
cmp r0, #0x3c
|
||||
bhs _022478A6
|
||||
ldr r1, [r4, #0xc]
|
||||
ldr r0, _022478CC ; =0xFFFFE000
|
||||
cmp r1, r0
|
||||
bgt _022478C8
|
||||
_022478A6:
|
||||
ldrb r0, [r4, #0x14]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x14]
|
||||
pop {r4, r5, r6, pc}
|
||||
_022478AE:
|
||||
ldr r0, [r4, #4]
|
||||
bl sub_0200D0F4
|
||||
ldr r1, [r4, #0]
|
||||
ldrb r0, [r1]
|
||||
sub r0, r0, #1
|
||||
strb r0, [r1]
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
add r0, r5, #0
|
||||
bl sub_0200DA58
|
||||
_022478C8:
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
_022478CC: .word 0xFFFFE000
|
||||
thumb_func_end ov17_02247840
|
||||
|
||||
thumb_func_start ov17_022478D0
|
||||
ov17_022478D0: ; 0x022478D0
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x20
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x24]
|
||||
add r4, r1, #0
|
||||
cmp r0, #0
|
||||
beq _022478E2
|
||||
bl sub_02022974
|
||||
_022478E2:
|
||||
mov r1, #0x30
|
||||
ldr r2, [r5, #0]
|
||||
mul r1, r4
|
||||
add r1, r2, r1
|
||||
ldrh r1, [r1, #0x1a]
|
||||
add r0, sp, #0x10
|
||||
bl sub_0207697C
|
||||
ldr r0, _02247914 ; =0xFFFFFDC0
|
||||
mov r2, #5
|
||||
str r0, [sp]
|
||||
mov r0, #3
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [r5, #0x10]
|
||||
add r1, sp, #0x10
|
||||
lsl r2, r2, #6
|
||||
mov r3, #0x20
|
||||
bl sub_02007C34
|
||||
str r0, [r5, #0x24]
|
||||
add sp, #0x20
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_02247914: .word 0xFFFFFDC0
|
||||
thumb_func_end ov17_022478D0
|
||||
|
||||
thumb_func_start ov17_02247918
|
||||
ov17_02247918: ; 0x02247918
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x24]
|
||||
cmp r0, #0
|
||||
beq _0224792A
|
||||
bl sub_02007DC8
|
||||
mov r0, #0
|
||||
str r0, [r4, #0x24]
|
||||
_0224792A:
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov17_02247918
|
||||
|
||||
thumb_func_start ov17_0224792C
|
||||
ov17_0224792C: ; 0x0224792C
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
add r6, r2, #0
|
||||
cmp r4, #0
|
||||
beq _02247942
|
||||
cmp r6, #0
|
||||
bne _02247942
|
||||
bl sub_02022974
|
||||
_02247942:
|
||||
cmp r4, #0
|
||||
beq _0224798C
|
||||
cmp r4, #1
|
||||
bne _02247988
|
||||
ldrb r4, [r6]
|
||||
ldr r3, [r5, #0]
|
||||
mov r0, #1
|
||||
lsl r2, r4, #2
|
||||
str r0, [sp]
|
||||
mov r0, #2
|
||||
add r2, r3, r2
|
||||
add r4, r3, r4
|
||||
mov r3, #0x42
|
||||
str r0, [sp, #4]
|
||||
lsl r3, r3, #2
|
||||
add r2, #0xe8
|
||||
ldrb r3, [r4, r3]
|
||||
ldr r0, [r5, #0x48]
|
||||
ldr r2, [r2, #0]
|
||||
mov r1, #0
|
||||
bl sub_0200B48C
|
||||
ldrb r0, [r6]
|
||||
ldr r1, [r5, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_02076B10
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5, #0x48]
|
||||
mov r1, #1
|
||||
bl sub_0200B5CC
|
||||
add sp, #8
|
||||
pop {r4, r5, r6, pc}
|
||||
_02247988:
|
||||
bl sub_02022974
|
||||
_0224798C:
|
||||
add sp, #8
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov17_0224792C
|
||||
|
||||
thumb_func_start ov17_02247990
|
||||
ov17_02247990: ; 0x02247990
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
ldr r1, [r5, #0]
|
||||
ldr r0, _02247A00 ; =0x00000171
|
||||
add r7, r2, #0
|
||||
ldrb r0, [r1, r0]
|
||||
str r3, [sp, #0xc]
|
||||
cmp r0, #0
|
||||
bne _022479B2
|
||||
ldr r0, _02247A04 ; =0x00001988
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_02027AC0
|
||||
add r4, r0, #0
|
||||
b _022479B4
|
||||
_022479B2:
|
||||
mov r4, #1
|
||||
_022479B4:
|
||||
add r0, r6, #0
|
||||
add r1, r7, #0
|
||||
bl sub_0200B1EC
|
||||
add r6, r0, #0
|
||||
ldr r1, [sp, #0xc]
|
||||
ldr r2, [sp, #0x28]
|
||||
add r0, r5, #0
|
||||
bl ov17_0224792C
|
||||
ldr r0, [r5, #0x48]
|
||||
ldr r1, [r5, #0x4c]
|
||||
add r2, r6, #0
|
||||
bl sub_0200C388
|
||||
add r0, r5, #0
|
||||
add r0, #0x34
|
||||
mov r1, #0xff
|
||||
bl sub_0201ADA4
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
str r4, [sp, #4]
|
||||
str r3, [sp, #8]
|
||||
add r0, r5, #0
|
||||
ldr r2, [r5, #0x4c]
|
||||
add r0, #0x34
|
||||
mov r1, #1
|
||||
bl sub_0201D738
|
||||
add r5, #0xd0
|
||||
strb r0, [r5]
|
||||
add r0, r6, #0
|
||||
bl sub_020237BC
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02247A00: .word 0x00000171
|
||||
_02247A04: .word 0x00001988
|
||||
thumb_func_end ov17_02247990
|
||||
|
||||
thumb_func_start ov17_02247A08
|
||||
ov17_02247A08: ; 0x02247A08
|
||||
push {r3, r4, r5, r6, lr}
|
||||
sub sp, #4
|
||||
add r5, r1, #0
|
||||
add r6, r0, #0
|
||||
add r4, r2, #0
|
||||
cmp r5, #0xf
|
||||
blo _02247A1A
|
||||
bl sub_02022974
|
||||
_02247A1A:
|
||||
str r4, [sp]
|
||||
ldr r2, _02247A34 ; =0x0225442C
|
||||
lsl r3, r5, #2
|
||||
ldr r4, _02247A38 ; =0x0225442E
|
||||
ldrh r2, [r2, r3]
|
||||
ldrb r3, [r4, r3]
|
||||
ldr r1, [r6, #0x44]
|
||||
add r0, r6, #0
|
||||
bl ov17_02247990
|
||||
add sp, #4
|
||||
pop {r3, r4, r5, r6, pc}
|
||||
nop
|
||||
_02247A34: .word 0x0225442C
|
||||
_02247A38: .word 0x0225442E
|
||||
thumb_func_end ov17_02247A08
|
||||
|
||||
thumb_func_start ov17_02247A3C
|
||||
ov17_02247A3C: ; 0x02247A3C
|
||||
ldr r3, _02247A44 ; =sub_0201D724
|
||||
add r0, #0xd0
|
||||
ldrb r0, [r0]
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02247A44: .word sub_0201D724
|
||||
thumb_func_end ov17_02247A3C
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov17_022543EC
|
||||
Unk_ov17_022543EC: ; 0x022543EC
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x1660, 0x166C - 0x1660
|
||||
|
||||
.global Unk_ov17_022543F8
|
||||
Unk_ov17_022543F8: ; 0x022543F8
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x166C, 0x16A0 - 0x166C
|
||||
|
||||
.global Unk_ov17_0225442C
|
||||
Unk_ov17_0225442C: ; 0x0225442C
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x16A0, 0x3C
|
||||
|
3264
asm/ov17_02247A48.s
Normal file
3264
asm/ov17_02247A48.s
Normal file
File diff suppressed because it is too large
Load Diff
1876
asm/ov17_022492DC.s
Normal file
1876
asm/ov17_022492DC.s
Normal file
File diff suppressed because it is too large
Load Diff
6276
asm/ov17_0224A0FC.s
Normal file
6276
asm/ov17_0224A0FC.s
Normal file
File diff suppressed because it is too large
Load Diff
3390
asm/ov17_0224CFB8.s
Normal file
3390
asm/ov17_0224CFB8.s
Normal file
File diff suppressed because it is too large
Load Diff
1012
asm/ov17_0224E930.s
Normal file
1012
asm/ov17_0224E930.s
Normal file
File diff suppressed because it is too large
Load Diff
184
asm/ov17_0224F080.s
Normal file
184
asm/ov17_0224F080.s
Normal file
@ -0,0 +1,184 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov17_0224F080
|
||||
ov17_0224F080: ; 0x0224F080
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
cmp r4, #5
|
||||
blo _0224F08C
|
||||
bl sub_02022974
|
||||
_0224F08C:
|
||||
ldr r0, _0224F094 ; =0x02254A90
|
||||
lsl r1, r4, #2
|
||||
ldr r0, [r0, r1]
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_0224F094: .word 0x02254A90
|
||||
thumb_func_end ov17_0224F080
|
||||
|
||||
thumb_func_start ov17_0224F098
|
||||
ov17_0224F098: ; 0x0224F098
|
||||
mov r0, #0x31
|
||||
bx lr
|
||||
thumb_func_end ov17_0224F098
|
||||
|
||||
thumb_func_start ov17_0224F09C
|
||||
ov17_0224F09C: ; 0x0224F09C
|
||||
mov r0, #0x32
|
||||
bx lr
|
||||
thumb_func_end ov17_0224F09C
|
||||
|
||||
thumb_func_start ov17_0224F0A0
|
||||
ov17_0224F0A0: ; 0x0224F0A0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
cmp r4, #5
|
||||
blo _0224F0AC
|
||||
bl sub_02022974
|
||||
_0224F0AC:
|
||||
ldr r0, _0224F0B4 ; =0x02254A88
|
||||
ldrb r0, [r0, r4]
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_0224F0B4: .word 0x02254A88
|
||||
thumb_func_end ov17_0224F0A0
|
||||
|
||||
thumb_func_start ov17_0224F0B8
|
||||
ov17_0224F0B8: ; 0x0224F0B8
|
||||
mov r0, #0x2e
|
||||
bx lr
|
||||
thumb_func_end ov17_0224F0B8
|
||||
|
||||
thumb_func_start ov17_0224F0BC
|
||||
ov17_0224F0BC: ; 0x0224F0BC
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
add r7, r3, #0
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
add r4, r2, #0
|
||||
bl ov17_0224F0B8
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r7, #0
|
||||
bl ov17_0224F080
|
||||
add r3, r0, #0
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x28]
|
||||
str r4, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
ldr r2, [sp, #0xc]
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
bl sub_0200CBDC
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0224F0BC
|
||||
|
||||
thumb_func_start ov17_0224F0F0
|
||||
ov17_0224F0F0: ; 0x0224F0F0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0xc
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
add r6, r2, #0
|
||||
add r7, r3, #0
|
||||
bl ov17_0224F0B8
|
||||
str r0, [sp, #8]
|
||||
bl ov17_0224F098
|
||||
add r3, r0, #0
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r2, [sp, #8]
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
str r6, [sp, #4]
|
||||
bl sub_0200CE0C
|
||||
bl ov17_0224F0B8
|
||||
add r6, r0, #0
|
||||
bl ov17_0224F09C
|
||||
add r3, r0, #0
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
add r2, r6, #0
|
||||
str r7, [sp, #4]
|
||||
bl sub_0200CE3C
|
||||
add sp, #0xc
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov17_0224F0F0
|
||||
|
||||
thumb_func_start ov17_0224F138
|
||||
ov17_0224F138: ; 0x0224F138
|
||||
ldr r3, _0224F13C ; =sub_0200D070
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_0224F13C: .word sub_0200D070
|
||||
thumb_func_end ov17_0224F138
|
||||
|
||||
thumb_func_start ov17_0224F140
|
||||
ov17_0224F140: ; 0x0224F140
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r2, #0
|
||||
bl sub_0200D090
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl sub_0200D0A0
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov17_0224F140
|
||||
|
||||
thumb_func_start ov17_0224F154
|
||||
ov17_0224F154: ; 0x0224F154
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x34
|
||||
add r6, r3, #0
|
||||
add r4, r0, #0
|
||||
add r7, r1, #0
|
||||
add r5, sp, #0
|
||||
mov r3, #6
|
||||
_0224F162:
|
||||
ldmia r6!, {r0, r1}
|
||||
stmia r5!, {r0, r1}
|
||||
sub r3, r3, #1
|
||||
bne _0224F162
|
||||
ldr r0, [r6, #0]
|
||||
str r0, [r5, #0]
|
||||
add r0, r2, #0
|
||||
bl ov17_0224F0A0
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r4, #0
|
||||
add r1, r7, #0
|
||||
add r2, sp, #0
|
||||
bl sub_0200CE6C
|
||||
add sp, #0x34
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov17_0224F154
|
||||
|
||||
thumb_func_start ov17_0224F184
|
||||
ov17_0224F184: ; 0x0224F184
|
||||
ldr r3, _0224F188 ; =sub_0200D0F4
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_0224F188: .word sub_0200D0F4
|
||||
thumb_func_end ov17_0224F184
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov17_02254A88
|
||||
Unk_ov17_02254A88: ; 0x02254A88
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x1CFC, 0x1D04 - 0x1CFC
|
||||
|
||||
.global Unk_ov17_02254A90
|
||||
Unk_ov17_02254A90: ; 0x02254A90
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x1D04, 0x14
|
||||
|
475
asm/ov17_0224F18C.s
Normal file
475
asm/ov17_0224F18C.s
Normal file
@ -0,0 +1,475 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov17_0224F18C
|
||||
ov17_0224F18C: ; 0x0224F18C
|
||||
push {r3, r4, r5, lr}
|
||||
ldr r2, _0224F1B0 ; =0x00000A18
|
||||
add r4, r1, #0
|
||||
mov r1, #0
|
||||
add r5, r0, #0
|
||||
bl sub_020C4CF4
|
||||
ldr r0, [r4, #0]
|
||||
str r0, [r5, #0]
|
||||
ldrh r0, [r4, #4]
|
||||
strh r0, [r5, #4]
|
||||
ldrb r0, [r4, #6]
|
||||
strb r0, [r5, #6]
|
||||
ldrb r0, [r4, #7]
|
||||
strb r0, [r5, #7]
|
||||
ldrb r0, [r4, #8]
|
||||
strb r0, [r5, #8]
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_0224F1B0: .word 0x00000A18
|
||||
thumb_func_end ov17_0224F18C
|
||||
|
||||
thumb_func_start ov17_0224F1B4
|
||||
ov17_0224F1B4: ; 0x0224F1B4
|
||||
push {r3, r4, r5, lr}
|
||||
ldr r5, [r0, #0xc]
|
||||
mov r4, #0
|
||||
mov r2, #1
|
||||
_0224F1BC:
|
||||
add r3, r2, #0
|
||||
lsl r3, r4
|
||||
add r1, r5, #0
|
||||
tst r1, r3
|
||||
bne _0224F1D0
|
||||
ldr r1, [r0, #0xc]
|
||||
orr r1, r3
|
||||
str r1, [r0, #0xc]
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
_0224F1D0:
|
||||
add r4, r4, #1
|
||||
cmp r4, #0x20
|
||||
blt _0224F1BC
|
||||
bl sub_02022974
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0224F1B4
|
||||
|
||||
thumb_func_start ov17_0224F1E0
|
||||
ov17_0224F1E0: ; 0x0224F1E0
|
||||
push {r3, r4}
|
||||
mov r2, #1
|
||||
add r3, r2, #0
|
||||
lsl r3, r1
|
||||
sub r1, r2, #2
|
||||
ldr r4, [r0, #0xc]
|
||||
eor r1, r3
|
||||
and r1, r4
|
||||
str r1, [r0, #0xc]
|
||||
pop {r3, r4}
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0224F1E0
|
||||
|
||||
thumb_func_start ov17_0224F1F8
|
||||
ov17_0224F1F8: ; 0x0224F1F8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
ldr r4, [sp, #0x28]
|
||||
add r5, r0, #0
|
||||
mov r0, #2
|
||||
str r4, [sp, #4]
|
||||
add r4, #8
|
||||
lsl r0, r0, #8
|
||||
add r6, r1, #0
|
||||
add r7, r2, #0
|
||||
str r3, [sp]
|
||||
cmp r4, r0
|
||||
bls _0224F216
|
||||
bl sub_02022974
|
||||
_0224F216:
|
||||
add r0, r5, #0
|
||||
mov r2, #2
|
||||
add r0, #0x10
|
||||
mov r1, #0
|
||||
lsl r2, r2, #8
|
||||
bl sub_020C4CF4
|
||||
add r0, sp, #8
|
||||
strb r6, [r0, #4]
|
||||
strh r7, [r0, #2]
|
||||
add r0, r5, #0
|
||||
bl ov17_0224F1B4
|
||||
add r1, sp, #8
|
||||
strb r0, [r1, #5]
|
||||
mov r0, #0
|
||||
strb r0, [r1, #6]
|
||||
strh r4, [r1]
|
||||
add r1, r5, #0
|
||||
add r0, sp, #8
|
||||
add r1, #0x10
|
||||
mov r2, #8
|
||||
bl sub_020C4B68
|
||||
add r1, r5, #0
|
||||
ldr r0, [sp]
|
||||
ldr r2, [sp, #4]
|
||||
add r1, #0x18
|
||||
bl sub_020C4DB0
|
||||
ldr r0, _0224F268 ; =0x00000A15
|
||||
mov r1, #0
|
||||
strb r1, [r5, r0]
|
||||
mov r1, #1
|
||||
sub r0, r0, #5
|
||||
strb r1, [r5, r0]
|
||||
add r0, sp, #8
|
||||
ldrb r0, [r0, #5]
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_0224F268: .word 0x00000A15
|
||||
thumb_func_end ov17_0224F1F8
|
||||
|
||||
thumb_func_start ov17_0224F26C
|
||||
ov17_0224F26C: ; 0x0224F26C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0xc
|
||||
add r5, r0, #0
|
||||
add r7, r3, #0
|
||||
mov r0, #2
|
||||
add r7, #8
|
||||
lsl r0, r0, #8
|
||||
add r4, r1, #0
|
||||
add r6, r2, #0
|
||||
str r3, [sp]
|
||||
cmp r7, r0
|
||||
bls _0224F288
|
||||
bl sub_02022974
|
||||
_0224F288:
|
||||
add r0, r5, #0
|
||||
mov r2, #2
|
||||
add r0, #0x10
|
||||
mov r1, #0
|
||||
lsl r2, r2, #8
|
||||
bl sub_020C4CF4
|
||||
ldrh r2, [r4]
|
||||
add r1, sp, #4
|
||||
add r0, sp, #4
|
||||
strh r2, [r1]
|
||||
ldrh r2, [r4, #2]
|
||||
strh r2, [r1, #2]
|
||||
ldrh r2, [r4, #4]
|
||||
strh r2, [r1, #4]
|
||||
ldrh r2, [r4, #6]
|
||||
strh r2, [r1, #6]
|
||||
mov r2, #0xfe
|
||||
strb r2, [r1, #4]
|
||||
mov r2, #1
|
||||
strb r2, [r1, #6]
|
||||
strh r7, [r1]
|
||||
add r1, r5, #0
|
||||
add r1, #0x10
|
||||
mov r2, #8
|
||||
bl sub_020C4B68
|
||||
cmp r6, #0
|
||||
beq _0224F2CE
|
||||
add r1, r5, #0
|
||||
ldr r2, [sp]
|
||||
add r0, r6, #0
|
||||
add r1, #0x18
|
||||
bl sub_020C4DB0
|
||||
_0224F2CE:
|
||||
mov r0, #0xa1
|
||||
mov r1, #1
|
||||
lsl r0, r0, #4
|
||||
strb r1, [r5, r0]
|
||||
add sp, #0xc
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0224F26C
|
||||
|
||||
thumb_func_start ov17_0224F2DC
|
||||
ov17_0224F2DC: ; 0x0224F2DC
|
||||
push {r4, r5}
|
||||
lsl r5, r1, #9
|
||||
mov r1, #0x21
|
||||
lsl r1, r1, #4
|
||||
add r4, r0, r1
|
||||
add r1, #8
|
||||
add r4, r4, r5
|
||||
add r0, r0, r1
|
||||
str r4, [r2, #0]
|
||||
add r0, r0, r5
|
||||
str r0, [r3, #0]
|
||||
pop {r4, r5}
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0224F2DC
|
||||
|
||||
thumb_func_start ov17_0224F2F8
|
||||
ov17_0224F2F8: ; 0x0224F2F8
|
||||
mov r1, #0xa1
|
||||
lsl r1, r1, #4
|
||||
ldrb r0, [r0, r1]
|
||||
cmp r0, #1
|
||||
bne _0224F306
|
||||
mov r0, #0
|
||||
bx lr
|
||||
_0224F306:
|
||||
mov r0, #1
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0224F2F8
|
||||
|
||||
thumb_func_start ov17_0224F30C
|
||||
ov17_0224F30C: ; 0x0224F30C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
add r4, r2, #0
|
||||
add r7, r3, #0
|
||||
bl ov17_0224F2F8
|
||||
cmp r0, #0
|
||||
bne _0224F322
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0224F322:
|
||||
ldrh r0, [r5, #4]
|
||||
cmp r4, r0
|
||||
blt _0224F32C
|
||||
bl sub_02022974
|
||||
_0224F32C:
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
mov r6, #0xc
|
||||
ldr r5, [r5, #0]
|
||||
mul r6, r4
|
||||
add r2, r4, #0
|
||||
ldr r4, [r5, r6]
|
||||
add r3, r7, #0
|
||||
blx r4
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_0224F30C
|
||||
|
||||
thumb_func_start ov17_0224F344
|
||||
ov17_0224F344: ; 0x0224F344
|
||||
cmp r0, r2
|
||||
beq _0224F354
|
||||
cmp r2, #0xff
|
||||
beq _0224F354
|
||||
cmp r2, #0xfe
|
||||
bne _0224F358
|
||||
cmp r1, r0
|
||||
bne _0224F358
|
||||
_0224F354:
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0224F358:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end ov17_0224F344
|
||||
|
||||
thumb_func_start ov17_0224F35C
|
||||
ov17_0224F35C: ; 0x0224F35C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r0, #0xa1
|
||||
lsl r0, r0, #4
|
||||
ldrb r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
bne _0224F36E
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
_0224F36E:
|
||||
ldrb r0, [r4, #7]
|
||||
cmp r0, #0
|
||||
bne _0224F3AC
|
||||
ldrb r1, [r4, #6]
|
||||
mov r2, #0x21
|
||||
lsl r2, r2, #4
|
||||
add r0, r4, #0
|
||||
add r3, r4, r2
|
||||
lsl r1, r1, #9
|
||||
add r0, #0x10
|
||||
add r1, r3, r1
|
||||
sub r2, #0x10
|
||||
bl sub_020C4DB0
|
||||
ldrb r0, [r4, #6]
|
||||
mov r2, #1
|
||||
add r1, r4, r0
|
||||
ldr r0, _0224F3CC ; =0x00000A11
|
||||
strb r2, [r1, r0]
|
||||
add r0, r4, #0
|
||||
add r0, #0x10
|
||||
mov r1, #0
|
||||
lsl r2, r2, #9
|
||||
bl sub_020C4CF4
|
||||
mov r0, #0xa1
|
||||
mov r1, #0
|
||||
lsl r0, r0, #4
|
||||
strb r1, [r4, r0]
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_0224F3AC:
|
||||
ldrh r2, [r4, #0x10]
|
||||
add r1, r4, #0
|
||||
mov r0, #0x18
|
||||
add r1, #0x10
|
||||
bl sub_0203597C
|
||||
cmp r0, #1
|
||||
bne _0224F3C8
|
||||
mov r0, #0xa1
|
||||
mov r1, #0
|
||||
lsl r0, r0, #4
|
||||
strb r1, [r4, r0]
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_0224F3C8:
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_0224F3CC: .word 0x00000A11
|
||||
thumb_func_end ov17_0224F35C
|
||||
|
||||
thumb_func_start ov17_0224F3D0
|
||||
ov17_0224F3D0: ; 0x0224F3D0
|
||||
mov r1, #0xa1
|
||||
lsl r1, r1, #4
|
||||
ldrb r0, [r0, r1]
|
||||
bx lr
|
||||
thumb_func_end ov17_0224F3D0
|
||||
|
||||
thumb_func_start ov17_0224F3D8
|
||||
ov17_0224F3D8: ; 0x0224F3D8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x28
|
||||
add r7, r0, #0
|
||||
add r4, r1, #0
|
||||
add r0, sp, #0x18
|
||||
mov r1, #0
|
||||
mov r2, #0x10
|
||||
bl sub_020C4CF4
|
||||
ldr r0, _0224F4B0 ; =0x00000A11
|
||||
mov r6, #0
|
||||
_0224F3EE:
|
||||
add r1, r7, r6
|
||||
ldrb r1, [r1, r0]
|
||||
cmp r1, #1
|
||||
bne _0224F4A2
|
||||
add r0, r7, #0
|
||||
add r1, r6, #0
|
||||
add r2, sp, #0x14
|
||||
add r3, sp, #0x10
|
||||
bl ov17_0224F2DC
|
||||
ldr r2, [sp, #0x14]
|
||||
ldrb r0, [r7, #6]
|
||||
ldrb r1, [r7, #8]
|
||||
ldrb r2, [r2, #4]
|
||||
bl ov17_0224F344
|
||||
cmp r0, #1
|
||||
bne _0224F484
|
||||
ldr r2, [sp, #0x14]
|
||||
ldrh r1, [r7, #4]
|
||||
ldrh r0, [r2, #2]
|
||||
str r0, [sp, #8]
|
||||
cmp r0, r1
|
||||
bhs _0224F484
|
||||
ldrb r0, [r2, #6]
|
||||
cmp r0, #0
|
||||
bne _0224F43E
|
||||
add r1, r4, #0
|
||||
ldr r4, [r7, #0]
|
||||
ldr r5, [sp, #8]
|
||||
str r4, [sp, #4]
|
||||
mov r4, #0xc
|
||||
mul r4, r5
|
||||
ldr r5, [sp, #4]
|
||||
ldr r3, [sp, #0x10]
|
||||
add r4, r5, r4
|
||||
ldr r4, [r4, #4]
|
||||
add r0, r7, #0
|
||||
blx r4
|
||||
b _0224F484
|
||||
_0224F43E:
|
||||
ldr r1, [sp, #8]
|
||||
mov r3, #0xc
|
||||
ldr r0, [r7, #0]
|
||||
mul r3, r1
|
||||
add r0, r0, r3
|
||||
ldr r0, [r0, #8]
|
||||
cmp r0, #0
|
||||
beq _0224F472
|
||||
ldr r1, [sp, #0x10]
|
||||
lsl r0, r6, #2
|
||||
add r3, sp, #0x18
|
||||
str r1, [r3, r0]
|
||||
str r6, [sp]
|
||||
add r1, r4, #0
|
||||
ldr r4, [r7, #0]
|
||||
mov r5, #0xc
|
||||
mov ip, r4
|
||||
ldrh r4, [r2, #2]
|
||||
add r0, r7, #0
|
||||
mul r5, r4
|
||||
str r5, [sp, #0xc]
|
||||
ldr r4, [sp, #0xc]
|
||||
mov r5, ip
|
||||
add r4, r5, r4
|
||||
ldr r4, [r4, #8]
|
||||
blx r4
|
||||
_0224F472:
|
||||
ldr r1, [sp, #0x14]
|
||||
add r0, r7, #0
|
||||
ldrb r1, [r1, #5]
|
||||
bl ov17_0224F1E0
|
||||
ldr r0, _0224F4B4 ; =0x00000A15
|
||||
ldrb r1, [r7, r0]
|
||||
add r1, r1, #1
|
||||
strb r1, [r7, r0]
|
||||
_0224F484:
|
||||
ldr r0, _0224F4B0 ; =0x00000A11
|
||||
mov r1, #0
|
||||
add r2, r7, r6
|
||||
strb r1, [r2, r0]
|
||||
mov r2, #0x21
|
||||
lsl r2, r2, #4
|
||||
add r3, r7, r2
|
||||
lsl r0, r6, #9
|
||||
add r0, r3, r0
|
||||
sub r2, #0x10
|
||||
bl sub_020C4CF4
|
||||
add sp, #0x28
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0224F4A2:
|
||||
add r6, r6, #1
|
||||
cmp r6, #4
|
||||
blt _0224F3EE
|
||||
mov r0, #0
|
||||
add sp, #0x28
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_0224F4B0: .word 0x00000A11
|
||||
_0224F4B4: .word 0x00000A15
|
||||
thumb_func_end ov17_0224F3D8
|
||||
|
||||
thumb_func_start ov17_0224F4B8
|
||||
ov17_0224F4B8: ; 0x0224F4B8
|
||||
cmp r2, r3
|
||||
beq _0224F4C0
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0224F4C0:
|
||||
ldr r2, _0224F4D0 ; =0x00000A15
|
||||
ldrb r0, [r0, r2]
|
||||
cmp r0, r1
|
||||
blt _0224F4CC
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0224F4CC:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_0224F4D0: .word 0x00000A15
|
||||
thumb_func_end ov17_0224F4B8
|
2333
asm/ov17_0224F4D4.s
Normal file
2333
asm/ov17_0224F4D4.s
Normal file
File diff suppressed because it is too large
Load Diff
2889
asm/ov17_02250744.s
Normal file
2889
asm/ov17_02250744.s
Normal file
File diff suppressed because it is too large
Load Diff
1775
asm/ov17_02251D6C.s
Normal file
1775
asm/ov17_02251D6C.s
Normal file
File diff suppressed because it is too large
Load Diff
46
asm/ov17_02252A70.s
Normal file
46
asm/ov17_02252A70.s
Normal file
@ -0,0 +1,46 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov17_02252A70
|
||||
ov17_02252A70: ; 0x02252A70
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
mov r6, #0
|
||||
add r5, r0, #0
|
||||
add r7, r1, #0
|
||||
add r4, r6, #0
|
||||
_02252A7A:
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl sub_0202A488
|
||||
cmp r0, #1
|
||||
bne _02252A92
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl sub_0202A580
|
||||
ldrb r0, [r7, r0]
|
||||
add r6, r6, r0
|
||||
_02252A92:
|
||||
add r4, r4, #1
|
||||
cmp r4, #0x14
|
||||
blt _02252A7A
|
||||
add r0, r6, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov17_02252A70
|
||||
|
||||
thumb_func_start ov17_02252A9C
|
||||
ov17_02252A9C: ; 0x02252A9C
|
||||
push {r3, lr}
|
||||
add r3, r0, #0
|
||||
mov r2, #0
|
||||
mov r0, #0x5a
|
||||
add r1, r1, #3
|
||||
str r2, [sp]
|
||||
bl sub_02006FE8
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_02252A9C
|
306
asm/ov17_02252AB0.s
Normal file
306
asm/ov17_02252AB0.s
Normal file
@ -0,0 +1,306 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov17_02252AB0
|
||||
ov17_02252AB0: ; 0x02252AB0
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
mov r0, #0x1b
|
||||
str r0, [sp]
|
||||
mov r0, #0x50
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #2
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [sp, #0x28]
|
||||
add r4, r1, #0
|
||||
add r6, r3, #0
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r2, #0
|
||||
mov r1, #3
|
||||
add r2, r5, #0
|
||||
add r3, r4, #0
|
||||
bl sub_0200CD7C
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
mov r0, #2
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
mov r2, #0x1b
|
||||
mov r3, #0xfa
|
||||
str r6, [sp, #8]
|
||||
bl sub_0200CBDC
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x2c]
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
mov r2, #0x1b
|
||||
mov r3, #0xfb
|
||||
bl sub_0200CE0C
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x30]
|
||||
add r1, r4, #0
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
mov r2, #0x1b
|
||||
mov r3, #0xfc
|
||||
bl sub_0200CE3C
|
||||
add sp, #0x18
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov17_02252AB0
|
||||
|
||||
thumb_func_start ov17_02252B20
|
||||
ov17_02252B20: ; 0x02252B20
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r2, #0
|
||||
add r6, r3, #0
|
||||
bl sub_0200D070
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl sub_0200D080
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
bl sub_0200D090
|
||||
ldr r1, [sp, #0x10]
|
||||
add r0, r5, #0
|
||||
bl sub_0200D0A0
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_02252B20
|
||||
|
||||
thumb_func_start ov17_02252B48
|
||||
ov17_02252B48: ; 0x02252B48
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x38
|
||||
add r5, r3, #0
|
||||
mov ip, r2
|
||||
ldr r3, _02252BC0 ; =0x02254D9C
|
||||
add r6, r0, #0
|
||||
add r7, r1, #0
|
||||
add r2, sp, #4
|
||||
mov r4, #6
|
||||
_02252B5A:
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
sub r4, r4, #1
|
||||
bne _02252B5A
|
||||
ldr r0, [r3, #0]
|
||||
mov r1, #0x18
|
||||
str r0, [r2, #0]
|
||||
ldr r0, [sp, #0x50]
|
||||
str r5, [sp, #0x18]
|
||||
str r0, [sp, #0x1c]
|
||||
ldr r0, [sp, #0x54]
|
||||
str r0, [sp, #0x20]
|
||||
ldr r0, [sp, #0x58]
|
||||
str r0, [sp, #0x24]
|
||||
ldr r0, [sp, #0x5c]
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [sp, #0x60]
|
||||
str r0, [sp, #0x30]
|
||||
mov r0, ip
|
||||
bl sub_02018144
|
||||
mov r1, #0
|
||||
mov r2, #0x18
|
||||
str r0, [sp]
|
||||
bl sub_020C4CF4
|
||||
ldr r5, [sp]
|
||||
mov r4, #0
|
||||
_02252B92:
|
||||
add r0, r6, #0
|
||||
add r1, r7, #0
|
||||
add r2, sp, #4
|
||||
bl sub_0200CE6C
|
||||
mov r1, #0
|
||||
stmia r5!, {r0}
|
||||
bl sub_0200D3F4
|
||||
add r4, r4, #1
|
||||
cmp r4, #5
|
||||
blt _02252B92
|
||||
ldr r0, _02252BC4 ; =ov17_02252CB8
|
||||
ldr r1, [sp]
|
||||
ldr r2, _02252BC8 ; =0x00009C40
|
||||
bl sub_0200D9E8
|
||||
ldr r1, [sp]
|
||||
str r0, [r1, #0x14]
|
||||
add r0, r1, #0
|
||||
add sp, #0x38
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02252BC0: .word 0x02254D9C
|
||||
_02252BC4: .word ov17_02252CB8
|
||||
_02252BC8: .word 0x00009C40
|
||||
thumb_func_end ov17_02252B48
|
||||
|
||||
thumb_func_start ov17_02252BCC
|
||||
ov17_02252BCC: ; 0x02252BCC
|
||||
push {r4, r5, r6, lr}
|
||||
add r6, r0, #0
|
||||
mov r4, #0
|
||||
add r5, r6, #0
|
||||
_02252BD4:
|
||||
ldr r0, [r5, #0]
|
||||
bl sub_0200D0F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #5
|
||||
blt _02252BD4
|
||||
ldr r0, [r6, #0x14]
|
||||
bl sub_0200DA58
|
||||
add r0, r6, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov17_02252BCC
|
||||
|
||||
thumb_func_start ov17_02252BF0
|
||||
ov17_02252BF0: ; 0x02252BF0
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
lsl r1, r1, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r4, [sp, #0x24]
|
||||
add r6, r3, #0
|
||||
ldr r0, [r5, #0]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
add r3, r4, #0
|
||||
bl sub_0200D500
|
||||
ldr r2, [sp, #0x10]
|
||||
lsl r1, r6, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [r5, #4]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
add r3, r4, #0
|
||||
bl sub_0200D500
|
||||
ldr r1, [sp, #0x14]
|
||||
ldr r2, [sp, #0x18]
|
||||
lsl r1, r1, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [r5, #8]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
add r3, r4, #0
|
||||
bl sub_0200D500
|
||||
ldr r1, [sp, #0x1c]
|
||||
ldr r2, [sp, #0x20]
|
||||
lsl r1, r1, #0x10
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [r5, #0xc]
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
add r3, r4, #0
|
||||
bl sub_0200D500
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, #0
|
||||
bl sub_0200D364
|
||||
ldr r0, [r5, #4]
|
||||
mov r1, #1
|
||||
bl sub_0200D364
|
||||
ldr r0, [r5, #8]
|
||||
mov r1, #2
|
||||
bl sub_0200D364
|
||||
ldr r0, [r5, #0xc]
|
||||
mov r1, #3
|
||||
bl sub_0200D364
|
||||
mov r4, #0
|
||||
mov r6, #1
|
||||
_02252C66:
|
||||
ldr r0, [r5, #0]
|
||||
add r1, r6, #0
|
||||
bl sub_0200D3F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #4
|
||||
blt _02252C66
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov17_02252BF0
|
||||
|
||||
thumb_func_start ov17_02252C78
|
||||
ov17_02252C78: ; 0x02252C78
|
||||
push {r4, lr}
|
||||
sub sp, #0x18
|
||||
add r4, r2, #0
|
||||
str r3, [sp]
|
||||
ldr r2, [sp, #0x20]
|
||||
str r1, [sp, #4]
|
||||
str r2, [sp, #8]
|
||||
str r4, [sp, #0xc]
|
||||
str r2, [sp, #0x10]
|
||||
ldr r2, [sp, #0x24]
|
||||
str r2, [sp, #0x14]
|
||||
add r2, r3, #0
|
||||
add r3, r4, #0
|
||||
bl ov17_02252BF0
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_02252C78
|
||||
|
||||
thumb_func_start ov17_02252C9C
|
||||
ov17_02252C9C: ; 0x02252C9C
|
||||
push {r4, r5, r6, lr}
|
||||
mov r4, #0
|
||||
add r5, r0, #0
|
||||
add r6, r4, #0
|
||||
_02252CA4:
|
||||
ldr r0, [r5, #0]
|
||||
add r1, r6, #0
|
||||
bl sub_0200D3F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #5
|
||||
blt _02252CA4
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_02252C9C
|
||||
|
||||
thumb_func_start ov17_02252CB8
|
||||
ov17_02252CB8: ; 0x02252CB8
|
||||
push {r4, r5, r6, lr}
|
||||
add r6, r1, #0
|
||||
ldr r0, [r6, #0]
|
||||
bl sub_0200D408
|
||||
cmp r0, #0
|
||||
beq _02252CE8
|
||||
mov r4, #0
|
||||
add r5, r6, #0
|
||||
_02252CCA:
|
||||
ldr r0, [r5, #0]
|
||||
bl sub_0200D330
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #4
|
||||
blt _02252CCA
|
||||
ldr r0, [r6, #0x10]
|
||||
bl sub_0200D408
|
||||
cmp r0, #1
|
||||
bne _02252CE8
|
||||
ldr r0, [r6, #0x10]
|
||||
bl sub_0200D330
|
||||
_02252CE8:
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov17_02252CB8
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov17_02254D9C
|
||||
Unk_ov17_02254D9C: ; 0x02254D9C
|
||||
.incbin "incbin/overlay17_rodata.bin", 0x2010, 0x34
|
||||
|
95
asm/ov17_02252CEC.s
Normal file
95
asm/ov17_02252CEC.s
Normal file
@ -0,0 +1,95 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov17_02252CEC
|
||||
ov17_02252CEC: ; 0x02252CEC
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
mov r0, #0x17
|
||||
lsl r0, r0, #4
|
||||
add r6, r1, #0
|
||||
ldrb r1, [r3, r0]
|
||||
str r2, [sp]
|
||||
cmp r1, #0
|
||||
bne _02252D08
|
||||
sub r0, r0, #4
|
||||
ldr r1, [r3, r0]
|
||||
ldr r0, _02252D6C ; =0x000004FC
|
||||
add r4, r1, r0
|
||||
b _02252D3A
|
||||
_02252D08:
|
||||
cmp r1, #1
|
||||
bne _02252D16
|
||||
sub r0, r0, #4
|
||||
ldr r1, [r3, r0]
|
||||
ldr r0, _02252D70 ; =0x00001174
|
||||
add r4, r1, r0
|
||||
b _02252D3A
|
||||
_02252D16:
|
||||
cmp r1, #2
|
||||
bne _02252D26
|
||||
sub r0, r0, #4
|
||||
ldr r1, [r3, r0]
|
||||
mov r0, #0xc3
|
||||
lsl r0, r0, #4
|
||||
add r4, r1, r0
|
||||
b _02252D3A
|
||||
_02252D26:
|
||||
cmp r1, #3
|
||||
bne _02252D34
|
||||
sub r0, r0, #4
|
||||
ldr r1, [r3, r0]
|
||||
ldr r0, _02252D74 ; =0x0000085C
|
||||
add r4, r1, r0
|
||||
b _02252D3A
|
||||
_02252D34:
|
||||
bl sub_02022974
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02252D3A:
|
||||
mov r0, #2
|
||||
lsl r0, r0, #8
|
||||
cmp r6, r0
|
||||
ble _02252D46
|
||||
bl sub_02022974
|
||||
_02252D46:
|
||||
ldr r0, _02252D78 ; =0x00000A11
|
||||
add r7, r4, r0
|
||||
ldrb r0, [r7, r5]
|
||||
cmp r0, #0
|
||||
beq _02252D54
|
||||
bl sub_02022974
|
||||
_02252D54:
|
||||
mov r1, #0x21
|
||||
lsl r1, r1, #4
|
||||
add r2, r4, r1
|
||||
lsl r1, r5, #9
|
||||
add r1, r2, r1
|
||||
ldr r0, [sp]
|
||||
add r2, r6, #0
|
||||
bl sub_020C4DB0
|
||||
mov r0, #1
|
||||
strb r0, [r7, r5]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_02252D6C: .word 0x000004FC
|
||||
_02252D70: .word 0x00001174
|
||||
_02252D74: .word 0x0000085C
|
||||
_02252D78: .word 0x00000A11
|
||||
thumb_func_end ov17_02252CEC
|
||||
|
||||
thumb_func_start ov17_02252D7C
|
||||
ov17_02252D7C: ; 0x02252D7C
|
||||
mov r0, #0x5b
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r3, r0]
|
||||
ldr r3, _02252D88 ; =ov17_0224B20C
|
||||
add r1, r2, #0
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02252D88: .word ov17_0224B20C
|
||||
thumb_func_end ov17_02252D7C
|
10648
asm/ov19_021D0D80.s
Normal file
10648
asm/ov19_021D0D80.s
Normal file
File diff suppressed because it is too large
Load Diff
233
asm/ov19_021D603C.s
Normal file
233
asm/ov19_021D603C.s
Normal file
@ -0,0 +1,233 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov19_021D603C
|
||||
ov19_021D603C: ; 0x021D603C
|
||||
push {r3, r4, r5, r6}
|
||||
ldr r4, _021D60A4 ; =ov19_021D6104
|
||||
add r6, r0, #0
|
||||
str r4, [r0, #0x30]
|
||||
mov r4, #0
|
||||
str r4, [r0, #0x1c]
|
||||
str r1, [r0, #0xc]
|
||||
str r2, [r0, #0x10]
|
||||
str r1, [r0, #0x14]
|
||||
str r2, [r0, #0x18]
|
||||
str r1, [r0, #4]
|
||||
add r4, r0, #0
|
||||
str r2, [r0, #8]
|
||||
lsl r2, r2, #0x18
|
||||
mov r5, #0xfe
|
||||
add r4, #0x28
|
||||
strb r5, [r4]
|
||||
lsl r4, r1, #0x18
|
||||
lsr r4, r4, #0x18
|
||||
add r6, #0x29
|
||||
strb r4, [r6]
|
||||
add r6, r0, #0
|
||||
lsr r2, r2, #0x18
|
||||
add r6, #0x2a
|
||||
strb r2, [r6]
|
||||
add r6, r0, #0
|
||||
add r6, #0x2b
|
||||
strb r3, [r6]
|
||||
add r3, r0, #0
|
||||
add r3, #0x2c
|
||||
strb r5, [r3]
|
||||
add r3, r0, #0
|
||||
add r3, #0x2d
|
||||
strb r4, [r3]
|
||||
add r3, r0, #0
|
||||
add r3, #0x2e
|
||||
strb r2, [r3]
|
||||
add r2, r0, #0
|
||||
add r2, #0x2f
|
||||
ldr r3, [sp, #0x10]
|
||||
cmp r1, #0x80
|
||||
strb r3, [r2]
|
||||
bge _021D609A
|
||||
mov r1, #1
|
||||
str r1, [r0, #0x24]
|
||||
pop {r3, r4, r5, r6}
|
||||
bx lr
|
||||
_021D609A:
|
||||
sub r5, #0xff
|
||||
str r5, [r0, #0x24]
|
||||
pop {r3, r4, r5, r6}
|
||||
bx lr
|
||||
nop
|
||||
_021D60A4: .word ov19_021D6104
|
||||
thumb_func_end ov19_021D603C
|
||||
|
||||
thumb_func_start ov19_021D60A8
|
||||
ov19_021D60A8: ; 0x021D60A8
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #8
|
||||
add r5, r0, #0
|
||||
add r0, #0x2c
|
||||
bl sub_02022734
|
||||
cmp r0, #1
|
||||
bne _021D60E8
|
||||
add r0, r5, #0
|
||||
add r0, #0x28
|
||||
bl sub_02022734
|
||||
cmp r0, #0
|
||||
bne _021D60E8
|
||||
ldr r0, [r5, #0x1c]
|
||||
mov r4, #1
|
||||
cmp r0, #0
|
||||
bne _021D60D0
|
||||
add r6, r4, #0
|
||||
b _021D60D2
|
||||
_021D60D0:
|
||||
mov r6, #0
|
||||
_021D60D2:
|
||||
add r0, sp, #4
|
||||
add r1, sp, #0
|
||||
bl sub_020227A4
|
||||
cmp r0, #0
|
||||
beq _021D60EC
|
||||
ldr r0, [sp, #4]
|
||||
str r0, [r5, #0x14]
|
||||
ldr r0, [sp]
|
||||
str r0, [r5, #0x18]
|
||||
b _021D60EC
|
||||
_021D60E8:
|
||||
mov r4, #0
|
||||
add r6, r4, #0
|
||||
_021D60EC:
|
||||
str r4, [r5, #0x1c]
|
||||
ldr r3, [r5, #0x30]
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
add r2, r6, #0
|
||||
blx r3
|
||||
add sp, #8
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov19_021D60A8
|
||||
|
||||
thumb_func_start ov19_021D60FC
|
||||
ov19_021D60FC: ; 0x021D60FC
|
||||
mov r2, #0
|
||||
str r2, [r0, #0]
|
||||
str r1, [r0, #0x30]
|
||||
bx lr
|
||||
thumb_func_end ov19_021D60FC
|
||||
|
||||
thumb_func_start ov19_021D6104
|
||||
ov19_021D6104: ; 0x021D6104
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
cmp r1, #0
|
||||
beq _021D612C
|
||||
cmp r2, #0
|
||||
beq _021D612C
|
||||
ldr r1, [r4, #0x14]
|
||||
str r1, [r4, #4]
|
||||
ldr r2, [r4, #0x18]
|
||||
str r2, [r4, #8]
|
||||
ldr r1, [r4, #4]
|
||||
bl ov19_021D6164
|
||||
strh r0, [r4, #0x20]
|
||||
ldr r1, _021D6130 ; =ov19_021D6134
|
||||
add r0, r4, #0
|
||||
bl ov19_021D60FC
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_021D612C:
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_021D6130: .word ov19_021D6134
|
||||
thumb_func_end ov19_021D6104
|
||||
|
||||
thumb_func_start ov19_021D6134
|
||||
ov19_021D6134: ; 0x021D6134
|
||||
push {r3, lr}
|
||||
cmp r1, #0
|
||||
bne _021D6144
|
||||
ldr r1, _021D6148 ; =ov19_021D6104
|
||||
bl ov19_021D60FC
|
||||
mov r0, #3
|
||||
pop {r3, pc}
|
||||
_021D6144:
|
||||
mov r0, #2
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
_021D6148: .word ov19_021D6104
|
||||
thumb_func_end ov19_021D6134
|
||||
|
||||
thumb_func_start ov19_021D614C
|
||||
ov19_021D614C: ; 0x021D614C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r1, [r4, #0x14]
|
||||
ldr r2, [r4, #0x18]
|
||||
bl ov19_021D6164
|
||||
add r2, r0, #0
|
||||
ldrh r1, [r4, #0x20]
|
||||
add r0, r4, #0
|
||||
bl ov19_021D617C
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov19_021D614C
|
||||
|
||||
thumb_func_start ov19_021D6164
|
||||
ov19_021D6164: ; 0x021D6164
|
||||
add r3, r0, #0
|
||||
ldr r0, [r3, #0x10]
|
||||
sub r0, r2, r0
|
||||
ldr r2, [r3, #0xc]
|
||||
ldr r3, _021D6178 ; =sub_020BDA20
|
||||
sub r1, r1, r2
|
||||
lsl r0, r0, #0xc
|
||||
lsl r1, r1, #0xc
|
||||
bx r3
|
||||
nop
|
||||
_021D6178: .word sub_020BDA20
|
||||
thumb_func_end ov19_021D6164
|
||||
|
||||
thumb_func_start ov19_021D617C
|
||||
ov19_021D617C: ; 0x021D617C
|
||||
push {r4, r5}
|
||||
sub r2, r2, r1
|
||||
bpl _021D618A
|
||||
mov r4, #0
|
||||
mvn r4, r4
|
||||
mul r2, r4
|
||||
b _021D618C
|
||||
_021D618A:
|
||||
mov r4, #1
|
||||
_021D618C:
|
||||
ldr r5, _021D61AC ; =0x021DFE44
|
||||
mov r3, #0
|
||||
_021D6190:
|
||||
ldrh r1, [r5]
|
||||
cmp r2, r1
|
||||
blt _021D619E
|
||||
add r3, r3, #1
|
||||
add r5, r5, #2
|
||||
cmp r3, #2
|
||||
blo _021D6190
|
||||
_021D619E:
|
||||
ldr r1, [r0, #0x24]
|
||||
add r0, r3, #0
|
||||
mul r0, r4
|
||||
mul r0, r1
|
||||
pop {r4, r5}
|
||||
bx lr
|
||||
nop
|
||||
_021D61AC: .word 0x021DFE44
|
||||
thumb_func_end ov19_021D617C
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov19_021DFE44
|
||||
Unk_ov19_021DFE44: ; 0x021DFE44
|
||||
.incbin "incbin/overlay19_rodata.bin", 0x54, 0x4
|
||||
|
3220
asm/ov19_021D61B0.s
Normal file
3220
asm/ov19_021D61B0.s
Normal file
File diff suppressed because it is too large
Load Diff
2333
asm/ov19_021D79F8.s
Normal file
2333
asm/ov19_021D79F8.s
Normal file
File diff suppressed because it is too large
Load Diff
2998
asm/ov19_021D8B54.s
Normal file
2998
asm/ov19_021D8B54.s
Normal file
File diff suppressed because it is too large
Load Diff
747
asm/ov19_021DA270.s
Normal file
747
asm/ov19_021DA270.s
Normal file
@ -0,0 +1,747 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov19_021DA270
|
||||
ov19_021DA270: ; 0x021DA270
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x30
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
mov r0, #0x13
|
||||
mov r1, #0xa
|
||||
str r2, [sp, #8]
|
||||
str r3, [sp, #0xc]
|
||||
ldr r4, [sp, #0x48]
|
||||
bl sub_02006C24
|
||||
str r0, [r5, #0x48]
|
||||
add r0, sp, #0x1c
|
||||
bl sub_020A81D0
|
||||
bl sub_02079FD0
|
||||
add r1, r0, #0
|
||||
mov r0, #0xa
|
||||
str r0, [sp]
|
||||
add r0, sp, #0x1c
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r5, #0x48]
|
||||
mov r2, #1
|
||||
mov r3, #0x40
|
||||
bl sub_0200716C
|
||||
bl sub_02079FD0
|
||||
add r1, r0, #0
|
||||
ldr r0, [r5, #0x48]
|
||||
add r2, sp, #0x18
|
||||
mov r3, #0xa
|
||||
bl sub_020071EC
|
||||
str r0, [sp, #0x10]
|
||||
cmp r0, #0
|
||||
beq _021DA308
|
||||
add r0, sp, #0x1c
|
||||
bl sub_020A81D0
|
||||
ldr r0, [sp, #0x10]
|
||||
add r1, sp, #0x14
|
||||
bl sub_020A71EC
|
||||
ldr r2, [sp, #0x18]
|
||||
add r7, r0, #0
|
||||
ldr r0, [r2, #0xc]
|
||||
mov r1, #8
|
||||
str r1, [sp]
|
||||
ldr r2, [r2, #8]
|
||||
ldr r3, _021DA380 ; =0x0000057F
|
||||
add r1, r0, #0
|
||||
lsr r2, r2, #1
|
||||
bl ov19_021D78C8
|
||||
cmp r7, #0
|
||||
beq _021DA2F6
|
||||
add r0, sp, #0x1c
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x18]
|
||||
ldr r1, [sp, #0x14]
|
||||
mov r2, #0xc0
|
||||
mov r3, #1
|
||||
bl sub_020A8948
|
||||
b _021DA302
|
||||
_021DA2F6:
|
||||
ldr r0, [sp, #0x18]
|
||||
mov r1, #0xc0
|
||||
mov r2, #1
|
||||
add r3, sp, #0x1c
|
||||
bl sub_020A8850
|
||||
_021DA302:
|
||||
ldr r0, [sp, #0x10]
|
||||
bl sub_020181C4
|
||||
_021DA308:
|
||||
mov r0, #0xa
|
||||
add r3, r5, #0
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
mov r1, #0x15
|
||||
mov r2, #1
|
||||
add r3, #0x10
|
||||
bl sub_02007204
|
||||
str r0, [r5, #8]
|
||||
mov r0, #0xa
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
mov r1, #0x16
|
||||
mov r2, #1
|
||||
add r3, r5, #4
|
||||
bl sub_02007220
|
||||
str r0, [r5, #0]
|
||||
mov r0, #0xa
|
||||
add r3, r5, #0
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
mov r1, #0x17
|
||||
mov r2, #1
|
||||
add r3, #0x1c
|
||||
bl sub_02007204
|
||||
str r0, [r5, #0x14]
|
||||
mov r0, #0xa
|
||||
add r3, r5, #0
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
mov r1, #0x18
|
||||
mov r2, #1
|
||||
add r3, #0x20
|
||||
bl sub_02007220
|
||||
str r0, [r5, #0x18]
|
||||
ldr r0, [r5, #8]
|
||||
cmp r0, #0
|
||||
beq _021DA368
|
||||
ldr r0, [r5, #0]
|
||||
cmp r0, #0
|
||||
beq _021DA368
|
||||
ldr r0, [r5, #0x48]
|
||||
cmp r0, #0
|
||||
bne _021DA36E
|
||||
_021DA368:
|
||||
add sp, #0x30
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_021DA36E:
|
||||
ldr r0, [sp, #0xc]
|
||||
str r0, [r5, #0x24]
|
||||
ldr r0, [sp, #8]
|
||||
str r0, [r5, #0x40]
|
||||
str r6, [r5, #0x44]
|
||||
mov r0, #1
|
||||
add sp, #0x30
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_021DA380: .word 0x0000057F
|
||||
thumb_func_end ov19_021DA270
|
||||
|
||||
thumb_func_start ov19_021DA384
|
||||
ov19_021DA384: ; 0x021DA384
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
beq _021DA396
|
||||
bl sub_020181C4
|
||||
mov r0, #0
|
||||
str r0, [r4, #8]
|
||||
_021DA396:
|
||||
ldr r0, [r4, #0]
|
||||
cmp r0, #0
|
||||
beq _021DA3A4
|
||||
bl sub_020181C4
|
||||
mov r0, #0
|
||||
str r0, [r4, #0]
|
||||
_021DA3A4:
|
||||
ldr r0, [r4, #0x14]
|
||||
cmp r0, #0
|
||||
beq _021DA3B2
|
||||
bl sub_020181C4
|
||||
mov r0, #0
|
||||
str r0, [r4, #0x14]
|
||||
_021DA3B2:
|
||||
ldr r0, [r4, #0x18]
|
||||
cmp r0, #0
|
||||
beq _021DA3C0
|
||||
bl sub_020181C4
|
||||
mov r0, #0
|
||||
str r0, [r4, #0x18]
|
||||
_021DA3C0:
|
||||
ldr r0, [r4, #0x48]
|
||||
cmp r0, #0
|
||||
beq _021DA3CA
|
||||
bl sub_02006CA8
|
||||
_021DA3CA:
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov19_021DA384
|
||||
|
||||
thumb_func_start ov19_021DA3CC
|
||||
ov19_021DA3CC: ; 0x021DA3CC
|
||||
push {r4, r5, r6, lr}
|
||||
add r4, r2, #0
|
||||
add r0, r4, #0
|
||||
add r5, r1, #0
|
||||
sub r4, r4, #1
|
||||
cmp r0, #0
|
||||
beq _021DA3EE
|
||||
mov r6, #0
|
||||
_021DA3DC:
|
||||
add r0, r5, #4
|
||||
str r6, [r5, #0]
|
||||
bl sub_020A818C
|
||||
add r0, r4, #0
|
||||
add r5, #0x34
|
||||
sub r4, r4, #1
|
||||
cmp r0, #0
|
||||
bne _021DA3DC
|
||||
_021DA3EE:
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov19_021DA3CC
|
||||
|
||||
thumb_func_start ov19_021DA3F0
|
||||
ov19_021DA3F0: ; 0x021DA3F0
|
||||
push {r4, r5, r6, lr}
|
||||
add r4, r2, #0
|
||||
add r0, r4, #0
|
||||
add r5, r1, #0
|
||||
sub r4, r4, #1
|
||||
cmp r0, #0
|
||||
beq _021DA416
|
||||
mov r6, #0
|
||||
_021DA400:
|
||||
ldr r0, [r5, #0]
|
||||
cmp r0, #0
|
||||
beq _021DA40C
|
||||
bl sub_02021BD4
|
||||
str r6, [r5, #0]
|
||||
_021DA40C:
|
||||
add r0, r4, #0
|
||||
add r5, #0x34
|
||||
sub r4, r4, #1
|
||||
cmp r0, #0
|
||||
bne _021DA400
|
||||
_021DA416:
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov19_021DA3F0
|
||||
|
||||
thumb_func_start ov19_021DA418
|
||||
ov19_021DA418: ; 0x021DA418
|
||||
mov r3, #0x34
|
||||
mul r3, r2
|
||||
add r2, r3, #0
|
||||
ldr r3, _021DA424 ; =sub_020C4B68
|
||||
bx r3
|
||||
nop
|
||||
_021DA424: .word sub_020C4B68
|
||||
thumb_func_end ov19_021DA418
|
||||
|
||||
thumb_func_start ov19_021DA428
|
||||
ov19_021DA428: ; 0x021DA428
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x44
|
||||
add r6, r1, #0
|
||||
add r5, r0, #0
|
||||
add r0, r6, #0
|
||||
str r2, [sp, #8]
|
||||
str r3, [sp, #0xc]
|
||||
ldr r4, [sp, #0x64]
|
||||
bl sub_02073D20
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [r5, #0x44]
|
||||
bl ov19_021D77D0
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5, #4]
|
||||
mov r1, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x58]
|
||||
str r0, [sp, #4]
|
||||
ldr r3, [r5, #0x10]
|
||||
add r0, sp, #0x20
|
||||
bl ov19_021D783C
|
||||
add r0, r6, #0
|
||||
mov r1, #5
|
||||
mov r2, #0
|
||||
bl sub_02074570
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #0x18]
|
||||
add r0, r6, #0
|
||||
mov r1, #0x4c
|
||||
mov r2, #0
|
||||
bl sub_02074570
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r6, #0
|
||||
mov r1, #0x70
|
||||
mov r2, #0
|
||||
bl sub_02074570
|
||||
lsl r0, r0, #0x18
|
||||
lsr r7, r0, #0x18
|
||||
add r0, r6, #0
|
||||
bl sub_02079D40
|
||||
str r0, [r4, #0x28]
|
||||
ldr r0, [sp, #0x18]
|
||||
ldr r2, [sp, #0x14]
|
||||
add r1, r7, #0
|
||||
bl sub_02079EDC
|
||||
strh r0, [r4, #0x2c]
|
||||
add r0, r6, #0
|
||||
mov r1, #6
|
||||
mov r2, #0
|
||||
bl sub_02074570
|
||||
strh r0, [r4, #0x30]
|
||||
add r0, r6, #0
|
||||
mov r1, #0xb
|
||||
mov r2, #0
|
||||
bl sub_02074570
|
||||
strh r0, [r4, #0x2e]
|
||||
add r0, r4, #4
|
||||
bl sub_020A818C
|
||||
add r0, r5, #0
|
||||
add r0, #0x4c
|
||||
str r0, [sp]
|
||||
mov r3, #0xa
|
||||
ldr r0, [r5, #0x48]
|
||||
ldr r1, [r4, #0x28]
|
||||
mov r2, #0
|
||||
lsl r3, r3, #6
|
||||
bl sub_02006DC8
|
||||
add r0, r5, #0
|
||||
add r0, #0x4c
|
||||
add r1, sp, #0x1c
|
||||
bl sub_020A7118
|
||||
mov r2, #1
|
||||
lsl r2, r2, #0x1a
|
||||
ldr r1, [r2, #0]
|
||||
ldr r0, _021DA544 ; =0x00300010
|
||||
add r3, r4, #4
|
||||
and r1, r0
|
||||
ldr r0, [sp, #0x1c]
|
||||
str r1, [r0, #8]
|
||||
lsr r1, r2, #0x11
|
||||
ldr r0, [sp, #0x1c]
|
||||
mov r2, #1
|
||||
str r1, [r0, #0x10]
|
||||
ldr r1, [sp, #0x60]
|
||||
ldr r0, [sp, #0x1c]
|
||||
lsl r1, r1, #5
|
||||
bl sub_020A8224
|
||||
add r0, r4, #4
|
||||
str r0, [sp, #0x20]
|
||||
ldr r0, [sp, #0x5c]
|
||||
ldr r2, [sp, #8]
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r5, #0x24]
|
||||
ldr r3, [sp, #0xc]
|
||||
add r1, sp, #0x20
|
||||
bl ov19_021D785C
|
||||
str r0, [r4, #0]
|
||||
cmp r0, #0
|
||||
bne _021DA51E
|
||||
bl sub_02022974
|
||||
_021DA51E:
|
||||
ldrh r1, [r4, #0x2c]
|
||||
ldr r0, [r4, #0]
|
||||
add r1, r1, #2
|
||||
bl sub_02021E90
|
||||
ldr r0, [r5, #0x40]
|
||||
bl ov19_021D5EC8
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl ov19_021DA63C
|
||||
ldr r1, [sp, #0x10]
|
||||
add r0, r6, #0
|
||||
bl sub_02073D48
|
||||
add sp, #0x44
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_021DA544: .word 0x00300010
|
||||
thumb_func_end ov19_021DA428
|
||||
|
||||
thumb_func_start ov19_021DA548
|
||||
ov19_021DA548: ; 0x021DA548
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x40
|
||||
add r6, r1, #0
|
||||
add r5, r0, #0
|
||||
add r0, r6, #0
|
||||
str r2, [sp, #8]
|
||||
add r7, r3, #0
|
||||
ldr r4, [sp, #0x70]
|
||||
bl sub_02073D20
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r6, #0
|
||||
mov r1, #0x4c
|
||||
mov r2, #0
|
||||
bl sub_02074570
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r6, #0
|
||||
mov r1, #0x70
|
||||
mov r2, #0
|
||||
bl sub_02074570
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [r5, #0x44]
|
||||
bl ov19_021D77D0
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5, #4]
|
||||
mov r1, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x64]
|
||||
str r0, [sp, #4]
|
||||
ldr r3, [r5, #0x10]
|
||||
add r0, sp, #0x1c
|
||||
bl ov19_021D783C
|
||||
str r7, [r4, #0x28]
|
||||
ldr r0, [sp, #8]
|
||||
ldr r1, [sp, #0xc]
|
||||
ldr r2, [sp, #0x10]
|
||||
bl sub_02079EDC
|
||||
strh r0, [r4, #0x2c]
|
||||
add r0, r6, #0
|
||||
mov r1, #6
|
||||
mov r2, #0
|
||||
bl sub_02074570
|
||||
strh r0, [r4, #0x30]
|
||||
add r0, r6, #0
|
||||
mov r1, #0xb
|
||||
mov r2, #0
|
||||
bl sub_02074570
|
||||
strh r0, [r4, #0x2e]
|
||||
add r0, r4, #4
|
||||
bl sub_020A818C
|
||||
ldr r0, [sp, #0x58]
|
||||
add r1, sp, #0x18
|
||||
bl sub_020A7118
|
||||
mov r2, #1
|
||||
lsl r2, r2, #0x1a
|
||||
ldr r1, [r2, #0]
|
||||
ldr r0, _021DA638 ; =0x00300010
|
||||
add r3, r4, #4
|
||||
and r1, r0
|
||||
ldr r0, [sp, #0x18]
|
||||
str r1, [r0, #8]
|
||||
lsr r1, r2, #0x11
|
||||
ldr r0, [sp, #0x18]
|
||||
mov r2, #1
|
||||
str r1, [r0, #0x10]
|
||||
ldr r1, [sp, #0x6c]
|
||||
ldr r0, [sp, #0x18]
|
||||
lsl r1, r1, #5
|
||||
bl sub_020A8224
|
||||
add r0, r4, #4
|
||||
str r0, [sp, #0x1c]
|
||||
ldr r0, [sp, #0x68]
|
||||
ldr r2, [sp, #0x5c]
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r5, #0x24]
|
||||
ldr r3, [sp, #0x60]
|
||||
add r1, sp, #0x1c
|
||||
bl ov19_021D785C
|
||||
str r0, [r4, #0]
|
||||
cmp r0, #0
|
||||
bne _021DA610
|
||||
bl sub_02022974
|
||||
_021DA610:
|
||||
ldrh r1, [r4, #0x2c]
|
||||
ldr r0, [r4, #0]
|
||||
add r1, r1, #2
|
||||
bl sub_02021E90
|
||||
ldr r0, [r5, #0x40]
|
||||
bl ov19_021D5EC8
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl ov19_021DA63C
|
||||
ldr r1, [sp, #0x14]
|
||||
add r0, r6, #0
|
||||
bl sub_02073D48
|
||||
add sp, #0x40
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_021DA638: .word 0x00300010
|
||||
thumb_func_end ov19_021DA548
|
||||
|
||||
thumb_func_start ov19_021DA63C
|
||||
ov19_021DA63C: ; 0x021DA63C
|
||||
push {r4, r5, r6, lr}
|
||||
cmp r2, #0
|
||||
beq _021DA682
|
||||
mov r3, #1
|
||||
add r0, r2, #0
|
||||
tst r0, r3
|
||||
beq _021DA65A
|
||||
ldrh r0, [r1, #0x30]
|
||||
cmp r0, #0
|
||||
bne _021DA65A
|
||||
ldr r0, [r1, #0]
|
||||
add r1, r3, #0
|
||||
bl sub_02021FE0
|
||||
pop {r4, r5, r6, pc}
|
||||
_021DA65A:
|
||||
mov r3, #0
|
||||
mov r4, #1
|
||||
mov r0, #2
|
||||
_021DA660:
|
||||
add r5, r0, #0
|
||||
lsl r5, r3
|
||||
tst r5, r2
|
||||
beq _021DA67C
|
||||
add r5, r4, #0
|
||||
ldrh r6, [r1, #0x2e]
|
||||
lsl r5, r3
|
||||
tst r5, r6
|
||||
bne _021DA67C
|
||||
ldr r0, [r1, #0]
|
||||
add r1, r4, #0
|
||||
bl sub_02021FE0
|
||||
pop {r4, r5, r6, pc}
|
||||
_021DA67C:
|
||||
add r3, r3, #1
|
||||
cmp r3, #6
|
||||
blt _021DA660
|
||||
_021DA682:
|
||||
ldr r0, [r1, #0]
|
||||
mov r1, #0
|
||||
bl sub_02021FE0
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov19_021DA63C
|
||||
|
||||
thumb_func_start ov19_021DA68C
|
||||
ov19_021DA68C: ; 0x021DA68C
|
||||
strh r2, [r1, #0x2e]
|
||||
bx lr
|
||||
thumb_func_end ov19_021DA68C
|
||||
|
||||
thumb_func_start ov19_021DA690
|
||||
ov19_021DA690: ; 0x021DA690
|
||||
strh r2, [r1, #0x30]
|
||||
bx lr
|
||||
thumb_func_end ov19_021DA690
|
||||
|
||||
thumb_func_start ov19_021DA694
|
||||
ov19_021DA694: ; 0x021DA694
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldrh r0, [r4, #0x30]
|
||||
add r6, r2, #0
|
||||
cmp r0, #0x70
|
||||
bne _021DA6C2
|
||||
mov r1, #0
|
||||
ldr r0, _021DA740 ; =0x000001E7
|
||||
add r2, r1, #0
|
||||
bl sub_02079D8C
|
||||
ldr r1, [r4, #0x28]
|
||||
cmp r1, r0
|
||||
bne _021DA6C2
|
||||
ldr r0, _021DA740 ; =0x000001E7
|
||||
mov r1, #0
|
||||
mov r2, #1
|
||||
bl sub_02079D8C
|
||||
str r0, [r4, #0x28]
|
||||
b _021DA70A
|
||||
_021DA6C2:
|
||||
ldrh r0, [r4, #0x30]
|
||||
cmp r0, #0x70
|
||||
beq _021DA6E6
|
||||
ldr r0, _021DA740 ; =0x000001E7
|
||||
mov r1, #0
|
||||
mov r2, #1
|
||||
bl sub_02079D8C
|
||||
ldr r1, [r4, #0x28]
|
||||
cmp r1, r0
|
||||
bne _021DA6E6
|
||||
mov r1, #0
|
||||
ldr r0, _021DA740 ; =0x000001E7
|
||||
add r2, r1, #0
|
||||
bl sub_02079D8C
|
||||
str r0, [r4, #0x28]
|
||||
b _021DA70A
|
||||
_021DA6E6:
|
||||
cmp r6, #1
|
||||
bne _021DA73C
|
||||
mov r0, #0x7b
|
||||
lsl r0, r0, #2
|
||||
mov r1, #0
|
||||
mov r2, #1
|
||||
bl sub_02079D8C
|
||||
ldr r1, [r4, #0x28]
|
||||
cmp r1, r0
|
||||
bne _021DA73C
|
||||
mov r0, #0x7b
|
||||
mov r1, #0
|
||||
lsl r0, r0, #2
|
||||
add r2, r1, #0
|
||||
bl sub_02079D8C
|
||||
str r0, [r4, #0x28]
|
||||
_021DA70A:
|
||||
add r0, r5, #0
|
||||
ldr r6, [r4, #8]
|
||||
add r0, #0x4c
|
||||
str r0, [sp]
|
||||
mov r3, #0xa
|
||||
mov r7, #0x19
|
||||
ldr r0, [r5, #0x48]
|
||||
ldr r1, [r4, #0x28]
|
||||
mov r2, #0
|
||||
lsl r3, r3, #6
|
||||
lsl r7, r7, #0x16
|
||||
bl sub_02006DC8
|
||||
add r5, #0x4c
|
||||
add r0, r5, #0
|
||||
add r1, sp, #4
|
||||
bl sub_020A7118
|
||||
ldr r0, [sp, #4]
|
||||
mov r2, #2
|
||||
ldr r0, [r0, #0x14]
|
||||
add r1, r6, r7
|
||||
lsl r2, r2, #8
|
||||
bl sub_020C4B68
|
||||
_021DA73C:
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_021DA740: .word 0x000001E7
|
||||
thumb_func_end ov19_021DA694
|
||||
|
||||
thumb_func_start ov19_021DA744
|
||||
ov19_021DA744: ; 0x021DA744
|
||||
push {r3, lr}
|
||||
str r1, [sp]
|
||||
ldr r0, [r0, #0x48]
|
||||
add r1, r2, #0
|
||||
mov r2, #0
|
||||
bl sub_02006DC8
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov19_021DA744
|
||||
|
||||
thumb_func_start ov19_021DA754
|
||||
ov19_021DA754: ; 0x021DA754
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
add r6, r2, #0
|
||||
cmp r0, #0
|
||||
beq _021DA7B0
|
||||
add r0, r4, #4
|
||||
bl sub_020A818C
|
||||
add r0, r5, #0
|
||||
add r0, #0x4c
|
||||
str r0, [sp]
|
||||
mov r3, #0xa
|
||||
ldr r0, [r5, #0x48]
|
||||
ldr r1, [r4, #0x28]
|
||||
mov r2, #0
|
||||
lsl r3, r3, #6
|
||||
bl sub_02006DC8
|
||||
add r5, #0x4c
|
||||
add r0, r5, #0
|
||||
add r1, sp, #4
|
||||
bl sub_020A7118
|
||||
mov r2, #1
|
||||
lsl r2, r2, #0x1a
|
||||
ldr r1, [r2, #0]
|
||||
ldr r0, _021DA7B4 ; =0x00300010
|
||||
add r3, r4, #4
|
||||
and r1, r0
|
||||
ldr r0, [sp, #4]
|
||||
str r1, [r0, #8]
|
||||
lsr r1, r2, #0x11
|
||||
ldr r0, [sp, #4]
|
||||
mov r2, #1
|
||||
str r1, [r0, #0x10]
|
||||
ldr r0, [sp, #4]
|
||||
lsl r1, r6, #5
|
||||
bl sub_020A8224
|
||||
ldr r0, [r4, #0]
|
||||
add r1, r4, #4
|
||||
bl sub_02021F7C
|
||||
_021DA7B0:
|
||||
add sp, #8
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_021DA7B4: .word 0x00300010
|
||||
thumb_func_end ov19_021DA754
|
||||
|
||||
thumb_func_start ov19_021DA7B8
|
||||
ov19_021DA7B8: ; 0x021DA7B8
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r2, #0
|
||||
add r5, r1, #0
|
||||
sub r0, r4, #1
|
||||
cmp r0, #1
|
||||
ldr r0, [r5, #0]
|
||||
bhi _021DA7CE
|
||||
mov r1, #1
|
||||
bl sub_02021CF8
|
||||
b _021DA7D4
|
||||
_021DA7CE:
|
||||
mov r1, #0
|
||||
bl sub_02021CF8
|
||||
_021DA7D4:
|
||||
ldr r0, [r5, #0]
|
||||
add r1, r4, #0
|
||||
bl sub_02021D6C
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DA7B8
|
||||
|
||||
thumb_func_start ov19_021DA7E0
|
||||
ov19_021DA7E0: ; 0x021DA7E0
|
||||
push {r3, lr}
|
||||
ldr r0, [r1, #0]
|
||||
bl sub_02021FD0
|
||||
cmp r0, #0
|
||||
bne _021DA7F0
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_021DA7F0:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov19_021DA7E0
|
||||
|
||||
thumb_func_start ov19_021DA7F4
|
||||
ov19_021DA7F4: ; 0x021DA7F4
|
||||
cmp r2, #0
|
||||
beq _021DA7FC
|
||||
mov r2, #6
|
||||
b _021DA7FE
|
||||
_021DA7FC:
|
||||
mov r2, #2
|
||||
_021DA7FE:
|
||||
ldr r0, [r1, #0]
|
||||
ldrh r1, [r1, #0x2c]
|
||||
ldr r3, _021DA808 ; =sub_02021E90
|
||||
add r1, r1, r2
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_021DA808: .word sub_02021E90
|
||||
thumb_func_end ov19_021DA7F4
|
||||
|
||||
thumb_func_start ov19_021DA80C
|
||||
ov19_021DA80C: ; 0x021DA80C
|
||||
ldr r0, [r0, #0x10]
|
||||
bx lr
|
||||
thumb_func_end ov19_021DA80C
|
||||
|
||||
thumb_func_start ov19_021DA810
|
||||
ov19_021DA810: ; 0x021DA810
|
||||
ldr r0, [r0, #4]
|
||||
bx lr
|
||||
thumb_func_end ov19_021DA810
|
156
asm/ov19_021DA814.s
Normal file
156
asm/ov19_021DA814.s
Normal file
@ -0,0 +1,156 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov19_021DA814
|
||||
ov19_021DA814: ; 0x021DA814
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
add r4, r0, #0
|
||||
str r1, [r4, #0x44]
|
||||
str r3, [r4, #0x3c]
|
||||
str r2, [r4, #0x40]
|
||||
str r3, [r4, #0]
|
||||
mov r0, #0
|
||||
str r0, [r4, #4]
|
||||
mov r1, #0xa
|
||||
add r3, r4, #0
|
||||
ldr r0, [sp, #0x10]
|
||||
str r1, [sp]
|
||||
mov r2, #1
|
||||
add r3, #0x10
|
||||
bl sub_02007204
|
||||
str r0, [r4, #8]
|
||||
mov r0, #0xa
|
||||
str r0, [sp]
|
||||
add r3, r4, #0
|
||||
ldr r0, [sp, #0x10]
|
||||
mov r1, #0xb
|
||||
mov r2, #1
|
||||
add r3, #0x14
|
||||
bl sub_02007220
|
||||
str r0, [r4, #0xc]
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
beq _021DA858
|
||||
ldr r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _021DA85E
|
||||
_021DA858:
|
||||
add sp, #4
|
||||
mov r0, #0
|
||||
pop {r3, r4, pc}
|
||||
_021DA85E:
|
||||
mov r0, #1
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
thumb_func_end ov19_021DA814
|
||||
|
||||
thumb_func_start ov19_021DA864
|
||||
ov19_021DA864: ; 0x021DA864
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x38
|
||||
add r5, r0, #0
|
||||
add r0, #0x18
|
||||
add r4, r1, #0
|
||||
bl sub_020A818C
|
||||
mov r3, #0
|
||||
mov r0, #0x9d
|
||||
str r3, [sp]
|
||||
mov r2, #1
|
||||
str r2, [sp, #4]
|
||||
lsl r0, r0, #8
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0xa
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r5, #0
|
||||
add r0, #0x18
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r4, #0
|
||||
mov r1, #9
|
||||
bl sub_0200718C
|
||||
ldr r0, [r5, #0x44]
|
||||
bl ov19_021D77D0
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5, #0x14]
|
||||
add r1, r5, #0
|
||||
str r0, [sp]
|
||||
mov r0, #2
|
||||
str r0, [sp, #4]
|
||||
ldr r3, [r5, #0x10]
|
||||
add r0, sp, #0x14
|
||||
add r1, #0x18
|
||||
bl ov19_021D783C
|
||||
ldr r0, [r5, #0x44]
|
||||
bl ov19_021D7820
|
||||
add r2, r0, #0
|
||||
mov r0, #0x2c
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r5, #0]
|
||||
add r1, sp, #0x14
|
||||
add r2, #0xb7
|
||||
mov r3, #0xb0
|
||||
bl ov19_021D785C
|
||||
mov r1, #1
|
||||
str r0, [r5, #4]
|
||||
bl sub_02021E90
|
||||
add sp, #0x38
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DA864
|
||||
|
||||
thumb_func_start ov19_021DA8D8
|
||||
ov19_021DA8D8: ; 0x021DA8D8
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
beq _021DA8EA
|
||||
bl sub_020181C4
|
||||
mov r0, #0
|
||||
str r0, [r4, #8]
|
||||
_021DA8EA:
|
||||
ldr r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
beq _021DA8F8
|
||||
bl sub_020181C4
|
||||
mov r0, #0
|
||||
str r0, [r4, #0xc]
|
||||
_021DA8F8:
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DA8D8
|
||||
|
||||
thumb_func_start ov19_021DA8FC
|
||||
ov19_021DA8FC: ; 0x021DA8FC
|
||||
push {r3, lr}
|
||||
cmp r1, #0
|
||||
beq _021DA90C
|
||||
cmp r1, #1
|
||||
beq _021DA916
|
||||
cmp r1, #2
|
||||
beq _021DA920
|
||||
pop {r3, pc}
|
||||
_021DA90C:
|
||||
ldr r0, [r0, #4]
|
||||
mov r1, #0
|
||||
bl sub_02021D6C
|
||||
pop {r3, pc}
|
||||
_021DA916:
|
||||
ldr r0, [r0, #4]
|
||||
mov r1, #1
|
||||
bl sub_02021D6C
|
||||
pop {r3, pc}
|
||||
_021DA920:
|
||||
ldr r0, [r0, #4]
|
||||
mov r1, #2
|
||||
bl sub_02021D6C
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DA8FC
|
1282
asm/ov19_021DA92C.s
Normal file
1282
asm/ov19_021DA92C.s
Normal file
File diff suppressed because it is too large
Load Diff
812
asm/ov19_021DB2FC.s
Normal file
812
asm/ov19_021DB2FC.s
Normal file
@ -0,0 +1,812 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov19_021DB2FC
|
||||
ov19_021DB2FC: ; 0x021DB2FC
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
add r4, r0, #0
|
||||
str r1, [r4, #0xc]
|
||||
str r3, [r4, #0]
|
||||
str r2, [r4, #8]
|
||||
ldr r0, [sp, #0x18]
|
||||
mov r1, #0x1a
|
||||
str r0, [r4, #0x2c]
|
||||
ldr r0, [sp, #0x1c]
|
||||
mov r2, #0x12
|
||||
str r0, [r4, #0x20]
|
||||
ldr r0, [sp, #0x14]
|
||||
mov r3, #0xa
|
||||
str r0, [r4, #0x10]
|
||||
mov r0, #0
|
||||
bl sub_0200B144
|
||||
str r0, [r4, #0x14]
|
||||
mov r0, #0x40
|
||||
mov r1, #0xa
|
||||
bl sub_02023790
|
||||
str r0, [r4, #0x30]
|
||||
mov r0, #0x40
|
||||
mov r1, #0xa
|
||||
bl sub_02023790
|
||||
str r0, [r4, #0x34]
|
||||
mov r0, #0
|
||||
strh r0, [r4, #0x1c]
|
||||
strh r0, [r4, #0x1e]
|
||||
str r0, [r4, #0x18]
|
||||
mov r0, #0xa
|
||||
str r0, [sp]
|
||||
add r3, r4, #0
|
||||
ldr r0, [sp, #0x20]
|
||||
mov r1, #0x19
|
||||
mov r2, #1
|
||||
add r3, #0x28
|
||||
bl sub_020071B4
|
||||
str r0, [r4, #0x24]
|
||||
cmp r0, #0
|
||||
beq _021DB362
|
||||
ldr r0, [r4, #0x30]
|
||||
cmp r0, #0
|
||||
beq _021DB362
|
||||
ldr r0, [r4, #0x34]
|
||||
cmp r0, #0
|
||||
bne _021DB368
|
||||
_021DB362:
|
||||
add sp, #4
|
||||
mov r0, #0
|
||||
pop {r3, r4, pc}
|
||||
_021DB368:
|
||||
mov r0, #1
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DB2FC
|
||||
|
||||
thumb_func_start ov19_021DB370
|
||||
ov19_021DB370: ; 0x021DB370
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x18]
|
||||
cmp r0, #0
|
||||
beq _021DB3C0
|
||||
mov r6, #0
|
||||
add r4, r6, #0
|
||||
_021DB37E:
|
||||
ldr r0, [r5, #0x18]
|
||||
add r0, r0, r4
|
||||
bl sub_0201A8FC
|
||||
add r6, r6, #1
|
||||
add r4, #0x10
|
||||
cmp r6, #2
|
||||
blt _021DB37E
|
||||
ldr r0, [r5, #0x24]
|
||||
cmp r0, #0
|
||||
beq _021DB398
|
||||
bl sub_020181C4
|
||||
_021DB398:
|
||||
ldr r0, [r5, #0x14]
|
||||
cmp r0, #0
|
||||
beq _021DB3A2
|
||||
bl sub_0200B190
|
||||
_021DB3A2:
|
||||
ldr r0, [r5, #0x30]
|
||||
cmp r0, #0
|
||||
beq _021DB3AC
|
||||
bl sub_020237BC
|
||||
_021DB3AC:
|
||||
ldr r0, [r5, #0x34]
|
||||
cmp r0, #0
|
||||
beq _021DB3B6
|
||||
bl sub_020237BC
|
||||
_021DB3B6:
|
||||
ldr r0, [r5, #0x18]
|
||||
bl sub_020181C4
|
||||
mov r0, #0
|
||||
str r0, [r5, #0x18]
|
||||
_021DB3C0:
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DB370
|
||||
|
||||
thumb_func_start ov19_021DB3C4
|
||||
ov19_021DB3C4: ; 0x021DB3C4
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
add r6, r0, #0
|
||||
mov r0, #0xa
|
||||
mov r1, #2
|
||||
bl sub_0201A778
|
||||
str r0, [r6, #0x18]
|
||||
cmp r0, #0
|
||||
beq _021DB3F4
|
||||
mov r7, #0
|
||||
ldr r4, _021DB440 ; =0x021E01F8
|
||||
add r5, r7, #0
|
||||
_021DB3DE:
|
||||
ldr r1, [r6, #0x18]
|
||||
ldr r0, [r6, #0]
|
||||
add r1, r1, r5
|
||||
add r2, r4, #0
|
||||
bl sub_0201A8D4
|
||||
add r7, r7, #1
|
||||
add r4, #8
|
||||
add r5, #0x10
|
||||
cmp r7, #2
|
||||
blt _021DB3DE
|
||||
_021DB3F4:
|
||||
mov r0, #2
|
||||
lsl r0, r0, #8
|
||||
str r0, [sp]
|
||||
mov r1, #0
|
||||
str r1, [sp, #4]
|
||||
str r1, [sp, #8]
|
||||
mov r0, #0xa
|
||||
str r0, [sp, #0xc]
|
||||
ldr r2, [r6, #0]
|
||||
mov r0, #0x26
|
||||
mov r3, #1
|
||||
bl sub_02006E3C
|
||||
mov r0, #0x20
|
||||
str r0, [sp]
|
||||
mov r0, #0xa
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x26
|
||||
mov r1, #0x18
|
||||
mov r2, #0
|
||||
mov r3, #0xe0
|
||||
bl sub_02006E84
|
||||
ldr r0, [r6, #0x20]
|
||||
ldr r2, _021DB444 ; =0x00000209
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
str r0, [sp]
|
||||
mov r0, #0xa
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r6, #0]
|
||||
mov r1, #1
|
||||
mov r3, #8
|
||||
bl sub_0200DD0C
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_021DB440: .word 0x021E01F8
|
||||
_021DB444: .word 0x00000209
|
||||
thumb_func_end ov19_021DB3C4
|
||||
|
||||
thumb_func_start ov19_021DB448
|
||||
ov19_021DB448: ; 0x021DB448
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0xc
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x18]
|
||||
add r4, r1, #0
|
||||
bl sub_0201A9F4
|
||||
ldr r3, [r5, #0x18]
|
||||
ldrb r0, [r3, #7]
|
||||
str r0, [sp]
|
||||
ldrb r0, [r3, #8]
|
||||
str r0, [sp, #4]
|
||||
ldrb r1, [r3, #4]
|
||||
ldrb r2, [r3, #5]
|
||||
ldrb r3, [r3, #6]
|
||||
ldr r0, [r5, #0]
|
||||
bl ov19_021DB4B4
|
||||
ldr r0, [r5, #0x18]
|
||||
mov r1, #0xf
|
||||
bl sub_0201ADA4
|
||||
ldr r0, [r5, #0x10]
|
||||
ldr r2, [r5, #0x30]
|
||||
add r1, r4, #0
|
||||
bl sub_0200B1B8
|
||||
ldr r0, [r5, #0x2c]
|
||||
ldr r1, [r5, #0x34]
|
||||
ldr r2, [r5, #0x30]
|
||||
bl sub_0200C388
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #4]
|
||||
str r3, [sp, #8]
|
||||
ldr r0, [r5, #0x18]
|
||||
ldr r2, [r5, #0x34]
|
||||
mov r1, #1
|
||||
bl sub_0201D738
|
||||
ldr r0, [r5, #0x18]
|
||||
bl sub_0201ACCC
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, #1
|
||||
bl sub_02019448
|
||||
mov r0, #1
|
||||
strh r0, [r5, #0x1c]
|
||||
add sp, #0xc
|
||||
pop {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DB448
|
||||
|
||||
thumb_func_start ov19_021DB4B4
|
||||
ov19_021DB4B4: ; 0x021DB4B4
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
lsl r1, r1, #0x18
|
||||
add r7, r3, #0
|
||||
lsr r1, r1, #0x18
|
||||
add r6, r2, #0
|
||||
ldr r4, [sp, #0x18]
|
||||
ldr r5, [sp, #0x1c]
|
||||
bl sub_02019FE4
|
||||
sub r1, r7, #1
|
||||
sub r2, r6, #2
|
||||
lsl r1, r1, #5
|
||||
add r1, r2, r1
|
||||
lsl r3, r1, #1
|
||||
ldr r2, _021DB558 ; =0x00008209
|
||||
add r1, r0, r3
|
||||
strh r2, [r0, r3]
|
||||
add r0, r2, #1
|
||||
mov r2, #0
|
||||
strh r0, [r1, #2]
|
||||
cmp r4, #0
|
||||
bls _021DB4EE
|
||||
ldr r0, _021DB55C ; =0x0000820B
|
||||
add r3, r1, #0
|
||||
_021DB4E4:
|
||||
add r2, r2, #1
|
||||
strh r0, [r3, #4]
|
||||
add r3, r3, #2
|
||||
cmp r2, r4
|
||||
blo _021DB4E4
|
||||
_021DB4EE:
|
||||
lsl r0, r4, #1
|
||||
add r2, r1, r0
|
||||
ldr r3, _021DB560 ; =0x0000820C
|
||||
mov ip, r0
|
||||
strh r3, [r2, #4]
|
||||
add r0, r3, #1
|
||||
strh r0, [r2, #6]
|
||||
add r0, r3, #2
|
||||
strh r0, [r2, #8]
|
||||
add r1, #0x40
|
||||
mov r3, #0
|
||||
cmp r5, #0
|
||||
bls _021DB52A
|
||||
mov r0, ip
|
||||
add r2, r0, r1
|
||||
ldr r0, _021DB564 ; =0x0000820F
|
||||
add r7, r0, #1
|
||||
_021DB510:
|
||||
strh r0, [r1]
|
||||
strh r7, [r1, #2]
|
||||
ldr r6, _021DB568 ; =0x00008212
|
||||
add r3, r3, #1
|
||||
strh r6, [r2, #4]
|
||||
add r6, r6, #1
|
||||
strh r6, [r2, #6]
|
||||
ldr r6, _021DB56C ; =0x00008214
|
||||
add r1, #0x40
|
||||
strh r6, [r2, #8]
|
||||
add r2, #0x40
|
||||
cmp r3, r5
|
||||
blo _021DB510
|
||||
_021DB52A:
|
||||
ldr r0, _021DB570 ; =0x00008215
|
||||
mov r3, #0
|
||||
strh r0, [r1]
|
||||
add r0, r0, #1
|
||||
strh r0, [r1, #2]
|
||||
cmp r4, #0
|
||||
bls _021DB546
|
||||
ldr r0, _021DB574 ; =0x00008217
|
||||
add r2, r1, #0
|
||||
_021DB53C:
|
||||
add r3, r3, #1
|
||||
strh r0, [r2, #4]
|
||||
add r2, r2, #2
|
||||
cmp r3, r4
|
||||
blo _021DB53C
|
||||
_021DB546:
|
||||
mov r0, ip
|
||||
ldr r2, _021DB578 ; =0x00008218
|
||||
add r1, r1, r0
|
||||
strh r2, [r1, #4]
|
||||
add r0, r2, #1
|
||||
strh r0, [r1, #6]
|
||||
add r0, r2, #2
|
||||
strh r0, [r1, #8]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_021DB558: .word 0x00008209
|
||||
_021DB55C: .word 0x0000820B
|
||||
_021DB560: .word 0x0000820C
|
||||
_021DB564: .word 0x0000820F
|
||||
_021DB568: .word 0x00008212
|
||||
_021DB56C: .word 0x00008214
|
||||
_021DB570: .word 0x00008215
|
||||
_021DB574: .word 0x00008217
|
||||
_021DB578: .word 0x00008218
|
||||
thumb_func_end ov19_021DB4B4
|
||||
|
||||
thumb_func_start ov19_021DB57C
|
||||
ov19_021DB57C: ; 0x021DB57C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
ldrh r0, [r5, #0x1e]
|
||||
str r1, [sp, #0x10]
|
||||
cmp r0, #0
|
||||
beq _021DB594
|
||||
ldr r1, [r5, #0x18]
|
||||
ldr r0, [r5, #0]
|
||||
add r1, #0x10
|
||||
bl ov19_021DB84C
|
||||
_021DB594:
|
||||
ldr r0, [r5, #0x18]
|
||||
mov r1, #0xf
|
||||
str r0, [sp, #0x14]
|
||||
add r0, #0x10
|
||||
str r0, [sp, #0x14]
|
||||
bl sub_0201ADA4
|
||||
ldr r0, [sp, #0x10]
|
||||
mov r6, #0
|
||||
add r0, #0x21
|
||||
ldrb r1, [r0]
|
||||
mov r0, #8
|
||||
sub r0, r0, r1
|
||||
lsl r7, r0, #4
|
||||
cmp r1, #0
|
||||
bls _021DB608
|
||||
ldr r4, [sp, #0x10]
|
||||
_021DB5B6:
|
||||
ldr r3, [r4, #0]
|
||||
cmp r3, #0x38
|
||||
blt _021DB5D2
|
||||
cmp r3, #0x3d
|
||||
bgt _021DB5D2
|
||||
ldr r2, [sp, #0x10]
|
||||
ldr r1, [sp, #0x14]
|
||||
add r2, #0x22
|
||||
ldrb r2, [r2]
|
||||
add r0, r5, #0
|
||||
sub r3, #0x38
|
||||
bl ov19_021DB638
|
||||
b _021DB5F8
|
||||
_021DB5D2:
|
||||
add r3, #0x18
|
||||
ldr r0, [r5, #0x14]
|
||||
ldr r2, [r5, #0x30]
|
||||
add r1, r3, #0
|
||||
bl sub_0200B1B8
|
||||
str r7, [sp]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #4]
|
||||
ldr r0, _021DB634 ; =0x000B0C0F
|
||||
mov r1, #0
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [sp, #0x14]
|
||||
ldr r2, [r5, #0x30]
|
||||
mov r3, #0xa
|
||||
bl sub_0201D78C
|
||||
_021DB5F8:
|
||||
ldr r0, [sp, #0x10]
|
||||
add r6, r6, #1
|
||||
add r0, #0x21
|
||||
ldrb r0, [r0]
|
||||
add r7, #0x10
|
||||
add r4, r4, #4
|
||||
cmp r6, r0
|
||||
blo _021DB5B6
|
||||
_021DB608:
|
||||
ldr r1, [sp, #0x10]
|
||||
add r0, r5, #0
|
||||
bl ov19_021DB748
|
||||
ldr r1, [sp, #0x10]
|
||||
add r0, r5, #0
|
||||
add r1, #0x21
|
||||
str r1, [sp, #0x10]
|
||||
ldrb r1, [r1]
|
||||
bl ov19_021DB684
|
||||
ldr r0, [sp, #0x14]
|
||||
bl sub_0201ACCC
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, #1
|
||||
bl sub_02019448
|
||||
mov r0, #1
|
||||
strh r0, [r5, #0x1e]
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_021DB634: .word 0x000B0C0F
|
||||
thumb_func_end ov19_021DB57C
|
||||
|
||||
thumb_func_start ov19_021DB638
|
||||
ov19_021DB638: ; 0x021DB638
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x1c
|
||||
add r5, r0, #0
|
||||
mov r0, #1
|
||||
lsl r0, r3
|
||||
tst r0, r2
|
||||
beq _021DB64A
|
||||
mov r4, #0
|
||||
b _021DB64C
|
||||
_021DB64A:
|
||||
mov r4, #8
|
||||
_021DB64C:
|
||||
mov r0, #0x30
|
||||
str r0, [sp]
|
||||
mov r0, #0x10
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x2c
|
||||
str r0, [sp, #8]
|
||||
lsl r0, r3, #4
|
||||
add r0, r0, #4
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #8
|
||||
str r0, [sp, #0x10]
|
||||
lsl r2, r3, #0x13
|
||||
str r0, [sp, #0x14]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #0x18]
|
||||
add r0, r1, #0
|
||||
ldr r1, [r5, #0x28]
|
||||
lsl r3, r4, #0x10
|
||||
ldr r1, [r1, #0x14]
|
||||
lsr r2, r2, #0x10
|
||||
lsr r3, r3, #0x10
|
||||
bl sub_0201AE08
|
||||
add sp, #0x1c
|
||||
pop {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DB638
|
||||
|
||||
thumb_func_start ov19_021DB684
|
||||
ov19_021DB684: ; 0x021DB684
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0xc
|
||||
str r0, [sp, #8]
|
||||
add r5, r1, #0
|
||||
ldr r0, [r0, #0]
|
||||
mov r1, #1
|
||||
bl sub_02019FE4
|
||||
mov r2, #8
|
||||
sub r2, r2, r5
|
||||
mov ip, r2
|
||||
add r0, #0xe6
|
||||
lsl r2, r2, #7
|
||||
add r2, r0, r2
|
||||
ldr r1, _021DB6EC ; =0x00000251
|
||||
mov r3, #0x18
|
||||
mov r0, ip
|
||||
mul r3, r0
|
||||
add r4, r1, r3
|
||||
mov r6, #0
|
||||
lsl r7, r5, #1
|
||||
beq _021DB6D0
|
||||
mov r0, #1
|
||||
lsl r0, r0, #0xe
|
||||
_021DB6B4:
|
||||
mov r3, #0
|
||||
add r5, r2, #0
|
||||
_021DB6B8:
|
||||
add r1, r4, #0
|
||||
orr r1, r0
|
||||
strh r1, [r5]
|
||||
add r3, r3, #1
|
||||
add r4, r4, #1
|
||||
add r5, r5, #2
|
||||
cmp r3, #0xc
|
||||
blo _021DB6B8
|
||||
add r6, r6, #1
|
||||
add r2, #0x40
|
||||
cmp r6, r7
|
||||
blo _021DB6B4
|
||||
_021DB6D0:
|
||||
mov r0, #0xc
|
||||
str r0, [sp]
|
||||
mov r3, ip
|
||||
lsl r3, r3, #1
|
||||
ldr r0, [sp, #8]
|
||||
str r7, [sp, #4]
|
||||
ldr r0, [r0, #0]
|
||||
mov r1, #1
|
||||
mov r2, #0x13
|
||||
add r3, r3, #3
|
||||
bl ov19_021DB7BC
|
||||
add sp, #0xc
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_021DB6EC: .word 0x00000251
|
||||
thumb_func_end ov19_021DB684
|
||||
|
||||
thumb_func_start ov19_021DB6F0
|
||||
ov19_021DB6F0: ; 0x021DB6F0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldrh r0, [r4, #0x1c]
|
||||
cmp r0, #0
|
||||
beq _021DB706
|
||||
ldr r0, [r4, #0]
|
||||
ldr r1, [r4, #0x18]
|
||||
bl ov19_021DB898
|
||||
mov r0, #0
|
||||
strh r0, [r4, #0x1c]
|
||||
_021DB706:
|
||||
ldrh r0, [r4, #0x1e]
|
||||
cmp r0, #0
|
||||
beq _021DB71A
|
||||
ldr r1, [r4, #0x18]
|
||||
ldr r0, [r4, #0]
|
||||
add r1, #0x10
|
||||
bl ov19_021DB84C
|
||||
mov r0, #0
|
||||
strh r0, [r4, #0x1e]
|
||||
_021DB71A:
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #1
|
||||
bl sub_02019448
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov19_021DB6F0
|
||||
|
||||
thumb_func_start ov19_021DB724
|
||||
ov19_021DB724: ; 0x021DB724
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldrh r0, [r4, #0x1e]
|
||||
cmp r0, #0
|
||||
beq _021DB73C
|
||||
ldr r1, [r4, #0x18]
|
||||
ldr r0, [r4, #0]
|
||||
add r1, #0x10
|
||||
bl ov19_021DB84C
|
||||
mov r0, #0
|
||||
strh r0, [r4, #0x1e]
|
||||
_021DB73C:
|
||||
ldr r0, [r4, #0]
|
||||
mov r1, #1
|
||||
bl sub_02019448
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DB724
|
||||
|
||||
thumb_func_start ov19_021DB748
|
||||
ov19_021DB748: ; 0x021DB748
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #8
|
||||
add r6, r1, #0
|
||||
ldr r4, [r0, #0x18]
|
||||
add r0, r6, #0
|
||||
add r0, #0x21
|
||||
ldrb r1, [r0]
|
||||
mov r0, #8
|
||||
add r4, #0x10
|
||||
sub r0, r0, r1
|
||||
lsl r5, r0, #4
|
||||
mov r0, #0xa
|
||||
str r0, [sp]
|
||||
lsl r0, r1, #0x14
|
||||
lsr r0, r0, #0x10
|
||||
lsl r3, r5, #0x10
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
mov r1, #0xf
|
||||
mov r2, #0
|
||||
lsr r3, r3, #0x10
|
||||
bl sub_0201AE78
|
||||
add r6, #0x20
|
||||
ldrb r2, [r6]
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
lsl r2, r2, #4
|
||||
add r2, r5, r2
|
||||
bl sub_02002180
|
||||
add r0, r4, #0
|
||||
bl sub_0201ACCC
|
||||
add sp, #8
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov19_021DB748
|
||||
|
||||
thumb_func_start ov19_021DB790
|
||||
ov19_021DB790: ; 0x021DB790
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r6, r0, #0
|
||||
ldr r4, [r6, #0x18]
|
||||
add r7, r1, #0
|
||||
add r4, #0x10
|
||||
mov r5, #0
|
||||
_021DB79C:
|
||||
add r2, r7, #0
|
||||
add r2, #0x22
|
||||
ldrb r2, [r2]
|
||||
add r0, r6, #0
|
||||
add r1, r4, #0
|
||||
add r3, r5, #0
|
||||
bl ov19_021DB638
|
||||
add r5, r5, #1
|
||||
cmp r5, #6
|
||||
blt _021DB79C
|
||||
add r0, r4, #0
|
||||
bl sub_0201ACCC
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DB790
|
||||
|
||||
thumb_func_start ov19_021DB7BC
|
||||
ov19_021DB7BC: ; 0x021DB7BC
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
lsl r1, r1, #0x18
|
||||
add r7, r3, #0
|
||||
lsr r1, r1, #0x18
|
||||
add r6, r2, #0
|
||||
ldr r5, [sp, #0x18]
|
||||
ldr r4, [sp, #0x1c]
|
||||
bl sub_02019FE4
|
||||
sub r1, r7, #1
|
||||
sub r2, r6, #1
|
||||
lsl r1, r1, #5
|
||||
add r1, r2, r1
|
||||
mov r2, #0x72
|
||||
lsl r3, r1, #1
|
||||
lsl r2, r2, #8
|
||||
strh r2, [r0, r3]
|
||||
add r1, r0, r3
|
||||
mov r2, #0
|
||||
cmp r5, #0
|
||||
bls _021DB7F4
|
||||
ldr r0, _021DB838 ; =0x00007201
|
||||
add r3, r1, #0
|
||||
_021DB7EA:
|
||||
add r2, r2, #1
|
||||
strh r0, [r3, #2]
|
||||
add r3, r3, #2
|
||||
cmp r2, r5
|
||||
blo _021DB7EA
|
||||
_021DB7F4:
|
||||
lsl r0, r5, #1
|
||||
add r2, r1, r0
|
||||
ldr r3, _021DB83C ; =0x00007202
|
||||
add r1, #0x40
|
||||
mov r7, #0
|
||||
strh r3, [r2, #2]
|
||||
cmp r4, #0
|
||||
bls _021DB818
|
||||
ldr r2, _021DB840 ; =0x00007205
|
||||
add r6, r0, r1
|
||||
add r3, r3, #1
|
||||
_021DB80A:
|
||||
strh r3, [r1]
|
||||
strh r2, [r6, #2]
|
||||
add r7, r7, #1
|
||||
add r6, #0x40
|
||||
add r1, #0x40
|
||||
cmp r7, r4
|
||||
blo _021DB80A
|
||||
_021DB818:
|
||||
ldr r2, _021DB844 ; =0x00007206
|
||||
mov r4, #0
|
||||
strh r2, [r1]
|
||||
cmp r5, #0
|
||||
bls _021DB830
|
||||
add r3, r1, #0
|
||||
add r2, r2, #1
|
||||
_021DB826:
|
||||
add r4, r4, #1
|
||||
strh r2, [r3, #2]
|
||||
add r3, r3, #2
|
||||
cmp r4, r5
|
||||
blo _021DB826
|
||||
_021DB830:
|
||||
ldr r2, _021DB848 ; =0x00007208
|
||||
add r0, r1, r0
|
||||
strh r2, [r0, #2]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_021DB838: .word 0x00007201
|
||||
_021DB83C: .word 0x00007202
|
||||
_021DB840: .word 0x00007205
|
||||
_021DB844: .word 0x00007206
|
||||
_021DB848: .word 0x00007208
|
||||
thumb_func_end ov19_021DB7BC
|
||||
|
||||
thumb_func_start ov19_021DB84C
|
||||
ov19_021DB84C: ; 0x021DB84C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r4, r1, #0
|
||||
ldrb r1, [r4, #4]
|
||||
bl sub_02019FE4
|
||||
ldrb r1, [r4, #5]
|
||||
mov r5, #0
|
||||
sub r2, r1, #1
|
||||
ldrb r1, [r4, #6]
|
||||
sub r1, r1, #1
|
||||
lsl r1, r1, #5
|
||||
add r1, r2, r1
|
||||
lsl r1, r1, #1
|
||||
add r2, r0, r1
|
||||
ldrb r0, [r4, #8]
|
||||
add r0, r0, #2
|
||||
beq _021DB896
|
||||
add r0, r5, #0
|
||||
add r1, r5, #0
|
||||
_021DB872:
|
||||
ldrb r6, [r4, #7]
|
||||
add r3, r1, #0
|
||||
add r6, r6, #2
|
||||
beq _021DB88A
|
||||
add r6, r2, #0
|
||||
_021DB87C:
|
||||
strh r0, [r6]
|
||||
ldrb r7, [r4, #7]
|
||||
add r3, r3, #1
|
||||
add r6, r6, #2
|
||||
add r7, r7, #2
|
||||
cmp r3, r7
|
||||
blo _021DB87C
|
||||
_021DB88A:
|
||||
ldrb r3, [r4, #8]
|
||||
add r5, r5, #1
|
||||
add r2, #0x40
|
||||
add r3, r3, #2
|
||||
cmp r5, r3
|
||||
blo _021DB872
|
||||
_021DB896:
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov19_021DB84C
|
||||
|
||||
thumb_func_start ov19_021DB898
|
||||
ov19_021DB898: ; 0x021DB898
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r4, r1, #0
|
||||
ldrb r1, [r4, #4]
|
||||
bl sub_02019FE4
|
||||
ldrb r1, [r4, #5]
|
||||
mov r5, #0
|
||||
sub r2, r1, #2
|
||||
ldrb r1, [r4, #6]
|
||||
sub r1, r1, #1
|
||||
lsl r1, r1, #5
|
||||
add r1, r2, r1
|
||||
lsl r1, r1, #1
|
||||
add r2, r0, r1
|
||||
ldrb r0, [r4, #8]
|
||||
add r0, r0, #2
|
||||
beq _021DB8E2
|
||||
add r0, r5, #0
|
||||
add r1, r5, #0
|
||||
_021DB8BE:
|
||||
ldrb r6, [r4, #7]
|
||||
add r3, r1, #0
|
||||
add r6, r6, #5
|
||||
beq _021DB8D6
|
||||
add r6, r2, #0
|
||||
_021DB8C8:
|
||||
strh r0, [r6]
|
||||
ldrb r7, [r4, #7]
|
||||
add r3, r3, #1
|
||||
add r6, r6, #2
|
||||
add r7, r7, #5
|
||||
cmp r3, r7
|
||||
blo _021DB8C8
|
||||
_021DB8D6:
|
||||
ldrb r3, [r4, #8]
|
||||
add r5, r5, #1
|
||||
add r2, #0x40
|
||||
add r3, r3, #2
|
||||
cmp r5, r3
|
||||
blo _021DB8BE
|
||||
_021DB8E2:
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov19_021DB898
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov19_021E01F8
|
||||
Unk_ov19_021E01F8: ; 0x021E01F8
|
||||
.incbin "incbin/overlay19_rodata.bin", 0x408, 0x10
|
||||
|
1731
asm/ov19_021DB8E4.s
Normal file
1731
asm/ov19_021DB8E4.s
Normal file
File diff suppressed because it is too large
Load Diff
1335
asm/ov19_021DC5F0.s
Normal file
1335
asm/ov19_021DC5F0.s
Normal file
File diff suppressed because it is too large
Load Diff
2800
asm/ov19_021DCF88.s
Normal file
2800
asm/ov19_021DCF88.s
Normal file
File diff suppressed because it is too large
Load Diff
1094
asm/ov19_021DE3E8.s
Normal file
1094
asm/ov19_021DE3E8.s
Normal file
File diff suppressed because it is too large
Load Diff
1739
asm/ov19_021DEC04.s
Normal file
1739
asm/ov19_021DEC04.s
Normal file
File diff suppressed because it is too large
Load Diff
607
asm/ov19_021DF964.s
Normal file
607
asm/ov19_021DF964.s
Normal file
@ -0,0 +1,607 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov19_021DF964
|
||||
ov19_021DF964: ; 0x021DF964
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
add r4, #0x74
|
||||
add r0, r4, #0
|
||||
add r5, r1, #0
|
||||
bl ov19_021DFCF8
|
||||
add r0, r4, #0
|
||||
mov r1, #0x36
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x37
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
add r0, #0x20
|
||||
strb r5, [r0]
|
||||
mov r0, #0
|
||||
add r4, #0x23
|
||||
strb r0, [r4]
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov19_021DF964
|
||||
|
||||
thumb_func_start ov19_021DF990
|
||||
ov19_021DF990: ; 0x021DF990
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r5, #0
|
||||
add r4, #0x74
|
||||
add r0, r4, #0
|
||||
bl ov19_021DFCF8
|
||||
add r0, r4, #0
|
||||
mov r1, #1
|
||||
add r0, #0x23
|
||||
strb r1, [r0]
|
||||
add r0, r5, #0
|
||||
bl ov19_021D5E08
|
||||
cmp r0, #4
|
||||
bhi _021DF9C6
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_021DF9BC: ; jump table
|
||||
.short _021DFA3C - _021DF9BC - 2 ; case 0
|
||||
.short _021DFA66 - _021DF9BC - 2 ; case 1
|
||||
.short _021DF9C6 - _021DF9BC - 2 ; case 2
|
||||
.short _021DF9C6 - _021DF9BC - 2 ; case 3
|
||||
.short _021DFA90 - _021DF9BC - 2 ; case 4
|
||||
_021DF9C6:
|
||||
add r0, r5, #0
|
||||
bl ov19_021D5E38
|
||||
cmp r0, #2
|
||||
bne _021DF9E8
|
||||
add r0, r5, #0
|
||||
bl ov19_021D5E34
|
||||
cmp r0, #0
|
||||
beq _021DF9DE
|
||||
mov r1, #0x24
|
||||
b _021DF9E0
|
||||
_021DF9DE:
|
||||
mov r1, #0x23
|
||||
_021DF9E0:
|
||||
add r0, r4, #0
|
||||
bl ov19_021DFD08
|
||||
b _021DF9F0
|
||||
_021DF9E8:
|
||||
add r0, r4, #0
|
||||
mov r1, #0x22
|
||||
bl ov19_021DFD08
|
||||
_021DF9F0:
|
||||
add r0, r4, #0
|
||||
mov r1, #0x25
|
||||
bl ov19_021DFD08
|
||||
add r0, r5, #0
|
||||
bl ov19_021D5E70
|
||||
ldrb r0, [r0, #0xf]
|
||||
cmp r0, #0
|
||||
bne _021DFA0C
|
||||
add r0, r4, #0
|
||||
mov r1, #0x28
|
||||
bl ov19_021DFD08
|
||||
_021DFA0C:
|
||||
add r0, r5, #0
|
||||
bl ov19_021D5E10
|
||||
cmp r0, #0
|
||||
bne _021DFA1A
|
||||
mov r1, #0x26
|
||||
b _021DFA1C
|
||||
_021DFA1A:
|
||||
mov r1, #0x27
|
||||
_021DFA1C:
|
||||
add r0, r4, #0
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x29
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x2a
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x2b
|
||||
bl ov19_021DFD08
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DFA3C:
|
||||
add r0, r4, #0
|
||||
mov r1, #0x27
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x25
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x29
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x2a
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x2b
|
||||
bl ov19_021DFD08
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DFA66:
|
||||
add r0, r4, #0
|
||||
mov r1, #0x26
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x25
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x29
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x2a
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x2b
|
||||
bl ov19_021DFD08
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DFA90:
|
||||
add r0, r5, #0
|
||||
bl ov19_021D5F9C
|
||||
cmp r0, #0
|
||||
bne _021DFA9E
|
||||
mov r1, #0x34
|
||||
b _021DFAA0
|
||||
_021DFA9E:
|
||||
mov r1, #0x35
|
||||
_021DFAA0:
|
||||
add r0, r4, #0
|
||||
bl ov19_021DFD08
|
||||
add r0, r5, #0
|
||||
bl ov19_021D5E10
|
||||
cmp r0, #0
|
||||
bne _021DFAB4
|
||||
mov r1, #0x26
|
||||
b _021DFAB6
|
||||
_021DFAB4:
|
||||
mov r1, #0x27
|
||||
_021DFAB6:
|
||||
add r0, r4, #0
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x29
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x2b
|
||||
bl ov19_021DFD08
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DF990
|
||||
|
||||
thumb_func_start ov19_021DFAD0
|
||||
ov19_021DFAD0: ; 0x021DFAD0
|
||||
push {r4, r5, r6, lr}
|
||||
add r4, r0, #0
|
||||
add r5, r4, #0
|
||||
add r5, #0x74
|
||||
bl ov19_021D5F7C
|
||||
add r6, r0, #0
|
||||
add r0, r4, #0
|
||||
bl ov19_021D5E74
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ov19_021DFCF8
|
||||
add r0, r5, #0
|
||||
mov r1, #1
|
||||
add r0, #0x23
|
||||
strb r1, [r0]
|
||||
cmp r6, #0
|
||||
beq _021DFB20
|
||||
cmp r4, #0
|
||||
beq _021DFB06
|
||||
add r0, r5, #0
|
||||
mov r1, #0x31
|
||||
bl ov19_021DFD08
|
||||
b _021DFB0E
|
||||
_021DFB06:
|
||||
add r0, r5, #0
|
||||
mov r1, #0x2e
|
||||
bl ov19_021DFD08
|
||||
_021DFB0E:
|
||||
add r0, r5, #0
|
||||
mov r1, #0x32
|
||||
bl ov19_021DFD08
|
||||
add r0, r5, #0
|
||||
mov r1, #0x30
|
||||
bl ov19_021DFD08
|
||||
b _021DFB46
|
||||
_021DFB20:
|
||||
cmp r4, #0
|
||||
beq _021DFB3E
|
||||
add r0, r5, #0
|
||||
mov r1, #0x2f
|
||||
bl ov19_021DFD08
|
||||
add r0, r5, #0
|
||||
mov r1, #0x32
|
||||
bl ov19_021DFD08
|
||||
add r0, r5, #0
|
||||
mov r1, #0x30
|
||||
bl ov19_021DFD08
|
||||
b _021DFB46
|
||||
_021DFB3E:
|
||||
add r0, r5, #0
|
||||
mov r1, #0x2e
|
||||
bl ov19_021DFD08
|
||||
_021DFB46:
|
||||
add r0, r5, #0
|
||||
mov r1, #0x33
|
||||
bl ov19_021DFD08
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov19_021DFAD0
|
||||
|
||||
thumb_func_start ov19_021DFB50
|
||||
ov19_021DFB50: ; 0x021DFB50
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r5, #0
|
||||
add r4, #0x74
|
||||
bl ov19_021D5E90
|
||||
add r0, r4, #0
|
||||
bl ov19_021DFCF8
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
bl ov19_021DFD08
|
||||
add r0, r5, #0
|
||||
bl ov19_021D5E08
|
||||
cmp r0, #4
|
||||
beq _021DFB84
|
||||
add r0, r4, #0
|
||||
mov r1, #1
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #2
|
||||
bl ov19_021DFD08
|
||||
_021DFB84:
|
||||
add r0, r4, #0
|
||||
mov r1, #3
|
||||
bl ov19_021DFD08
|
||||
mov r0, #2
|
||||
add r4, #0x23
|
||||
strb r0, [r4]
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov19_021DFB50
|
||||
|
||||
thumb_func_start ov19_021DFB94
|
||||
ov19_021DFB94: ; 0x021DFB94
|
||||
push {r4, r5, r6, lr}
|
||||
add r4, r0, #0
|
||||
add r4, #0x74
|
||||
add r5, r1, #0
|
||||
bl ov19_021D5E90
|
||||
add r6, r0, #0
|
||||
add r0, r4, #0
|
||||
bl ov19_021DFCF8
|
||||
add r0, r4, #0
|
||||
mov r1, #4
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #5
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #6
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #7
|
||||
bl ov19_021DFD08
|
||||
add r0, r6, #0
|
||||
bl sub_02079D20
|
||||
add r6, r0, #0
|
||||
beq _021DFBDA
|
||||
add r0, r4, #0
|
||||
mov r1, #8
|
||||
bl ov19_021DFD08
|
||||
_021DFBDA:
|
||||
cmp r6, #4
|
||||
bls _021DFBE6
|
||||
add r0, r4, #0
|
||||
mov r1, #9
|
||||
bl ov19_021DFD08
|
||||
_021DFBE6:
|
||||
add r0, r4, #0
|
||||
mov r1, #3
|
||||
add r0, #0x23
|
||||
strb r1, [r0]
|
||||
cmp r5, #4
|
||||
blt _021DFBFE
|
||||
cmp r5, #9
|
||||
bgt _021DFBFE
|
||||
sub r0, r5, #4
|
||||
add r4, #0x20
|
||||
strb r0, [r4]
|
||||
pop {r4, r5, r6, pc}
|
||||
_021DFBFE:
|
||||
bl sub_02022974
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov19_021DFB94
|
||||
|
||||
thumb_func_start ov19_021DFC04
|
||||
ov19_021DFC04: ; 0x021DFC04
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r6, r0, #0
|
||||
add r6, #0x74
|
||||
add r5, r1, #0
|
||||
bl ov19_021D5E90
|
||||
str r0, [sp]
|
||||
add r0, r6, #0
|
||||
bl ov19_021DFCF8
|
||||
cmp r5, #4
|
||||
blt _021DFC3C
|
||||
cmp r5, #7
|
||||
bgt _021DFC3C
|
||||
sub r0, r5, #4
|
||||
ldr r1, _021DFC7C ; =0x021E058C
|
||||
lsl r0, r0, #3
|
||||
mov r5, #0
|
||||
add r4, r1, r0
|
||||
_021DFC2A:
|
||||
ldrh r1, [r4]
|
||||
add r0, r6, #0
|
||||
bl ov19_021DFD08
|
||||
add r5, r5, #1
|
||||
add r4, r4, #2
|
||||
cmp r5, #4
|
||||
blt _021DFC2A
|
||||
b _021DFC72
|
||||
_021DFC3C:
|
||||
mov r4, #0
|
||||
add r7, r4, #0
|
||||
cmp r5, #9
|
||||
bne _021DFC46
|
||||
mov r4, #4
|
||||
_021DFC46:
|
||||
mov r5, #0
|
||||
_021DFC48:
|
||||
ldr r0, [sp]
|
||||
add r1, r5, #0
|
||||
bl sub_02079CFC
|
||||
cmp r0, #0
|
||||
beq _021DFC6C
|
||||
cmp r4, #0
|
||||
beq _021DFC5C
|
||||
sub r4, r4, #1
|
||||
b _021DFC6C
|
||||
_021DFC5C:
|
||||
add r1, r5, #0
|
||||
add r0, r6, #0
|
||||
add r1, #0x1a
|
||||
bl ov19_021DFD08
|
||||
add r7, r7, #1
|
||||
cmp r7, #4
|
||||
bge _021DFC72
|
||||
_021DFC6C:
|
||||
add r5, r5, #1
|
||||
cmp r5, #8
|
||||
blt _021DFC48
|
||||
_021DFC72:
|
||||
mov r0, #3
|
||||
add r6, #0x23
|
||||
strb r0, [r6]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_021DFC7C: .word 0x021E058C
|
||||
thumb_func_end ov19_021DFC04
|
||||
|
||||
thumb_func_start ov19_021DFC80
|
||||
ov19_021DFC80: ; 0x021DFC80
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r5, #0
|
||||
add r4, #0x74
|
||||
add r0, r4, #0
|
||||
bl ov19_021DFCF8
|
||||
add r0, r4, #0
|
||||
mov r1, #4
|
||||
add r0, #0x23
|
||||
strb r1, [r0]
|
||||
add r5, #0x57
|
||||
add r0, r4, #0
|
||||
ldrb r1, [r5]
|
||||
add r0, #0x22
|
||||
strb r1, [r0]
|
||||
add r0, r4, #0
|
||||
mov r1, #0x38
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x39
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x3a
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x3b
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x3c
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x3d
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x2c
|
||||
bl ov19_021DFD08
|
||||
add r0, r4, #0
|
||||
mov r1, #0x2d
|
||||
bl ov19_021DFD08
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DFC80
|
||||
|
||||
thumb_func_start ov19_021DFCE4
|
||||
ov19_021DFCE4: ; 0x021DFCE4
|
||||
add r2, r0, #0
|
||||
add r2, #0x96
|
||||
ldrb r3, [r2]
|
||||
mov r2, #1
|
||||
lsl r2, r1
|
||||
add r1, r3, #0
|
||||
eor r1, r2
|
||||
add r0, #0x96
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
thumb_func_end ov19_021DFCE4
|
||||
|
||||
thumb_func_start ov19_021DFCF8
|
||||
ov19_021DFCF8: ; 0x021DFCF8
|
||||
add r1, r0, #0
|
||||
mov r2, #0
|
||||
add r1, #0x21
|
||||
strb r2, [r1]
|
||||
add r0, #0x20
|
||||
strb r2, [r0]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DFCF8
|
||||
|
||||
thumb_func_start ov19_021DFD08
|
||||
ov19_021DFD08: ; 0x021DFD08
|
||||
push {r3, r4}
|
||||
add r2, r0, #0
|
||||
add r2, #0x21
|
||||
ldrb r4, [r2]
|
||||
cmp r4, #8
|
||||
bhs _021DFD26
|
||||
add r2, r0, #0
|
||||
add r2, #0x21
|
||||
ldrb r2, [r2]
|
||||
add r3, r2, #1
|
||||
add r2, r0, #0
|
||||
add r2, #0x21
|
||||
strb r3, [r2]
|
||||
lsl r2, r4, #2
|
||||
str r1, [r0, r2]
|
||||
_021DFD26:
|
||||
pop {r3, r4}
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DFD08
|
||||
|
||||
thumb_func_start ov19_021DFD2C
|
||||
ov19_021DFD2C: ; 0x021DFD2C
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, _021DFDD4 ; =0x021BF67C
|
||||
add r4, #0x74
|
||||
ldr r1, [r0, #0x48]
|
||||
mov r0, #0x40
|
||||
add r2, r1, #0
|
||||
tst r2, r0
|
||||
beq _021DFD6C
|
||||
add r2, r4, #0
|
||||
add r2, #0x20
|
||||
ldrb r2, [r2]
|
||||
cmp r2, #0
|
||||
beq _021DFD58
|
||||
add r1, r4, #0
|
||||
add r1, #0x20
|
||||
ldrb r1, [r1]
|
||||
add r4, #0x20
|
||||
sub r0, #0x42
|
||||
sub r1, r1, #1
|
||||
strb r1, [r4]
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DFD58:
|
||||
add r2, r4, #0
|
||||
add r2, #0x21
|
||||
ldrb r2, [r2]
|
||||
cmp r2, #3
|
||||
blo _021DFD6C
|
||||
sub r1, r2, #1
|
||||
add r4, #0x20
|
||||
strb r1, [r4]
|
||||
sub r0, #0x42
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DFD6C:
|
||||
mov r0, #0x80
|
||||
add r2, r1, #0
|
||||
tst r2, r0
|
||||
beq _021DFDA4
|
||||
add r2, r4, #0
|
||||
add r2, #0x21
|
||||
ldrb r5, [r2]
|
||||
add r2, r4, #0
|
||||
add r2, #0x20
|
||||
ldrb r3, [r2]
|
||||
sub r2, r5, #1
|
||||
cmp r3, r2
|
||||
bge _021DFD96
|
||||
add r1, r4, #0
|
||||
add r1, #0x20
|
||||
ldrb r1, [r1]
|
||||
add r4, #0x20
|
||||
sub r0, #0x82
|
||||
add r1, r1, #1
|
||||
strb r1, [r4]
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DFD96:
|
||||
cmp r5, #3
|
||||
blo _021DFDA4
|
||||
mov r0, #0
|
||||
add r4, #0x20
|
||||
strb r0, [r4]
|
||||
sub r0, r0, #2
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DFDA4:
|
||||
mov r0, #2
|
||||
tst r0, r1
|
||||
beq _021DFDB6
|
||||
ldr r0, _021DFDD8 ; =0x000005DD
|
||||
bl sub_02005748
|
||||
mov r0, #0
|
||||
mvn r0, r0
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DFDB6:
|
||||
mov r0, #1
|
||||
tst r1, r0
|
||||
beq _021DFDCE
|
||||
ldr r0, _021DFDD8 ; =0x000005DD
|
||||
bl sub_02005748
|
||||
add r0, r4, #0
|
||||
add r0, #0x20
|
||||
ldrb r0, [r0]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DFDCE:
|
||||
sub r0, r0, #4
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_021DFDD4: .word 0x021BF67C
|
||||
_021DFDD8: .word 0x000005DD
|
||||
thumb_func_end ov19_021DFD2C
|
||||
|
||||
thumb_func_start ov19_021DFDDC
|
||||
ov19_021DFDDC: ; 0x021DFDDC
|
||||
add r0, #0x74
|
||||
add r1, r0, #0
|
||||
add r1, #0x20
|
||||
ldrb r1, [r1]
|
||||
lsl r1, r1, #2
|
||||
ldr r0, [r0, r1]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov19_021DFDDC
|
||||
|
||||
thumb_func_start ov19_021DFDEC
|
||||
ov19_021DFDEC: ; 0x021DFDEC
|
||||
ldr r0, [r0, #0x74]
|
||||
bx lr
|
||||
thumb_func_end ov19_021DFDEC
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov19_021E058C
|
||||
Unk_ov19_021E058C: ; 0x021E058C
|
||||
.incbin "incbin/overlay19_rodata.bin", 0x79C, 0x20
|
||||
|
@ -1,8 +1,11 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov1_021D0D80
|
||||
ov1_021D0D80: ; 0x021D0D80
|
||||
ldr r0, _021D0D8C ; =0x021D0DA0
|
||||
@ -14,11 +17,17 @@ ov1_021D0D80: ; 0x021D0D80
|
||||
_021D0D8C: .word 0x021D0DA0
|
||||
thumb_func_end ov1_021D0D80
|
||||
|
||||
|
||||
.section .sinit, 4
|
||||
|
||||
.word ov1_021D0D80
|
||||
|
||||
|
||||
.bss
|
||||
.space 0x20
|
||||
|
||||
.global Unk_ov1_021D0DA0
|
||||
Unk_ov1_021D0DA0: ; 0x021D0DA0
|
||||
.space 0x4
|
||||
|
||||
.global Unk_ov1_021D0DA4
|
||||
Unk_ov1_021D0DA4: ; 0x021D0DA4
|
||||
.space 0x4
|
||||
|
2658
asm/ov20_021D0D80.s
Normal file
2658
asm/ov20_021D0D80.s
Normal file
File diff suppressed because it is too large
Load Diff
1841
asm/ov20_021D2098.s
Normal file
1841
asm/ov20_021D2098.s
Normal file
File diff suppressed because it is too large
Load Diff
1279
asm/ov20_021D2EA4.s
Normal file
1279
asm/ov20_021D2EA4.s
Normal file
File diff suppressed because it is too large
Load Diff
284
asm/ov20_021D3864.s
Normal file
284
asm/ov20_021D3864.s
Normal file
@ -0,0 +1,284 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov20_021D3864
|
||||
ov20_021D3864: ; 0x021D3864
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
mov r0, #0x23
|
||||
mov r1, #0x10
|
||||
add r6, r2, #0
|
||||
bl sub_02018144
|
||||
str r5, [r0, #0]
|
||||
str r4, [r0, #4]
|
||||
str r6, [r0, #8]
|
||||
mov r1, #0
|
||||
str r1, [r0, #0xc]
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov20_021D3864
|
||||
|
||||
thumb_func_start ov20_021D3880
|
||||
ov20_021D3880: ; 0x021D3880
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
beq _021D388E
|
||||
bl sub_02021BD4
|
||||
_021D388E:
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D3880
|
||||
|
||||
thumb_func_start ov20_021D3898
|
||||
ov20_021D3898: ; 0x021D3898
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x10
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
add r6, r1, #0
|
||||
bl ov20_021D2E04
|
||||
add r4, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0x23
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r6, #0
|
||||
mov r1, #4
|
||||
add r2, r4, #0
|
||||
mov r3, #3
|
||||
bl sub_0200710C
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0x23
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r6, #0
|
||||
mov r1, #5
|
||||
add r2, r4, #0
|
||||
mov r3, #3
|
||||
bl sub_020070E8
|
||||
ldr r1, _021D3904 ; =0x021D52D4
|
||||
add r0, r4, #0
|
||||
mov r2, #0
|
||||
bl ov20_021D390C
|
||||
ldr r1, _021D3908 ; =0x021D52DC
|
||||
add r0, r4, #0
|
||||
mov r2, #1
|
||||
bl ov20_021D390C
|
||||
add r0, r5, #0
|
||||
bl ov20_021D3980
|
||||
add r0, r4, #0
|
||||
mov r1, #3
|
||||
bl sub_02019448
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
_021D3904: .word 0x021D52D4
|
||||
_021D3908: .word 0x021D52DC
|
||||
thumb_func_end ov20_021D3898
|
||||
|
||||
thumb_func_start ov20_021D390C
|
||||
ov20_021D390C: ; 0x021D390C
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x20
|
||||
add r5, r1, #0
|
||||
add r4, r2, #0
|
||||
add r1, sp, #0x10
|
||||
add r2, r5, #0
|
||||
bl sub_0201A8D4
|
||||
add r0, sp, #0x10
|
||||
bl sub_0201A9F4
|
||||
add r0, sp, #0x10
|
||||
mov r1, #0xe
|
||||
bl sub_0201ADA4
|
||||
ldr r1, _021D3978 ; =0x000001B6
|
||||
mov r0, #0x1a
|
||||
add r2, r4, #0
|
||||
mov r3, #0x23
|
||||
bl sub_0200B010
|
||||
add r4, r0, #0
|
||||
mov r0, #0
|
||||
add r1, r4, #0
|
||||
add r2, r0, #0
|
||||
bl sub_02002D7C
|
||||
ldrb r1, [r5, #3]
|
||||
add r2, r4, #0
|
||||
lsl r1, r1, #3
|
||||
sub r0, r1, r0
|
||||
mov r1, #0
|
||||
lsr r3, r0, #1
|
||||
str r1, [sp]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #4]
|
||||
ldr r0, _021D397C ; =0x0001020E
|
||||
str r0, [sp, #8]
|
||||
add r0, sp, #0x10
|
||||
str r1, [sp, #0xc]
|
||||
bl sub_0201D78C
|
||||
add r0, sp, #0x10
|
||||
bl sub_0201ACCC
|
||||
add r0, r4, #0
|
||||
bl sub_020237BC
|
||||
add r0, sp, #0x10
|
||||
bl sub_0201A8FC
|
||||
add sp, #0x20
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_021D3978: .word 0x000001B6
|
||||
_021D397C: .word 0x0001020E
|
||||
thumb_func_end ov20_021D390C
|
||||
|
||||
thumb_func_start ov20_021D3980
|
||||
ov20_021D3980: ; 0x021D3980
|
||||
push {r3, r4, lr}
|
||||
sub sp, #0x2c
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
add r1, sp, #8
|
||||
mov r2, #0
|
||||
mov r3, #3
|
||||
bl ov20_021D2E0C
|
||||
mov r0, #5
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #0]
|
||||
add r1, sp, #8
|
||||
mov r2, #0x40
|
||||
mov r3, #0x38
|
||||
bl ov20_021D2E50
|
||||
str r0, [r4, #0xc]
|
||||
mov r1, #2
|
||||
bl sub_02021D6C
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0
|
||||
bl sub_02021CAC
|
||||
add sp, #0x2c
|
||||
pop {r3, r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D3980
|
||||
|
||||
thumb_func_start ov20_021D39BC
|
||||
ov20_021D39BC: ; 0x021D39BC
|
||||
ldr r3, _021D39C4 ; =sub_02021D6C
|
||||
ldr r0, [r0, #0xc]
|
||||
mov r1, #3
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_021D39C4: .word sub_02021D6C
|
||||
thumb_func_end ov20_021D39BC
|
||||
|
||||
thumb_func_start ov20_021D39C8
|
||||
ov20_021D39C8: ; 0x021D39C8
|
||||
ldr r3, _021D39D0 ; =sub_02021D6C
|
||||
ldr r0, [r0, #0xc]
|
||||
mov r1, #2
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_021D39D0: .word sub_02021D6C
|
||||
thumb_func_end ov20_021D39C8
|
||||
|
||||
thumb_func_start ov20_021D39D4
|
||||
ov20_021D39D4: ; 0x021D39D4
|
||||
ldr r3, _021D39DC ; =sub_02021CAC
|
||||
ldr r0, [r0, #0xc]
|
||||
bx r3
|
||||
nop
|
||||
_021D39DC: .word sub_02021CAC
|
||||
thumb_func_end ov20_021D39D4
|
||||
|
||||
thumb_func_start ov20_021D39E0
|
||||
ov20_021D39E0: ; 0x021D39E0
|
||||
ldr r3, _021D39E8 ; =sub_02021D34
|
||||
ldr r0, [r0, #0xc]
|
||||
bx r3
|
||||
nop
|
||||
_021D39E8: .word sub_02021D34
|
||||
thumb_func_end ov20_021D39E0
|
||||
|
||||
thumb_func_start ov20_021D39EC
|
||||
ov20_021D39EC: ; 0x021D39EC
|
||||
push {r3, r4, lr}
|
||||
sub sp, #0xc
|
||||
add r4, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
cmp r1, #0
|
||||
beq _021D39FE
|
||||
cmp r1, #1
|
||||
beq _021D3A0C
|
||||
_021D39FE:
|
||||
mov r0, #1
|
||||
lsl r0, r0, #0x12
|
||||
str r0, [sp]
|
||||
mov r0, #0xe
|
||||
lsl r0, r0, #0xe
|
||||
str r0, [sp, #4]
|
||||
b _021D3A18
|
||||
_021D3A0C:
|
||||
mov r0, #3
|
||||
lsl r0, r0, #0x12
|
||||
str r0, [sp]
|
||||
mov r0, #0xe
|
||||
lsl r0, r0, #0xe
|
||||
str r0, [sp, #4]
|
||||
_021D3A18:
|
||||
ldr r0, [r4, #0xc]
|
||||
add r1, sp, #0
|
||||
bl sub_02021C50
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #2
|
||||
bl sub_02021D6C
|
||||
add sp, #0xc
|
||||
pop {r3, r4, pc}
|
||||
thumb_func_end ov20_021D39EC
|
||||
|
||||
thumb_func_start ov20_021D3A2C
|
||||
ov20_021D3A2C: ; 0x021D3A2C
|
||||
push {r3, lr}
|
||||
ldr r0, [r0, #0]
|
||||
bl ov20_021D2E04
|
||||
mov r1, #3
|
||||
add r2, r1, #0
|
||||
mov r3, #0x40
|
||||
bl sub_02019184
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov20_021D3A2C
|
||||
|
||||
thumb_func_start ov20_021D3A40
|
||||
ov20_021D3A40: ; 0x021D3A40
|
||||
push {r3, lr}
|
||||
ldr r0, [r0, #0]
|
||||
bl ov20_021D2E04
|
||||
mov r1, #3
|
||||
add r2, r1, #0
|
||||
mov r3, #0
|
||||
bl sub_02019184
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov20_021D3A40
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov20_021D52D4
|
||||
Unk_ov20_021D52D4: ; 0x021D52D4
|
||||
.incbin "incbin/overlay20_rodata.bin", 0x194, 0x19C - 0x194
|
||||
|
||||
.global Unk_ov20_021D52DC
|
||||
Unk_ov20_021D52DC: ; 0x021D52DC
|
||||
.incbin "incbin/overlay20_rodata.bin", 0x19C, 0x8
|
||||
|
879
asm/ov20_021D3A54.s
Normal file
879
asm/ov20_021D3A54.s
Normal file
@ -0,0 +1,879 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov20_021D3A54
|
||||
ov20_021D3A54: ; 0x021D3A54
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
mov r0, #0x23
|
||||
mov r1, #0x60
|
||||
add r7, r2, #0
|
||||
bl sub_02018144
|
||||
add r4, r0, #0
|
||||
str r5, [r4, #0]
|
||||
str r6, [r4, #4]
|
||||
str r7, [r4, #8]
|
||||
add r0, r5, #0
|
||||
bl ov20_021D2E04
|
||||
str r0, [r4, #0xc]
|
||||
mov r0, #0
|
||||
str r0, [r4, #0x10]
|
||||
str r0, [r4, #0x18]
|
||||
str r0, [r4, #0x5c]
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov20_021D3A54
|
||||
|
||||
thumb_func_start ov20_021D3A80
|
||||
ov20_021D3A80: ; 0x021D3A80
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x5c]
|
||||
cmp r0, #0
|
||||
beq _021D3A8E
|
||||
bl sub_02021BD4
|
||||
_021D3A8E:
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D3A80
|
||||
|
||||
thumb_func_start ov20_021D3A98
|
||||
ov20_021D3A98: ; 0x021D3A98
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x10
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
add r6, r1, #0
|
||||
bl ov20_021D2E04
|
||||
add r4, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
mov r3, #1
|
||||
str r3, [sp, #8]
|
||||
mov r0, #0x23
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r6, #0
|
||||
mov r1, #2
|
||||
add r2, r4, #0
|
||||
bl sub_0200710C
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
mov r3, #1
|
||||
str r3, [sp, #8]
|
||||
mov r0, #0x23
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r6, #0
|
||||
mov r1, #3
|
||||
add r2, r4, #0
|
||||
bl sub_020070E8
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
lsr r2, r2, #5
|
||||
bl ov20_021D3B74
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl ov20_021D3C78
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl ov20_021D3D44
|
||||
mov r2, #0
|
||||
add r0, r4, #0
|
||||
mov r1, #1
|
||||
sub r3, r2, #4
|
||||
bl sub_02019184
|
||||
add r0, r4, #0
|
||||
mov r1, #1
|
||||
mov r2, #3
|
||||
mov r3, #2
|
||||
bl sub_02019184
|
||||
add r0, r5, #0
|
||||
bl ov20_021D3E0C
|
||||
mov r1, #2
|
||||
add r2, r1, #0
|
||||
ldr r0, _021D3B68 ; =0x04000050
|
||||
sub r2, #0xc
|
||||
bl sub_020BF578
|
||||
ldr r0, _021D3B6C ; =0x04000048
|
||||
mov r2, #0x3f
|
||||
ldrh r3, [r0]
|
||||
mov r1, #0x1f
|
||||
bic r3, r2
|
||||
orr r1, r3
|
||||
mov r3, #0x20
|
||||
orr r1, r3
|
||||
strh r1, [r0]
|
||||
ldrh r5, [r0, #2]
|
||||
mov r1, #0x1d
|
||||
bic r5, r2
|
||||
orr r1, r5
|
||||
orr r1, r3
|
||||
strh r1, [r0, #2]
|
||||
add r1, r0, #0
|
||||
mov r2, #0xff
|
||||
sub r1, #8
|
||||
strh r2, [r1]
|
||||
mov r1, #0xa0
|
||||
sub r0, r0, #4
|
||||
strh r1, [r0]
|
||||
lsl r2, r3, #0x15
|
||||
ldr r1, [r2, #0]
|
||||
ldr r0, _021D3B70 ; =0xFFFF1FFF
|
||||
and r1, r0
|
||||
lsl r0, r3, #8
|
||||
orr r0, r1
|
||||
str r0, [r2, #0]
|
||||
add r0, r4, #0
|
||||
mov r1, #1
|
||||
bl sub_02019448
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_021D3B68: .word 0x04000050
|
||||
_021D3B6C: .word 0x04000048
|
||||
_021D3B70: .word 0xFFFF1FFF
|
||||
thumb_func_end ov20_021D3A98
|
||||
|
||||
thumb_func_start ov20_021D3B74
|
||||
ov20_021D3B74: ; 0x021D3B74
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x38
|
||||
add r6, r2, #0
|
||||
mov r2, #0x6d
|
||||
str r0, [sp, #0x14]
|
||||
str r1, [sp, #0x18]
|
||||
mov r0, #1
|
||||
mov r1, #0x1a
|
||||
lsl r2, r2, #2
|
||||
mov r3, #0x23
|
||||
bl sub_0200B144
|
||||
str r0, [sp, #0x20]
|
||||
mov r0, #9
|
||||
mov r7, #1
|
||||
str r0, [sp, #0x24]
|
||||
mov r4, #0
|
||||
_021D3B96:
|
||||
cmp r4, #0
|
||||
beq _021D3BAE
|
||||
add r0, r4, #0
|
||||
mov r1, #3
|
||||
bl sub_020E1F6C
|
||||
cmp r1, #0
|
||||
bne _021D3BAE
|
||||
ldr r0, [sp, #0x24]
|
||||
mov r7, #1
|
||||
add r0, r0, #3
|
||||
str r0, [sp, #0x24]
|
||||
_021D3BAE:
|
||||
ldr r0, [sp, #0x14]
|
||||
add r1, r4, #0
|
||||
ldr r0, [r0, #8]
|
||||
bl sub_02099CA0
|
||||
cmp r0, #0
|
||||
beq _021D3BCC
|
||||
ldr r0, [sp, #0x20]
|
||||
add r1, r4, #0
|
||||
bl sub_0200B1EC
|
||||
add r5, r0, #0
|
||||
ldr r0, _021D3C6C ; =0x0001020F
|
||||
str r0, [sp, #0x1c]
|
||||
b _021D3BDA
|
||||
_021D3BCC:
|
||||
ldr r0, [sp, #0x20]
|
||||
mov r1, #0xc
|
||||
bl sub_0200B1EC
|
||||
add r5, r0, #0
|
||||
ldr r0, _021D3C70 ; =0x0003040F
|
||||
str r0, [sp, #0x1c]
|
||||
_021D3BDA:
|
||||
ldr r0, _021D3C74 ; =0x000003EE
|
||||
cmp r6, r0
|
||||
blo _021D3BE4
|
||||
bl sub_02022974
|
||||
_021D3BE4:
|
||||
ldr r0, [sp, #0x24]
|
||||
lsl r3, r7, #0x18
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
str r0, [sp]
|
||||
mov r0, #9
|
||||
str r0, [sp, #4]
|
||||
mov r0, #2
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0xb
|
||||
str r0, [sp, #0xc]
|
||||
lsl r0, r6, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [sp, #0x18]
|
||||
add r1, sp, #0x28
|
||||
mov r2, #1
|
||||
lsr r3, r3, #0x18
|
||||
bl sub_0201A7E8
|
||||
add r0, sp, #0x28
|
||||
mov r1, #0xf
|
||||
bl sub_0201ADA4
|
||||
mov r0, #0
|
||||
add r1, r5, #0
|
||||
add r2, r0, #0
|
||||
bl sub_02002D7C
|
||||
mov r1, #0x48
|
||||
sub r0, r1, r0
|
||||
lsr r3, r0, #1
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [sp, #0x1c]
|
||||
mov r1, #0
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
add r0, sp, #0x28
|
||||
add r2, r5, #0
|
||||
bl sub_0201D78C
|
||||
add r0, sp, #0x28
|
||||
bl sub_0201A9F4
|
||||
add r0, sp, #0x28
|
||||
bl sub_0201ACCC
|
||||
add r0, r5, #0
|
||||
bl sub_020237BC
|
||||
add r0, sp, #0x28
|
||||
bl sub_0201A8FC
|
||||
add r4, r4, #1
|
||||
add r6, #0x12
|
||||
add r7, #0xa
|
||||
cmp r4, #0xc
|
||||
blt _021D3B96
|
||||
ldr r0, [sp, #0x20]
|
||||
bl sub_0200B190
|
||||
add r0, r6, #0
|
||||
add sp, #0x38
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_021D3C6C: .word 0x0001020F
|
||||
_021D3C70: .word 0x0003040F
|
||||
_021D3C74: .word 0x000003EE
|
||||
thumb_func_end ov20_021D3B74
|
||||
|
||||
thumb_func_start ov20_021D3C78
|
||||
ov20_021D3C78: ; 0x021D3C78
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x30
|
||||
add r4, r1, #0
|
||||
mov r1, #0xce
|
||||
add r6, r0, #0
|
||||
lsl r1, r1, #2
|
||||
add r0, r2, #0
|
||||
str r2, [sp, #0x14]
|
||||
cmp r0, r1
|
||||
blo _021D3C90
|
||||
bl sub_02022974
|
||||
_021D3C90:
|
||||
mov r0, #0xa
|
||||
str r0, [sp]
|
||||
mov r0, #0x19
|
||||
str r0, [sp, #4]
|
||||
mov r0, #8
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0xb
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [sp, #0x14]
|
||||
add r1, sp, #0x20
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r4, #0
|
||||
mov r2, #1
|
||||
mov r3, #0x22
|
||||
bl sub_0201A7E8
|
||||
mov r0, #4
|
||||
mov r1, #0x23
|
||||
bl sub_02023790
|
||||
add r4, r0, #0
|
||||
add r0, sp, #0x20
|
||||
mov r1, #0xf
|
||||
bl sub_0201ADA4
|
||||
bl ov20_021D5044
|
||||
add r7, r0, #0
|
||||
ldr r5, _021D3D38 ; =0x00000000
|
||||
beq _021D3D16
|
||||
_021D3CD0:
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl ov20_021D5048
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0x1c
|
||||
add r2, sp, #0x18
|
||||
bl ov20_021D506C
|
||||
ldr r0, [r6, #8]
|
||||
add r1, r5, #0
|
||||
bl sub_02099CDC
|
||||
cmp r0, #0
|
||||
beq _021D3CF2
|
||||
ldr r1, _021D3D3C ; =0x0001020F
|
||||
b _021D3CF4
|
||||
_021D3CF2:
|
||||
ldr r1, _021D3D40 ; =0x0003040F
|
||||
_021D3CF4:
|
||||
ldr r0, [sp, #0x18]
|
||||
add r2, r4, #0
|
||||
str r0, [sp]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #4]
|
||||
str r1, [sp, #8]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
ldr r3, [sp, #0x1c]
|
||||
add r0, sp, #0x20
|
||||
mov r1, #0
|
||||
add r3, r3, #3
|
||||
bl sub_0201D78C
|
||||
add r5, r5, #1
|
||||
cmp r5, r7
|
||||
blo _021D3CD0
|
||||
_021D3D16:
|
||||
add r0, sp, #0x20
|
||||
bl sub_0201ACCC
|
||||
add r0, sp, #0x20
|
||||
bl sub_0201A9F4
|
||||
add r0, r4, #0
|
||||
bl sub_020237BC
|
||||
add r0, sp, #0x20
|
||||
bl sub_0201A8FC
|
||||
ldr r0, [sp, #0x14]
|
||||
add r0, #0xc8
|
||||
str r0, [sp, #0x14]
|
||||
add sp, #0x30
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_021D3D38: .word 0x00000000
|
||||
_021D3D3C: .word 0x0001020F
|
||||
_021D3D40: .word 0x0003040F
|
||||
thumb_func_end ov20_021D3C78
|
||||
|
||||
thumb_func_start ov20_021D3D44
|
||||
ov20_021D3D44: ; 0x021D3D44
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x34
|
||||
add r5, r2, #0
|
||||
mov r2, #0x6d
|
||||
str r1, [sp, #0x14]
|
||||
mov r0, #1
|
||||
mov r1, #0x1a
|
||||
lsl r2, r2, #2
|
||||
mov r3, #0x23
|
||||
bl sub_0200B144
|
||||
mov r1, #0xd
|
||||
str r0, [sp, #0x20]
|
||||
bl sub_0200B1EC
|
||||
str r0, [sp, #0x1c]
|
||||
mov r0, #0
|
||||
ldr r1, [sp, #0x1c]
|
||||
add r2, r0, #0
|
||||
bl sub_02002D7C
|
||||
mov r1, #0x40
|
||||
sub r0, r1, r0
|
||||
lsr r0, r0, #1
|
||||
ldr r4, _021D3E04 ; =0x021D52E4
|
||||
str r0, [sp, #0x18]
|
||||
mov r7, #0
|
||||
add r6, sp, #0x24
|
||||
_021D3D7C:
|
||||
mov r0, #0x3f
|
||||
lsl r0, r0, #4
|
||||
cmp r5, r0
|
||||
blo _021D3D88
|
||||
bl sub_02022974
|
||||
_021D3D88:
|
||||
ldrh r0, [r4, #2]
|
||||
add r1, r6, #0
|
||||
mov r2, #1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
str r0, [sp]
|
||||
mov r0, #8
|
||||
str r0, [sp, #4]
|
||||
mov r0, #2
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0xb
|
||||
str r0, [sp, #0xc]
|
||||
lsl r0, r5, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #0x10]
|
||||
ldrh r3, [r4]
|
||||
ldr r0, [sp, #0x14]
|
||||
lsl r3, r3, #0x18
|
||||
lsr r3, r3, #0x18
|
||||
bl sub_0201A7E8
|
||||
add r0, r6, #0
|
||||
mov r1, #0xf
|
||||
bl sub_0201ADA4
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #4]
|
||||
ldr r0, _021D3E08 ; =0x0001020F
|
||||
ldr r2, [sp, #0x1c]
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
ldr r3, [sp, #0x18]
|
||||
add r0, r6, #0
|
||||
mov r1, #0
|
||||
bl sub_0201D78C
|
||||
add r0, r6, #0
|
||||
bl sub_0201A9F4
|
||||
add r0, r6, #0
|
||||
bl sub_0201ACCC
|
||||
add r0, r6, #0
|
||||
bl sub_0201A8FC
|
||||
add r7, r7, #1
|
||||
add r5, #0x10
|
||||
add r4, r4, #4
|
||||
cmp r7, #2
|
||||
blo _021D3D7C
|
||||
ldr r0, [sp, #0x1c]
|
||||
bl sub_020237BC
|
||||
ldr r0, [sp, #0x20]
|
||||
bl sub_0200B190
|
||||
add r0, r5, #0
|
||||
add sp, #0x34
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_021D3E04: .word 0x021D52E4
|
||||
_021D3E08: .word 0x0001020F
|
||||
thumb_func_end ov20_021D3D44
|
||||
|
||||
thumb_func_start ov20_021D3E0C
|
||||
ov20_021D3E0C: ; 0x021D3E0C
|
||||
push {r3, r4, lr}
|
||||
sub sp, #0x2c
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
add r1, sp, #8
|
||||
mov r2, #0
|
||||
mov r3, #1
|
||||
bl ov20_021D2E0C
|
||||
mov r0, #2
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #0]
|
||||
add r1, sp, #8
|
||||
mov r2, #0x30
|
||||
mov r3, #0x36
|
||||
bl ov20_021D2E50
|
||||
str r0, [r4, #0x5c]
|
||||
mov r1, #4
|
||||
bl sub_02021D6C
|
||||
ldr r0, [r4, #0x5c]
|
||||
mov r1, #0
|
||||
bl sub_02021CAC
|
||||
add sp, #0x2c
|
||||
pop {r3, r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D3E0C
|
||||
|
||||
thumb_func_start ov20_021D3E48
|
||||
ov20_021D3E48: ; 0x021D3E48
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x5c]
|
||||
add r4, r1, #0
|
||||
bl sub_02021CAC
|
||||
cmp r4, #0
|
||||
beq _021D3E72
|
||||
ldr r0, [r5, #4]
|
||||
bl ov20_021D1F94
|
||||
cmp r0, #0
|
||||
ldr r0, [r5, #0x5c]
|
||||
bne _021D3E6C
|
||||
mov r1, #4
|
||||
bl sub_02021D6C
|
||||
pop {r3, r4, r5, pc}
|
||||
_021D3E6C:
|
||||
mov r1, #6
|
||||
bl sub_02021D6C
|
||||
_021D3E72:
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov20_021D3E48
|
||||
|
||||
thumb_func_start ov20_021D3E74
|
||||
ov20_021D3E74: ; 0x021D3E74
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
add r5, r1, #0
|
||||
bl ov20_021D1F94
|
||||
mov r1, #0
|
||||
str r1, [sp, #0x10]
|
||||
cmp r5, #0xfe
|
||||
bne _021D3E96
|
||||
mov r0, #0x84
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0x96
|
||||
str r0, [sp, #0xc]
|
||||
mov r5, #0x10
|
||||
b _021D3ED6
|
||||
_021D3E96:
|
||||
cmp r0, #0
|
||||
bne _021D3EBE
|
||||
add r0, r5, #0
|
||||
mov r1, #3
|
||||
bl sub_020E2178
|
||||
mov r0, #0x50
|
||||
mul r0, r1
|
||||
add r0, #0x30
|
||||
str r0, [sp, #8]
|
||||
add r0, r5, #0
|
||||
mov r1, #3
|
||||
bl sub_020E2178
|
||||
mov r1, #0x18
|
||||
mul r1, r0
|
||||
add r1, #0x36
|
||||
str r1, [sp, #0xc]
|
||||
mov r5, #4
|
||||
b _021D3ED6
|
||||
_021D3EBE:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #4
|
||||
add r2, sp, #0
|
||||
bl ov20_021D506C
|
||||
ldr r0, [sp, #4]
|
||||
mov r5, #6
|
||||
add r0, #0x1a
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [sp]
|
||||
add r0, #0x3e
|
||||
str r0, [sp, #0xc]
|
||||
_021D3ED6:
|
||||
ldr r0, [sp, #8]
|
||||
add r1, sp, #8
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [sp, #0xc]
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [r4, #0x5c]
|
||||
bl sub_02021C50
|
||||
ldr r0, [r4, #0x5c]
|
||||
add r1, r5, #0
|
||||
bl sub_02021D6C
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D3E74
|
||||
|
||||
thumb_func_start ov20_021D3EF8
|
||||
ov20_021D3EF8: ; 0x021D3EF8
|
||||
push {r3, lr}
|
||||
mov r3, #0
|
||||
str r3, [r0, #0x14]
|
||||
mov r1, #0x10
|
||||
str r1, [sp]
|
||||
mov r1, #2
|
||||
add r2, r1, #0
|
||||
add r0, #0x1c
|
||||
sub r2, #0xc
|
||||
bl ov20_021D4FB0
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov20_021D3EF8
|
||||
|
||||
thumb_func_start ov20_021D3F10
|
||||
ov20_021D3F10: ; 0x021D3F10
|
||||
push {r4, lr}
|
||||
sub sp, #8
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
cmp r0, #0
|
||||
beq _021D3F22
|
||||
cmp r0, #1
|
||||
beq _021D3F4C
|
||||
b _021D3F58
|
||||
_021D3F22:
|
||||
add r0, r4, #0
|
||||
add r0, #0x1c
|
||||
bl ov20_021D4FF0
|
||||
cmp r0, #0
|
||||
beq _021D3F58
|
||||
mov r0, #0x18
|
||||
str r0, [sp]
|
||||
mov r0, #6
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
mov r2, #1
|
||||
ldr r1, [r4, #0xc]
|
||||
add r0, #0x3c
|
||||
add r3, r2, #0
|
||||
bl ov20_021D4E38
|
||||
ldr r0, [r4, #0x14]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0x14]
|
||||
b _021D3F58
|
||||
_021D3F4C:
|
||||
add r4, #0x3c
|
||||
add r0, r4, #0
|
||||
bl ov20_021D4E8C
|
||||
add sp, #8
|
||||
pop {r4, pc}
|
||||
_021D3F58:
|
||||
mov r0, #0
|
||||
add sp, #8
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D3F10
|
||||
|
||||
thumb_func_start ov20_021D3F60
|
||||
ov20_021D3F60: ; 0x021D3F60
|
||||
push {r3, lr}
|
||||
sub sp, #8
|
||||
add r1, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [r1, #0x14]
|
||||
sub r0, #0x18
|
||||
str r0, [sp]
|
||||
mov r0, #6
|
||||
str r0, [sp, #4]
|
||||
add r0, r1, #0
|
||||
mov r2, #1
|
||||
ldr r1, [r1, #0xc]
|
||||
add r0, #0x3c
|
||||
add r3, r2, #0
|
||||
bl ov20_021D4E38
|
||||
add sp, #8
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov20_021D3F60
|
||||
|
||||
thumb_func_start ov20_021D3F84
|
||||
ov20_021D3F84: ; 0x021D3F84
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
cmp r0, #0
|
||||
beq _021D3F96
|
||||
cmp r0, #1
|
||||
beq _021D3FBE
|
||||
b _021D3FCA
|
||||
_021D3F96:
|
||||
add r0, r4, #0
|
||||
add r0, #0x3c
|
||||
bl ov20_021D4E8C
|
||||
cmp r0, #0
|
||||
beq _021D3FCA
|
||||
mov r0, #0x10
|
||||
mov r2, #0
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
add r3, r2, #0
|
||||
add r0, #0x1c
|
||||
mov r1, #2
|
||||
sub r3, #0xa
|
||||
bl ov20_021D4FB0
|
||||
ldr r0, [r4, #0x14]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0x14]
|
||||
b _021D3FCA
|
||||
_021D3FBE:
|
||||
add r4, #0x1c
|
||||
add r0, r4, #0
|
||||
bl ov20_021D4FF0
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
_021D3FCA:
|
||||
mov r0, #0
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
thumb_func_end ov20_021D3F84
|
||||
|
||||
thumb_func_start ov20_021D3FD0
|
||||
ov20_021D3FD0: ; 0x021D3FD0
|
||||
push {r3, lr}
|
||||
ldr r0, [r0, #0xc]
|
||||
mov r1, #1
|
||||
mov r2, #3
|
||||
mov r3, #2
|
||||
bl sub_02019184
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov20_021D3FD0
|
||||
|
||||
thumb_func_start ov20_021D3FE0
|
||||
ov20_021D3FE0: ; 0x021D3FE0
|
||||
push {r3, lr}
|
||||
mov r2, #0
|
||||
mov r1, #0x10
|
||||
add r3, r2, #0
|
||||
str r1, [sp]
|
||||
add r0, #0x1c
|
||||
mov r1, #2
|
||||
sub r3, #0xa
|
||||
bl ov20_021D4FB0
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D3FE0
|
||||
|
||||
thumb_func_start ov20_021D3FF8
|
||||
ov20_021D3FF8: ; 0x021D3FF8
|
||||
ldr r3, _021D4000 ; =ov20_021D4FF0
|
||||
add r0, #0x1c
|
||||
bx r3
|
||||
nop
|
||||
_021D4000: .word ov20_021D4FF0
|
||||
thumb_func_end ov20_021D3FF8
|
||||
|
||||
thumb_func_start ov20_021D4004
|
||||
ov20_021D4004: ; 0x021D4004
|
||||
push {r3, lr}
|
||||
sub sp, #8
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
mov r1, #0xc
|
||||
str r1, [sp, #4]
|
||||
add r0, #0x1c
|
||||
mov r1, #2
|
||||
mov r2, #0x3f
|
||||
mov r3, #0x7c
|
||||
bl ov20_021D4F1C
|
||||
add sp, #8
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov20_021D4004
|
||||
|
||||
thumb_func_start ov20_021D4020
|
||||
ov20_021D4020: ; 0x021D4020
|
||||
push {r3, lr}
|
||||
add r0, #0x1c
|
||||
bl ov20_021D4F4C
|
||||
cmp r0, #0
|
||||
beq _021D4038
|
||||
mov r0, #1
|
||||
mov r1, #0
|
||||
bl sub_02019120
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_021D4038:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov20_021D4020
|
||||
|
||||
thumb_func_start ov20_021D403C
|
||||
ov20_021D403C: ; 0x021D403C
|
||||
push {r4, lr}
|
||||
sub sp, #8
|
||||
add r4, r0, #0
|
||||
mov r0, #0x10
|
||||
str r0, [sp]
|
||||
ldr r0, _021D4074 ; =0x04000050
|
||||
mov r1, #2
|
||||
mov r2, #0x3f
|
||||
mov r3, #0
|
||||
bl sub_020BF55C
|
||||
mov r0, #1
|
||||
add r1, r0, #0
|
||||
bl sub_02019120
|
||||
mov r0, #0x7c
|
||||
str r0, [sp]
|
||||
mov r0, #0xc
|
||||
add r4, #0x1c
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
mov r1, #2
|
||||
mov r2, #0x3f
|
||||
mov r3, #0
|
||||
bl ov20_021D4F1C
|
||||
add sp, #8
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_021D4074: .word 0x04000050
|
||||
thumb_func_end ov20_021D403C
|
||||
|
||||
thumb_func_start ov20_021D4078
|
||||
ov20_021D4078: ; 0x021D4078
|
||||
ldr r3, _021D4080 ; =ov20_021D4F4C
|
||||
add r0, #0x1c
|
||||
bx r3
|
||||
nop
|
||||
_021D4080: .word ov20_021D4F4C
|
||||
thumb_func_end ov20_021D4078
|
||||
|
||||
thumb_func_start ov20_021D4084
|
||||
ov20_021D4084: ; 0x021D4084
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl ov20_021D1F94
|
||||
cmp r0, #0
|
||||
bne _021D4098
|
||||
mov r3, #3
|
||||
mvn r3, r3
|
||||
b _021D409A
|
||||
_021D4098:
|
||||
mov r3, #0xfc
|
||||
_021D409A:
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #1
|
||||
mov r2, #0
|
||||
bl sub_02019184
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D4084
|
||||
|
||||
thumb_func_start ov20_021D40A8
|
||||
ov20_021D40A8: ; 0x021D40A8
|
||||
push {r4, lr}
|
||||
sub sp, #8
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl ov20_021D1F94
|
||||
cmp r0, #0
|
||||
bne _021D40BE
|
||||
mov r0, #0xff
|
||||
mvn r0, r0
|
||||
b _021D40C2
|
||||
_021D40BE:
|
||||
mov r0, #1
|
||||
lsl r0, r0, #8
|
||||
_021D40C2:
|
||||
str r0, [sp]
|
||||
mov r0, #0x10
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
ldr r1, [r4, #0xc]
|
||||
add r0, #0x3c
|
||||
mov r2, #1
|
||||
mov r3, #0
|
||||
bl ov20_021D4E38
|
||||
add sp, #8
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D40A8
|
||||
|
||||
thumb_func_start ov20_021D40DC
|
||||
ov20_021D40DC: ; 0x021D40DC
|
||||
ldr r3, _021D40E4 ; =ov20_021D4E8C
|
||||
add r0, #0x3c
|
||||
bx r3
|
||||
nop
|
||||
_021D40E4: .word ov20_021D4E8C
|
||||
thumb_func_end ov20_021D40DC
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov20_021D52E4
|
||||
Unk_ov20_021D52E4: ; 0x021D52E4
|
||||
.incbin "incbin/overlay20_rodata.bin", 0x1A4, 0x8
|
||||
|
817
asm/ov20_021D40E8.s
Normal file
817
asm/ov20_021D40E8.s
Normal file
@ -0,0 +1,817 @@
|
||||
.include "macros/function.inc"
|
||||
.include "global.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov20_021D40E8
|
||||
ov20_021D40E8: ; 0x021D40E8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
mov r0, #0x23
|
||||
mov r1, #0x94
|
||||
add r7, r2, #0
|
||||
bl sub_02018144
|
||||
add r4, r0, #0
|
||||
str r5, [r4, #0]
|
||||
str r6, [r4, #4]
|
||||
str r7, [r4, #8]
|
||||
add r0, r5, #0
|
||||
bl ov20_021D2E04
|
||||
str r0, [r4, #0xc]
|
||||
mov r0, #0x20
|
||||
mov r1, #0x23
|
||||
bl sub_02023790
|
||||
str r0, [r4, #0x3c]
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #0x1a
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x20
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0xc
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0x10]
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4, #0xc]
|
||||
add r1, #0x10
|
||||
mov r2, #2
|
||||
mov r3, #4
|
||||
bl sub_0201A7E8
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
mov r1, #0xc
|
||||
str r1, [sp, #4]
|
||||
mov r0, #4
|
||||
str r0, [sp, #8]
|
||||
str r1, [sp, #0xc]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0x10]
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4, #0xc]
|
||||
add r1, #0x20
|
||||
mov r2, #2
|
||||
bl sub_0201A7E8
|
||||
mov r0, #0
|
||||
str r0, [r4, #0x30]
|
||||
str r0, [r4, #0x34]
|
||||
str r0, [r4, #0x38]
|
||||
add r0, r4, #0
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D40E8
|
||||
|
||||
thumb_func_start ov20_021D4164
|
||||
ov20_021D4164: ; 0x021D4164
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x30]
|
||||
cmp r0, #0
|
||||
beq _021D4172
|
||||
bl sub_02021BD4
|
||||
_021D4172:
|
||||
ldr r0, [r4, #0x34]
|
||||
cmp r0, #0
|
||||
beq _021D417C
|
||||
bl sub_02021BD4
|
||||
_021D417C:
|
||||
ldr r0, [r4, #0x38]
|
||||
cmp r0, #0
|
||||
beq _021D4186
|
||||
bl sub_02021BD4
|
||||
_021D4186:
|
||||
ldr r0, [r4, #0x3c]
|
||||
cmp r0, #0
|
||||
beq _021D4190
|
||||
bl sub_020237BC
|
||||
_021D4190:
|
||||
add r0, r4, #0
|
||||
add r0, #0x20
|
||||
bl sub_0201A8FC
|
||||
add r0, r4, #0
|
||||
add r0, #0x10
|
||||
bl sub_0201A8FC
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov20_021D4164
|
||||
|
||||
thumb_func_start ov20_021D41A8
|
||||
ov20_021D41A8: ; 0x021D41A8
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x10
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
bl ov20_021D2E04
|
||||
add r4, r0, #0
|
||||
mov r0, #2
|
||||
mov r1, #0x20
|
||||
mov r2, #0
|
||||
mov r3, #0x23
|
||||
bl sub_02019690
|
||||
mov r2, #0
|
||||
str r2, [sp]
|
||||
mov r0, #0x20
|
||||
str r0, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0xc
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r4, #0
|
||||
mov r1, #2
|
||||
add r3, r2, #0
|
||||
bl sub_02019CB8
|
||||
add r0, r5, #0
|
||||
add r0, #0x10
|
||||
mov r1, #0
|
||||
bl sub_0201ADA4
|
||||
add r0, r5, #0
|
||||
add r0, #0x10
|
||||
bl sub_0201A9F4
|
||||
add r0, r5, #0
|
||||
add r0, #0x10
|
||||
bl sub_0201ACCC
|
||||
add r0, r4, #0
|
||||
mov r1, #2
|
||||
bl sub_02019448
|
||||
add r0, r5, #0
|
||||
bl ov20_021D4210
|
||||
mov r0, #2
|
||||
mov r1, #0
|
||||
bl sub_02019120
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D41A8
|
||||
|
||||
thumb_func_start ov20_021D4210
|
||||
ov20_021D4210: ; 0x021D4210
|
||||
push {r3, r4, lr}
|
||||
sub sp, #0x2c
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
add r1, sp, #8
|
||||
mov r2, #0
|
||||
mov r3, #2
|
||||
bl ov20_021D2E0C
|
||||
mov r0, #3
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #0]
|
||||
add r1, sp, #8
|
||||
mov r2, #0x48
|
||||
mov r3, #0x38
|
||||
bl ov20_021D2E50
|
||||
str r0, [r4, #0x30]
|
||||
mov r1, #8
|
||||
bl sub_02021D6C
|
||||
ldr r0, [r4, #0x30]
|
||||
mov r1, #0
|
||||
bl sub_02021CAC
|
||||
mov r0, #4
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #0]
|
||||
add r1, sp, #8
|
||||
mov r2, #0xf0
|
||||
mov r3, #0x40
|
||||
bl ov20_021D2E50
|
||||
str r0, [r4, #0x34]
|
||||
mov r1, #0xb
|
||||
bl sub_02021D6C
|
||||
ldr r0, [r4, #0x34]
|
||||
mov r1, #0
|
||||
bl sub_02021CAC
|
||||
mov r0, #4
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #0]
|
||||
add r1, sp, #8
|
||||
mov r2, #0xf0
|
||||
mov r3, #0x90
|
||||
bl ov20_021D2E50
|
||||
str r0, [r4, #0x38]
|
||||
mov r1, #0xa
|
||||
bl sub_02021D6C
|
||||
ldr r0, [r4, #0x38]
|
||||
mov r1, #0
|
||||
bl sub_02021CAC
|
||||
add sp, #0x2c
|
||||
pop {r3, r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D4210
|
||||
|
||||
thumb_func_start ov20_021D4294
|
||||
ov20_021D4294: ; 0x021D4294
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r6, r0, #0
|
||||
add r0, #0x10
|
||||
mov r1, #0
|
||||
bl sub_0201ADA4
|
||||
add r0, r6, #0
|
||||
bl ov20_021D4638
|
||||
ldr r0, [r6, #4]
|
||||
bl ov20_021D1FE4
|
||||
add r7, r0, #0
|
||||
cmp r7, #0xa
|
||||
bls _021D42B4
|
||||
mov r7, #0xa
|
||||
_021D42B4:
|
||||
add r0, r6, #0
|
||||
add r0, #0x8c
|
||||
mov r5, #0
|
||||
ldr r4, [r0, #0]
|
||||
cmp r7, #0
|
||||
bls _021D42D8
|
||||
_021D42C0:
|
||||
add r0, r6, #0
|
||||
add r1, r5, #0
|
||||
add r2, r4, #0
|
||||
bl ov20_021D4658
|
||||
mov r0, #1
|
||||
tst r0, r5
|
||||
beq _021D42D2
|
||||
add r4, #0x18
|
||||
_021D42D2:
|
||||
add r5, r5, #1
|
||||
cmp r5, r7
|
||||
blo _021D42C0
|
||||
_021D42D8:
|
||||
add r6, #0x10
|
||||
add r0, r6, #0
|
||||
bl sub_0201ACCC
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D4294
|
||||
|
||||
thumb_func_start ov20_021D42E4
|
||||
ov20_021D42E4: ; 0x021D42E4
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #8
|
||||
add r4, r0, #0
|
||||
mov r0, #0x10
|
||||
str r0, [sp]
|
||||
ldr r0, _021D437C ; =0x04000050
|
||||
mov r1, #4
|
||||
mov r2, #0x3f
|
||||
mov r3, #0
|
||||
bl sub_020BF55C
|
||||
mov r0, #2
|
||||
mov r1, #1
|
||||
bl sub_02019120
|
||||
ldr r1, _021D4380 ; =0x04000048
|
||||
ldr r0, _021D4384 ; =0xFFFFC0FF
|
||||
ldrh r2, [r1]
|
||||
mov r5, #0xff
|
||||
and r2, r0
|
||||
mov r0, #0x1f
|
||||
lsl r0, r0, #8
|
||||
orr r2, r0
|
||||
lsr r0, r1, #0xd
|
||||
orr r0, r2
|
||||
strh r0, [r1]
|
||||
add r0, r4, #0
|
||||
ldrb r2, [r1, #2]
|
||||
add r0, #0x84
|
||||
strb r2, [r0]
|
||||
add r0, r1, #0
|
||||
sub r0, #0x48
|
||||
mov r2, #0xe
|
||||
ldr r3, [r0, #0]
|
||||
lsl r2, r2, #0xc
|
||||
and r2, r3
|
||||
lsr r3, r2, #0xd
|
||||
add r2, r4, #0
|
||||
add r2, #0x88
|
||||
str r3, [r2, #0]
|
||||
ldrh r3, [r1, #2]
|
||||
mov r2, #0x3f
|
||||
bic r3, r2
|
||||
mov r2, #0x1b
|
||||
orr r3, r2
|
||||
mov r2, #0x20
|
||||
orr r3, r2
|
||||
strh r3, [r1, #2]
|
||||
sub r3, r1, #6
|
||||
strh r5, [r3]
|
||||
ldr r3, _021D4388 ; =0x00002EB0
|
||||
sub r1, r1, #2
|
||||
strh r3, [r1]
|
||||
ldr r3, [r0, #0]
|
||||
ldr r1, _021D438C ; =0xFFFF1FFF
|
||||
and r3, r1
|
||||
lsl r1, r2, #9
|
||||
orr r1, r3
|
||||
str r1, [r0, #0]
|
||||
add r0, r4, #0
|
||||
mov r3, #0
|
||||
add r0, #0x80
|
||||
str r3, [r0, #0]
|
||||
mov r0, #0x7c
|
||||
str r0, [sp]
|
||||
mov r0, #0xc
|
||||
add r4, #0x40
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
mov r1, #4
|
||||
mov r2, #0x3f
|
||||
bl ov20_021D4F1C
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_021D437C: .word 0x04000050
|
||||
_021D4380: .word 0x04000048
|
||||
_021D4384: .word 0xFFFFC0FF
|
||||
_021D4388: .word 0x00002EB0
|
||||
_021D438C: .word 0xFFFF1FFF
|
||||
thumb_func_end ov20_021D42E4
|
||||
|
||||
thumb_func_start ov20_021D4390
|
||||
ov20_021D4390: ; 0x021D4390
|
||||
push {r3, lr}
|
||||
add r1, r0, #0
|
||||
add r1, #0x80
|
||||
ldr r1, [r1, #0]
|
||||
cmp r1, #0
|
||||
bne _021D43AE
|
||||
add r0, #0x40
|
||||
bl ov20_021D4F4C
|
||||
cmp r0, #0
|
||||
beq _021D43AA
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_021D43AA:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
_021D43AE:
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D4390
|
||||
|
||||
thumb_func_start ov20_021D43B4
|
||||
ov20_021D43B4: ; 0x021D43B4
|
||||
push {r3, lr}
|
||||
sub sp, #8
|
||||
add r1, r0, #0
|
||||
mov r2, #0
|
||||
add r1, #0x80
|
||||
str r2, [r1, #0]
|
||||
str r2, [sp]
|
||||
mov r1, #0xc
|
||||
str r1, [sp, #4]
|
||||
add r0, #0x40
|
||||
mov r1, #4
|
||||
mov r2, #0x3f
|
||||
mov r3, #0x7c
|
||||
bl ov20_021D4F1C
|
||||
add sp, #8
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D43B4
|
||||
|
||||
thumb_func_start ov20_021D43D8
|
||||
ov20_021D43D8: ; 0x021D43D8
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0]
|
||||
cmp r0, #0
|
||||
bne _021D4430
|
||||
add r0, r4, #0
|
||||
add r0, #0x40
|
||||
bl ov20_021D4F4C
|
||||
cmp r0, #0
|
||||
beq _021D4434
|
||||
mov r0, #2
|
||||
mov r1, #0
|
||||
bl sub_02019120
|
||||
ldr r0, _021D4438 ; =0x0400004A
|
||||
ldrh r2, [r0]
|
||||
mov r0, #0x3f
|
||||
bic r2, r0
|
||||
add r0, r4, #0
|
||||
add r0, #0x84
|
||||
ldrb r0, [r0]
|
||||
lsl r1, r0, #0x1b
|
||||
lsr r1, r1, #0x1b
|
||||
lsl r0, r0, #0x1a
|
||||
orr r1, r2
|
||||
lsr r0, r0, #0x1f
|
||||
beq _021D4416
|
||||
mov r0, #0x20
|
||||
orr r1, r0
|
||||
_021D4416:
|
||||
ldr r2, _021D4438 ; =0x0400004A
|
||||
ldr r0, _021D443C ; =0xFFFF1FFF
|
||||
strh r1, [r2]
|
||||
sub r2, #0x4a
|
||||
ldr r1, [r2, #0]
|
||||
add r4, #0x88
|
||||
and r1, r0
|
||||
ldr r0, [r4, #0]
|
||||
lsl r0, r0, #0xd
|
||||
orr r0, r1
|
||||
str r0, [r2, #0]
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_021D4430:
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_021D4434:
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_021D4438: .word 0x0400004A
|
||||
_021D443C: .word 0xFFFF1FFF
|
||||
thumb_func_end ov20_021D43D8
|
||||
|
||||
thumb_func_start ov20_021D4440
|
||||
ov20_021D4440: ; 0x021D4440
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x30]
|
||||
add r4, r1, #0
|
||||
bl sub_02021CAC
|
||||
cmp r4, #0
|
||||
beq _021D446E
|
||||
ldr r0, [r5, #4]
|
||||
bl ov20_021D204C
|
||||
add r1, r0, #0
|
||||
ldr r0, [r5, #0x34]
|
||||
bl sub_02021CAC
|
||||
ldr r0, [r5, #4]
|
||||
bl ov20_021D2060
|
||||
add r1, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl sub_02021CAC
|
||||
pop {r3, r4, r5, pc}
|
||||
_021D446E:
|
||||
ldr r0, [r5, #0x34]
|
||||
mov r1, #0
|
||||
bl sub_02021CAC
|
||||
ldr r0, [r5, #0x38]
|
||||
mov r1, #0
|
||||
bl sub_02021CAC
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov20_021D4440
|
||||
|
||||
thumb_func_start ov20_021D4480
|
||||
ov20_021D4480: ; 0x021D4480
|
||||
push {r3, r4, lr}
|
||||
sub sp, #0xc
|
||||
add r4, r0, #0
|
||||
add r2, r1, #0
|
||||
mov r0, #1
|
||||
and r2, r0
|
||||
mov r0, #0x70
|
||||
mul r0, r2
|
||||
add r0, #0x48
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp]
|
||||
lsr r1, r1, #1
|
||||
mov r0, #0x18
|
||||
mul r0, r1
|
||||
add r0, #0x38
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #0x30]
|
||||
add r1, sp, #0
|
||||
bl sub_02021C50
|
||||
ldr r0, [r4, #0x30]
|
||||
mov r1, #8
|
||||
bl sub_02021D6C
|
||||
add sp, #0xc
|
||||
pop {r3, r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D4480
|
||||
|
||||
thumb_func_start ov20_021D44BC
|
||||
ov20_021D44BC: ; 0x021D44BC
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x1c
|
||||
add r7, r0, #0
|
||||
add r4, r1, #0
|
||||
bl ov20_021D45AC
|
||||
add r0, r7, #0
|
||||
add r0, #0x90
|
||||
ldr r0, [r0, #0]
|
||||
lsl r6, r4, #1
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r0, r6
|
||||
str r0, [sp, #0x14]
|
||||
mov r0, #0x18
|
||||
mul r0, r4
|
||||
str r0, [sp, #8]
|
||||
add r0, r7, #0
|
||||
add r0, #0x8c
|
||||
ldr r0, [r0, #0]
|
||||
ldr r1, [sp, #8]
|
||||
add r1, r0, r1
|
||||
lsl r1, r1, #0x18
|
||||
lsr r1, r1, #0x18
|
||||
str r1, [sp, #0x18]
|
||||
cmp r4, #0
|
||||
bge _021D4500
|
||||
ldr r0, [sp, #0x14]
|
||||
add r5, r1, #0
|
||||
str r0, [sp, #0x10]
|
||||
lsl r0, r4, #2
|
||||
neg r0, r0
|
||||
neg r6, r6
|
||||
str r0, [sp, #0xc]
|
||||
b _021D4520
|
||||
_021D4500:
|
||||
add r0, #0x78
|
||||
lsl r0, r0, #0x18
|
||||
lsr r5, r0, #0x18
|
||||
ldr r0, [sp, #0x10]
|
||||
add r0, #0xa
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [r7, #4]
|
||||
bl ov20_021D1FE4
|
||||
ldr r1, [sp, #0x10]
|
||||
add r1, r6, r1
|
||||
cmp r1, r0
|
||||
bls _021D451C
|
||||
sub r6, r6, #1
|
||||
_021D451C:
|
||||
lsl r0, r4, #2
|
||||
str r0, [sp, #0xc]
|
||||
_021D4520:
|
||||
mov r4, #0
|
||||
cmp r6, #0
|
||||
ble _021D4544
|
||||
_021D4526:
|
||||
ldr r1, [sp, #0x10]
|
||||
add r0, r7, #0
|
||||
add r1, r1, r4
|
||||
add r2, r5, #0
|
||||
bl ov20_021D4658
|
||||
mov r0, #1
|
||||
tst r0, r4
|
||||
beq _021D453E
|
||||
add r5, #0x18
|
||||
lsl r0, r5, #0x18
|
||||
lsr r5, r0, #0x18
|
||||
_021D453E:
|
||||
add r4, r4, #1
|
||||
cmp r4, r6
|
||||
blt _021D4526
|
||||
_021D4544:
|
||||
add r1, r7, #0
|
||||
ldr r0, [sp, #0x18]
|
||||
add r1, #0x8c
|
||||
str r0, [r1, #0]
|
||||
add r1, r7, #0
|
||||
ldr r0, [sp, #0x14]
|
||||
add r1, #0x90
|
||||
str r0, [r1, #0]
|
||||
add r0, r7, #0
|
||||
add r0, #0x10
|
||||
bl sub_0201ACCC
|
||||
ldr r0, [sp, #8]
|
||||
mov r2, #2
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0xc]
|
||||
mov r3, #1
|
||||
str r0, [sp, #4]
|
||||
add r0, r7, #0
|
||||
ldr r1, [r7, #0xc]
|
||||
add r0, #0x60
|
||||
bl ov20_021D4E38
|
||||
add sp, #0x1c
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D44BC
|
||||
|
||||
thumb_func_start ov20_021D4578
|
||||
ov20_021D4578: ; 0x021D4578
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r0, #0x60
|
||||
bl ov20_021D4E8C
|
||||
cmp r0, #0
|
||||
beq _021D45A6
|
||||
ldr r0, [r4, #4]
|
||||
bl ov20_021D204C
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4, #0x34]
|
||||
bl sub_02021CAC
|
||||
ldr r0, [r4, #4]
|
||||
bl ov20_021D2060
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl sub_02021CAC
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_021D45A6:
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D4578
|
||||
|
||||
thumb_func_start ov20_021D45AC
|
||||
ov20_021D45AC: ; 0x021D45AC
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #8
|
||||
add r5, r0, #0
|
||||
cmp r1, #0
|
||||
ble _021D45CC
|
||||
add r0, #0x8c
|
||||
ldr r0, [r0, #0]
|
||||
add r0, #0x78
|
||||
lsl r0, r0, #0x18
|
||||
lsr r3, r0, #0x18
|
||||
mov r0, #0x18
|
||||
mul r0, r1
|
||||
add r0, r3, r0
|
||||
lsl r0, r0, #0x18
|
||||
lsr r4, r0, #0x18
|
||||
b _021D45DA
|
||||
_021D45CC:
|
||||
add r0, #0x8c
|
||||
ldr r4, [r0, #0]
|
||||
mov r0, #0x18
|
||||
mul r0, r1
|
||||
add r0, r4, r0
|
||||
lsl r0, r0, #0x18
|
||||
lsr r3, r0, #0x18
|
||||
_021D45DA:
|
||||
cmp r3, r4
|
||||
bge _021D45FE
|
||||
mov r0, #0xd0
|
||||
str r0, [sp]
|
||||
sub r0, r4, r3
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
mov r1, #0
|
||||
lsl r3, r3, #0x10
|
||||
add r5, #0x10
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r1, #0
|
||||
lsr r3, r3, #0x10
|
||||
bl sub_0201AE78
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
_021D45FE:
|
||||
mov r0, #0xd0
|
||||
str r0, [sp]
|
||||
add r0, #0x30
|
||||
sub r0, r0, r3
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
mov r1, #0
|
||||
lsl r3, r3, #0x10
|
||||
add r0, #0x10
|
||||
add r2, r1, #0
|
||||
lsr r3, r3, #0x10
|
||||
bl sub_0201AE78
|
||||
mov r1, #0
|
||||
mov r0, #0xd0
|
||||
str r0, [sp]
|
||||
lsl r0, r4, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
add r5, #0x10
|
||||
str r0, [sp, #4]
|
||||
add r0, r5, #0
|
||||
add r2, r1, #0
|
||||
add r3, r1, #0
|
||||
bl sub_0201AE78
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov20_021D45AC
|
||||
|
||||
thumb_func_start ov20_021D4638
|
||||
ov20_021D4638: ; 0x021D4638
|
||||
push {r3, lr}
|
||||
add r1, r0, #0
|
||||
mov r2, #0x30
|
||||
add r1, #0x8c
|
||||
str r2, [r1, #0]
|
||||
add r1, r0, #0
|
||||
mov r3, #0
|
||||
add r1, #0x90
|
||||
str r3, [r1, #0]
|
||||
ldr r0, [r0, #0xc]
|
||||
mov r1, #2
|
||||
mov r2, #3
|
||||
bl sub_02019184
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov20_021D4638
|
||||
|
||||
thumb_func_start ov20_021D4658
|
||||
ov20_021D4658: ; 0x021D4658
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
add r4, r2, #0
|
||||
ldr r0, [r5, #4]
|
||||
ldr r2, [r5, #0x3c]
|
||||
add r7, r1, #0
|
||||
bl ov20_021D2008
|
||||
cmp r4, #0xf0
|
||||
bhi _021D4694
|
||||
str r4, [sp]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #4]
|
||||
ldr r0, _021D4724 ; =0x00010200
|
||||
mov r1, #0
|
||||
str r0, [sp, #8]
|
||||
str r1, [sp, #0xc]
|
||||
add r0, r5, #0
|
||||
mov r3, #1
|
||||
add r4, r7, #0
|
||||
and r4, r3
|
||||
mov r3, #0x70
|
||||
ldr r2, [r5, #0x3c]
|
||||
add r0, #0x10
|
||||
mul r3, r4
|
||||
bl sub_0201D78C
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_021D4694:
|
||||
mov r0, #1
|
||||
lsl r0, r0, #8
|
||||
sub r6, r0, r4
|
||||
add r0, r5, #0
|
||||
add r0, #0x20
|
||||
mov r1, #0
|
||||
bl sub_0201ADA4
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #4]
|
||||
ldr r0, _021D4724 ; =0x00010200
|
||||
add r3, r1, #0
|
||||
str r0, [sp, #8]
|
||||
str r1, [sp, #0xc]
|
||||
add r0, r5, #0
|
||||
ldr r2, [r5, #0x3c]
|
||||
add r0, #0x20
|
||||
bl sub_0201D78C
|
||||
mov r2, #0
|
||||
mov r0, #1
|
||||
add r1, r7, #0
|
||||
and r1, r0
|
||||
add r7, r1, #0
|
||||
mov r0, #0x70
|
||||
mul r7, r0
|
||||
mov r0, #0x60
|
||||
str r0, [sp]
|
||||
mov r1, #0x10
|
||||
str r1, [sp, #4]
|
||||
lsl r1, r7, #0x10
|
||||
lsr r1, r1, #0x10
|
||||
str r1, [sp, #8]
|
||||
lsl r1, r4, #0x10
|
||||
lsr r1, r1, #0x10
|
||||
str r1, [sp, #0xc]
|
||||
str r0, [sp, #0x10]
|
||||
lsl r0, r6, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r5, #0
|
||||
ldr r1, [r5, #0x2c]
|
||||
add r0, #0x10
|
||||
add r3, r2, #0
|
||||
bl sub_0201ADDC
|
||||
mov r1, #0x60
|
||||
lsl r2, r7, #0x10
|
||||
lsl r3, r6, #0x10
|
||||
str r1, [sp]
|
||||
mov r0, #0x10
|
||||
str r0, [sp, #4]
|
||||
lsr r2, r2, #0x10
|
||||
str r2, [sp, #8]
|
||||
mov r2, #0
|
||||
sub r0, r0, r6
|
||||
str r2, [sp, #0xc]
|
||||
lsl r0, r0, #0x10
|
||||
str r1, [sp, #0x10]
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r5, #0
|
||||
ldr r1, [r5, #0x2c]
|
||||
add r0, #0x10
|
||||
lsr r3, r3, #0x10
|
||||
bl sub_0201ADDC
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_021D4724: .word 0x00010200
|
||||
thumb_func_end ov20_021D4658
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user