mirror of
https://github.com/zeldaret/ph
synced 2026-05-26 23:47:18 -04:00
4402 lines
92 KiB
ArmAsm
4402 lines
92 KiB
ArmAsm
.include "ov00/Map/MapBase.inc"
|
|
.include "macros/function.inc"
|
|
|
|
.text
|
|
.global _ZN7MapBaseD1Ev
|
|
arm_func_start _ZN7MapBaseD1Ev
|
|
_ZN7MapBaseD1Ev: ; 0x0207da38
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r1, _0207db0c ; =_ZTV7MapBase
|
|
mov r4, r0
|
|
str r1, [r4]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x2c]
|
|
blx r1
|
|
ldr r5, [r4, #0x144]
|
|
cmp r5, #0
|
|
beq _0207da7c
|
|
beq _0207da74
|
|
mov r0, r5
|
|
blx func_ov04_0210dd90
|
|
mov r0, r5
|
|
bl _ZN9SysObjectdlEPv
|
|
_0207da74:
|
|
mov r0, #0
|
|
str r0, [r4, #0x144]
|
|
_0207da7c:
|
|
ldr r0, _0207db10 ; =data_ov00_020ec81c
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _0207dac0
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xc]
|
|
blx r1
|
|
ldr r0, _0207db10 ; =data_ov00_020ec81c
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _0207dab4
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #4]
|
|
blx r1
|
|
_0207dab4:
|
|
ldr r0, _0207db10 ; =data_ov00_020ec81c
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
_0207dac0:
|
|
mov r0, r4
|
|
blx func_ov04_0210cb1c
|
|
ldr r3, _0207db14 ; =_ZN15MapBase_Unk_180D1Ev
|
|
add r0, r4, #0x180
|
|
mov r1, #2
|
|
mov r2, #4
|
|
bl func_0204f754
|
|
add r0, r4, #0x130
|
|
bl func_ov00_02080f20
|
|
add r0, r4, #0x124
|
|
bl func_ov00_020810e8
|
|
add r0, r4, #0x118
|
|
bl func_ov00_02081070
|
|
add r0, r4, #0x10c
|
|
bl func_ov00_02080f20
|
|
add r0, r4, #0x100
|
|
bl func_ov00_02080ff8
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBaseD1Ev
|
|
_0207db0c: .word _ZTV7MapBase
|
|
_0207db10: .word data_ov00_020ec81c
|
|
_0207db14: .word _ZN15MapBase_Unk_180D1Ev
|
|
|
|
.global _ZN15MapBase_Unk_180D1Ev
|
|
arm_func_start _ZN15MapBase_Unk_180D1Ev
|
|
_ZN15MapBase_Unk_180D1Ev: ; 0x0207db18
|
|
bx lr
|
|
arm_func_end _ZN15MapBase_Unk_180D1Ev
|
|
|
|
.global _ZN7MapBaseD0Ev
|
|
arm_func_start _ZN7MapBaseD0Ev
|
|
_ZN7MapBaseD0Ev: ; 0x0207db1c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r1, _0207dbf8 ; =_ZTV7MapBase
|
|
mov r4, r0
|
|
str r1, [r4]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x2c]
|
|
blx r1
|
|
ldr r5, [r4, #0x144]
|
|
cmp r5, #0
|
|
beq _0207db60
|
|
beq _0207db58
|
|
mov r0, r5
|
|
blx func_ov04_0210dd90
|
|
mov r0, r5
|
|
bl _ZN9SysObjectdlEPv
|
|
_0207db58:
|
|
mov r0, #0
|
|
str r0, [r4, #0x144]
|
|
_0207db60:
|
|
ldr r0, _0207dbfc ; =data_ov00_020ec81c
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _0207dba4
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xc]
|
|
blx r1
|
|
ldr r0, _0207dbfc ; =data_ov00_020ec81c
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _0207db98
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #4]
|
|
blx r1
|
|
_0207db98:
|
|
ldr r0, _0207dbfc ; =data_ov00_020ec81c
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
_0207dba4:
|
|
mov r0, r4
|
|
blx func_ov04_0210cb1c
|
|
ldr r3, _0207dc00 ; =_ZN15MapBase_Unk_180D1Ev
|
|
add r0, r4, #0x180
|
|
mov r1, #2
|
|
mov r2, #4
|
|
bl func_0204f754
|
|
add r0, r4, #0x130
|
|
bl func_ov00_02080f20
|
|
add r0, r4, #0x124
|
|
bl func_ov00_020810e8
|
|
add r0, r4, #0x118
|
|
bl func_ov00_02081070
|
|
add r0, r4, #0x10c
|
|
bl func_ov00_02080f20
|
|
add r0, r4, #0x100
|
|
bl func_ov00_02080ff8
|
|
mov r0, r4
|
|
bl _ZN9SysObjectdlEPv
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBaseD0Ev
|
|
_0207dbf8: .word _ZTV7MapBase
|
|
_0207dbfc: .word data_ov00_020ec81c
|
|
_0207dc00: .word _ZN15MapBase_Unk_180D1Ev
|
|
|
|
.global _ZN7MapBaseD2Ev
|
|
arm_func_start _ZN7MapBaseD2Ev
|
|
_ZN7MapBaseD2Ev: ; 0x0207dc04
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r1, _0207dcd8 ; =_ZTV7MapBase
|
|
mov r4, r0
|
|
str r1, [r4]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x2c]
|
|
blx r1
|
|
ldr r5, [r4, #0x144]
|
|
cmp r5, #0
|
|
beq _0207dc48
|
|
beq _0207dc40
|
|
mov r0, r5
|
|
blx func_ov04_0210dd90
|
|
mov r0, r5
|
|
bl _ZN9SysObjectdlEPv
|
|
_0207dc40:
|
|
mov r0, #0
|
|
str r0, [r4, #0x144]
|
|
_0207dc48:
|
|
ldr r0, _0207dcdc ; =data_ov00_020ec81c
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _0207dc8c
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xc]
|
|
blx r1
|
|
ldr r0, _0207dcdc ; =data_ov00_020ec81c
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _0207dc80
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #4]
|
|
blx r1
|
|
_0207dc80:
|
|
ldr r0, _0207dcdc ; =data_ov00_020ec81c
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
_0207dc8c:
|
|
mov r0, r4
|
|
blx func_ov04_0210cb1c
|
|
ldr r3, _0207dce0 ; =_ZN15MapBase_Unk_180D1Ev
|
|
add r0, r4, #0x180
|
|
mov r1, #2
|
|
mov r2, #4
|
|
bl func_0204f754
|
|
add r0, r4, #0x130
|
|
bl func_ov00_02080f20
|
|
add r0, r4, #0x124
|
|
bl func_ov00_020810e8
|
|
add r0, r4, #0x118
|
|
bl func_ov00_02081070
|
|
add r0, r4, #0x10c
|
|
bl func_ov00_02080f20
|
|
add r0, r4, #0x100
|
|
bl func_ov00_02080ff8
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBaseD2Ev
|
|
_0207dcd8: .word _ZTV7MapBase
|
|
_0207dcdc: .word data_ov00_020ec81c
|
|
_0207dce0: .word _ZN15MapBase_Unk_180D1Ev
|
|
|
|
.global _ZN7MapBase9SetBoundsEii
|
|
arm_func_start _ZN7MapBase9SetBoundsEii
|
|
_ZN7MapBase9SetBoundsEii: ; 0x0207dce4
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x2c
|
|
mov r4, r0
|
|
ldrh r5, [r4, #0x28]
|
|
ldrh r3, [r4, #0x2a]
|
|
mov r0, r2
|
|
mov r5, r5, lsl #0xc
|
|
mov r2, r3, lsl #0xc
|
|
str r5, [sp]
|
|
str r2, [sp, #4]
|
|
bl _ZN6Course13FindMapCenterEi
|
|
mov ip, r5
|
|
add r5, sp, #0x20
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r5, {r0, r1, r2}
|
|
ldr r1, [sp, #0x20]
|
|
ldr r3, [sp, #4]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r0, [sp, #0x24]
|
|
sub r1, r1, ip, asr #1
|
|
str r1, [r4, #0xdc]
|
|
str r0, [r4, #0xe0]
|
|
sub r1, r2, r3, asr #1
|
|
str r1, [r4, #0xe4]
|
|
ldr r1, [sp, #0x20]
|
|
mov r5, r3, asr #0x1
|
|
str r1, [r4, #0xd0]
|
|
ldr r1, [sp, #0x24]
|
|
add r3, r2, r3, asr #1
|
|
str r1, [r4, #0xd4]
|
|
ldr r1, [sp, #0x28]
|
|
mov lr, ip, asr #0x1
|
|
str r1, [r4, #0xd8]
|
|
ldr r2, [sp, #0x20]
|
|
rsb r1, lr, #0
|
|
add r2, r2, ip, asr #1
|
|
str r2, [r4, #0xe8]
|
|
str r0, [r4, #0xec]
|
|
str r3, [r4, #0xf0]
|
|
str r1, [r4, #0xf4]
|
|
mov r0, #0
|
|
str r0, [r4, #0xf8]
|
|
rsb r0, r5, #0
|
|
str r0, [r4, #0xfc]
|
|
add sp, sp, #0x2c
|
|
ldmia sp!, {r4, r5, pc}
|
|
arm_func_end _ZN7MapBase9SetBoundsEii
|
|
|
|
.global _ZN15MapManager_Unk2D1Ev
|
|
arm_func_start _ZN15MapManager_Unk2D1Ev
|
|
_ZN15MapManager_Unk2D1Ev: ; 0x0207dd9c
|
|
bx lr
|
|
arm_func_end _ZN15MapManager_Unk2D1Ev
|
|
|
|
.global _ZN7MapBase14GetMapFilePathEPcii
|
|
arm_func_start _ZN7MapBase14GetMapFilePathEPcii
|
|
_ZN7MapBase14GetMapFilePathEPcii: ; 0x0207dda0
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
ldr ip, _0207ddec ; =0x66666667
|
|
mov r6, r1
|
|
smull r0, r5, ip, r2
|
|
mov r0, r3
|
|
smull r1, r3, ip, r2
|
|
mov r4, r2, lsr #0x1f
|
|
add r5, r4, r5, asr #2
|
|
mov lr, #0xa
|
|
smull r1, ip, lr, r5
|
|
sub r5, r2, r1
|
|
ldr r1, _0207ddf0 ; =data_ov00_020e2410
|
|
mov r2, r6
|
|
add r3, r4, r3, asr #2
|
|
str r5, [sp]
|
|
bl func_0200c8d0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase14GetMapFilePathEPcii
|
|
_0207ddec: .word 0x66666667
|
|
_0207ddf0: .word data_ov00_020e2410
|
|
|
|
.global _ZN7MapBase8vfunc_18Ev
|
|
arm_func_start _ZN7MapBase8vfunc_18Ev
|
|
_ZN7MapBase8vfunc_18Ev: ; 0x0207ddf4
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_18Ev
|
|
|
|
.global _ZN7MapBase18func_ov00_0207ddf8Eb
|
|
arm_func_start _ZN7MapBase18func_ov00_0207ddf8Eb
|
|
_ZN7MapBase18func_ov00_0207ddf8Eb: ; 0x0207ddf8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr}
|
|
mov r7, #0
|
|
mov r10, r0
|
|
mov r9, r1
|
|
add r8, r10, #0x180
|
|
mvn r5, #0
|
|
mov r6, r7
|
|
mov r4, r7
|
|
mov r11, #4
|
|
_0207de1c:
|
|
cmp r9, #0
|
|
beq _0207de44
|
|
mov r2, r6
|
|
add r1, r10, r7, lsl #2
|
|
_0207de2c:
|
|
add r0, r1, r2, lsl #2
|
|
add r2, r2, #1
|
|
str r5, [r0, #0x180]
|
|
cmp r2, #1
|
|
blo _0207de2c
|
|
b _0207de54
|
|
_0207de44:
|
|
mov r0, r4
|
|
mov r1, r8
|
|
mov r2, r11
|
|
bl func_020078f4
|
|
_0207de54:
|
|
add r7, r7, #1
|
|
cmp r7, #2
|
|
add r8, r8, #4
|
|
blt _0207de1c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_0207ddf8Eb
|
|
|
|
.global _ZN7MapBase18func_ov00_0207de68Ei
|
|
arm_func_start _ZN7MapBase18func_ov00_0207de68Ei
|
|
_ZN7MapBase18func_ov00_0207de68Ei: ; 0x0207de68
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, [r0, #0x144]
|
|
mov r2, r1
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r1, #0
|
|
bl func_ov00_0209c08c
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_0207de68Ei
|
|
|
|
.global _ZN7MapBase18func_ov00_0207de88Ev
|
|
arm_func_start _ZN7MapBase18func_ov00_0207de88Ev
|
|
_ZN7MapBase18func_ov00_0207de88Ev: ; 0x0207de88
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, [r0, #0x144]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl func_ov00_0209c61c
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_0207de88Ev
|
|
|
|
.global _ZN7MapBase18func_ov00_0207dea0Eb
|
|
arm_func_start _ZN7MapBase18func_ov00_0207dea0Eb
|
|
_ZN7MapBase18func_ov00_0207dea0Eb: ; 0x0207dea0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x10
|
|
mov r5, r0
|
|
ldr r2, _0207e044 ; =data_027e0f78
|
|
ldr r0, [r5, #0x144]
|
|
mov r4, r1
|
|
ldr r6, [r2]
|
|
bl func_ov00_0209c530
|
|
ldrh r2, [r0, #4]
|
|
mov r0, r6
|
|
mov r1, #0
|
|
bl func_ov00_0209cc3c
|
|
ldr r1, _0207e044 ; =data_027e0f78
|
|
ldr r0, [r5, #0x144]
|
|
ldr r6, [r1]
|
|
bl func_ov00_0209c530
|
|
mov r1, r0
|
|
ldrh r2, [r1, #6]
|
|
mov r0, r6
|
|
mov r1, #1
|
|
bl func_ov00_0209cc3c
|
|
ldr r1, _0207e044 ; =data_027e0f78
|
|
ldr r0, [r5, #0x144]
|
|
ldr r6, [r1]
|
|
bl func_ov00_0209c530
|
|
mov r1, r0
|
|
ldrh r2, [r1, #8]
|
|
mov r0, r6
|
|
mov r1, #2
|
|
bl func_ov00_0209cc3c
|
|
ldr r1, _0207e044 ; =data_027e0f78
|
|
ldr r0, [r5, #0x144]
|
|
ldr r6, [r1]
|
|
bl func_ov00_0209c530
|
|
mov r1, r0
|
|
ldrh r2, [r1, #0xa]
|
|
mov r0, r6
|
|
mov r1, #3
|
|
bl func_ov00_0209cc3c
|
|
ldr r0, _0207e044 ; =data_027e0f78
|
|
ldr r0, [r0]
|
|
bl func_ov00_0209cc48
|
|
ldr r1, _0207e048 ; =data_027e0f88
|
|
ldr r0, [r5, #0x144]
|
|
ldr r6, [r1]
|
|
bl func_ov00_0209c530
|
|
mov r1, r0
|
|
ldrh r2, [r1, #0xc]
|
|
mov r0, r6
|
|
mov r1, #0
|
|
bl func_ov00_020a1a0c
|
|
cmp r4, #0
|
|
beq _0207dff0
|
|
ldr r0, [r5, #0x144]
|
|
ldr r1, _0207e04c ; =data_ov00_020ecde4
|
|
ldr r2, [r0, #0xc]
|
|
mov r0, #0x68
|
|
mla r0, r2, r0, r1
|
|
add r0, r0, #0x54
|
|
add r4, sp, #0
|
|
ldmia r0, {r0, r1, r2, r3}
|
|
stmia r4, {r0, r1, r2, r3}
|
|
ldr r0, [sp]
|
|
cmp r0, #1
|
|
blt _0207dfb4
|
|
ldr r0, _0207e050 ; =data_ov00_020ee0a0
|
|
mov r1, #1
|
|
bl func_ov00_0209cd80
|
|
b _0207dfc0
|
|
_0207dfb4:
|
|
ldr r0, _0207e050 ; =data_ov00_020ee0a0
|
|
mov r1, #0
|
|
bl func_ov00_0209cd80
|
|
_0207dfc0:
|
|
ldr r0, [r5, #0x144]
|
|
bl func_ov00_0209c530
|
|
ldrh r1, [r0, #0xe]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r0, _0207e050 ; =data_ov00_020ee0a0
|
|
bl func_ov00_0209cd9c
|
|
ldr r1, [sp, #4]
|
|
ldr r0, _0207e050 ; =data_ov00_020ee0a0
|
|
bl func_ov00_0209cddc
|
|
ldr r1, [sp, #8]
|
|
ldr r0, _0207e050 ; =data_ov00_020ee0a0
|
|
bl func_ov00_0209cdf8
|
|
_0207dff0:
|
|
ldr r0, _0207e054 ; =data_027e0d38
|
|
ldr r0, [r0]
|
|
bl func_ov00_02078b40
|
|
cmp r0, #2
|
|
bne _0207e01c
|
|
ldr r0, [r5, #0x144]
|
|
bl func_ov00_0209c530
|
|
ldr r1, _0207e058 ; =data_027e0e58
|
|
ldrh r2, [r0, #0x10]
|
|
ldr r0, [r1]
|
|
strh r2, [r0, #0x22]
|
|
_0207e01c:
|
|
ldr r0, [r5, #0x144]
|
|
bl func_ov00_0209c530
|
|
mov r1, r0
|
|
ldr r0, _0207e05c ; =data_027e0f8c
|
|
add r1, r1, #0x12
|
|
bl func_ov00_020a3de0
|
|
ldr r0, [r5, #0x144]
|
|
bl func_ov00_0209c788
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_0207dea0Eb
|
|
_0207e044: .word data_027e0f78
|
|
_0207e048: .word data_027e0f88
|
|
_0207e04c: .word data_ov00_020ecde4
|
|
_0207e050: .word data_ov00_020ee0a0
|
|
_0207e054: .word data_027e0d38
|
|
_0207e058: .word data_027e0e58
|
|
_0207e05c: .word data_027e0f8c
|
|
|
|
.global _ZN7MapBase8vfunc_b0Eii
|
|
arm_func_start _ZN7MapBase8vfunc_b0Eii
|
|
_ZN7MapBase8vfunc_b0Eii: ; 0x0207e060
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x13c]
|
|
mov r4, r2
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
bl func_020196fc
|
|
ldr r0, [r5, #0x13c]
|
|
mov r1, r4
|
|
bl func_020196bc
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN7MapBase8vfunc_b0Eii
|
|
|
|
.global _ZN7MapBase18func_ov00_0207e08cEii
|
|
arm_func_start _ZN7MapBase18func_ov00_0207e08cEii
|
|
_ZN7MapBase18func_ov00_0207e08cEii: ; 0x0207e08c
|
|
stmdb sp!, {r3, lr}
|
|
ldr r3, [r0, #0x13c]
|
|
cmp r3, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r3, #8]
|
|
adds lr, r3, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldrh r0, [lr, #0xa]
|
|
add ip, lr, #4
|
|
cmp lr, #0
|
|
ldrh r3, [ip, r0]
|
|
add r0, ip, r0
|
|
mla r0, r3, r2, r0
|
|
ldr r0, [r0, #4]
|
|
add r3, lr, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r2, [r3, #0x14]
|
|
mov r0, #1
|
|
str r2, [r1]
|
|
ldrh r2, [r3, #0x1c]
|
|
strh r2, [r1, #4]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_0207e08cEii
|
|
|
|
.global _ZN7MapBase18func_ov00_0207e0f0Ei
|
|
arm_func_start _ZN7MapBase18func_ov00_0207e0f0Ei
|
|
_ZN7MapBase18func_ov00_0207e0f0Ei: ; 0x0207e0f0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
|
|
sub sp, sp, #0x14
|
|
mov r10, r0
|
|
ldr r2, [r10, #0x13c]
|
|
str r1, [sp]
|
|
cmp r2, #0
|
|
addeq sp, sp, #0x14
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
ldr r0, [r2, #8]
|
|
adds r0, r2, r0
|
|
str r0, [sp, #4]
|
|
addeq sp, sp, #0x14
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
ldrh r1, [r0]
|
|
adds r0, r0, r1
|
|
str r0, [sp, #0xc]
|
|
addeq sp, sp, #0x14
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
ldrb r1, [r0, #1]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
cmp r1, #0
|
|
bls _0207e280
|
|
mov r7, r0
|
|
_0207e15c:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #0xc]
|
|
ldrh r3, [r0, #6]
|
|
mov r0, r10
|
|
ldr r2, [r0]
|
|
add r3, r1, r3
|
|
ldrh r1, [r3, #2]
|
|
ldr r2, [r2, #0xb4]
|
|
add r4, r3, r1
|
|
blx r2
|
|
add r0, r0, #0x3c
|
|
add r1, r4, r7
|
|
bl func_0201e24c
|
|
cmp r0, #0
|
|
beq _0207e260
|
|
ldr r0, [sp, #0xc]
|
|
mov r5, #0
|
|
ldrh r2, [r0, #6]
|
|
ldrh r1, [r0, r2]
|
|
add r0, r0, r2
|
|
add r2, r0, #4
|
|
ldr r0, [sp, #8]
|
|
mul r0, r1, r0
|
|
add r11, r2, r0
|
|
ldrb r1, [r11, #2]
|
|
ldrh r0, [r2, r0]
|
|
cmp r1, #0
|
|
str r0, [sp, #0x10]
|
|
ble _0207e260
|
|
_0207e1d0:
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
ldrb r0, [r1, r0]
|
|
add r1, r0, r5
|
|
ldr r0, [sp]
|
|
cmp r0, r1
|
|
bne _0207e250
|
|
mov r0, r10
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xb4]
|
|
blx r1
|
|
add r1, r0, #0x3c
|
|
ldrb r9, [r1, #1]
|
|
mov r6, #0
|
|
cmp r9, #0
|
|
ble _0207e250
|
|
ldrh r0, [r1, #6]
|
|
add r8, r1, r0
|
|
_0207e218:
|
|
ldrh r0, [r8, #2]
|
|
add r1, r4, r7
|
|
add r0, r8, r0
|
|
add r0, r0, r6, lsl #4
|
|
bl strcmp
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x14
|
|
moveq r0, r6
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
add r0, r6, #1
|
|
mov r0, r0, lsl #0x10
|
|
cmp r9, r0, lsr #16
|
|
mov r6, r0, lsr #0x10
|
|
bgt _0207e218
|
|
_0207e250:
|
|
ldrb r0, [r11, #2]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
blt _0207e1d0
|
|
_0207e260:
|
|
ldr r0, [sp, #0xc]
|
|
add r7, r7, #0x10
|
|
ldrb r1, [r0, #1]
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, #1
|
|
str r0, [sp, #8]
|
|
cmp r0, r1
|
|
blo _0207e15c
|
|
_0207e280:
|
|
mvn r0, #0
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_0207e0f0Ei
|
|
|
|
.global _ZN7MapBase18func_ov00_0207e28cEi
|
|
arm_func_start _ZN7MapBase18func_ov00_0207e28cEi
|
|
_ZN7MapBase18func_ov00_0207e28cEi: ; 0x0207e28c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
|
|
sub sp, sp, #0x14
|
|
mov r10, r0
|
|
ldr r2, [r10, #0x13c]
|
|
str r1, [sp]
|
|
cmp r2, #0
|
|
addeq sp, sp, #0x14
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
ldr r0, [r2, #8]
|
|
adds r0, r2, r0
|
|
str r0, [sp, #4]
|
|
addeq sp, sp, #0x14
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
ldrh r1, [r0, #2]
|
|
adds r0, r0, r1
|
|
str r0, [sp, #0xc]
|
|
addeq sp, sp, #0x14
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
ldrb r1, [r0, #1]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
cmp r1, #0
|
|
bls _0207e438
|
|
mov r7, r0
|
|
_0207e2f8:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #0xc]
|
|
ldrh r3, [r0, #6]
|
|
mov r0, r10
|
|
ldr r2, [r0]
|
|
add r3, r1, r3
|
|
ldrh r1, [r3, #2]
|
|
ldr r2, [r2, #0xb4]
|
|
add r4, r3, r1
|
|
blx r2
|
|
ldrh r2, [r0, #0x34]
|
|
add r1, r4, r7
|
|
add r0, r0, r2
|
|
bl func_0201e24c
|
|
cmp r0, #0
|
|
beq _0207e418
|
|
ldr r0, [sp, #0xc]
|
|
mov r5, #0
|
|
ldrh r2, [r0, #6]
|
|
ldrh r1, [r0, r2]
|
|
add r0, r0, r2
|
|
add r2, r0, #4
|
|
ldr r0, [sp, #8]
|
|
mul r0, r1, r0
|
|
add r11, r2, r0
|
|
ldrb r1, [r11, #2]
|
|
ldrh r0, [r2, r0]
|
|
cmp r1, #0
|
|
str r0, [sp, #0x10]
|
|
ble _0207e418
|
|
_0207e370:
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
ldrb r0, [r1, r0]
|
|
add r1, r0, r5
|
|
ldr r0, [sp]
|
|
cmp r0, r1
|
|
bne _0207e408
|
|
mov r0, r10
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xb4]
|
|
blx r1
|
|
mov r8, r0
|
|
mov r0, r10
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xb4]
|
|
blx r1
|
|
ldrh r0, [r0, #0x34]
|
|
mov r6, #0
|
|
add r1, r8, r0
|
|
ldrb r9, [r1, #1]
|
|
cmp r9, #0
|
|
ble _0207e408
|
|
ldrh r0, [r1, #6]
|
|
add r8, r1, r0
|
|
_0207e3d0:
|
|
ldrh r0, [r8, #2]
|
|
add r1, r4, r7
|
|
add r0, r8, r0
|
|
add r0, r0, r6, lsl #4
|
|
bl strcmp
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x14
|
|
moveq r0, r6
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
add r0, r6, #1
|
|
mov r0, r0, lsl #0x10
|
|
cmp r9, r0, lsr #16
|
|
mov r6, r0, lsr #0x10
|
|
bgt _0207e3d0
|
|
_0207e408:
|
|
ldrb r0, [r11, #2]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
blt _0207e370
|
|
_0207e418:
|
|
ldr r0, [sp, #0xc]
|
|
add r7, r7, #0x10
|
|
ldrb r1, [r0, #1]
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, #1
|
|
str r0, [sp, #8]
|
|
cmp r0, r1
|
|
blo _0207e2f8
|
|
_0207e438:
|
|
mvn r0, #0
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_0207e28cEi
|
|
|
|
.global _ZN7MapBase8vfunc_b4Ev
|
|
arm_func_start _ZN7MapBase8vfunc_b4Ev
|
|
_ZN7MapBase8vfunc_b4Ev: ; 0x0207e444
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0207e468 ; =data_ov00_020ec81c
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r0, #8]
|
|
bl func_0201e4cc
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase8vfunc_b4Ev
|
|
_0207e468: .word data_ov00_020ec81c
|
|
|
|
.global _ZN7MapBase8vfunc_48Ev
|
|
arm_func_start _ZN7MapBase8vfunc_48Ev
|
|
_ZN7MapBase8vfunc_48Ev: ; 0x0207e46c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl _ZN7MapBase16Trigger_vfunc_08Ev
|
|
ldr r0, [r4, #0x144]
|
|
mov r1, #0
|
|
bl func_ov00_0209c8e4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end _ZN7MapBase8vfunc_48Ev
|
|
|
|
.global _ZN7MapBase8vfunc_50Ev
|
|
arm_func_start _ZN7MapBase8vfunc_50Ev
|
|
_ZN7MapBase8vfunc_50Ev: ; 0x0207e488
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_50Ev
|
|
|
|
.global _ZN7MapBase8vfunc_54Ev
|
|
arm_func_start _ZN7MapBase8vfunc_54Ev
|
|
_ZN7MapBase8vfunc_54Ev: ; 0x0207e490
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_54Ev
|
|
|
|
.global _ZN7MapBase8vfunc_58Ev
|
|
arm_func_start _ZN7MapBase8vfunc_58Ev
|
|
_ZN7MapBase8vfunc_58Ev: ; 0x0207e498
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_58Ev
|
|
|
|
.global _ZN7MapBase8vfunc_5cEv
|
|
arm_func_start _ZN7MapBase8vfunc_5cEv
|
|
_ZN7MapBase8vfunc_5cEv: ; 0x0207e4a0
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_5cEv
|
|
|
|
.global _ZN7MapBase8vfunc_60Ev
|
|
arm_func_start _ZN7MapBase8vfunc_60Ev
|
|
_ZN7MapBase8vfunc_60Ev: ; 0x0207e4a8
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_60Ev
|
|
|
|
.global _ZN7MapBase8vfunc_64Ev
|
|
arm_func_start _ZN7MapBase8vfunc_64Ev
|
|
_ZN7MapBase8vfunc_64Ev: ; 0x0207e4b0
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_64Ev
|
|
|
|
.global _ZN7MapBase8vfunc_68Eii
|
|
arm_func_start _ZN7MapBase8vfunc_68Eii
|
|
_ZN7MapBase8vfunc_68Eii: ; 0x0207e4b8
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
|
|
sub sp, sp, #0x7c
|
|
ldr r3, _0207e92c ; =gMapManager
|
|
mov r9, r1
|
|
ldr r1, [r3]
|
|
mov r8, r0
|
|
mov r4, r2
|
|
add r0, sp, #8
|
|
mov r2, r9
|
|
bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
add r1, sp, #8
|
|
ldr r2, [r2, #0x54]
|
|
blx r2
|
|
cmp r0, #0x1e
|
|
bgt _0207e570
|
|
bge _0207e724
|
|
cmp r0, #0x17
|
|
bgt _0207e554
|
|
bge _0207e724
|
|
cmp r0, #9
|
|
bgt _0207e548
|
|
cmp r0, #0
|
|
addge pc, pc, r0, lsl #2
|
|
b _0207e63c
|
|
_0207e520: ; jump table
|
|
b _0207e63c ; case 0
|
|
b _0207e724 ; case 1
|
|
b _0207e724 ; case 2
|
|
b _0207e724 ; case 3
|
|
b _0207e724 ; case 4
|
|
b _0207e63c ; case 5
|
|
b _0207e63c ; case 6
|
|
b _0207e63c ; case 7
|
|
b _0207e724 ; case 8
|
|
b _0207e724 ; case 9
|
|
_0207e548:
|
|
cmp r0, #0x16
|
|
beq _0207e724
|
|
b _0207e63c
|
|
_0207e554:
|
|
cmp r0, #0x19
|
|
bgt _0207e564
|
|
beq _0207e724
|
|
b _0207e63c
|
|
_0207e564:
|
|
cmp r0, #0x1d
|
|
beq _0207e724
|
|
b _0207e63c
|
|
_0207e570:
|
|
cmp r0, #0x35
|
|
bgt _0207e5c8
|
|
bge _0207e5e4
|
|
cmp r0, #0x29
|
|
bgt _0207e5bc
|
|
subs r1, r0, #0x1f
|
|
addpl pc, pc, r1, lsl #2
|
|
b _0207e63c
|
|
_0207e590: ; jump table
|
|
b _0207e724 ; case 0
|
|
b _0207e63c ; case 1
|
|
b _0207e63c ; case 2
|
|
b _0207e63c ; case 3
|
|
b _0207e63c ; case 4
|
|
b _0207e63c ; case 5
|
|
b _0207e63c ; case 6
|
|
b _0207e63c ; case 7
|
|
b _0207e724 ; case 8
|
|
b _0207e724 ; case 9
|
|
b _0207e724 ; case 10
|
|
_0207e5bc:
|
|
cmp r0, #0x30
|
|
beq _0207e724
|
|
b _0207e63c
|
|
_0207e5c8:
|
|
cmp r0, #0x40
|
|
bgt _0207e5d8
|
|
beq _0207e724
|
|
b _0207e63c
|
|
_0207e5d8:
|
|
cmp r0, #0x50
|
|
beq _0207e724
|
|
b _0207e63c
|
|
_0207e5e4:
|
|
cmp r4, #0
|
|
beq _0207e724
|
|
add r2, sp, #0x14
|
|
mov r0, r8
|
|
mov r1, r9
|
|
bl _ZN7MapBase18func_ov00_0207f104Eii
|
|
cmp r0, #0
|
|
ldrne r0, [sp, #0x14]
|
|
addne sp, sp, #0x7c
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
add r2, sp, #0x14
|
|
mov r0, r8
|
|
mov r1, r9
|
|
bl _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi
|
|
cmp r0, #0
|
|
beq _0207e724
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [r9, #4]
|
|
cmp r1, r0
|
|
blt _0207e724
|
|
add sp, sp, #0x7c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
_0207e63c:
|
|
ldrb r0, [r8, #0xe]
|
|
cmp r0, #0
|
|
bne _0207e724
|
|
cmp r4, #0
|
|
bne _0207e694
|
|
mov r0, r8
|
|
ldr r3, [r0]
|
|
add r1, sp, #8
|
|
ldr r3, [r3, #0x58]
|
|
mov r2, #5
|
|
blx r3
|
|
cmp r0, #0
|
|
ldreqb r0, [r8, #8]
|
|
cmpeq r0, #0
|
|
bne _0207e724
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
add r1, sp, #8
|
|
ldr r2, [r2, #0x60]
|
|
blx r2
|
|
add sp, sp, #0x7c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
_0207e694:
|
|
add r2, sp, #0x10
|
|
mov r0, r8
|
|
mov r1, r9
|
|
bl _ZN7MapBase18func_ov00_0207f104Eii
|
|
cmp r0, #0
|
|
ldrne r0, [sp, #0x10]
|
|
addne sp, sp, #0x7c
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
add r2, sp, #0x10
|
|
mov r0, r8
|
|
mov r1, r9
|
|
bl _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi
|
|
cmp r0, #0
|
|
beq _0207e6e0
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [r9, #4]
|
|
cmp r1, r0
|
|
addge sp, sp, #0x7c
|
|
ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
_0207e6e0:
|
|
mov r0, r8
|
|
ldr r3, [r0]
|
|
add r1, sp, #8
|
|
ldr r3, [r3, #0x58]
|
|
mov r2, #5
|
|
blx r3
|
|
cmp r0, #0
|
|
ldreqb r0, [r8, #8]
|
|
cmpeq r0, #0
|
|
bne _0207e724
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
add r1, sp, #8
|
|
ldr r2, [r2, #0x60]
|
|
blx r2
|
|
add sp, sp, #0x7c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
_0207e724:
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
ldr r0, _0207e930 ; =data_027e0f6c
|
|
ldr r3, _0207e934 ; =data_ov00_020ec824
|
|
ldr r0, [r0]
|
|
mov r1, r9
|
|
mov r2, #2
|
|
bl func_01fff084
|
|
ldr r4, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev
|
|
mov r5, r0
|
|
ldr r3, _0207e93c ; =_ZN7MapBase18func_ov00_0207e96cEv
|
|
add r0, sp, #0x48
|
|
mov r1, #3
|
|
mov r2, #0x10
|
|
str r4, [sp]
|
|
mov r6, #0x2000
|
|
bl func_0204f614
|
|
mov r7, #0
|
|
sub r0, r7, #0x10000
|
|
add r4, sp, #0x18
|
|
str r7, [sp, #0x24]
|
|
str r7, [sp, #0x2c]
|
|
str r0, [sp, #0x28]
|
|
ldmia r9, {r0, r1, r2}
|
|
stmia r4, {r0, r1, r2}
|
|
cmp r5, #0
|
|
ble _0207e8a0
|
|
ldr r10, _0207e934 ; =data_ov00_020ec824
|
|
ldr r9, _0207e930 ; =data_027e0f6c
|
|
mov r11, #0x4c
|
|
_0207e7a4:
|
|
mov r0, r7, lsl #0x1
|
|
ldrh r1, [r10, r0]
|
|
ldr r2, [r9]
|
|
add r0, sp, #0x30
|
|
ldr r3, [r2, #0x20]
|
|
mul r2, r1, r11
|
|
add ip, r3, r2
|
|
ldrh lr, [r3, r2]
|
|
ldrh r3, [ip, #2]
|
|
mov r1, r4
|
|
add r2, sp, #0x24
|
|
strh r3, [sp, #0x32]
|
|
strh lr, [sp, #0x30]
|
|
ldrh lr, [ip, #4]
|
|
add r3, sp, #0xc
|
|
strh lr, [sp, #0x34]
|
|
ldrh lr, [ip, #6]
|
|
strh lr, [sp, #0x36]
|
|
ldr lr, [ip, #8]
|
|
str lr, [sp, #0x38]
|
|
ldr lr, [ip, #0xc]
|
|
str lr, [sp, #0x3c]
|
|
ldr lr, [ip, #0x10]
|
|
str lr, [sp, #0x40]
|
|
ldr lr, [ip, #0x14]
|
|
str lr, [sp, #0x44]
|
|
ldr lr, [ip, #0x18]
|
|
str lr, [sp, #0x48]
|
|
ldr lr, [ip, #0x1c]
|
|
str lr, [sp, #0x4c]
|
|
ldr lr, [ip, #0x20]
|
|
str lr, [sp, #0x50]
|
|
ldr lr, [ip, #0x24]
|
|
str lr, [sp, #0x54]
|
|
ldr lr, [ip, #0x28]
|
|
str lr, [sp, #0x58]
|
|
ldr lr, [ip, #0x2c]
|
|
str lr, [sp, #0x5c]
|
|
ldr lr, [ip, #0x30]
|
|
str lr, [sp, #0x60]
|
|
ldr lr, [ip, #0x34]
|
|
str lr, [sp, #0x64]
|
|
ldr lr, [ip, #0x38]
|
|
str lr, [sp, #0x68]
|
|
ldr lr, [ip, #0x3c]
|
|
str lr, [sp, #0x6c]
|
|
ldr lr, [ip, #0x40]
|
|
str lr, [sp, #0x70]
|
|
ldr lr, [ip, #0x44]
|
|
str lr, [sp, #0x74]
|
|
ldr ip, [ip, #0x48]
|
|
str ip, [sp, #0x78]
|
|
bl func_01ffe904
|
|
cmp r0, #0
|
|
beq _0207e88c
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, r6
|
|
movlt r6, r0
|
|
_0207e88c:
|
|
add r0, r7, #1
|
|
mov r0, r0, lsl #0x10
|
|
cmp r5, r0, lsr #16
|
|
mov r7, r0, lsr #0x10
|
|
bgt _0207e7a4
|
|
_0207e8a0:
|
|
cmp r6, #0x1000
|
|
bgt _0207e8f4
|
|
mvn r1, #0
|
|
mov r0, r1, lsl #0x10
|
|
umull r3, r2, r6, r0
|
|
mla r2, r6, r1, r2
|
|
mov r1, r6, asr #0x1f
|
|
mla r2, r1, r0, r2
|
|
adds r3, r3, #0x800
|
|
adc r1, r2, #0
|
|
mov r4, r3, lsr #0xc
|
|
orr r4, r4, r1, lsl #20
|
|
ldr r3, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev
|
|
ldr r5, [sp, #0x1c]
|
|
add r0, sp, #0x48
|
|
mov r1, #3
|
|
mov r2, #0x10
|
|
bl func_0204f754
|
|
add sp, sp, #0x7c
|
|
add r0, r5, r4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
_0207e8f4:
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
add r1, sp, #8
|
|
ldr r2, [r2, #0x60]
|
|
blx r2
|
|
mov r4, r0
|
|
ldr r3, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev
|
|
add r0, sp, #0x48
|
|
mov r1, #3
|
|
mov r2, #0x10
|
|
bl func_0204f754
|
|
mov r0, r4
|
|
add sp, sp, #0x7c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase8vfunc_68Eii
|
|
_0207e92c: .word gMapManager
|
|
_0207e930: .word data_027e0f6c
|
|
_0207e934: .word data_ov00_020ec824
|
|
_0207e938: .word _ZN7MapBase18func_ov00_0207e968Ev
|
|
_0207e93c: .word _ZN7MapBase18func_ov00_0207e96cEv
|
|
|
|
.global _ZN7MapBase18func_ov00_0207e940EPc
|
|
arm_func_start _ZN7MapBase18func_ov00_0207e940EPc
|
|
_ZN7MapBase18func_ov00_0207e940EPc: ; 0x0207e940
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r3, _0207e964 ; =_ZN7MapBase18func_ov00_0207e968Ev
|
|
add r0, r4, #0x18
|
|
mov r1, #3
|
|
mov r2, #0x10
|
|
bl func_0204f754
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_0207e940EPc
|
|
_0207e964: .word _ZN7MapBase18func_ov00_0207e968Ev
|
|
|
|
.global _ZN7MapBase18func_ov00_0207e968Ev
|
|
arm_func_start _ZN7MapBase18func_ov00_0207e968Ev
|
|
_ZN7MapBase18func_ov00_0207e968Ev: ; 0x0207e968
|
|
bx lr
|
|
arm_func_end _ZN7MapBase18func_ov00_0207e968Ev
|
|
|
|
.global _ZN7MapBase18func_ov00_0207e96cEv
|
|
arm_func_start _ZN7MapBase18func_ov00_0207e96cEv
|
|
_ZN7MapBase18func_ov00_0207e96cEv: ; 0x0207e96c
|
|
bx lr
|
|
arm_func_end _ZN7MapBase18func_ov00_0207e96cEv
|
|
|
|
.global _ZN7MapBase8vfunc_6cEiii
|
|
arm_func_start _ZN7MapBase8vfunc_6cEiii
|
|
_ZN7MapBase8vfunc_6cEiii: ; 0x0207e970
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
|
|
sub sp, sp, #0xc4
|
|
ldr r4, _0207ee00 ; =gMapManager
|
|
mov r9, r1
|
|
ldr r1, [r4]
|
|
mov r8, r0
|
|
str r2, [sp, #8]
|
|
add r0, sp, #0xc
|
|
mov r2, r9
|
|
mov r7, r3
|
|
bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
add r1, sp, #0xc
|
|
ldr r2, [r2, #0x54]
|
|
blx r2
|
|
cmp r0, #0x1e
|
|
bgt _0207ea2c
|
|
bge _0207eb04
|
|
cmp r0, #0x17
|
|
bgt _0207ea10
|
|
bge _0207eb04
|
|
cmp r0, #9
|
|
bgt _0207ea04
|
|
cmp r0, #0
|
|
addge pc, pc, r0, lsl #2
|
|
b _0207ea9c
|
|
_0207e9dc: ; jump table
|
|
b _0207ea9c ; case 0
|
|
b _0207eb04 ; case 1
|
|
b _0207eb04 ; case 2
|
|
b _0207eb04 ; case 3
|
|
b _0207eb04 ; case 4
|
|
b _0207ea9c ; case 5
|
|
b _0207ea9c ; case 6
|
|
b _0207ea9c ; case 7
|
|
b _0207eb04 ; case 8
|
|
b _0207eb04 ; case 9
|
|
_0207ea04:
|
|
cmp r0, #0x16
|
|
beq _0207eb04
|
|
b _0207ea9c
|
|
_0207ea10:
|
|
cmp r0, #0x19
|
|
bgt _0207ea20
|
|
beq _0207eb04
|
|
b _0207ea9c
|
|
_0207ea20:
|
|
cmp r0, #0x1d
|
|
beq _0207eb04
|
|
b _0207ea9c
|
|
_0207ea2c:
|
|
cmp r0, #0x35
|
|
bgt _0207ea84
|
|
bge _0207eb04
|
|
cmp r0, #0x29
|
|
bgt _0207ea78
|
|
subs r1, r0, #0x1f
|
|
addpl pc, pc, r1, lsl #2
|
|
b _0207ea9c
|
|
_0207ea4c: ; jump table
|
|
b _0207eb04 ; case 0
|
|
b _0207ea9c ; case 1
|
|
b _0207ea9c ; case 2
|
|
b _0207ea9c ; case 3
|
|
b _0207ea9c ; case 4
|
|
b _0207ea9c ; case 5
|
|
b _0207ea9c ; case 6
|
|
b _0207ea9c ; case 7
|
|
b _0207eb04 ; case 8
|
|
b _0207eb04 ; case 9
|
|
b _0207eb04 ; case 10
|
|
_0207ea78:
|
|
cmp r0, #0x30
|
|
beq _0207eb04
|
|
b _0207ea9c
|
|
_0207ea84:
|
|
cmp r0, #0x40
|
|
bgt _0207ea94
|
|
beq _0207eb04
|
|
b _0207ea9c
|
|
_0207ea94:
|
|
cmp r0, #0x50
|
|
beq _0207eb04
|
|
_0207ea9c:
|
|
ldrb r0, [r8, #0xe]
|
|
cmp r0, #0
|
|
bne _0207eb04
|
|
mov r0, r8
|
|
ldr r3, [r0]
|
|
add r1, sp, #0xc
|
|
ldr r3, [r3, #0x58]
|
|
mov r2, #5
|
|
blx r3
|
|
cmp r0, #0
|
|
ldreqb r0, [r8, #8]
|
|
cmpeq r0, #0
|
|
bne _0207eb04
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
add r1, sp, #0xc
|
|
ldr r2, [r2, #0x60]
|
|
blx r2
|
|
ldr r1, [sp, #8]
|
|
add sp, sp, #0xc4
|
|
str r0, [r1]
|
|
mov r1, #0
|
|
str r1, [r7]
|
|
mov r0, #0x1000
|
|
stmib r7, {r0, r1}
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
_0207eb04:
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
ldr r0, _0207ee04 ; =data_027e0f6c
|
|
ldr r3, _0207ee08 ; =data_ov00_020ec864
|
|
ldr r0, [r0]
|
|
mov r1, r9
|
|
mov r2, #2
|
|
bl func_01fff084
|
|
ldr r5, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev
|
|
mov r4, r0
|
|
str r5, [sp]
|
|
ldr r3, _0207ee10 ; =_ZN7MapBase18func_ov00_0207e96cEv
|
|
add r0, sp, #0x90
|
|
mov r1, #3
|
|
mov r2, #0x10
|
|
mov r5, #0x2000
|
|
bl func_0204f614
|
|
ldr r1, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev
|
|
ldr r3, _0207ee10 ; =_ZN7MapBase18func_ov00_0207e96cEv
|
|
str r1, [sp]
|
|
add r0, sp, #0x44
|
|
mov r1, #3
|
|
mov r2, #0x10
|
|
bl func_0204f614
|
|
mov r6, #0
|
|
sub r0, r6, #0x10000
|
|
str r6, [sp, #0x20]
|
|
str r6, [sp, #0x28]
|
|
str r0, [sp, #0x24]
|
|
add r3, sp, #0x14
|
|
ldmia r9, {r0, r1, r2}
|
|
cmp r4, #0
|
|
stmia r3, {r0, r1, r2}
|
|
ble _0207ed48
|
|
ldr r10, _0207ee08 ; =data_ov00_020ec864
|
|
ldr r9, _0207ee04 ; =data_027e0f6c
|
|
mov r11, #0x4c
|
|
_0207eba0:
|
|
mov r0, r6, lsl #0x1
|
|
ldrh r1, [r10, r0]
|
|
ldr r2, [r9]
|
|
add r0, sp, #0x78
|
|
ldr r3, [r2, #0x20]
|
|
mul r2, r1, r11
|
|
add ip, r3, r2
|
|
ldrh lr, [r3, r2]
|
|
ldrh r3, [ip, #2]
|
|
add r1, sp, #0x14
|
|
add r2, sp, #0x20
|
|
strh r3, [sp, #0x7a]
|
|
strh lr, [sp, #0x78]
|
|
ldrh lr, [ip, #4]
|
|
add r3, sp, #0x10
|
|
strh lr, [sp, #0x7c]
|
|
ldrh lr, [ip, #6]
|
|
strh lr, [sp, #0x7e]
|
|
ldr lr, [ip, #8]
|
|
str lr, [sp, #0x80]
|
|
ldr lr, [ip, #0xc]
|
|
str lr, [sp, #0x84]
|
|
ldr lr, [ip, #0x10]
|
|
str lr, [sp, #0x88]
|
|
ldr lr, [ip, #0x14]
|
|
str lr, [sp, #0x8c]
|
|
ldr lr, [ip, #0x18]
|
|
str lr, [sp, #0x90]
|
|
ldr lr, [ip, #0x1c]
|
|
str lr, [sp, #0x94]
|
|
ldr lr, [ip, #0x20]
|
|
str lr, [sp, #0x98]
|
|
ldr lr, [ip, #0x24]
|
|
str lr, [sp, #0x9c]
|
|
ldr lr, [ip, #0x28]
|
|
str lr, [sp, #0xa0]
|
|
ldr lr, [ip, #0x2c]
|
|
str lr, [sp, #0xa4]
|
|
ldr lr, [ip, #0x30]
|
|
str lr, [sp, #0xa8]
|
|
ldr lr, [ip, #0x34]
|
|
str lr, [sp, #0xac]
|
|
ldr lr, [ip, #0x38]
|
|
str lr, [sp, #0xb0]
|
|
ldr lr, [ip, #0x3c]
|
|
str lr, [sp, #0xb4]
|
|
ldr lr, [ip, #0x40]
|
|
str lr, [sp, #0xb8]
|
|
ldr lr, [ip, #0x44]
|
|
str lr, [sp, #0xbc]
|
|
ldr ip, [ip, #0x48]
|
|
str ip, [sp, #0xc0]
|
|
bl func_01ffe904
|
|
cmp r0, #0
|
|
beq _0207ed34
|
|
ldr r1, [sp, #0x10]
|
|
cmp r1, r5
|
|
bge _0207ed34
|
|
ldrh r0, [sp, #0x78]
|
|
mov r5, r1
|
|
ldrh r1, [sp, #0x7a]
|
|
strh r0, [sp, #0x2c]
|
|
ldrh r0, [sp, #0x7c]
|
|
strh r1, [sp, #0x2e]
|
|
ldrh r1, [sp, #0x7e]
|
|
strh r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x80]
|
|
strh r1, [sp, #0x32]
|
|
str r0, [sp, #0x34]
|
|
ldr r1, [sp, #0x84]
|
|
ldr r0, [sp, #0x88]
|
|
str r1, [sp, #0x38]
|
|
str r0, [sp, #0x3c]
|
|
ldr r1, [sp, #0x8c]
|
|
ldr r0, [sp, #0x90]
|
|
str r1, [sp, #0x40]
|
|
str r0, [sp, #0x44]
|
|
ldr r1, [sp, #0x94]
|
|
ldr r0, [sp, #0x98]
|
|
str r1, [sp, #0x48]
|
|
str r0, [sp, #0x4c]
|
|
ldr r1, [sp, #0x9c]
|
|
ldr r0, [sp, #0xa0]
|
|
str r1, [sp, #0x50]
|
|
str r0, [sp, #0x54]
|
|
ldr r1, [sp, #0xa4]
|
|
ldr r0, [sp, #0xa8]
|
|
str r1, [sp, #0x58]
|
|
str r0, [sp, #0x5c]
|
|
ldr r1, [sp, #0xac]
|
|
ldr r0, [sp, #0xb0]
|
|
str r1, [sp, #0x60]
|
|
str r0, [sp, #0x64]
|
|
ldr r1, [sp, #0xb4]
|
|
ldr r0, [sp, #0xb8]
|
|
str r1, [sp, #0x68]
|
|
str r0, [sp, #0x6c]
|
|
ldr r1, [sp, #0xbc]
|
|
ldr r0, [sp, #0xc0]
|
|
str r1, [sp, #0x70]
|
|
str r0, [sp, #0x74]
|
|
_0207ed34:
|
|
add r0, r6, #1
|
|
mov r0, r0, lsl #0x10
|
|
cmp r4, r0, lsr #16
|
|
mov r6, r0, lsr #0x10
|
|
bgt _0207eba0
|
|
_0207ed48:
|
|
cmp r5, #0x1000
|
|
bgt _0207eda4
|
|
mvn r1, #0
|
|
mov r0, r1, lsl #0x10
|
|
umull r3, r2, r5, r0
|
|
mla r2, r5, r1, r2
|
|
ldr r4, [sp, #0x34]
|
|
mov r1, r5, asr #0x1f
|
|
str r4, [r7]
|
|
ldr r4, [sp, #0x38]
|
|
mla r2, r1, r0, r2
|
|
str r4, [r7, #4]
|
|
ldr r1, [sp, #0x3c]
|
|
adds r3, r3, #0x800
|
|
str r1, [r7, #8]
|
|
adc r0, r2, #0
|
|
mov r1, r3, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
ldr r2, [sp, #0x18]
|
|
ldr r0, [sp, #8]
|
|
add r1, r2, r1
|
|
str r1, [r0]
|
|
b _0207edd0
|
|
_0207eda4:
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
add r1, sp, #0xc
|
|
ldr r2, [r2, #0x60]
|
|
blx r2
|
|
ldr r1, [sp, #8]
|
|
str r0, [r1]
|
|
mov r1, #0
|
|
str r1, [r7]
|
|
mov r0, #0x1000
|
|
stmib r7, {r0, r1}
|
|
_0207edd0:
|
|
ldr r3, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev
|
|
add r0, sp, #0x44
|
|
mov r1, #3
|
|
mov r2, #0x10
|
|
bl func_0204f754
|
|
ldr r3, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev
|
|
add r0, sp, #0x90
|
|
mov r1, #3
|
|
mov r2, #0x10
|
|
bl func_0204f754
|
|
add sp, sp, #0xc4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase8vfunc_6cEiii
|
|
_0207ee00: .word gMapManager
|
|
_0207ee04: .word data_027e0f6c
|
|
_0207ee08: .word data_ov00_020ec864
|
|
_0207ee0c: .word _ZN7MapBase18func_ov00_0207e968Ev
|
|
_0207ee10: .word _ZN7MapBase18func_ov00_0207e96cEv
|
|
|
|
.global _ZN7MapBase8vfunc_70EP5Vec3p
|
|
arm_func_start _ZN7MapBase8vfunc_70EP5Vec3p
|
|
_ZN7MapBase8vfunc_70EP5Vec3p: ; 0x0207ee14
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
|
|
sub sp, sp, #0x74
|
|
ldr r0, _0207efdc ; =gMapManager
|
|
mov r9, r1
|
|
ldr r1, [r0]
|
|
add r0, sp, #8
|
|
mov r2, r9
|
|
bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
ldr r0, _0207efe0 ; =data_027e0f6c
|
|
ldr r3, _0207efe4 ; =data_ov00_020ec8a4
|
|
ldr r0, [r0]
|
|
mov r1, r9
|
|
mov r2, #2
|
|
bl func_01fff084
|
|
ldr r1, _0207efe8 ; =_ZN7MapBase18func_ov00_0207e968Ev
|
|
mov r5, r0
|
|
str r1, [sp]
|
|
ldr r3, _0207efec ; =_ZN7MapBase18func_ov00_0207e96cEv
|
|
add r0, sp, #0x40
|
|
mov r1, #3
|
|
mov r2, #0x10
|
|
mov r6, #0x2000
|
|
ldr r7, _0207eff0 ; =0x0000ffff
|
|
bl func_0204f614
|
|
mov r8, #0
|
|
sub r0, r8, #0x10000
|
|
str r8, [sp, #0x1c]
|
|
str r8, [sp, #0x24]
|
|
str r0, [sp, #0x20]
|
|
add r4, sp, #0x10
|
|
ldmia r9, {r0, r1, r2}
|
|
cmp r5, #0
|
|
stmia r4, {r0, r1, r2}
|
|
ble _0207efbc
|
|
ldr r10, _0207efe4 ; =data_ov00_020ec8a4
|
|
ldr r9, _0207efe0 ; =data_027e0f6c
|
|
mov r11, #0x4c
|
|
_0207eeb8:
|
|
mov r0, r8, lsl #0x1
|
|
ldrh r1, [r10, r0]
|
|
ldr r2, [r9]
|
|
add r0, sp, #0x28
|
|
ldr r3, [r2, #0x20]
|
|
mul r2, r1, r11
|
|
add ip, r3, r2
|
|
ldrh lr, [r3, r2]
|
|
ldrh r3, [ip, #2]
|
|
mov r1, r4
|
|
add r2, sp, #0x1c
|
|
strh r3, [sp, #0x2a]
|
|
strh lr, [sp, #0x28]
|
|
ldrh lr, [ip, #4]
|
|
add r3, sp, #0xc
|
|
strh lr, [sp, #0x2c]
|
|
ldrh lr, [ip, #6]
|
|
strh lr, [sp, #0x2e]
|
|
ldr lr, [ip, #8]
|
|
str lr, [sp, #0x30]
|
|
ldr lr, [ip, #0xc]
|
|
str lr, [sp, #0x34]
|
|
ldr lr, [ip, #0x10]
|
|
str lr, [sp, #0x38]
|
|
ldr lr, [ip, #0x14]
|
|
str lr, [sp, #0x3c]
|
|
ldr lr, [ip, #0x18]
|
|
str lr, [sp, #0x40]
|
|
ldr lr, [ip, #0x1c]
|
|
str lr, [sp, #0x44]
|
|
ldr lr, [ip, #0x20]
|
|
str lr, [sp, #0x48]
|
|
ldr lr, [ip, #0x24]
|
|
str lr, [sp, #0x4c]
|
|
ldr lr, [ip, #0x28]
|
|
str lr, [sp, #0x50]
|
|
ldr lr, [ip, #0x2c]
|
|
str lr, [sp, #0x54]
|
|
ldr lr, [ip, #0x30]
|
|
str lr, [sp, #0x58]
|
|
ldr lr, [ip, #0x34]
|
|
str lr, [sp, #0x5c]
|
|
ldr lr, [ip, #0x38]
|
|
str lr, [sp, #0x60]
|
|
ldr lr, [ip, #0x3c]
|
|
str lr, [sp, #0x64]
|
|
ldr lr, [ip, #0x40]
|
|
str lr, [sp, #0x68]
|
|
ldr lr, [ip, #0x44]
|
|
str lr, [sp, #0x6c]
|
|
ldr ip, [ip, #0x48]
|
|
str ip, [sp, #0x70]
|
|
bl func_01ffe904
|
|
cmp r0, #0
|
|
beq _0207efa8
|
|
ldr r1, [sp, #0xc]
|
|
cmp r1, r6
|
|
movlt r0, r8, lsl #0x1
|
|
ldrlth r7, [r10, r0]
|
|
movlt r6, r1
|
|
_0207efa8:
|
|
add r0, r8, #1
|
|
mov r0, r0, lsl #0x10
|
|
cmp r5, r0, lsr #16
|
|
mov r8, r0, lsr #0x10
|
|
bgt _0207eeb8
|
|
_0207efbc:
|
|
ldr r3, _0207efe8 ; =_ZN7MapBase18func_ov00_0207e968Ev
|
|
add r0, sp, #0x40
|
|
mov r1, #3
|
|
mov r2, #0x10
|
|
bl func_0204f754
|
|
mov r0, r7
|
|
add sp, sp, #0x74
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase8vfunc_70EP5Vec3p
|
|
_0207efdc: .word gMapManager
|
|
_0207efe0: .word data_027e0f6c
|
|
_0207efe4: .word data_ov00_020ec8a4
|
|
_0207efe8: .word _ZN7MapBase18func_ov00_0207e968Ev
|
|
_0207efec: .word _ZN7MapBase18func_ov00_0207e96cEv
|
|
_0207eff0: .word 0x0000ffff
|
|
|
|
.global _ZN7MapBase8vfunc_74EP5Vec3p
|
|
arm_func_start _ZN7MapBase8vfunc_74EP5Vec3p
|
|
_ZN7MapBase8vfunc_74EP5Vec3p: ; 0x0207eff4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
sub sp, sp, #0x24
|
|
ldr r0, _0207f0f4 ; =gMapManager
|
|
mov r8, r1
|
|
ldr r1, [r0]
|
|
add r0, sp, #8
|
|
mov r2, r8
|
|
bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
|
|
add r4, sp, #0xc
|
|
ldmia r8, {r0, r1, r2}
|
|
stmia r4, {r0, r1, r2}
|
|
add r3, sp, #0x18
|
|
ldmia r8, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
mov r0, r4
|
|
mov r1, #0x800
|
|
bl func_ov00_0208ee00
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, _0207f0f8 ; =data_027e0f6c
|
|
ldr r3, _0207f0fc ; =data_ov00_020ec8e4
|
|
ldr r0, [r0]
|
|
mov r1, r4
|
|
mov r2, #8
|
|
bl func_01fff264
|
|
mov r5, r0
|
|
cmp r5, #0
|
|
mov r6, #0
|
|
ble _0207f0e8
|
|
ldr r4, _0207f0fc ; =data_ov00_020ec8e4
|
|
ldr r9, _0207f0f8 ; =data_027e0f6c
|
|
_0207f078:
|
|
mov r0, r6, lsl #0x1
|
|
ldr r1, [r9]
|
|
ldrh r0, [r4, r0]
|
|
ldr r1, [r1, #0x40]
|
|
ldr r7, [r1, r0, lsl #2]
|
|
cmp r7, #0
|
|
ldrneb r0, [r7, #4]
|
|
cmpne r0, #0
|
|
ldrneb r0, [r7, #5]
|
|
cmpne r0, #0
|
|
beq _0207f0dc
|
|
ldr r0, [r7, #0xc]
|
|
ands r0, r0, #0x1f
|
|
cmpne r0, #1
|
|
cmpne r0, #2
|
|
beq _0207f0dc
|
|
mov r0, r7
|
|
ldr r2, [r0]
|
|
mov r1, r8
|
|
ldr r2, [r2, #0x48]
|
|
blx r2
|
|
cmp r0, #0
|
|
addne sp, sp, #0x24
|
|
movne r0, r7
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
_0207f0dc:
|
|
add r6, r6, #1
|
|
cmp r6, r5
|
|
blt _0207f078
|
|
_0207f0e8:
|
|
mov r0, #0
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase8vfunc_74EP5Vec3p
|
|
_0207f0f4: .word gMapManager
|
|
_0207f0f8: .word data_027e0f6c
|
|
_0207f0fc: .word data_ov00_020ec8e4
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f100Ev
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f100Ev
|
|
_ZN7MapBase18func_ov00_0207f100Ev: ; 0x0207f100
|
|
bx lr
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f100Ev
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f104Eii
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f104Eii
|
|
_ZN7MapBase18func_ov00_0207f104Eii: ; 0x0207f104
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr r3, _0207f1f0 ; =gMapManager
|
|
mov r5, r1
|
|
ldr r1, [r3]
|
|
mov r6, r0
|
|
mov r4, r2
|
|
add r0, sp, #0
|
|
mov r2, r5
|
|
bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
|
|
mov r0, r6
|
|
ldr r2, [r0]
|
|
add r1, sp, #0
|
|
ldr r2, [r2, #0x78]
|
|
blx r2
|
|
movs r7, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x58]
|
|
blx r1
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r7
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x54]
|
|
blx r1
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldrneb r0, [r0, #5]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r7
|
|
mov r1, r5
|
|
bl func_ov00_0208b79c
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r7
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x54]
|
|
blx r1
|
|
cmp r0, #0
|
|
moveq r5, #0
|
|
beq _0207f1cc
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x44]
|
|
blx r1
|
|
mov r5, r0
|
|
_0207f1cc:
|
|
mov r0, r6
|
|
ldr r2, [r0]
|
|
add r1, sp, #0
|
|
ldr r2, [r2, #0x60]
|
|
blx r2
|
|
add r0, r0, r5
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f104Eii
|
|
_0207f1f0: .word gMapManager
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi
|
|
_ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi: ; 0x0207f1f4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr}
|
|
sub sp, sp, #0x3c
|
|
ldr r0, _0207f318 ; =gMapManager
|
|
mov r9, r1
|
|
ldr r1, [r0]
|
|
mov r8, r2
|
|
add r0, sp, #8
|
|
mov r2, r9
|
|
bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
|
|
add r4, sp, #0x24
|
|
ldmia r9, {r0, r1, r2}
|
|
stmia r4, {r0, r1, r2}
|
|
add r3, sp, #0x30
|
|
ldmia r9, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
mov r0, r4
|
|
mov r1, #0x800
|
|
bl func_ov00_0208ee00
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, _0207f31c ; =data_027e0f6c
|
|
ldr r3, _0207f320 ; =data_ov00_020ec924
|
|
ldr r0, [r0]
|
|
mov r1, r4
|
|
mov r2, #8
|
|
bl func_01fff264
|
|
mov r5, r0
|
|
cmp r5, #0
|
|
mov r6, #0
|
|
ble _0207f30c
|
|
ldr r4, _0207f320 ; =data_ov00_020ec924
|
|
ldr r10, _0207f31c ; =data_027e0f6c
|
|
_0207f27c:
|
|
mov r0, r6, lsl #0x1
|
|
ldr r1, [r10]
|
|
ldrh r0, [r4, r0]
|
|
ldr r1, [r1, #0x40]
|
|
ldr r7, [r1, r0, lsl #2]
|
|
cmp r7, #0
|
|
ldrneb r0, [r7, #4]
|
|
cmpne r0, #0
|
|
ldrneb r0, [r7, #5]
|
|
cmpne r0, #0
|
|
beq _0207f300
|
|
ldr r0, [r7, #0xc]
|
|
ands r0, r0, #0x1f
|
|
cmpne r0, #1
|
|
cmpne r0, #2
|
|
beq _0207f300
|
|
mov r0, r7
|
|
ldr r2, [r0]
|
|
mov r1, r9
|
|
ldr r2, [r2, #0x48]
|
|
blx r2
|
|
cmp r0, #0
|
|
beq _0207f300
|
|
mov r0, r7
|
|
ldr r2, [r0]
|
|
add r1, sp, #0xc
|
|
ldr r2, [r2, #0x2c]
|
|
blx r2
|
|
ldr r1, [sp, #0x1c]
|
|
add sp, sp, #0x3c
|
|
mov r0, #1
|
|
str r1, [r8]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc}
|
|
_0207f300:
|
|
add r6, r6, #1
|
|
cmp r6, r5
|
|
blt _0207f27c
|
|
_0207f30c:
|
|
mov r0, #0
|
|
add sp, sp, #0x3c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi
|
|
_0207f318: .word gMapManager
|
|
_0207f31c: .word data_027e0f6c
|
|
_0207f320: .word data_ov00_020ec924
|
|
|
|
.global _ZN7MapBase8vfunc_88Ev
|
|
arm_func_start _ZN7MapBase8vfunc_88Ev
|
|
_ZN7MapBase8vfunc_88Ev: ; 0x0207f324
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_88Ev
|
|
|
|
.global _ZN7MapBase8vfunc_8cEv
|
|
arm_func_start _ZN7MapBase8vfunc_8cEv
|
|
_ZN7MapBase8vfunc_8cEv: ; 0x0207f32c
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_8cEv
|
|
|
|
.global _ZN7MapBase8vfunc_9cEv
|
|
arm_func_start _ZN7MapBase8vfunc_9cEv
|
|
_ZN7MapBase8vfunc_9cEv: ; 0x0207f334
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_9cEv
|
|
|
|
.global _ZN7MapBase8vfunc_a0Ev
|
|
arm_func_start _ZN7MapBase8vfunc_a0Ev
|
|
_ZN7MapBase8vfunc_a0Ev: ; 0x0207f338
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_a0Ev
|
|
|
|
.global _ZN7MapBase8vfunc_a4Ev
|
|
arm_func_start _ZN7MapBase8vfunc_a4Ev
|
|
_ZN7MapBase8vfunc_a4Ev: ; 0x0207f33c
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_a4Ev
|
|
|
|
.global _ZN7MapBase8vfunc_a8Ev
|
|
arm_func_start _ZN7MapBase8vfunc_a8Ev
|
|
_ZN7MapBase8vfunc_a8Ev: ; 0x0207f344
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_a8Ev
|
|
|
|
.global _ZN7MapBase8vfunc_acEv
|
|
arm_func_start _ZN7MapBase8vfunc_acEv
|
|
_ZN7MapBase8vfunc_acEv: ; 0x0207f348
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_acEv
|
|
|
|
.global _ZN7MapBase8vfunc_78Ev
|
|
arm_func_start _ZN7MapBase8vfunc_78Ev
|
|
_ZN7MapBase8vfunc_78Ev: ; 0x0207f34c
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_78Ev
|
|
|
|
.global _ZN7MapBase8vfunc_7cEv
|
|
arm_func_start _ZN7MapBase8vfunc_7cEv
|
|
_ZN7MapBase8vfunc_7cEv: ; 0x0207f354
|
|
mov r0, #1
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_7cEv
|
|
|
|
.global _ZN7MapBase8vfunc_80Ev
|
|
arm_func_start _ZN7MapBase8vfunc_80Ev
|
|
_ZN7MapBase8vfunc_80Ev: ; 0x0207f35c
|
|
mov r0, #1
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_80Ev
|
|
|
|
.global _ZN7MapBase8vfunc_84Ei
|
|
arm_func_start _ZN7MapBase8vfunc_84Ei
|
|
_ZN7MapBase8vfunc_84Ei: ; 0x0207f364
|
|
stmdb sp!, {r3, lr}
|
|
ldrb r3, [r1, #0x15]
|
|
ldrb r2, [r1, #0x14]
|
|
add r1, sp, #0
|
|
strb r3, [sp, #1]
|
|
strb r2, [sp]
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x80]
|
|
blx r2
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase8vfunc_84Ei
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f38cEi
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f38cEi
|
|
_ZN7MapBase18func_ov00_0207f38cEi: ; 0x0207f38c
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, [r0]
|
|
mov r4, r1
|
|
ldr r2, [r2, #0x84]
|
|
blx r2
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, _0207f3c0 ; =data_027e0f68
|
|
mov r1, r4
|
|
ldr r0, [r0]
|
|
bl func_ov00_0208d820
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f38cEi
|
|
_0207f3c0: .word data_027e0f68
|
|
|
|
.global _ZN7MapBase8vfunc_90Eiii
|
|
arm_func_start _ZN7MapBase8vfunc_90Eiii
|
|
_ZN7MapBase8vfunc_90Eiii: ; 0x0207f3c4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr r3, [r0]
|
|
mov r6, r0
|
|
ldr r3, [r3, #0x54]
|
|
mov r5, r1
|
|
mov r4, r2
|
|
blx r3
|
|
mov r7, r0
|
|
cmp r7, r4
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r6
|
|
ldr r3, [r0]
|
|
mov r1, r5
|
|
ldr r3, [r3, #0xbc]
|
|
mov r2, r4
|
|
blx r3
|
|
mov r0, r6
|
|
ldr r2, [r0]
|
|
mov r1, r5
|
|
ldr r2, [r2, #0x5c]
|
|
blx r2
|
|
mov r1, r0
|
|
cmp r4, #0x14
|
|
bne _0207f448
|
|
mov r0, r6
|
|
ldr r3, [r0]
|
|
sub r1, r1, #3
|
|
mov r2, r1, lsl #0x18
|
|
ldr r3, [r3, #0xc0]
|
|
mov r1, r5
|
|
mov r2, r2, asr #0x18
|
|
blx r3
|
|
b _0207f470
|
|
_0207f448:
|
|
cmp r7, #0x14
|
|
bne _0207f470
|
|
mov r0, r6
|
|
ldr r3, [r0]
|
|
add r1, r1, #3
|
|
mov r2, r1, lsl #0x18
|
|
ldr r3, [r3, #0xc0]
|
|
mov r1, r5
|
|
mov r2, r2, asr #0x18
|
|
blx r3
|
|
_0207f470:
|
|
mov r0, r6
|
|
ldr r2, [r0]
|
|
mov r1, r5
|
|
ldr r2, [r2, #0x78]
|
|
blx r2
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r2, [r0]
|
|
mov r1, r4
|
|
ldr r2, [r2, #0x44]
|
|
blx r2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end _ZN7MapBase8vfunc_90Eiii
|
|
|
|
.global _ZN7MapBase8vfunc_94Ev
|
|
arm_func_start _ZN7MapBase8vfunc_94Ev
|
|
_ZN7MapBase8vfunc_94Ev: ; 0x0207f4a0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_94Ev
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si
|
|
_ZN7MapBase18func_ov00_0207f4a4EP5Vec2si: ; 0x0207f4a4
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
ldrsh r3, [r1, #2]
|
|
ldrsh r4, [r1]
|
|
add r3, r3, r3, lsr #31
|
|
add ip, r4, r4, lsr #31
|
|
mov r4, r3, asr #0x1
|
|
mov r3, ip, asr #0x1
|
|
strb r3, [sp]
|
|
strb r4, [sp, #1]
|
|
ldrsh r4, [r1]
|
|
ldrsh ip, [r1, #2]
|
|
mov r3, r4, lsr #0x1f
|
|
mov lr, ip, lsr #0x1f
|
|
rsb r1, r3, r4, lsl #31
|
|
rsb ip, lr, ip, lsl #31
|
|
adds r1, r3, r1, ror #31
|
|
add r3, lr, ip, ror #31
|
|
cmpeq r3, #0
|
|
moveq r2, #0
|
|
beq _0207f524
|
|
cmp r1, #1
|
|
cmpeq r3, #0
|
|
moveq r2, #1
|
|
beq _0207f524
|
|
cmp r1, #1
|
|
cmpeq r3, #1
|
|
moveq r2, #3
|
|
beq _0207f524
|
|
cmp r1, #0
|
|
cmpeq r3, #1
|
|
moveq r2, #2
|
|
_0207f524:
|
|
ldr r3, [r0]
|
|
add r1, sp, #0
|
|
ldr r3, [r3, #0x58]
|
|
blx r3
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p
|
|
_ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p: ; 0x0207f53c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r0, #0
|
|
strh r0, [r5]
|
|
mov r4, r2
|
|
strh r0, [r5, #2]
|
|
ldr r0, [r4]
|
|
mov r1, #0x800
|
|
bl Divide
|
|
add r0, r0, #0x800
|
|
mov r0, r0, asr #0xc
|
|
strh r0, [r5]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0x800
|
|
bl Divide
|
|
add r0, r0, #0x800
|
|
mov r0, r0, asr #0xc
|
|
strh r0, [r5, #2]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi
|
|
_ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi: ; 0x0207f588
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
strh r1, [r0, #2]
|
|
cmp r3, #3
|
|
addls pc, pc, r3, lsl #2
|
|
bx lr
|
|
_0207f5a0: ; jump table
|
|
b _0207f5b0 ; case 0
|
|
b _0207f5cc ; case 1
|
|
b _0207f5ec ; case 2
|
|
b _0207f60c ; case 3
|
|
_0207f5b0:
|
|
ldrb r1, [r2]
|
|
mov r1, r1, lsl #0x1
|
|
strh r1, [r0]
|
|
ldrb r1, [r2, #1]
|
|
mov r1, r1, lsl #0x1
|
|
strh r1, [r0, #2]
|
|
bx lr
|
|
_0207f5cc:
|
|
ldrb r1, [r2]
|
|
mov r1, r1, lsl #0x1
|
|
add r1, r1, #1
|
|
strh r1, [r0]
|
|
ldrb r1, [r2, #1]
|
|
mov r1, r1, lsl #0x1
|
|
strh r1, [r0, #2]
|
|
bx lr
|
|
_0207f5ec:
|
|
ldrb r1, [r2]
|
|
mov r1, r1, lsl #0x1
|
|
strh r1, [r0]
|
|
ldrb r1, [r2, #1]
|
|
mov r1, r1, lsl #0x1
|
|
add r1, r1, #1
|
|
strh r1, [r0, #2]
|
|
bx lr
|
|
_0207f60c:
|
|
ldrb r1, [r2]
|
|
mov r1, r1, lsl #0x1
|
|
add r1, r1, #1
|
|
strh r1, [r0]
|
|
ldrb r1, [r2, #1]
|
|
mov r1, r1, lsl #0x1
|
|
add r1, r1, #1
|
|
strh r1, [r0, #2]
|
|
bx lr
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p
|
|
_ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p: ; 0x0207f630
|
|
stmdb sp!, {r4, lr}
|
|
ldrsh r3, [r1, #2]
|
|
ldrsh r1, [r1]
|
|
mov r0, #0x800
|
|
mov lr, r3, lsl #0xc
|
|
mov ip, lr, asr #0x1f
|
|
mov r3, r1, lsl #0xc
|
|
mov ip, ip, lsl #0xb
|
|
mov r1, r3, asr #0x1f
|
|
mov r1, r1, lsl #0xb
|
|
adds r4, r0, lr, lsl #11
|
|
orr ip, ip, lr, lsr #21
|
|
adc lr, ip, #0
|
|
adds ip, r0, r3, lsl #11
|
|
orr r1, r1, r3, lsr #21
|
|
mov r3, r4, lsr #0xc
|
|
adc r0, r1, #0
|
|
mov r1, ip, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
str r1, [r2]
|
|
mov r0, #0
|
|
str r0, [r2, #4]
|
|
orr r3, r3, lr, lsl #20
|
|
str r3, [r2, #8]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p
|
|
|
|
.global _ZN7MapBase13GetTileStartXEi
|
|
arm_func_start _ZN7MapBase13GetTileStartXEi
|
|
_ZN7MapBase13GetTileStartXEi: ; 0x0207f694
|
|
ldr r0, [r0, #0xf4]
|
|
add r0, r0, r1, lsl #12
|
|
bx lr
|
|
arm_func_end _ZN7MapBase13GetTileStartXEi
|
|
|
|
.global _ZN7MapBase13GetTileStartZEi
|
|
arm_func_start _ZN7MapBase13GetTileStartZEi
|
|
_ZN7MapBase13GetTileStartZEi: ; 0x0207f6a0
|
|
ldr r0, [r0, #0xfc]
|
|
add r0, r0, r1, lsl #12
|
|
bx lr
|
|
arm_func_end _ZN7MapBase13GetTileStartZEi
|
|
|
|
.global _ZN7MapBase11GetTileEndXEi
|
|
arm_func_start _ZN7MapBase11GetTileEndXEi
|
|
_ZN7MapBase11GetTileEndXEi: ; 0x0207f6ac
|
|
stmdb sp!, {r3, lr}
|
|
bl _ZN7MapBase13GetTileStartXEi
|
|
add r0, r0, #0x1000
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase11GetTileEndXEi
|
|
|
|
.global _ZN7MapBase11GetTileEndZEi
|
|
arm_func_start _ZN7MapBase11GetTileEndZEi
|
|
_ZN7MapBase11GetTileEndZEi: ; 0x0207f6bc
|
|
stmdb sp!, {r3, lr}
|
|
bl _ZN7MapBase13GetTileStartZEi
|
|
add r0, r0, #0x1000
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase11GetTileEndZEi
|
|
|
|
.global _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB
|
|
arm_func_start _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB
|
|
_ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB: ; 0x0207f6cc
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x18
|
|
mov r7, r1
|
|
ldrb r1, [r7]
|
|
mov r6, r0
|
|
mov r5, r2
|
|
bl _ZN7MapBase13GetTileStartXEi
|
|
ldrb r1, [r7, #1]
|
|
mov r0, r6
|
|
bl _ZN7MapBase13GetTileStartZEi
|
|
mov r4, r0
|
|
ldrb r1, [r7]
|
|
mov r0, r6
|
|
bl _ZN7MapBase13GetTileStartXEi
|
|
ldr r2, _0207f774 ; =0xffffeccd
|
|
str r0, [sp, #0xc]
|
|
ldrb r1, [r7, #1]
|
|
mov r0, r6
|
|
str r2, [sp, #0x10]
|
|
str r4, [sp, #0x14]
|
|
bl _ZN7MapBase11GetTileEndZEi
|
|
mov r4, r0
|
|
mov r0, r6
|
|
mov r1, r7
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x60]
|
|
blx r2
|
|
ldrb r1, [r7]
|
|
mov r7, r0
|
|
mov r0, r6
|
|
bl _ZN7MapBase11GetTileEndXEi
|
|
ldr r2, [sp, #0xc]
|
|
ldr r1, [sp, #0x10]
|
|
str r2, [r5]
|
|
str r1, [r5, #4]
|
|
ldr r1, [sp, #0x14]
|
|
str r1, [r5, #8]
|
|
str r0, [r5, #0xc]
|
|
str r7, [r5, #0x10]
|
|
str r4, [r5, #0x14]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB
|
|
_0207f774: .word 0xffffeccd
|
|
|
|
.global _ZN7MapBase15GetClampedTileXEi
|
|
arm_func_start _ZN7MapBase15GetClampedTileXEi
|
|
_ZN7MapBase15GetClampedTileXEi: ; 0x0207f778
|
|
ldr r2, [r0, #0xf4]
|
|
ldrh r0, [r0, #0x28]
|
|
sub r1, r1, r2
|
|
movs r1, r1, asr #0xc
|
|
movmi r1, #0
|
|
sub r0, r0, #1
|
|
cmp r1, r0
|
|
movge r1, r0
|
|
mov r0, r1
|
|
bx lr
|
|
arm_func_end _ZN7MapBase15GetClampedTileXEi
|
|
|
|
.global _ZN7MapBase15GetClampedTileYEi
|
|
arm_func_start _ZN7MapBase15GetClampedTileYEi
|
|
_ZN7MapBase15GetClampedTileYEi: ; 0x0207f7a0
|
|
ldr r2, [r0, #0xfc]
|
|
ldrh r0, [r0, #0x2a]
|
|
sub r1, r1, r2
|
|
movs r1, r1, asr #0xc
|
|
movmi r1, #0
|
|
sub r0, r0, #1
|
|
cmp r1, r0
|
|
movge r1, r0
|
|
mov r0, r1
|
|
bx lr
|
|
arm_func_end _ZN7MapBase15GetClampedTileYEi
|
|
|
|
.global _ZN7MapBase8GetTileXEi
|
|
arm_func_start _ZN7MapBase8GetTileXEi
|
|
_ZN7MapBase8GetTileXEi: ; 0x0207f7c8
|
|
ldr r0, [r0, #0xf4]
|
|
sub r0, r1, r0
|
|
mov r0, r0, asr #0xc
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8GetTileXEi
|
|
|
|
.global _ZN7MapBase8GetTileYEi
|
|
arm_func_start _ZN7MapBase8GetTileYEi
|
|
_ZN7MapBase8GetTileYEi: ; 0x0207f7d8
|
|
ldr r0, [r0, #0xfc]
|
|
sub r0, r1, r0
|
|
mov r0, r0, asr #0xc
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8GetTileYEi
|
|
|
|
.global _ZN7MapBase10IsInBoundsEP5Vec3p
|
|
arm_func_start _ZN7MapBase10IsInBoundsEP5Vec3p
|
|
_ZN7MapBase10IsInBoundsEP5Vec3p: ; 0x0207f7e8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
ldr r1, [r5]
|
|
mov r6, r0
|
|
bl _ZN7MapBase8GetTileXEi
|
|
mov r4, r0
|
|
ldr r1, [r5, #8]
|
|
mov r0, r6
|
|
bl _ZN7MapBase8GetTileYEi
|
|
cmp r4, #0
|
|
blt _0207f834
|
|
ldrh r1, [r6, #0x28]
|
|
cmp r4, r1
|
|
bge _0207f834
|
|
cmp r0, #0
|
|
blt _0207f834
|
|
ldrh r1, [r6, #0x2a]
|
|
cmp r0, r1
|
|
blt _0207f83c
|
|
_0207f834:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0207f83c:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end _ZN7MapBase10IsInBoundsEP5Vec3p
|
|
|
|
.global _ZN7MapBase11AddEntranceEP8Entrance
|
|
arm_func_start _ZN7MapBase11AddEntranceEP8Entrance
|
|
_ZN7MapBase11AddEntranceEP8Entrance: ; 0x0207f844
|
|
stmdb sp!, {r3, lr}
|
|
mov lr, #0
|
|
strb lr, [sp, #1]
|
|
ldr ip, [r0, #0x104]
|
|
ldr r2, [r0, #0x108]
|
|
mov r3, r1
|
|
cmp ip, r2
|
|
bhs _0207f8a0
|
|
add r1, ip, #1
|
|
str r1, [r0, #0x104]
|
|
ldr r2, [r0, #0x100]
|
|
sub r1, r1, #1
|
|
mov r0, #0x14
|
|
mla ip, r1, r0, r2
|
|
ldmia r3, {r0, r1, r2}
|
|
stmia ip, {r0, r1, r2}
|
|
ldrsh r0, [r3, #0xc]
|
|
strh r0, [ip, #0xc]
|
|
ldrb r0, [r3, #0xe]
|
|
strb r0, [ip, #0xe]
|
|
ldr r0, [r3, #0x10]
|
|
str r0, [ip, #0x10]
|
|
ldmia sp!, {r3, pc}
|
|
_0207f8a0:
|
|
strb lr, [sp]
|
|
sub r3, sp, #4
|
|
and r2, lr, #0xff
|
|
strb r2, [r3]
|
|
ldr r2, [r3]
|
|
add r0, r0, #0x100
|
|
bl func_ov00_02081040
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase11AddEntranceEP8Entrance
|
|
|
|
.global _ZN7MapBase12FindEntranceEi
|
|
arm_func_start _ZN7MapBase12FindEntranceEi
|
|
_ZN7MapBase12FindEntranceEi: ; 0x0207f8c0
|
|
sub sp, sp, #0x18
|
|
ldr r3, [r0, #0x100]
|
|
ldr r2, [r0, #0x104]
|
|
mov r0, #0x14
|
|
mla ip, r2, r0, r3
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp]
|
|
str ip, [sp, #0x10]
|
|
str ip, [sp, #4]
|
|
str r3, [sp, #0x14]
|
|
str r3, [sp, #8]
|
|
mov r2, r3
|
|
b _0207f8fc
|
|
_0207f8f4:
|
|
add r2, r2, #0x14
|
|
str r2, [sp, #8]
|
|
_0207f8fc:
|
|
cmp r2, ip
|
|
ldrneb r0, [r2, #0xe]
|
|
cmpne r1, r0
|
|
bne _0207f8f4
|
|
ldr r0, [sp, #8]
|
|
cmp r0, ip
|
|
moveq r0, r3
|
|
ldrne r0, [sp, #8]
|
|
add sp, sp, #0x18
|
|
bx lr
|
|
arm_func_end _ZN7MapBase12FindEntranceEi
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f924Ei
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f924Ei
|
|
_ZN7MapBase18func_ov00_0207f924Ei: ; 0x0207f924
|
|
add r1, r0, r1
|
|
ldrb r0, [r1, #0x18]
|
|
strb r0, [r1, #0x16]
|
|
bx lr
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f924Ei
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f934Ev
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f934Ev
|
|
_ZN7MapBase18func_ov00_0207f934Ev: ; 0x0207f934
|
|
ldr r0, [r0, #0x140]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldrne r0, [r0, #0x60]
|
|
bx lr
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f934Ev
|
|
|
|
.global _ZN7MapBase18func_ov00_0207f948Ei
|
|
arm_func_start _ZN7MapBase18func_ov00_0207f948Ei
|
|
_ZN7MapBase18func_ov00_0207f948Ei: ; 0x0207f948
|
|
ldr r0, [r0, #0x140]
|
|
cmp r0, #0
|
|
strne r1, [r0, #0x60]
|
|
bx lr
|
|
arm_func_end _ZN7MapBase18func_ov00_0207f948Ei
|
|
|
|
.global _ZN7MapBase10AddTriggerEP13TriggerParams
|
|
arm_func_start _ZN7MapBase10AddTriggerEP13TriggerParams
|
|
_ZN7MapBase10AddTriggerEP13TriggerParams: ; 0x0207f958
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r4, r1
|
|
ldrb r1, [r4, #5]
|
|
mov r5, r0
|
|
mov r2, #4
|
|
cmp r1, #0
|
|
beq _0207f9a8
|
|
ldr r1, _0207faa4 ; =data_027e0ce0
|
|
mov r0, #0x5c
|
|
ldr r1, [r1, #4]
|
|
bl _ZN9SysObjectnwEmPjj
|
|
cmp r0, #0
|
|
beq _0207f9a0
|
|
mov r1, r4
|
|
bl func_ov00_02095d58
|
|
_0207f9a0:
|
|
str r0, [sp, #4]
|
|
b _0207fa34
|
|
_0207f9a8:
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #1
|
|
bne _0207f9dc
|
|
ldr r1, _0207faa4 ; =data_027e0ce0
|
|
mov r0, #0xe0
|
|
ldr r1, [r1, #4]
|
|
bl _ZN9SysObjectnwEmPjj
|
|
cmp r0, #0
|
|
beq _0207f9d4
|
|
mov r1, r4
|
|
bl func_ov00_0209581c
|
|
_0207f9d4:
|
|
str r0, [sp, #4]
|
|
b _0207fa34
|
|
_0207f9dc:
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #1
|
|
bne _0207fa10
|
|
ldr r1, _0207faa4 ; =data_027e0ce0
|
|
mov r0, #0x28
|
|
ldr r1, [r1, #4]
|
|
bl _ZN9SysObjectnwEmPjj
|
|
cmp r0, #0
|
|
beq _0207fa08
|
|
mov r1, r4
|
|
bl func_ov00_0209564c
|
|
_0207fa08:
|
|
str r0, [sp, #4]
|
|
b _0207fa34
|
|
_0207fa10:
|
|
ldr r1, _0207faa4 ; =data_027e0ce0
|
|
mov r0, #0x2c
|
|
ldr r1, [r1, #4]
|
|
bl _ZN9SysObjectnwEmPjj
|
|
cmp r0, #0
|
|
beq _0207fa30
|
|
mov r1, r4
|
|
bl func_ov00_02095554
|
|
_0207fa30:
|
|
str r0, [sp, #4]
|
|
_0207fa34:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
mov r2, #0
|
|
strb r2, [sp, #1]
|
|
ldr r1, [r5, #0x110]
|
|
ldr r0, [r5, #0x114]
|
|
cmp r1, r0
|
|
bhs _0207fa7c
|
|
add r0, r1, #1
|
|
str r0, [r5, #0x110]
|
|
ldr r2, [sp, #4]
|
|
ldr r1, [r5, #0x10c]
|
|
sub r0, r0, #1
|
|
str r2, [r1, r0, lsl #2]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0207fa7c:
|
|
strb r2, [sp]
|
|
sub r1, sp, #4
|
|
and r0, r2, #0xff
|
|
strb r0, [r1]
|
|
ldr r2, [r1]
|
|
add r1, sp, #4
|
|
add r0, r5, #0x10c
|
|
bl func_ov00_02080f64
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase10AddTriggerEP13TriggerParams
|
|
_0207faa4: .word data_027e0ce0
|
|
|
|
.global _ZN11TriggerBase8vfunc_08Ev
|
|
arm_func_start _ZN11TriggerBase8vfunc_08Ev
|
|
_ZN11TriggerBase8vfunc_08Ev: ; 0x0207faa8
|
|
bx lr
|
|
arm_func_end _ZN11TriggerBase8vfunc_08Ev
|
|
|
|
.global _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB
|
|
arm_func_start _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB
|
|
_ZN7MapBase21GetTriggerBoundingBoxEiP4AABB: ; 0x0207faac
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
sub sp, sp, #0x18
|
|
mov r9, r0
|
|
ldr r6, [r9, #0x10c]
|
|
ldr r0, [r9, #0x110]
|
|
mov r8, r1
|
|
add r0, r6, r0, lsl #2
|
|
mov r7, r2
|
|
cmp r6, r0
|
|
mov r5, #0
|
|
beq _0207fb50
|
|
add r4, sp, #0
|
|
_0207fadc:
|
|
ldr r0, [r6]
|
|
ldrb r1, [r0, #5]
|
|
cmp r8, r1
|
|
bne _0207fb38
|
|
ldr r2, [r0]
|
|
mov r1, r4
|
|
ldr r2, [r2, #0x18]
|
|
blx r2
|
|
cmp r0, #0
|
|
beq _0207fb38
|
|
ldr r0, [sp]
|
|
add r5, r5, #1
|
|
str r0, [r7]
|
|
ldr r0, [sp, #4]
|
|
str r0, [r7, #4]
|
|
ldr r0, [sp, #8]
|
|
str r0, [r7, #8]
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [r7, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [r7, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
str r0, [r7, #0x14]
|
|
_0207fb38:
|
|
ldr r1, [r9, #0x10c]
|
|
ldr r0, [r9, #0x110]
|
|
add r6, r6, #4
|
|
add r0, r1, r0, lsl #2
|
|
cmp r6, r0
|
|
bne _0207fadc
|
|
_0207fb50:
|
|
mov r0, r5
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
arm_func_end _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB
|
|
|
|
.global _ZN11TriggerBase14GetBoundingBoxEv
|
|
arm_func_start _ZN11TriggerBase14GetBoundingBoxEv
|
|
_ZN11TriggerBase14GetBoundingBoxEv: ; 0x0207fb5c
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN11TriggerBase14GetBoundingBoxEv
|
|
|
|
.global _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi
|
|
arm_func_start _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi
|
|
_ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi: ; 0x0207fb64
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
|
|
sub sp, sp, #0x18
|
|
mov r10, r0
|
|
ldr r6, [r10, #0x10c]
|
|
ldr r0, [r10, #0x110]
|
|
mov r9, r1
|
|
add r0, r6, r0, lsl #2
|
|
mov r8, r2
|
|
mov r7, r3
|
|
cmp r6, r0
|
|
mov r5, #0
|
|
beq _0207fc20
|
|
add r4, sp, #0
|
|
_0207fb98:
|
|
ldr r0, [r6]
|
|
ldrb r1, [r0, #5]
|
|
cmp r9, r1
|
|
bne _0207fbf8
|
|
ldr r2, [r0]
|
|
mov r1, r4
|
|
ldr r2, [r2, #0x18]
|
|
blx r2
|
|
cmp r0, #0
|
|
beq _0207fbf8
|
|
ldr r0, [sp]
|
|
add r5, r5, #1
|
|
str r0, [r8]
|
|
ldr r0, [sp, #4]
|
|
str r0, [r8, #4]
|
|
ldr r0, [sp, #8]
|
|
str r0, [r8, #8]
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [r8, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [r8, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
str r0, [r8, #0x14]
|
|
add r8, r8, #0x18
|
|
_0207fbf8:
|
|
cmp r5, r7
|
|
addhs sp, sp, #0x18
|
|
movhs r0, r5
|
|
ldmhsia sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
|
|
ldr r1, [r10, #0x10c]
|
|
ldr r0, [r10, #0x110]
|
|
add r6, r6, #4
|
|
add r0, r1, r0, lsl #2
|
|
cmp r6, r0
|
|
bne _0207fb98
|
|
_0207fc20:
|
|
mov r0, r5
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
|
|
arm_func_end _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi
|
|
|
|
.global _ZN7MapBase21GetOverlappingTriggerEP5Vec3p
|
|
arm_func_start _ZN7MapBase21GetOverlappingTriggerEP5Vec3p
|
|
_ZN7MapBase21GetOverlappingTriggerEP5Vec3p: ; 0x0207fc2c
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r6, r0
|
|
ldr r4, [r6, #0x10c]
|
|
ldr r0, [r6, #0x110]
|
|
mov r5, r1
|
|
add r0, r4, r0, lsl #2
|
|
cmp r4, r0
|
|
beq _0207fc88
|
|
_0207fc4c:
|
|
ldr r7, [r4]
|
|
mov r1, r5
|
|
mov r0, r7
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x14]
|
|
blx r2
|
|
cmp r0, #0
|
|
ldrneb r0, [r7, #5]
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, [r6, #0x10c]
|
|
ldr r0, [r6, #0x110]
|
|
add r4, r4, #4
|
|
add r0, r1, r0, lsl #2
|
|
cmp r4, r0
|
|
bne _0207fc4c
|
|
_0207fc88:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end _ZN7MapBase21GetOverlappingTriggerEP5Vec3p
|
|
|
|
.global _ZN11TriggerBase8OverlapsEv
|
|
arm_func_start _ZN11TriggerBase8OverlapsEv
|
|
_ZN11TriggerBase8OverlapsEv: ; 0x0207fc90
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN11TriggerBase8OverlapsEv
|
|
|
|
.global _ZN7MapBase11FindTriggerEi
|
|
arm_func_start _ZN7MapBase11FindTriggerEi
|
|
_ZN7MapBase11FindTriggerEi: ; 0x0207fc98
|
|
ldr ip, [r0, #0x10c]
|
|
ldr r2, [r0, #0x110]
|
|
add r2, ip, r2, lsl #2
|
|
cmp ip, r2
|
|
beq _0207fcd8
|
|
_0207fcac:
|
|
ldr r3, [ip]
|
|
ldrb r2, [r3, #5]
|
|
cmp r1, r2
|
|
moveq r0, r3
|
|
bxeq lr
|
|
ldr r3, [r0, #0x10c]
|
|
ldr r2, [r0, #0x110]
|
|
add ip, ip, #4
|
|
add r2, r3, r2, lsl #2
|
|
cmp ip, r2
|
|
bne _0207fcac
|
|
_0207fcd8:
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN7MapBase11FindTriggerEi
|
|
|
|
.global _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei
|
|
arm_func_start _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei
|
|
_ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei: ; 0x0207fce0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
|
|
mov r10, r0
|
|
ldr r6, [r10, #0x10c]
|
|
ldr r0, [r10, #0x110]
|
|
mov r9, r1
|
|
add r0, r6, r0, lsl #2
|
|
mov r8, r2
|
|
mov r7, r3
|
|
cmp r6, r0
|
|
mov r4, #0
|
|
beq _0207fd50
|
|
_0207fd0c:
|
|
cmp r4, r7
|
|
bhs _0207fd50
|
|
ldr r5, [r6]
|
|
mov r1, r9
|
|
mov r0, r5
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x14]
|
|
blx r2
|
|
cmp r0, #0
|
|
strne r5, [r8, r4, lsl #2]
|
|
ldr r1, [r10, #0x10c]
|
|
ldr r0, [r10, #0x110]
|
|
add r6, r6, #4
|
|
add r0, r1, r0, lsl #2
|
|
addne r4, r4, #1
|
|
cmp r6, r0
|
|
bne _0207fd0c
|
|
_0207fd50:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
|
|
arm_func_end _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei
|
|
|
|
.global _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p
|
|
arm_func_start _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p
|
|
_ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p: ; 0x0207fd58
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r6, r1
|
|
mov r7, r0
|
|
mov r5, r2
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r4, [r7, #0x10c]
|
|
ldr r0, [r7, #0x110]
|
|
add r0, r4, r0, lsl #2
|
|
cmp r4, r0
|
|
beq _0207fdc8
|
|
_0207fd84:
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #5]
|
|
cmp r6, r1
|
|
bne _0207fdb0
|
|
ldr r2, [r0]
|
|
mov r1, r5
|
|
ldr r2, [r2, #0x14]
|
|
blx r2
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0207fdb0:
|
|
ldr r1, [r7, #0x10c]
|
|
ldr r0, [r7, #0x110]
|
|
add r4, r4, #4
|
|
add r0, r1, r0, lsl #2
|
|
cmp r4, r0
|
|
bne _0207fd84
|
|
_0207fdc8:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p
|
|
|
|
.global _ZN7MapBase18AnyTrigger_func_0cEi
|
|
arm_func_start _ZN7MapBase18AnyTrigger_func_0cEi
|
|
_ZN7MapBase18AnyTrigger_func_0cEi: ; 0x0207fdd0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
ldr r5, [r7, #0x10c]
|
|
ldr r0, [r7, #0x110]
|
|
mov r6, r1
|
|
add r0, r5, r0, lsl #2
|
|
cmp r5, r0
|
|
beq _0207fe2c
|
|
mov r4, #1
|
|
_0207fdf4:
|
|
ldr r0, [r5]
|
|
ldrb r1, [r0, #5]
|
|
cmp r6, r1
|
|
bne _0207fe14
|
|
ldr r2, [r0]
|
|
mov r1, r4
|
|
ldr r2, [r2, #0xc]
|
|
blx r2
|
|
_0207fe14:
|
|
ldr r1, [r7, #0x10c]
|
|
ldr r0, [r7, #0x110]
|
|
add r5, r5, #4
|
|
add r0, r1, r0, lsl #2
|
|
cmp r5, r0
|
|
bne _0207fdf4
|
|
_0207fe2c:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end _ZN7MapBase18AnyTrigger_func_0cEi
|
|
|
|
.global _ZN11TriggerBase8vfunc_0cEv
|
|
arm_func_start _ZN11TriggerBase8vfunc_0cEv
|
|
_ZN11TriggerBase8vfunc_0cEv: ; 0x0207fe34
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end _ZN11TriggerBase8vfunc_0cEv
|
|
|
|
.global _ZN7MapBase16Trigger_vfunc_08Ev
|
|
arm_func_start _ZN7MapBase16Trigger_vfunc_08Ev
|
|
_ZN7MapBase16Trigger_vfunc_08Ev: ; 0x0207fe3c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r4, [r5, #0x10c]
|
|
ldr r0, [r5, #0x110]
|
|
add r0, r4, r0, lsl #2
|
|
cmp r4, r0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
_0207fe58:
|
|
ldr r0, [r4], #4
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
ldr r1, [r5, #0x10c]
|
|
ldr r0, [r5, #0x110]
|
|
add r0, r1, r0, lsl #2
|
|
cmp r4, r0
|
|
bne _0207fe58
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN7MapBase16Trigger_vfunc_08Ev
|
|
|
|
.global _ZN7MapBase10AddTriggerEi
|
|
arm_func_start _ZN7MapBase10AddTriggerEi
|
|
_ZN7MapBase10AddTriggerEi: ; 0x0207fe80
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0x14
|
|
ldr r1, [r0, #0x110]
|
|
cmp r1, #0x40
|
|
addhs sp, sp, #0x14
|
|
movhs r0, #0
|
|
ldmhsia sp!, {lr}
|
|
addhs sp, sp, #0x10
|
|
bxhs lr
|
|
ldr r2, [r0, #0x10c]
|
|
ldr r1, [r0, #0x110]
|
|
str r2, [sp, #0x10]
|
|
add ip, r2, r1, lsl #2
|
|
str ip, [sp, #0xc]
|
|
str ip, [sp, #4]
|
|
str r2, [sp, #8]
|
|
ldr r3, [sp, #0x1c]
|
|
b _0207fed4
|
|
_0207fecc:
|
|
add r2, r2, #4
|
|
str r2, [sp, #8]
|
|
_0207fed4:
|
|
cmp r2, ip
|
|
ldrne r1, [r2]
|
|
cmpne r1, r3
|
|
bne _0207fecc
|
|
ldr r1, [sp, #8]
|
|
cmp r1, ip
|
|
addne sp, sp, #0x14
|
|
movne r0, #0
|
|
ldmneia sp!, {lr}
|
|
addne sp, sp, #0x10
|
|
bxne lr
|
|
ldr r1, [sp, #0x1c]
|
|
ldrb r1, [r1, #4]
|
|
cmp r1, #0
|
|
addne sp, sp, #0x14
|
|
movne r0, #0
|
|
ldmneia sp!, {lr}
|
|
addne sp, sp, #0x10
|
|
bxne lr
|
|
mov r3, #0
|
|
strb r3, [sp, #1]
|
|
ldr r2, [r0, #0x110]
|
|
ldr r1, [r0, #0x114]
|
|
cmp r2, r1
|
|
bhs _0207ff54
|
|
add r3, r2, #1
|
|
str r3, [r0, #0x110]
|
|
ldr r1, [r0, #0x10c]
|
|
ldr r2, [sp, #0x1c]
|
|
sub r0, r3, #1
|
|
str r2, [r1, r0, lsl #2]
|
|
b _0207ff74
|
|
_0207ff54:
|
|
strb r3, [sp]
|
|
sub r2, sp, #4
|
|
and r1, r3, #0xff
|
|
strb r1, [r2]
|
|
ldr r2, [r2]
|
|
add r1, sp, #0x1c
|
|
add r0, r0, #0x10c
|
|
bl func_ov00_02080f64
|
|
_0207ff74:
|
|
mov r0, #1
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end _ZN7MapBase10AddTriggerEi
|
|
|
|
.global _ZN7MapBase18func_ov00_0207ff88Ei
|
|
arm_func_start _ZN7MapBase18func_ov00_0207ff88Ei
|
|
_ZN7MapBase18func_ov00_0207ff88Ei: ; 0x0207ff88
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x28
|
|
ldrb r2, [r1, #4]
|
|
cmp r2, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr ip, [r0, #0x10c]
|
|
ldr r2, [r0, #0x110]
|
|
str ip, [sp, #0x20]
|
|
add r3, ip, r2, lsl #2
|
|
str r3, [sp, #0x1c]
|
|
str r3, [sp, #0xc]
|
|
str r3, [sp, #4]
|
|
str ip, [sp, #8]
|
|
b _0207ffd0
|
|
_0207ffc8:
|
|
add ip, ip, #4
|
|
str ip, [sp, #8]
|
|
_0207ffd0:
|
|
cmp ip, r3
|
|
ldrne r2, [ip]
|
|
cmpne r2, r1
|
|
bne _0207ffc8
|
|
ldr r2, [sp, #8]
|
|
ldr r3, [sp, #0xc]
|
|
mov lr, r2
|
|
cmp r2, r3
|
|
addne ip, lr, #4
|
|
cmpne ip, r3
|
|
beq _02080014
|
|
_0207fffc:
|
|
ldr r2, [ip]
|
|
add ip, ip, #4
|
|
cmp r2, r1
|
|
strne r2, [lr], #4
|
|
cmp ip, r3
|
|
bne _0207fffc
|
|
_02080014:
|
|
ldr r2, [r0, #0x10c]
|
|
ldr r1, [r0, #0x110]
|
|
mov r3, #0
|
|
add r2, r2, r1, lsl #2
|
|
strb r3, [sp]
|
|
sub r1, sp, #4
|
|
strb r3, [r1]
|
|
ldr r3, [r1]
|
|
mov r1, lr
|
|
add r0, r0, #0x10c
|
|
str lr, [sp, #0x24]
|
|
str r2, [sp, #0x18]
|
|
str r2, [sp, #0x10]
|
|
str lr, [sp, #0x14]
|
|
bl func_ov00_02080f94
|
|
mov r0, #1
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_0207ff88Ei
|
|
|
|
.global _ZN7MapBase18func_ov00_0208005cEiii
|
|
arm_func_start _ZN7MapBase18func_ov00_0208005cEiii
|
|
_ZN7MapBase18func_ov00_0208005cEiii: ; 0x0208005c
|
|
ldr ip, _02080068 ; =func_ov00_0209c1e4
|
|
ldr r0, [r0, #0x144]
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_0208005cEiii
|
|
_02080068: .word func_ov00_0209c1e4
|
|
|
|
.global _ZN7MapBase18func_ov00_0208006cEii
|
|
arm_func_start _ZN7MapBase18func_ov00_0208006cEii
|
|
_ZN7MapBase18func_ov00_0208006cEii: ; 0x0208006c
|
|
ldr ip, _02080078 ; =func_ov00_0209c2b4
|
|
ldr r0, [r0, #0x144]
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_0208006cEii
|
|
_02080078: .word func_ov00_0209c2b4
|
|
|
|
.global _ZN7MapBase18func_ov00_0208007cEii
|
|
arm_func_start _ZN7MapBase18func_ov00_0208007cEii
|
|
_ZN7MapBase18func_ov00_0208007cEii: ; 0x0208007c
|
|
ldr ip, _02080088 ; =func_ov00_0209c2d0
|
|
ldr r0, [r0, #0x144]
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_0208007cEii
|
|
_02080088: .word func_ov00_0209c2d0
|
|
|
|
.global _ZN7MapBase18func_ov00_0208008cEj
|
|
arm_func_start _ZN7MapBase18func_ov00_0208008cEj
|
|
_ZN7MapBase18func_ov00_0208008cEj: ; 0x0208008c
|
|
ldr ip, _02080098 ; =func_ov00_0209c8e4
|
|
ldr r0, [r0, #0x144]
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_0208008cEj
|
|
_02080098: .word func_ov00_0209c8e4
|
|
|
|
.global _ZN7MapBase7AddExitEP4Exit
|
|
arm_func_start _ZN7MapBase7AddExitEP4Exit
|
|
_ZN7MapBase7AddExitEP4Exit: ; 0x0208009c
|
|
stmdb sp!, {r3, lr}
|
|
mov ip, #0
|
|
strb ip, [sp, #1]
|
|
ldr r3, [r0, #0x11c]
|
|
ldr r2, [r0, #0x120]
|
|
cmp r3, r2
|
|
bhs _02080120
|
|
add ip, r3, #1
|
|
sub r3, ip, #1
|
|
mov r2, #0x18
|
|
mul r2, r3, r2
|
|
str ip, [r0, #0x11c]
|
|
ldr r3, [r0, #0x118]
|
|
ldr r0, [r1]
|
|
add ip, r3, r2
|
|
str r0, [r3, r2]
|
|
ldr r0, [r1, #4]
|
|
str r0, [ip, #4]
|
|
ldr r0, [r1, #8]
|
|
str r0, [ip, #8]
|
|
ldr r0, [r1, #0xc]
|
|
str r0, [ip, #0xc]
|
|
ldrsh r0, [r1, #0x10]
|
|
strh r0, [ip, #0x10]
|
|
ldrb r0, [r1, #0x12]
|
|
strb r0, [ip, #0x12]
|
|
ldrb r0, [r1, #0x13]
|
|
strb r0, [ip, #0x13]
|
|
ldrb r0, [r1, #0x14]
|
|
strb r0, [ip, #0x14]
|
|
ldrb r0, [r1, #0x15]
|
|
strb r0, [ip, #0x15]
|
|
ldmia sp!, {r3, pc}
|
|
_02080120:
|
|
strb ip, [sp]
|
|
sub r3, sp, #4
|
|
and r2, ip, #0xff
|
|
strb r2, [r3]
|
|
ldr r2, [r3]
|
|
add r0, r0, #0x118
|
|
bl func_ov00_020810b8
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase7AddExitEP4Exit
|
|
|
|
.global _ZN7MapBase18func_ov00_02080140EP4Exit
|
|
arm_func_start _ZN7MapBase18func_ov00_02080140EP4Exit
|
|
_ZN7MapBase18func_ov00_02080140EP4Exit: ; 0x02080140
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
|
|
sub sp, sp, #0x50
|
|
ldr r9, [r1]
|
|
mov r4, r0
|
|
str r9, [sp, #0x38]
|
|
ldr r8, [r1, #4]
|
|
mov r10, #0x18
|
|
str r8, [sp, #0x3c]
|
|
ldr r7, [r1, #8]
|
|
add r0, sp, #0x1c
|
|
str r7, [sp, #0x40]
|
|
ldr r6, [r1, #0xc]
|
|
add r3, sp, #0x20
|
|
str r6, [sp, #0x44]
|
|
ldrsh r5, [r1, #0x10]
|
|
strh r5, [sp, #0x48]
|
|
ldrb lr, [r1, #0x12]
|
|
strb lr, [sp, #0x4a]
|
|
ldrb ip, [r1, #0x13]
|
|
strb ip, [sp, #0x4b]
|
|
ldrb r2, [r1, #0x14]
|
|
strb r2, [sp, #0x4c]
|
|
ldrb r1, [r1, #0x15]
|
|
str r9, [sp, #0x20]
|
|
str r8, [sp, #0x24]
|
|
strb r1, [sp, #0x4d]
|
|
str r7, [sp, #0x28]
|
|
str r6, [sp, #0x2c]
|
|
strh r5, [sp, #0x30]
|
|
strb lr, [sp, #0x32]
|
|
strb ip, [sp, #0x33]
|
|
strb r2, [sp, #0x34]
|
|
strb r1, [sp, #0x35]
|
|
ldr r1, [r4, #0x118]
|
|
ldr r5, [r4, #0x11c]
|
|
str r1, [sp, #0x18]
|
|
mla r2, r5, r10, r1
|
|
str r2, [sp, #0x14]
|
|
bl _ZN12MapBase_Unk118func_ov00_02080324Eiii
|
|
ldr r0, [r4, #0x118]
|
|
ldr r2, [r4, #0x11c]
|
|
mov r1, r10
|
|
mla r5, r2, r1, r0
|
|
ldr r1, [sp, #0x1c]
|
|
cmp r1, r5
|
|
bne _02080310
|
|
mov r1, #0
|
|
cmp r0, r5
|
|
str r0, [sp, #8]
|
|
addne r3, r0, #0x18
|
|
strne r3, [sp, #8]
|
|
str r5, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
strb r1, [sp, #2]
|
|
str r5, [sp, #4]
|
|
cmpne r3, r5
|
|
beq _02080244
|
|
_02080224:
|
|
ldrb r2, [r0, #0x14]
|
|
ldrb r1, [r3, #0x14]
|
|
cmp r2, r1
|
|
movlo r0, r3
|
|
add r3, r3, #0x18
|
|
cmp r3, r5
|
|
bne _02080224
|
|
str r3, [sp, #8]
|
|
_02080244:
|
|
ldr r3, [r4, #0x118]
|
|
ldr r2, [r4, #0x11c]
|
|
mov r1, #0x18
|
|
mla r1, r2, r1, r3
|
|
cmp r0, r1
|
|
moveq r0, #1
|
|
streqb r0, [sp, #0x4c]
|
|
ldrneb r0, [r0, #0x14]
|
|
mov r2, #0
|
|
addne r0, r0, #1
|
|
strneb r0, [sp, #0x4c]
|
|
strb r2, [sp, #1]
|
|
ldr r1, [r4, #0x11c]
|
|
ldr r0, [r4, #0x120]
|
|
cmp r1, r0
|
|
bhs _020802ec
|
|
add r3, r1, #1
|
|
sub r1, r3, #1
|
|
mov r0, #0x18
|
|
mul r2, r1, r0
|
|
str r3, [r4, #0x11c]
|
|
ldr r1, [r4, #0x118]
|
|
ldr r0, [sp, #0x38]
|
|
add r3, r1, r2
|
|
str r0, [r1, r2]
|
|
ldr r0, [sp, #0x3c]
|
|
str r0, [r3, #4]
|
|
ldr r0, [sp, #0x40]
|
|
str r0, [r3, #8]
|
|
ldr r0, [sp, #0x44]
|
|
str r0, [r3, #0xc]
|
|
ldrsh r0, [sp, #0x48]
|
|
strh r0, [r3, #0x10]
|
|
ldrb r0, [sp, #0x4a]
|
|
strb r0, [r3, #0x12]
|
|
ldrb r0, [sp, #0x4b]
|
|
strb r0, [r3, #0x13]
|
|
ldrb r0, [sp, #0x4c]
|
|
strb r0, [r3, #0x14]
|
|
ldrb r0, [sp, #0x4d]
|
|
strb r0, [r3, #0x15]
|
|
b _02080318
|
|
_020802ec:
|
|
strb r2, [sp]
|
|
sub r1, sp, #4
|
|
and r0, r2, #0xff
|
|
strb r0, [r1]
|
|
ldr r2, [r1]
|
|
add r1, sp, #0x38
|
|
add r0, r4, #0x118
|
|
bl func_ov00_020810b8
|
|
b _02080318
|
|
_02080310:
|
|
ldrb r0, [r1, #0x14]
|
|
strb r0, [sp, #0x4c]
|
|
_02080318:
|
|
ldrb r0, [sp, #0x4c]
|
|
add sp, sp, #0x50
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_02080140EP4Exit
|
|
|
|
.global _ZN12MapBase_Unk118func_ov00_02080324Eiii
|
|
arm_func_start _ZN12MapBase_Unk118func_ov00_02080324Eiii
|
|
_ZN12MapBase_Unk118func_ov00_02080324Eiii: ; 0x02080324
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r7, r0
|
|
mov r6, r3
|
|
ldr r5, [sp, #0x20]
|
|
ldr r4, [sp, #0x1c]
|
|
b _02080344
|
|
_02080340:
|
|
add r4, r4, #0x18
|
|
_02080344:
|
|
cmp r4, r5
|
|
beq _0208038c
|
|
mov r0, r4
|
|
bl func_ov00_020a5e9c
|
|
mov r8, r0
|
|
mov r0, r6
|
|
bl func_ov00_020a5e9c
|
|
cmp r8, r0
|
|
ldreqb r1, [r4, #0x12]
|
|
ldreqb r0, [r6, #0x12]
|
|
cmpeq r1, r0
|
|
ldreqb r1, [r4, #0x13]
|
|
ldreqb r0, [r6, #0x13]
|
|
cmpeq r1, r0
|
|
ldreq r1, [r4, #8]
|
|
ldreq r0, [r6, #8]
|
|
cmpeq r1, r0
|
|
bne _02080340
|
|
_0208038c:
|
|
str r4, [r7]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end _ZN12MapBase_Unk118func_ov00_02080324Eiii
|
|
|
|
.global _ZN7MapBase8FindExitEiP4Exit
|
|
arm_func_start _ZN7MapBase8FindExitEiP4Exit
|
|
_ZN7MapBase8FindExitEiP4Exit: ; 0x0208039c
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0x14
|
|
cmp r1, #0
|
|
addle sp, sp, #0x14
|
|
movle r0, #0
|
|
ldmleia sp!, {pc}
|
|
ldr ip, [r0, #0x118]
|
|
ldr r3, [r0, #0x11c]
|
|
mov r0, #0x18
|
|
mla lr, r3, r0, ip
|
|
and r0, r1, #0xff
|
|
strb r1, [sp, #1]
|
|
strb r0, [sp]
|
|
str lr, [sp, #0xc]
|
|
str lr, [sp, #4]
|
|
str ip, [sp, #0x10]
|
|
str ip, [sp, #8]
|
|
and r1, r0, #0xff
|
|
b _020803f0
|
|
_020803e8:
|
|
add ip, ip, #0x18
|
|
str ip, [sp, #8]
|
|
_020803f0:
|
|
cmp ip, lr
|
|
ldrneb r0, [ip, #0x14]
|
|
cmpne r1, r0
|
|
bne _020803e8
|
|
ldr r0, [sp, #8]
|
|
cmp r0, lr
|
|
addeq sp, sp, #0x14
|
|
moveq r0, #0
|
|
ldmeqia sp!, {pc}
|
|
ldr r3, [sp, #8]
|
|
mov r0, #1
|
|
ldr r1, [r3]
|
|
str r1, [r2]
|
|
ldr r1, [r3, #4]
|
|
str r1, [r2, #4]
|
|
ldr r1, [r3, #8]
|
|
str r1, [r2, #8]
|
|
ldr r1, [r3, #0xc]
|
|
str r1, [r2, #0xc]
|
|
ldrsh r1, [r3, #0x10]
|
|
strh r1, [r2, #0x10]
|
|
ldrb r1, [r3, #0x12]
|
|
strb r1, [r2, #0x12]
|
|
ldrb r1, [r3, #0x13]
|
|
strb r1, [r2, #0x13]
|
|
ldrb r1, [r3, #0x14]
|
|
strb r1, [r2, #0x14]
|
|
ldrb r1, [r3, #0x15]
|
|
strb r1, [r2, #0x15]
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {pc}
|
|
arm_func_end _ZN7MapBase8FindExitEiP4Exit
|
|
|
|
.global _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint
|
|
arm_func_start _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint
|
|
_ZN7MapBase18AddCameraViewpointEP15CameraViewpoint: ; 0x0208046c
|
|
stmdb sp!, {r3, lr}
|
|
mov ip, #0
|
|
strb ip, [sp, #1]
|
|
ldr r3, [r0, #0x128]
|
|
ldr r2, [r0, #0x12c]
|
|
cmp r3, r2
|
|
bhs _020804f0
|
|
add ip, r3, #1
|
|
sub r3, ip, #1
|
|
mov r2, #0x1c
|
|
mul r2, r3, r2
|
|
str ip, [r0, #0x128]
|
|
ldr r3, [r0, #0x124]
|
|
ldr r0, [r1]
|
|
add ip, r3, r2
|
|
str r0, [r3, r2]
|
|
ldrb r0, [r1, #4]
|
|
strb r0, [ip, #4]
|
|
ldr r0, [r1, #8]
|
|
str r0, [ip, #8]
|
|
ldr r0, [r1, #0xc]
|
|
str r0, [ip, #0xc]
|
|
ldr r0, [r1, #0x10]
|
|
str r0, [ip, #0x10]
|
|
ldrsh r0, [r1, #0x14]
|
|
strh r0, [ip, #0x14]
|
|
ldrsh r0, [r1, #0x16]
|
|
strh r0, [ip, #0x16]
|
|
ldrh r2, [r1, #0x18]
|
|
ldrh r0, [r1, #0x1a]
|
|
strh r2, [ip, #0x18]
|
|
strh r0, [ip, #0x1a]
|
|
ldmia sp!, {r3, pc}
|
|
_020804f0:
|
|
strb ip, [sp]
|
|
sub r3, sp, #4
|
|
and r2, ip, #0xff
|
|
strb r2, [r3]
|
|
ldr r2, [r3]
|
|
add r0, r0, #0x124
|
|
bl func_ov00_02081130
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint
|
|
|
|
.global _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint
|
|
arm_func_start _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint
|
|
_ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint: ; 0x02080510
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0x14
|
|
ldr ip, [r0, #0x124]
|
|
ldr r3, [r0, #0x128]
|
|
mov r0, #0x1c
|
|
mla lr, r3, r0, ip
|
|
and r0, r1, #0xff
|
|
strb r1, [sp, #1]
|
|
strb r0, [sp]
|
|
str lr, [sp, #0xc]
|
|
str lr, [sp, #4]
|
|
str ip, [sp, #0x10]
|
|
str ip, [sp, #8]
|
|
and r1, r0, #0xff
|
|
b _02080554
|
|
_0208054c:
|
|
add ip, ip, #0x1c
|
|
str ip, [sp, #8]
|
|
_02080554:
|
|
cmp ip, lr
|
|
ldrneb r0, [ip, #4]
|
|
cmpne r1, r0
|
|
bne _0208054c
|
|
ldr r0, [sp, #8]
|
|
cmp r0, lr
|
|
addeq sp, sp, #0x14
|
|
moveq r0, #0
|
|
ldmeqia sp!, {pc}
|
|
ldr ip, [sp, #8]
|
|
mov r0, #1
|
|
ldr r1, [ip]
|
|
str r1, [r2]
|
|
ldrb r1, [ip, #4]
|
|
strb r1, [r2, #4]
|
|
ldr r1, [ip, #8]
|
|
str r1, [r2, #8]
|
|
ldr r1, [ip, #0xc]
|
|
str r1, [r2, #0xc]
|
|
ldr r1, [ip, #0x10]
|
|
str r1, [r2, #0x10]
|
|
ldrsh r1, [ip, #0x14]
|
|
strh r1, [r2, #0x14]
|
|
ldrsh r1, [ip, #0x16]
|
|
strh r1, [r2, #0x16]
|
|
ldrh r3, [ip, #0x18]
|
|
ldrh r1, [ip, #0x1a]
|
|
strh r3, [r2, #0x18]
|
|
strh r1, [r2, #0x1a]
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {pc}
|
|
arm_func_end _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint
|
|
|
|
.global _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint
|
|
arm_func_start _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint
|
|
_ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint: ; 0x020805d0
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x18
|
|
ldr ip, [r0, #0x124]
|
|
ldr r3, [r0, #0x128]
|
|
mov r0, #0x1c
|
|
mla lr, r3, r0, ip
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp]
|
|
str lr, [sp, #0x10]
|
|
str lr, [sp, #4]
|
|
str ip, [sp, #0x14]
|
|
str ip, [sp, #8]
|
|
b _0208060c
|
|
_02080604:
|
|
add ip, ip, #0x1c
|
|
str ip, [sp, #8]
|
|
_0208060c:
|
|
cmp ip, lr
|
|
ldrne r0, [ip]
|
|
cmpne r1, r0
|
|
bne _02080604
|
|
ldr r0, [sp, #8]
|
|
cmp r0, lr
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr ip, [sp, #8]
|
|
mov r0, #1
|
|
ldr r1, [ip]
|
|
str r1, [r2]
|
|
ldrb r1, [ip, #4]
|
|
strb r1, [r2, #4]
|
|
ldr r1, [ip, #8]
|
|
str r1, [r2, #8]
|
|
ldr r1, [ip, #0xc]
|
|
str r1, [r2, #0xc]
|
|
ldr r1, [ip, #0x10]
|
|
str r1, [r2, #0x10]
|
|
ldrsh r1, [ip, #0x14]
|
|
strh r1, [r2, #0x14]
|
|
ldrsh r1, [ip, #0x16]
|
|
strh r1, [r2, #0x16]
|
|
ldrh r3, [ip, #0x18]
|
|
ldrh r1, [ip, #0x1a]
|
|
strh r3, [r2, #0x18]
|
|
strh r1, [r2, #0x1a]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint
|
|
|
|
.global _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi
|
|
arm_func_start _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi
|
|
_ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi: ; 0x02080688
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r6, r0
|
|
mov r4, r2
|
|
add r2, r6, r4
|
|
mov r5, r1
|
|
ldrb r1, [r2, #0x16]
|
|
cmp r1, #0
|
|
bne _020806c8
|
|
ldr r2, [r0]
|
|
mov r1, r4
|
|
ldr r2, [r2, #0xb8]
|
|
blx r2
|
|
add sp, sp, #0x1c
|
|
str r0, [r5]
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_020806c8:
|
|
mov ip, #0
|
|
mov r0, #0xff
|
|
add r3, sp, #0
|
|
str ip, [sp]
|
|
strb r0, [sp, #4]
|
|
strh ip, [sp, #0x14]
|
|
strh ip, [sp, #0x16]
|
|
mov r2, ip
|
|
_020806e8:
|
|
add r0, r3, ip, lsl #1
|
|
add ip, ip, #1
|
|
strh r2, [r0, #0x18]
|
|
cmp ip, #2
|
|
blo _020806e8
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint
|
|
cmp r0, #0
|
|
bne _02080730
|
|
mov r0, r6
|
|
ldr r2, [r0]
|
|
mov r1, r4
|
|
ldr r2, [r2, #0xb8]
|
|
blx r2
|
|
add sp, sp, #0x1c
|
|
str r0, [r5]
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_02080730:
|
|
ldr r0, [sp]
|
|
str r0, [r5]
|
|
ldrb r0, [sp, #4]
|
|
strb r0, [r5, #4]
|
|
ldr r0, [sp, #8]
|
|
str r0, [r5, #8]
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [r5, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [r5, #0x10]
|
|
ldrsh r0, [sp, #0x14]
|
|
strh r0, [r5, #0x14]
|
|
ldrsh r0, [sp, #0x16]
|
|
strh r0, [r5, #0x16]
|
|
ldrh r1, [sp, #0x18]
|
|
ldrh r0, [sp, #0x1a]
|
|
strh r1, [r5, #0x18]
|
|
strh r0, [r5, #0x1a]
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi
|
|
|
|
.global _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei
|
|
arm_func_start _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei
|
|
_ZN7MapBase26GetCurrentViewpoint_Unk_00Ei: ; 0x02080780
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0x1c
|
|
mov lr, #0
|
|
mov r3, #0xff
|
|
strb r3, [sp, #4]
|
|
add ip, sp, #0
|
|
mov r2, r1
|
|
str lr, [sp]
|
|
strh lr, [sp, #0x14]
|
|
strh lr, [sp, #0x16]
|
|
mov r3, lr
|
|
_020807ac:
|
|
add r1, ip, lr, lsl #1
|
|
add lr, lr, #1
|
|
strh r3, [r1, #0x18]
|
|
cmp lr, #2
|
|
blo _020807ac
|
|
add r1, sp, #0
|
|
bl _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi
|
|
ldr r0, [sp]
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {pc}
|
|
arm_func_end _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei
|
|
|
|
.global _ZN7MapBase8vfunc_b8Ev
|
|
arm_func_start _ZN7MapBase8vfunc_b8Ev
|
|
_ZN7MapBase8vfunc_b8Ev: ; 0x020807d4
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02080820 ; =data_027e0618
|
|
ldr r0, [r0]
|
|
cmp r0, #6
|
|
bne _02080818
|
|
bl func_ov00_02079e3c
|
|
cmp r0, #0
|
|
beq _02080800
|
|
cmp r0, #1
|
|
beq _02080808
|
|
b _02080810
|
|
_02080800:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_02080808:
|
|
mov r0, #0x1c
|
|
ldmia sp!, {r3, pc}
|
|
_02080810:
|
|
mov r0, #0x1c
|
|
ldmia sp!, {r3, pc}
|
|
_02080818:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase8vfunc_b8Ev
|
|
_02080820: .word data_027e0618
|
|
|
|
.global _ZN7MapBase18func_ov00_02080824Eii
|
|
arm_func_start _ZN7MapBase18func_ov00_02080824Eii
|
|
_ZN7MapBase18func_ov00_02080824Eii: ; 0x02080824
|
|
stmdb sp!, {r4, lr}
|
|
ldr r4, [r0, #0x14c]
|
|
cmp r4, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldrh r3, [r4, #4]
|
|
mov ip, #0
|
|
cmp r3, #0
|
|
ble _020808c8
|
|
mov lr, r4
|
|
_0208084c:
|
|
ldrb r0, [lr, #8]
|
|
cmp r1, r0
|
|
bne _020808b8
|
|
mov r0, #0x1c
|
|
mul r0, ip, r0
|
|
add r3, r4, #8
|
|
ldrb r1, [r3, r0]
|
|
add r3, r3, r0
|
|
mov r0, #1
|
|
strb r1, [r2]
|
|
ldrb r1, [r3, #1]
|
|
strb r1, [r2, #1]
|
|
ldrsh r1, [r3, #2]
|
|
strh r1, [r2, #2]
|
|
ldr r1, [r3, #4]
|
|
str r1, [r2, #4]
|
|
ldr r1, [r3, #8]
|
|
str r1, [r2, #8]
|
|
ldr r1, [r3, #0xc]
|
|
str r1, [r2, #0xc]
|
|
ldr r1, [r3, #0x10]
|
|
str r1, [r2, #0x10]
|
|
ldr r1, [r3, #0x14]
|
|
str r1, [r2, #0x14]
|
|
ldr r1, [r3, #0x18]
|
|
str r1, [r2, #0x18]
|
|
ldmia sp!, {r4, pc}
|
|
_020808b8:
|
|
add ip, ip, #1
|
|
cmp ip, r3
|
|
add lr, lr, #0x1c
|
|
blt _0208084c
|
|
_020808c8:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_02080824Eii
|
|
|
|
.global _ZN7MapBase10AddUnk_130Ei
|
|
arm_func_start _ZN7MapBase10AddUnk_130Ei
|
|
_ZN7MapBase10AddUnk_130Ei: ; 0x020808d0
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
arm_func_end _ZN7MapBase10AddUnk_130Ei
|
|
|
|
.global func_ov00_020808d4
|
|
arm_func_start func_ov00_020808d4
|
|
func_ov00_020808d4: ; 0x020808d4
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0x14
|
|
ldr r1, [r0, #0x134]
|
|
cmp r1, #0x20
|
|
addhs sp, sp, #0x14
|
|
movhs r0, #0
|
|
ldmhsia sp!, {lr}
|
|
addhs sp, sp, #0x10
|
|
bxhs lr
|
|
ldr r2, [r0, #0x130]
|
|
ldr r1, [r0, #0x134]
|
|
str r2, [sp, #0x10]
|
|
add ip, r2, r1, lsl #2
|
|
str ip, [sp, #0xc]
|
|
str ip, [sp, #4]
|
|
str r2, [sp, #8]
|
|
ldr r3, [sp, #0x1c]
|
|
b _02080924
|
|
_0208091c:
|
|
add r2, r2, #4
|
|
str r2, [sp, #8]
|
|
_02080924:
|
|
cmp r2, ip
|
|
ldrne r1, [r2]
|
|
cmpne r1, r3
|
|
bne _0208091c
|
|
ldr r1, [sp, #8]
|
|
cmp r1, ip
|
|
addne sp, sp, #0x14
|
|
movne r0, #0
|
|
ldmneia sp!, {lr}
|
|
addne sp, sp, #0x10
|
|
bxne lr
|
|
mov r3, #0
|
|
strb r3, [sp, #1]
|
|
ldr r2, [r0, #0x134]
|
|
ldr r1, [r0, #0x138]
|
|
cmp r2, r1
|
|
bhs _02080984
|
|
add r3, r2, #1
|
|
str r3, [r0, #0x134]
|
|
ldr r1, [r0, #0x130]
|
|
ldr r2, [sp, #0x1c]
|
|
sub r0, r3, #1
|
|
str r2, [r1, r0, lsl #2]
|
|
b _020809a4
|
|
_02080984:
|
|
strb r3, [sp]
|
|
sub r2, sp, #4
|
|
and r1, r3, #0xff
|
|
strb r1, [r2]
|
|
ldr r2, [r2]
|
|
add r1, sp, #0x1c
|
|
add r0, r0, #0x130
|
|
bl func_ov00_02080f64
|
|
_020809a4:
|
|
mov r0, #1
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end func_ov00_020808d4
|
|
|
|
.global _ZN7MapBase18func_ov00_020809b8Ei
|
|
arm_func_start _ZN7MapBase18func_ov00_020809b8Ei
|
|
_ZN7MapBase18func_ov00_020809b8Ei: ; 0x020809b8
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x28
|
|
ldr ip, [r0, #0x130]
|
|
ldr r2, [r0, #0x134]
|
|
str ip, [sp, #0x20]
|
|
add r3, ip, r2, lsl #2
|
|
str r3, [sp, #0x1c]
|
|
str r3, [sp, #0xc]
|
|
str r3, [sp, #4]
|
|
str ip, [sp, #8]
|
|
b _020809ec
|
|
_020809e4:
|
|
add ip, ip, #4
|
|
str ip, [sp, #8]
|
|
_020809ec:
|
|
cmp ip, r3
|
|
ldrne r2, [ip]
|
|
cmpne r2, r1
|
|
bne _020809e4
|
|
ldr r2, [sp, #8]
|
|
ldr r3, [sp, #0xc]
|
|
mov lr, r2
|
|
cmp r2, r3
|
|
addne ip, lr, #4
|
|
cmpne ip, r3
|
|
beq _02080a30
|
|
_02080a18:
|
|
ldr r2, [ip]
|
|
add ip, ip, #4
|
|
cmp r2, r1
|
|
strne r2, [lr], #4
|
|
cmp ip, r3
|
|
bne _02080a18
|
|
_02080a30:
|
|
ldr r2, [r0, #0x130]
|
|
ldr r1, [r0, #0x134]
|
|
mov r3, #0
|
|
add r2, r2, r1, lsl #2
|
|
strb r3, [sp]
|
|
sub r1, sp, #4
|
|
strb r3, [r1]
|
|
ldr r3, [r1]
|
|
mov r1, lr
|
|
add r0, r0, #0x130
|
|
str lr, [sp, #0x24]
|
|
str r2, [sp, #0x18]
|
|
str r2, [sp, #0x10]
|
|
str lr, [sp, #0x14]
|
|
bl func_ov00_02080f94
|
|
mov r0, #1
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_020809b8Ei
|
|
|
|
.global _ZN7MapBase18func_ov00_02080a78EP5Vec3p
|
|
arm_func_start _ZN7MapBase18func_ov00_02080a78EP5Vec3p
|
|
_ZN7MapBase18func_ov00_02080a78EP5Vec3p: ; 0x02080a78
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x18
|
|
mov r4, r0
|
|
add r3, sp, #0xc
|
|
ldmia r1, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r1, [r4, #0x130]
|
|
ldr r2, [r4, #0x134]
|
|
add r0, sp, #8
|
|
add r2, r1, r2, lsl #2
|
|
str r2, [sp]
|
|
str r1, [sp, #4]
|
|
bl _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_
|
|
ldr r1, [r4, #0x130]
|
|
ldr r0, [r4, #0x134]
|
|
ldr r2, [sp, #8]
|
|
add r0, r1, r0, lsl #2
|
|
cmp r2, r0
|
|
moveq r0, #0
|
|
ldrne r0, [r2]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_02080a78EP5Vec3p
|
|
|
|
.global _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_
|
|
arm_func_start _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_
|
|
_ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_: ; 0x02080ad0
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r6, r3
|
|
ldr r5, [sp, #0x20]
|
|
ldr r4, [sp, #0x1c]
|
|
b _02080af0
|
|
_02080aec:
|
|
add r4, r4, #4
|
|
_02080af0:
|
|
cmp r4, r5
|
|
beq _02080b14
|
|
ldr r0, [r4]
|
|
mov r1, r6
|
|
ldr r2, [r0]
|
|
ldr r2, [r2]
|
|
blx r2
|
|
cmp r0, #0
|
|
beq _02080aec
|
|
_02080b14:
|
|
str r4, [r7]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_
|
|
|
|
.global _ZN7MapBase18func_ov00_02080b24EP5Vec2b
|
|
arm_func_start _ZN7MapBase18func_ov00_02080b24EP5Vec2b
|
|
_ZN7MapBase18func_ov00_02080b24EP5Vec2b: ; 0x02080b24
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
|
|
sub sp, sp, #0x14
|
|
ldr r3, [r0]
|
|
mov r2, #4
|
|
ldr r3, [r3, #0x58]
|
|
str r0, [sp]
|
|
mov r10, r1
|
|
blx r3
|
|
cmp r0, #0
|
|
addne sp, sp, #0x14
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
ldr r0, [sp]
|
|
ldrh r0, [r0, #0x30]
|
|
cmp r0, #0x60
|
|
blo _02080cd0
|
|
ldr r0, [sp]
|
|
mov r6, #0
|
|
ldrh r0, [r0, #0x28]
|
|
mov r7, r6
|
|
mov r8, r6
|
|
str r0, [sp, #4]
|
|
cmp r0, #0
|
|
ldr r0, [sp]
|
|
ldrh r11, [r0, #0x2a]
|
|
ble _02080c4c
|
|
_02080b88:
|
|
cmp r11, #0
|
|
mov r9, #0
|
|
ble _02080c3c
|
|
and r0, r8, #0xff
|
|
str r0, [sp, #8]
|
|
_02080b9c:
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp]
|
|
strb r1, [sp, #0x10]
|
|
strb r9, [sp, #0x11]
|
|
ldr r2, [r0]
|
|
add r1, sp, #0x10
|
|
ldr r2, [r2, #0x78]
|
|
blx r2
|
|
movs r5, r0
|
|
beq _02080c30
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x1c]
|
|
blx r1
|
|
cmp r0, #0x42
|
|
bne _02080c30
|
|
cmp r6, #0
|
|
ldrb r0, [r10]
|
|
bne _02080c08
|
|
sub r0, r8, r0
|
|
mov r6, r5
|
|
bl func_02042f68
|
|
ldrb r1, [r10, #1]
|
|
mov r4, r0
|
|
sub r0, r9, r1
|
|
bl func_02042f68
|
|
add r7, r4, r0
|
|
b _02080c30
|
|
_02080c08:
|
|
sub r0, r8, r0
|
|
bl func_02042f68
|
|
ldrb r1, [r10, #1]
|
|
mov r4, r0
|
|
sub r0, r9, r1
|
|
bl func_02042f68
|
|
add r0, r4, r0
|
|
cmp r0, r7
|
|
movgt r6, r5
|
|
movgt r7, r0
|
|
_02080c30:
|
|
add r9, r9, #1
|
|
cmp r9, r11
|
|
blt _02080b9c
|
|
_02080c3c:
|
|
ldr r0, [sp, #4]
|
|
add r8, r8, #1
|
|
cmp r8, r0
|
|
blt _02080b88
|
|
_02080c4c:
|
|
cmp r6, #0
|
|
addeq sp, sp, #0x14
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
ldr r1, [r6, #4]
|
|
ldr r0, [sp]
|
|
bic r1, r1, #1
|
|
str r1, [r6, #4]
|
|
ldrb r4, [r6, #0x15]
|
|
ldrb r3, [r6, #0x14]
|
|
add r1, sp, #0xe
|
|
mov r2, #4
|
|
strb r3, [sp, #0xe]
|
|
strb r4, [sp, #0xf]
|
|
ldr r4, [r0]
|
|
mov r3, #0
|
|
ldr r4, [r4, #0x98]
|
|
blx r4
|
|
ldrb r3, [r6, #0x15]
|
|
ldrb r2, [r6, #0x14]
|
|
ldr r0, [sp]
|
|
add r1, sp, #0xc
|
|
strb r2, [sp, #0xc]
|
|
strb r3, [sp, #0xd]
|
|
ldr r4, [r0]
|
|
mov r2, #6
|
|
ldr r4, [r4, #0x98]
|
|
mov r3, #1
|
|
blx r4
|
|
ldr r0, [sp]
|
|
ldrh r0, [r0, #0x30]
|
|
sub r1, r0, #1
|
|
ldr r0, [sp]
|
|
strh r1, [r0, #0x30]
|
|
_02080cd0:
|
|
ldr r0, [sp]
|
|
mov r1, r10
|
|
ldr r4, [r0]
|
|
mov r2, #4
|
|
ldr r4, [r4, #0x98]
|
|
mov r3, #1
|
|
blx r4
|
|
ldr r0, [sp]
|
|
ldrh r0, [r0, #0x30]
|
|
add r1, r0, #1
|
|
ldr r0, [sp]
|
|
strh r1, [r0, #0x30]
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_02080b24EP5Vec2b
|
|
|
|
.global _ZN7MapBase18func_ov00_02080d08Ei
|
|
arm_func_start _ZN7MapBase18func_ov00_02080d08Ei
|
|
_ZN7MapBase18func_ov00_02080d08Ei: ; 0x02080d08
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r3, [r0]
|
|
mov r2, #4
|
|
ldr r3, [r3, #0x58]
|
|
mov r5, r0
|
|
mov r4, r1
|
|
blx r3
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
ldr ip, [r0]
|
|
mov r1, r4
|
|
ldr ip, [ip, #0x98]
|
|
mov r2, #4
|
|
mov r3, #0
|
|
blx ip
|
|
mov r0, r5
|
|
ldr ip, [r0]
|
|
mov r1, r4
|
|
ldr ip, [ip, #0x98]
|
|
mov r2, #6
|
|
mov r3, #1
|
|
blx ip
|
|
ldrh r0, [r5, #0x30]
|
|
sub r0, r0, #1
|
|
strh r0, [r5, #0x30]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN7MapBase18func_ov00_02080d08Ei
|
|
|
|
.global _ZN7MapBase8vfunc_bcEv
|
|
arm_func_start _ZN7MapBase8vfunc_bcEv
|
|
_ZN7MapBase8vfunc_bcEv: ; 0x02080d74
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_bcEv
|
|
|
|
.global _ZN7MapBase8vfunc_98Ev
|
|
arm_func_start _ZN7MapBase8vfunc_98Ev
|
|
_ZN7MapBase8vfunc_98Ev: ; 0x02080d78
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_98Ev
|
|
|
|
.global _ZN7MapBase8vfunc_c0Ev
|
|
arm_func_start _ZN7MapBase8vfunc_c0Ev
|
|
_ZN7MapBase8vfunc_c0Ev: ; 0x02080d7c
|
|
bx lr
|
|
arm_func_end _ZN7MapBase8vfunc_c0Ev
|
|
|
|
.global _ZN7MapBase22TriggerOfType_vfunc_10Ei
|
|
arm_func_start _ZN7MapBase22TriggerOfType_vfunc_10Ei
|
|
_ZN7MapBase22TriggerOfType_vfunc_10Ei: ; 0x02080d80
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r4, [r6, #0x10c]
|
|
ldr r0, [r6, #0x110]
|
|
mov r5, r1
|
|
add r0, r4, r0, lsl #2
|
|
cmp r4, r0
|
|
beq _02080dd4
|
|
_02080da0:
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #5]
|
|
cmp r5, r1
|
|
bne _02080dbc
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x10]
|
|
blx r1
|
|
_02080dbc:
|
|
ldr r1, [r6, #0x10c]
|
|
ldr r0, [r6, #0x110]
|
|
add r4, r4, #4
|
|
add r0, r1, r0, lsl #2
|
|
cmp r4, r0
|
|
bne _02080da0
|
|
_02080dd4:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end _ZN7MapBase22TriggerOfType_vfunc_10Ei
|
|
|
|
.global _ZN11TriggerBase8vfunc_10Ev
|
|
arm_func_start _ZN11TriggerBase8vfunc_10Ev
|
|
_ZN11TriggerBase8vfunc_10Ev: ; 0x02080ddc
|
|
mov r0, #1
|
|
bx lr
|
|
arm_func_end _ZN11TriggerBase8vfunc_10Ev
|
|
|
|
.global _ZN7MapBase18func_ov00_02080de4Ev
|
|
arm_func_start _ZN7MapBase18func_ov00_02080de4Ev
|
|
_ZN7MapBase18func_ov00_02080de4Ev: ; 0x02080de4
|
|
bx lr
|
|
arm_func_end _ZN7MapBase18func_ov00_02080de4Ev
|
|
|
|
.global _ZN7MapBase18func_ov00_02080de8Ei
|
|
arm_func_start _ZN7MapBase18func_ov00_02080de8Ei
|
|
_ZN7MapBase18func_ov00_02080de8Ei: ; 0x02080de8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r2, _02080ed4 ; =data_027e0f64
|
|
mov r5, r0
|
|
ldr r0, [r2]
|
|
mov r4, #0
|
|
add r0, r0, r1, lsl #2
|
|
ldr r6, [r0, #4]
|
|
ldr r0, [r6, #0x15c]
|
|
cmp r0, #0x16
|
|
bgt _02080e64
|
|
bge _02080e84
|
|
cmp r0, #0xb
|
|
bgt _02080e58
|
|
cmp r0, #0
|
|
addge pc, pc, r0, lsl #2
|
|
b _02080e94
|
|
_02080e28: ; jump table
|
|
b _02080e84 ; case 0
|
|
b _02080e84 ; case 1
|
|
b _02080e84 ; case 2
|
|
b _02080e8c ; case 3
|
|
b _02080e94 ; case 4
|
|
b _02080e94 ; case 5
|
|
b _02080e94 ; case 6
|
|
b _02080e94 ; case 7
|
|
b _02080e94 ; case 8
|
|
b _02080e94 ; case 9
|
|
b _02080e94 ; case 10
|
|
b _02080e88 ; case 11
|
|
_02080e58:
|
|
cmp r0, #0x15
|
|
beq _02080e84
|
|
b _02080e94
|
|
_02080e64:
|
|
cmp r0, #0x5a
|
|
bgt _02080e7c
|
|
bge _02080e84
|
|
cmp r0, #0x33
|
|
beq _02080e84
|
|
b _02080e94
|
|
_02080e7c:
|
|
cmp r0, #0x5b
|
|
bne _02080e94
|
|
_02080e84:
|
|
mov r4, #0
|
|
_02080e88:
|
|
b _02080ec8
|
|
_02080e8c:
|
|
mov r4, #0x1f
|
|
b _02080ec8
|
|
_02080e94:
|
|
mov r0, r6
|
|
bl func_ov00_02087dd8
|
|
cmp r0, #0
|
|
beq _02080ec8
|
|
add r0, r6, #0x200
|
|
ldrsh r1, [r0, #0x24]
|
|
ldr r0, _02080ed8 ; =0x00001c72
|
|
cmp r1, r0
|
|
ble _02080ec4
|
|
rsb r0, r0, #0x4000
|
|
cmp r1, r0
|
|
blt _02080ec8
|
|
_02080ec4:
|
|
mov r4, #0x1f
|
|
_02080ec8:
|
|
ldr r0, [r5, #0x140]
|
|
strb r4, [r0, #0x5c]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_02080de8Ei
|
|
_02080ed4: .word data_027e0f64
|
|
_02080ed8: .word 0x00001c72
|
|
|
|
.global _ZN7MapBase18func_ov00_02080edcEv
|
|
arm_func_start _ZN7MapBase18func_ov00_02080edcEv
|
|
_ZN7MapBase18func_ov00_02080edcEv: ; 0x02080edc
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _02080f1c ; =data_027e0d38
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
add r0, r0, #0xc
|
|
bl func_ov00_020a5e9c
|
|
cmp r0, #0x2a
|
|
cmpne r0, #0x2f
|
|
cmpne r0, #0x30
|
|
bne _02080f10
|
|
mov r0, #0
|
|
strb r0, [r4, #5]
|
|
ldmia sp!, {r4, pc}
|
|
_02080f10:
|
|
mov r0, #1
|
|
strb r0, [r4, #5]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN7MapBase18func_ov00_02080edcEv
|
|
_02080f1c: .word data_027e0d38
|
|
|
|
.data
|
|
.global data_ov00_020e22fc
|
|
data_ov00_020e22fc: ; 0x020e22fc
|
|
.ascii "fnl"
|
|
.byte 0x00
|
|
.global data_ov00_020e2300
|
|
data_ov00_020e2300: ; 0x020e2300
|
|
.ascii "bow"
|
|
.byte 0x00
|
|
.global data_ov00_020e2304
|
|
data_ov00_020e2304: ; 0x020e2304
|
|
.ascii "dco"
|
|
.byte 0x00
|
|
.global data_ov00_020e2308
|
|
data_ov00_020e2308: ; 0x020e2308
|
|
.ascii "can"
|
|
.byte 0x00
|
|
.global data_ov00_020e230c
|
|
data_ov00_020e230c: ; 0x020e230c
|
|
.ascii "hul"
|
|
.byte 0x00
|
|
.global data_ov00_020e2310
|
|
data_ov00_020e2310: ; 0x020e2310
|
|
.ascii "pdl"
|
|
.byte 0x00
|
|
.global data_ov00_020e2314
|
|
data_ov00_020e2314: ; 0x020e2314
|
|
.ascii "anc"
|
|
.byte 0x00
|
|
.global data_ov00_020e2318
|
|
data_ov00_020e2318: ; 0x020e2318
|
|
.ascii "brg"
|
|
.byte 0x00
|
|
.global data_ov00_020e231c
|
|
data_ov00_020e231c: ; 0x020e231c
|
|
.word data_ov00_020e2314
|
|
.global data_ov00_020e2320
|
|
data_ov00_020e2320: ; 0x020e2320
|
|
.word data_ov00_020e2300
|
|
.global data_ov00_020e2324
|
|
data_ov00_020e2324: ; 0x020e2324
|
|
.word data_ov00_020e230c
|
|
.global data_ov00_020e2328
|
|
data_ov00_020e2328: ; 0x020e2328
|
|
.word data_ov00_020e2308
|
|
.global data_ov00_020e232c
|
|
data_ov00_020e232c: ; 0x020e232c
|
|
.word data_ov00_020e2304
|
|
.global data_ov00_020e2330
|
|
data_ov00_020e2330: ; 0x020e2330
|
|
.word data_ov00_020e2310
|
|
.global data_ov00_020e2334
|
|
data_ov00_020e2334: ; 0x020e2334
|
|
.word data_ov00_020e22fc
|
|
.global data_ov00_020e2338
|
|
data_ov00_020e2338: ; 0x020e2338
|
|
.word data_ov00_020e2318
|
|
.global data_ov00_020e233c
|
|
data_ov00_020e233c: ; 0x020e233c
|
|
.word data_ov00_020e240c
|
|
.global data_ov00_020e2340
|
|
data_ov00_020e2340: ; 0x020e2340
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e2344
|
|
data_ov00_020e2344: ; 0x020e2344
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global _ZTV7MapBase
|
|
_ZTV7MapBase: ; 0x020e2348
|
|
.word _ZN7MapBaseD2Ev
|
|
.global data_ov00_020e234c
|
|
data_ov00_020e234c: ; 0x020e234c
|
|
.word _ZN7MapBaseD0Ev
|
|
.global data_ov00_020e2350
|
|
data_ov00_020e2350: ; 0x020e2350
|
|
.word func_ov04_0210c1f8 ; data_ov07_0210c1f8
|
|
.global data_ov00_020e2354
|
|
data_ov00_020e2354: ; 0x020e2354
|
|
.word func_ov04_0210c3fc ; data_ov07_0210c3fc
|
|
.global data_ov00_020e2358
|
|
data_ov00_020e2358: ; 0x020e2358
|
|
.word func_ov04_0210c52c ; data_ov07_0210c52c
|
|
.global data_ov00_020e235c
|
|
data_ov00_020e235c: ; 0x020e235c
|
|
.word func_ov04_0210bfa8 ; data_ov07_0210bfa8
|
|
.global data_ov00_020e2360
|
|
data_ov00_020e2360: ; 0x020e2360
|
|
.word _ZN7MapBase8vfunc_18Ev
|
|
.global data_ov00_020e2364
|
|
data_ov00_020e2364: ; 0x020e2364
|
|
.word func_ov05_02111bc0
|
|
.global data_ov00_020e2368
|
|
data_ov00_020e2368: ; 0x020e2368
|
|
.word func_ov05_02111c00
|
|
.global data_ov00_020e236c
|
|
data_ov00_020e236c: ; 0x020e236c
|
|
.word func_ov05_02111c6c
|
|
.global data_ov00_020e2370
|
|
data_ov00_020e2370: ; 0x020e2370
|
|
.word func_ov05_02111c70
|
|
.global data_ov00_020e2374
|
|
data_ov00_020e2374: ; 0x020e2374
|
|
.word func_ov04_0210c5cc ; data_ov07_0210c5cc
|
|
.global data_ov00_020e2378
|
|
data_ov00_020e2378: ; 0x020e2378
|
|
.word func_ov04_0210c764 ; data_ov07_0210c764
|
|
.global data_ov00_020e237c
|
|
data_ov00_020e237c: ; 0x020e237c
|
|
.word func_ov04_0210c800 ; data_ov07_0210c800
|
|
.global data_ov00_020e2380
|
|
data_ov00_020e2380: ; 0x020e2380
|
|
.word func_ov04_0210c88c ; data_ov07_0210c88c
|
|
.global data_ov00_020e2384
|
|
data_ov00_020e2384: ; 0x020e2384
|
|
.word func_ov04_0210c8d4 ; data_ov07_0210c8d4
|
|
.global data_ov00_020e2388
|
|
data_ov00_020e2388: ; 0x020e2388
|
|
.word func_ov04_0210ca84 ; data_ov07_0210ca84
|
|
.global data_ov00_020e238c
|
|
data_ov00_020e238c: ; 0x020e238c
|
|
.word func_ov04_0210cb00 ; data_ov07_0210cb00
|
|
.global data_ov00_020e2390
|
|
data_ov00_020e2390: ; 0x020e2390
|
|
.word _ZN7MapBase8vfunc_48Ev
|
|
.global data_ov00_020e2394
|
|
data_ov00_020e2394: ; 0x020e2394
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e2398
|
|
data_ov00_020e2398: ; 0x020e2398
|
|
.word _ZN7MapBase8vfunc_50Ev
|
|
.global data_ov00_020e239c
|
|
data_ov00_020e239c: ; 0x020e239c
|
|
.word _ZN7MapBase8vfunc_54Ev
|
|
.global data_ov00_020e23a0
|
|
data_ov00_020e23a0: ; 0x020e23a0
|
|
.word _ZN7MapBase8vfunc_58Ev
|
|
.global data_ov00_020e23a4
|
|
data_ov00_020e23a4: ; 0x020e23a4
|
|
.word _ZN7MapBase8vfunc_5cEv
|
|
.global data_ov00_020e23a8
|
|
data_ov00_020e23a8: ; 0x020e23a8
|
|
.word _ZN7MapBase8vfunc_60Ev
|
|
.global data_ov00_020e23ac
|
|
data_ov00_020e23ac: ; 0x020e23ac
|
|
.word _ZN7MapBase8vfunc_64Ev
|
|
.global data_ov00_020e23b0
|
|
data_ov00_020e23b0: ; 0x020e23b0
|
|
.word _ZN7MapBase8vfunc_68Eii
|
|
.global data_ov00_020e23b4
|
|
data_ov00_020e23b4: ; 0x020e23b4
|
|
.word _ZN7MapBase8vfunc_6cEiii
|
|
.global data_ov00_020e23b8
|
|
data_ov00_020e23b8: ; 0x020e23b8
|
|
.word _ZN7MapBase8vfunc_70EP5Vec3p
|
|
.global data_ov00_020e23bc
|
|
data_ov00_020e23bc: ; 0x020e23bc
|
|
.word _ZN7MapBase8vfunc_74EP5Vec3p
|
|
.global data_ov00_020e23c0
|
|
data_ov00_020e23c0: ; 0x020e23c0
|
|
.word _ZN7MapBase8vfunc_78Ev
|
|
.global data_ov00_020e23c4
|
|
data_ov00_020e23c4: ; 0x020e23c4
|
|
.word _ZN7MapBase8vfunc_7cEv
|
|
.global data_ov00_020e23c8
|
|
data_ov00_020e23c8: ; 0x020e23c8
|
|
.word _ZN7MapBase8vfunc_80Ev
|
|
.global data_ov00_020e23cc
|
|
data_ov00_020e23cc: ; 0x020e23cc
|
|
.word _ZN7MapBase8vfunc_84Ei
|
|
.global data_ov00_020e23d0
|
|
data_ov00_020e23d0: ; 0x020e23d0
|
|
.word _ZN7MapBase8vfunc_88Ev
|
|
.global data_ov00_020e23d4
|
|
data_ov00_020e23d4: ; 0x020e23d4
|
|
.word _ZN7MapBase8vfunc_8cEv
|
|
.global data_ov00_020e23d8
|
|
data_ov00_020e23d8: ; 0x020e23d8
|
|
.word _ZN7MapBase8vfunc_90Eiii
|
|
.global data_ov00_020e23dc
|
|
data_ov00_020e23dc: ; 0x020e23dc
|
|
.word _ZN7MapBase8vfunc_94Ev
|
|
.global data_ov00_020e23e0
|
|
data_ov00_020e23e0: ; 0x020e23e0
|
|
.word _ZN7MapBase8vfunc_98Ev
|
|
.global data_ov00_020e23e4
|
|
data_ov00_020e23e4: ; 0x020e23e4
|
|
.word _ZN7MapBase8vfunc_9cEv
|
|
.global data_ov00_020e23e8
|
|
data_ov00_020e23e8: ; 0x020e23e8
|
|
.word _ZN7MapBase8vfunc_a0Ev
|
|
.global data_ov00_020e23ec
|
|
data_ov00_020e23ec: ; 0x020e23ec
|
|
.word _ZN7MapBase8vfunc_a4Ev
|
|
.global data_ov00_020e23f0
|
|
data_ov00_020e23f0: ; 0x020e23f0
|
|
.word _ZN7MapBase8vfunc_a8Ev
|
|
.global data_ov00_020e23f4
|
|
data_ov00_020e23f4: ; 0x020e23f4
|
|
.word _ZN7MapBase8vfunc_acEv
|
|
.global data_ov00_020e23f8
|
|
data_ov00_020e23f8: ; 0x020e23f8
|
|
.word _ZN7MapBase8vfunc_b0Eii
|
|
.global data_ov00_020e23fc
|
|
data_ov00_020e23fc: ; 0x020e23fc
|
|
.word _ZN7MapBase8vfunc_b4Ev
|
|
.global data_ov00_020e2400
|
|
data_ov00_020e2400: ; 0x020e2400
|
|
.word _ZN7MapBase8vfunc_b8Ev
|
|
.global data_ov00_020e2404
|
|
data_ov00_020e2404: ; 0x020e2404
|
|
.word _ZN7MapBase8vfunc_bcEv
|
|
.global data_ov00_020e2408
|
|
data_ov00_020e2408: ; 0x020e2408
|
|
.word _ZN7MapBase8vfunc_c0Ev
|
|
.global data_ov00_020e240c
|
|
data_ov00_020e240c: ; 0x020e240c
|
|
.ascii "M00"
|
|
.byte 0x00
|
|
.global data_ov00_020e2410
|
|
data_ov00_020e2410: ; 0x020e2410
|
|
.ascii "Map/%s/map%d%d.bin"
|
|
.byte 0x00, 0x00
|
|
|
|
.sbss
|
|
.global data_ov00_020ec81c
|
|
data_ov00_020ec81c:
|
|
.space 0x4
|
|
.global data_ov00_020ec820
|
|
data_ov00_020ec820:
|
|
.space 0x4
|
|
.global data_ov00_020ec824
|
|
data_ov00_020ec824:
|
|
.space 0x40
|
|
.global data_ov00_020ec864
|
|
data_ov00_020ec864:
|
|
.space 0x40
|
|
.global data_ov00_020ec8a4
|
|
data_ov00_020ec8a4:
|
|
.space 0x40
|
|
.global data_ov00_020ec8e4
|
|
data_ov00_020ec8e4:
|
|
.space 0x40
|
|
.global data_ov00_020ec924
|
|
data_ov00_020ec924:
|
|
.space 0x40
|