diff --git a/asm/dtcm.s b/asm/dtcm.s index b3664d47..d3b1bcb1 100644 --- a/asm/dtcm.s +++ b/asm/dtcm.s @@ -3548,8 +3548,8 @@ data_027e0e58: .global data_027e0e5c data_027e0e5c: .space 0x4 - .global data_027e0e60 -data_027e0e60: + .global gMapManager +gMapManager: .space 0x4 .global data_027e0e64 data_027e0e64: diff --git a/asm/itcm.inc b/asm/itcm.inc index 77612b92..29c77a1d 100644 --- a/asm/itcm.inc +++ b/asm/itcm.inc @@ -19,7 +19,7 @@ .extern data_027e080c .extern data_027e081c .extern data_027e08e4 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0e64 .extern data_027e0f6c .extern data_027e0fdc @@ -49,18 +49,18 @@ .extern func_0202b2e8 .extern func_0204f614 .extern func_0204f754 -.extern func_ov00_0207e968 -.extern func_ov00_0207e96c +.extern _ZN7MapBase18func_ov00_0207e968Ev +.extern _ZN7MapBase18func_ov00_0207e96cEv .extern func_ov00_02081ef4 -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083ee0 -.extern func_ov00_02083ef8 -.extern func_ov00_020840c4 -.extern func_ov00_02086284 -.extern func_ov00_02086a84 +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ +.extern _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ .extern func_ov00_0208e4f8 .extern func_ov00_0208ed74 .extern func_ov00_0208ee00 diff --git a/asm/itcm.s b/asm/itcm.s index cb895711..b93dd552 100644 --- a/asm/itcm.s +++ b/asm/itcm.s @@ -5041,11 +5041,11 @@ func_01ffc118: ; 0x01ffc118 beq _01ffc530 ldr r1, [sp, #0x260] ldr r0, [sp, #0x14] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev str r0, [sp, #0x4c] ldr r0, [sp, #0x14] ldr r1, [sp, #0x268] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev add r1, r8, #0x800 str r0, [sp, #0x48] mov r0, r1, asr #0xc @@ -5055,10 +5055,10 @@ func_01ffc118: ; 0x01ffc118 sub r0, r0, r1, asr #12 str r0, [sp, #0x44] ldr r0, [sp, #0x14] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x38] ldr r0, [sp, #0x14] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #0x34] ldr r1, [sp, #0x44] ldr r0, [sp, #0x40] @@ -5106,7 +5106,7 @@ _01ffc24c: strb r0, [sp, #0x69] ldr r0, [sp, #0x14] strb r2, [sp, #0x68] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _01ffc508 ldr r1, [r5, #4] @@ -5240,7 +5240,7 @@ _01ffc398: str r0, [sp, #0xc] ldr r0, [sp, #0x14] mov r2, ip - bl func_ov00_02086284 + bl _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ cmp r0, #0 mov r0, #1 beq _01ffc4dc @@ -5434,7 +5434,7 @@ _01ffc73c: str r0, [sp, #0xc] ldr r0, [sp, #0x14] mov r2, r6 - bl func_ov00_02086284 + bl _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ cmp r0, #0 mov r1, r5, lsl #0x1 beq _01ffc840 @@ -5622,10 +5622,10 @@ _01ffc998: ldr r3, _01ffd1d4 ; =data_027e0e64 mov r1, r4 bl func_01ffedf4 - ldr r1, _01ffd1d8 ; =func_ov00_0207e968 + ldr r1, _01ffd1d8 ; =_ZN7MapBase18func_ov00_0207e968Ev str r0, [sp, #0x2c] str r1, [sp] - ldr r3, _01ffd1dc ; =func_ov00_0207e96c + ldr r3, _01ffd1dc ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, sp, #0x284 mov r1, #3 mov r2, #0x10 @@ -6105,7 +6105,7 @@ _01ffd18c: ldr r0, [sp, #0x268] str r0, [r10, #8] _01ffd1b0: - ldr r3, _01ffd1d8 ; =func_ov00_0207e968 + ldr r3, _01ffd1d8 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x284 mov r1, #3 mov r2, #0x10 @@ -6117,8 +6117,8 @@ _01ffd1b0: arm_func_end func_01ffc118 _01ffd1d0: .word data_027e0f6c _01ffd1d4: .word data_027e0e64 -_01ffd1d8: .word func_ov00_0207e968 -_01ffd1dc: .word func_ov00_0207e96c +_01ffd1d8: .word _ZN7MapBase18func_ov00_0207e968Ev +_01ffd1dc: .word _ZN7MapBase18func_ov00_0207e96cEv .global func_01ffd1e0 arm_func_start func_01ffd1e0 @@ -6172,22 +6172,22 @@ func_01ffd1e0: ; 0x01ffd1e0 bl func_ov00_0208ee00 ldr r0, [sp, #0x14] ldr r1, [sp, #0x298] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev sub r0, r0, #1 str r0, [sp, #0x3c] ldr r0, [sp, #0x14] ldr r1, [sp, #0x2a0] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev sub r0, r0, #1 str r0, [sp, #0x28] ldr r0, [sp, #0x14] ldr r1, [sp, #0x2a4] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev add r0, r0, #1 str r0, [sp, #0x38] ldr r0, [sp, #0x14] ldr r1, [sp, #0x2ac] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev add r0, r0, #1 str r0, [sp, #0x34] mov r0, #0 @@ -6207,10 +6207,10 @@ func_01ffd1e0: ; 0x01ffd1e0 add r2, sp, #0x2b0 bl func_01ff9bf8 ldr r0, [sp, #0x14] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x30] ldr r0, [sp, #0x14] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #0x2c] ldr r1, [sp, #0x28] ldr r0, [sp, #0x34] @@ -6252,7 +6252,7 @@ _01ffd398: strb r0, [sp, #0x5d] ldr r0, [sp, #0x14] strb r4, [sp, #0x5c] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _01ffd650 ldr r1, [r5, #4] @@ -6386,7 +6386,7 @@ _01ffd4e4: add r2, sp, #0x26c str r2, [sp, #0x10] mov r2, ip - bl func_ov00_02086a84 + bl _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ cmp r0, #0 mov r0, #1 beq _01ffd624 @@ -6571,7 +6571,7 @@ _01ffd858: add r1, sp, #0x230 str r1, [sp, #0x10] mov r1, r4 - bl func_ov00_02086a84 + bl _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ cmp r0, #0 mov r1, r5, lsl #0x1 beq _01ffd964 @@ -6690,10 +6690,10 @@ _01ffda18: ldr r3, _01ffe1bc ; =data_027e0e64 mov r1, r5 bl func_01ffedf4 - ldr r1, _01ffe1c0 ; =func_ov00_0207e968 + ldr r1, _01ffe1c0 ; =_ZN7MapBase18func_ov00_0207e968Ev mov r7, r0 str r1, [sp] - ldr r3, _01ffe1c4 ; =func_ov00_0207e96c + ldr r3, _01ffe1c4 ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, sp, #0x2ec mov r1, #3 mov r2, #0x10 @@ -7092,7 +7092,7 @@ _01ffdfa8: mov r1, r7 mov r2, r9 str r4, [sp, #0x31c] - bl func_ov00_02083ef8 + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ ldr r1, [sp, #0x1d4] add r0, r0, r8 cmp r1, r0 @@ -7157,7 +7157,7 @@ _01ffe174: ldr r0, [sp, #0x2d0] str r0, [r10, #8] _01ffe198: - ldr r3, _01ffe1c0 ; =func_ov00_0207e968 + ldr r3, _01ffe1c0 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x2ec mov r1, #3 mov r2, #0x10 @@ -7169,8 +7169,8 @@ _01ffe198: arm_func_end func_01ffd1e0 _01ffe1b8: .word data_027e0f6c _01ffe1bc: .word data_027e0e64 -_01ffe1c0: .word func_ov00_0207e968 -_01ffe1c4: .word func_ov00_0207e96c +_01ffe1c0: .word _ZN7MapBase18func_ov00_0207e968Ev +_01ffe1c4: .word _ZN7MapBase18func_ov00_0207e96cEv _01ffe1c8: .word 0x00001922 .global func_01ffe1cc @@ -7222,25 +7222,25 @@ func_01ffe1cc: ; 0x01ffe1cc bl func_ov00_0208ee00 ldr r0, [sp, #0xc] ldr r1, [sp, #0x48] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev str r0, [sp, #0x24] ldr r0, [sp, #0xc] ldr r1, [sp, #0x50] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r6, r0 ldr r0, [sp, #0xc] ldr r1, [sp, #0x54] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r4, r0 ldr r0, [sp, #0xc] ldr r1, [sp, #0x5c] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev str r0, [sp, #0x20] ldr r0, [sp, #0xc] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x1c] ldr r0, [sp, #0xc] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #0x18] ldr r0, [sp, #0x20] cmp r6, r0 @@ -7274,7 +7274,7 @@ _01ffe314: strb r0, [sp, #0x31] ldr r0, [sp, #0xc] strb r5, [sp, #0x30] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 beq _01ffe43c ldr r1, [r0] @@ -8582,8 +8582,8 @@ func_01fff510: ; 0x01fff510 ldr r1, [sp, #4] mov r0, r6 bl func_ov00_0208ee00 - ldr r1, _01fffb44 ; =func_ov00_0207e968 - ldr r3, _01fffb48 ; =func_ov00_0207e96c + ldr r1, _01fffb44 ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r3, _01fffb48 ; =_ZN7MapBase18func_ov00_0207e96cEv str r1, [sp] add r0, sp, #0x118 mov r1, #3 @@ -8769,7 +8769,7 @@ _01fff788: cmp r0, #0 bne _01fff840 _01fff820: - ldr r3, _01fffb44 ; =func_ov00_0207e968 + ldr r3, _01fffb44 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x118 mov r1, #3 mov r2, #0x10 @@ -8949,7 +8949,7 @@ _01fffa00: cmp r0, #0 bne _01fffad4 _01fffab4: - ldr r3, _01fffb44 ; =func_ov00_0207e968 + ldr r3, _01fffb44 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x118 mov r1, #3 mov r2, #0x10 @@ -8981,7 +8981,7 @@ _01fffb04: str r0, [sp, #0x20] bhs _01fff908 _01fffb24: - ldr r3, _01fffb44 ; =func_ov00_0207e968 + ldr r3, _01fffb44 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x118 mov r1, #3 mov r2, #0x10 @@ -8991,8 +8991,8 @@ _01fffb24: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_01fff510 -_01fffb44: .word func_ov00_0207e968 -_01fffb48: .word func_ov00_0207e96c +_01fffb44: .word _ZN7MapBase18func_ov00_0207e968Ev +_01fffb48: .word _ZN7MapBase18func_ov00_0207e96cEv .global func_01fffb4c arm_func_start func_01fffb4c @@ -9181,7 +9181,7 @@ func_01fffd04: ; 0x01fffd04 ldr r0, [sp, #0x4c] ldr r1, [sp, #0x44] str r0, [sp, #0x34] - ldr r0, _01ffff04 ; =data_027e0e60 + ldr r0, _01ffff04 ; =gMapManager ldr r3, [sp, #0x48] ldr r2, [sp, #0x54] str r1, [sp, #0x2c] @@ -9193,7 +9193,7 @@ func_01fffd04: ; 0x01fffd04 str r1, [sp, #0x30] moveq r2, #0 add r1, sp, #0x2c - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r3, [r6, #0x4c] ldr r1, [sp, #0x54] ldr r2, [sp, #0x5c] @@ -9212,7 +9212,7 @@ _01fffdf4: mov ip, #0 str r0, [sp, #0x24] ldr r1, [r6, #0x50] - ldr r0, _01ffff04 ; =data_027e0e60 + ldr r0, _01ffff04 ; =gMapManager str r1, [sp, #0x28] ldr r1, [r6, #0x54] add r2, sp, #0x20 @@ -9277,7 +9277,7 @@ _01fffef8: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_01fffd04 -_01ffff04: .word data_027e0e60 +_01ffff04: .word gMapManager .global func_01ffff08 arm_func_start func_01ffff08 diff --git a/asm/main/main_02000000.inc b/asm/main/main_02000000.inc index f55a7b3b..7913f1d0 100644 --- a/asm/main/main_02000000.inc +++ b/asm/main/main_02000000.inc @@ -1,5 +1,9 @@ #pragma once .extern Divide +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_02086044Eiii .extern _ZN11ItemManager10GiveRupeesEjj .extern _ZN11ItemManager7AddItemEi .extern _ZN11ItemManager8GiveKeysEj @@ -111,7 +115,6 @@ .extern data_027e0dbc .extern data_027e0e28 .extern data_027e0e2c -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f7c .extern data_027e0f80 @@ -375,10 +378,6 @@ .extern func_ov00_0207bcb4 .extern func_ov00_0207be84 .extern func_ov00_0207c0f0 -.extern func_ov00_02082614 -.extern func_ov00_020838e8 -.extern func_ov00_02084740 -.extern func_ov00_02086044 .extern func_ov00_02087d98 .extern func_ov00_02089068 .extern func_ov00_0208b180 @@ -477,6 +476,7 @@ .extern gAdventureFlags .extern gHeap .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern gpBuildDate .extern strcat diff --git a/asm/main/main_02000000.s b/asm/main/main_02000000.s index 52244b07..74757c8c 100644 --- a/asm/main/main_02000000.s +++ b/asm/main/main_02000000.s @@ -58474,7 +58474,7 @@ func_0202bf58: ; 0x0202bf58 mov r0, #0 ldmmiia sp!, {r3, pc} ldr ip, [r2] - ldr r0, _0202bfbc ; =data_027e0e60 + ldr r0, _0202bfbc ; =gMapManager str ip, [sp, #0xc] ldr ip, [r2, #4] ldr r0, [r0] @@ -58489,12 +58489,12 @@ func_0202bf58: ; 0x0202bf58 ldr ip, [r1, #8] add r1, sp, #0xc str ip, [sp, #8] - bl func_ov00_02086044 + bl _ZN10MapManager18func_ov00_02086044Eiii add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_0202bf58 -_0202bfbc: .word data_027e0e60 +_0202bfbc: .word gMapManager .global func_0202bfc0 arm_func_start func_0202bfc0 @@ -76848,7 +76848,7 @@ _020382e8: mov r3, #0 sub r2, r3, #2 mov r5, #0x47 - ldr r0, _0203859c ; =data_027e0e60 + ldr r0, _0203859c ; =gMapManager mov r1, #0xff str r2, [sp, #0xc] str r5, [sp] @@ -76862,7 +76862,7 @@ _020382e8: ldr r0, [r0] ldr r1, [r4, #4] add r2, sp, #0 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _02038368 ldr r0, _020385a0 ; =data_027e0d38 @@ -76953,9 +76953,9 @@ _02038444: mov r0, #2 ldmia sp!, {r3, r4, r5, pc} _0203846c: - ldr r0, _0203859c ; =data_027e0e60 + ldr r0, _0203859c ; =gMapManager ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r2, [r4, #4] ldr r0, _020385ac ; =data_ov00_020eec68 @@ -77039,7 +77039,7 @@ _0203858c: .word data_027e0618 _02038590: .word gItemManager _02038594: .word data_027e0db0 _02038598: .word data_027e0c68 -_0203859c: .word data_027e0e60 +_0203859c: .word gMapManager _020385a0: .word data_027e0d38 _020385a4: .word data_027e0f64 _020385a8: .word data_020569e0 @@ -80336,11 +80336,11 @@ _0203ac8c: b _0203ad24 _0203acc0: ldrh r2, [r5, #6] - ldr r0, _0203ae9c ; =data_027e0e60 + ldr r0, _0203ae9c ; =gMapManager add r1, sp, #8 ldr r0, [r0] and r2, r2, #0xff - bl func_ov00_02082614 + bl _ZN10MapManager18func_ov00_02082614Eii ldr r0, _0203ae94 ; =data_027e103c add r1, sp, #8 ldr r0, [r0] @@ -80465,7 +80465,7 @@ _0203ae8c: .word 0x00020001 _0203ae90: .word 0xffff0001 _0203ae94: .word data_027e103c _0203ae98: .word data_027e0d3c -_0203ae9c: .word data_027e0e60 +_0203ae9c: .word gMapManager _0203aea0: .word data_02057ed0 _0203aea4: .word data_027e0c68 diff --git a/asm/ov00/Actor/Actor.inc b/asm/ov00/Actor/Actor.inc index 869800e4..be979665 100644 --- a/asm/ov00/Actor/Actor.inc +++ b/asm/ov00/Actor/Actor.inc @@ -1,4 +1,9 @@ #pragma once +.extern _ZN10MapManager18func_ov00_02083570Eii +.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084c5cEii .extern _ZN10PlayerBase18EquipItem_vfunc_2cEv .extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder @@ -10,6 +15,7 @@ .extern _ZN12ActorManager18func_ov00_020c39acEjPjb .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13PlayerControl13StopFollowingEv +.extern _ZN14AdventureFlags18func_ov00_02097738Ev .extern _ZN9SysObjectdlEPv .extern _ZNK11ItemManager19GetActiveFairyLevelEi .extern data_02050f54 @@ -19,8 +25,7 @@ .extern data_027e0c54 .extern data_027e0d0c .extern data_027e0d3c -.extern data_027e0e60 -.extern gAdventureFlags +.extern gMapManager .extern data_027e0f90 .extern data_027e0f94 .extern data_027e0fac @@ -47,13 +52,7 @@ .extern func_ov00_0207a188 .extern func_ov00_0207a1c8 .extern func_ov00_0207b89c -.extern func_ov00_02083570 -.extern func_ov00_02083ef8 -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 -.extern func_ov00_02084c5c .extern func_ov00_02087ef0 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev .extern func_ov00_020bc46c .extern func_ov00_020bc7f8 .extern func_ov00_020bc854 @@ -73,4 +72,5 @@ .extern func_ov14_0213dadc .extern func_ov14_0213ddd4 .extern func_ov14_0213defc +.extern gAdventureFlags .extern gItemManager diff --git a/asm/ov00/Actor/Actor.s b/asm/ov00/Actor/Actor.s index 5250f84a..d255d42d 100644 --- a/asm/ov00/Actor/Actor.s +++ b/asm/ov00/Actor/Actor.s @@ -204,16 +204,16 @@ _020c1784: .word func_ov00_02087ef0 .global _ZN5Actor18func_ov00_020c1788Ev arm_func_start _ZN5Actor18func_ov00_020c1788Ev _ZN5Actor18func_ov00_020c1788Ev: ; 0x020c1788 - ldr r3, _020c17a0 ; =data_027e0e60 - ldr ip, _020c17a4 ; =func_ov00_02083570 + ldr r3, _020c17a0 ; =gMapManager + ldr ip, _020c17a4 ; =_ZN10MapManager18func_ov00_02083570Eii ldrb r1, [r0, #0x10] ldrb r2, [r0, #0x11] ldr r0, [r3] bx ip .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c1788Ev -_020c17a0: .word data_027e0e60 -_020c17a4: .word func_ov00_02083570 +_020c17a0: .word gMapManager +_020c17a4: .word _ZN10MapManager18func_ov00_02083570Eii .global _ZN5Actor8vfunc_2cEv arm_func_start _ZN5Actor8vfunc_2cEv @@ -680,32 +680,32 @@ _ZN5Actor8vfunc_a8Ev: ; 0x020c1bf8 arm_func_start _ZN5Actor18func_Ov00_020c1bfcEi _ZN5Actor18func_Ov00_020c1bfcEi: ; 0x020c1bfc add r2, r0, r1 - ldr r0, _020c1c18 ; =data_027e0e60 + ldr r0, _020c1c18 ; =gMapManager ldrb r1, [r2, #0x2a] - ldr ip, _020c1c1c ; =func_ov00_02084be0 + ldr ip, _020c1c1c ; =_ZN10MapManager18func_ov00_02084be0Eii ldrb r2, [r2, #0x28] ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN5Actor18func_Ov00_020c1bfcEi -_020c1c18: .word data_027e0e60 -_020c1c1c: .word func_ov00_02084be0 +_020c1c18: .word gMapManager +_020c1c1c: .word _ZN10MapManager18func_ov00_02084be0Eii .global _ZN5Actor18func_ov00_020c1c20Eiii arm_func_start _ZN5Actor18func_ov00_020c1c20Eiii _ZN5Actor18func_ov00_020c1c20Eiii: ; 0x020c1c20 stmdb sp!, {r3, lr} add ip, r0, r1 - ldr r0, _020c1c44 ; =data_027e0e60 + ldr r0, _020c1c44 ; =gMapManager mov r3, r2 ldrb r1, [ip, #0x2a] ldrb r2, [ip, #0x28] ldr r0, [r0] - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c1c20Eiii -_020c1c44: .word data_027e0e60 +_020c1c44: .word gMapManager .global _ZN5Actor8vfunc_48Ei arm_func_start _ZN5Actor8vfunc_48Ei @@ -2306,7 +2306,7 @@ _ZN5Actor18func_ov00_020c3094Ev: ; 0x020c3094 sub sp, sp, #0x18 mov r5, r0 ldr r1, [r5, #0x48] - ldr r0, _020c3108 ; =data_027e0e60 + ldr r0, _020c3108 ; =gMapManager str r1, [sp, #0xc] ldr r1, [r5, #0x4c] mov r4, #0 @@ -2323,7 +2323,7 @@ _ZN5Actor18func_ov00_020c3094Ev: ; 0x020c3094 ldr ip, [r5, #0x5c] mov r3, r4 str ip, [sp, #8] - bl func_ov00_02083ef8 + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ ldr r1, [r5, #0x4c] cmp r1, r0 movle r4, #1 @@ -2333,7 +2333,7 @@ _ZN5Actor18func_ov00_020c3094Ev: ; 0x020c3094 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c3094Ev -_020c3108: .word data_027e0e60 +_020c3108: .word gMapManager .global _ZN5Actor6GetPosEv arm_func_start _ZN5Actor6GetPosEv @@ -2382,14 +2382,14 @@ _ZN5Actor18func_ov00_020c3158Ev: ; 0x020c3158 ldr r1, [r0, #0x3c] cmp r1, #0 ldmltia sp!, {r3, pc} - ldr r0, _020c317c ; =data_027e0e60 + ldr r0, _020c317c ; =gMapManager mov r2, #1 ldr r0, [r0] - bl func_ov00_02084c5c + bl _ZN10MapManager18func_ov00_02084c5cEii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c3158Ev -_020c317c: .word data_027e0e60 +_020c317c: .word gMapManager .global _ZN5Actor4KillEv arm_func_start _ZN5Actor4KillEv diff --git a/asm/ov00/Actor/ActorManager.inc b/asm/ov00/Actor/ActorManager.inc index f6b3c7c3..68a7a1cd 100644 --- a/asm/ov00/Actor/ActorManager.inc +++ b/asm/ov00/Actor/ActorManager.inc @@ -1,14 +1,14 @@ #pragma once +.extern _ZN10MapManager18func_ov00_020836ccEjP4AABBj .extern _ZN5Actor10SetUnk_129Eb .extern _ZN5Actor14DistanceToLinkEv .extern _ZN5Actor14StopLinkFollowEv .extern _ZN5Actor18func_ov00_020c27a8Ei .extern data_02056be4 .extern data_027e077c -.extern data_027e0e60 +.extern gMapManager .extern data_027e103c .extern func_01ff9ec0 -.extern func_ov00_020836cc .extern func_ov00_0208e72c .extern func_ov00_0208e7a4 .extern func_ov00_0208f318 diff --git a/asm/ov00/Actor/ActorManager.s b/asm/ov00/Actor/ActorManager.s index bf9a3318..b8de6df0 100644 --- a/asm/ov00/Actor/ActorManager.s +++ b/asm/ov00/Actor/ActorManager.s @@ -616,11 +616,11 @@ _ZN12ActorManager18func_ov00_020c3bb0EiPi: ; 0x020c3bb0 str r0, [sp] movne r0, #0 strne r0, [r10] - ldr r0, _020c3ce4 ; =data_027e0e60 + ldr r0, _020c3ce4 ; =gMapManager add r2, sp, #0x14 ldr r0, [r0] mov r3, #8 - bl func_ov00_020836cc + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj mov r5, r0 cmp r5, #0 addle sp, sp, #0xd4 @@ -695,20 +695,20 @@ _020c3cd8: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end _ZN12ActorManager18func_ov00_020c3bb0EiPi -_020c3ce4: .word data_027e0e60 +_020c3ce4: .word gMapManager .global _ZN12ActorManager18func_ov00_020c3ce8Eii arm_func_start _ZN12ActorManager18func_ov00_020c3ce8Eii _ZN12ActorManager18func_ov00_020c3ce8Eii: ; 0x020c3ce8 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xcc - ldr r3, _020c3dcc ; =data_027e0e60 + ldr r3, _020c3dcc ; =gMapManager mov r11, r0 ldr r0, [r3] mov r10, r2 add r2, sp, #0xc mov r3, #8 - bl func_ov00_020836cc + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj mov r5, r0 cmp r5, #0 addle sp, sp, #0xcc @@ -763,7 +763,7 @@ _020c3db0: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end _ZN12ActorManager18func_ov00_020c3ce8Eii -_020c3dcc: .word data_027e0e60 +_020c3dcc: .word gMapManager .global _ZN12ActorManager14Actor_vfunc_28Ev arm_func_start _ZN12ActorManager14Actor_vfunc_28Ev diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc index 871cc044..89530a89 100644 --- a/asm/ov00/Item/ItemManager.inc +++ b/asm/ov00/Item/ItemManager.inc @@ -1,9 +1,12 @@ #pragma once .extern LoadTreasureItemFanfare +.extern _ZN10MapManager10GetNumKeysEv +.extern _ZN10MapManager10SetNumKeysEi .extern _ZN11ItemManager12GetEquipItemEi +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb .extern _ZNK11ItemManager10GetMaxAmmoEi -.extern data_027e0e60 -.extern gAdventureFlags +.extern gMapManager .extern data_027e0f78 .extern data_027e0fbc .extern data_027e103c @@ -12,15 +15,12 @@ .extern data_ov00_020eec68 .extern func_020196bc .extern func_020196fc -.extern strcat .extern func_ov00_02079ffc -.extern func_ov00_02084b08 -.extern func_ov00_02084b14 -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb .extern func_ov00_020cf374 .extern func_ov00_020d73bc .extern func_ov05_02104004 .extern func_ov09_0211c700 .extern func_ov09_0211ca20 +.extern gAdventureFlags .extern gItemManager +.extern strcat diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index ccf8fb70..30d80c1f 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -1113,23 +1113,23 @@ _020ae34c: .word data_027e103c .global _ZNK11ItemManager18func_ov00_020ae350Ev arm_func_start _ZNK11ItemManager18func_ov00_020ae350Ev _ZNK11ItemManager18func_ov00_020ae350Ev: ; 0x020ae350 - ldr r0, _020ae360 ; =data_027e0e60 - ldr ip, _020ae364 ; =func_ov00_02084b14 + ldr r0, _020ae360 ; =gMapManager + ldr ip, _020ae364 ; =_ZN10MapManager10GetNumKeysEv ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZNK11ItemManager18func_ov00_020ae350Ev -_020ae360: .word data_027e0e60 -_020ae364: .word func_ov00_02084b14 +_020ae360: .word gMapManager +_020ae364: .word _ZN10MapManager10GetNumKeysEv .global _ZN11ItemManager8GiveKeysEj thumb_func_start _ZN11ItemManager8GiveKeysEj _ZN11ItemManager8GiveKeysEj: ; 0x020ae368 push {r4, lr} - ldr r0, _020ae38c ; =data_027e0e60 + ldr r0, _020ae38c ; =gMapManager add r4, r1, #0 ldr r0, [r0] - blx func_ov00_02084b14 + blx _ZN10MapManager10GetNumKeysEv add r1, r4, r0 cmp r1, #8 blt _020ae37c @@ -1139,13 +1139,13 @@ _020ae37c: bgt _020ae382 mov r1, #0 _020ae382: - ldr r0, _020ae38c ; =data_027e0e60 + ldr r0, _020ae38c ; =gMapManager ldr r0, [r0] - blx func_ov00_02084b08 + blx _ZN10MapManager10SetNumKeysEi pop {r4, pc} .align 2, 0 thumb_func_end _ZN11ItemManager8GiveKeysEj -_020ae38c: .word data_027e0e60 +_020ae38c: .word gMapManager .global _ZNK11ItemManager15GetEquippedItemEv arm_func_start _ZNK11ItemManager15GetEquippedItemEv diff --git a/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc b/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc index 52adae5a..7381d9e3 100644 --- a/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc +++ b/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc @@ -29,10 +29,10 @@ _020ad7c0: movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} _020ad800: - lda r0, data_027e0e60 + lda r0, gMapManager ldr r4, [r6, #8] ldr r0, [r0] - bl func_ov00_020849f8 + bl _ZN10MapManager18func_ov00_020849f8Ei cmp r0, #0 moveq r2, #1 ldr r1, [r6] diff --git a/asm/ov00/Map/Course.inc b/asm/ov00/Map/Course.inc new file mode 100644 index 00000000..17c008fd --- /dev/null +++ b/asm/ov00/Map/Course.inc @@ -0,0 +1,29 @@ +#pragma once +.extern Divide +.extern _ZN14AdventureFlags3GetEj +.extern data_027e0d38 +.extern data_027e0f7c +.extern data_027e103c +.extern data_ov00_020e233c +.extern data_ov00_020e2508 +.extern data_ov00_020e250c +.extern func_02002c14 +.extern func_0200c8d0 +.extern func_ov00_020972e4 +.extern func_ov00_0209740c +.extern func_ov00_02097458 +.extern func_ov00_02097478 +.extern func_ov00_020974c4 +.extern func_ov00_020974e4 +.extern func_ov00_02097530 +.extern func_ov00_02097550 +.extern func_ov00_0209759c +.extern func_ov00_020975bc +.extern func_ov00_02097608 +.extern func_ov00_0209d71c +.extern func_ov00_020a3510 +.extern func_ov00_020a3710 +.extern func_ov00_020a5e9c +.extern func_ov00_020cf414 +.extern gAdventureFlags +.extern strcpy diff --git a/asm/ov00/Map/Course.s b/asm/ov00/Map/Course.s new file mode 100644 index 00000000..a54df401 --- /dev/null +++ b/asm/ov00/Map/Course.s @@ -0,0 +1,1459 @@ + .include "ov00/Map/Course.inc" + .include "macros/function.inc" + + .text + + .global _ZN6Course18GetDungeonProgressEP14CourseProgress + arm_func_start _ZN6Course18GetDungeonProgressEP14CourseProgress +_ZN6Course18GetDungeonProgressEP14CourseProgress: ; 0x0207ca00 + ldr r2, [r0, #0x268] + str r2, [r1] + ldr r2, [r0, #4] + cmp r2, #3 + bxeq lr + ldr r2, [r0, #0x260] + strb r2, [r1, #4] + ldrb r0, [r0, #0x25d] + strb r0, [r1, #5] + bx lr + arm_func_end _ZN6Course18GetDungeonProgressEP14CourseProgress + + .global _ZN6Course18func_ov00_0207ca28Eiii + arm_func_start _ZN6Course18func_ov00_0207ca28Eiii +_ZN6Course18func_ov00_0207ca28Eiii: ; 0x0207ca28 + stmdb sp!, {r3, lr} + ldr ip, [r0, #4] + add r0, r0, r1, lsl #2 + cmp ip, #3 + ldr r0, [r0, #0xcc] + bne _0207ca54 + mov r1, r2 + mov r2, r3 + mov r3, #1 + bl func_ov00_020972e4 + ldmia sp!, {r3, pc} +_0207ca54: + mov r1, r2 + mov r2, r3 + mov r3, #0 + bl func_ov00_020972e4 + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207ca28Eiii + + .global _ZN6Course13SetCourseNameEPc + arm_func_start _ZN6Course13SetCourseNameEPc +_ZN6Course13SetCourseNameEPc: ; 0x0207ca68 + ldr ip, _0207ca74 ; =strcpy + add r0, r0, #0xc + bx ip + .align 2, 0 + arm_func_end _ZN6Course13SetCourseNameEPc +_0207ca74: .word strcpy + + .global _ZN6Course18func_ov00_0207ca78Eici + arm_func_start _ZN6Course18func_ov00_0207ca78Eici +_ZN6Course18func_ov00_0207ca78Eici: ; 0x0207ca78 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r2 + bl _ZN6Course11FindMapDataEj + movs r1, r0 + ldmeqia sp!, {r3, r4, r5, pc} + strb r4, [r1] + ldr r0, [r5, #0xc8] + ldr r1, [r1, #8] + mov r2, #1 + bl func_ov00_020a3510 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course18func_ov00_0207ca78Eici + + .global _ZN6Course18func_ov00_0207caa8EiPiPc + arm_func_start _ZN6Course18func_ov00_0207caa8EiPiPc +_ZN6Course18func_ov00_0207caa8EiPiPc: ; 0x0207caa8 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x10 + cmp r1, #0 + mov r5, r2 + mov r4, r3 + addeq sp, sp, #0x10 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + mov r3, #0x47 + mov r2, #0 + strb r2, [sp, #0xc] + str r3, [sp] + ldr r0, [r0, #0xc8] + add r2, sp, #0 + bl func_ov00_020a3710 + cmp r0, #0 + addeq sp, sp, #0x10 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r1, [sp] + mov r0, #1 + str r1, [r5] + ldrb r1, [sp, #4] + strb r1, [r4] + ldrb r1, [sp, #5] + strb r1, [r4, #1] + ldrh r1, [sp, #6] + strh r1, [r4, #2] + ldrh r1, [sp, #8] + strh r1, [r4, #4] + ldrh r1, [sp, #0xa] + strh r1, [r4, #6] + add sp, sp, #0x10 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course18func_ov00_0207caa8EiPiPc + + .global _ZN6Course18func_ov00_0207cb30Ei + arm_func_start _ZN6Course18func_ov00_0207cb30Ei +_ZN6Course18func_ov00_0207cb30Ei: ; 0x0207cb30 + stmdb sp!, {r3, lr} + sub sp, sp, #0x10 + cmp r1, #0 + addeq sp, sp, #0x10 + ldreq r0, _0207cb78 ; =0x0000ffff + ldmeqia sp!, {r3, pc} + mov r3, #0x47 + mov r2, #0 + strb r2, [sp, #0xc] + str r3, [sp] + ldr r0, [r0, #0xc8] + add r2, sp, #0 + bl func_ov00_020a3710 + cmp r0, #0 + ldrneh r0, [sp, #0xa] + ldreq r0, _0207cb78 ; =0x0000ffff + add sp, sp, #0x10 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN6Course18func_ov00_0207cb30Ei +_0207cb78: .word 0x0000ffff + + .global _ZN6Course14FindMapGridPosEP5Vec2bPS_j + arm_func_start _ZN6Course14FindMapGridPosEP5Vec2bPS_j +_ZN6Course14FindMapGridPosEP5Vec2bPS_j: ; 0x0207cb7c + stmdb sp!, {r3, r4, r5, lr} + mov lr, #0 + mov r5, r1 + mov ip, lr +_0207cb8c: + mov r4, ip +_0207cb90: + add r3, r5, r4 + ldrb r3, [r3, #0x20] + cmp r2, r3 + streqb lr, [r0] + streqb r4, [r0, #1] + ldmeqia sp!, {r3, r4, r5, pc} + add r4, r4, #1 + cmp r4, #0xa + blt _0207cb90 + add lr, lr, #1 + cmp lr, #0xa + add r5, r5, #0xa + blt _0207cb8c + ldrb r2, [r1, #0x1d] + ldrb r1, [r1, #0x1c] + strb r1, [r0] + strb r2, [r0, #1] + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course14FindMapGridPosEP5Vec2bPS_j + + .global _ZN6Course13FindMapCenterEi + arm_func_start _ZN6Course13FindMapCenterEi +_ZN6Course13FindMapCenterEi: ; 0x0207cbd8 + stmdb sp!, {r3, lr} + bl _ZN6Course11FindMapDataEj + add r0, r0, #0x14 + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course13FindMapCenterEi + + .global _ZN6Course18func_ov00_0207cbe8Ei + arm_func_start _ZN6Course18func_ov00_0207cbe8Ei +_ZN6Course18func_ov00_0207cbe8Ei: ; 0x0207cbe8 + stmdb sp!, {r3, lr} + sub sp, sp, #0x10 + cmp r1, #0 + addeq sp, sp, #0x10 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + mov r3, #0x47 + mov r2, #0 + strb r2, [sp, #0xc] + str r3, [sp] + ldr r0, [r0, #0xc8] + add r2, sp, #0 + bl func_ov00_020a3710 + add sp, sp, #0x10 + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207cbe8Ei + + .global _ZN6Course18func_ov00_0207cc24Ei + arm_func_start _ZN6Course18func_ov00_0207cc24Ei +_ZN6Course18func_ov00_0207cc24Ei: ; 0x0207cc24 + stmdb sp!, {r3, lr} + sub sp, sp, #0x10 + cmp r1, #0 + addeq sp, sp, #0x10 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + mov r3, #0x47 + mov r2, #0 + strb r2, [sp, #0xc] + str r3, [sp] + ldr r0, [r0, #0xc8] + add r2, sp, #0 + bl func_ov00_020a3710 + cmp r0, #0 + ldrneb r0, [sp, #0xc] + moveq r0, #0 + add sp, sp, #0x10 + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207cc24Ei + + .global _ZN6Course18FindMapData_Unk_08Ei + arm_func_start _ZN6Course18FindMapData_Unk_08Ei +_ZN6Course18FindMapData_Unk_08Ei: ; 0x0207cc6c + stmdb sp!, {r3, lr} + bl _ZN6Course11FindMapDataEj + cmp r0, #0 + moveq r0, #0 + ldrne r0, [r0, #8] + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18FindMapData_Unk_08Ei + + .global _ZN6Course14GetMCSFilePathEiii + arm_func_start _ZN6Course14GetMCSFilePathEiii +_ZN6Course14GetMCSFilePathEiii: ; 0x0207cc84 + stmdb sp!, {r3, lr} + mov lr, r0 + mov ip, r2 + cmp r3, #3 + addls pc, pc, r3, lsl #2 + b _0207cd3c +_0207cc9c: ; jump table + b _0207cd3c ; case 0 + b _0207ccac ; case 1 + b _0207cce8 ; case 2 + b _0207cd24 ; case 3 +_0207ccac: + cmp ip, #0 + bne _0207cccc + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd5c ; =data_ov00_020e2058 + bl func_0200c8d0 + ldmia sp!, {r3, pc} +_0207cccc: + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd60 ; =data_ov00_020e2070 + mov r3, ip + bl func_0200c8d0 + ldmia sp!, {r3, pc} +_0207cce8: + cmp ip, #0 + bne _0207cd08 + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd64 ; =data_ov00_020e208c + bl func_0200c8d0 + ldmia sp!, {r3, pc} +_0207cd08: + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd68 ; =data_ov00_020e20a4 + mov r3, ip + bl func_0200c8d0 + ldmia sp!, {r3, pc} +_0207cd24: + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd6c ; =data_ov00_020e20c0 + bl func_0200c8d0 + ldmia sp!, {r3, pc} +_0207cd3c: + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd70 ; =data_ov00_020e20d8 + add r3, lr, #0xc + bl func_0200c8d0 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN6Course14GetMCSFilePathEiii +_0207cd58: .word data_ov00_020e2508 +_0207cd5c: .word data_ov00_020e2058 +_0207cd60: .word data_ov00_020e2070 +_0207cd64: .word data_ov00_020e208c +_0207cd68: .word data_ov00_020e20a4 +_0207cd6c: .word data_ov00_020e20c0 +_0207cd70: .word data_ov00_020e20d8 + + .global _ZN6Course14GetMRCFilePathEiii + arm_func_start _ZN6Course14GetMRCFilePathEiii +_ZN6Course14GetMRCFilePathEiii: ; 0x0207cd74 + stmdb sp!, {r4, lr} + mov r4, r2 + cmp r3, #3 + addls pc, pc, r3, lsl #2 + b _0207cde0 +_0207cd88: ; jump table + b _0207cde0 ; case 0 + b _0207cd98 ; case 1 + b _0207cdb0 ; case 2 + b _0207cdc8 ; case 3 +_0207cd98: + ldr r0, _0207ce08 ; =data_ov00_020e250c + ldr r1, _0207ce0c ; =data_ov00_020e20ec + ldr r2, [r0] + mov r0, r4 + bl func_0200c8d0 + ldmia sp!, {r4, pc} +_0207cdb0: + ldr r0, _0207ce08 ; =data_ov00_020e250c + ldr r1, _0207ce10 ; =data_ov00_020e2104 + ldr r2, [r0] + mov r0, r4 + bl func_0200c8d0 + ldmia sp!, {r4, pc} +_0207cdc8: + ldr r0, _0207ce08 ; =data_ov00_020e250c + ldr r1, _0207ce14 ; =data_ov00_020e211c + ldr r2, [r0] + mov r0, r4 + bl func_0200c8d0 + ldmia sp!, {r4, pc} +_0207cde0: + ldr r0, _0207ce18 ; =data_027e0f7c + ldr r0, [r0] + bl func_ov00_0209d71c + ldr r1, _0207ce08 ; =data_ov00_020e250c + mov r3, r0 + ldr r2, [r1] + ldr r1, _0207ce1c ; =data_ov00_020e2134 + mov r0, r4 + bl func_0200c8d0 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN6Course14GetMRCFilePathEiii +_0207ce08: .word data_ov00_020e250c +_0207ce0c: .word data_ov00_020e20ec +_0207ce10: .word data_ov00_020e2104 +_0207ce14: .word data_ov00_020e211c +_0207ce18: .word data_027e0f7c +_0207ce1c: .word data_ov00_020e2134 + + .global _ZN6Course18func_ov00_0207ce20EiiPci + arm_func_start _ZN6Course18func_ov00_0207ce20EiiPci +_ZN6Course18func_ov00_0207ce20EiiPci: ; 0x0207ce20 + stmdb sp!, {r3, lr} + sub sp, sp, #8 + ldr ip, [sp, #0x10] + stmia sp, {r3, ip} + mov ip, r1 + mov r3, r2 + ldr r1, [r0] + mov r2, ip + bl _ZN6Course18func_ov00_0207ce4cEiiiPci + add sp, sp, #8 + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207ce20EiiPci + + .global _ZN6Course18func_ov00_0207ce4cEiiiPci + arm_func_start _ZN6Course18func_ov00_0207ce4cEiiiPci +_ZN6Course18func_ov00_0207ce4cEiiiPci: ; 0x0207ce4c + stmdb sp!, {r4, r5, r6, r7, r8, lr} + sub sp, sp, #8 + ldr r4, _0207d3ac ; =data_027e0f7c + mov r8, r0 + ldr r0, [r4] + mov r7, r1 + mov r6, r2 + mov r5, r3 + ldr r4, [sp, #0x20] + bl func_ov00_0209d71c + ldr r1, [sp, #0x24] + mov r3, r0 + cmp r1, #7 + addls pc, pc, r1, lsl #2 + b _0207d364 +_0207ce88: ; jump table + b _0207d364 ; case 0 + b _0207cef0 ; case 1 + b _0207cea8 ; case 2 + b _0207cf38 ; case 3 + b _0207d07c ; case 4 + b _0207d294 ; case 5 + b _0207d2d8 ; case 6 + b _0207d31c ; case 7 +_0207cea8: + ldr r2, _0207d3b0 ; =0x66666667 + mov r1, r6, lsr #0x1f + smull r0, r5, r2, r6 + smull r0, r7, r2, r6 + add r7, r1, r7, asr #2 + add r5, r1, r5, asr #2 + mov r2, #0xa + smull r0, r1, r2, r5 + sub r5, r6, r0 + str r7, [sp] + ldr r0, _0207d3b4 ; =data_ov00_020e233c + str r5, [sp, #4] + ldr r2, [r0] + ldr r1, _0207d3b8 ; =data_ov00_020e2148 + mov r0, r4 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207cef0: + ldr r2, _0207d3b0 ; =0x66666667 + mov r1, r6, lsr #0x1f + smull r0, r5, r2, r6 + smull r0, r7, r2, r6 + add r7, r1, r7, asr #2 + add r5, r1, r5, asr #2 + mov r2, #0xa + smull r0, r1, r2, r5 + sub r5, r6, r0 + str r7, [sp] + ldr r0, _0207d3b4 ; =data_ov00_020e233c + str r5, [sp, #4] + ldr r2, [r0] + ldr r1, _0207d3bc ; =data_ov00_020e2160 + mov r0, r4 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207cf38: + ldr r1, [r8, #8] + mvn r0, #1 + cmp r1, r0 + bne _0207cf98 + ldr r0, _0207d3c0 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + add r0, r0, #0x44 + bl func_ov00_020a5e9c + ldr r2, _0207d3c0 ; =data_027e0d38 + mov r1, r0 + ldr r0, [r2] + mov r3, r5 + ldr r0, [r0, #0x28] + ldrb r2, [r0, #0x56] + mov r0, r8 + cmp r2, #0xff + str r4, [sp] + mov r4, #4 + moveq r2, #0 + str r4, [sp, #4] + bl _ZN6Course18func_ov00_0207ce4cEiiiPci + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207cf98: + ldr r0, [r8, #4] + cmp r0, #2 + bne _0207cfc8 + mov r7, #4 + mov r0, r8 + mov r1, r6 + mov r2, r5 + mov r3, r4 + str r7, [sp] + bl _ZN6Course18func_ov00_0207ce20EiiPci + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207cfc8: + cmp r6, #0xff + beq _0207cfdc + ldrb r0, [r8, #0x25c] + cmp r0, #0 + beq _0207d03c +_0207cfdc: + cmp r7, #0x1b + bne _0207cffc + ldr r1, _0207d3c4 ; =data_ov00_020e2174 + mov r0, r4 + mov r2, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207cffc: + ldr r1, _0207d3b0 ; =0x66666667 + mov r2, r3 + smull r0, r8, r1, r6 + smull r0, r3, r1, r6 + mov r7, r6, lsr #0x1f + add r8, r7, r8, asr #2 + mov r5, #0xa + smull r0, r1, r5, r8 + sub r8, r6, r0 + ldr r1, _0207d3c8 ; =data_ov00_020e2188 + mov r0, r4 + add r3, r7, r3, asr #2 + str r8, [sp] + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d03c: + ldr r1, _0207d3b0 ; =0x66666667 + mov r2, r3 + smull r0, r8, r1, r6 + smull r0, r3, r1, r6 + mov r7, r6, lsr #0x1f + add r8, r7, r8, asr #2 + mov r5, #0xa + smull r0, r1, r5, r8 + sub r8, r6, r0 + ldr r1, _0207d3cc ; =data_ov00_020e219c + mov r0, r4 + add r3, r7, r3, asr #2 + str r8, [sp] + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d07c: + ldr r0, [r8] + cmp r0, #0x32 + bgt _0207d0b4 + bge _0207d19c + cmp r0, #3 + bgt _0207d1d4 + cmp r0, #1 + blt _0207d1d4 + beq _0207d0f4 + cmp r0, #2 + beq _0207d12c + cmp r0, #3 + beq _0207d164 + b _0207d1d4 +_0207d0b4: + cmp r0, #0x38 + bne _0207d1d4 + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3d0 ; =data_ov00_020e21b4 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d0f4: + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3d4 ; =data_ov00_020e21d0 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d12c: + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3d8 ; =data_ov00_020e21f0 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d164: + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3dc ; =data_ov00_020e2210 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d19c: + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3e0 ; =data_ov00_020e2230 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d1d4: + cmp r6, #3 + bne _0207d25c + ldr r0, _0207d3e4 ; =gAdventureFlags + mov r1, #0x32 + ldr r0, [r0] + bl _ZN14AdventureFlags3GetEj + cmp r0, #0 + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + beq _0207d22c + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3e8 ; =data_ov00_020e2250 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d22c: + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3ec ; =data_ov00_020e226c + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d25c: + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3f0 ; =data_ov00_020e2284 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d294: + ldr r8, _0207d3b0 ; =0x66666667 + mov r7, r6, lsr #0x1f + smull r0, r1, r8, r6 + add r1, r7, r1, asr #2 + mov r2, #0xa + smull r0, r1, r2, r1 + sub r1, r6, r0 + smull r0, r3, r8, r6 + stmia sp, {r1, r5} + ldr r0, _0207d3b4 ; =data_ov00_020e233c + ldr r1, _0207d3f4 ; =data_ov00_020e229c + ldr r2, [r0] + mov r0, r4 + add r3, r7, r3, asr #2 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d2d8: + ldr r8, _0207d3b0 ; =0x66666667 + mov r7, r6, lsr #0x1f + smull r0, r1, r8, r6 + add r1, r7, r1, asr #2 + mov r2, #0xa + smull r0, r1, r2, r1 + sub r1, r6, r0 + smull r0, r3, r8, r6 + stmia sp, {r1, r5} + ldr r0, _0207d3b4 ; =data_ov00_020e233c + ldr r1, _0207d3f8 ; =data_ov00_020e22b8 + ldr r2, [r0] + mov r0, r4 + add r3, r7, r3, asr #2 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d31c: + ldr r2, _0207d3b0 ; =0x66666667 + mov r1, r6, lsr #0x1f + smull r0, r5, r2, r6 + smull r0, r7, r2, r6 + add r7, r1, r7, asr #2 + add r5, r1, r5, asr #2 + mov r2, #0xa + smull r0, r1, r2, r5 + sub r5, r6, r0 + str r7, [sp] + ldr r0, _0207d3b4 ; =data_ov00_020e233c + str r5, [sp, #4] + ldr r2, [r0] + ldr r1, _0207d3fc ; =data_ov00_020e22d4 + mov r0, r4 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d364: + ldr r2, _0207d3b0 ; =0x66666667 + mov r1, r6, lsr #0x1f + smull r0, r5, r2, r6 + smull r0, r7, r2, r6 + add r7, r1, r7, asr #2 + add r5, r1, r5, asr #2 + mov r2, #0xa + smull r0, r1, r2, r5 + str r7, [sp] + sub r5, r6, r0 + ldr r0, _0207d3b4 ; =data_ov00_020e233c + str r5, [sp, #4] + ldr r2, [r0] + ldr r1, _0207d400 ; =data_ov00_020e22e8 + mov r0, r4 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end _ZN6Course18func_ov00_0207ce4cEiiiPci +_0207d3ac: .word data_027e0f7c +_0207d3b0: .word 0x66666667 +_0207d3b4: .word data_ov00_020e233c +_0207d3b8: .word data_ov00_020e2148 +_0207d3bc: .word data_ov00_020e2160 +_0207d3c0: .word data_027e0d38 +_0207d3c4: .word data_ov00_020e2174 +_0207d3c8: .word data_ov00_020e2188 +_0207d3cc: .word data_ov00_020e219c +_0207d3d0: .word data_ov00_020e21b4 +_0207d3d4: .word data_ov00_020e21d0 +_0207d3d8: .word data_ov00_020e21f0 +_0207d3dc: .word data_ov00_020e2210 +_0207d3e0: .word data_ov00_020e2230 +_0207d3e4: .word gAdventureFlags +_0207d3e8: .word data_ov00_020e2250 +_0207d3ec: .word data_ov00_020e226c +_0207d3f0: .word data_ov00_020e2284 +_0207d3f4: .word data_ov00_020e229c +_0207d3f8: .word data_ov00_020e22b8 +_0207d3fc: .word data_ov00_020e22d4 +_0207d400: .word data_ov00_020e22e8 + + .global _ZN6Course18func_ov00_0207d404Eiii + arm_func_start _ZN6Course18func_ov00_0207d404Eiii +_ZN6Course18func_ov00_0207d404Eiii: ; 0x0207d404 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x18 + mov r6, r0 + cmp r1, #0 + mov r5, r2 + mov r4, r3 + addeq sp, sp, #0x18 + mov r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + mov r2, #0x47 + str r2, [sp, #8] + strb r0, [sp, #0x14] + ldr r0, [r6, #0xc8] + add r2, sp, #8 + bl func_ov00_020a3710 + cmp r0, #0 + addeq sp, sp, #0x18 + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + ldr r0, [sp, #0x28] + str r4, [sp] + str r0, [sp, #4] + ldrb r2, [sp, #0xc] + ldr r1, [sp, #8] + mov r0, r6 + mov r3, r5 + bl _ZN6Course18func_ov00_0207ce4cEiiiPci + mov r0, #1 + add sp, sp, #0x18 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN6Course18func_ov00_0207d404Eiii + + .global _ZN6Course22IsCurrentMapInMainGridEv + arm_func_start _ZN6Course22IsCurrentMapInMainGridEv +_ZN6Course22IsCurrentMapInMainGridEv: ; 0x0207d47c + ldr ip, _0207d48c ; =_ZN6Course12IsInMainGridEii + ldrb r1, [r0, #0x1c] + ldrb r2, [r0, #0x1d] + bx ip + .align 2, 0 + arm_func_end _ZN6Course22IsCurrentMapInMainGridEv +_0207d48c: .word _ZN6Course12IsInMainGridEii + + .global _ZN6Course12IsInMainGridEii + arm_func_start _ZN6Course12IsInMainGridEii +_ZN6Course12IsInMainGridEii: ; 0x0207d490 + ldrb r3, [r0, #0x25c] + cmp r3, #0 + moveq r0, #1 + bxeq lr + ldrb ip, [r0, #0x84] + cmp ip, r1 + bgt _0207d4dc + ldrb r3, [r0, #0x86] + add r3, ip, r3 + cmp r1, r3 + bge _0207d4dc + ldrb r1, [r0, #0x85] + cmp r1, r2 + bgt _0207d4dc + ldrb r0, [r0, #0x87] + add r0, r1, r0 + cmp r2, r0 + movlt r0, #1 + bxlt lr +_0207d4dc: + mov r0, #0 + bx lr + arm_func_end _ZN6Course12IsInMainGridEii + + .global _ZN6Course15IsMapInMainGridEj + arm_func_start _ZN6Course15IsMapInMainGridEj +_ZN6Course15IsMapInMainGridEj: ; 0x0207d4e4 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + mov r2, r1 + add r0, sp, #0 + mov r1, r4 + bl _ZN6Course14FindMapGridPosEP5Vec2bPS_j + ldrb r1, [sp] + ldrb r2, [sp, #1] + mov r0, r4 + bl _ZN6Course12IsInMainGridEii + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end _ZN6Course15IsMapInMainGridEj + + .global _ZN6Course15GetMapScreenPosEiPiS0_ + arm_func_start _ZN6Course15GetMapScreenPosEiPiS0_ +_ZN6Course15GetMapScreenPosEiPiS0_: ; 0x0207d518 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r4, r1 + mov r7, r0 + cmp r4, #0xff + mov r6, r2 + mov r5, r3 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + add r0, sp, #0 + mov r1, r7 + mov r2, r4 + bl _ZN6Course14FindMapGridPosEP5Vec2bPS_j + ldrb r1, [sp] + ldrb r2, [sp, #1] + mov r0, r7 + bl _ZN6Course12IsInMainGridEii + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + ldrb r4, [r7, #0x86] + ldrb r0, [r7, #0x87] + cmp r0, r4 + movhi r4, r0 + mov r1, r4 + mov r0, #0x100 + bl func_02002c14 + ldrb r3, [sp] + ldrb r2, [r7, #0x84] + ldr ip, [r7, #0x88] + mov r1, r4 + sub r2, r3, r2 + mla r2, r0, r2, ip + str r2, [r6] + mov r0, #0xc0 + bl func_02002c14 + ldrb r2, [sp, #1] + ldrb r1, [r7, #0x85] + ldr r3, [r7, #0x8c] + sub r1, r2, r1 + mla r1, r0, r1, r3 + str r1, [r5] + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end _ZN6Course15GetMapScreenPosEiPiS0_ + + .global _ZN6Course21GetScreenMapCellSizeXEv + arm_func_start _ZN6Course21GetScreenMapCellSizeXEv +_ZN6Course21GetScreenMapCellSizeXEv: ; 0x0207d5c4 + stmdb sp!, {r3, lr} + ldrb r1, [r0, #0x86] + ldrb r0, [r0, #0x87] + cmp r0, r1 + movhi r1, r0 + mov r1, r1, lsl #0xc + mov r0, #0x100000 + bl Divide + mov r1, #0x40000 + bl Divide + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course21GetScreenMapCellSizeXEv + + .global _ZN6Course21GetScreenMapCellSizeYEv + arm_func_start _ZN6Course21GetScreenMapCellSizeYEv +_ZN6Course21GetScreenMapCellSizeYEv: ; 0x0207d5f0 + stmdb sp!, {r3, lr} + ldrb r1, [r0, #0x87] + ldrb r0, [r0, #0x86] + cmp r0, r1 + movhi r1, r0 + mov r1, r1, lsl #0xc + mov r0, #0xc0000 + bl Divide + mov r1, #0x30000 + bl Divide + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course21GetScreenMapCellSizeYEv + + .global _ZN6Course13Get_Unk_c8_00Ev + arm_func_start _ZN6Course13Get_Unk_c8_00Ev +_ZN6Course13Get_Unk_c8_00Ev: ; 0x0207d61c + ldr r0, [r0, #0xc8] + ldr r0, [r0] + bx lr + arm_func_end _ZN6Course13Get_Unk_c8_00Ev + + .global _ZN6Course13Get_Unk_c8_04Ev + arm_func_start _ZN6Course13Get_Unk_c8_04Ev +_ZN6Course13Get_Unk_c8_04Ev: ; 0x0207d628 + ldr r0, [r0, #0xc8] + ldr r0, [r0, #4] + bx lr + arm_func_end _ZN6Course13Get_Unk_c8_04Ev + + .global _ZN6Course23IsAdjacentMapOnMainGridEi + arm_func_start _ZN6Course23IsAdjacentMapOnMainGridEi +_ZN6Course23IsAdjacentMapOnMainGridEi: ; 0x0207d634 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + ldrb r4, [r6, #0x1c] + ldrb r5, [r6, #0x1d] + cmp r1, #3 + addls pc, pc, r1, lsl #2 + b _0207d67c +_0207d650: ; jump table + b _0207d660 ; case 0 + b _0207d668 ; case 1 + b _0207d670 ; case 2 + b _0207d678 ; case 3 +_0207d660: + add r4, r4, #1 + b _0207d67c +_0207d668: + sub r4, r4, #1 + b _0207d67c +_0207d670: + add r5, r5, #1 + b _0207d67c +_0207d678: + sub r5, r5, #1 +_0207d67c: + mov r0, r6 + mov r1, r4 + mov r2, r5 + bl _ZN6Course12IsInMainGridEii + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + mov r0, r6 + mov r1, r4 + mov r2, r5 + bl _ZN6Course10HasGridMapEii + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN6Course23IsAdjacentMapOnMainGridEi + + .global _ZN6Course10HasGridMapEii + arm_func_start _ZN6Course10HasGridMapEii +_ZN6Course10HasGridMapEii: ; 0x0207d6ac + cmp r1, #0 + cmpge r2, #0 + blt _0207d6c4 + cmp r1, #0xa + cmplt r2, #0xa + blt _0207d6cc +_0207d6c4: + mov r0, #0 + bx lr +_0207d6cc: + mov r3, #0xa + mla r0, r1, r3, r0 + add r0, r0, r2 + ldrb r0, [r0, #0x20] + cmp r0, #0xff + movne r0, #1 + moveq r0, #0 + bx lr + arm_func_end _ZN6Course10HasGridMapEii + + .global _ZN6Course14GetAdjacentMapEi + arm_func_start _ZN6Course14GetAdjacentMapEi +_ZN6Course14GetAdjacentMapEi: ; 0x0207d6ec + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN6Course23IsAdjacentMapOnMainGridEi + cmp r0, #0 + moveq r0, #0xff + ldmeqia sp!, {r4, r5, r6, pc} + mov r0, r6 + mov r1, r5 + bl _ZN6Course15GetAdjacentMapYEi + mov r4, r0 + mov r0, r6 + mov r1, r5 + bl _ZN6Course15GetAdjacentMapXEi + mov r1, #0xa + mla r1, r0, r1, r6 + add r0, r1, r4 + ldrb r0, [r0, #0x20] + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN6Course14GetAdjacentMapEi + + .global _ZN6Course15GetAdjacentMapXEi + arm_func_start _ZN6Course15GetAdjacentMapXEi +_ZN6Course15GetAdjacentMapXEi: ; 0x0207d738 + cmp r1, #0 + ldrb r0, [r0, #0x1c] + beq _0207d750 + cmp r1, #1 + subeq r0, r0, #1 + bx lr +_0207d750: + add r0, r0, #1 + bx lr + arm_func_end _ZN6Course15GetAdjacentMapXEi + + .global _ZN6Course15GetAdjacentMapYEi + arm_func_start _ZN6Course15GetAdjacentMapYEi +_ZN6Course15GetAdjacentMapYEi: ; 0x0207d758 + cmp r1, #2 + ldrb r0, [r0, #0x1d] + beq _0207d770 + cmp r1, #3 + subeq r0, r0, #1 + bx lr +_0207d770: + add r0, r0, #1 + bx lr + arm_func_end _ZN6Course15GetAdjacentMapYEi + + .global _ZN6Course25FindCurrentMapData_Unk_04Ev + arm_func_start _ZN6Course25FindCurrentMapData_Unk_04Ev +_ZN6Course25FindCurrentMapData_Unk_04Ev: ; 0x0207d778 + stmdb sp!, {r3, lr} + bl _ZN6Course18FindCurrentMapDataEv + ldrh r0, [r0, #4] + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course25FindCurrentMapData_Unk_04Ev + + .global _ZN6Course18FindMapData_Unk_04Ei + arm_func_start _ZN6Course18FindMapData_Unk_04Ei +_ZN6Course18FindMapData_Unk_04Ei: ; 0x0207d788 + stmdb sp!, {r3, lr} + bl _ZN6Course11FindMapDataEj + cmp r0, #0 + ldreq r0, _0207d7a0 ; =0x0000ffff + ldrneh r0, [r0, #4] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN6Course18FindMapData_Unk_04Ei +_0207d7a0: .word 0x0000ffff + + .global _ZN6Course18FindMapData_Unk_0cEi + arm_func_start _ZN6Course18FindMapData_Unk_0cEi +_ZN6Course18FindMapData_Unk_0cEi: ; 0x0207d7a4 + stmdb sp!, {r3, lr} + bl _ZN6Course11FindMapDataEj + cmp r0, #0 + moveq r0, #0 + ldrne r0, [r0, #0xc] + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18FindMapData_Unk_0cEi + + .global _ZN6Course18func_ov00_0207d7bcEv + arm_func_start _ZN6Course18func_ov00_0207d7bcEv +_ZN6Course18func_ov00_0207d7bcEv: ; 0x0207d7bc + stmdb sp!, {r3, lr} + bl _ZN6Course18FindCurrentMapDataEv + ldr r2, _0207d7d8 ; =data_027e103c + ldrh r1, [r0, #4] + ldr r0, [r2] + bl func_ov00_020cf414 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN6Course18func_ov00_0207d7bcEv +_0207d7d8: .word data_027e103c + + .global _ZN6Course8SetFlag0Ejb + arm_func_start _ZN6Course8SetFlag0Ejb +_ZN6Course8SetFlag0Ejb: ; 0x0207d7dc + cmp r2, #0 + beq _0207d804 + add ip, r0, #0x264 + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + bx lr +_0207d804: + add r3, r0, #0x264 + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + bx lr + arm_func_end _ZN6Course8SetFlag0Ejb + + .global _ZN6Course8GetFlag0Ej + arm_func_start _ZN6Course8GetFlag0Ej +_ZN6Course8GetFlag0Ej: ; 0x0207d828 + mov r2, r1, lsr #0x5 + add r0, r0, r2, lsl #2 + ldr r2, [r0, #0x264] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + bx lr + arm_func_end _ZN6Course8GetFlag0Ej + + .global _ZN6Course8SetFlag1Ejb + arm_func_start _ZN6Course8SetFlag1Ejb +_ZN6Course8SetFlag1Ejb: ; 0x0207d848 + cmp r2, #0 + beq _0207d870 + add ip, r0, #0x268 + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + bx lr +_0207d870: + add r3, r0, #0x268 + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + bx lr + arm_func_end _ZN6Course8SetFlag1Ejb + + .global _ZN6Course8SetFlag1Ej + arm_func_start _ZN6Course8SetFlag1Ej +_ZN6Course8SetFlag1Ej: ; 0x0207d894 + mov r2, r1, lsr #0x5 + add r0, r0, r2, lsl #2 + ldr r2, [r0, #0x268] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + bx lr + arm_func_end _ZN6Course8SetFlag1Ej + + .global _ZN6Course15SetMapDataFlag0Eib + arm_func_start _ZN6Course15SetMapDataFlag0Eib +_ZN6Course15SetMapDataFlag0Eib: ; 0x0207d8b4 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r1 + mov r4, r2 + bl _ZN6Course18FindCurrentMapDataEv + mov r1, r5 + mov r2, r4 + bl func_ov00_0209740c + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course15SetMapDataFlag0Eib + + .global _ZN6Course15GetMapDataFlag0Ei + arm_func_start _ZN6Course15GetMapDataFlag0Ei +_ZN6Course15GetMapDataFlag0Ei: ; 0x0207d8d4 + stmdb sp!, {r4, lr} + mov r4, r1 + bl _ZN6Course18FindCurrentMapDataEv + mov r1, r4 + bl func_ov00_02097458 + ldmia sp!, {r4, pc} + arm_func_end _ZN6Course15GetMapDataFlag0Ei + + .global _ZN6Course15SetMapDataFlag1Eib + arm_func_start _ZN6Course15SetMapDataFlag1Eib +_ZN6Course15SetMapDataFlag1Eib: ; 0x0207d8ec + stmdb sp!, {r3, r4, r5, lr} + mov r5, r1 + mov r4, r2 + bl _ZN6Course18FindCurrentMapDataEv + mov r1, r5 + mov r2, r4 + bl func_ov00_02097478 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course15SetMapDataFlag1Eib + + .global _ZN6Course15GetMapDataFlag1Ei + arm_func_start _ZN6Course15GetMapDataFlag1Ei +_ZN6Course15GetMapDataFlag1Ei: ; 0x0207d90c + stmdb sp!, {r4, lr} + mov r4, r1 + bl _ZN6Course18FindCurrentMapDataEv + mov r1, r4 + bl func_ov00_020974c4 + ldmia sp!, {r4, pc} + arm_func_end _ZN6Course15GetMapDataFlag1Ei + + .global _ZN6Course15SetMapDataFlag2Eib + arm_func_start _ZN6Course15SetMapDataFlag2Eib +_ZN6Course15SetMapDataFlag2Eib: ; 0x0207d924 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r1 + mov r4, r2 + bl _ZN6Course18FindCurrentMapDataEv + mov r1, r5 + mov r2, r4 + bl func_ov00_020974e4 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course15SetMapDataFlag2Eib + + .global _ZN6Course15GetMapDataFlag2Ei + arm_func_start _ZN6Course15GetMapDataFlag2Ei +_ZN6Course15GetMapDataFlag2Ei: ; 0x0207d944 + stmdb sp!, {r4, lr} + mov r4, r1 + bl _ZN6Course18FindCurrentMapDataEv + mov r1, r4 + bl func_ov00_02097530 + ldmia sp!, {r4, pc} + arm_func_end _ZN6Course15GetMapDataFlag2Ei + + .global _ZN6Course15SetMapDataFlag3Eib + arm_func_start _ZN6Course15SetMapDataFlag3Eib +_ZN6Course15SetMapDataFlag3Eib: ; 0x0207d95c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r1 + mov r4, r2 + bl _ZN6Course18FindCurrentMapDataEv + mov r1, r5 + mov r2, r4 + bl func_ov00_02097550 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course15SetMapDataFlag3Eib + + .global _ZN6Course15GetMapDataFlag3Ei + arm_func_start _ZN6Course15GetMapDataFlag3Ei +_ZN6Course15GetMapDataFlag3Ei: ; 0x0207d97c + stmdb sp!, {r4, lr} + mov r4, r1 + bl _ZN6Course18FindCurrentMapDataEv + mov r1, r4 + bl func_ov00_0209759c + ldmia sp!, {r4, pc} + arm_func_end _ZN6Course15GetMapDataFlag3Ei + + .global _ZN6Course15SetMapDataFlag4Eii + arm_func_start _ZN6Course15SetMapDataFlag4Eii +_ZN6Course15SetMapDataFlag4Eii: ; 0x0207d994 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r1 + mov r4, r2 + bl _ZN6Course18FindCurrentMapDataEv + mov r1, r5 + mov r2, r4 + bl func_ov00_020975bc + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course15SetMapDataFlag4Eii + + .global _ZN6Course15GetMapDataFlag4Ei + arm_func_start _ZN6Course15GetMapDataFlag4Ei +_ZN6Course15GetMapDataFlag4Ei: ; 0x0207d9b4 + stmdb sp!, {r4, lr} + mov r4, r1 + bl _ZN6Course18FindCurrentMapDataEv + mov r1, r4 + bl func_ov00_02097608 + ldmia sp!, {r4, pc} + arm_func_end _ZN6Course15GetMapDataFlag4Ei + + .global _ZN6Course11FindMapDataEj + arm_func_start _ZN6Course11FindMapDataEj +_ZN6Course11FindMapDataEj: ; 0x0207d9cc + ldrb r2, [r0, #0xb0] + mov ip, #0 + cmp r2, #0 + ble _0207da0c +_0207d9dc: + add r2, r0, ip, lsl #2 + ldr r3, [r2, #0xcc] + cmp r3, #0 + beq _0207d9fc + ldrb r2, [r3, #1] + cmp r1, r2 + moveq r0, r3 + bxeq lr +_0207d9fc: + ldrb r2, [r0, #0xb0] + add ip, ip, #1 + cmp ip, r2 + blt _0207d9dc +_0207da0c: + mov r0, #0 + bx lr + arm_func_end _ZN6Course11FindMapDataEj + + .global _ZN6Course18FindCurrentMapDataEv + arm_func_start _ZN6Course18FindCurrentMapDataEv +_ZN6Course18FindCurrentMapDataEv: ; 0x0207da14 + ldrb r3, [r0, #0x1c] + mov r1, #0xa + ldrb r2, [r0, #0x1d] + mla r1, r3, r1, r0 + add r1, r1, r2 + ldr ip, _0207da34 ; =_ZN6Course11FindMapDataEj + ldrb r1, [r1, #0x20] + bx ip + .align 2, 0 + arm_func_end _ZN6Course18FindCurrentMapDataEv +_0207da34: .word _ZN6Course11FindMapDataEj + + .data + .global data_ov00_020e2058 +data_ov00_020e2058: ; 0x020e2058 + .ascii "%s:objlist/motype.zob" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2070 +data_ov00_020e2070: ; 0x020e2070 + .ascii "%s:objlist/motype_%d.zob" + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e208c +data_ov00_020e208c: ; 0x020e208c + .ascii "%s:objlist/npctype.zob" + .byte 0x00, 0x00 + .global data_ov00_020e20a4 +data_ov00_020e20a4: ; 0x020e20a4 + .ascii "%s:objlist/npctype_%d.zob" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e20c0 +data_ov00_020e20c0: ; 0x020e20c0 + .ascii "%s:tex/mapModel.nsbtx" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e20d8 +data_ov00_020e20d8: ; 0x020e20d8 + .ascii "%s:arrange/%s.zab" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e20ec +data_ov00_020e20ec: ; 0x020e20ec + .ascii "%s:objlist/motype.zob" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2104 +data_ov00_020e2104: ; 0x020e2104 + .ascii "%s:objlist/npctype.zob" + .byte 0x00, 0x00 + .global data_ov00_020e211c +data_ov00_020e211c: ; 0x020e211c + .ascii "%s:tex/mapModel.nsbtx" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2134 +data_ov00_020e2134: ; 0x020e2134 + .ascii "%s:arrange/%s.zab" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2148 +data_ov00_020e2148: ; 0x020e2148 + .ascii "%s:nsbmd/%s_%d%d.nsbmd" + .byte 0x00, 0x00 + .global data_ov00_020e2160 +data_ov00_020e2160: ; 0x020e2160 + .ascii "%s:zcb/%s_%d%d.zcb" + .byte 0x00, 0x00 + .global data_ov00_020e2174 +data_ov00_020e2174: ; 0x020e2174 + .ascii "Map2D/%s/map00.bin" + .byte 0x00, 0x00 + .global data_ov00_020e2188 +data_ov00_020e2188: ; 0x020e2188 + .ascii "Map2D/%s/mapwd.bin" + .byte 0x00, 0x00 + .global data_ov00_020e219c +data_ov00_020e219c: ; 0x020e219c + .ascii "Map2D/%s/map%d%d.bin" + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e21b4 +data_ov00_020e21b4: ; 0x020e21b4 + .ascii "Map2D/seatest/map%d%d.bin" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e21d0 +data_ov00_020e21d0: ; 0x020e21d0 + .ascii "Map2D/sea_minigame/map%d%d.bin" + .byte 0x00, 0x00 + .global data_ov00_020e21f0 +data_ov00_020e21f0: ; 0x020e21f0 + .ascii "Map2D/sea_fishing/map%d%d.bin" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2210 +data_ov00_020e2210: ; 0x020e2210 + .ascii "Map2D/sea_salvage/map%d%d.bin" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2230 +data_ov00_020e2230: ; 0x020e2230 + .ascii "Map2D/boss_last2/map%d%d.bin" + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2250 +data_ov00_020e2250: ; 0x020e2250 + .ascii "Map2D/sea/map%d%d_02.bin" + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e226c +data_ov00_020e226c: ; 0x020e226c + .ascii "Map2D/sea/map%d%d.bin" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2284 +data_ov00_020e2284: ; 0x020e2284 + .ascii "Map2D/sea/map%d%d.bin" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e229c +data_ov00_020e229c: ; 0x020e229c + .ascii "%s:zob/motype_%d%d_%d.zob" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e22b8 +data_ov00_020e22b8: ; 0x020e22b8 + .ascii "%s:zob/npctype_%d%d_%d.zob" + .byte 0x00, 0x00 + .global data_ov00_020e22d4 +data_ov00_020e22d4: ; 0x020e22d4 + .ascii "%s:mcb/%s_%d%d.mcb" + .byte 0x00, 0x00 + .global data_ov00_020e22e8 +data_ov00_020e22e8: ; 0x020e22e8 + .ascii "%s:zmb/%s_%d%d.zmb" + .byte 0x00, 0x00 diff --git a/asm/ov00/Map/MapBase.inc b/asm/ov00/Map/MapBase.inc new file mode 100644 index 00000000..0ad7fa37 --- /dev/null +++ b/asm/ov00/Map/MapBase.inc @@ -0,0 +1,85 @@ +#pragma once +.extern Divide +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN6Course13FindMapCenterEi +.extern _ZN9SysObjectdlEPv +.extern _ZN9SysObjectnwEmPjj +.extern data_027e0618 +.extern data_027e0ce0 +.extern data_027e0d38 +.extern data_027e0e58 +.extern data_027e0f64 +.extern data_027e0f68 +.extern data_027e0f6c +.extern data_027e0f78 +.extern data_027e0f88 +.extern data_027e0f8c +.extern data_ov00_020ecde4 +.extern data_ov00_020ee0a0 +.extern func_01ffe904 +.extern func_01fff084 +.extern func_01fff264 +.extern func_020078f4 +.extern func_0200c8d0 +.extern func_020196bc +.extern func_020196fc +.extern func_0201e24c +.extern func_0201e4cc +.extern func_02042f68 +.extern func_0204f614 +.extern func_0204f754 +.extern func_ov00_02078b40 +.extern func_ov00_02079e3c +.extern func_ov00_02080f20 +.extern func_ov00_02080f64 +.extern func_ov00_02080f94 +.extern func_ov00_02080ff8 +.extern func_ov00_02081040 +.extern func_ov00_02081070 +.extern func_ov00_020810b8 +.extern func_ov00_020810e8 +.extern func_ov00_02081130 +.extern func_ov00_02087dd8 +.extern func_ov00_0208b79c +.extern func_ov00_0208d820 +.extern func_ov00_0208ee00 +.extern func_ov00_02095554 +.extern func_ov00_0209564c +.extern func_ov00_0209581c +.extern func_ov00_02095d58 +.extern func_ov00_0209c08c +.extern func_ov00_0209c1e4 +.extern func_ov00_0209c2b4 +.extern func_ov00_0209c2d0 +.extern func_ov00_0209c530 +.extern func_ov00_0209c61c +.extern func_ov00_0209c788 +.extern func_ov00_0209c8e4 +.extern func_ov00_0209cc3c +.extern func_ov00_0209cc48 +.extern func_ov00_0209cd80 +.extern func_ov00_0209cd9c +.extern func_ov00_0209cddc +.extern func_ov00_0209cdf8 +.extern func_ov00_020a1a0c +.extern func_ov00_020a3de0 +.extern func_ov00_020a5e9c +.extern func_ov04_0210bfa8 +.extern func_ov04_0210c1f8 +.extern func_ov04_0210c3fc +.extern func_ov04_0210c52c +.extern func_ov04_0210c5cc +.extern func_ov04_0210c764 +.extern func_ov04_0210c800 +.extern func_ov04_0210c88c +.extern func_ov04_0210c8d4 +.extern func_ov04_0210ca84 +.extern func_ov04_0210cb00 +.extern func_ov04_0210cb1c +.extern func_ov04_0210dd90 +.extern func_ov05_02111bc0 +.extern func_ov05_02111c00 +.extern func_ov05_02111c6c +.extern func_ov05_02111c70 +.extern gMapManager +.extern strcmp diff --git a/asm/ov00/Map/MapBase.s b/asm/ov00/Map/MapBase.s new file mode 100644 index 00000000..15a6cca6 --- /dev/null +++ b/asm/ov00/Map/MapBase.s @@ -0,0 +1,4401 @@ + .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 diff --git a/asm/ov00/Map/MapManager.inc b/asm/ov00/Map/MapManager.inc new file mode 100644 index 00000000..744b5b7b --- /dev/null +++ b/asm/ov00/Map/MapManager.inc @@ -0,0 +1,180 @@ +#pragma once +.extern Divide +.extern _ZN12ActorManager13FindActorByIdEj +.extern _ZN12ActorManager18func_ov00_020c3ce8Eii +.extern _ZN14AdventureFlags18func_ov00_020976c8Ev +.extern _ZN6Course13Get_Unk_c8_04Ev +.extern _ZN6Course18GetDungeonProgressEP14CourseProgress +.extern _ZN6Course18func_ov00_0207ca28Eiii +.extern _ZN6Course18func_ov00_0207caa8EiPiPc +.extern _ZN6Course18func_ov00_0207cb30Ei +.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j +.extern _ZN6Course13FindMapCenterEi +.extern _ZN6Course18func_ov00_0207cbe8Ei +.extern _ZN6Course18func_ov00_0207cc24Ei +.extern _ZN6Course18FindMapData_Unk_08Ei +.extern _ZN6Course18func_ov00_0207ce20EiiPci +.extern _ZN6Course18func_ov00_0207d404Eiii +.extern _ZN6Course22IsCurrentMapInMainGridEv +.extern _ZN6Course15IsMapInMainGridEj +.extern _ZN6Course15GetMapScreenPosEiPiS0_ +.extern _ZN6Course21GetScreenMapCellSizeXEv +.extern _ZN6Course21GetScreenMapCellSizeYEv +.extern _ZN6Course13Get_Unk_c8_00Ev +.extern _ZN6Course25FindCurrentMapData_Unk_04Ev +.extern _ZN6Course18FindMapData_Unk_04Ei +.extern _ZN6Course18func_ov00_0207d7bcEv +.extern _ZN6Course8SetFlag0Ejb +.extern _ZN6Course8GetFlag0Ej +.extern _ZN6Course8SetFlag1Ejb +.extern _ZN6Course8SetFlag1Ej +.extern _ZN6Course15SetMapDataFlag0Eib +.extern _ZN6Course15GetMapDataFlag0Ei +.extern _ZN6Course15SetMapDataFlag1Eib +.extern _ZN6Course15GetMapDataFlag1Ei +.extern _ZN6Course15SetMapDataFlag2Eib +.extern _ZN6Course15GetMapDataFlag2Ei +.extern _ZN6Course15SetMapDataFlag3Eib +.extern _ZN6Course15GetMapDataFlag3Ei +.extern _ZN6Course15SetMapDataFlag4Eii +.extern _ZN6Course15GetMapDataFlag4Ei +.extern _ZN9SysObjectnwEmPjj +.extern __register_global_object +.extern data_027e077c +.extern data_027e0c68 +.extern data_027e0ce0 +.extern data_027e0d38 +.extern data_027e0d3c +.extern data_027e0f64 +.extern data_027e0f68 +.extern data_027e0f6c +.extern data_027e0f70 +.extern data_027e0f78 +.extern data_027e0f7c +.extern data_027e0f90 +.extern data_027e0f94 +.extern data_027e0fe4 +.extern data_027e0fe8 +.extern data_027e103c +.extern data_ov00_020e24a4 +.extern data_ov00_020eec68 +.extern data_ov15_02190458 +.extern func_01ff9bc4 +.extern func_01ff9bf8 +.extern func_01ff9cec +.extern func_01ff9d4c +.extern func_01ff9e64 +.extern func_01ff9ec0 +.extern func_01ffbe78 +.extern func_01ffe61c +.extern func_01fffb4c +.extern func_01fffbec +.extern func_0200c8d0 +.extern func_0202b2e8 +.extern func_0202b8e4 +.extern func_ov00_02078b40 +.extern func_ov00_02078bc4 +.extern func_ov00_02078bf0 +.extern func_ov00_02078fe8 +.extern func_ov00_0207920c +.extern func_ov00_020792a0 +.extern func_ov00_02079898 +.extern func_ov00_020798bc +.extern _ZN15MapManager_Unk2D1Ev +.extern _ZN7MapBase18func_ov00_0207de68Ei +.extern _ZN7MapBase18func_ov00_0207de88Ev +.extern _ZN7MapBase18func_ov00_0207e08cEii +.extern _ZN7MapBase18func_ov00_0207e0f0Ei +.extern _ZN7MapBase18func_ov00_0207e28cEi +.extern _ZN7MapBase18func_ov00_0207e968Ev +.extern _ZN7MapBase18func_ov00_0207f38cEi +.extern _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p +.extern _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p +.extern _ZN7MapBase13GetTileStartXEi +.extern _ZN7MapBase13GetTileStartZEi +.extern _ZN7MapBase11GetTileEndXEi +.extern _ZN7MapBase11GetTileEndZEi +.extern _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB +.extern _ZN7MapBase15GetClampedTileXEi +.extern _ZN7MapBase15GetClampedTileYEi +.extern _ZN7MapBase10IsInBoundsEP5Vec3p +.extern _ZN7MapBase11AddEntranceEP8Entrance +.extern _ZN7MapBase12FindEntranceEi +.extern _ZN7MapBase18func_ov00_0207f924Ei +.extern _ZN7MapBase18func_ov00_0207f934Ev +.extern _ZN7MapBase18func_ov00_0207f948Ei +.extern _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB +.extern _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi +.extern _ZN7MapBase21GetOverlappingTriggerEP5Vec3p +.extern _ZN7MapBase11FindTriggerEi +.extern _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p +.extern _ZN7MapBase18AnyTrigger_func_0cEi +.extern _ZN7MapBase10AddTriggerEi +.extern _ZN7MapBase18func_ov00_0207ff88Ei +.extern _ZN7MapBase18func_ov00_0208005cEiii +.extern _ZN7MapBase18func_ov00_0208006cEii +.extern _ZN7MapBase18func_ov00_0208007cEii +.extern _ZN7MapBase18func_ov00_0208008cEj +.extern _ZN7MapBase18func_ov00_02080140EP4Exit +.extern _ZN7MapBase8FindExitEiP4Exit +.extern _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint +.extern _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint +.extern _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi +.extern _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei +.extern _ZN7MapBase18func_ov00_02080824Eii +.extern _ZN7MapBase10AddUnk_130Ei +.extern _ZN7MapBase18func_ov00_020809b8Ei +.extern _ZN7MapBase18func_ov00_02080a78EP5Vec3p +.extern _ZN7MapBase18func_ov00_02080b24EP5Vec2b +.extern _ZN7MapBase18func_ov00_02080d08Ei +.extern _ZN7MapBase22TriggerOfType_vfunc_10Ei +.extern func_ov00_02086cd0 +.extern func_ov00_02088000 +.extern func_ov00_02088130 +.extern func_ov00_02088144 +.extern func_ov00_0208b13c +.extern func_ov00_0208b180 +.extern func_ov00_0208b73c +.extern func_ov00_0208b7d0 +.extern func_ov00_0208b804 +.extern func_ov00_0208cc88 +.extern func_ov00_0208d620 +.extern func_ov00_0208d680 +.extern func_ov00_0208df78 +.extern func_ov00_0208e6b0 +.extern func_ov00_0208e6f0 +.extern func_ov00_0208e704 +.extern func_ov00_0208e87c +.extern func_ov00_0208ed74 +.extern func_ov00_0208ee00 +.extern func_ov00_02093a1c +.extern func_ov00_02096324 +.extern func_ov00_02096418 +.extern func_ov00_0209d6e8 +.extern func_ov00_0209d71c +.extern func_ov00_020a5e9c +.extern func_ov00_020c1500 +.extern func_ov00_020c3348 +.extern func_ov00_020c4048 +.extern func_ov00_020cfcec +.extern func_ov00_020d70a4 +.extern func_ov00_020d72b8 +.extern func_ov00_020d7424 +.extern func_ov04_021024c4 +.extern func_ov04_02102770 +.extern func_ov04_02102b28 +.extern func_ov04_02102e3c +.extern func_ov04_02105578 +.extern func_ov04_02105608 +.extern func_ov04_02106db8 +.extern func_ov12_0212b358 +.extern func_ov15_02128dd8 +.extern func_ov15_02129c14 +.extern func_ov15_02129c24 +.extern func_ov15_02129c34 +.extern func_ov15_02129c44 +.extern func_ov15_021849a4 +.extern func_ov17_0215b4e8 +.extern func_ov18_0215b4a0 +.extern gAdventureFlags +.extern gMapManager diff --git a/asm/ov00/Map/MapManager.s b/asm/ov00/Map/MapManager.s new file mode 100644 index 00000000..fe64cb25 --- /dev/null +++ b/asm/ov00/Map/MapManager.s @@ -0,0 +1,6742 @@ + .include "ov00/Map/MapManager.inc" + .include "macros/function.inc" + + .text + + .global _ZN10MapManager18func_ov00_020820ecEPi + arm_func_start _ZN10MapManager18func_ov00_020820ecEPi +_ZN10MapManager18func_ov00_020820ecEPi: ; 0x020820ec + ldr ip, _020820f8 ; =_ZN6Course18GetDungeonProgressEP14CourseProgress + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020820ecEPi +_020820f8: .word _ZN6Course18GetDungeonProgressEP14CourseProgress + + .global _ZN10MapManager18func_ov00_020820fcEiii + arm_func_start _ZN10MapManager18func_ov00_020820fcEiii +_ZN10MapManager18func_ov00_020820fcEiii: ; 0x020820fc + ldr ip, _02082108 ; =_ZN6Course18func_ov00_0207ca28Eiii + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020820fcEiii +_02082108: .word _ZN6Course18func_ov00_0207ca28Eiii + + .global _ZN10MapManager18func_ov00_0208210cEii + arm_func_start _ZN10MapManager18func_ov00_0208210cEii +_ZN10MapManager18func_ov00_0208210cEii: ; 0x0208210c + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x30 + mov lr, #0 + sub ip, lr, #2 + mov r6, #0x47 + mov r3, #0xff + mov r5, r0 + mov r4, r2 + str r6, [sp, #0x18] + str lr, [sp, #0x1c] + str lr, [sp, #0x20] + str ip, [sp, #0x24] + strh lr, [sp, #0x28] + strb r3, [sp, #0x2a] + strb lr, [sp, #0x2b] + strb lr, [sp, #0x2c] + strb lr, [sp, #0x2d] + cmp r1, #0 + beq _02082170 + mov r0, #0xb + str r0, [r4] + mov r0, #2 + strb r0, [r4, #4] + mov r0, #4 + b _02082190 +_02082170: + add r1, sp, #0x18 + bl _ZN10MapManager18func_ov00_02082348Ei + add r0, sp, #0x18 + bl func_ov00_020a5e9c + str r0, [r4] + ldrb r0, [sp, #0x2a] + strb r0, [r4, #4] + ldrb r0, [sp, #0x2b] +_02082190: + strb r0, [r4, #5] + ldr r0, _02082300 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + add r0, r0, #0x1c + bl func_ov00_020a5e9c + ldr r1, _02082300 ; =data_027e0d38 + str r0, [r4, #8] + ldr r0, [r1] + ldr r0, [r0, #0x28] + ldrb r0, [r0, #0x2e] + strb r0, [r4, #0x10] + ldr r0, [r1] + ldr r0, [r0, #0x28] + ldrsh r0, [r0, #0x36] + strh r0, [r4, #0x14] + ldr r0, [r1] + ldr r2, [r0, #0x28] + ldr r0, [r2, #0x38] + str r0, [r4, #0x18] + ldr r0, [r2, #0x3c] + str r0, [r4, #0x1c] + ldr r0, [r2, #0x40] + str r0, [r4, #0x20] + ldr r0, [r1] + ldr r0, [r0, #0x28] + add r0, r0, #0x44 + bl func_ov00_020a5e9c + str r0, [r4, #0xc] + ldr r1, _02082300 ; =data_027e0d38 + add r0, sp, #0 + ldr r2, [r1] + ldr r2, [r2, #0x28] + ldrb r2, [r2, #0x56] + strb r2, [r4, #0x11] + ldr r2, [r1] + ldr r3, [r2, #0x28] + ldr r2, [r3, #0x5c] + str r2, [r4, #0x24] + ldr r2, [r3, #0x60] + str r2, [r4, #0x28] + ldr r2, [r3, #0x64] + str r2, [r4, #0x2c] + ldr r2, [r1] + ldr r2, [r2, #0x28] + ldrsh r2, [r2, #0x68] + strh r2, [r4, #0x16] + ldr r1, [r1] + ldr r2, [r1, #0x28] + ldr r1, [r2, #0x70] + str r1, [sp] + ldr r1, [r2, #0x74] + str r1, [sp, #4] + ldr r1, [r2, #0x78] + str r1, [sp, #8] + ldr r1, [r2, #0x7c] + str r1, [sp, #0xc] + ldrsh r1, [r2, #0x80] + strh r1, [sp, #0x10] + ldrb r1, [r2, #0x82] + strb r1, [sp, #0x12] + ldrb r1, [r2, #0x83] + strb r1, [sp, #0x13] + ldrb r1, [r2, #0x84] + strb r1, [sp, #0x14] + ldrb r1, [r2, #0x85] + strb r1, [sp, #0x15] + bl func_ov00_020a5e9c + str r0, [r4, #0x1c0] + ldrb r2, [sp, #0x12] + ldr r0, _02082304 ; =data_027e0f70 + mov r1, r4 + strb r2, [r4, #0x1be] + ldrb r2, [sp, #0x13] + strb r2, [r4, #0x1bf] + ldr r0, [r0] + bl func_ov00_02096324 + ldr r0, _02082308 ; =data_027e0f7c + mov r1, r4 + ldr r0, [r0] + bl func_ov00_0209d6e8 + ldr r0, [r5] + ldr r0, [r0, #4] + cmp r0, #3 + addeq sp, sp, #0x30 + ldmeqia sp!, {r4, r5, r6, pc} + ldrb r0, [r5, #8] + strb r0, [r4, #7] + ldrb r0, [r5, #9] + strb r0, [r4, #0x1bc] + add sp, sp, #0x30 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208210cEii +_02082300: .word data_027e0d38 +_02082304: .word data_027e0f70 +_02082308: .word data_027e0f7c + + .global _ZN10MapManager18func_ov00_0208230cEi + arm_func_start _ZN10MapManager18func_ov00_0208230cEi +_ZN10MapManager18func_ov00_0208230cEi: ; 0x0208230c + stmdb sp!, {r3, lr} + ldr r3, [r0] + mov r2, #0xa + ldr r3, [r3] + str r3, [r1] + ldr lr, [r0] + ldrb ip, [lr, #0x1c] + ldrb r3, [lr, #0x1d] + mla r2, ip, r2, lr + add r2, r2, r3 + ldrb r2, [r2, #0x20] + strb r2, [r1, #0x12] + ldrb r0, [r0, #0xc] + strb r0, [r1, #0x13] + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_0208230cEi + + .global _ZN10MapManager18func_ov00_02082348Ei + arm_func_start _ZN10MapManager18func_ov00_02082348Ei +_ZN10MapManager18func_ov00_02082348Ei: ; 0x02082348 + stmdb sp!, {r4, lr} + sub sp, sp, #0x18 + mov ip, #0 + mov r4, r1 + sub r3, ip, #2 + mov lr, #0x47 + mov r2, #0xff + add r1, sp, #0 + str lr, [sp] + str ip, [sp, #4] + str ip, [sp, #8] + str r3, [sp, #0xc] + strh ip, [sp, #0x10] + strb r2, [sp, #0x12] + strb ip, [sp, #0x13] + strb ip, [sp, #0x14] + strb ip, [sp, #0x15] + bl _ZN10MapManager18func_ov00_0208230cEi + add r0, sp, #0 + mov r1, r4 + blx func_ov00_02078bf0 + add sp, sp, #0x18 + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02082348Ei + + .global _ZN10MapManager18func_ov00_020823a4Ei + arm_func_start _ZN10MapManager18func_ov00_020823a4Ei +_ZN10MapManager18func_ov00_020823a4Ei: ; 0x020823a4 + ldr ip, _020823b0 ; =_ZN7MapBase18func_ov00_0207de68Ei + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020823a4Ei +_020823b0: .word _ZN7MapBase18func_ov00_0207de68Ei + + .global _ZN10MapManager18func_ov00_020823b4Ev + arm_func_start _ZN10MapManager18func_ov00_020823b4Ev +_ZN10MapManager18func_ov00_020823b4Ev: ; 0x020823b4 + ldr ip, _020823c0 ; =_ZN7MapBase18func_ov00_0207de88Ev + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020823b4Ev +_020823c0: .word _ZN7MapBase18func_ov00_0207de88Ev + + .global _ZN10MapManager18func_ov00_020823c4EPii + arm_func_start _ZN10MapManager18func_ov00_020823c4EPii +_ZN10MapManager18func_ov00_020823c4EPii: ; 0x020823c4 + ldr ip, _020823d0 ; =_ZN7MapBase18func_ov00_0207e08cEii + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020823c4EPii +_020823d0: .word _ZN7MapBase18func_ov00_0207e08cEii + + .global _ZN10MapManager18func_ov00_020823d4Ei + arm_func_start _ZN10MapManager18func_ov00_020823d4Ei +_ZN10MapManager18func_ov00_020823d4Ei: ; 0x020823d4 + ldr ip, _020823e0 ; =_ZN7MapBase18func_ov00_0207e0f0Ei + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020823d4Ei +_020823e0: .word _ZN7MapBase18func_ov00_0207e0f0Ei + + .global _ZN10MapManager18func_ov00_020823e4Ei + arm_func_start _ZN10MapManager18func_ov00_020823e4Ei +_ZN10MapManager18func_ov00_020823e4Ei: ; 0x020823e4 + ldr ip, _020823f0 ; =_ZN7MapBase18func_ov00_0207e28cEi + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020823e4Ei +_020823f0: .word _ZN7MapBase18func_ov00_0207e28cEi + + .global _ZN10MapManager16MapData_vfunc_b4Ev + arm_func_start _ZN10MapManager16MapData_vfunc_b4Ev +_ZN10MapManager16MapData_vfunc_b4Ev: ; 0x020823f4 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r1, [r0] + ldr r1, [r1, #0xb4] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_b4Ev + + .global _ZN10MapManager16MapData_vfunc_9cEv + arm_func_start _ZN10MapManager16MapData_vfunc_9cEv +_ZN10MapManager16MapData_vfunc_9cEv: ; 0x0208240c + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r1, [r0] + ldr r1, [r1, #0x9c] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_9cEv + + .global _ZN10MapManager18func_ov00_02082424Ev + arm_func_start _ZN10MapManager18func_ov00_02082424Ev +_ZN10MapManager18func_ov00_02082424Ev: ; 0x02082424 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + movne r0, #0 + ldmneia sp!, {r4, pc} + ldr r0, [r4, #4] + bl func_ov15_02129c14 + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02082424Ev + + .global _ZN10MapManager18func_ov00_02082454Eii + arm_func_start _ZN10MapManager18func_ov00_02082454Eii +_ZN10MapManager18func_ov00_02082454Eii: ; 0x02082454 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + ldr r0, [r6, #4] + mov r5, r1 + ldr r1, [r0] + mov r4, r2 + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + movne r0, #0 + ldmneia sp!, {r4, r5, r6, pc} + ldr r0, [r6, #4] + mov r1, r5 + mov r2, r4 + bl func_ov15_02129c24 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02082454Eii + + .global _ZN10MapManager18func_ov00_02082494Ei + arm_func_start _ZN10MapManager18func_ov00_02082494Ei +_ZN10MapManager18func_ov00_02082494Ei: ; 0x02082494 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5, #4] + mov r4, r1 + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r0, [r5, #4] + mov r1, r4 + bl func_ov15_02129c34 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_02082494Ei + + .global _ZN10MapManager18func_ov00_020824ccEi + arm_func_start _ZN10MapManager18func_ov00_020824ccEi +_ZN10MapManager18func_ov00_020824ccEi: ; 0x020824cc + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5, #4] + mov r4, r1 + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r0, [r5, #4] + mov r1, r4 + bl func_ov15_02129c44 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_020824ccEi + + .global _ZN10MapManager18func_ov00_02082504Ev + arm_func_start _ZN10MapManager18func_ov00_02082504Ev +_ZN10MapManager18func_ov00_02082504Ev: ; 0x02082504 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + movne r0, #0 + ldmneia sp!, {r4, pc} + ldr r0, [r4, #4] + add r0, r0, #0x100 + ldrsh r0, [r0, #0xac] + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02082504Ev + + .global _ZN10MapManager18func_ov00_02082538Ev + arm_func_start _ZN10MapManager18func_ov00_02082538Ev +_ZN10MapManager18func_ov00_02082538Ev: ; 0x02082538 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + mov r4, r0 + ldr r0, [r4, #4] + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + ldreq r0, [r4, #4] + addeq sp, sp, #0xc + addeq r0, r0, #0x1a0 + ldmeqia sp!, {r3, r4, pc} + ldr r1, _02082590 ; =data_027e0f94 + add r0, sp, #0 + ldr r3, [r1] + ldr r2, [r1, #4] + str r3, [sp] + str r2, [sp, #4] + ldr r1, [r1, #8] + str r1, [sp, #8] + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082538Ev +_02082590: .word data_027e0f94 + + .global _ZN10MapManager18func_ov00_02082594Ev + arm_func_start _ZN10MapManager18func_ov00_02082594Ev +_ZN10MapManager18func_ov00_02082594Ev: ; 0x02082594 + ldr r0, _020825a4 ; =data_027e0f68 + ldr ip, _020825a8 ; =func_ov00_0208d620 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082594Ev +_020825a4: .word data_027e0f68 +_020825a8: .word func_ov00_0208d620 + + .global _ZN10MapManager18func_ov00_020825acEv + arm_func_start _ZN10MapManager18func_ov00_020825acEv +_ZN10MapManager18func_ov00_020825acEv: ; 0x020825ac + ldr r0, _020825bc ; =data_027e0f68 + ldr ip, _020825c0 ; =func_ov00_0208d680 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020825acEv +_020825bc: .word data_027e0f68 +_020825c0: .word func_ov00_0208d680 + + .global _ZN10MapManager17GetCourseFilePathEPcS0_ + arm_func_start _ZN10MapManager17GetCourseFilePathEPcS0_ +_ZN10MapManager17GetCourseFilePathEPcS0_: ; 0x020825c4 + ldr ip, _020825dc ; =func_0200c8d0 + mov r3, r1 + mov r0, r2 + ldr r1, _020825e0 ; =data_ov00_020e2528 + mov r2, r3 + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager17GetCourseFilePathEPcS0_ +_020825dc: .word func_0200c8d0 +_020825e0: .word data_ov00_020e2528 + + .global _ZN10MapManager18func_ov00_020825e4Eii + arm_func_start _ZN10MapManager18func_ov00_020825e4Eii +_ZN10MapManager18func_ov00_020825e4Eii: ; 0x020825e4 + stmdb sp!, {r3, r4, r5, lr} + ldr r3, _02082610 ; =data_027e0f7c + mov r5, r0 + ldr r0, [r3] + mov r4, r2 + bl func_ov00_0209d71c + mov r1, r0 + mov r0, r5 + mov r2, r4 + bl _ZN10MapManager17GetCourseFilePathEPcS0_ + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020825e4Eii +_02082610: .word data_027e0f7c + + .global _ZN10MapManager18func_ov00_02082614Eii + arm_func_start _ZN10MapManager18func_ov00_02082614Eii +_ZN10MapManager18func_ov00_02082614Eii: ; 0x02082614 + stmdb sp!, {r3, lr} + mov r3, #4 + str r3, [sp] + ldr r0, [r0] + mov r3, r1 + mov r1, r2 + mov r2, #0 + bl _ZN6Course18func_ov00_0207ce20EiiPci + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02082614Eii + + .global _ZN10MapManager16MapData_vfunc_b0Ev + arm_func_start _ZN10MapManager16MapData_vfunc_b0Ev +_ZN10MapManager16MapData_vfunc_b0Ev: ; 0x02082638 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r3, [r0] + ldr r3, [r3, #0xb0] + blx r3 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_b0Ev + + .global _ZN10MapManager18func_ov00_02082650Eiii + arm_func_start _ZN10MapManager18func_ov00_02082650Eiii +_ZN10MapManager18func_ov00_02082650Eiii: ; 0x02082650 + ldr ip, _0208265c ; =_ZN7MapBase18func_ov00_0208005cEiii + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082650Eiii +_0208265c: .word _ZN7MapBase18func_ov00_0208005cEiii + + .global _ZN10MapManager18func_ov00_02082660Eii + arm_func_start _ZN10MapManager18func_ov00_02082660Eii +_ZN10MapManager18func_ov00_02082660Eii: ; 0x02082660 + ldr ip, _0208266c ; =_ZN7MapBase18func_ov00_0208007cEii + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082660Eii +_0208266c: .word _ZN7MapBase18func_ov00_0208007cEii + + .global _ZN10MapManager18func_ov00_02082670Eii + arm_func_start _ZN10MapManager18func_ov00_02082670Eii +_ZN10MapManager18func_ov00_02082670Eii: ; 0x02082670 + ldr ip, _0208267c ; =_ZN7MapBase18func_ov00_0208006cEii + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082670Eii +_0208267c: .word _ZN7MapBase18func_ov00_0208006cEii + + .global _ZN10MapManager18func_ov00_02082680Eii + arm_func_start _ZN10MapManager18func_ov00_02082680Eii +_ZN10MapManager18func_ov00_02082680Eii: ; 0x02082680 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + mov r3, r2 + ldr ip, [r0] + mov r2, #5 + ldr ip, [ip, #0x98] + blx ip + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02082680Eii + + .global _ZN10MapManager18func_ov00_020826a0Eiii + arm_func_start _ZN10MapManager18func_ov00_020826a0Eiii +_ZN10MapManager18func_ov00_020826a0Eiii: ; 0x020826a0 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + mov r3, r2 + ldr ip, [r0] + mov r2, #7 + ldr ip, [ip, #0x98] + blx ip + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_020826a0Eiii + + .global _ZN10MapManager9CreateMapEiii + arm_func_start _ZN10MapManager9CreateMapEiii +_ZN10MapManager9CreateMapEiii: ; 0x020826c0 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + ldr r0, [r6, #4] + mov r5, r2 + mov r4, r3 + cmp r0, #0 + ldmneia sp!, {r4, r5, r6, pc} + cmp r1, #4 + addls pc, pc, r1, lsl #2 + b _0208278c +_020826e8: ; jump table + b _0208275c ; case 0 + b _0208278c ; case 1 + b _0208272c ; case 2 + b _0208278c ; case 3 + b _020826fc ; case 4 +_020826fc: + ldr r1, _020827bc ; =data_027e0ce0 + mov r0, #0x790 + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _02082724 + mov r1, r5 + mov r2, r4 + bl func_ov12_0212b358 +_02082724: + str r0, [r6, #4] + ldmia sp!, {r4, r5, r6, pc} +_0208272c: + ldr r1, _020827bc ; =data_027e0ce0 + mov r0, #0x1b0 + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _02082754 + mov r1, r5 + mov r2, r4 + bl func_ov15_02128dd8 +_02082754: + str r0, [r6, #4] + ldmia sp!, {r4, r5, r6, pc} +_0208275c: + ldr r1, _020827bc ; =data_027e0ce0 + mov r0, #0x1dc + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _02082784 + mov r1, r5 + mov r2, r4 + bl func_ov18_0215b4a0 +_02082784: + str r0, [r6, #4] + ldmia sp!, {r4, r5, r6, pc} +_0208278c: + ldr r1, _020827bc ; =data_027e0ce0 + mov r0, #0x790 + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _020827b4 + mov r1, r5 + mov r2, r4 + blx func_ov17_0215b4e8 +_020827b4: + str r0, [r6, #4] + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager9CreateMapEiii +_020827bc: .word data_027e0ce0 + + .global _ZN10MapManager10DestroyMapEv + arm_func_start _ZN10MapManager10DestroyMapEv +_ZN10MapManager10DestroyMapEv: ; 0x020827c0 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + cmp r0, #0 + ldmeqia sp!, {r4, pc} + beq _020827e4 + ldr r1, [r0] + ldr r1, [r1, #4] + blx r1 +_020827e4: + mov r0, #0 + str r0, [r4, #4] + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager10DestroyMapEv + + .global _ZN10MapManager16MapData_vfunc_44Ev + arm_func_start _ZN10MapManager16MapData_vfunc_44Ev +_ZN10MapManager16MapData_vfunc_44Ev: ; 0x020827f0 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r1, [r0] + ldr r1, [r1, #0x44] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_44Ev + + .global _ZN10MapManager18func_ov00_02082808Ev + arm_func_start _ZN10MapManager18func_ov00_02082808Ev +_ZN10MapManager18func_ov00_02082808Ev: ; 0x02082808 + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _020828b4 ; =data_027e0d38 + mov r5, r1 + ldr r1, [r2] + ldr r1, [r1, #0x14] + cmp r1, #1 + ldmeqia sp!, {r3, r4, r5, pc} + bl _ZN10MapManager18func_ov00_02084740Ev + mov r4, r0 + cmp r5, #0 + beq _0208286c + ldr r0, _020828b4 ; =data_027e0d38 + ldr r0, [r0] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0 + bne _02082854 + ldr r0, _020828b8 ; =data_ov15_02190458 + bl func_ov15_021849a4 +_02082854: + ldr r0, _020828bc ; =data_ov00_020eec68 + mov r1, r4 + mov r2, #0 + mov r3, #0x7f + bl func_ov00_020d70a4 + b _02082890 +_0208286c: + ldr r0, _020828bc ; =data_ov00_020eec68 + bl func_ov00_020d7424 + cmp r4, r0 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r0, _020828bc ; =data_ov00_020eec68 + mov r1, r4 + mov r2, #0 + mov r3, #0x7f + bl func_ov00_020d70a4 +_02082890: + ldr r0, _020828b4 ; =data_027e0d38 + ldr r0, [r0] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r0, _020828bc ; =data_ov00_020eec68 + bl func_ov00_020d72b8 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082808Ev +_020828b4: .word data_027e0d38 +_020828b8: .word data_ov15_02190458 +_020828bc: .word data_ov00_020eec68 + + .global _ZN10MapManager16MapData_vfunc_7cEv + arm_func_start _ZN10MapManager16MapData_vfunc_7cEv +_ZN10MapManager16MapData_vfunc_7cEv: ; 0x020828c0 + stmdb sp!, {r3, lr} + ldr ip, [sp, #8] + str ip, [sp] + ldr r0, [r0, #4] + ldr ip, [r0] + ldr ip, [ip, #0x7c] + blx ip + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_7cEv + + .global _ZN10MapManager16MapData_vfunc_84Ev + arm_func_start _ZN10MapManager16MapData_vfunc_84Ev +_ZN10MapManager16MapData_vfunc_84Ev: ; 0x020828e0 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0x84] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_84Ev + + .global _ZN10MapManager18func_ov00_020828f8EPi + arm_func_start _ZN10MapManager18func_ov00_020828f8EPi +_ZN10MapManager18func_ov00_020828f8EPi: ; 0x020828f8 + ldr ip, _02082904 ; =_ZN7MapBase18func_ov00_0207f38cEi + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020828f8EPi +_02082904: .word _ZN7MapBase18func_ov00_0207f38cEi + + .global _ZN10MapManager20GetCourseData_Unk_b0Ev + arm_func_start _ZN10MapManager20GetCourseData_Unk_b0Ev +_ZN10MapManager20GetCourseData_Unk_b0Ev: ; 0x02082908 + ldr r0, [r0] + ldrb r0, [r0, #0xb0] + bx lr + arm_func_end _ZN10MapManager20GetCourseData_Unk_b0Ev + + .global _ZN10MapManager18func_ov00_02082914Ei + arm_func_start _ZN10MapManager18func_ov00_02082914Ei +_ZN10MapManager18func_ov00_02082914Ei: ; 0x02082914 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x34 + mov r8, r1 + sub r1, r8, #0xfa + mov r9, r0 + cmp r1, #4 + addls pc, pc, r1, lsl #2 + b _02082ac0 +_02082934: ; jump table + b _02082948 ; case 0 + b _02082990 ; case 1 + b _02082990 ; case 2 + b _02082990 ; case 3 + b _02082990 ; case 4 +_02082948: + ldr r0, _02082ac8 ; =data_027e0d38 + add r3, sp, #0x20 + ldr r0, [r0] + ldr r0, [r0, #0x28] + add r4, r0, #0x5c + ldmia r4, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldrsh r0, [r4, #0xc] + mov r1, r3 + strh r0, [sp, #0x2c] + ldrb r0, [r4, #0xe] + strb r0, [sp, #0x2e] + ldr r0, [r4, #0x10] + str r0, [sp, #0x30] + ldr r0, [r9, #4] + bl _ZN7MapBase11AddEntranceEP8Entrance + add sp, sp, #0x34 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02082990: + ldr r0, _02082ac8 ; =data_027e0d38 + mov r1, #0xff + mov r4, #0 + ldr r0, [r0] + strb r1, [sp, #0x1a] + str r4, [sp, #0x1c] + ldr r1, [r0, #0x28] + ldr r0, [r9] + ldr r3, [r1, #0x38] + ldr r2, [r1, #0x3c] + ldr r1, [r1, #0x40] + ldr r0, [r0, #4] + mov r5, #0x2000 + mov r6, r5 + str r3, [sp] + str r2, [sp, #4] + str r1, [sp, #8] + cmp r0, #2 + mov r7, #0xfd + bne _02082a0c + ldr r0, [r9, #4] + ldr r1, [r0] + ldr r1, [r1, #0x88] + blx r1 + add r5, r0, #0xa000 + ldr r0, [r9, #4] + ldr r1, [r0] + ldr r1, [r1, #0x8c] + blx r1 + add r6, r0, #0xa000 + mov r7, #0xfe +_02082a0c: + sub r0, r8, #0xfb + cmp r0, #3 + addls pc, pc, r0, lsl #2 + b _02082a90 +_02082a1c: ; jump table + b _02082a2c ; case 0 + b _02082a48 ; case 1 + b _02082a60 ; case 2 + b _02082a7c ; case 3 +_02082a2c: + mov r0, r9 + bl _ZN10MapManager18func_ov00_020833e8Ev + sub r0, r0, r6 + mov r4, #0x8000 + str r0, [sp, #8] + rsb r4, r4, #0 + b _02082a90 +_02082a48: + mov r0, r9 + bl _ZN10MapManager18func_ov00_020833d0Ev + add r0, r6, r0 + str r0, [sp, #8] + mov r4, #0 + b _02082a90 +_02082a60: + mov r0, r9 + bl _ZN10MapManager18func_ov00_020833dcEv + sub r0, r0, r5 + mov r4, #0x4000 + str r0, [sp] + rsb r4, r4, #0 + b _02082a90 +_02082a7c: + mov r0, r9 + bl _ZN10MapManager18func_ov00_020833c4Ev + add r0, r5, r0 + str r0, [sp] + mov r4, #0x4000 +_02082a90: + ldr r2, [sp] + ldr r1, [sp, #4] + ldr r0, [sp, #8] + str r1, [sp, #0x10] + strb r8, [sp, #0x1a] + str r2, [sp, #0xc] + strh r4, [sp, #0x18] + str r7, [sp, #0x1c] + str r0, [sp, #0x14] + ldr r0, [r9, #4] + add r1, sp, #0xc + bl _ZN7MapBase11AddEntranceEP8Entrance +_02082ac0: + add sp, sp, #0x34 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082914Ei +_02082ac8: .word data_027e0d38 + + .global _ZN10MapManager18func_ov00_02082accEv + arm_func_start _ZN10MapManager18func_ov00_02082accEv +_ZN10MapManager18func_ov00_02082accEv: ; 0x02082acc + ldr ip, _02082ad8 ; =_ZN6Course18func_ov00_0207d7bcEv + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082accEv +_02082ad8: .word _ZN6Course18func_ov00_0207d7bcEv + + .global _ZN10MapManager18func_ov00_02082adcEv + arm_func_start _ZN10MapManager18func_ov00_02082adcEv +_ZN10MapManager18func_ov00_02082adcEv: ; 0x02082adc + ldr r0, _02082aec ; =data_027e0f70 + ldr ip, _02082af0 ; =func_ov00_02096418 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082adcEv +_02082aec: .word data_027e0f70 +_02082af0: .word func_ov00_02096418 + + .global _ZN10MapManager18func_ov00_02082af4Ev + arm_func_start _ZN10MapManager18func_ov00_02082af4Ev +_ZN10MapManager18func_ov00_02082af4Ev: ; 0x02082af4 + stmdb sp!, {r4, lr} + ldr r1, _02082b38 ; =data_027e0f68 + mov r4, r0 + ldr r0, [r1] + bl func_ov00_0208cc88 + ldr r0, [r4, #4] + ldr r1, [r0] + ldr r1, [r1, #0x48] + blx r1 + mov r0, r4 + mov r1, #0 + bl _ZN10MapManager18func_ov00_02082808Ev + mov r0, #1 + strb r0, [r4, #0xa] + mov r0, #0 + strb r0, [r4, #0xb] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082af4Ev +_02082b38: .word data_027e0f68 + + .global _ZN10MapManager18func_ov00_02082b3cEi + arm_func_start _ZN10MapManager18func_ov00_02082b3cEi +_ZN10MapManager18func_ov00_02082b3cEi: ; 0x02082b3c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r5, r1 + mov r6, r0 + ldrb r2, [r5, #0x12] + ldr r1, [r6] + add r0, sp, #0 + bl _ZN6Course14FindMapGridPosEP5Vec2bPS_j + mov r0, r6 + bl _ZN10MapManager20GetCourseData_Unk_1cEv + ldrb r1, [sp] + cmp r1, r0 + bne _02082bac + mov r0, r6 + bl _ZN10MapManager20GetCourseData_Unk_1dEv + ldrb r1, [sp, #1] + cmp r1, r0 + bne _02082bac + ldr r0, [r5, #8] + cmp r0, #1 + bne _02082ba0 + ldr r0, _02082ce0 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x14] + cmp r0, #1 + beq _02082bac +_02082ba0: + ldrb r0, [r5, #0x15] + cmp r0, #0 + beq _02082c90 +_02082bac: + ldr r0, _02082ce4 ; =gAdventureFlags + ldr r0, [r0] + bl _ZN14AdventureFlags18func_ov00_020976c8Ev + ldr r0, _02082ce8 ; =data_027e0f64 + ldr r0, [r0] + bl func_ov00_0208b13c + ldr r1, _02082cec ; =data_027e0fe4 + mov r0, r6 + ldr r4, [r1] + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r3, r0 + ldrb r1, [sp] + ldrb r2, [sp, #1] + mov r0, r4 + blx func_ov04_02105608 + ldr r0, [r6, #4] + ldr r1, [r0] + ldr r1, [r1, #0x2c] + blx r1 + ldr r0, _02082cf0 ; =data_027e0f68 + ldr r0, [r0] + blx func_ov04_02102b28 + ldr r0, _02082cf4 ; =data_027e0f6c + ldr r0, [r0] + blx func_ov04_02102770 + ldr r0, _02082cf8 ; =data_027e0f78 + ldr r0, [r0] + blx func_ov04_02102e3c + ldrb r7, [r5, #0x12] + ldr r0, [r6] + mov r4, #0 + bl _ZN6Course25FindCurrentMapData_Unk_04Ev + mov r1, r7 + mov r7, r0 + ldr r0, [r6] + bl _ZN6Course18FindMapData_Unk_04Ei + cmp r7, r0 + ldrb r2, [sp] + ldr r1, [r6] + movne r4, #1 + strb r2, [r1, #0x1c] + mov r0, r6 + ldrb ip, [sp, #1] + ldr r6, [r6] + mov r1, r5 + mov r2, r4 + mov r3, #0 + strb ip, [r6, #0x1d] + blx func_ov04_021024c4 + ldr r0, _02082cec ; =data_027e0fe4 + ldrb r1, [r5, #0x12] + ldr r0, [r0] + blx func_ov04_02105578 + ldr r0, _02082cfc ; =data_027e103c + ldr r0, [r0] + bl func_ov00_020cfcec + b _02082cd8 +_02082c90: + ldr r0, _02082ce4 ; =gAdventureFlags + ldr r0, [r0] + bl _ZN14AdventureFlags18func_ov00_020976c8Ev + ldrb r1, [r5, #0x13] + ldr r0, _02082d00 ; =data_027e0f90 + mov r2, #0 + strb r1, [r6, #0xc] + ldr r0, [r0] + ldrb r1, [r5, #0x13] + ldr r3, [r0] + ldr r3, [r3, #0x38] + blx r3 + ldr r0, _02082d04 ; =data_027e0c68 + blx func_ov04_02106db8 + ldr r0, [r6, #4] + ldr r1, [r0] + ldr r1, [r1, #0x18] + blx r1 +_02082cd8: + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082b3cEi +_02082ce0: .word data_027e0d38 +_02082ce4: .word gAdventureFlags +_02082ce8: .word data_027e0f64 +_02082cec: .word data_027e0fe4 +_02082cf0: .word data_027e0f68 +_02082cf4: .word data_027e0f6c +_02082cf8: .word data_027e0f78 +_02082cfc: .word data_027e103c +_02082d00: .word data_027e0f90 +_02082d04: .word data_027e0c68 + + .global _ZN10MapManager18func_ov00_02082d08Ev + arm_func_start _ZN10MapManager18func_ov00_02082d08Ev +_ZN10MapManager18func_ov00_02082d08Ev: ; 0x02082d08 + ldr r3, [r0] + mov r0, #0xa + ldrb r2, [r3, #0x1c] + ldrb r1, [r3, #0x1d] + mla r0, r2, r0, r3 + add r0, r0, r1 + ldrb r0, [r0, #0x20] + bx lr + arm_func_end _ZN10MapManager18func_ov00_02082d08Ev + + .global _ZN10MapManager20GetCourseData_Unk_1cEv + arm_func_start _ZN10MapManager20GetCourseData_Unk_1cEv +_ZN10MapManager20GetCourseData_Unk_1cEv: ; 0x02082d28 + ldr r0, [r0] + ldrb r0, [r0, #0x1c] + bx lr + arm_func_end _ZN10MapManager20GetCourseData_Unk_1cEv + + .global _ZN10MapManager20GetCourseData_Unk_1dEv + arm_func_start _ZN10MapManager20GetCourseData_Unk_1dEv +_ZN10MapManager20GetCourseData_Unk_1dEv: ; 0x02082d34 + ldr r0, [r0] + ldrb r0, [r0, #0x1d] + bx lr + arm_func_end _ZN10MapManager20GetCourseData_Unk_1dEv + + .global _ZN10MapManager18func_ov00_02082d40Ev + arm_func_start _ZN10MapManager18func_ov00_02082d40Ev +_ZN10MapManager18func_ov00_02082d40Ev: ; 0x02082d40 + ldr r3, [r0] + ldr r0, [r3, #4] + cmp r0, #2 + bne _02082d6c + ldrb r2, [r3, #0x1c] + mov r0, #0xa + ldrb r1, [r3, #0x1d] + mla r0, r2, r0, r3 + add r0, r0, r1 + ldrb r0, [r0, #0x20] + bx lr +_02082d6c: + ldrb r0, [r3, #0xb1] + bx lr + arm_func_end _ZN10MapManager18func_ov00_02082d40Ev + + .global _ZN10MapManager18func_ov00_02082d74Ei + arm_func_start _ZN10MapManager18func_ov00_02082d74Ei +_ZN10MapManager18func_ov00_02082d74Ei: ; 0x02082d74 + ldr ip, _02082d80 ; =func_ov00_02078bc4 + mov r0, r1 + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082d74Ei +_02082d80: .word func_ov00_02078bc4 + + .global _ZN10MapManager18func_ov00_02082d84Ev + arm_func_start _ZN10MapManager18func_ov00_02082d84Ev +_ZN10MapManager18func_ov00_02082d84Ev: ; 0x02082d84 + stmdb sp!, {r4, r5, r6, r7, r8, lr} + mov r8, r0 + mov r7, r1 + mov r6, r2 + mov r5, r3 + bl _ZN10MapManager17Get_MapData_Unk28Ev + mov r1, r0, lsl #0xc + mov r0, #0x100000 + bl Divide + mov r4, r0 + mov r0, r8 + bl _ZN10MapManager17Get_MapData_Unk2aEv + mov r1, r0, lsl #0xc + mov r0, #0xc0000 + bl Divide + ldrb r1, [r7] + mov r1, r1, lsl #0xc + smull r3, r2, r1, r4 + adds r3, r3, #0x800 + adc r1, r2, #0 + mov r2, r3, lsr #0xc + orr r2, r2, r1, lsl #20 + add r1, r2, r4, asr #1 + add r1, r1, #0x800 + mov r1, r1, asr #0xc + str r1, [r6] + ldrb r1, [r7, #1] + mov r1, r1, lsl #0xc + smull r3, r2, r1, r0 + adds r3, r3, #0x800 + adc r1, r2, #0 + mov r2, r3, lsr #0xc + orr r2, r2, r1, lsl #20 + add r0, r2, r0, asr #1 + add r0, r0, #0x800 + mov r0, r0, asr #0xc + str r0, [r5] + ldmia sp!, {r4, r5, r6, r7, r8, pc} + arm_func_end _ZN10MapManager18func_ov00_02082d84Ev + + .global _ZN10MapManager18func_ov00_02082e1cEPiS0_ + arm_func_start _ZN10MapManager18func_ov00_02082e1cEPiS0_ +_ZN10MapManager18func_ov00_02082e1cEPiS0_: ; 0x02082e1c + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x34 + mov r8, r0 + ldr r0, [r8] + mov r7, r1 + ldrb r1, [r0, #0x25c] + mov r6, r2 + cmp r1, #0 + beq _02083050 + bl _ZN6Course22IsCurrentMapInMainGridEv + cmp r0, #0 + bne _02083038 + mvn r1, #0xff + ldr r0, _02083068 ; =data_027e0d38 + str r1, [sp, #0xc] + str r1, [sp, #8] + ldr r1, [r8, #4] + ldr r0, [r0] + ldrb r4, [r1, #0x1a] + bl func_ov00_02078b40 + cmp r0, #0 + bne _02082e88 + ldr r0, _02083068 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + ldrb r5, [r0, #0x9a] + b _02082e98 +_02082e88: + ldr r0, _02083068 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + ldrb r5, [r0, #0x2e] +_02082e98: + cmp r5, #0xff + bne _02082ebc + ldr r3, [r8] + mov r0, #0xa + ldrb r2, [r3, #0x1e] + ldrb r1, [r3, #0x1f] + mla r0, r2, r0, r3 + add r0, r0, r1 + ldrb r5, [r0, #0x20] +_02082ebc: + ldr r0, _02083068 ; =data_027e0d38 + ldr r0, [r0] + bl func_ov00_02078b40 + cmp r0, #0 + bne _02082ef8 + ldr r0, _02083068 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + ldr r2, [r0, #0xa4] + ldr r1, [r0, #0xa8] + ldr r0, [r0, #0xa0] + str r0, [sp, #0x28] + str r2, [sp, #0x2c] + str r1, [sp, #0x30] + b _02082f1c +_02082ef8: + ldr r0, _02083068 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + ldr r2, [r0, #0x3c] + ldr r1, [r0, #0x40] + ldr r0, [r0, #0x38] + str r0, [sp, #0x28] + str r2, [sp, #0x2c] + str r1, [sp, #0x30] +_02082f1c: + ldr r0, [r8] + add r2, sp, #0xc + add r3, sp, #8 + mov r1, r4 + bl _ZN6Course15GetMapScreenPosEiPiS0_ + cmp r0, #0 + ldr r0, [r8] + bne _02082fc0 + add r2, sp, #0xc + add r3, sp, #8 + mov r1, r5 + bl _ZN6Course15GetMapScreenPosEiPiS0_ + ldr r1, [r8] + add r0, sp, #6 + mov r2, r5 + bl _ZN6Course14FindMapGridPosEP5Vec2bPS_j + ldrb r1, [sp, #7] + add r0, sp, #4 + add r2, sp, #0x28 + str r1, [sp] + ldrb r3, [sp, #6] + mov r1, r8 + bl _ZN10MapManager18func_ov00_02083a54EiPS_iii + ldr r0, [r8] + bl _ZN6Course21GetScreenMapCellSizeXEv + ldrb r1, [sp, #4] + ldr r3, [sp, #0xc] + mov r1, r1, lsl #0xc + smull r2, r0, r1, r0 + adds r1, r2, #0x800 + adc r0, r0, #0 + mov r1, r1, lsr #0xc + orr r1, r1, r0, lsl #20 + add r0, r1, #0x800 + add r0, r3, r0, asr #12 + str r0, [r7] + ldr r0, [r8] + bl _ZN6Course21GetScreenMapCellSizeYEv + ldrb r1, [sp, #5] + ldr r3, [sp, #8] + b _02083008 +_02082fc0: + bl _ZN6Course21GetScreenMapCellSizeXEv + ldr r2, [r8, #4] + ldr r1, [sp, #0xc] + ldrb r2, [r2, #0x1b] + mov r2, r2, lsl #0xc + smull r3, r0, r2, r0 + adds r2, r3, #0x800 + adc r0, r0, #0 + mov r2, r2, lsr #0xc + orr r2, r2, r0, lsl #20 + add r0, r2, #0x800 + add r0, r1, r0, asr #12 + str r0, [r7] + ldr r0, [r8] + bl _ZN6Course21GetScreenMapCellSizeYEv + ldr r1, [r8, #4] + ldr r3, [sp, #8] + ldrb r1, [r1, #0x1c] +_02083008: + mov r1, r1, lsl #0xc + smull r2, r0, r1, r0 + adds r1, r2, #0x800 + adc r0, r0, #0 + mov r1, r1, lsr #0xc + orr r1, r1, r0, lsl #20 + add r0, r1, #0x800 + add r0, r3, r0, asr #12 + str r0, [r6] + add sp, sp, #0x34 + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} +_02083038: + mov r0, #0x80 + str r0, [r7] + str r0, [r6] + add sp, sp, #0x34 + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} +_02083050: + mov r0, #0xc0 + str r0, [r7] + str r0, [r6] + mov r0, #0 + add sp, sp, #0x34 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082e1cEPiS0_ +_02083068: .word data_027e0d38 + + .global _ZN10MapManager18func_ov00_0208306cEv + arm_func_start _ZN10MapManager18func_ov00_0208306cEv +_ZN10MapManager18func_ov00_0208306cEv: ; 0x0208306c + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x20 + mov r6, r0 + ldr lr, [r6] + mvn r3, #2 + ldr ip, [lr, #8] + mov r5, r1 + cmp ip, r3 + addne r0, r3, #1 + mov r4, r2 + cmpne ip, r0 + beq _020830f0 + add r0, r3, #2 + cmp ip, r0 + bne _02083138 + ldr r1, _02083154 ; =data_027e0f94 + add r0, sp, #4 + ldr r2, [r1, #4] + ldr r3, [r1] + str r2, [sp, #0x18] + str r3, [sp, #0x14] + ldr r3, [r1, #8] + add r2, sp, #0x14 + mov r1, r6 + str r3, [sp, #0x1c] + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r1, sp, #4 + mov r0, r6 + mov r2, r5 + mov r3, r4 + bl _ZN10MapManager18func_ov00_02082d84Ev + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} +_020830f0: + ldr r0, _02083158 ; =data_027e0d38 + add r2, sp, #8 + ldr ip, [r0] + mov r0, r6 + ldr r6, [ip, #0x28] + mov r3, r5 + ldr r1, [r6, #0x5c] + str r1, [sp, #8] + ldr r1, [r6, #0x60] + str r1, [sp, #0xc] + ldr r1, [r6, #0x64] + str r1, [sp, #0x10] + str r4, [sp] + ldr r1, [ip, #0x28] + ldrb r1, [r1, #0x56] + bl _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} +_02083138: + ldr r0, [lr, #0xb4] + str r0, [r5] + ldr r0, [r6] + ldr r0, [r0, #0xb8] + str r0, [r4] + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208306cEv +_02083154: .word data_027e0f94 +_02083158: .word data_027e0d38 + + .global _ZN10MapManager18func_ov00_0208315cEPiS0_ + arm_func_start _ZN10MapManager18func_ov00_0208315cEPiS0_ +_ZN10MapManager18func_ov00_0208315cEPiS0_: ; 0x0208315c + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x1c + mov r6, r0 + ldr lr, [r6] + mvn r3, #2 + ldr ip, [lr, #8] + mov r5, r1 + cmp ip, r3 + addne r1, r3, #1 + mov r4, r2 + cmpne ip, r1 + beq _020831d8 + add r1, r3, #2 + cmp ip, r1 + bne _02083220 + ldr r1, _0208323c ; =data_027e0f94 + ldr r3, [r1] + ldr r2, [r1, #4] + str r3, [sp, #0x10] + str r2, [sp, #0x14] + ldr r1, [r1, #8] + str r1, [sp, #0x18] + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r1, r0 + add r2, sp, #0x10 + mov r0, r6 + mov r3, r5 + str r4, [sp] + bl _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} +_020831d8: + ldr r0, _02083240 ; =data_027e0d38 + add r2, sp, #4 + ldr ip, [r0] + mov r0, r6 + ldr r6, [ip, #0x28] + mov r3, r5 + ldr r1, [r6, #0x5c] + str r1, [sp, #4] + ldr r1, [r6, #0x60] + str r1, [sp, #8] + ldr r1, [r6, #0x64] + str r1, [sp, #0xc] + str r4, [sp] + ldr r1, [ip, #0x28] + ldrb r1, [r1, #0x56] + bl _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} +_02083220: + ldr r0, [lr, #0xbc] + str r0, [r5] + ldr r0, [r6] + ldr r0, [r0, #0xc0] + str r0, [r4] + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208315cEPiS0_ +_0208323c: .word data_027e0f94 +_02083240: .word data_027e0d38 + + .global _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ + arm_func_start _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ +_ZN10MapManager18func_ov00_02083244EjPiS0_S0_: ; 0x02083244 + stmdb sp!, {r3, lr} + ldr r0, _02083290 ; =data_ov00_020e24e8 + cmp r1, #4 + movhs r1, #0 + ldr ip, [r0, r1, lsl #3] + ldr lr, [r2] + ldr r0, _02083294 ; =data_ov00_020e24ec + sub ip, lr, ip + add ip, ip, #0x800 + mov ip, ip, asr #0xc + str ip, [r3] + ldr r1, [r0, r1, lsl #3] + ldr r2, [r2, #8] + ldr r0, [sp, #8] + sub r1, r2, r1 + add r1, r1, #0x800 + mov r1, r1, asr #0xc + str r1, [r0] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ +_02083290: .word data_ov00_020e24e8 +_02083294: .word data_ov00_020e24ec + + .global _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ + arm_func_start _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ +_ZN10MapManager18func_ov00_02083298EjPiS0_S0_: ; 0x02083298 + stmdb sp!, {r3, lr} + ldr r0, _020832fc ; =data_ov00_020e24e8 + cmp r1, #4 + movhs r1, #0 + ldr lr, _02083300 ; =data_ov00_020e24c8 + ldr ip, [r2] + ldr r0, [r0, r1, lsl #3] + ldr lr, [lr, r1, lsl #3] + sub r0, ip, r0 + mov r0, r0, asr #0x1 + add r0, r0, #0x800 + add r0, lr, r0, asr #12 + str r0, [r3] + ldr r0, _02083304 ; =data_ov00_020e24ec + ldr r3, _02083308 ; =data_ov00_020e24cc + ldr r2, [r2, #8] + ldr r0, [r0, r1, lsl #3] + ldr r3, [r3, r1, lsl #3] + sub r0, r2, r0 + mov r0, r0, asr #0x1 + add r1, r0, #0x800 + ldr r0, [sp, #8] + add r1, r3, r1, asr #12 + str r1, [r0] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ +_020832fc: .word data_ov00_020e24e8 +_02083300: .word data_ov00_020e24c8 +_02083304: .word data_ov00_020e24ec +_02083308: .word data_ov00_020e24cc + + .global _ZN10MapManager21GetCourseData_Unk_25cEv + arm_func_start _ZN10MapManager21GetCourseData_Unk_25cEv +_ZN10MapManager21GetCourseData_Unk_25cEv: ; 0x0208330c + ldr r0, [r0] + ldrb r0, [r0, #0x25c] + bx lr + arm_func_end _ZN10MapManager21GetCourseData_Unk_25cEv + + .global _ZN10MapManager18func_ov00_02083318Ei + arm_func_start _ZN10MapManager18func_ov00_02083318Ei +_ZN10MapManager18func_ov00_02083318Ei: ; 0x02083318 + ldr ip, _02083324 ; =_ZN6Course15IsMapInMainGridEj + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083318Ei +_02083324: .word _ZN6Course15IsMapInMainGridEj + + .global _ZN10MapManager18func_ov00_02083328Ev + arm_func_start _ZN10MapManager18func_ov00_02083328Ev +_ZN10MapManager18func_ov00_02083328Ev: ; 0x02083328 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r1, r0 + ldr r0, [r4] + bl _ZN6Course15IsMapInMainGridEj + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083328Ev + + .global _ZN10MapManager20GetCourseData_Unk_86Ev + arm_func_start _ZN10MapManager20GetCourseData_Unk_86Ev +_ZN10MapManager20GetCourseData_Unk_86Ev: ; 0x02083344 + ldr r0, [r0] + ldrb r0, [r0, #0x86] + bx lr + arm_func_end _ZN10MapManager20GetCourseData_Unk_86Ev + + .global _ZN10MapManager20GetCourseData_Unk_87Ev + arm_func_start _ZN10MapManager20GetCourseData_Unk_87Ev +_ZN10MapManager20GetCourseData_Unk_87Ev: ; 0x02083350 + ldr r0, [r0] + ldrb r0, [r0, #0x87] + bx lr + arm_func_end _ZN10MapManager20GetCourseData_Unk_87Ev + + .global _ZN10MapManager17Get_MapData_Unk28Ev + arm_func_start _ZN10MapManager17Get_MapData_Unk28Ev +_ZN10MapManager17Get_MapData_Unk28Ev: ; 0x0208335c + ldr r0, [r0, #4] + ldrh r0, [r0, #0x28] + bx lr + arm_func_end _ZN10MapManager17Get_MapData_Unk28Ev + + .global _ZN10MapManager17Get_MapData_Unk2aEv + arm_func_start _ZN10MapManager17Get_MapData_Unk2aEv +_ZN10MapManager17Get_MapData_Unk2aEv: ; 0x02083368 + ldr r0, [r0, #4] + ldrh r0, [r0, #0x2a] + bx lr + arm_func_end _ZN10MapManager17Get_MapData_Unk2aEv + + .global _ZN10MapManager18func_ov00_02083374Ev + arm_func_start _ZN10MapManager18func_ov00_02083374Ev +_ZN10MapManager18func_ov00_02083374Ev: ; 0x02083374 + stmdb sp!, {r3, lr} + bl _ZN10MapManager17Get_MapData_Unk28Ev + mov r0, r0, lsl #0xc + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02083374Ev + + .global _ZN10MapManager18func_ov00_02083384Ev + arm_func_start _ZN10MapManager18func_ov00_02083384Ev +_ZN10MapManager18func_ov00_02083384Ev: ; 0x02083384 + stmdb sp!, {r3, lr} + bl _ZN10MapManager17Get_MapData_Unk2aEv + mov r0, r0, lsl #0xc + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02083384Ev + + .global _ZN10MapManager13GetCourseMinXEv + arm_func_start _ZN10MapManager13GetCourseMinXEv +_ZN10MapManager13GetCourseMinXEv: ; 0x02083394 + ldr r0, [r0] + ldr r0, [r0, #0x98] + bx lr + arm_func_end _ZN10MapManager13GetCourseMinXEv + + .global _ZN10MapManager13GetCourseMinZEv + arm_func_start _ZN10MapManager13GetCourseMinZEv +_ZN10MapManager13GetCourseMinZEv: ; 0x020833a0 + ldr r0, [r0] + ldr r0, [r0, #0xa0] + bx lr + arm_func_end _ZN10MapManager13GetCourseMinZEv + + .global _ZN10MapManager13GetCourseMaxXEv + arm_func_start _ZN10MapManager13GetCourseMaxXEv +_ZN10MapManager13GetCourseMaxXEv: ; 0x020833ac + ldr r0, [r0] + ldr r0, [r0, #0xa4] + bx lr + arm_func_end _ZN10MapManager13GetCourseMaxXEv + + .global _ZN10MapManager13GetCourseMaxZEv + arm_func_start _ZN10MapManager13GetCourseMaxZEv +_ZN10MapManager13GetCourseMaxZEv: ; 0x020833b8 + ldr r0, [r0] + ldr r0, [r0, #0xac] + bx lr + arm_func_end _ZN10MapManager13GetCourseMaxZEv + + .global _ZN10MapManager18func_ov00_020833c4Ev + arm_func_start _ZN10MapManager18func_ov00_020833c4Ev +_ZN10MapManager18func_ov00_020833c4Ev: ; 0x020833c4 + ldr r0, [r0, #4] + ldr r0, [r0, #0xdc] + bx lr + arm_func_end _ZN10MapManager18func_ov00_020833c4Ev + + .global _ZN10MapManager18func_ov00_020833d0Ev + arm_func_start _ZN10MapManager18func_ov00_020833d0Ev +_ZN10MapManager18func_ov00_020833d0Ev: ; 0x020833d0 + ldr r0, [r0, #4] + ldr r0, [r0, #0xe4] + bx lr + arm_func_end _ZN10MapManager18func_ov00_020833d0Ev + + .global _ZN10MapManager18func_ov00_020833dcEv + arm_func_start _ZN10MapManager18func_ov00_020833dcEv +_ZN10MapManager18func_ov00_020833dcEv: ; 0x020833dc + ldr r0, [r0, #4] + ldr r0, [r0, #0xe8] + bx lr + arm_func_end _ZN10MapManager18func_ov00_020833dcEv + + .global _ZN10MapManager18func_ov00_020833e8Ev + arm_func_start _ZN10MapManager18func_ov00_020833e8Ev +_ZN10MapManager18func_ov00_020833e8Ev: ; 0x020833e8 + ldr r0, [r0, #4] + ldr r0, [r0, #0xf0] + bx lr + arm_func_end _ZN10MapManager18func_ov00_020833e8Ev + + .global _ZN10MapManager18Get_MapData_Unk_d0Ev + arm_func_start _ZN10MapManager18Get_MapData_Unk_d0Ev +_ZN10MapManager18Get_MapData_Unk_d0Ev: ; 0x020833f4 + ldr r0, [r0, #4] + ldr r0, [r0, #0xd0] + bx lr + arm_func_end _ZN10MapManager18Get_MapData_Unk_d0Ev + + .global _ZN10MapManager18Get_MapData_Unk_d8Ev + arm_func_start _ZN10MapManager18Get_MapData_Unk_d8Ev +_ZN10MapManager18Get_MapData_Unk_d8Ev: ; 0x02083400 + ldr r0, [r0, #4] + ldr r0, [r0, #0xd8] + bx lr + arm_func_end _ZN10MapManager18Get_MapData_Unk_d8Ev + + .global _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + arm_func_start _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p +_ZN10MapManager17GetMapData_Unk_dcEP5Vec3p: ; 0x0208340c + ldr r2, [r0, #4] + ldr r0, [r2, #0xdc] + str r0, [r1] + ldr r0, [r2, #0xe0] + str r0, [r1, #4] + ldr r0, [r2, #0xe4] + str r0, [r1, #8] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + + .global _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p + arm_func_start _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p +_ZN10MapManager17GetMapData_Unk_e8EP5Vec3p: ; 0x0208342c + ldr r2, [r0, #4] + ldr r0, [r2, #0xe8] + str r0, [r1] + ldr r0, [r2, #0xec] + str r0, [r1, #4] + ldr r0, [r2, #0xf0] + str r0, [r1, #8] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p + + .global _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p + arm_func_start _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +_ZN10MapManager17GetMapData_Unk_d0EP5Vec3p: ; 0x0208344c + ldr r2, [r0, #4] + ldr r0, [r2, #0xd0] + str r0, [r1] + ldr r0, [r2, #0xd4] + str r0, [r1, #4] + ldr r0, [r2, #0xd8] + str r0, [r1, #8] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p + + .global _ZN10MapManager18func_ov00_0208346cEP4AABB + arm_func_start _ZN10MapManager18func_ov00_0208346cEP4AABB +_ZN10MapManager18func_ov00_0208346cEP4AABB: ; 0x0208346c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r1 + bl _ZN10MapManager18func_ov00_020833c4Ev + str r0, [r4] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833d0Ev + str r0, [r4, #8] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833dcEv + str r0, [r4, #0xc] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833e8Ev + ldr r1, _020834b8 ; =0x00001333 + str r0, [r4, #0x14] + str r1, [r4, #0x10] + mov r0, #0 + str r0, [r4, #4] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208346cEP4AABB +_020834b8: .word 0x00001333 + + .global _ZN10MapManager18func_ov00_020834bcEP5Vec3pii + arm_func_start _ZN10MapManager18func_ov00_020834bcEP5Vec3pii +_ZN10MapManager18func_ov00_020834bcEP5Vec3pii: ; 0x020834bc + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5] + mov r4, #0xa + mla r4, r2, r4, r0 + add r2, r4, r3 + mov r4, r1 + ldrb r1, [r2, #0x20] + bl _ZN6Course13FindMapCenterEi + ldr r1, [r0] + str r1, [r4] + ldr r1, [r0, #4] + str r1, [r4, #4] + ldr r1, [r0, #8] + mov r0, r5 + str r1, [r4, #8] + bl _ZN10MapManager18func_ov00_02083374Ev + ldr r1, [r4] + sub r1, r1, r0, asr #1 + mov r0, r5 + str r1, [r4] + bl _ZN10MapManager18func_ov00_02083384Ev + ldr r1, [r4, #8] + sub r0, r1, r0, asr #1 + str r0, [r4, #8] + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_020834bcEP5Vec3pii + + .global _ZN10MapManager18func_ov00_02083524EP5Vec3pii + arm_func_start _ZN10MapManager18func_ov00_02083524EP5Vec3pii +_ZN10MapManager18func_ov00_02083524EP5Vec3pii: ; 0x02083524 + stmdb sp!, {r4, lr} + ldr r0, [r0] + mov ip, #0xa + mla ip, r2, ip, r0 + add r2, ip, r3 + mov r4, r1 + ldrb r1, [r2, #0x20] + bl _ZN6Course13FindMapCenterEi + ldr r1, [r0] + str r1, [r4] + ldr r1, [r0, #4] + str r1, [r4, #4] + ldr r0, [r0, #8] + str r0, [r4, #8] + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083524EP5Vec3pii + + .global _ZN10MapManager18func_ov00_02083560EiPS_j + arm_func_start _ZN10MapManager18func_ov00_02083560EiPS_j +_ZN10MapManager18func_ov00_02083560EiPS_j: ; 0x02083560 + ldr ip, _0208356c ; =_ZN6Course14FindMapGridPosEP5Vec2bPS_j + ldr r1, [r1] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083560EiPS_j +_0208356c: .word _ZN6Course14FindMapGridPosEP5Vec2bPS_j + + .global _ZN10MapManager18func_ov00_02083570Eii + arm_func_start _ZN10MapManager18func_ov00_02083570Eii +_ZN10MapManager18func_ov00_02083570Eii: ; 0x02083570 + ldr r3, [r0] + mov r0, #0xa + mla r0, r1, r0, r3 + add r0, r0, r2 + ldrb r0, [r0, #0x20] + bx lr + arm_func_end _ZN10MapManager18func_ov00_02083570Eii + + .global _ZN10MapManager18func_ov00_02083588Ev + arm_func_start _ZN10MapManager18func_ov00_02083588Ev +_ZN10MapManager18func_ov00_02083588Ev: ; 0x02083588 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r1, r0 + ldr r0, [r4] + bl _ZN6Course18FindMapData_Unk_08Ei + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083588Ev + + .global _ZN10MapManager18func_ov00_020835a4Ev + arm_func_start _ZN10MapManager18func_ov00_020835a4Ev +_ZN10MapManager18func_ov00_020835a4Ev: ; 0x020835a4 + ldr ip, _020835b0 ; =_ZN6Course13Get_Unk_c8_00Ev + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020835a4Ev +_020835b0: .word _ZN6Course13Get_Unk_c8_00Ev + + .global _ZN10MapManager18func_ov00_020835b4Ev + arm_func_start _ZN10MapManager18func_ov00_020835b4Ev +_ZN10MapManager18func_ov00_020835b4Ev: ; 0x020835b4 + ldr ip, _020835c0 ; =_ZN6Course13Get_Unk_c8_04Ev + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020835b4Ev +_020835c0: .word _ZN6Course13Get_Unk_c8_04Ev + + .global _ZN10MapManager18func_ov00_020835c4Eii + arm_func_start _ZN10MapManager18func_ov00_020835c4Eii +_ZN10MapManager18func_ov00_020835c4Eii: ; 0x020835c4 + stmdb sp!, {r3, lr} + mov r3, #3 + str r3, [sp] + ldr r0, [r0] + mov r3, r2 + mov r2, #0 + bl _ZN6Course18func_ov00_0207d404Eiii + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_020835c4Eii + + .global _ZN10MapManager18func_ov00_020835e4EiPiS0_ + arm_func_start _ZN10MapManager18func_ov00_020835e4EiPiS0_ +_ZN10MapManager18func_ov00_020835e4EiPiS0_: ; 0x020835e4 + ldr ip, _020835f0 ; =_ZN6Course18func_ov00_0207caa8EiPiPc + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020835e4EiPiS0_ +_020835f0: .word _ZN6Course18func_ov00_0207caa8EiPiPc + + .global _ZN10MapManager18func_ov00_020835f4Ei + arm_func_start _ZN10MapManager18func_ov00_020835f4Ei +_ZN10MapManager18func_ov00_020835f4Ei: ; 0x020835f4 + ldr ip, _02083600 ; =_ZN6Course18func_ov00_0207cb30Ei + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020835f4Ei +_02083600: .word _ZN6Course18func_ov00_0207cb30Ei + + .global _ZN10MapManager18func_ov00_02083604Ei + arm_func_start _ZN10MapManager18func_ov00_02083604Ei +_ZN10MapManager18func_ov00_02083604Ei: ; 0x02083604 + ldr ip, _02083610 ; =_ZN6Course18func_ov00_0207cbe8Ei + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083604Ei +_02083610: .word _ZN6Course18func_ov00_0207cbe8Ei + + .global _ZN10MapManager18func_ov00_02083614Ei + arm_func_start _ZN10MapManager18func_ov00_02083614Ei +_ZN10MapManager18func_ov00_02083614Ei: ; 0x02083614 + ldr ip, _02083620 ; =_ZN6Course18func_ov00_0207cc24Ei + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083614Ei +_02083620: .word _ZN6Course18func_ov00_0207cc24Ei + + .global _ZN10MapManager14GetEntrancePosEP5Vec3pi + arm_func_start _ZN10MapManager14GetEntrancePosEP5Vec3pi +_ZN10MapManager14GetEntrancePosEP5Vec3pi: ; 0x02083624 + stmdb sp!, {r4, lr} + ldr r0, [r0, #4] + mov r4, r1 + mov r1, r2 + bl _ZN7MapBase12FindEntranceEi + mov r3, r0 + ldmia r3, {r0, r1, r2} + stmia r4, {r0, r1, r2} + ldrsh r1, [r3, #0xc] + mov r0, #1 + strh r1, [r4, #0xc] + ldrb r1, [r3, #0xe] + strb r1, [r4, #0xe] + ldr r1, [r3, #0x10] + str r1, [r4, #0x10] + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager14GetEntrancePosEP5Vec3pi + + .global _ZN10MapManager18func_ov00_02083664EP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_02083664EP5Vec3pi +_ZN10MapManager18func_ov00_02083664EP5Vec3pi: ; 0x02083664 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x14 + mov r4, r1 + mov ip, #0xff + mov r3, #0 + add r1, sp, #0 + strb ip, [sp, #0xe] + str r3, [sp, #0x10] + bl _ZN10MapManager14GetEntrancePosEP5Vec3pi + cmp r0, #0 + addeq sp, sp, #0x14 + moveq r0, #0 + ldmeqia sp!, {r3, r4, pc} + ldr r1, [sp] + mov r0, #1 + str r1, [r4] + ldr r1, [sp, #4] + str r1, [r4, #4] + ldr r1, [sp, #8] + str r1, [r4, #8] + add sp, sp, #0x14 + ldmia sp!, {r3, r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083664EP5Vec3pi + + .global _ZN10MapManager18func_ov00_020836bcEjPi + arm_func_start _ZN10MapManager18func_ov00_020836bcEjPi +_ZN10MapManager18func_ov00_020836bcEjPi: ; 0x020836bc + ldr ip, _020836c8 ; =_ZN7MapBase21GetTriggerBoundingBoxEiP4AABB + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020836bcEjPi +_020836c8: .word _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB + + .global _ZN10MapManager18func_ov00_020836ccEjP4AABBj + arm_func_start _ZN10MapManager18func_ov00_020836ccEjP4AABBj +_ZN10MapManager18func_ov00_020836ccEjP4AABBj: ; 0x020836cc + ldr ip, _020836d8 ; =_ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020836ccEjP4AABBj +_020836d8: .word _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi + + .global _ZN10MapManager18func_ov00_020836dcEii + arm_func_start _ZN10MapManager18func_ov00_020836dcEii +_ZN10MapManager18func_ov00_020836dcEii: ; 0x020836dc + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0xc + cmp r2, #0 + mov r5, r0 + mov r4, r1 + cmpne r2, #1 + bne _02083718 + ldr r0, _02083768 ; =data_027e0f94 + ldr r2, [r0] + ldr r1, [r0, #4] + str r2, [sp] + str r1, [sp, #4] + ldr r0, [r0, #8] + str r0, [sp, #8] + b _02083750 +_02083718: + ldr r0, _0208376c ; =data_027e0fe4 + mov r1, r2 + ldr r0, [r0] + bl _ZN12ActorManager13FindActorByIdEj + cmp r0, #0 + addeq sp, sp, #0xc + moveq r0, #0 + ldmeqia sp!, {r4, r5, pc} + ldr r1, [r0, #0x48] + str r1, [sp] + ldr r1, [r0, #0x4c] + str r1, [sp, #4] + ldr r0, [r0, #0x50] + str r0, [sp, #8] +_02083750: + add r2, sp, #0 + mov r0, r5 + mov r1, r4 + bl _ZN10MapManager18func_ov00_02083770Eji + add sp, sp, #0xc + ldmia sp!, {r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020836dcEii +_02083768: .word data_027e0f94 +_0208376c: .word data_027e0fe4 + + .global _ZN10MapManager18func_ov00_02083770Eji + arm_func_start _ZN10MapManager18func_ov00_02083770Eji +_ZN10MapManager18func_ov00_02083770Eji: ; 0x02083770 + ldr ip, _0208377c ; =_ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083770Eji +_0208377c: .word _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p + + .global _ZN10MapManager18func_ov00_02083780Ei + arm_func_start _ZN10MapManager18func_ov00_02083780Ei +_ZN10MapManager18func_ov00_02083780Ei: ; 0x02083780 + ldr ip, _0208378c ; =_ZN7MapBase21GetOverlappingTriggerEP5Vec3p + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083780Ei +_0208378c: .word _ZN7MapBase21GetOverlappingTriggerEP5Vec3p + + .global _ZN10MapManager18func_ov00_02083790Ei + arm_func_start _ZN10MapManager18func_ov00_02083790Ei +_ZN10MapManager18func_ov00_02083790Ei: ; 0x02083790 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #8 + movs r4, r1 + mov r5, r0 + addeq sp, sp, #8 + moveq r0, #1 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r1, _02083830 ; =data_027e0f64 + ldr r0, _02083834 ; =data_027e0d38 + ldr r2, [r1] + ldr r2, [r2, #8] + str r4, [r2, #0x1b4] + ldr r1, [r1] + ldr r1, [r1, #4] + str r4, [r1, #0x1b4] + ldr r0, [r0] + bl func_ov00_02078b40 + cmp r0, #0 + beq _0208381c + add r1, sp, #4 + add r2, sp, #0 + mov r0, r5 + bl _ZN10MapManager18func_ov00_02082e1cEPiS0_ + cmp r0, #0 + bne _0208381c + ldr r0, _02083838 ; =data_027e0d3c + mov r1, r4 + ldr r0, [r0] + mov r2, #0x10 + bl func_ov00_02079898 + ldr r0, _0208383c ; =data_027e0fe4 + mov r1, r4 + ldr r0, [r0] + mov r2, #1 + bl _ZN12ActorManager18func_ov00_020c3ce8Eii +_0208381c: + ldr r0, [r5, #4] + mov r1, r4 + bl _ZN7MapBase18AnyTrigger_func_0cEi + add sp, sp, #8 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083790Ei +_02083830: .word data_027e0f64 +_02083834: .word data_027e0d38 +_02083838: .word data_027e0d3c +_0208383c: .word data_027e0fe4 + + .global _ZN10MapManager18func_ov00_02083840Ei + arm_func_start _ZN10MapManager18func_ov00_02083840Ei +_ZN10MapManager18func_ov00_02083840Ei: ; 0x02083840 + stmdb sp!, {r3, r4, r5, lr} + movs r4, r1 + mov r5, r0 + moveq r0, #1 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r1, _020838bc ; =data_027e0f64 + mvn r3, #0 + ldr r2, [r1] + ldr r0, _020838c0 ; =data_027e0d3c + ldr r2, [r2, #8] + str r3, [r2, #0x1b4] + ldr r1, [r1] + ldr r1, [r1, #4] + str r3, [r1, #0x1b4] + ldr r0, [r0] + bl func_ov00_02078fe8 + cmp r0, #0 + blt _020838ac + ldr r0, _020838c0 ; =data_027e0d3c + mov r1, #0x10 + ldr r0, [r0] + bl func_ov00_020798bc + ldr r0, _020838c4 ; =data_027e0fe4 + mov r1, r4 + ldr r0, [r0] + mov r2, #0 + bl _ZN12ActorManager18func_ov00_020c3ce8Eii +_020838ac: + ldr r0, [r5, #4] + mov r1, r4 + bl _ZN7MapBase22TriggerOfType_vfunc_10Ei + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083840Ei +_020838bc: .word data_027e0f64 +_020838c0: .word data_027e0d3c +_020838c4: .word data_027e0fe4 + + .global _ZN10MapManager18func_ov00_020838c8Ei + arm_func_start _ZN10MapManager18func_ov00_020838c8Ei +_ZN10MapManager18func_ov00_020838c8Ei: ; 0x020838c8 + ldr ip, _020838d4 ; =_ZN7MapBase10AddTriggerEi + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020838c8Ei +_020838d4: .word _ZN7MapBase10AddTriggerEi + + .global _ZN10MapManager18func_ov00_020838d8Ei + arm_func_start _ZN10MapManager18func_ov00_020838d8Ei +_ZN10MapManager18func_ov00_020838d8Ei: ; 0x020838d8 + ldr ip, _020838e4 ; =_ZN7MapBase18func_ov00_0207ff88Ei + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020838d8Ei +_020838e4: .word _ZN7MapBase18func_ov00_0207ff88Ei + + .global _ZN10MapManager18func_ov00_020838e8EjPi + arm_func_start _ZN10MapManager18func_ov00_020838e8EjPi +_ZN10MapManager18func_ov00_020838e8EjPi: ; 0x020838e8 + ldr ip, _020838f4 ; =_ZN7MapBase8FindExitEiP4Exit + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020838e8EjPi +_020838f4: .word _ZN7MapBase8FindExitEiP4Exit + + .global _ZN10MapManager18func_ov00_020838f8EPi + arm_func_start _ZN10MapManager18func_ov00_020838f8EPi +_ZN10MapManager18func_ov00_020838f8EPi: ; 0x020838f8 + ldr ip, _02083904 ; =_ZN7MapBase18func_ov00_02080140EP4Exit + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020838f8EPi +_02083904: .word _ZN7MapBase18func_ov00_02080140EP4Exit + + .global _ZN10MapManager18func_ov00_02083908EcPi + arm_func_start _ZN10MapManager18func_ov00_02083908EcPi +_ZN10MapManager18func_ov00_02083908EcPi: ; 0x02083908 + ldr ip, _02083914 ; =_ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083908EcPi +_02083914: .word _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint + + .global _ZN10MapManager18func_ov00_02083918EiPi + arm_func_start _ZN10MapManager18func_ov00_02083918EiPi +_ZN10MapManager18func_ov00_02083918EiPi: ; 0x02083918 + ldr ip, _02083924 ; =_ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083918EiPi +_02083924: .word _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint + + .global _ZN10MapManager18func_ov00_02083928EPci + arm_func_start _ZN10MapManager18func_ov00_02083928EPci +_ZN10MapManager18func_ov00_02083928EPci: ; 0x02083928 + ldr ip, _02083934 ; =_ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083928EPci +_02083934: .word _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi + + .global _ZN10MapManager18func_ov00_02083938Ei + arm_func_start _ZN10MapManager18func_ov00_02083938Ei +_ZN10MapManager18func_ov00_02083938Ei: ; 0x02083938 + ldr ip, _02083944 ; =_ZN7MapBase26GetCurrentViewpoint_Unk_00Ei + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083938Ei +_02083944: .word _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei + + .global _ZN10MapManager18Set_MapData_Unk_16Eci + arm_func_start _ZN10MapManager18Set_MapData_Unk_16Eci +_ZN10MapManager18Set_MapData_Unk_16Eci: ; 0x02083948 + ldr r0, [r0, #4] + add r0, r0, r2 + strb r1, [r0, #0x16] + bx lr + arm_func_end _ZN10MapManager18Set_MapData_Unk_16Eci + + .global _ZN10MapManager18func_ov00_02083958Ei + arm_func_start _ZN10MapManager18func_ov00_02083958Ei +_ZN10MapManager18func_ov00_02083958Ei: ; 0x02083958 + ldr ip, _02083964 ; =_ZN7MapBase18func_ov00_0207f924Ei + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083958Ei +_02083964: .word _ZN7MapBase18func_ov00_0207f924Ei + + .global _ZN10MapManager18func_ov00_02083968EjPc + arm_func_start _ZN10MapManager18func_ov00_02083968EjPc +_ZN10MapManager18func_ov00_02083968EjPc: ; 0x02083968 + ldr ip, _02083974 ; =_ZN7MapBase18func_ov00_02080824Eii + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083968EjPc +_02083974: .word _ZN7MapBase18func_ov00_02080824Eii + + .global _ZN10MapManager18func_ov00_02083978EiP5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02083978EiP5Vec3p +_ZN10MapManager18func_ov00_02083978EiP5Vec3p: ; 0x02083978 + stmdb sp!, {r4, lr} + ldr r0, [r0, #4] + mov r4, r2 + bl _ZN7MapBase18func_ov00_02080a78EP5Vec3p + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r4, pc} + ldr r1, [r0, #8] + str r1, [r4] + ldr r1, [r0, #0xc] + str r1, [r4, #4] + ldr r1, [r0, #0x10] + mov r0, #1 + str r1, [r4, #8] + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083978EiP5Vec3p + + .global _ZN10MapManager18func_ov00_020839b4Ei + arm_func_start _ZN10MapManager18func_ov00_020839b4Ei +_ZN10MapManager18func_ov00_020839b4Ei: ; 0x020839b4 + ldr ip, _020839c0 ; =_ZN7MapBase10AddUnk_130Ei + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020839b4Ei +_020839c0: .word _ZN7MapBase10AddUnk_130Ei + + .global _ZN10MapManager18func_ov00_020839c4Ei + arm_func_start _ZN10MapManager18func_ov00_020839c4Ei +_ZN10MapManager18func_ov00_020839c4Ei: ; 0x020839c4 + ldr ip, _020839d0 ; =_ZN7MapBase18func_ov00_020809b8Ei + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020839c4Ei +_020839d0: .word _ZN7MapBase18func_ov00_020809b8Ei + + .global _ZN10MapManager18func_ov00_020839d4Ev + arm_func_start _ZN10MapManager18func_ov00_020839d4Ev +_ZN10MapManager18func_ov00_020839d4Ev: ; 0x020839d4 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r1 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + mov r1, r0 + ldr r0, [r5, #4] + sub r1, r4, r1 + bl _ZN7MapBase15GetClampedTileXEi + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_020839d4Ev + + .global _ZN10MapManager18func_ov00_020839f8Ev + arm_func_start _ZN10MapManager18func_ov00_020839f8Ev +_ZN10MapManager18func_ov00_020839f8Ev: ; 0x020839f8 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r1 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + mov r1, r0 + ldr r0, [r5, #4] + sub r1, r4, r1 + bl _ZN7MapBase15GetClampedTileYEi + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_020839f8Ev + + .global _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +_ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p: ; 0x02083a1c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r5, r2 + mov r6, r1 + mov r7, r0 + ldr r1, [r5, #8] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839f8Ev + mov r4, r0 + ldr r1, [r5] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839d4Ev + strb r0, [r7] + strb r4, [r7, #1] + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + + .global _ZN10MapManager18func_ov00_02083a54EiPS_iii + arm_func_start _ZN10MapManager18func_ov00_02083a54EiPS_iii +_ZN10MapManager18func_ov00_02083a54EiPS_iii: ; 0x02083a54 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x24 + mov r6, r1 + mov r7, r0 + mov r0, r6 + mov r5, r2 + mov r4, r3 + bl _ZN10MapManager21GetCourseData_Unk_25cEv + cmp r0, #0 + beq _02083b58 + mvn r0, #0 + cmp r4, r0 + ldrne r2, [sp, #0x38] + cmpne r2, r0 + bne _02083aa0 + mov r0, r6 + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r1, r0 + b _02083ab4 +_02083aa0: + ldr r1, [r6] + mov r0, #0xa + mla r0, r4, r0, r1 + add r0, r0, r2 + ldrb r1, [r0, #0x20] +_02083ab4: + mov r0, r6 + bl _ZN10MapManager18func_ov00_02083318Ei + cmp r0, #0 + beq _02083b2c + ldr r3, [sp, #0x38] + add r1, sp, #0x18 + mov r0, r6 + mov r2, r4 + bl _ZN10MapManager18func_ov00_02083524EP5Vec3pii + ldr r1, [r5] + add r0, sp, #0 + str r1, [sp] + ldr r2, [r5, #4] + add r1, sp, #0x18 + str r2, [sp, #4] + ldr r3, [r5, #8] + add r2, sp, #0xc + str r3, [sp, #8] + bl func_01ff9bf8 + ldr r0, [r6, #4] + ldr r1, [sp, #0x14] + bl _ZN7MapBase15GetClampedTileYEi + mov r4, r0 + ldr r0, [r6, #4] + ldr r1, [sp, #0xc] + bl _ZN7MapBase15GetClampedTileXEi + strb r0, [r7] + add sp, sp, #0x24 + strb r4, [r7, #1] + ldmia sp!, {r4, r5, r6, r7, pc} +_02083b2c: + ldr r1, [r5, #8] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839f8Ev + mov r4, r0 + ldr r1, [r5] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839d4Ev + strb r0, [r7] + add sp, sp, #0x24 + strb r4, [r7, #1] + ldmia sp!, {r4, r5, r6, r7, pc} +_02083b58: + ldr r1, [r5, #8] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839f8Ev + mov r4, r0 + ldr r1, [r5] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839d4Ev + strb r0, [r7] + strb r4, [r7, #1] + add sp, sp, #0x24 + ldmia sp!, {r4, r5, r6, r7, pc} + arm_func_end _ZN10MapManager18func_ov00_02083a54EiPS_iii + + .global _ZN10MapManager18func_ov00_02083b84Ev + arm_func_start _ZN10MapManager18func_ov00_02083b84Ev +_ZN10MapManager18func_ov00_02083b84Ev: ; 0x02083b84 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl _ZN7MapBase13GetTileStartXEi + add r0, r4, r0 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083b84Ev + + .global _ZN10MapManager18func_ov00_02083bacEv + arm_func_start _ZN10MapManager18func_ov00_02083bacEv +_ZN10MapManager18func_ov00_02083bacEv: ; 0x02083bac + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl _ZN7MapBase13GetTileStartZEi + add r0, r4, r0 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083bacEv + + .global _ZN10MapManager18func_ov00_02083bd4Ev + arm_func_start _ZN10MapManager18func_ov00_02083bd4Ev +_ZN10MapManager18func_ov00_02083bd4Ev: ; 0x02083bd4 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl _ZN7MapBase11GetTileEndXEi + add r0, r4, r0 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083bd4Ev + + .global _ZN10MapManager18func_ov00_02083bfcEv + arm_func_start _ZN10MapManager18func_ov00_02083bfcEv +_ZN10MapManager18func_ov00_02083bfcEv: ; 0x02083bfc + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl _ZN7MapBase11GetTileEndZEi + add r0, r4, r0 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083bfcEv + + .global _ZN10MapManager18func_ov00_02083c24Ei + arm_func_start _ZN10MapManager18func_ov00_02083c24Ei +_ZN10MapManager18func_ov00_02083c24Ei: ; 0x02083c24 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl _ZN7MapBase13GetTileStartXEi + add r0, r4, r0 + add r0, r0, #0x800 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083c24Ei + + .global _ZN10MapManager18func_ov00_02083c50Ei + arm_func_start _ZN10MapManager18func_ov00_02083c50Ei +_ZN10MapManager18func_ov00_02083c50Ei: ; 0x02083c50 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl _ZN7MapBase13GetTileStartZEi + add r0, r4, r0 + add r0, r0, #0x800 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083c50Ei + + .global _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +_ZN10MapManager18func_ov00_02083c7cEP5Vec3pi: ; 0x02083c7c + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0xc + mov r4, r1 + ldrb r1, [sp, #0x20] + mov r5, r0 + bl _ZN10MapManager18func_ov00_02083c24Ei + str r0, [r4] + ldrb r1, [sp, #0x21] + mov r0, r5 + bl _ZN10MapManager18func_ov00_02083c50Ei + str r0, [r4, #8] + ldr r0, [r4] + add r1, sp, #0 + str r0, [sp] + ldr r2, [r4, #4] + mov r0, r5 + str r2, [sp, #4] + ldr r3, [r4, #8] + mov r2, #1 + str r3, [sp, #8] + bl _ZN10MapManager16MapData_vfunc_68Ev + str r0, [r4, #4] + add sp, sp, #0xc + ldmia sp!, {r4, r5, lr} + add sp, sp, #0x10 + bx lr + arm_func_end _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi + + .global _ZN10MapManager18func_ov00_02083ce8Ecccci + arm_func_start _ZN10MapManager18func_ov00_02083ce8Ecccci +_ZN10MapManager18func_ov00_02083ce8Ecccci: ; 0x02083ce8 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x18 + mov r6, r0 + mov r5, r1 + mov r4, r3 + bl _ZN10MapManager21GetCourseData_Unk_25cEv + cmp r0, #0 + beq _02083dd0 + mvn r0, #0 + cmp r4, r0 + ldrne r2, [sp, #0x38] + cmpne r2, r0 + bne _02083d30 + mov r0, r6 + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r1, r0 + b _02083d44 +_02083d30: + ldr r1, [r6] + mov r0, #0xa + mla r0, r4, r0, r1 + add r0, r0, r2 + ldrb r1, [r0, #0x20] +_02083d44: + mov r0, r6 + bl _ZN10MapManager18func_ov00_02083318Ei + cmp r0, #0 + beq _02083da4 + ldr r3, [sp, #0x38] + add r1, sp, #0xc + mov r0, r6 + mov r2, r4 + bl _ZN10MapManager18func_ov00_02083524EP5Vec3pii + ldrb r1, [sp, #0x30] + ldr r0, [r6, #4] + bl _ZN7MapBase13GetTileStartXEi + ldr r2, [sp, #0xc] + ldrb r1, [sp, #0x31] + add r0, r2, r0 + add r0, r0, #0x800 + str r0, [r5] + ldr r0, [r6, #4] + bl _ZN7MapBase13GetTileStartZEi + ldr r1, [sp, #0x14] + add r0, r1, r0 + add r0, r0, #0x800 + str r0, [r5, #8] + b _02083df8 +_02083da4: + ldrb r1, [sp, #0x30] + ldr r0, [r6, #4] + bl _ZN7MapBase13GetTileStartXEi + add r0, r0, #0x800 + str r0, [r5] + ldrb r1, [sp, #0x31] + ldr r0, [r6, #4] + bl _ZN7MapBase13GetTileStartZEi + add r0, r0, #0x800 + str r0, [r5, #8] + b _02083df8 +_02083dd0: + ldrb r1, [sp, #0x30] + ldr r0, [r6, #4] + bl _ZN7MapBase13GetTileStartXEi + add r0, r0, #0x800 + str r0, [r5] + ldrb r1, [sp, #0x31] + ldr r0, [r6, #4] + bl _ZN7MapBase13GetTileStartZEi + add r0, r0, #0x800 + str r0, [r5, #8] +_02083df8: + ldr r0, [r5] + add r1, sp, #0 + str r0, [sp] + ldr r2, [r5, #4] + mov r0, r6 + str r2, [sp, #4] + ldr r3, [r5, #8] + mov r2, #1 + str r3, [sp, #8] + bl _ZN10MapManager16MapData_vfunc_68Ev + str r0, [r5, #4] + add sp, sp, #0x18 + ldmia sp!, {r4, r5, r6, lr} + add sp, sp, #0x10 + bx lr + arm_func_end _ZN10MapManager18func_ov00_02083ce8Ecccci + + .global _ZN10MapManager18func_ov00_02083e34Ecci + arm_func_start _ZN10MapManager18func_ov00_02083e34Ecci +_ZN10MapManager18func_ov00_02083e34Ecci: ; 0x02083e34 + stmdb sp!, {r3, lr} + strb r1, [sp] + strb r2, [sp, #1] + ldr r0, [r0, #4] + add r1, sp, #0 + ldr r2, [r0] + ldr r2, [r2, #0x60] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02083e34Ecci + + .global _ZN10MapManager16MapData_vfunc_60Ev + arm_func_start _ZN10MapManager16MapData_vfunc_60Ev +_ZN10MapManager16MapData_vfunc_60Ev: ; 0x02083e58 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0x60] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_60Ev + + .global _ZN10MapManager18func_ov00_02083e70Ev + arm_func_start _ZN10MapManager18func_ov00_02083e70Ev +_ZN10MapManager18func_ov00_02083e70Ev: ; 0x02083e70 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r1 + bl _ZN10MapManager16MapData_vfunc_54Ev + cmp r0, #0x2b + bgt _02083e98 + bge _02083eb0 + cmp r0, #0x1b + beq _02083eb0 + b _02083eb8 +_02083e98: + cmp r0, #0x4f + bgt _02083eb8 + cmp r0, #0x4e + blt _02083eb8 + cmpne r0, #0x4f + bne _02083eb8 +_02083eb0: + mov r0, #1 + ldmia sp!, {r3, r4, r5, pc} +_02083eb8: + mov r0, r5 + mov r1, r4 + bl _ZN10MapManager16MapData_vfunc_60Ev + mov r4, r0 + mov r0, r5 + bl _ZN10MapManager17GetMapData_Unk_48Ev + cmp r4, r0 + movge r0, #1 + movlt r0, #0 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_02083e70Ev + + .global _ZN10MapManager16MapData_vfunc_68Ev + arm_func_start _ZN10MapManager16MapData_vfunc_68Ev +_ZN10MapManager16MapData_vfunc_68Ev: ; 0x02083ee0 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r3, [r0] + ldr r3, [r3, #0x68] + blx r3 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_68Ev + + .global _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + arm_func_start _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +_ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_: ; 0x02083ef8 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + add ip, sp, #0 + mov r4, r0 + mov lr, r2 + ldmia r1, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldr r1, [lr, #4] + ldr r0, [sp, #4] + mov r2, r3 + cmp r1, r0 + strgt r1, [sp, #4] + ldr r0, [r4, #4] + add r1, sp, #0 + ldr ip, [r0] + ldr ip, [ip, #0x68] + blx ip + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + + .global _ZN10MapManager18func_ov00_02083f44EP5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02083f44EP5Vec3p +_ZN10MapManager18func_ov00_02083f44EP5Vec3p: ; 0x02083f44 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + ldr ip, _02083f7c ; =data_ov00_020e24a4 + mov r3, r2 + ldr r4, [r1, #8] + ldr lr, [r1] + ldr ip, [ip, #0x20] + add r2, sp, #0 + str lr, [sp] + str ip, [sp, #4] + str r4, [sp, #8] + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083f44EP5Vec3p +_02083f7c: .word data_ov00_020e24a4 + + .global _ZN10MapManager16MapData_vfunc_6cEv + arm_func_start _ZN10MapManager16MapData_vfunc_6cEv +_ZN10MapManager16MapData_vfunc_6cEv: ; 0x02083f80 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr ip, [r0] + ldr ip, [ip, #0x6c] + blx ip + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_6cEv + + .global _ZN10MapManager16MapData_vfunc_70Ev + arm_func_start _ZN10MapManager16MapData_vfunc_70Ev +_ZN10MapManager16MapData_vfunc_70Ev: ; 0x02083f98 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0x70] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_70Ev + + .global _ZN10MapManager18func_ov00_02083fb0EiPS_i + arm_func_start _ZN10MapManager18func_ov00_02083fb0EiPS_i +_ZN10MapManager18func_ov00_02083fb0EiPS_i: ; 0x02083fb0 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r1 + mov r4, r0 + ldr r0, [r6, #4] + mov r5, r2 + ldr r2, [r0] + mov r1, r5 + ldr r2, [r2, #0x74] + blx r2 + cmp r0, #0 + ldrne r0, [r0, #0xc] + strne r0, [r4] + ldmneia sp!, {r4, r5, r6, pc} + mov r0, r6 + mov r1, r5 + bl _ZN10MapManager16MapData_vfunc_70Ev + ldr r1, _0208401c ; =0x0000ffff + mov r2, r0 + cmp r2, r1 + moveq r0, #0 + streq r0, [r4] + ldmeqia sp!, {r4, r5, r6, pc} + ldr r1, _02084020 ; =data_027e0f6c + mov r0, r4 + ldr r1, [r1] + bl func_ov00_02093a1c + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083fb0EiPS_i +_0208401c: .word 0x0000ffff +_02084020: .word data_027e0f6c + + .global _ZN10MapManager18func_ov00_02084024EiP4AABB + arm_func_start _ZN10MapManager18func_ov00_02084024EiP4AABB +_ZN10MapManager18func_ov00_02084024EiP4AABB: ; 0x02084024 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0xc + mov r6, r0 + ldr r0, [r6, #4] + mov r5, r2 + bl _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB + mov r0, r6 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + mov r4, r0 + mov r0, r6 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + add r1, sp, #0 + mov r0, r5 + mov r2, r5 + str r4, [sp, #8] + bl func_01ff9bc4 + add r0, r5, #0xc + mov r2, r0 + add r1, sp, #0 + bl func_01ff9bc4 + add sp, sp, #0xc + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02084024EiP4AABB + + .global _ZN10MapManager16MapData_vfunc_54Ev + arm_func_start _ZN10MapManager16MapData_vfunc_54Ev +_ZN10MapManager16MapData_vfunc_54Ev: ; 0x02084088 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0x54] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_54Ev + + .global _ZN10MapManager18func_ov00_020840a0Ecci + arm_func_start _ZN10MapManager18func_ov00_020840a0Ecci +_ZN10MapManager18func_ov00_020840a0Ecci: ; 0x020840a0 + stmdb sp!, {r3, lr} + strb r1, [sp] + strb r2, [sp, #1] + ldr r0, [r0, #4] + add r1, sp, #0 + ldr r2, [r0] + ldr r2, [r2, #0x54] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_020840a0Ecci + + .global _ZN10MapManager16MapData_vfunc_78Ev + arm_func_start _ZN10MapManager16MapData_vfunc_78Ev +_ZN10MapManager16MapData_vfunc_78Ev: ; 0x020840c4 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0x78] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_78Ev + + .global _ZN10MapManager18func_ov00_020840dcEv + arm_func_start _ZN10MapManager18func_ov00_020840dcEv +_ZN10MapManager18func_ov00_020840dcEv: ; 0x020840dc + stmdb sp!, {r3, lr} + bl _ZN10MapManager16MapData_vfunc_78Ev + cmp r0, #0 + mvneq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_020840dcEv + + .global _ZN10MapManager18func_ov00_02084100EiPS_ + arm_func_start _ZN10MapManager18func_ov00_02084100EiPS_ +_ZN10MapManager18func_ov00_02084100EiPS_: ; 0x02084100 + ldr r1, [r1, #4] + ldr r2, [r1, #0x40] + ldr r1, [r1, #0x44] + stmia r0, {r1, r2} + bx lr + arm_func_end _ZN10MapManager18func_ov00_02084100EiPS_ + + .global _ZN10MapManager17GetMapData_Unk_48Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_48Ev +_ZN10MapManager17GetMapData_Unk_48Ev: ; 0x02084114 + ldr r0, [r0, #4] + ldr r0, [r0, #0x48] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_48Ev + + .global _ZN10MapManager17GetMapData_Unk_4cEv + arm_func_start _ZN10MapManager17GetMapData_Unk_4cEv +_ZN10MapManager17GetMapData_Unk_4cEv: ; 0x02084120 + ldr r0, [r0, #4] + ldr r0, [r0, #0x4c] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_4cEv + + .global _ZN10MapManager18func_ov00_0208412cEv + arm_func_start _ZN10MapManager18func_ov00_0208412cEv +_ZN10MapManager18func_ov00_0208412cEv: ; 0x0208412c + ldr ip, _02084138 ; =_ZN7MapBase18func_ov00_0207f934Ev + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208412cEv +_02084138: .word _ZN7MapBase18func_ov00_0207f934Ev + + .global _ZN10MapManager18func_ov00_0208413cEi + arm_func_start _ZN10MapManager18func_ov00_0208413cEi +_ZN10MapManager18func_ov00_0208413cEi: ; 0x0208413c + ldr ip, _02084148 ; =_ZN7MapBase18func_ov00_0207f948Ei + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208413cEi +_02084148: .word _ZN7MapBase18func_ov00_0207f948Ei + + .global _ZN10MapManager16MapData_vfunc_58Ev + arm_func_start _ZN10MapManager16MapData_vfunc_58Ev +_ZN10MapManager16MapData_vfunc_58Ev: ; 0x0208414c + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r3, [r0] + ldr r3, [r3, #0x58] + blx r3 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_58Ev + + .global _ZN10MapManager18func_ov00_02084164Ev + arm_func_start _ZN10MapManager18func_ov00_02084164Ev +_ZN10MapManager18func_ov00_02084164Ev: ; 0x02084164 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5, #4] + mov r2, #7 + ldr r3, [r0] + mov r4, r1 + ldr r3, [r3, #0x58] + blx r3 + cmp r0, #0 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + mov r0, r5 + mov r1, r4 + bl _ZN10MapManager16MapData_vfunc_54Ev + cmp r0, #0x54 + addls pc, pc, r0, lsl #2 + b _02084304 +_020841a8: ; jump table + b _020842fc ; case 0 + b _02084304 ; case 1 + b _02084304 ; case 2 + b _02084304 ; case 3 + b _02084304 ; case 4 + b _02084304 ; case 5 + b _02084304 ; case 6 + b _02084304 ; case 7 + b _020842fc ; case 8 + b _020842fc ; case 9 + b _02084304 ; case 10 + b _020842fc ; case 11 + b _020842fc ; case 12 + b _020842fc ; case 13 + b _020842fc ; case 14 + b _020842fc ; case 15 + b _020842fc ; case 16 + b _020842fc ; case 17 + b _020842fc ; case 18 + b _020842fc ; case 19 + b _02084304 ; case 20 + b _020842fc ; case 21 + b _020842fc ; case 22 + b _02084304 ; case 23 + b _020842fc ; case 24 + b _02084304 ; case 25 + b _020842fc ; case 26 + b _02084304 ; case 27 + b _02084304 ; case 28 + b _02084304 ; case 29 + b _02084304 ; case 30 + b _02084304 ; case 31 + b _020842fc ; case 32 + b _020842fc ; case 33 + b _020842fc ; case 34 + b _020842fc ; case 35 + b _02084304 ; case 36 + b _020842fc ; case 37 + b _020842fc ; case 38 + b _020842fc ; case 39 + b _020842fc ; case 40 + b _020842fc ; case 41 + b _020842fc ; case 42 + b _02084304 ; case 43 + b _020842fc ; case 44 + b _020842fc ; case 45 + b _020842fc ; case 46 + b _020842fc ; case 47 + b _02084304 ; case 48 + b _020842fc ; case 49 + b _020842fc ; case 50 + b _02084304 ; case 51 + b _02084304 ; case 52 + b _020842fc ; case 53 + b _020842fc ; case 54 + b _02084304 ; case 55 + b _020842fc ; case 56 + b _020842fc ; case 57 + b _020842fc ; case 58 + b _020842fc ; case 59 + b _020842fc ; case 60 + b _020842fc ; case 61 + b _020842fc ; case 62 + b _020842fc ; case 63 + b _02084304 ; case 64 + b _020842fc ; case 65 + b _020842fc ; case 66 + b _020842fc ; case 67 + b _020842fc ; case 68 + b _020842fc ; case 69 + b _02084304 ; case 70 + b _02084304 ; case 71 + b _02084304 ; case 72 + b _02084304 ; case 73 + b _02084304 ; case 74 + b _02084304 ; case 75 + b _02084304 ; case 76 + b _020842fc ; case 77 + b _02084304 ; case 78 + b _02084304 ; case 79 + b _02084304 ; case 80 + b _020842fc ; case 81 + b _020842fc ; case 82 + b _020842fc ; case 83 + b _020842fc ; case 84 +_020842fc: + mov r0, #1 + ldmia sp!, {r3, r4, r5, pc} +_02084304: + mov r0, #0 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_02084164Ev + + .global _ZN10MapManager17GetMapData_Unk_0aEv + arm_func_start _ZN10MapManager17GetMapData_Unk_0aEv +_ZN10MapManager17GetMapData_Unk_0aEv: ; 0x0208430c + ldr r0, [r0, #4] + ldrb r0, [r0, #0xa] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_0aEv + + .global _ZN10MapManager17GetMapData_Unk_0bEv + arm_func_start _ZN10MapManager17GetMapData_Unk_0bEv +_ZN10MapManager17GetMapData_Unk_0bEv: ; 0x02084318 + ldr r0, [r0, #4] + ldrb r0, [r0, #0xb] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_0bEv + + .global _ZN10MapManager16MapData_vfunc_a4Ev + arm_func_start _ZN10MapManager16MapData_vfunc_a4Ev +_ZN10MapManager16MapData_vfunc_a4Ev: ; 0x02084324 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0xa4] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_a4Ev + + .global _ZN10MapManager18func_ov00_0208433cEP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_0208433cEP5Vec3pi +_ZN10MapManager18func_ov00_0208433cEP5Vec3pi: ; 0x0208433c + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x1c + add r3, sp, #0x10 + mov r5, r0 + mov r4, r2 + ldmia r1, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r1, sp, #4 + mov r0, r5 + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + add r0, sp, #0x10 + add r1, sp, #4 + mov r2, r0 + bl func_01ff9bf8 + ldr r1, [r5, #4] + add r0, sp, #0 + add r2, sp, #0x10 + bl _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p + ldrsh r0, [sp] + strh r0, [r4] + ldrsh r0, [sp, #2] + strh r0, [r4, #2] + add sp, sp, #0x1c + ldmia sp!, {r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_0208433cEP5Vec3pi + + .global _ZN10MapManager18func_ov00_0208439cEv + arm_func_start _ZN10MapManager18func_ov00_0208439cEv +_ZN10MapManager18func_ov00_0208439cEv: ; 0x0208439c + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0xc + mov r5, r0 + ldr r0, [r5, #4] + mov r4, r2 + bl _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p + add r1, sp, #0 + mov r0, r5 + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + add r1, sp, #0 + mov r0, r4 + mov r2, r4 + bl func_01ff9bc4 + mov r0, r5 + mov r1, r4 + mov r2, #1 + bl _ZN10MapManager16MapData_vfunc_68Ev + str r0, [r4, #4] + add sp, sp, #0xc + ldmia sp!, {r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_0208439cEv + + .global _ZN10MapManager18func_ov00_020843ecEPi + arm_func_start _ZN10MapManager18func_ov00_020843ecEPi +_ZN10MapManager18func_ov00_020843ecEPi: ; 0x020843ec + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x6c + mov r6, r1 + mov r5, r0 + mov r0, r6 + ldr r1, [r0] + mov r4, r2 + ldr r1, [r1, #8] + blx r1 + cmp r0, #0 + cmpne r0, #1 + beq _0208442c + cmp r0, #2 + beq _02084574 + add sp, sp, #0x6c + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} +_0208442c: + mov r0, r6 + ldr r2, [r0] + add r1, sp, #0x60 + ldr r2, [r2, #0x3c] + blx r2 + mov r0, r6 + ldr r1, [r0] + ldr r1, [r1, #0x40] + blx r1 + ldr r6, [sp, #0x64] + ldr r2, [sp, #0x60] + ldr r3, [sp, #0x68] + sub r1, r2, r0 + str r1, [sp, #0x54] + sub r1, r3, r0 + str r1, [sp, #0x5c] + add r2, r2, r0 + add r1, r3, r0 + mov r0, r5 + str r2, [sp, #0x48] + str r6, [sp, #0x58] + str r6, [sp, #0x4c] + str r1, [sp, #0x50] + bl _ZN10MapManager18func_ov00_020833c4Ev + ldr r1, [sp, #0x54] + sub r0, r1, r0 + str r0, [sp, #0x54] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833d0Ev + ldr r1, [sp, #0x5c] + sub r0, r1, r0 + str r0, [sp, #0x5c] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833c4Ev + ldr r1, [sp, #0x48] + sub r0, r1, r0 + str r0, [sp, #0x48] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833d0Ev + ldr r1, [sp, #0x50] + add r2, sp, #0x54 + sub r0, r1, r0 + str r0, [sp, #0x50] + ldr r1, [r5, #4] + add r0, sp, #0x14 + bl _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p + ldr r1, [r5, #4] + add r0, sp, #0x10 + add r2, sp, #0x48 + bl _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p + ldrsh r7, [sp, #0x14] + ldrsh r0, [sp, #0x10] + cmp r7, r0 + addgt sp, sp, #0x6c + ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc} + add r6, sp, #4 +_0208450c: + ldrsh r8, [sp, #0x16] + ldrsh r0, [sp, #0x12] + cmp r8, r0 + bgt _02084554 +_0208451c: + strh r7, [sp, #4] + strh r8, [sp, #6] + ldr r0, [r5, #4] + mov r1, r6 + ldr r3, [r0] + mov r2, r4 + ldr r3, [r3, #0xac] + blx r3 + add r0, r8, #1 + mov r0, r0, lsl #0x10 + ldrsh r1, [sp, #0x12] + mov r8, r0, asr #0x10 + cmp r1, r0, asr #16 + bge _0208451c +_02084554: + ldrsh r1, [sp, #0x10] + add r0, r7, #1 + mov r0, r0, lsl #0x10 + cmp r1, r0, asr #16 + mov r7, r0, asr #0x10 + bge _0208450c + add sp, sp, #0x6c + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} +_02084574: + mov r0, r6 + ldr r2, [r0] + add r1, sp, #0x30 + ldr r2, [r2, #0x2c] + blx r2 + add r0, sp, #0x30 + add r3, sp, #0x24 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r0, sp, #0x3c + add r3, sp, #0x18 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833c4Ev + ldr r1, [sp, #0x24] + sub r0, r1, r0 + str r0, [sp, #0x24] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833d0Ev + ldr r1, [sp, #0x2c] + sub r0, r1, r0 + str r0, [sp, #0x2c] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833c4Ev + ldr r1, [sp, #0x18] + sub r0, r1, r0 + str r0, [sp, #0x18] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833d0Ev + ldr r1, [sp, #0x20] + add r2, sp, #0x24 + sub r0, r1, r0 + str r0, [sp, #0x20] + ldr r1, [r5, #4] + add r0, sp, #0xc + bl _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p + ldr r1, [r5, #4] + add r0, sp, #8 + add r2, sp, #0x18 + bl _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p + ldrsh r7, [sp, #0xc] + ldrsh r0, [sp, #8] + cmp r7, r0 + addgt sp, sp, #0x6c + ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc} + add r6, sp, #0 +_02084630: + ldrsh r8, [sp, #0xe] + ldrsh r0, [sp, #0xa] + cmp r8, r0 + bgt _02084678 +_02084640: + strh r7, [sp] + strh r8, [sp, #2] + ldr r0, [r5, #4] + mov r1, r6 + ldr r3, [r0] + mov r2, r4 + ldr r3, [r3, #0xac] + blx r3 + add r0, r8, #1 + mov r0, r0, lsl #0x10 + ldrsh r1, [sp, #0xa] + mov r8, r0, asr #0x10 + cmp r1, r0, asr #16 + bge _02084640 +_02084678: + ldrsh r1, [sp, #8] + add r0, r7, #1 + mov r0, r0, lsl #0x10 + cmp r1, r0, asr #16 + mov r7, r0, asr #0x10 + bge _02084630 + add sp, sp, #0x6c + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + arm_func_end _ZN10MapManager18func_ov00_020843ecEPi + + .global _ZN10MapManager17GetMapData_Unk_38Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_38Ev +_ZN10MapManager17GetMapData_Unk_38Ev: ; 0x02084698 + ldr r0, [r0, #4] + ldr r0, [r0, #0x38] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_38Ev + + .global _ZN10MapManager18func_ov00_020846a4Ev + arm_func_start _ZN10MapManager18func_ov00_020846a4Ev +_ZN10MapManager18func_ov00_020846a4Ev: ; 0x020846a4 + ldr r1, [r0, #4] + ldr r1, [r1, #0x144] + ldr r1, [r1, #4] + cmp r1, #0xff + bne _020846f8 + ldr r0, [r0] + ldr r0, [r0, #4] + cmp r0, #4 + addls pc, pc, r0, lsl #2 + b _020846f0 +_020846cc: ; jump table + b _020846f0 ; case 0 + b _020846e0 ; case 1 + b _020846e8 ; case 2 + b _020846e0 ; case 3 + b _020846e0 ; case 4 +_020846e0: + mov r0, #1 + bx lr +_020846e8: + mov r0, #2 + bx lr +_020846f0: + mov r0, #0 + bx lr +_020846f8: + mov r0, r1 + bx lr + arm_func_end _ZN10MapManager18func_ov00_020846a4Ev + + .global _ZN10MapManager18func_ov00_02084700Ev + arm_func_start _ZN10MapManager18func_ov00_02084700Ev +_ZN10MapManager18func_ov00_02084700Ev: ; 0x02084700 + ldr r2, [r0, #4] + mvn r1, #0 + ldr r2, [r2, #0x34] + cmp r2, r1 + ldreq r0, [r0] + ldreq r2, [r0, #0xc4] + cmp r2, #0x1b + bne _02084734 + ldr r0, _0208473c ; =data_027e0fe4 + ldr r0, [r0] + ldrb r0, [r0, #0x29] + cmp r0, #0 + movne r2, #0x1c +_02084734: + mov r0, r2 + bx lr + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084700Ev +_0208473c: .word data_027e0fe4 + + .global _ZN10MapManager18func_ov00_02084740Ev + arm_func_start _ZN10MapManager18func_ov00_02084740Ev +_ZN10MapManager18func_ov00_02084740Ev: ; 0x02084740 + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x1bc + mov r5, r0 + bl _ZN10MapManager18func_ov00_02084700Ev + ldr r1, _020847d4 ; =data_027e0d38 + mov r4, r0 + ldr r0, [r1] + bl func_ov00_02078b40 + cmp r0, #2 + beq _020847a8 + ldr r0, _020847d8 ; =data_027e0f94 + add r1, sp, #0 + ldr r3, [r0] + ldr r2, [r0, #4] + str r3, [sp] + str r2, [sp, #4] + ldr r2, [r0, #8] + mov r0, r5 + str r2, [sp, #8] + bl _ZN10MapManager18func_ov00_02083780Ei + mov r1, r0 + cmp r1, #0 + ble _020847a8 + mov r0, r5 + bl _ZN10MapManager18func_ov00_020847f0Ev + mov r4, r0 +_020847a8: + ldr r5, _020847dc ; =data_ov00_020d88f0 + add lr, sp, #0xc + mov ip, #0x1b +_020847b4: + ldmia r5!, {r0, r1, r2, r3} + stmia lr!, {r0, r1, r2, r3} + subs ip, ip, #1 + bne _020847b4 + add r0, sp, #0xc + ldr r0, [r0, r4, lsl #2] + add sp, sp, #0x1bc + ldmia sp!, {r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084740Ev +_020847d4: .word data_027e0d38 +_020847d8: .word data_027e0f94 +_020847dc: .word data_ov00_020d88f0 + + .global _ZN10MapManager18func_ov00_020847e0Ev + arm_func_start _ZN10MapManager18func_ov00_020847e0Ev +_ZN10MapManager18func_ov00_020847e0Ev: ; 0x020847e0 + ldr r0, [r0, #4] + ldr r0, [r0, #0x144] + ldr r0, [r0, #0xc] + bx lr + arm_func_end _ZN10MapManager18func_ov00_020847e0Ev + + .global _ZN10MapManager18func_ov00_020847f0Ev + arm_func_start _ZN10MapManager18func_ov00_020847f0Ev +_ZN10MapManager18func_ov00_020847f0Ev: ; 0x020847f0 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + bl _ZN7MapBase11FindTriggerEi + cmp r0, #0 + bne _02084814 + mov r0, r4 + bl _ZN10MapManager18func_ov00_02084700Ev + ldmia sp!, {r4, pc} +_02084814: + ldr r0, [r0, #0xc] + mvn r1, #0 + cmp r0, r1 + beq _0208482c + cmp r0, #0x6c + ldmltia sp!, {r4, pc} +_0208482c: + mov r0, r4 + bl _ZN10MapManager18func_ov00_02084700Ev + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_020847f0Ev + + .global _ZN10MapManager18func_ov00_02084838Ev + arm_func_start _ZN10MapManager18func_ov00_02084838Ev +_ZN10MapManager18func_ov00_02084838Ev: ; 0x02084838 + stmdb sp!, {r3, lr} + bl _ZN10MapManager17GetMapData_Unk_38Ev + cmp r0, #0x16 + addls pc, pc, r0, lsl #2 + b _020848b0 +_0208484c: ; jump table + b _020848b0 ; case 0 + b _020848a8 ; case 1 + b _020848a8 ; case 2 + b _020848a8 ; case 3 + b _020848a8 ; case 4 + b _020848a8 ; case 5 + b _020848b0 ; case 6 + b _020848b0 ; case 7 + b _020848b0 ; case 8 + b _020848b0 ; case 9 + b _020848a8 ; case 10 + b _020848a8 ; case 11 + b _020848a8 ; case 12 + b _020848b0 ; case 13 + b _020848b0 ; case 14 + b _020848b0 ; case 15 + b _020848b0 ; case 16 + b _020848a8 ; case 17 + b _020848b0 ; case 18 + b _020848a8 ; case 19 + b _020848a8 ; case 20 + b _020848a8 ; case 21 + b _020848a8 ; case 22 +_020848a8: + mov r0, #1 + ldmia sp!, {r3, pc} +_020848b0: + mov r0, #0 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084838Ev + + .global _ZN10MapManager18func_ov00_020848b8Ev + arm_func_start _ZN10MapManager18func_ov00_020848b8Ev +_ZN10MapManager18func_ov00_020848b8Ev: ; 0x020848b8 + stmdb sp!, {r3, lr} + bl _ZN10MapManager18func_ov00_020846a4Ev + cmp r0, #0x11 + addls pc, pc, r0, lsl #2 + b _0208491c +_020848cc: ; jump table + b _0208491c ; case 0 + b _0208491c ; case 1 + b _0208491c ; case 2 + b _0208491c ; case 3 + b _0208491c ; case 4 + b _0208491c ; case 5 + b _02084914 ; case 6 + b _0208491c ; case 7 + b _0208491c ; case 8 + b _0208491c ; case 9 + b _0208491c ; case 10 + b _0208491c ; case 11 + b _02084914 ; case 12 + b _02084914 ; case 13 + b _0208491c ; case 14 + b _02084914 ; case 15 + b _0208491c ; case 16 + b _02084914 ; case 17 +_02084914: + mov r0, #1 + ldmia sp!, {r3, pc} +_0208491c: + mov r0, #0 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_020848b8Ev + + .global _ZN10MapManager18func_ov00_02084924Ej + arm_func_start _ZN10MapManager18func_ov00_02084924Ej +_ZN10MapManager18func_ov00_02084924Ej: ; 0x02084924 + ldr ip, _02084930 ; =_ZN7MapBase18func_ov00_0208008cEj + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084924Ej +_02084930: .word _ZN7MapBase18func_ov00_0208008cEj + + .global _ZN10MapManager18func_ov00_02084934Ev + arm_func_start _ZN10MapManager18func_ov00_02084934Ev +_ZN10MapManager18func_ov00_02084934Ev: ; 0x02084934 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0xc + mov r6, r1 + mov r7, r0 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + ldr r1, [r6, #8] + ldr r4, [r6, #4] + sub r5, r1, r0 + mov r0, r7 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + ldr r2, [r6] + add r1, sp, #0 + sub r0, r2, r0 + str r4, [sp, #4] + str r5, [sp, #8] + str r0, [sp] + ldr r0, [r7, #4] + bl _ZN7MapBase10IsInBoundsEP5Vec3p + add sp, sp, #0xc + ldmia sp!, {r4, r5, r6, r7, pc} + arm_func_end _ZN10MapManager18func_ov00_02084934Ev + + .global _ZN10MapManager17GetMapData_Unk_06Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_06Ev +_ZN10MapManager17GetMapData_Unk_06Ev: ; 0x02084984 + ldr r0, [r0, #4] + ldrb r0, [r0, #6] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_06Ev + + .global _ZN10MapManager17GetMapData_Unk_07Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_07Ev +_ZN10MapManager17GetMapData_Unk_07Ev: ; 0x02084990 + ldr r0, [r0, #4] + ldrb r0, [r0, #7] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_07Ev + + .global _ZN10MapManager18func_ov00_0208499cEv + arm_func_start _ZN10MapManager18func_ov00_0208499cEv +_ZN10MapManager18func_ov00_0208499cEv: ; 0x0208499c + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN10MapManager18func_ov00_020849c0Ev + cmp r0, #0 + movne r0, #0 + ldmneia sp!, {r4, pc} + ldr r0, [r4] + bl _ZN6Course22IsCurrentMapInMainGridEv + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_0208499cEv + + .global _ZN10MapManager18func_ov00_020849c0Ev + arm_func_start _ZN10MapManager18func_ov00_020849c0Ev +_ZN10MapManager18func_ov00_020849c0Ev: ; 0x020849c0 + ldr r1, [r0] + mvn r0, #1 + ldr r1, [r1, #8] + cmp r1, r0 + moveq r0, #1 + movne r0, #0 + bx lr + arm_func_end _ZN10MapManager18func_ov00_020849c0Ev + + .global _ZN10MapManager18func_ov00_020849dcEv + arm_func_start _ZN10MapManager18func_ov00_020849dcEv +_ZN10MapManager18func_ov00_020849dcEv: ; 0x020849dc + ldr r1, [r0] + mvn r0, #2 + ldr r1, [r1, #8] + cmp r1, r0 + moveq r0, #1 + movne r0, #0 + bx lr + arm_func_end _ZN10MapManager18func_ov00_020849dcEv + + .global _ZN10MapManager18func_ov00_020849f8Ei + arm_func_start _ZN10MapManager18func_ov00_020849f8Ei +_ZN10MapManager18func_ov00_020849f8Ei: ; 0x020849f8 + stmdb sp!, {r4, lr} + ldr r1, _02084a4c ; =data_027e0d38 + mov r4, r0 + ldr r0, [r1] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #5 + bne _02084a20 + mov r0, #1 + ldmia sp!, {r4, pc} +_02084a20: + mov r0, r4 + bl _ZN10MapManager17GetMapData_Unk_06Ev + cmp r0, #0 + beq _02084a44 + mov r0, r4 + bl _ZN10MapManager18func_ov00_020849c0Ev + cmp r0, #0 + moveq r0, #1 + ldmeqia sp!, {r4, pc} +_02084a44: + mov r0, #0 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020849f8Ei +_02084a4c: .word data_027e0d38 + + .global _ZN10MapManager18func_ov00_02084a50Ev + arm_func_start _ZN10MapManager18func_ov00_02084a50Ev +_ZN10MapManager18func_ov00_02084a50Ev: ; 0x02084a50 + ldr r0, [r0, #4] + ldrb r0, [r0, #0x11] + bx lr + arm_func_end _ZN10MapManager18func_ov00_02084a50Ev + + .global _ZN10MapManager8SpawnNPCEP5Vec3pii + arm_func_start _ZN10MapManager8SpawnNPCEP5Vec3pii +_ZN10MapManager8SpawnNPCEP5Vec3pii: ; 0x02084a5c + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x30 + add r0, sp, #4 + mov r6, r1 + mov r5, r2 + mov r4, r3 + bl func_ov00_020c1500 + mvn r1, #0 + add r0, sp, #4 + str r1, [sp, #0x20] + str r1, [sp, #0x24] + bl func_ov00_020c3348 + str r5, [sp, #0x28] + str r4, [sp, #0x2c] + mov r1, #0 + str r1, [sp] + ldr r0, _02084abc ; =data_027e0fe8 + ldr r1, _02084ac0 ; =0x45564943 + ldr r0, [r0] + mov r2, r6 + add r3, sp, #4 + bl func_ov00_020c4048 + add sp, sp, #0x30 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager8SpawnNPCEP5Vec3pii +_02084abc: .word data_027e0fe8 +_02084ac0: .word 0x45564943 + + .global _ZN10MapManager18func_ov00_02084ac4Ej + arm_func_start _ZN10MapManager18func_ov00_02084ac4Ej +_ZN10MapManager18func_ov00_02084ac4Ej: ; 0x02084ac4 + stmdb sp!, {r3, lr} + ldr r0, _02084b00 ; =data_027e0fe4 + ldr r0, [r0] + bl _ZN12ActorManager13FindActorByIdEj + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r2, [r0, #4] + ldr r1, _02084b04 ; =0x45564943 + cmp r2, r1 + movne r0, #0 + moveq r1, #0 + streqb r1, [r0, #0x118] + moveq r0, #1 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084ac4Ej +_02084b00: .word data_027e0fe4 +_02084b04: .word 0x45564943 + + .global _ZN10MapManager10SetNumKeysEi + arm_func_start _ZN10MapManager10SetNumKeysEi +_ZN10MapManager10SetNumKeysEi: ; 0x02084b08 + ldr r0, [r0] + str r1, [r0, #0x260] + bx lr + arm_func_end _ZN10MapManager10SetNumKeysEi + + .global _ZN10MapManager10GetNumKeysEv + arm_func_start _ZN10MapManager10GetNumKeysEv +_ZN10MapManager10GetNumKeysEv: ; 0x02084b14 + ldr r0, [r0] + ldr r0, [r0, #0x260] + bx lr + arm_func_end _ZN10MapManager10GetNumKeysEv + + .global _ZN10MapManager21SetCourseData_Unk_25cEc + arm_func_start _ZN10MapManager21SetCourseData_Unk_25cEc +_ZN10MapManager21SetCourseData_Unk_25cEc: ; 0x02084b20 + ldr r0, [r0] + strb r1, [r0, #0x25d] + bx lr + arm_func_end _ZN10MapManager21SetCourseData_Unk_25cEc + + .global _ZN10MapManager21GetCourseData_Unk_25dEv + arm_func_start _ZN10MapManager21GetCourseData_Unk_25dEv +_ZN10MapManager21GetCourseData_Unk_25dEv: ; 0x02084b2c + ldr r0, [r0] + ldrb r0, [r0, #0x25d] + bx lr + arm_func_end _ZN10MapManager21GetCourseData_Unk_25dEv + + .global _ZN10MapManager18func_ov00_02084b38Eiii + arm_func_start _ZN10MapManager18func_ov00_02084b38Eiii +_ZN10MapManager18func_ov00_02084b38Eiii: ; 0x02084b38 + stmdb sp!, {r3, lr} + cmp r1, #0 + ldmeqia sp!, {r3, pc} + cmp r2, #3 + addls pc, pc, r2, lsl #2 + ldmia sp!, {r3, pc} +_02084b50: ; jump table + b _02084b60 ; case 0 + b _02084bb0 ; case 1 + b _02084bc0 ; case 2 + b _02084bd0 ; case 3 +_02084b60: + cmp r3, #0 + ldr r0, [r0, #4] + beq _02084b8c + add ip, r0, #0x180 + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + ldmia sp!, {r3, pc} +_02084b8c: + add r3, r0, #0x180 + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + ldmia sp!, {r3, pc} +_02084bb0: + ldr r0, [r0] + mov r2, r3 + bl _ZN6Course15SetMapDataFlag0Eib + ldmia sp!, {r3, pc} +_02084bc0: + ldr r0, [r0] + mov r2, r3 + bl _ZN6Course8SetFlag0Ejb + ldmia sp!, {r3, pc} +_02084bd0: + ldr r0, [r0] + mov r2, r3 + bl _ZN6Course8SetFlag1Ejb + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084b38Eiii + + .global _ZN10MapManager18func_ov00_02084be0Eii + arm_func_start _ZN10MapManager18func_ov00_02084be0Eii +_ZN10MapManager18func_ov00_02084be0Eii: ; 0x02084be0 + stmdb sp!, {r3, lr} + cmp r1, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + cmp r2, #3 + addls pc, pc, r2, lsl #2 + b _02084c54 +_02084bfc: ; jump table + b _02084c0c ; case 0 + b _02084c30 ; case 1 + b _02084c3c ; case 2 + b _02084c48 ; case 3 +_02084c0c: + ldr r2, [r0, #4] + mov r0, r1, lsr #0x5 + add r0, r2, r0, lsl #2 + ldr r2, [r0, #0x180] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + ldmia sp!, {r3, pc} +_02084c30: + ldr r0, [r0] + bl _ZN6Course15GetMapDataFlag0Ei + ldmia sp!, {r3, pc} +_02084c3c: + ldr r0, [r0] + bl _ZN6Course8GetFlag0Ej + ldmia sp!, {r3, pc} +_02084c48: + ldr r0, [r0] + bl _ZN6Course8SetFlag1Ej + ldmia sp!, {r3, pc} +_02084c54: + mov r0, #0 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084be0Eii + + .global _ZN10MapManager18func_ov00_02084c5cEii + arm_func_start _ZN10MapManager18func_ov00_02084c5cEii +_ZN10MapManager18func_ov00_02084c5cEii: ; 0x02084c5c + ldr ip, _02084c68 ; =_ZN6Course15SetMapDataFlag1Eib + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084c5cEii +_02084c68: .word _ZN6Course15SetMapDataFlag1Eib + + .global _ZN10MapManager18func_ov00_02084c6cEi + arm_func_start _ZN10MapManager18func_ov00_02084c6cEi +_ZN10MapManager18func_ov00_02084c6cEi: ; 0x02084c6c + ldr ip, _02084c78 ; =_ZN6Course15GetMapDataFlag1Ei + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084c6cEi +_02084c78: .word _ZN6Course15GetMapDataFlag1Ei + + .global _ZN10MapManager18func_ov00_02084c7cEi + arm_func_start _ZN10MapManager18func_ov00_02084c7cEi +_ZN10MapManager18func_ov00_02084c7cEi: ; 0x02084c7c + stmdb sp!, {r3, lr} + cmp r1, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl _ZN6Course15SetMapDataFlag2Eib + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084c7cEi + + .global _ZN10MapManager18func_ov00_02084c94Ei + arm_func_start _ZN10MapManager18func_ov00_02084c94Ei +_ZN10MapManager18func_ov00_02084c94Ei: ; 0x02084c94 + stmdb sp!, {r3, lr} + cmp r1, #0 + movlt r0, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl _ZN6Course15GetMapDataFlag2Ei + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084c94Ei + + .global _ZN10MapManager18func_ov00_02084cb0Ei + arm_func_start _ZN10MapManager18func_ov00_02084cb0Ei +_ZN10MapManager18func_ov00_02084cb0Ei: ; 0x02084cb0 + stmdb sp!, {r3, lr} + cmp r1, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl _ZN6Course15SetMapDataFlag3Eib + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084cb0Ei + + .global _ZN10MapManager18func_ov00_02084cc8Ei + arm_func_start _ZN10MapManager18func_ov00_02084cc8Ei +_ZN10MapManager18func_ov00_02084cc8Ei: ; 0x02084cc8 + stmdb sp!, {r3, lr} + cmp r1, #0 + movlt r0, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl _ZN6Course15GetMapDataFlag3Ei + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084cc8Ei + + .global _ZN10MapManager18func_ov00_02084ce4Ei + arm_func_start _ZN10MapManager18func_ov00_02084ce4Ei +_ZN10MapManager18func_ov00_02084ce4Ei: ; 0x02084ce4 + stmdb sp!, {r3, lr} + cmp r1, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl _ZN6Course15SetMapDataFlag4Eii + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084ce4Ei + + .global _ZN10MapManager18func_ov00_02084cfcEi + arm_func_start _ZN10MapManager18func_ov00_02084cfcEi +_ZN10MapManager18func_ov00_02084cfcEi: ; 0x02084cfc + stmdb sp!, {r3, lr} + cmp r1, #0 + movlt r0, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl _ZN6Course15GetMapDataFlag4Ei + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084cfcEi + + .global _ZN10MapManager17GetMapData_Unk_09Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_09Ev +_ZN10MapManager17GetMapData_Unk_09Ev: ; 0x02084d18 + ldr r0, [r0, #4] + ldrb r0, [r0, #9] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_09Ev + + .global _ZN10MapManager18func_ov00_02084d24Ecci + arm_func_start _ZN10MapManager18func_ov00_02084d24Ecci +_ZN10MapManager18func_ov00_02084d24Ecci: ; 0x02084d24 + stmdb sp!, {r3, lr} + strb r1, [sp] + strb r2, [sp, #1] + ldr r0, [r0, #4] + add r1, sp, #0 + ldr ip, [r0] + mov r2, r3 + ldr ip, [ip, #0x90] + blx ip + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084d24Ecci + + .global _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p +_ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p: ; 0x02084d4c + stmdb sp!, {r4, lr} + sub sp, sp, #0x38 + add r4, sp, #0x20 + str r4, [sp] + ldr r0, _02084ea0 ; =data_027e0f64 + mov r4, r3 + ldr r0, [r0] + add r3, sp, #0x2c + ldr r0, [r0, #4] + bl func_ov00_0208df78 + mvn r1, #0 + cmp r0, r1 + addeq sp, sp, #0x38 + moveq r0, r1 + ldmeqia sp!, {r4, pc} + ldr r0, _02084ea4 ; =data_ov00_020ec964 + ldr r0, [r0, #0x60] + tst r0, #1 + bne _02084de4 + mov lr, #0 + mov r1, #0x1000 + ldr ip, _02084ea8 ; =data_ov00_020e2510 + add r0, sp, #8 + str lr, [sp, #8] + str lr, [sp, #0x10] + str r1, [sp, #0xc] + ldmia r0, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldr r3, _02084eac ; =data_ov00_020e24a4 + ldr r1, _02084eb0 ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r2, _02084eb4 ; =data_ov00_020ec9c8 + mov r0, ip + str lr, [r3, #0x78] + bl __register_global_object + ldr r0, _02084ea4 ; =data_ov00_020ec964 + ldr r1, [r0, #0x60] + orr r1, r1, #1 + str r1, [r0, #0x60] +_02084de4: + add r0, sp, #0x20 + add r3, sp, #0x14 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r1, sp, #0x2c + mov r0, r3 + mov r2, r3 + bl func_01ff9bf8 + ldr r0, _02084ea8 ; =data_ov00_020e2510 + add r1, sp, #0x2c + add r2, sp, #0x14 + add r3, sp, #4 + bl func_01ffe61c + cmp r0, #0 + addeq sp, sp, #0x38 + mvneq r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [sp, #0x2c] + add r1, sp, #0x14 + str r0, [r4] + ldr r0, [sp, #0x30] + mov r2, r4 + str r0, [r4, #4] + ldr r0, [sp, #0x34] + mov r3, r4 + str r0, [r4, #8] + ldr r0, [sp, #4] + bl func_01ff9e64 + ldr r0, [sp, #4] + cmp r0, #0 + addge sp, sp, #0x38 + movge r0, #0 + ldmgeia sp!, {r4, pc} + ldr r1, [sp, #0x2c] + ldr r0, _02084eb8 ; =0x0000019a + str r1, [r4] + ldr r2, [sp, #0x30] + add r1, sp, #0x14 + str r2, [r4, #4] + ldr ip, [sp, #0x34] + mov r2, r4 + mov r3, r4 + str ip, [r4, #8] + bl func_01ff9e64 + mov r0, #1 + add sp, sp, #0x38 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p +_02084ea0: .word data_027e0f64 +_02084ea4: .word data_ov00_020ec964 +_02084ea8: .word data_ov00_020e2510 +_02084eac: .word data_ov00_020e24a4 +_02084eb0: .word _ZN7MapBase18func_ov00_0207e968Ev +_02084eb4: .word data_ov00_020ec9c8 +_02084eb8: .word 0x0000019a + + .global _ZN10MapManager18func_ov00_02084ebcEi + arm_func_start _ZN10MapManager18func_ov00_02084ebcEi +_ZN10MapManager18func_ov00_02084ebcEi: ; 0x02084ebc + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #8 + mov r6, r0 + mov r5, r1 + add r0, sp, #0 + mov r1, r6 + mov r2, r5 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r1, sp, #0 + mov r0, r6 + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r4, r0 + beq _02084f50 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x38 + bgt _02084f14 + bge _02084f50 + cmp r0, #1 + beq _02084f50 + b _02084f44 +_02084f14: + cmp r0, #0x59 + bgt _02084f24 + beq _02084f50 + b _02084f44 +_02084f24: + cmp r0, #0x61 + bne _02084f44 + ldr r0, [r4, #8] + cmp r0, #2 + bne _02084f50 + add sp, sp, #8 + mov r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_02084f44: + add sp, sp, #8 + mov r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_02084f50: + add r1, sp, #0 + mov r0, r6 + bl _ZN10MapManager18func_ov00_02083e70Ev + cmp r0, #0 + addne sp, sp, #8 + movne r0, #0 + ldmneia sp!, {r4, r5, r6, pc} + add r1, sp, #0 + mov r0, r6 + bl _ZN10MapManager16MapData_vfunc_54Ev + cmp r0, #0x46 + bgt _0208504c + bge _0208506c + cmp r0, #0x29 + bgt _02085040 + cmp r0, #0 + addge pc, pc, r0, lsl #2 + b _02085078 +_02084f98: ; jump table + b _02085078 ; case 0 + b _0208506c ; case 1 + b _0208506c ; case 2 + b _0208506c ; case 3 + b _0208506c ; case 4 + b _0208506c ; case 5 + b _0208506c ; case 6 + b _02085078 ; case 7 + b _0208506c ; case 8 + b _0208506c ; case 9 + b _02085078 ; case 10 + b _02085078 ; case 11 + b _02085078 ; case 12 + b _02085078 ; case 13 + b _02085078 ; case 14 + b _02085078 ; case 15 + b _02085078 ; case 16 + b _02085078 ; case 17 + b _02085078 ; case 18 + b _02085078 ; case 19 + b _0208506c ; case 20 + b _02085078 ; case 21 + b _0208506c ; case 22 + b _0208506c ; case 23 + b _02085078 ; case 24 + b _0208506c ; case 25 + b _02085078 ; case 26 + b _02085078 ; case 27 + b _02085078 ; case 28 + b _0208506c ; case 29 + b _0208506c ; case 30 + b _0208506c ; case 31 + b _02085078 ; case 32 + b _02085078 ; case 33 + b _02085078 ; case 34 + b _02085078 ; case 35 + b _02085078 ; case 36 + b _02085078 ; case 37 + b _02085078 ; case 38 + b _0208506c ; case 39 + b _0208506c ; case 40 + b _0208506c ; case 41 +_02085040: + cmp r0, #0x37 + beq _0208506c + b _02085078 +_0208504c: + cmp r0, #0x48 + bgt _02085064 + bge _0208506c + cmp r0, #0x47 + beq _0208506c + b _02085078 +_02085064: + cmp r0, #0x50 + bne _02085078 +_0208506c: + add sp, sp, #8 + mov r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_02085078: + ldr r0, [r6, #4] + add r1, sp, #0 + ldr r3, [r0] + mov r2, #5 + ldr r3, [r3, #0x58] + blx r3 + cmp r0, #0 + addne sp, sp, #8 + movne r0, #0 + ldmneia sp!, {r4, r5, r6, pc} + mov r0, r6 + mov r1, r5 + bl _ZN10MapManager16MapData_vfunc_70Ev + ldr r1, _02085100 ; =0x0000ffff + mov r2, r0 + cmp r2, r1 + addeq sp, sp, #8 + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + ldr r1, _02085104 ; =data_027e0f6c + add r0, sp, #4 + ldr r1, [r1] + bl func_ov00_02093a1c + ldr r0, [sp, #4] + mov r0, r0, lsr #0x5 + and r0, r0, #3 + cmp r0, #1 + bne _020850f4 + add sp, sp, #8 + mov r0, #1 + ldmia sp!, {r4, r5, r6, pc} +_020850f4: + mov r0, #0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084ebcEi +_02085100: .word 0x0000ffff +_02085104: .word data_027e0f6c + + .global _ZN10MapManager18func_ov00_02085108EPi + arm_func_start _ZN10MapManager18func_ov00_02085108EPi +_ZN10MapManager18func_ov00_02085108EPi: ; 0x02085108 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x2c + ldr r0, _02085274 ; =data_027e0f64 + str r1, [sp] + ldr r0, [r0] + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x18 + bl func_ov00_02088130 + mov r1, #0 + ldr r0, _02085274 ; =data_027e0f64 + strb r1, [sp, #0x13] + strb r1, [sp, #0x12] + ldrb r1, [sp, #0x18] + ldr r0, [r0] + str r1, [sp, #0xc] + ldrb r1, [sp, #0x19] + str r1, [sp, #8] + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x16 + bl func_ov00_02088144 + mov r0, #0 + strb r0, [sp, #0x11] + strb r0, [sp, #0x10] + ldr r1, [sp, #0xc] + ldr r0, [sp, #8] + ldrb r7, [sp, #0x16] + cmp r1, r0 + ldrb r0, [sp, #0x17] + str r0, [sp, #4] + bgt _02085268 +_02085188: + ldr r6, [sp, #4] + mov r0, r6 + cmp r0, r7 + blt _02085250 + ldr r0, [sp, #0xc] + ldr r11, _02085278 ; =gMapManager + and r5, r0, #0xff +_020851a4: + ldr r0, [r11] + add r1, sp, #0x14 + strb r5, [sp, #0x14] + strb r6, [sp, #0x15] + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r4, r0 + beq _02085244 + ldr r1, [r4, #4] + tst r1, #4 + beq _02085244 + ldr r1, [r0] + ldr r9, [r4, #0x1c] + ldr r1, [r1, #0x60] + ldr r8, [r4, #0x18] + ldr r10, [r4, #0x20] + blx r1 + add r9, r9, r0 + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x5c] + blx r1 + str r0, [sp, #0x28] + add r0, sp, #0x1c + mov r1, #2 + str r8, [sp, #0x1c] + str r9, [sp, #0x20] + str r10, [sp, #0x24] + bl func_0202b8e4 + cmp r0, #0 + beq _02085244 + ldr r0, [sp] + ldr r1, [r4, #0x18] + add sp, sp, #0x2c + str r1, [r0] + ldr r1, [r4, #0x1c] + str r1, [r0, #4] + ldr r1, [r4, #0x20] + str r1, [r0, #8] + ldrsb r0, [r4, #0x12] + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_02085244: + sub r6, r6, #1 + cmp r6, r7 + bge _020851a4 +_02085250: + ldr r0, [sp, #0xc] + add r1, r0, #1 + ldr r0, [sp, #8] + str r1, [sp, #0xc] + cmp r1, r0 + ble _02085188 +_02085268: + mov r0, #0 + add sp, sp, #0x2c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02085108EPi +_02085274: .word data_027e0f64 +_02085278: .word gMapManager + + .global _ZN10MapManager18func_ov00_0208527cEv + arm_func_start _ZN10MapManager18func_ov00_0208527cEv +_ZN10MapManager18func_ov00_0208527cEv: ; 0x0208527c + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x2c + ldr r3, _020853f4 ; =data_027e0f64 + mov r4, r0 + ldr r0, [r3] + mov r10, r1 + str r2, [sp] + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x14 + bl func_ov00_02088130 + mov r1, #0 + ldr r0, _020853f4 ; =data_027e0f64 + strb r1, [sp, #0xf] + strb r1, [sp, #0xe] + ldrb r1, [sp, #0x15] + ldr r0, [r0] + ldrb r11, [sp, #0x14] + str r1, [sp, #8] + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x12 + bl func_ov00_02088144 + mov r0, #0 + strb r0, [sp, #0xd] + strb r0, [sp, #0xc] + ldrb r0, [sp, #0x12] + ldrb r9, [sp, #0x13] + str r0, [sp, #4] + mov r0, r4 + bl _ZN10MapManager17Get_MapData_Unk28Ev + mov r5, r0 + mov r0, r4 + bl _ZN10MapManager17Get_MapData_Unk2aEv + cmp r11, #0 + ldr r1, [sp, #8] + movle r11, #0 + cmp r1, r5 + ldr r1, [sp, #4] + subge r11, r5, #1 + cmp r1, #0 + movle r1, #0 + strle r1, [sp, #4] + cmp r9, r0 + subge r9, r0, #1 + mov r0, #0 + str r0, [sp, #0x24] + str r0, [sp, #0x18] + str r0, [sp, #0x1c] + str r0, [sp, #0x20] + ldr r0, [sp, #8] + cmp r11, r0 + bgt _020853e8 + ldr r4, _020853f8 ; =gMapManager + add r6, sp, #0x10 +_02085358: + ldr r8, [sp, #4] + mov r0, r8 + cmp r0, r9 + bgt _020853d8 + and r7, r11, #0xff +_0208536c: + ldr r0, [r4] + mov r1, r6 + strb r7, [sp, #0x10] + strb r8, [sp, #0x11] + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r5, r0 + beq _020853cc + ldr r1, [r5, #4] + tst r1, #4 + beq _020853cc + mov r1, r10 + bl func_ov00_0208b73c + cmp r0, #0 + beq _020853cc + ldr r0, [sp] + ldr r1, [r5, #0x18] + add sp, sp, #0x2c + str r1, [r0] + ldr r1, [r5, #0x1c] + str r1, [r0, #4] + ldr r1, [r5, #0x20] + str r1, [r0, #8] + ldrsb r0, [r5, #0x12] + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_020853cc: + add r8, r8, #1 + cmp r8, r9 + ble _0208536c +_020853d8: + ldr r0, [sp, #8] + add r11, r11, #1 + cmp r11, r0 + ble _02085358 +_020853e8: + mov r0, #0 + add sp, sp, #0x2c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208527cEv +_020853f4: .word data_027e0f64 +_020853f8: .word gMapManager + + .global _ZN10MapManager18func_ov00_020853fcEv + arm_func_start _ZN10MapManager18func_ov00_020853fcEv +_ZN10MapManager18func_ov00_020853fcEv: ; 0x020853fc + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x2c + ldr r3, _0208558c ; =data_027e0f64 + mov r5, r0 + ldr r0, [r3] + mov r10, r1 + mov r9, r2 + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x14 + bl func_ov00_02088130 + mov r1, #0 + ldr r0, _0208558c ; =data_027e0f64 + strb r1, [sp, #0xf] + strb r1, [sp, #0xe] + ldrb r1, [sp, #0x14] + ldr r0, [r0] + str r1, [sp, #8] + ldrb r1, [sp, #0x15] + str r1, [sp, #4] + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x12 + bl func_ov00_02088144 + mov r0, #0 + strb r0, [sp, #0xd] + strb r0, [sp, #0xc] + ldrb r0, [sp, #0x12] + ldrb r8, [sp, #0x13] + str r0, [sp] + mov r0, r5 + bl _ZN10MapManager17Get_MapData_Unk28Ev + mov r4, r0 + mov r0, r5 + bl _ZN10MapManager17Get_MapData_Unk2aEv + mov r11, #0 + ldr r1, [sp, #8] + str r11, [sp, #0x24] + cmp r1, #0 + movle r1, #0 + strle r1, [sp, #8] + ldr r1, [sp, #4] + str r11, [sp, #0x18] + cmp r1, r4 + subge r1, r4, #1 + strge r1, [sp, #8] + ldr r1, [sp] + str r11, [sp, #0x1c] + cmp r1, #0 + movle r1, #0 + strle r1, [sp] + cmp r8, r0 + subge r8, r0, #1 + ldr r1, [sp, #8] + ldr r0, [sp, #4] + str r11, [sp, #0x20] + cmp r1, r0 + bgt _02085580 +_020854e4: + ldr r7, [sp] + mov r0, r7 + cmp r0, r8 + bgt _02085568 + ldr r0, [sp, #8] + and r6, r0, #0xff +_020854fc: + ldr r0, _02085590 ; =gMapManager + add r1, sp, #0x10 + ldr r0, [r0] + strb r6, [sp, #0x10] + strb r7, [sp, #0x11] + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r5, r0 + beq _0208555c + ldr r0, [r5, #4] + tst r0, #4 + beq _0208555c + mov r1, r10 + add r0, r5, #0x18 + bl func_01ff9ec0 + ldr r1, [r9] + mov r4, r0 + cmp r4, r1 + bge _0208555c + mov r0, r5 + mov r1, r10 + bl func_ov00_0208b7d0 + cmp r0, #0 + movne r11, r5 + strne r4, [r9] +_0208555c: + add r7, r7, #1 + cmp r7, r8 + ble _020854fc +_02085568: + ldr r0, [sp, #8] + add r1, r0, #1 + ldr r0, [sp, #4] + str r1, [sp, #8] + cmp r1, r0 + ble _020854e4 +_02085580: + mov r0, r11 + add sp, sp, #0x2c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020853fcEv +_0208558c: .word data_027e0f64 +_02085590: .word gMapManager + + .global _ZN10MapManager18func_ov00_02085594Ev + arm_func_start _ZN10MapManager18func_ov00_02085594Ev +_ZN10MapManager18func_ov00_02085594Ev: ; 0x02085594 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x14 + mov r7, r0 + mov r6, r1 + add r0, sp, #0 + mov r1, r7 + mov r2, r6 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r1, sp, #0 + mov r0, r7 + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r4, r0 + mov r5, #1 + beq _02085670 + ldr r1, [r4, #0x18] + str r1, [r6] + ldr r1, [r4, #0x1c] + str r1, [r6, #4] + ldr r1, [r4, #0x20] + str r1, [r6, #8] + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x42 + bgt _02085618 + bge _02085658 + cmp r0, #1 + bgt _0208560c + beq _02085670 + b _02085664 +_0208560c: + cmp r0, #0x38 + beq _02085670 + b _02085664 +_02085618: + cmp r0, #0x59 + bgt _02085628 + beq _02085648 + b _02085664 +_02085628: + cmp r0, #0x61 + bne _02085664 + ldr r0, [r4, #8] + cmp r0, #2 + bne _02085670 + add sp, sp, #0x14 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, pc} +_02085648: + ldr r0, [r4, #8] + cmp r0, #4 + movne r5, #0 + b _02085670 +_02085658: + add sp, sp, #0x14 + mov r0, #2 + ldmia sp!, {r4, r5, r6, r7, pc} +_02085664: + add sp, sp, #0x14 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, pc} +_02085670: + ldrb r1, [sp] + ldrb r2, [sp, #1] + mov r0, r7 + bl _ZN10MapManager18func_ov00_020840a0Ecci + cmp r0, #0x46 + bgt _02085754 + bge _02085774 + cmp r0, #0x29 + bgt _02085748 + cmp r0, #0 + addge pc, pc, r0, lsl #2 + b _02085780 +_020856a0: ; jump table + b _02085780 ; case 0 + b _02085774 ; case 1 + b _02085774 ; case 2 + b _02085774 ; case 3 + b _02085774 ; case 4 + b _02085774 ; case 5 + b _02085774 ; case 6 + b _02085780 ; case 7 + b _02085774 ; case 8 + b _02085774 ; case 9 + b _02085780 ; case 10 + b _02085780 ; case 11 + b _02085780 ; case 12 + b _02085780 ; case 13 + b _02085780 ; case 14 + b _02085780 ; case 15 + b _02085780 ; case 16 + b _02085780 ; case 17 + b _02085780 ; case 18 + b _02085780 ; case 19 + b _02085774 ; case 20 + b _02085780 ; case 21 + b _02085774 ; case 22 + b _02085774 ; case 23 + b _02085780 ; case 24 + b _02085774 ; case 25 + b _02085780 ; case 26 + b _02085780 ; case 27 + b _02085780 ; case 28 + b _02085774 ; case 29 + b _02085774 ; case 30 + b _02085774 ; case 31 + b _02085780 ; case 32 + b _02085780 ; case 33 + b _02085780 ; case 34 + b _02085780 ; case 35 + b _02085780 ; case 36 + b _02085780 ; case 37 + b _02085780 ; case 38 + b _02085774 ; case 39 + b _02085774 ; case 40 + b _02085774 ; case 41 +_02085748: + cmp r0, #0x37 + beq _02085774 + b _02085780 +_02085754: + cmp r0, #0x48 + bgt _0208576c + bge _02085774 + cmp r0, #0x47 + beq _02085774 + b _02085780 +_0208576c: + cmp r0, #0x50 + bne _02085780 +_02085774: + add sp, sp, #0x14 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, pc} +_02085780: + ldr r0, [r7, #4] + add r1, sp, #0 + ldr r3, [r0] + mov r2, #5 + ldr r3, [r3, #0x58] + blx r3 + cmp r0, #0 + addne sp, sp, #0x14 + movne r0, #0 + ldmneia sp!, {r4, r5, r6, r7, pc} + ldrb r2, [sp] + ldrb r0, [sp, #1] + sub r3, sp, #4 + add r1, sp, #8 + strb r2, [r3] + strb r0, [r3, #1] + ldr r2, [r3] + mov r0, r7 + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi + add r1, sp, #8 + mov r0, r7 + bl _ZN10MapManager16MapData_vfunc_70Ev + ldr r1, _02085834 ; =0x0000ffff + mov r2, r0 + cmp r2, r1 + addeq sp, sp, #0x14 + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, pc} + ldr r1, _02085838 ; =data_027e0f6c + add r0, sp, #4 + ldr r1, [r1] + bl func_ov00_02093a1c + ldr r0, [sp, #4] + mov r0, r0, lsr #0x5 + and r0, r0, #3 + cmp r0, #1 + bne _02085828 + cmp r5, #0 + movne r0, #1 + add sp, sp, #0x14 + moveq r0, #2 + ldmia sp!, {r4, r5, r6, r7, pc} +_02085828: + mov r0, #0 + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02085594Ev +_02085834: .word 0x0000ffff +_02085838: .word data_027e0f6c + + .global _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi +_ZN10MapManager18func_ov00_0208583cEiP5Vec3pi: ; 0x0208583c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r3, r1 + mov r4, r2 + add r0, sp, #0 + mov r1, r5 + mov r2, r3 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r1, sp, #0 + mov r0, r5 + bl _ZN10MapManager16MapData_vfunc_78Ev + cmp r0, #0 + mvneq r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r1, _020858ac ; =data_027e077c + ldr r2, [r1] + cmp r2, #1 + mvnne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r1, [r1, #4] + cmp r2, r1 + mvnne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x30] + blx r2 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi +_020858ac: .word data_027e077c + + .global _ZN10MapManager18func_ov00_020858b0Ev + arm_func_start _ZN10MapManager18func_ov00_020858b0Ev +_ZN10MapManager18func_ov00_020858b0Ev: ; 0x020858b0 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x1c + mov r9, r2 + mov r10, r0 + mov r11, r1 + cmp r9, #1 + bne _020858e4 + ldr r0, _02085a2c ; =data_027e0f64 + mov r1, #7 + ldr r0, [r0] + ldr r0, [r0, #4] + bl func_ov00_02088000 + b _020858f8 +_020858e4: + ldr r0, _02085a2c ; =data_027e0f64 + mov r1, #6 + ldr r0, [r0] + ldr r0, [r0, #4] + bl func_ov00_02088000 +_020858f8: + mov r0, r10 + bl _ZN10MapManager17Get_MapData_Unk28Ev + str r0, [sp, #0x10] + mov r0, r10 + bl _ZN10MapManager17Get_MapData_Unk2aEv + str r0, [sp, #0xc] + mvn r3, #0 + add r0, sp, #0x18 + mov r1, r10 + mov r2, r11 + str r3, [sp, #8] + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldrb r3, [sp, #0x18] + ldrb r2, [sp, #0x19] + ldr r1, _02085a30 ; =data_027e0f94 + add r0, r3, #1 + sub r7, r3, #1 + str r0, [sp, #4] + cmp r7, r0 + sub r0, r2, #1 + ldr r5, [r1, #4] + str r0, [sp] + add r6, r2, #1 + bgt _02085a20 +_02085958: + cmp r7, #0 + blt _02085a10 + ldr r0, [sp, #0x10] + cmp r7, r0 + bge _02085a10 + ldr r8, [sp] + mov r0, r8 + cmp r0, r6 + bgt _02085a10 + and r4, r7, #0xff +_02085980: + cmp r8, #0 + blt _02085a04 + ldr r0, [sp, #0xc] + cmp r8, r0 + bge _02085a04 + mov r0, r10 + add r1, sp, #0x16 + strb r4, [sp, #0x16] + strb r8, [sp, #0x17] + bl _ZN10MapManager16MapData_vfunc_60Ev + subs r0, r0, r5 + rsbmi r0, r0, #0 + cmp r0, #0xcd + bgt _02085a04 + mov r0, r10 + add r1, sp, #0x14 + strb r4, [sp, #0x14] + strb r8, [sp, #0x15] + bl _ZN10MapManager16MapData_vfunc_78Ev + cmp r0, #0 + beq _02085a04 + ldrb r1, [sp, #0x18] + ldr ip, [r0] + mov r3, r11 + cmp r7, r1 + ldreqb r1, [sp, #0x19] + ldr ip, [ip, #0x38] + cmpeq r8, r1 + moveq r2, #0 + movne r2, #1 + mov r1, r9 + blx ip + str r0, [sp, #8] +_02085a04: + add r8, r8, #1 + cmp r8, r6 + ble _02085980 +_02085a10: + ldr r0, [sp, #4] + add r7, r7, #1 + cmp r7, r0 + ble _02085958 +_02085a20: + ldr r0, [sp, #8] + add sp, sp, #0x1c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020858b0Ev +_02085a2c: .word data_027e0f64 +_02085a30: .word data_027e0f94 + + .global _ZN10MapManager18func_ov00_02085a34Eii + arm_func_start _ZN10MapManager18func_ov00_02085a34Eii +_ZN10MapManager18func_ov00_02085a34Eii: ; 0x02085a34 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x20 + mov r4, r2 + mov r5, r0 + mov r6, r1 + cmp r4, #1 + beq _02085a60 + cmp r4, #2 + cmpne r4, #3 + beq _02085bdc + b _02085c54 +_02085a60: + add r0, sp, #8 + mov r1, r5 + mov r2, r6 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + mov r0, r5 + mov r1, r6 + bl _ZN10MapManager18func_ov00_02084ebcEi + cmp r0, #0 + addeq sp, sp, #0x20 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + add r1, sp, #8 + mov r0, r5 + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r6, r0 + beq _02085b24 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x38 + bgt _02085ac4 + bge _02085ae0 + cmp r0, #1 + beq _02085ae0 + b _02085b18 +_02085ac4: + cmp r0, #0x59 + bgt _02085ad4 + beq _02085afc + b _02085b18 +_02085ad4: + cmp r0, #0x61 + beq _02085afc + b _02085b18 +_02085ae0: + ldr r1, [r6, #4] + mov r0, r5 + bic r2, r1, #1 + mov r1, r6 + str r2, [r6, #4] + bl _ZN10MapManager18func_ov00_020828f8EPi + b _02085b24 +_02085afc: + mov r0, r6 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x3c] + blx r2 + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} +_02085b18: + add sp, sp, #0x20 + mvn r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_02085b24: + ldr r0, [r5, #4] + add r1, sp, #8 + bl _ZN7MapBase18func_ov00_02080b24EP5Vec2b + mov r2, #0 + sub r1, r2, #1 + mov r0, #1 + strh r1, [sp, #0x1c] + str r2, [sp, #0x18] + strb r0, [sp, #0x1e] + mov r4, r2 + add r1, sp, #0xc +_02085b50: + mov r0, r2, lsl #0x1 + add r2, r2, #1 + strh r4, [r1, r0] + cmp r2, #4 + blo _02085b50 + mov r3, #0 +_02085b68: + strb r3, [r1, #8] + add r4, r4, #1 + strb r3, [r1, #0xa] + cmp r4, #2 + add r1, r1, #1 + blo _02085b68 + add r4, sp, #0xc + add r2, sp, #8 + mov r0, r5 + mov r1, #0x42 + str r4, [sp] + bl _ZN10MapManager16MapData_vfunc_7cEv + cmp r0, #0 + addeq sp, sp, #0x20 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + add r1, sp, #8 + mov r0, r5 + bl _ZN10MapManager16MapData_vfunc_78Ev + cmp r0, #0 + beq _02085bd0 + ldrsh r0, [r0, #0xe] + cmp r0, #0 + addgt sp, sp, #0x20 + movgt r0, #1 + ldmgtia sp!, {r4, r5, r6, pc} +_02085bd0: + add sp, sp, #0x20 + mov r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_02085bdc: + add r0, sp, #6 + mov r1, r5 + mov r2, r6 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r1, sp, #6 + mov r0, r5 + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r6, r0 + addeq sp, sp, #0x20 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x42 + bne _02085c38 + ldrb r2, [r6, #0x15] + ldrb r0, [r6, #0x14] + add r1, sp, #4 + strb r2, [sp, #5] + strb r0, [sp, #4] + ldr r0, [r5, #4] + bl _ZN7MapBase18func_ov00_02080d08Ei +_02085c38: + mov r0, r6 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x3c] + blx r2 + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} +_02085c54: + mvn r0, #0 + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02085a34Eii + + .global _ZN10MapManager18func_ov00_02085c60Eiiii + arm_func_start _ZN10MapManager18func_ov00_02085c60Eiiii +_ZN10MapManager18func_ov00_02085c60Eiiii: ; 0x02085c60 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0xfc + ldr r11, [sp, #0x120] + ldr r8, [sp, #0x124] + ldr r7, [sp, #0x128] + ldr r6, [sp, #0x12c] + cmp r11, #0 + mov r10, r0 + mov r9, r1 + mov r5, r2 + mov r4, r3 + addeq sp, sp, #0xfc + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r1, sp, #0x88 + str r1, [sp] + ldr r0, _0208603c ; =data_027e0d3c + ldmia r5, {r2, r3} + ldr r0, [r0] + mov r1, #0 + bl func_ov00_020792a0 + add r1, sp, #0x7c + str r1, [sp] + ldr r0, _0208603c ; =data_027e0d3c + ldmia r4, {r2, r3} + ldr r0, [r0] + mov r1, #0 + bl func_ov00_020792a0 + add r0, sp, #0x88 + add r5, sp, #0x70 + ldmia r0, {r0, r1, r2} + stmia r5, {r0, r1, r2} + add r0, sp, #0x7c + add r4, sp, #0x64 + ldmia r0, {r0, r1, r2} + stmia r4, {r0, r1, r2} + add r3, sp, #0x58 + ldmia r5, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r1, r4 + mov r0, r3 + mov r2, r3 + bl func_01ff9bf8 + mov r1, #0xc000 + mov r2, #0 + umull r5, r3, r11, r1 + mla r3, r11, r2, r3 + mov r4, r11, asr #0x1f + adds r2, r5, #0x800 + mla r3, r4, r1, r3 + adc r1, r3, #0 + mov r5, r2, lsr #0xc + add r0, sp, #0x58 + orr r5, r5, r1, lsl #20 + bl func_01ff9cec + cmp r0, r5 + ble _02085d9c + add r0, sp, #0x58 + mov r1, r0 + bl func_01ff9d4c + add r0, sp, #0x58 + mov r1, r5 + bl func_01fffbec + ldr r1, [sp, #0x7c] + ldr r0, [sp, #0x80] + str r1, [sp, #0x88] + ldr r1, [sp, #0x84] + str r0, [sp, #0x8c] + add r0, sp, #0x88 + str r1, [sp, #0x90] + add r1, sp, #0x58 + mov r2, r0 + bl func_01ff9bc4 + ldr r0, [sp, #0x8c] + ldr r1, [sp, #0x88] + str r0, [sp, #0x74] + ldr r0, [sp, #0x90] + str r1, [sp, #0x70] + str r0, [sp, #0x78] +_02085d9c: + add r0, sp, #0x58 + ldr ip, [sp, #0x88] + ldr r5, [sp, #0x8c] + ldr r3, [sp, #0x90] + add r1, sp, #0x7c + mov r2, r0 + str ip, [sp, #0x58] + str r5, [sp, #0x5c] + str r3, [sp, #0x60] + bl func_01ff9bf8 + mov r1, r4, lsl #0xb + mov r0, #0x800 + adds r2, r0, r11, lsl #11 + orr r1, r1, r11, lsr #21 + add r0, sp, #0x58 + adc r1, r1, #0 + mov r5, r2, lsr #0xc + orr r5, r5, r1, lsl #20 + bl func_01ff9cec + cmp r0, r11 + blt _02085e30 + add r0, sp, #0x58 + mov r1, r0 + bl func_01ff9d4c + add r0, sp, #0x58 + mov r1, r5 + bl func_01fffbec + ldr r2, [sp, #0x64] + ldr r1, [sp, #0x68] + str r2, [sp, #0x70] + ldr r2, [sp, #0x6c] + str r1, [sp, #0x74] + add r0, sp, #0x70 + str r2, [sp, #0x78] + add r1, sp, #0x58 + mov r2, r0 + bl func_01ff9bc4 +_02085e30: + mov r4, #0 + mov r0, r11, lsl #0x1 + str r4, [sp, #0x48] + str r0, [sp, #0x4c] + str r4, [sp, #0x50] + str r11, [sp, #0x54] +_02085e48: + add r0, sp, #0x48 + stmia sp, {r0, r8} + str r7, [sp, #8] + str r6, [sp, #0xc] + mov r0, #0 + str r0, [sp, #0x10] + mov r0, r10 + mov r1, r9 + add r2, sp, #0x70 + add r3, sp, #0x64 + bl func_01ffbe78 + cmp r0, #0 + beq _02085fb8 + ldr r1, [r9] + add r0, sp, #0x30 + str r1, [sp, #0x3c] + ldr r2, [r9, #4] + mov r1, r0 + str r2, [sp, #0x40] + ldr r2, [r9, #8] + str r2, [sp, #0x44] + ldr r2, [r9, #0xc] + str r2, [sp, #0x30] + ldr r2, [r9, #0x10] + str r2, [sp, #0x34] + ldr r2, [r9, #0x14] + str r2, [sp, #0x38] + bl func_01ff9d4c + add r0, sp, #0x30 + mov r1, r11 + bl func_01fffbec + add r0, sp, #0x3c + add r1, sp, #0x30 + mov r2, r0 + bl func_01ff9bc4 + ldr r1, [sp, #0x3c] + ldr r2, _02086040 ; =0x0000ffff + str r1, [r9] + ldr r1, [sp, #0x40] + mov r3, #0 + str r1, [r9, #4] + ldr r4, [sp, #0x44] + sub r1, r3, #1 + str r4, [r9, #8] + strh r2, [sp, #0xb8] + strh r2, [sp, #0xba] + strh r2, [sp, #0xbc] + strh r2, [sp, #0xbe] + strh r3, [sp, #0xc0] + strb r3, [sp, #0xe2] + strb r3, [sp, #0xe3] + strb r3, [sp, #0xe4] + strb r3, [sp, #0xe5] + strb r3, [sp, #0xec] + strb r3, [sp, #0xed] + strb r3, [sp, #0xee] + strb r3, [sp, #0xef] + strb r3, [sp, #0xf0] + strb r3, [sp, #0xf1] + str r1, [sp, #0xf4] + str r1, [sp, #0xf8] + add r2, sp, #0x48 + stmia sp, {r2, r8} + str r7, [sp, #8] + str r6, [sp, #0xc] + add r2, sp, #0x3c + str r3, [sp, #0x10] + mov r0, r10 + add r1, sp, #0x94 + mov r3, r2 + bl func_01ffbe78 + cmp r0, #0 + beq _02085f84 + ldr r2, [sp, #0x94] + ldr r1, [sp, #0x98] + ldr r0, [sp, #0x9c] + str r2, [sp, #0x3c] + str r1, [sp, #0x40] + str r0, [sp, #0x44] +_02085f84: + ldr r0, _0208603c ; =data_027e0d3c + add r1, sp, #0x3c + ldr r0, [r0] + add r2, sp, #0x1c + mov r3, #0 + bl func_ov00_0207920c + ldr r1, [sp, #0x1c] + mov r0, #1 + str r1, [r9, #0x60] + ldr r1, [sp, #0x20] + add sp, sp, #0xfc + str r1, [r9, #0x64] + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_02085fb8: + ldr r1, [sp, #0x70] + ldr r0, [sp, #0x74] + str r1, [sp, #0x64] + ldr r1, [sp, #0x78] + str r0, [sp, #0x68] + str r1, [sp, #0x6c] + add r0, sp, #0x70 + add r1, sp, #0x88 + mov r2, r5 + bl func_0202b2e8 + cmp r0, #0 + movne r4, #1 + cmp r4, #0 + beq _02085e48 + ldr r1, [sp, #0x88] + ldr r0, _0208603c ; =data_027e0d3c + str r1, [r9] + ldr r2, [sp, #0x8c] + add r1, sp, #0x88 + str r2, [r9, #4] + ldr r3, [sp, #0x90] + add r2, sp, #0x14 + str r3, [r9, #8] + ldr r0, [r0] + mov r3, #0 + bl func_ov00_0207920c + ldr r1, [sp, #0x14] + mov r0, #0 + str r1, [r9, #0x60] + ldr r1, [sp, #0x18] + str r1, [r9, #0x64] + add sp, sp, #0xfc + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02085c60Eiiii +_0208603c: .word data_027e0d3c +_02086040: .word 0x0000ffff + + .global _ZN10MapManager18func_ov00_02086044Eiii + arm_func_start _ZN10MapManager18func_ov00_02086044Eiii +_ZN10MapManager18func_ov00_02086044Eiii: ; 0x02086044 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0xb0 + add r5, sp, #0x98 + mov r9, r2 + mov r10, r0 + str r1, [sp] + ldmia r9, {r0, r1, r2} + stmia r5, {r0, r1, r2} + mov r8, r3 + ldmia r9, {r0, r1, r2} + add r4, sp, #0xa4 + stmia r4, {r0, r1, r2} + ldr r0, [sp] + add r3, sp, #0x50 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r5 + mov r1, r3 + bl func_ov00_0208ed74 + mov r0, r5 + mov r1, r8 + bl func_ov00_0208ee00 + ldr r1, [sp, #0x98] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839d4Ev + mov r6, r0 + ldr r1, [sp, #0xa0] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839f8Ev + str r0, [sp, #0xc] + ldr r1, [sp, #0xa4] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839d4Ev + str r0, [sp, #8] + ldr r1, [sp, #0xac] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839f8Ev + mov r11, r0 + add r5, sp, #0x8c + ldmia r9, {r0, r1, r2} + stmia r5, {r0, r1, r2} + ldr r0, [sp] + add r4, sp, #0x44 + ldmia r0, {r0, r1, r2} + stmia r4, {r0, r1, r2} + add r3, sp, #0x38 + ldmia r9, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r4 + mov r1, r3 + add r2, sp, #0x80 + bl func_01ff9bf8 + ldr r1, [r9] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839d4Ev + mov r4, r0 + ldr r1, [r9, #8] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839f8Ev + mov r2, r0 + mov r1, r4 + mov r0, r10 + bl _ZN10MapManager18func_ov00_02083e34Ecci + str r0, [sp, #4] + ldr r0, [sp, #8] + cmp r6, r0 + bgt _02086274 +_02086150: + ldr r7, [sp, #0xc] + mov r0, r7 + cmp r0, r11 + bgt _02086264 + and r5, r6, #0xff +_02086164: + mov r0, r10 + mov r1, r6 + mov r2, r7 + bl _ZN10MapManager18func_ov00_02083e34Ecci + ldr r1, [sp, #4] + cmp r0, r1 + ble _020861ec + ldr r0, _02086280 ; =gMapManager + add r1, sp, #0x12 + ldr r0, [r0] + add r2, sp, #0x68 + strb r5, [sp, #0x12] + strb r7, [sp, #0x13] + bl _ZN10MapManager18func_ov00_02084024EiP4AABB + ldr r0, [sp] + mov r1, r9 + add r2, sp, #0x5c + bl func_01ff9bf8 + ldr r1, [r9] + add r0, sp, #0x68 + str r1, [sp, #0x28] + ldr r2, [r9, #4] + add r1, sp, #0x28 + str r2, [sp, #0x2c] + ldr r3, [r9, #8] + add r2, sp, #0x5c + str r3, [sp, #0x30] + add r3, sp, #0x14 + str r8, [sp, #0x34] + bl func_ov00_0208e87c + cmp r0, #0 + addne sp, sp, #0xb0 + movne r0, #1 + ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_020861ec: + mov r0, r10 + add r1, sp, #0x10 + strb r5, [sp, #0x10] + strb r7, [sp, #0x11] + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r4, r0 + beq _02086258 + ldr r1, [r0] + ldr r1, [r1, #0x58] + blx r1 + cmp r0, #0 + beq _02086258 + ldr r2, [r9] + mov r0, r4 + str r2, [sp, #0x18] + ldr r3, [r9, #4] + add r1, sp, #0x18 + str r3, [sp, #0x1c] + ldr r3, [r9, #8] + add r2, sp, #0x80 + str r3, [sp, #0x20] + str r8, [sp, #0x24] + bl func_ov00_0208b804 + cmp r0, #0 + addne sp, sp, #0xb0 + movne r0, #1 + ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_02086258: + add r7, r7, #1 + cmp r7, r11 + ble _02086164 +_02086264: + ldr r0, [sp, #8] + add r6, r6, #1 + cmp r6, r0 + ble _02086150 +_02086274: + mov r0, #0 + add sp, sp, #0xb0 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02086044Eiii +_02086280: .word gMapManager + + .global _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ + arm_func_start _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ +_ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_: ; 0x02086284 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x15c + mov r9, r1 + mov r0, r9 + ldr r1, [r0] + mov r8, r2 + ldr r1, [r1, #8] + mov r7, r3 + ldr r6, [sp, #0x178] + ldr r5, [sp, #0x180] + ldr r4, [sp, #0x184] + blx r1 + cmp r0, #0 + beq _020862d0 + cmp r0, #1 + beq _020863a8 + cmp r0, #2 + beq _02086520 + b _02086a78 +_020862d0: + mov r0, r9 + ldr r2, [r0] + add r1, sp, #0x14c + ldr r2, [r2, #0x24] + blx r2 + add r0, sp, #0x14c + add r3, sp, #0x140 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r8 + mov r1, r3 + bl func_01ff9ec0 + ldr r2, [sp, #0x158] + add r1, sp, #0x140 + add r2, r2, r6 + sub r6, r2, r0 + mov r0, r8 + mov r2, r1 + bl func_01ff9bf8 + add r0, sp, #0x140 + bl func_01fffb4c + cmp r0, #0 + bne _02086340 + mov r1, #0 + mov r0, #0x1000 + str r1, [sp, #0x140] + str r1, [sp, #0x144] + str r0, [sp, #0x148] +_02086340: + add r0, sp, #0x140 + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x140 + mov r0, r8 + mov r2, r5 + bl func_01ff9bc4 + add r0, sp, #0x14c + add r3, sp, #0x128 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r2, sp, #0x134 + mov r0, r7 + mov r1, r3 + bl func_01ff9bf8 + add r0, sp, #0x134 + bl func_01fffb4c + ldr r1, [sp, #0x134] + mov r0, #0 + str r1, [r4] + ldr r1, [sp, #0x138] + str r1, [r4, #4] + ldr r1, [sp, #0x13c] + add sp, sp, #0x15c + str r1, [r4, #8] + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_020863a8: + mov r1, #0 + mov r0, r9 + str r1, [sp, #0x120] + str r1, [sp, #0x114] + str r1, [sp, #0x118] + str r1, [sp, #0x11c] + ldr r2, [r0] + add r1, sp, #0x114 + ldr r2, [r2, #0x28] + blx r2 + ldr r2, [r8, #4] + ldr r1, [sp, #0x114] + ldr r0, [sp, #0x11c] + str r1, [sp, #0x108] + str r2, [sp, #0x10c] + str r0, [sp, #0x110] + ldrb r0, [r9, #5] + cmp r0, #0 + beq _02086464 + add r0, sp, #0x168 + ldrh r0, [r0, #0x14] + tst r0, #0x80 + beq _02086464 + add r0, sp, #0x108 + mov r1, r8 + bl func_01ff9ec0 + ldr r1, [sp, #0x120] + cmp r0, r1 + bgt _02086464 + ldr r2, [sp, #0x118] + ldr r1, [sp, #0x124] + ldr r0, [r7, #4] + add r1, r2, r1 + cmp r0, r1 + blt _02086464 + ldr r0, [r8, #4] + add r1, r6, r1 + cmp r0, r1 + bgt _02086464 + str r1, [r5, #4] + mov r1, #0 + str r1, [r4] + mov r0, #0x1000 + stmib r4, {r0, r1} + add sp, sp, #0x15c + mov r0, #1 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086464: + add r1, sp, #0x108 + mov r0, r8 + bl func_01ff9ec0 + ldr r2, [sp, #0x120] + add r1, sp, #0x108 + add r2, r2, r6 + sub r6, r2, r0 + mov r0, r8 + mov r2, r1 + bl func_01ff9bf8 + add r0, sp, #0x108 + bl func_01fffb4c + cmp r0, #0 + bne _020864b0 + mov r1, #0 + mov r0, #0x1000 + str r1, [sp, #0x108] + str r1, [sp, #0x10c] + str r0, [sp, #0x110] +_020864b0: + add r0, sp, #0x108 + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x108 + mov r0, r8 + mov r2, r5 + bl func_01ff9bc4 + add r0, sp, #0x114 + add r3, sp, #0xf0 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r0, [r7, #4] + add r2, sp, #0xfc + str r0, [sp, #0xf4] + mov r0, r7 + mov r1, r3 + bl func_01ff9bf8 + add r0, sp, #0xfc + bl func_01fffb4c + ldr r1, [sp, #0xfc] + mov r0, #0 + str r1, [r4] + ldr r1, [sp, #0x100] + str r1, [r4, #4] + ldr r1, [sp, #0x104] + add sp, sp, #0x15c + str r1, [r4, #8] + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086520: + mov r0, r9 + ldr r2, [r0] + add r1, sp, #0xd8 + ldr r2, [r2, #0x2c] + blx r2 + add r0, sp, #0xd8 + add r1, sp, #0xcc + bl func_ov00_0208e6b0 + ldr r2, [r8, #4] + ldr r0, [sp, #0xcc] + str r2, [sp, #0xc4] + ldr r2, [sp, #0xd4] + str r0, [sp, #0xc0] + add r1, sp, #0xc0 + str r2, [sp, #0xc8] + mov r0, r8 + mov r2, r1 + bl func_01ff9bf8 + add r0, sp, #0xc0 + add r3, sp, #0xb4 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r3 + bl func_01fffb4c + cmp r0, #0 + bne _0208659c + mov r1, #0 + mov r0, #0x1000 + str r1, [sp, #0xb4] + str r1, [sp, #0xb8] + str r0, [sp, #0xbc] +_0208659c: + ldrb r0, [r9, #5] + cmp r0, #0 + beq _0208662c + add r0, sp, #0x168 + ldrh r0, [r0, #0x14] + tst r0, #0x80 + beq _0208662c + ldr r1, [r8] + ldr r0, [sp, #0xe4] + cmp r1, r0 + bge _020865f0 + ldr r0, [sp, #0xd8] + cmp r1, r0 + blt _020865f0 + ldr r1, [r8, #8] + ldr r0, [sp, #0xec] + cmp r1, r0 + bge _020865f0 + ldr r0, [sp, #0xe0] + cmp r1, r0 + bge _02086604 +_020865f0: + ldr r0, [sp, #0xe8] + ldr r1, [r7, #4] + add r0, r0, r6 + cmp r1, r0 + blt _0208662c +_02086604: + ldr r0, [sp, #0xe8] + mov r1, #0 + add r0, r0, r6 + str r0, [r5, #4] + str r1, [r4] + mov r0, #0x1000 + stmib r4, {r0, r1} + add sp, sp, #0x15c + mov r0, #1 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_0208662c: + add r0, sp, #0xd8 + add r1, sp, #0xa8 + bl func_ov00_0208e6b0 + ldr r3, [sp, #0xec] + ldr r2, [r8, #8] + cmp r2, r3 + bge _020867f8 + ldr r0, [sp, #0xe0] + cmp r2, r0 + blt _020867f8 + ldr r1, [r8] + ldr r0, [sp, #0xe4] + cmp r1, r0 + bge _020867f8 + ldr r0, [sp, #0xd8] + cmp r1, r0 + blt _020867f8 + add r0, sp, #0xd8 + bl func_ov00_0208e6f0 + mov r7, r0 + add r0, sp, #0xd8 + bl func_ov00_0208e704 + cmp r7, r0 + bne _020866bc + ldr r1, [sp, #0xb0] + ldr r0, [r8, #8] + subs r2, r1, r0 + ldr r1, [sp, #0xa8] + ldr r0, [r8] + rsbmi r2, r2, #0 + subs r0, r1, r0 + rsbmi r0, r0, #0 + cmp r0, r2 + movgt r0, #1 + movle r0, #0 + b _020866dc +_020866bc: + add r0, sp, #0xd8 + bl func_ov00_0208e6f0 + mov r7, r0 + add r0, sp, #0xd8 + bl func_ov00_0208e704 + cmp r7, r0 + movlt r0, #1 + movge r0, #0 +_020866dc: + cmp r0, #0 + beq _02086770 + ldr r0, [sp, #0xb4] + cmp r0, #0 + add r0, sp, #0xd8 + blt _02086730 + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r0, r6, r0, asr #1 + ldr r1, [r5] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5] + mov r0, #0x1000 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_02086730: + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r1, r6, r0, asr #1 + mov r0, #0x1000 + ldr r2, [r5] + sub r1, r1, r7 + sub r1, r2, r1 + str r1, [r5] + rsb r0, r0, #0 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_02086770: + ldr r0, [sp, #0xbc] + cmp r0, #0 + add r0, sp, #0xd8 + blt _020867bc + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r0, r6, r0, asr #1 + ldr r1, [r5, #8] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5, #8] + mov r0, #0 + str r0, [r4] + str r0, [r4, #4] + mov r0, #0x1000 + str r0, [r4, #8] + b _02086a6c +_020867bc: + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r1, r6, r0, asr #1 + ldr r2, [r5, #8] + sub r1, r1, r7 + sub r1, r2, r1 + mov r0, #0 + str r1, [r5, #8] + str r0, [r4] + str r0, [r4, #4] + sub r0, r0, #0x1000 + str r0, [r4, #8] + b _02086a6c +_020867f8: + ldr r1, [r8] + ldr r0, [sp, #0xe4] + cmp r1, r0 + bge _0208689c + ldr r0, [sp, #0xd8] + cmp r1, r0 + blt _0208689c + ldr r0, [sp, #0xbc] + cmp r0, #0 + add r0, sp, #0xd8 + blt _02086860 + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r0, r6, r0, asr #1 + ldr r1, [r5, #8] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5, #8] + mov r0, #0 + str r0, [r4] + str r0, [r4, #4] + mov r0, #0x1000 + str r0, [r4, #8] + b _02086a6c +_02086860: + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r1, r6, r0, asr #1 + ldr r2, [r5, #8] + sub r1, r1, r7 + sub r1, r2, r1 + mov r0, #0 + str r1, [r5, #8] + str r0, [r4] + str r0, [r4, #4] + sub r0, r0, #0x1000 + str r0, [r4, #8] + b _02086a6c +_0208689c: + cmp r2, r3 + bge _0208693c + ldr r0, [sp, #0xe0] + cmp r2, r0 + blt _0208693c + ldr r0, [sp, #0xb4] + cmp r0, #0 + add r0, sp, #0xd8 + blt _020868fc + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r0, r6, r0, asr #1 + ldr r1, [r5] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5] + mov r0, #0x1000 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_020868fc: + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r1, r6, r0, asr #1 + mov r0, #0x1000 + ldr r2, [r5] + sub r1, r1, r7 + sub r1, r2, r1 + str r1, [r5] + rsb r0, r0, #0 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_0208693c: + ldr r0, [sp, #0xb0] + subs r2, r0, r2 + ldr r0, [sp, #0xa8] + rsbmi r2, r2, #0 + subs r0, r0, r1 + rsbmi r0, r0, #0 + cmp r0, r2 + ble _020869e8 + ldr r0, [sp, #0xb4] + cmp r0, #0 + add r0, sp, #0xd8 + blt _020869a8 + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r0, r6, r0, asr #1 + ldr r1, [r5] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5] + mov r0, #0x1000 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_020869a8: + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r1, r6, r0, asr #1 + mov r0, #0x1000 + ldr r2, [r5] + sub r1, r1, r7 + sub r1, r2, r1 + str r1, [r5] + rsb r0, r0, #0 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_020869e8: + ldr r0, [sp, #0xbc] + cmp r0, #0 + add r0, sp, #0xd8 + blt _02086a34 + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r0, r6, r0, asr #1 + ldr r1, [r5, #8] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5, #8] + mov r0, #0 + str r0, [r4] + str r0, [r4, #4] + mov r0, #0x1000 + str r0, [r4, #8] + b _02086a6c +_02086a34: + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r1, r6, r0, asr #1 + ldr r2, [r5, #8] + sub r1, r1, r7 + sub r1, r2, r1 + mov r0, #0 + str r1, [r5, #8] + str r0, [r4] + str r0, [r4, #4] + sub r0, r0, #0x1000 + str r0, [r4, #8] +_02086a6c: + add sp, sp, #0x15c + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086a78: + mov r0, #0 + add sp, sp, #0x15c + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + arm_func_end _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ + + .global _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ + arm_func_start _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ +_ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_: ; 0x02086a84 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x84 + mov r8, r2 + mov r7, r3 + mov r9, r1 + add r2, sp, #0x78 + mov r0, r8 + mov r1, r7 + ldr r6, [sp, #0xa4] + ldr r5, [sp, #0xac] + ldr r4, [sp, #0xb0] + bl func_01ff9bf8 + mov r0, r9 + ldr r1, [r0] + ldr r1, [r1, #8] + blx r1 + cmp r0, #0 + beq _02086ae0 + cmp r0, #1 + beq _02086be4 + cmp r0, #2 + beq _02086c64 + b _02086cc4 +_02086ae0: + mov r0, r9 + ldr r2, [r0] + add r1, sp, #0x68 + ldr r2, [r2, #0x24] + blx r2 + cmp r6, #0 + bne _02086b7c + add r0, sp, #0x68 + add r3, sp, #0x5c + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r8 + mov r1, r3 + bl func_01ff9ec0 + ldr r3, [sp, #0x74] + ldr r2, [sp, #0xa0] + add r1, sp, #0x68 + add r2, r3, r2 + sub r6, r2, r0 + add r2, sp, #0x5c + mov r0, r8 + bl func_01ff9bf8 + add r0, sp, #0x5c + bl func_01fffb4c + cmp r0, #0 + bne _02086b5c + mov r1, #0 + mov r0, #0x1000 + str r1, [sp, #0x5c] + str r1, [sp, #0x60] + str r0, [sp, #0x64] +_02086b5c: + add r0, sp, #0x5c + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x5c + mov r0, r8 + mov r2, r5 + bl func_01ff9bc4 + b _02086b98 +_02086b7c: + add r0, sp, #0x78 + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x78 + mov r0, r7 + mov r2, r5 + bl func_01ff9bc4 +_02086b98: + add r0, sp, #0x68 + add r3, sp, #0x44 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r2, sp, #0x50 + mov r0, r7 + mov r1, r3 + bl func_01ff9bf8 + add r0, sp, #0x50 + bl func_01fffb4c + ldr r1, [sp, #0x50] + mov r0, #0 + str r1, [r4] + ldr r1, [sp, #0x54] + str r1, [r4, #4] + ldr r1, [sp, #0x58] + add sp, sp, #0x84 + str r1, [r4, #8] + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086be4: + mov r1, #0 + mov r0, r9 + str r1, [sp, #0x3c] + str r1, [sp, #0x30] + str r1, [sp, #0x34] + str r1, [sp, #0x38] + ldr r2, [r0] + add r1, sp, #0x30 + ldr r2, [r2, #0x28] + blx r2 + add r0, sp, #0x78 + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x78 + mov r0, r7 + mov r2, r5 + bl func_01ff9bc4 + add r0, sp, #0x30 + add r3, sp, #0x24 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r2, [r7, #4] + mov r1, r3 + str r2, [sp, #0x28] + mov r0, r7 + mov r2, r4 + bl func_01ff9bf8 + mov r0, r4 + bl func_01fffb4c + add sp, sp, #0x84 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086c64: + mov r0, r9 + ldr r2, [r0] + add r1, sp, #0xc + ldr r2, [r2, #0x2c] + blx r2 + add r0, sp, #0xc + add r1, sp, #0 + bl func_ov00_0208e6b0 + add r0, sp, #0x78 + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x78 + mov r2, r5 + mov r0, r7 + bl func_01ff9bc4 + mov r0, r7 + add r1, sp, #0 + mov r2, r4 + bl func_01ff9bf8 + mov r0, r4 + bl func_01fffb4c + add sp, sp, #0x84 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086cc4: + mov r0, #0 + add sp, sp, #0x84 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + arm_func_end _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ + + .rodata + .global data_ov00_020d88f0 +data_ov00_020d88f0: ; 0x020d88f0 + .byte 0x51, 0x00, 0x00, 0x00 + .global data_ov00_020d88f4 +data_ov00_020d88f4: ; 0x020d88f4 + .byte 0x6e, 0x00, 0x00, 0x00 + .global data_ov00_020d88f8 +data_ov00_020d88f8: ; 0x020d88f8 + .byte 0x65, 0x00, 0x00, 0x00 + .global data_ov00_020d88fc +data_ov00_020d88fc: ; 0x020d88fc + .byte 0x50, 0x00, 0x00, 0x00 + .global data_ov00_020d8900 +data_ov00_020d8900: ; 0x020d8900 + .byte 0x30, 0x00, 0x00, 0x00 + .global data_ov00_020d8904 +data_ov00_020d8904: ; 0x020d8904 + .byte 0x74, 0x00, 0x00, 0x00 + .global data_ov00_020d8908 +data_ov00_020d8908: ; 0x020d8908 + .byte 0x49, 0x00, 0x00, 0x00 + .global data_ov00_020d890c +data_ov00_020d890c: ; 0x020d890c + .byte 0x50, 0x00, 0x00, 0x00 + .global data_ov00_020d8910 +data_ov00_020d8910: ; 0x020d8910 + .byte 0x51, 0x00, 0x00, 0x00 + .global data_ov00_020d8914 +data_ov00_020d8914: ; 0x020d8914 + .byte 0x54, 0x00, 0x00, 0x00 + .global data_ov00_020d8918 +data_ov00_020d8918: ; 0x020d8918 + .byte 0x52, 0x00, 0x00, 0x00 + .global data_ov00_020d891c +data_ov00_020d891c: ; 0x020d891c + .byte 0x53, 0x00, 0x00, 0x00 + .global data_ov00_020d8920 +data_ov00_020d8920: ; 0x020d8920 + .byte 0x55, 0x00, 0x00, 0x00 + .global data_ov00_020d8924 +data_ov00_020d8924: ; 0x020d8924 + .byte 0x56, 0x00, 0x00, 0x00 + .global data_ov00_020d8928 +data_ov00_020d8928: ; 0x020d8928 + .byte 0x57, 0x00, 0x00, 0x00 + .global data_ov00_020d892c +data_ov00_020d892c: ; 0x020d892c + .byte 0x58, 0x00, 0x00, 0x00 + .global data_ov00_020d8930 +data_ov00_020d8930: ; 0x020d8930 + .byte 0x59, 0x00, 0x00, 0x00 + .global data_ov00_020d8934 +data_ov00_020d8934: ; 0x020d8934 + .byte 0x5a, 0x00, 0x00, 0x00 + .global data_ov00_020d8938 +data_ov00_020d8938: ; 0x020d8938 + .byte 0x5f, 0x00, 0x00, 0x00 + .global data_ov00_020d893c +data_ov00_020d893c: ; 0x020d893c + .byte 0x60, 0x00, 0x00, 0x00 + .global data_ov00_020d8940 +data_ov00_020d8940: ; 0x020d8940 + .byte 0x61, 0x00, 0x00, 0x00 + .global data_ov00_020d8944 +data_ov00_020d8944: ; 0x020d8944 + .byte 0x5c, 0x00, 0x00, 0x00 + .global data_ov00_020d8948 +data_ov00_020d8948: ; 0x020d8948 + .byte 0x5b, 0x00, 0x00, 0x00 + .global data_ov00_020d894c +data_ov00_020d894c: ; 0x020d894c + .byte 0x5e, 0x00, 0x00, 0x00 + .global data_ov00_020d8950 +data_ov00_020d8950: ; 0x020d8950 + .byte 0x62, 0x00, 0x00, 0x00 + .global data_ov00_020d8954 +data_ov00_020d8954: ; 0x020d8954 + .byte 0x63, 0x00, 0x00, 0x00 + .global data_ov00_020d8958 +data_ov00_020d8958: ; 0x020d8958 + .byte 0x64, 0x00, 0x00, 0x00 + .global data_ov00_020d895c +data_ov00_020d895c: ; 0x020d895c + .byte 0x3f, 0x00, 0x00, 0x00 + .global data_ov00_020d8960 +data_ov00_020d8960: ; 0x020d8960 + .byte 0x40, 0x00, 0x00, 0x00 + .global data_ov00_020d8964 +data_ov00_020d8964: ; 0x020d8964 + .byte 0x41, 0x00, 0x00, 0x00 + .global data_ov00_020d8968 +data_ov00_020d8968: ; 0x020d8968 + .byte 0x42, 0x00, 0x00, 0x00 + .global data_ov00_020d896c +data_ov00_020d896c: ; 0x020d896c + .byte 0x43, 0x00, 0x00, 0x00 + .global data_ov00_020d8970 +data_ov00_020d8970: ; 0x020d8970 + .byte 0x44, 0x00, 0x00, 0x00 + .global data_ov00_020d8974 +data_ov00_020d8974: ; 0x020d8974 + .byte 0x45, 0x00, 0x00, 0x00 + .global data_ov00_020d8978 +data_ov00_020d8978: ; 0x020d8978 + .byte 0x46, 0x00, 0x00, 0x00 + .global data_ov00_020d897c +data_ov00_020d897c: ; 0x020d897c + .byte 0x5d, 0x00, 0x00, 0x00 + .global data_ov00_020d8980 +data_ov00_020d8980: ; 0x020d8980 + .byte 0x31, 0x00, 0x00, 0x00 + .global data_ov00_020d8984 +data_ov00_020d8984: ; 0x020d8984 + .byte 0x39, 0x00, 0x00, 0x00 + .global data_ov00_020d8988 +data_ov00_020d8988: ; 0x020d8988 + .byte 0x3a, 0x00, 0x00, 0x00 + .global data_ov00_020d898c +data_ov00_020d898c: ; 0x020d898c + .byte 0x3b, 0x00, 0x00, 0x00 + .global data_ov00_020d8990 +data_ov00_020d8990: ; 0x020d8990 + .byte 0x3c, 0x00, 0x00, 0x00 + .global data_ov00_020d8994 +data_ov00_020d8994: ; 0x020d8994 + .byte 0x32, 0x00, 0x00, 0x00 + .global data_ov00_020d8998 +data_ov00_020d8998: ; 0x020d8998 + .byte 0x33, 0x00, 0x00, 0x00 + .global data_ov00_020d899c +data_ov00_020d899c: ; 0x020d899c + .byte 0x34, 0x00, 0x00, 0x00 + .global data_ov00_020d89a0 +data_ov00_020d89a0: ; 0x020d89a0 + .byte 0x35, 0x00, 0x00, 0x00 + .global data_ov00_020d89a4 +data_ov00_020d89a4: ; 0x020d89a4 + .byte 0x38, 0x00, 0x00, 0x00 + .global data_ov00_020d89a8 +data_ov00_020d89a8: ; 0x020d89a8 + .byte 0x3d, 0x00, 0x00, 0x00 + .global data_ov00_020d89ac +data_ov00_020d89ac: ; 0x020d89ac + .byte 0xd9, 0x00, 0x00, 0x00 + .global data_ov00_020d89b0 +data_ov00_020d89b0: ; 0x020d89b0 + .byte 0xdc, 0x00, 0x00, 0x00 + .global data_ov00_020d89b4 +data_ov00_020d89b4: ; 0x020d89b4 + .byte 0xa1, 0x00, 0x00, 0x00 + .global data_ov00_020d89b8 +data_ov00_020d89b8: ; 0x020d89b8 + .byte 0xa2, 0x00, 0x00, 0x00 + .global data_ov00_020d89bc +data_ov00_020d89bc: ; 0x020d89bc + .byte 0xa3, 0x00, 0x00, 0x00 + .global data_ov00_020d89c0 +data_ov00_020d89c0: ; 0x020d89c0 + .byte 0xa4, 0x00, 0x00, 0x00 + .global data_ov00_020d89c4 +data_ov00_020d89c4: ; 0x020d89c4 + .byte 0xa5, 0x00, 0x00, 0x00 + .global data_ov00_020d89c8 +data_ov00_020d89c8: ; 0x020d89c8 + .byte 0xa6, 0x00, 0x00, 0x00 + .global data_ov00_020d89cc +data_ov00_020d89cc: ; 0x020d89cc + .byte 0x6f, 0x00, 0x00, 0x00 + .global data_ov00_020d89d0 +data_ov00_020d89d0: ; 0x020d89d0 + .byte 0x72, 0x00, 0x00, 0x00 + .global data_ov00_020d89d4 +data_ov00_020d89d4: ; 0x020d89d4 + .byte 0x75, 0x00, 0x00, 0x00 + .global data_ov00_020d89d8 +data_ov00_020d89d8: ; 0x020d89d8 + .byte 0x78, 0x00, 0x00, 0x00 + .global data_ov00_020d89dc +data_ov00_020d89dc: ; 0x020d89dc + .byte 0x79, 0x00, 0x00, 0x00 + .global data_ov00_020d89e0 +data_ov00_020d89e0: ; 0x020d89e0 + .byte 0x7a, 0x00, 0x00, 0x00 + .global data_ov00_020d89e4 +data_ov00_020d89e4: ; 0x020d89e4 + .byte 0x7b, 0x00, 0x00, 0x00 + .global data_ov00_020d89e8 +data_ov00_020d89e8: ; 0x020d89e8 + .byte 0x7f, 0x00, 0x00, 0x00 + .global data_ov00_020d89ec +data_ov00_020d89ec: ; 0x020d89ec + .byte 0x83, 0x00, 0x00, 0x00 + .global data_ov00_020d89f0 +data_ov00_020d89f0: ; 0x020d89f0 + .byte 0x87, 0x00, 0x00, 0x00 + .global data_ov00_020d89f4 +data_ov00_020d89f4: ; 0x020d89f4 + .byte 0x7c, 0x00, 0x00, 0x00 + .global data_ov00_020d89f8 +data_ov00_020d89f8: ; 0x020d89f8 + .byte 0x80, 0x00, 0x00, 0x00 + .global data_ov00_020d89fc +data_ov00_020d89fc: ; 0x020d89fc + .byte 0x84, 0x00, 0x00, 0x00 + .global data_ov00_020d8a00 +data_ov00_020d8a00: ; 0x020d8a00 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8a04 +data_ov00_020d8a04: ; 0x020d8a04 + .byte 0x88, 0x00, 0x00, 0x00 + .global data_ov00_020d8a08 +data_ov00_020d8a08: ; 0x020d8a08 + .byte 0x89, 0x00, 0x00, 0x00 + .global data_ov00_020d8a0c +data_ov00_020d8a0c: ; 0x020d8a0c + .byte 0x8a, 0x00, 0x00, 0x00 + .global data_ov00_020d8a10 +data_ov00_020d8a10: ; 0x020d8a10 + .byte 0x8b, 0x00, 0x00, 0x00 + .global data_ov00_020d8a14 +data_ov00_020d8a14: ; 0x020d8a14 + .byte 0x8c, 0x00, 0x00, 0x00 + .global data_ov00_020d8a18 +data_ov00_020d8a18: ; 0x020d8a18 + .byte 0x8d, 0x00, 0x00, 0x00 + .global data_ov00_020d8a1c +data_ov00_020d8a1c: ; 0x020d8a1c + .byte 0x8e, 0x00, 0x00, 0x00 + .global data_ov00_020d8a20 +data_ov00_020d8a20: ; 0x020d8a20 + .byte 0x8f, 0x00, 0x00, 0x00 + .global data_ov00_020d8a24 +data_ov00_020d8a24: ; 0x020d8a24 + .byte 0x90, 0x00, 0x00, 0x00 + .global data_ov00_020d8a28 +data_ov00_020d8a28: ; 0x020d8a28 + .byte 0x91, 0x00, 0x00, 0x00 + .global data_ov00_020d8a2c +data_ov00_020d8a2c: ; 0x020d8a2c + .byte 0x92, 0x00, 0x00, 0x00 + .global data_ov00_020d8a30 +data_ov00_020d8a30: ; 0x020d8a30 + .byte 0x93, 0x00, 0x00, 0x00 + .global data_ov00_020d8a34 +data_ov00_020d8a34: ; 0x020d8a34 + .byte 0x94, 0x00, 0x00, 0x00 + .global data_ov00_020d8a38 +data_ov00_020d8a38: ; 0x020d8a38 + .byte 0x95, 0x00, 0x00, 0x00 + .global data_ov00_020d8a3c +data_ov00_020d8a3c: ; 0x020d8a3c + .byte 0x96, 0x00, 0x00, 0x00 + .global data_ov00_020d8a40 +data_ov00_020d8a40: ; 0x020d8a40 + .byte 0x97, 0x00, 0x00, 0x00 + .global data_ov00_020d8a44 +data_ov00_020d8a44: ; 0x020d8a44 + .byte 0x98, 0x00, 0x00, 0x00 + .global data_ov00_020d8a48 +data_ov00_020d8a48: ; 0x020d8a48 + .byte 0x99, 0x00, 0x00, 0x00 + .global data_ov00_020d8a4c +data_ov00_020d8a4c: ; 0x020d8a4c + .byte 0x9a, 0x00, 0x00, 0x00 + .global data_ov00_020d8a50 +data_ov00_020d8a50: ; 0x020d8a50 + .byte 0x9b, 0x00, 0x00, 0x00 + .global data_ov00_020d8a54 +data_ov00_020d8a54: ; 0x020d8a54 + .byte 0x9d, 0x00, 0x00, 0x00 + .global data_ov00_020d8a58 +data_ov00_020d8a58: ; 0x020d8a58 + .byte 0x9e, 0x00, 0x00, 0x00 + .global data_ov00_020d8a5c +data_ov00_020d8a5c: ; 0x020d8a5c + .byte 0x9f, 0x00, 0x00, 0x00 + .global data_ov00_020d8a60 +data_ov00_020d8a60: ; 0x020d8a60 + .byte 0xa0, 0x00, 0x00, 0x00 + .global data_ov00_020d8a64 +data_ov00_020d8a64: ; 0x020d8a64 + .byte 0x70, 0x00, 0x00, 0x00 + .global data_ov00_020d8a68 +data_ov00_020d8a68: ; 0x020d8a68 + .byte 0x71, 0x00, 0x00, 0x00 + .global data_ov00_020d8a6c +data_ov00_020d8a6c: ; 0x020d8a6c + .byte 0x73, 0x00, 0x00, 0x00 + .global data_ov00_020d8a70 +data_ov00_020d8a70: ; 0x020d8a70 + .byte 0x76, 0x00, 0x00, 0x00 + .global data_ov00_020d8a74 +data_ov00_020d8a74: ; 0x020d8a74 + .byte 0x77, 0x00, 0x00, 0x00 + .global data_ov00_020d8a78 +data_ov00_020d8a78: ; 0x020d8a78 + .byte 0x7d, 0x00, 0x00, 0x00 + .global data_ov00_020d8a7c +data_ov00_020d8a7c: ; 0x020d8a7c + .byte 0x7e, 0x00, 0x00, 0x00 + .global data_ov00_020d8a80 +data_ov00_020d8a80: ; 0x020d8a80 + .byte 0x81, 0x00, 0x00, 0x00 + .global data_ov00_020d8a84 +data_ov00_020d8a84: ; 0x020d8a84 + .byte 0x82, 0x00, 0x00, 0x00 + .global data_ov00_020d8a88 +data_ov00_020d8a88: ; 0x020d8a88 + .byte 0x86, 0x00, 0x00, 0x00 + .global data_ov00_020d8a8c +data_ov00_020d8a8c: ; 0x020d8a8c + .byte 0x9c, 0x00, 0x00, 0x00 + .global data_ov00_020d8a90 +data_ov00_020d8a90: ; 0x020d8a90 + .byte 0x36, 0x00, 0x00, 0x00 + .global data_ov00_020d8a94 +data_ov00_020d8a94: ; 0x020d8a94 + .byte 0x37, 0x00, 0x00, 0x00 + .global data_ov00_020d8a98 +data_ov00_020d8a98: ; 0x020d8a98 + .byte 0xd0, 0x00, 0x00, 0x00 + .global data_ov00_020d8a9c +data_ov00_020d8a9c: ; 0x020d8a9c + .byte 0xd1, 0x00, 0x00, 0x00 + .global data_ov00_020d8aa0 +data_ov00_020d8aa0: ; 0x020d8aa0 + .byte 0xcd, 0x00, 0x00, 0x00 + .global data_ov00_020d8aa4 +data_ov00_020d8aa4: ; 0x020d8aa4 + .byte 0x9a, 0x01, 0x00, 0x00 + + .section .init, 4, 1, 4 + .global func_ov00_020df4cc + arm_func_start func_ov00_020df4cc +func_ov00_020df4cc: ; 0x020df4cc + stmdb sp!, {r3, lr} + ldr r0, _020df5f0 ; =0x00005fff + ldr r3, _020df5f4 ; =data_ov00_020e24a4 + mov ip, #0 + str r0, [r3, #0x20] + ldr r0, _020df5f8 ; =data_ov00_020e24c8 + ldr r1, _020df5fc ; =func_ov00_02086cd0 + ldr r2, _020df600 ; =data_ov00_020ec964 + str ip, [r3, #0x24] + mov ip, #0x60 + str ip, [r3, #0x28] + bl __register_global_object + ldr r0, _020df604 ; =data_ov00_020e24d0 + mov r3, #0 + ldr r1, _020df5fc ; =func_ov00_02086cd0 + ldr r2, _020df608 ; =data_ov00_020ec970 + str r3, [r0] + str r3, [r0, #4] + bl __register_global_object + ldr r0, _020df60c ; =data_ov00_020e24d8 + mov ip, #0x80 + mov r3, #0x60 + ldr r1, _020df5fc ; =func_ov00_02086cd0 + ldr r2, _020df610 ; =data_ov00_020ec97c + str ip, [r0] + str r3, [r0, #4] + bl __register_global_object + ldr r0, _020df614 ; =data_ov00_020e24e0 + mov ip, #0x80 + mov r3, #0 + ldr r1, _020df5fc ; =func_ov00_02086cd0 + ldr r2, _020df618 ; =data_ov00_020ec988 + str ip, [r0] + str r3, [r0, #4] + bl __register_global_object + mov r2, #0x80000 + rsb r2, r2, #0 + ldr r0, _020df5f4 ; =data_ov00_020e24a4 + add r1, r2, #0x20000 + str r2, [r0, #0x44] + str r1, [r0, #0x48] + ldr r0, _020df61c ; =data_ov00_020e24e8 + ldr r1, _020df620 ; =_ZN15MapManager_Unk2D1Ev + ldr r2, _020df624 ; =data_ov00_020ec994 + bl __register_global_object + ldr r0, _020df628 ; =data_ov00_020e24f0 + mov r1, #0x80000 + rsb r1, r1, #0 + str r1, [r0] + add r1, r1, #0x20000 + str r1, [r0, #4] + ldr r1, _020df620 ; =_ZN15MapManager_Unk2D1Ev + ldr r2, _020df62c ; =data_ov00_020ec9a0 + bl __register_global_object + ldr r0, _020df630 ; =data_ov00_020e24f8 + mov r1, #0x80000 + rsb r1, r1, #0 + str r1, [r0] + add r1, r1, #0x20000 + str r1, [r0, #4] + ldr r1, _020df620 ; =_ZN15MapManager_Unk2D1Ev + ldr r2, _020df634 ; =data_ov00_020ec9ac + bl __register_global_object + ldr r0, _020df638 ; =data_ov00_020e2500 + mov r1, #0x80000 + rsb r1, r1, #0 + str r1, [r0] + add r1, r1, #0x20000 + str r1, [r0, #4] + ldr r1, _020df620 ; =_ZN15MapManager_Unk2D1Ev + ldr r2, _020df63c ; =data_ov00_020ec9b8 + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df4cc +_020df5f0: .word 0x00005fff +_020df5f4: .word data_ov00_020e24a4 +_020df5f8: .word data_ov00_020e24c8 +_020df5fc: .word func_ov00_02086cd0 +_020df600: .word data_ov00_020ec964 +_020df604: .word data_ov00_020e24d0 +_020df608: .word data_ov00_020ec970 +_020df60c: .word data_ov00_020e24d8 +_020df610: .word data_ov00_020ec97c +_020df614: .word data_ov00_020e24e0 +_020df618: .word data_ov00_020ec988 +_020df61c: .word data_ov00_020e24e8 +_020df620: .word _ZN15MapManager_Unk2D1Ev +_020df624: .word data_ov00_020ec994 +_020df628: .word data_ov00_020e24f0 +_020df62c: .word data_ov00_020ec9a0 +_020df630: .word data_ov00_020e24f8 +_020df634: .word data_ov00_020ec9ac +_020df638: .word data_ov00_020e2500 +_020df63c: .word data_ov00_020ec9b8 + + .section .ctor, 4, 1, 4 + .global data_ov00_020e1ebc +data_ov00_020e1ebc: ; 0x020e1ebc + .word func_ov00_020df4cc + + .data + .global data_ov00_020e24c4 +data_ov00_020e24c4: ; 0x020e24c4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24c8 +data_ov00_020e24c8: ; 0x020e24c8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24cc +data_ov00_020e24cc: ; 0x020e24cc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24d0 +data_ov00_020e24d0: ; 0x020e24d0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24d4 +data_ov00_020e24d4: ; 0x020e24d4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24d8 +data_ov00_020e24d8: ; 0x020e24d8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24dc +data_ov00_020e24dc: ; 0x020e24dc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24e0 +data_ov00_020e24e0: ; 0x020e24e0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24e4 +data_ov00_020e24e4: ; 0x020e24e4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24e8 +data_ov00_020e24e8: ; 0x020e24e8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24ec +data_ov00_020e24ec: ; 0x020e24ec + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24f0 +data_ov00_020e24f0: ; 0x020e24f0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24f4 +data_ov00_020e24f4: ; 0x020e24f4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24f8 +data_ov00_020e24f8: ; 0x020e24f8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24fc +data_ov00_020e24fc: ; 0x020e24fc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2500 +data_ov00_020e2500: ; 0x020e2500 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2504 +data_ov00_020e2504: ; 0x020e2504 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2508 +data_ov00_020e2508: ; 0x020e2508 + .word data_ov00_020e2520 + .global data_ov00_020e250c +data_ov00_020e250c: ; 0x020e250c + .word data_ov00_020e2524 + .global data_ov00_020e2510 +data_ov00_020e2510: ; 0x020e2510 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2514 +data_ov00_020e2514: ; 0x020e2514 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2518 +data_ov00_020e2518: ; 0x020e2518 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e251c +data_ov00_020e251c: ; 0x020e251c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2520 +data_ov00_020e2520: ; 0x020e2520 + .ascii "MCS" + .byte 0x00 + .global data_ov00_020e2524 +data_ov00_020e2524: ; 0x020e2524 + .ascii "MRC" + .byte 0x00 + .global data_ov00_020e2528 +data_ov00_020e2528: ; 0x020e2528 + .ascii "Map/%s/course.bin" + .byte 0x00, 0x00, 0x00 + + .sbss + .global data_ov00_020ec964 +data_ov00_020ec964: + .space 0x4 + .global data_ov00_020ec968 +data_ov00_020ec968: + .space 0x4 + .global data_ov00_020ec96c +data_ov00_020ec96c: + .space 0x4 + .global data_ov00_020ec970 +data_ov00_020ec970: + .space 0x4 + .global data_ov00_020ec974 +data_ov00_020ec974: + .space 0x4 + .global data_ov00_020ec978 +data_ov00_020ec978: + .space 0x4 + .global data_ov00_020ec97c +data_ov00_020ec97c: + .space 0x4 + .global data_ov00_020ec980 +data_ov00_020ec980: + .space 0x4 + .global data_ov00_020ec984 +data_ov00_020ec984: + .space 0x4 + .global data_ov00_020ec988 +data_ov00_020ec988: + .space 0x4 + .global data_ov00_020ec98c +data_ov00_020ec98c: + .space 0x4 + .global data_ov00_020ec990 +data_ov00_020ec990: + .space 0x4 + .global data_ov00_020ec994 +data_ov00_020ec994: + .space 0x4 + .global data_ov00_020ec998 +data_ov00_020ec998: + .space 0x4 + .global data_ov00_020ec99c +data_ov00_020ec99c: + .space 0x4 + .global data_ov00_020ec9a0 +data_ov00_020ec9a0: + .space 0x4 + .global data_ov00_020ec9a4 +data_ov00_020ec9a4: + .space 0x4 + .global data_ov00_020ec9a8 +data_ov00_020ec9a8: + .space 0x4 + .global data_ov00_020ec9ac +data_ov00_020ec9ac: + .space 0x4 + .global data_ov00_020ec9b0 +data_ov00_020ec9b0: + .space 0x4 + .global data_ov00_020ec9b4 +data_ov00_020ec9b4: + .space 0x4 + .global data_ov00_020ec9b8 +data_ov00_020ec9b8: + .space 0x4 + .global data_ov00_020ec9bc +data_ov00_020ec9bc: + .space 0x4 + .global data_ov00_020ec9c0 +data_ov00_020ec9c0: + .space 0x4 + .global data_ov00_020ec9c4 +data_ov00_020ec9c4: + .space 0x4 + .global data_ov00_020ec9c8 +data_ov00_020ec9c8: + .space 0x4 + .global data_ov00_020ec9cc +data_ov00_020ec9cc: + .space 0x4 + .global data_ov00_020ec9d0 +data_ov00_020ec9d0: + .space 0x4 diff --git a/asm/ov00/Player/LinkStateFollow.inc b/asm/ov00/Player/LinkStateFollow.inc index e6df7599..c5775e7b 100644 --- a/asm/ov00/Player/LinkStateFollow.inc +++ b/asm/ov00/Player/LinkStateFollow.inc @@ -1,4 +1,7 @@ #pragma once +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi .extern _ZN10PlayerBase13GetEquipSwordEv .extern _ZN13LinkStateBase12GetPlayerPosEv .extern _ZN13LinkStateBase12GetPlayerVelEv @@ -7,16 +10,13 @@ .extern _ZN13LinkStateBase8vfunc_24Ei .extern _ZN13PlayerControl13StopFollowingEv .extern _ZN13PlayerControl18func_ov00_020af01cEPc -.extern data_027e0e60 +.extern gMapManager .extern data_027e0fb8 .extern func_01ff9bf8 .extern func_01ff9cec .extern func_01fffcd8 .extern func_0202b308 .extern func_0202d95c -.extern func_ov00_02083a1c -.extern func_ov00_02083c7c -.extern func_ov00_020840c4 .extern func_ov04_0210ad94 .extern func_ov04_0210adb0 .extern func_ov04_0210adf8 diff --git a/asm/ov00/Player/LinkStateFollow.s b/asm/ov00/Player/LinkStateFollow.s index 9fbf9a80..22b8876c 100644 --- a/asm/ov00/Player/LinkStateFollow.s +++ b/asm/ov00/Player/LinkStateFollow.s @@ -30,10 +30,10 @@ _ZN15LinkStateFollow16MoveTowardTargetEv: ; 0x020a8f80 ldmneia sp!, {r4, r5, pc} mov r0, r5 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev - ldr r2, _020a9020 ; =data_027e0e60 + ldr r2, _020a9020 ; =gMapManager add r1, r0, #0xc4 ldr r0, [r2] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} @@ -62,7 +62,7 @@ _ZN15LinkStateFollow16MoveTowardTargetEv: ; 0x020a8f80 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end _ZN15LinkStateFollow16MoveTowardTargetEv -_020a9020: .word data_027e0e60 +_020a9020: .word gMapManager _020a9024: .word 0x00000155 .global _ZN15LinkStateFollow12OnStateLeaveEi @@ -82,15 +82,15 @@ _020a904c: cmp r0, #6 cmpne r0, #7 ldmneia sp!, {r3, r4, r5, pc} - ldr r1, _020a90ac ; =data_027e0e60 + ldr r1, _020a90ac ; =gMapManager add r0, sp, #0 ldr r4, [r1] add r2, r5, #0x24 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r0] @@ -104,7 +104,7 @@ _020a904c: .align 2, 0 arm_func_end _ZN15LinkStateFollow12OnStateLeaveEi _020a90a8: .word data_027e0fb8 -_020a90ac: .word data_027e0e60 +_020a90ac: .word gMapManager .global _ZN15LinkStateFollow8vfunc_24Ei arm_func_start _ZN15LinkStateFollow8vfunc_24Ei @@ -204,7 +204,7 @@ _ZN15LinkStateFollow18func_ov00_020a9180EP5Vec3p: ; 0x020a9180 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _020a920c ; =data_027e0e60 + ldr r0, _020a920c ; =gMapManager ldrb r2, [sp] ldrb r1, [sp, #1] ldr r0, [r0] @@ -213,7 +213,7 @@ _ZN15LinkStateFollow18func_ov00_020a9180EP5Vec3p: ; 0x020a9180 strb r1, [r3, #1] ldr r2, [r3] mov r1, r4 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _020a91f0: @@ -226,7 +226,7 @@ _020a91f0: .align 2, 0 arm_func_end _ZN15LinkStateFollow18func_ov00_020a9180EP5Vec3p _020a9208: .word data_027e0fb8 -_020a920c: .word data_027e0e60 +_020a920c: .word gMapManager .global _ZN15LinkStateFollow18func_ov00_020a9210EP5Vec3pP5Actor arm_func_start _ZN15LinkStateFollow18func_ov00_020a9210EP5Vec3pP5Actor diff --git a/asm/ov00/Player/LinkStateInteract.inc b/asm/ov00/Player/LinkStateInteract.inc index c35564bc..01e57bcd 100644 --- a/asm/ov00/Player/LinkStateInteract.inc +++ b/asm/ov00/Player/LinkStateInteract.inc @@ -43,7 +43,7 @@ .extern _ZNK11ItemManager8GetFairyEi .extern data_02050f54 .extern data_027e0d0c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0fb8 .extern data_027e0fe4 .extern data_ov00_020eec9c diff --git a/asm/ov00/Player/LinkStateInteract.s b/asm/ov00/Player/LinkStateInteract.s index d07a02de..1d94409f 100644 --- a/asm/ov00/Player/LinkStateInteract.s +++ b/asm/ov00/Player/LinkStateInteract.s @@ -940,7 +940,7 @@ _020aae90: add r2, r6, #0x8c str r1, [sp, #0x28] ldr r1, [r6, #0x4c] - ldr r5, _020ab3d8 ; =data_027e0e60 + ldr r5, _020ab3d8 ; =gMapManager str r1, [sp, #0x2c] ldr r3, [r6, #0x50] add r1, sp, #0x68 @@ -1270,7 +1270,7 @@ _020ab3c8: .word 0x000004cd _020ab3cc: .word data_027e0fb8 _020ab3d0: .word data_027e0fe4 _020ab3d4: .word 0x0000ffff -_020ab3d8: .word data_027e0e60 +_020ab3d8: .word gMapManager _020ab3dc: .word 0x00001ccd _020ab3e0: .word 0x00001333 _020ab3e4: .word 0x000018e4 diff --git a/asm/ov00/Player/PlayerBase.inc b/asm/ov00/Player/PlayerBase.inc index c96e5130..73867f5f 100644 --- a/asm/ov00/Player/PlayerBase.inc +++ b/asm/ov00/Player/PlayerBase.inc @@ -6,7 +6,7 @@ .extern _ZNK11ItemManager8GetFairyEi .extern data_027e0c54 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern gAdventureFlags .extern data_027e0f94 @@ -20,9 +20,9 @@ .extern func_01ffec34 .extern func_01fffcec .extern func_ov00_0207c5d4 -.extern func_ov00_02082af4 -.extern func_ov00_02083624 -.extern func_ov00_02083ee0 +.extern _ZN10MapManager18func_ov00_02082af4Ev +.extern _ZN10MapManager14GetEntrancePosEP5Vec3pi +.extern _ZN10MapManager16MapData_vfunc_68Ev .extern func_ov00_0208ae94 .extern func_ov00_0208f030 .extern _ZN14AdventureFlags18func_ov00_02097700Ev diff --git a/asm/ov00/Player/PlayerBase.s b/asm/ov00/Player/PlayerBase.s index e2be8543..e5d45665 100644 --- a/asm/ov00/Player/PlayerBase.s +++ b/asm/ov00/Player/PlayerBase.s @@ -285,7 +285,7 @@ _020a7de4: _ZN10PlayerBase8TeleportEP5Vec3psibb: ; 0x020a7df4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c - ldr r3, _020a7e6c ; =data_027e0e60 + ldr r3, _020a7e6c ; =gMapManager mov r5, r0 mov r4, r1 mov lr, #0xff @@ -296,7 +296,7 @@ _ZN10PlayerBase8TeleportEP5Vec3psibb: ; 0x020a7df4 mov r2, r4 strb lr, [sp, #0x16] str ip, [sp, #0x18] - bl func_ov00_02083624 + bl _ZN10MapManager14GetEntrancePosEP5Vec3pi str r6, [sp] mov r0, #0 str r0, [sp, #4] @@ -315,7 +315,7 @@ _ZN10PlayerBase8TeleportEP5Vec3psibb: ; 0x020a7df4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end _ZN10PlayerBase8TeleportEP5Vec3psibb -_020a7e6c: .word data_027e0e60 +_020a7e6c: .word gMapManager .global _ZN10PlayerBase18TeleportToEntranceEib arm_func_start _ZN10PlayerBase18TeleportToEntranceEib @@ -328,7 +328,7 @@ _ZN10PlayerBase18TeleportToEntranceEib: ; 0x020a7e70 mov r4, r2 str r0, [r3] ldr r1, [r5, #4] - ldr r0, _020a7f68 ; =data_027e0e60 + ldr r0, _020a7f68 ; =gMapManager str r1, [r3, #4] ldr r2, [r5, #8] add r1, sp, #0 @@ -341,7 +341,7 @@ _ZN10PlayerBase18TeleportToEntranceEib: ; 0x020a7e70 str r3, [sp, #4] ldr r3, [r5, #8] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr ip, [r5, #4] ldr r2, _020a7f6c ; =data_027e0fac cmp ip, r0 @@ -366,9 +366,9 @@ _ZN10PlayerBase18TeleportToEntranceEib: ; 0x020a7e70 ldrb r0, [sp, #0x18] cmp r0, #0 beq _020a7f40 - ldr r0, _020a7f68 ; =data_027e0e60 + ldr r0, _020a7f68 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082af4 + bl _ZN10MapManager18func_ov00_02082af4Ev ldr r0, _020a7f80 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097700Ev @@ -386,7 +386,7 @@ _020a7f58: .align 2, 0 arm_func_end _ZN10PlayerBase18TeleportToEntranceEib _020a7f64: .word data_027e0f94 -_020a7f68: .word data_027e0e60 +_020a7f68: .word gMapManager _020a7f6c: .word data_027e0fac _020a7f70: .word data_027e0fa0 _020a7f74: .word data_027e0fb0 diff --git a/asm/ov00/Player/PlayerControl.inc b/asm/ov00/Player/PlayerControl.inc index 457a4bf4..31b1b43a 100644 --- a/asm/ov00/Player/PlayerControl.inc +++ b/asm/ov00/Player/PlayerControl.inc @@ -1,8 +1,17 @@ #pragma once +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02085108EPi +.extern _ZN10MapManager18func_ov00_02085594Ev .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager18func_ov00_020ad790Ei .extern _ZN12ActorManager18func_ov00_020c3484EP8ActorRefP5Actori .extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097750Ev .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZNK11ItemManager15GetEquippedItemEv @@ -17,9 +26,8 @@ .extern data_027e0d0c .extern data_027e0d38 .extern data_027e0e2c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 -.extern gAdventureFlags .extern data_027e0f90 .extern data_027e0f94 .extern data_027e0fac @@ -44,16 +52,7 @@ .extern func_0202b2e8 .extern func_0202d95c .extern func_ov00_02078b40 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083c7c -.extern func_ov00_020840c4 -.extern func_ov00_02085108 -.extern func_ov00_02085594 .extern func_ov00_0208b180 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags18func_ov00_02097750Ev .extern func_ov00_020a5e9c .extern func_ov00_020b78a0 .extern func_ov00_020b7924 @@ -76,4 +75,5 @@ .extern func_ov15_0213dcb0 .extern func_ov15_0213dcb8 .extern func_ov24_02178348 +.extern gAdventureFlags .extern gItemManager diff --git a/asm/ov00/Player/PlayerControl.s b/asm/ov00/Player/PlayerControl.s index 49fc6958..bd4688a2 100644 --- a/asm/ov00/Player/PlayerControl.s +++ b/asm/ov00/Player/PlayerControl.s @@ -643,10 +643,10 @@ _020af5c4: mov r0, r4 bl _ZN13PlayerControl13StopFollowingEv _020af620: - ldr r0, _020af6d8 ; =data_027e0e60 + ldr r0, _020af6d8 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02085108 + bl _ZN10MapManager18func_ov00_02085108EPi cmp r0, #3 cmpne r0, #7 moveq r0, #1 @@ -695,7 +695,7 @@ _020af6c8: .word data_027e0c68 _020af6cc: .word data_027e0fac _020af6d0: .word data_027e0ffc _020af6d4: .word 0x0000010a -_020af6d8: .word data_027e0e60 +_020af6d8: .word gMapManager _020af6dc: .word data_027e103c _020af6e0: .word data_027e05f8 @@ -721,11 +721,11 @@ _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii: ; 0x020af6e4 str r0, [r4, #0x84] str r0, [r4, #0x88] _020af72c: - ldr r1, _020af774 ; =data_027e0e60 + ldr r1, _020af774 ; =gMapManager add r0, sp, #0 ldr r1, [r1] mov r2, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp] mov r2, #1 mov r1, #0 @@ -741,7 +741,7 @@ _020af72c: .align 2, 0 arm_func_end _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii _020af770: .word data_027e0f94 -_020af774: .word data_027e0e60 +_020af774: .word gMapManager .global _ZN13PlayerControl18func_ov00_020af778Ev arm_func_start _ZN13PlayerControl18func_ov00_020af778Ev @@ -883,10 +883,10 @@ _020af944: bl _ZN5Actor16XzDistanceToLinkEv mov r4, r0 _020af97c: - ldr r0, _020afad0 ; =data_027e0e60 + ldr r0, _020afad0 ; =gMapManager add r1, sp, #8 ldr r0, [r0] - bl func_ov00_02085108 + bl _ZN10MapManager18func_ov00_02085108EPi ldr r2, _020afad4 ; =data_027e0f94 mov r1, r0 ldr r0, [r2, #4] @@ -974,7 +974,7 @@ _020afac0: .word data_027e0f90 _020afac4: .word gItemManager _020afac8: .word data_027e0fc8 _020afacc: .word data_027e0fe4 -_020afad0: .word data_027e0e60 +_020afad0: .word gMapManager _020afad4: .word data_027e0f94 .global _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p @@ -999,10 +999,10 @@ _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p: ; 0x020afad8 blx r1 cmp r0, #3 bne _020afb48 - ldr r0, _020afb68 ; =data_027e0e60 + ldr r0, _020afb68 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02085594 + bl _ZN10MapManager18func_ov00_02085594Ev cmp r0, #0 movne r0, #1 add sp, sp, #0xc @@ -1020,7 +1020,7 @@ _020afb54: arm_func_end _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p _020afb60: .word data_027e0f94 _020afb64: .word data_027e0f90 -_020afb68: .word data_027e0e60 +_020afb68: .word gMapManager .global _ZN13PlayerControl18func_ov00_020afb6cEv arm_func_start _ZN13PlayerControl18func_ov00_020afb6cEv @@ -1136,10 +1136,10 @@ _020afcf4: ldrb r0, [r9, #0x81] cmp r0, #0 beq _020afe24 - ldr r0, _020afe84 ; =data_027e0e60 + ldr r0, _020afe84 ; =gMapManager add r1, r9, #0x9c ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev str r0, [r9, #0xa0] cmp r0, #0 beq _020afd88 @@ -1173,7 +1173,7 @@ _020afd5c: b _020afdc4 _020afd88: ldr r1, _020afe78 ; =data_027e0f94 - ldr r0, _020afe84 ; =data_027e0e60 + ldr r0, _020afe84 ; =gMapManager ldr r1, [r1, #4] ldr r0, [r0] str r1, [sp, #8] @@ -1184,7 +1184,7 @@ _020afd88: strb r3, [r5] strb r2, [r5, #1] ldr r2, [r5] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r5, #2 mov r6, #3 _020afdc4: @@ -1242,7 +1242,7 @@ _020afe74: .word gItemManager _020afe78: .word data_027e0f94 _020afe7c: .word data_027e0fc8 _020afe80: .word data_027e0ffc -_020afe84: .word data_027e0e60 +_020afe84: .word gMapManager .global _ZN13PlayerControl18func_ov00_020afe88Eib arm_func_start _ZN13PlayerControl18func_ov00_020afe88Eib @@ -1864,24 +1864,24 @@ _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p: ; 0x020b05e8 str r3, [sp, #4] str r1, [sp, #0xc] _020b06e0: - ldr r1, _020b0774 ; =data_027e0e60 + ldr r1, _020b0774 ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, sp, #4 - bl func_ov00_02083a1c - ldr r0, _020b0774 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _020b0774 ; =gMapManager ldrb r1, [sp] ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei ldr r1, [sp, #4] - ldr r2, _020b0774 ; =data_027e0e60 + ldr r2, _020b0774 ; =gMapManager sub r0, r0, r1 add r0, r0, r0, lsr #31 add r3, r1, r0, asr #1 ldrb r1, [sp, #1] ldr r0, [r2] str r3, [sp, #4] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei ldr r2, [sp, #0xc] mov r1, r4 sub r0, r0, r2 @@ -1904,7 +1904,7 @@ _020b0764: .word 0x00000333 _020b0768: .word data_027e0f94 _020b076c: .word data_027e0fac _020b0770: .word data_02050f54 -_020b0774: .word data_027e0e60 +_020b0774: .word gMapManager .global _ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji arm_func_start _ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji diff --git a/asm/ov00/Player/TouchControl.inc b/asm/ov00/Player/TouchControl.inc index fd8c24df..07247563 100644 --- a/asm/ov00/Player/TouchControl.inc +++ b/asm/ov00/Player/TouchControl.inc @@ -1,3 +1,8 @@ #pragma once .extern GetTouchStateFlags +.extern __register_global_object +.extern data_027e0d6c +.extern data_027e0d78 .extern func_020078c0 +.extern func_ov00_020df378 +.extern func_ov08_02113080 diff --git a/asm/ov00/Player/TouchControl.s b/asm/ov00/Player/TouchControl.s index 24c5f5ab..7e916190 100644 --- a/asm/ov00/Player/TouchControl.s +++ b/asm/ov00/Player/TouchControl.s @@ -294,3 +294,32 @@ _0207af84: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end _ZN12TouchControl18func_ov00_0207af38Etb + + .global _ZN12TouchControlD1Ev + arm_func_start _ZN12TouchControlD1Ev +_ZN12TouchControlD1Ev: ; 0x0207af9c + bx lr + arm_func_end _ZN12TouchControlD1Ev + + .section .init, 4, 1, 4 + .global func_ov00_020df38c + arm_func_start func_ov00_020df38c +func_ov00_020df38c: ; 0x020df38c + stmdb sp!, {r3, lr} + ldr r0, _020df3ac ; =data_027e0d78 + bl func_ov08_02113080 + ldr r0, _020df3ac ; =data_027e0d78 + ldr r1, _020df3b0 ; =_ZN12TouchControlD1Ev + ldr r2, _020df3b4 ; =data_027e0d6c + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df38c +_020df3ac: .word data_027e0d78 +_020df3b0: .word _ZN12TouchControlD1Ev - 1 +_020df3b4: .word data_027e0d6c + + .section .ctor, 4, 1, 4 + .global data_ov00_020e1e90 +data_ov00_020e1e90: ; 0x020e1e90 + .word func_ov00_020df378 diff --git a/asm/ov00/Save/AdventureFlags.inc b/asm/ov00/Save/AdventureFlags.inc index 00feb695..cd1910ee 100644 --- a/asm/ov00/Save/AdventureFlags.inc +++ b/asm/ov00/Save/AdventureFlags.inc @@ -3,12 +3,12 @@ .extern data_027e0c68 .extern data_027e0db0 .extern data_027e0dbc -.extern data_027e0e60 +.extern gMapManager .extern func_0204f754 .extern func_ov00_0207b2f0 .extern func_ov00_0207b334 .extern func_ov00_0207ba94 -.extern func_ov00_020838f8 +.extern _ZN10MapManager18func_ov00_020838f8EPi .extern func_ov00_020980f4 .extern func_ov00_020980f8 .extern func_ov00_020980fc diff --git a/asm/ov00/Save/AdventureFlags.s b/asm/ov00/Save/AdventureFlags.s index 06cb74e9..2880f496 100644 --- a/asm/ov00/Save/AdventureFlags.s +++ b/asm/ov00/Save/AdventureFlags.s @@ -325,10 +325,10 @@ _ZN14AdventureFlags18func_ov00_02097968Ei: ; 0x02097968 strb ip, [sp, #0x14] strb ip, [sp, #0x15] bl _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 - ldr r0, _02097a40 ; =data_027e0e60 + ldr r0, _02097a40 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_020838f8 + bl _ZN10MapManager18func_ov00_020838f8EPi strb r0, [sp, #0x26] ldr r0, [r5, #0x44] add r1, sp, #0x18 @@ -342,7 +342,7 @@ _ZN14AdventureFlags18func_ov00_02097968Ei: ; 0x02097968 .align 2, 0 arm_func_end _ZN14AdventureFlags18func_ov00_02097968Ei _02097a3c: .word data_027e0db0 -_02097a40: .word data_027e0e60 +_02097a40: .word gMapManager .global _ZN14AdventureFlags18func_ov00_02097a44Eii arm_func_start _ZN14AdventureFlags18func_ov00_02097a44Eii diff --git a/asm/ov00/ov00_020773c0.inc b/asm/ov00/ov00_020773c0.inc index 36224a79..e016ee5b 100644 --- a/asm/ov00/ov00_020773c0.inc +++ b/asm/ov00/ov00_020773c0.inc @@ -1,9 +1,19 @@ #pragma once .extern Divide .extern WaitByLoop +.extern _ZN10MapManager13GetCourseMaxXEv +.extern _ZN10MapManager13GetCourseMaxZEv +.extern _ZN10MapManager13GetCourseMinXEv +.extern _ZN10MapManager13GetCourseMinZEv +.extern _ZN10MapManager18func_ov00_02082e1cEPiS0_ +.extern _ZN10MapManager18func_ov00_0208306cEv +.extern _ZN10MapManager18func_ov00_02083588Ev +.extern _ZN10MapManager18func_ov00_020849c0Ev +.extern _ZN14AdventureFlags15Get_FlagsUnk_48Ei .extern _ZN14OverlayManager15LoadIfNotLoadedEjj .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj +.extern __register_global_object .extern data_02000ba0 .extern data_02056be4 .extern data_0205750c @@ -26,9 +36,7 @@ .extern data_027e0d48 .extern data_027e0d54 .extern data_027e0e28 -.extern data_027e0e60 .extern data_027e0f64 -.extern gAdventureFlags .extern data_027e0f7c .extern data_027e1054 .extern data_ov00_020ec718 @@ -127,19 +135,9 @@ .extern func_020426d4 .extern func_02042bb8 .extern func_0204366c -.extern __register_global_object .extern func_ov00_0207bc48 .extern func_ov00_0207c170 -.extern func_ov00_02082e1c -.extern func_ov00_0208306c -.extern func_ov00_02083394 -.extern func_ov00_020833a0 -.extern func_ov00_020833ac -.extern func_ov00_020833b8 -.extern func_ov00_02083588 -.extern func_ov00_020849c0 .extern func_ov00_02088074 -.extern _ZN14AdventureFlags15Get_FlagsUnk_48Ei .extern func_ov00_0209d738 .extern func_ov00_0209d758 .extern func_ov00_0209d768 @@ -155,10 +153,13 @@ .extern func_ov03_020f4b7c .extern func_ov04_02100b6c .extern func_ov08_02112ee0 +.extern func_ov08_02113a0c .extern func_ov08_02113a40 .extern func_ov09_021136c4 .extern func_ov09_0211d860 .extern func_ov09_0211d8a0 .extern func_ov29_02178f1c +.extern gAdventureFlags +.extern gMapManager .extern gOverlayManager .extern strncmp diff --git a/asm/ov00/ov00_020773c0.s b/asm/ov00/ov00_020773c0.s index 92ed8ad2..2a2ffd72 100644 --- a/asm/ov00/ov00_020773c0.s +++ b/asm/ov00/ov00_020773c0.s @@ -3875,10 +3875,10 @@ _02078f7c: .word data_027e1054 arm_func_start func_ov00_02078f80 func_ov00_02078f80: ; 0x02078f80 stmdb sp!, {r4, lr} - ldr r1, _02078fa8 ; =data_027e0e60 + ldr r1, _02078fa8 ; =gMapManager mov r4, r0 ldr r0, [r1] - bl func_ov00_02083588 + bl _ZN10MapManager18func_ov00_02083588Ev ldr r1, [r4, #0x44] cmp r1, r0 movne r0, #1 @@ -3886,7 +3886,7 @@ func_ov00_02078f80: ; 0x02078f80 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_02078f80 -_02078fa8: .word data_027e0e60 +_02078fa8: .word gMapManager .global func_ov00_02078fac arm_func_start func_ov00_02078fac @@ -4038,23 +4038,23 @@ _02079148: .word data_027e0c38 func_ov00_0207914c: ; 0x0207914c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x14 - ldr r4, _020791d8 ; =data_027e0e60 + ldr r4, _020791d8 ; =gMapManager mov r11, r0 ldr r7, [r4] mov r10, r1 mov r0, r7 mov r9, r2 mov r8, r3 - bl func_ov00_02083394 + bl _ZN10MapManager13GetCourseMinXEv mov r6, r0 mov r0, r7 - bl func_ov00_020833a0 + bl _ZN10MapManager13GetCourseMinZEv mov r5, r0 mov r0, r7 - bl func_ov00_020833ac + bl _ZN10MapManager13GetCourseMaxXEv mov r4, r0 mov r0, r7 - bl func_ov00_020833b8 + bl _ZN10MapManager13GetCourseMaxZEv ldr r1, [r10, #8] sub r0, r0, r5 sub r1, r1, r5 @@ -4073,7 +4073,7 @@ func_ov00_0207914c: ; 0x0207914c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0207914c -_020791d8: .word data_027e0e60 +_020791d8: .word gMapManager .global func_ov00_020791dc arm_func_start func_ov00_020791dc @@ -4097,23 +4097,23 @@ func_ov00_020791dc: ; 0x020791dc func_ov00_0207920c: ; 0x0207920c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x14 - ldr r4, _0207929c ; =data_027e0e60 + ldr r4, _0207929c ; =gMapManager mov r11, r0 ldr r7, [r4] mov r10, r1 mov r0, r7 mov r9, r2 mov r8, r3 - bl func_ov00_02083394 + bl _ZN10MapManager13GetCourseMinXEv mov r6, r0 mov r0, r7 - bl func_ov00_020833a0 + bl _ZN10MapManager13GetCourseMinZEv mov r5, r0 mov r0, r7 - bl func_ov00_020833ac + bl _ZN10MapManager13GetCourseMaxXEv mov r4, r0 mov r0, r7 - bl func_ov00_020833b8 + bl _ZN10MapManager13GetCourseMaxZEv sub r3, r4, r6 ldr r1, [r10, #8] sub r0, r0, r5 @@ -4133,7 +4133,7 @@ func_ov00_0207920c: ; 0x0207920c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0207920c -_0207929c: .word data_027e0e60 +_0207929c: .word gMapManager .global func_ov00_020792a0 arm_func_start func_ov00_020792a0 @@ -4161,22 +4161,22 @@ _020792d4: ldr r0, [r0, #0x14] add r9, r9, r0 _020792f4: - ldr r0, _020793b4 ; =data_027e0e60 + ldr r0, _020793b4 ; =gMapManager ldr r6, [r0] mov r0, r6 - bl func_ov00_02083394 + bl _ZN10MapManager13GetCourseMinXEv mov r5, r0 mov r0, r6 - bl func_ov00_020833a0 + bl _ZN10MapManager13GetCourseMinZEv mov r4, r0 mov r0, r6 - bl func_ov00_020833ac + bl _ZN10MapManager13GetCourseMaxXEv sub r2, r0, r5 mov r0, r6 mov r1, r2, asr #0x7 add r1, r2, r1, lsr #24 mov r6, r1, asr #0x8 - bl func_ov00_020833b8 + bl _ZN10MapManager13GetCourseMaxZEv sub r0, r0, r4 mov r1, #0xc0 bl func_01ff9b4c @@ -4212,7 +4212,7 @@ _02079368: .align 2, 0 arm_func_end func_ov00_020792a0 _020793b0: .word data_027e0c38 -_020793b4: .word data_027e0e60 +_020793b4: .word gMapManager .global func_ov00_020793b8 arm_func_start func_ov00_020793b8 @@ -4340,28 +4340,28 @@ _0207955c: mov r0, #0 b _02079614 _02079564: - ldr r0, _0207967c ; =data_027e0e60 + ldr r0, _0207967c ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r4 - bl func_ov00_02082e1c + bl _ZN10MapManager18func_ov00_02082e1cEPiS0_ cmp r0, #0 movne r0, #0 bne _02079614 - ldr r0, _0207967c ; =data_027e0e60 + ldr r0, _0207967c ; =gMapManager ldr r0, [r0] - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 beq _020795f8 ldrb r0, [sp, #0x38] cmp r0, #0 moveq r0, #0 beq _02079614 - ldr r0, _0207967c ; =data_027e0e60 + ldr r0, _0207967c ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r4 - bl func_ov00_0208306c + bl _ZN10MapManager18func_ov00_0208306cEv ldr r1, [r4] mov r0, #0xc0000 mov r1, r1, lsl #0xc @@ -4415,7 +4415,7 @@ _0207966c: .word data_027e0e28 _02079670: .word data_027e0d38 _02079674: .word gOverlayManager _02079678: .word 0x00000003 -_0207967c: .word data_027e0e60 +_0207967c: .word gMapManager .global func_ov00_02079680 arm_func_start func_ov00_02079680 @@ -4510,11 +4510,11 @@ func_ov00_0207977c: ; 0x0207977c bl func_ov00_02078b88 cmp r0, #0 bne _0207984c - ldr r0, _0207986c ; =data_027e0e60 + ldr r0, _0207986c ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r4 - bl func_ov00_02082e1c + bl _ZN10MapManager18func_ov00_02082e1cEPiS0_ cmp r0, #0 beq _0207984c mov r0, r8 @@ -4555,7 +4555,7 @@ _0207984c: arm_func_end func_ov00_0207977c _02079864: .word data_027e0e28 _02079868: .word data_027e0d38 -_0207986c: .word data_027e0e60 +_0207986c: .word gMapManager _02079870: .word data_027e0c38 _02079874: .word data_027e080c @@ -6935,6 +6935,17 @@ _020df36c: .word data_027e0d54 _020df370: .word func_ov00_0207a2fc - 1 _020df374: .word data_027e0d48 + .global func_ov00_020df378 + arm_func_start func_ov00_020df378 +func_ov00_020df378: ; 0x020df378 + ldr ip, _020df384 ; =func_ov08_02113a0c + ldr r0, _020df388 ; =data_ov00_020e9370 + bx ip + .align 2, 0 + arm_func_end func_ov00_020df378 +_020df384: .word func_ov08_02113a0c +_020df388: .word data_ov00_020e9370 + .section .ctor, 4, 1, 4 .global data_ov00_020e1e88 data_ov00_020e1e88: ; 0x020e1e88 @@ -7090,3 +7101,1737 @@ data_ov00_020e9360: .global data_ov00_020e9364 data_ov00_020e9364: .space 0x4 + .global data_ov00_020e9368 +data_ov00_020e9368: + .space 0x4 + .global data_ov00_020e936c +data_ov00_020e936c: + .space 0x4 + .global data_ov00_020e9370 +data_ov00_020e9370: + .space 0x4 + .global data_ov00_020e9374 +data_ov00_020e9374: + .space 0x4 + .global data_ov00_020e9378 +data_ov00_020e9378: + .space 0x4 + .global data_ov00_020e937c +data_ov00_020e937c: + .space 0x4 + .global data_ov00_020e9380 +data_ov00_020e9380: + .space 0x4 + .global data_ov00_020e9384 +data_ov00_020e9384: + .space 0x4 + .global data_ov00_020e9388 +data_ov00_020e9388: + .space 0x4 + .global data_ov00_020e938c +data_ov00_020e938c: + .space 0x4 + .global data_ov00_020e9390 +data_ov00_020e9390: + .space 0x4 + .global data_ov00_020e9394 +data_ov00_020e9394: + .space 0x4 + .global data_ov00_020e9398 +data_ov00_020e9398: + .space 0x4 + .global data_ov00_020e939c +data_ov00_020e939c: + .space 0x4 + .global data_ov00_020e93a0 +data_ov00_020e93a0: + .space 0x4 + .global data_ov00_020e93a4 +data_ov00_020e93a4: + .space 0x4 + .global data_ov00_020e93a8 +data_ov00_020e93a8: + .space 0x4 + .global data_ov00_020e93ac +data_ov00_020e93ac: + .space 0x4 + .global data_ov00_020e93b0 +data_ov00_020e93b0: + .space 0x4 + .global data_ov00_020e93b4 +data_ov00_020e93b4: + .space 0x4 + .global data_ov00_020e93b8 +data_ov00_020e93b8: + .space 0x4 + .global data_ov00_020e93bc +data_ov00_020e93bc: + .space 0x4 + .global data_ov00_020e93c0 +data_ov00_020e93c0: + .space 0x4 + .global data_ov00_020e93c4 +data_ov00_020e93c4: + .space 0x4 + .global data_ov00_020e93c8 +data_ov00_020e93c8: + .space 0x4 + .global data_ov00_020e93cc +data_ov00_020e93cc: + .space 0x4 + .global data_ov00_020e93d0 +data_ov00_020e93d0: + .space 0x4 + .global data_ov00_020e93d4 +data_ov00_020e93d4: + .space 0x4 + .global data_ov00_020e93d8 +data_ov00_020e93d8: + .space 0x4 + .global data_ov00_020e93dc +data_ov00_020e93dc: + .space 0x4 + .global data_ov00_020e93e0 +data_ov00_020e93e0: + .space 0x4 + .global data_ov00_020e93e4 +data_ov00_020e93e4: + .space 0x4 + .global data_ov00_020e93e8 +data_ov00_020e93e8: + .space 0x4 + .global data_ov00_020e93ec +data_ov00_020e93ec: + .space 0x4 + .global data_ov00_020e93f0 +data_ov00_020e93f0: + .space 0x4 + .global data_ov00_020e93f4 +data_ov00_020e93f4: + .space 0x4 + .global data_ov00_020e93f8 +data_ov00_020e93f8: + .space 0x4 + .global data_ov00_020e93fc +data_ov00_020e93fc: + .space 0x4 + .global data_ov00_020e9400 +data_ov00_020e9400: + .space 0x4 + .global data_ov00_020e9404 +data_ov00_020e9404: + .space 0x4 + .global data_ov00_020e9408 +data_ov00_020e9408: + .space 0x4 + .global data_ov00_020e940c +data_ov00_020e940c: + .space 0x4 + .global data_ov00_020e9410 +data_ov00_020e9410: + .space 0x4 + .global data_ov00_020e9414 +data_ov00_020e9414: + .space 0x4 + .global data_ov00_020e9418 +data_ov00_020e9418: + .space 0x4 + .global data_ov00_020e941c +data_ov00_020e941c: + .space 0x4 + .global data_ov00_020e9420 +data_ov00_020e9420: + .space 0x4 + .global data_ov00_020e9424 +data_ov00_020e9424: + .space 0x4 + .global data_ov00_020e9428 +data_ov00_020e9428: + .space 0x4 + .global data_ov00_020e942c +data_ov00_020e942c: + .space 0x4 + .global data_ov00_020e9430 +data_ov00_020e9430: + .space 0x4 + .global data_ov00_020e9434 +data_ov00_020e9434: + .space 0x4 + .global data_ov00_020e9438 +data_ov00_020e9438: + .space 0x4 + .global data_ov00_020e943c +data_ov00_020e943c: + .space 0x4 + .global data_ov00_020e9440 +data_ov00_020e9440: + .space 0x4 + .global data_ov00_020e9444 +data_ov00_020e9444: + .space 0x4 + .global data_ov00_020e9448 +data_ov00_020e9448: + .space 0x4 + .global data_ov00_020e944c +data_ov00_020e944c: + .space 0x4 + .global data_ov00_020e9450 +data_ov00_020e9450: + .space 0x4 + .global data_ov00_020e9454 +data_ov00_020e9454: + .space 0x4 + .global data_ov00_020e9458 +data_ov00_020e9458: + .space 0x4 + .global data_ov00_020e945c +data_ov00_020e945c: + .space 0x4 + .global data_ov00_020e9460 +data_ov00_020e9460: + .space 0x4 + .global data_ov00_020e9464 +data_ov00_020e9464: + .space 0x4 + .global data_ov00_020e9468 +data_ov00_020e9468: + .space 0x4 + .global data_ov00_020e946c +data_ov00_020e946c: + .space 0x4 + .global data_ov00_020e9470 +data_ov00_020e9470: + .space 0x4 + .global data_ov00_020e9474 +data_ov00_020e9474: + .space 0x4 + .global data_ov00_020e9478 +data_ov00_020e9478: + .space 0x4 + .global data_ov00_020e947c +data_ov00_020e947c: + .space 0x4 + .global data_ov00_020e9480 +data_ov00_020e9480: + .space 0x4 + .global data_ov00_020e9484 +data_ov00_020e9484: + .space 0x4 + .global data_ov00_020e9488 +data_ov00_020e9488: + .space 0x4 + .global data_ov00_020e948c +data_ov00_020e948c: + .space 0x4 + .global data_ov00_020e9490 +data_ov00_020e9490: + .space 0x4 + .global data_ov00_020e9494 +data_ov00_020e9494: + .space 0x4 + .global data_ov00_020e9498 +data_ov00_020e9498: + .space 0x4 + .global data_ov00_020e949c +data_ov00_020e949c: + .space 0x4 + .global data_ov00_020e94a0 +data_ov00_020e94a0: + .space 0x4 + .global data_ov00_020e94a4 +data_ov00_020e94a4: + .space 0x4 + .global data_ov00_020e94a8 +data_ov00_020e94a8: + .space 0x4 + .global data_ov00_020e94ac +data_ov00_020e94ac: + .space 0x4 + .global data_ov00_020e94b0 +data_ov00_020e94b0: + .space 0x4 + .global data_ov00_020e94b4 +data_ov00_020e94b4: + .space 0x4 + .global data_ov00_020e94b8 +data_ov00_020e94b8: + .space 0x4 + .global data_ov00_020e94bc +data_ov00_020e94bc: + .space 0x4 + .global data_ov00_020e94c0 +data_ov00_020e94c0: + .space 0x4 + .global data_ov00_020e94c4 +data_ov00_020e94c4: + .space 0x4 + .global data_ov00_020e94c8 +data_ov00_020e94c8: + .space 0x4 + .global data_ov00_020e94cc +data_ov00_020e94cc: + .space 0x4 + .global data_ov00_020e94d0 +data_ov00_020e94d0: + .space 0x4 + .global data_ov00_020e94d4 +data_ov00_020e94d4: + .space 0x4 + .global data_ov00_020e94d8 +data_ov00_020e94d8: + .space 0x4 + .global data_ov00_020e94dc +data_ov00_020e94dc: + .space 0x4 + .global data_ov00_020e94e0 +data_ov00_020e94e0: + .space 0x4 + .global data_ov00_020e94e4 +data_ov00_020e94e4: + .space 0x4 + .global data_ov00_020e94e8 +data_ov00_020e94e8: + .space 0x4 + .global data_ov00_020e94ec +data_ov00_020e94ec: + .space 0x4 + .global data_ov00_020e94f0 +data_ov00_020e94f0: + .space 0x4 + .global data_ov00_020e94f4 +data_ov00_020e94f4: + .space 0x4 + .global data_ov00_020e94f8 +data_ov00_020e94f8: + .space 0x4 + .global data_ov00_020e94fc +data_ov00_020e94fc: + .space 0x4 + .global data_ov00_020e9500 +data_ov00_020e9500: + .space 0x4 + .global data_ov00_020e9504 +data_ov00_020e9504: + .space 0x4 + .global data_ov00_020e9508 +data_ov00_020e9508: + .space 0x4 + .global data_ov00_020e950c +data_ov00_020e950c: + .space 0x4 + .global data_ov00_020e9510 +data_ov00_020e9510: + .space 0x4 + .global data_ov00_020e9514 +data_ov00_020e9514: + .space 0x4 + .global data_ov00_020e9518 +data_ov00_020e9518: + .space 0x4 + .global data_ov00_020e951c +data_ov00_020e951c: + .space 0x4 + .global data_ov00_020e9520 +data_ov00_020e9520: + .space 0x4 + .global data_ov00_020e9524 +data_ov00_020e9524: + .space 0x4 + .global data_ov00_020e9528 +data_ov00_020e9528: + .space 0x4 + .global data_ov00_020e952c +data_ov00_020e952c: + .space 0x4 + .global data_ov00_020e9530 +data_ov00_020e9530: + .space 0x4 + .global data_ov00_020e9534 +data_ov00_020e9534: + .space 0x4 + .global data_ov00_020e9538 +data_ov00_020e9538: + .space 0x4 + .global data_ov00_020e953c +data_ov00_020e953c: + .space 0x4 + .global data_ov00_020e9540 +data_ov00_020e9540: + .space 0x4 + .global data_ov00_020e9544 +data_ov00_020e9544: + .space 0x4 + .global data_ov00_020e9548 +data_ov00_020e9548: + .space 0x4 + .global data_ov00_020e954c +data_ov00_020e954c: + .space 0x4 + .global data_ov00_020e9550 +data_ov00_020e9550: + .space 0x4 + .global data_ov00_020e9554 +data_ov00_020e9554: + .space 0x4 + .global data_ov00_020e9558 +data_ov00_020e9558: + .space 0x4 + .global data_ov00_020e955c +data_ov00_020e955c: + .space 0x4 + .global data_ov00_020e9560 +data_ov00_020e9560: + .space 0x4 + .global data_ov00_020e9564 +data_ov00_020e9564: + .space 0x4 + .global data_ov00_020e9568 +data_ov00_020e9568: + .space 0x4 + .global data_ov00_020e956c +data_ov00_020e956c: + .space 0x4 + .global data_ov00_020e9570 +data_ov00_020e9570: + .space 0x4 + .global data_ov00_020e9574 +data_ov00_020e9574: + .space 0x4 + .global data_ov00_020e9578 +data_ov00_020e9578: + .space 0x4 + .global data_ov00_020e957c +data_ov00_020e957c: + .space 0x4 + .global data_ov00_020e9580 +data_ov00_020e9580: + .space 0x4 + .global data_ov00_020e9584 +data_ov00_020e9584: + .space 0x4 + .global data_ov00_020e9588 +data_ov00_020e9588: + .space 0x4 + .global data_ov00_020e958c +data_ov00_020e958c: + .space 0x4 + .global data_ov00_020e9590 +data_ov00_020e9590: + .space 0x4 + .global data_ov00_020e9594 +data_ov00_020e9594: + .space 0x4 + .global data_ov00_020e9598 +data_ov00_020e9598: + .space 0x4 + .global data_ov00_020e959c +data_ov00_020e959c: + .space 0x4 + .global data_ov00_020e95a0 +data_ov00_020e95a0: + .space 0x4 + .global data_ov00_020e95a4 +data_ov00_020e95a4: + .space 0x4 + .global data_ov00_020e95a8 +data_ov00_020e95a8: + .space 0x4 + .global data_ov00_020e95ac +data_ov00_020e95ac: + .space 0x4 + .global data_ov00_020e95b0 +data_ov00_020e95b0: + .space 0x4 + .global data_ov00_020e95b4 +data_ov00_020e95b4: + .space 0x4 + .global data_ov00_020e95b8 +data_ov00_020e95b8: + .space 0x4 + .global data_ov00_020e95bc +data_ov00_020e95bc: + .space 0x4 + .global data_ov00_020e95c0 +data_ov00_020e95c0: + .space 0x4 + .global data_ov00_020e95c4 +data_ov00_020e95c4: + .space 0x4 + .global data_ov00_020e95c8 +data_ov00_020e95c8: + .space 0x4 + .global data_ov00_020e95cc +data_ov00_020e95cc: + .space 0x4 + .global data_ov00_020e95d0 +data_ov00_020e95d0: + .space 0x4 + .global data_ov00_020e95d4 +data_ov00_020e95d4: + .space 0x4 + .global data_ov00_020e95d8 +data_ov00_020e95d8: + .space 0x4 + .global data_ov00_020e95dc +data_ov00_020e95dc: + .space 0x4 + .global data_ov00_020e95e0 +data_ov00_020e95e0: + .space 0x4 + .global data_ov00_020e95e4 +data_ov00_020e95e4: + .space 0x4 + .global data_ov00_020e95e8 +data_ov00_020e95e8: + .space 0x4 + .global data_ov00_020e95ec +data_ov00_020e95ec: + .space 0x4 + .global data_ov00_020e95f0 +data_ov00_020e95f0: + .space 0x4 + .global data_ov00_020e95f4 +data_ov00_020e95f4: + .space 0x4 + .global data_ov00_020e95f8 +data_ov00_020e95f8: + .space 0x4 + .global data_ov00_020e95fc +data_ov00_020e95fc: + .space 0x4 + .global data_ov00_020e9600 +data_ov00_020e9600: + .space 0x4 + .global data_ov00_020e9604 +data_ov00_020e9604: + .space 0x4 + .global data_ov00_020e9608 +data_ov00_020e9608: + .space 0x4 + .global data_ov00_020e960c +data_ov00_020e960c: + .space 0x4 + .global data_ov00_020e9610 +data_ov00_020e9610: + .space 0x4 + .global data_ov00_020e9614 +data_ov00_020e9614: + .space 0x4 + .global data_ov00_020e9618 +data_ov00_020e9618: + .space 0x4 + .global data_ov00_020e961c +data_ov00_020e961c: + .space 0x4 + .global data_ov00_020e9620 +data_ov00_020e9620: + .space 0x4 + .global data_ov00_020e9624 +data_ov00_020e9624: + .space 0x4 + .global data_ov00_020e9628 +data_ov00_020e9628: + .space 0x4 + .global data_ov00_020e962c +data_ov00_020e962c: + .space 0x4 + .global data_ov00_020e9630 +data_ov00_020e9630: + .space 0x4 + .global data_ov00_020e9634 +data_ov00_020e9634: + .space 0x4 + .global data_ov00_020e9638 +data_ov00_020e9638: + .space 0x4 + .global data_ov00_020e963c +data_ov00_020e963c: + .space 0x4 + .global data_ov00_020e9640 +data_ov00_020e9640: + .space 0x4 + .global data_ov00_020e9644 +data_ov00_020e9644: + .space 0x4 + .global data_ov00_020e9648 +data_ov00_020e9648: + .space 0x4 + .global data_ov00_020e964c +data_ov00_020e964c: + .space 0x4 + .global data_ov00_020e9650 +data_ov00_020e9650: + .space 0x4 + .global data_ov00_020e9654 +data_ov00_020e9654: + .space 0x4 + .global data_ov00_020e9658 +data_ov00_020e9658: + .space 0x4 + .global data_ov00_020e965c +data_ov00_020e965c: + .space 0x4 + .global data_ov00_020e9660 +data_ov00_020e9660: + .space 0x4 + .global data_ov00_020e9664 +data_ov00_020e9664: + .space 0x4 + .global data_ov00_020e9668 +data_ov00_020e9668: + .space 0x4 + .global data_ov00_020e966c +data_ov00_020e966c: + .space 0x4 + .global data_ov00_020e9670 +data_ov00_020e9670: + .space 0x4 + .global data_ov00_020e9674 +data_ov00_020e9674: + .space 0x4 + .global data_ov00_020e9678 +data_ov00_020e9678: + .space 0x4 + .global data_ov00_020e967c +data_ov00_020e967c: + .space 0x4 + .global data_ov00_020e9680 +data_ov00_020e9680: + .space 0x4 + .global data_ov00_020e9684 +data_ov00_020e9684: + .space 0x4 + .global data_ov00_020e9688 +data_ov00_020e9688: + .space 0x4 + .global data_ov00_020e968c +data_ov00_020e968c: + .space 0x4 + .global data_ov00_020e9690 +data_ov00_020e9690: + .space 0x4 + .global data_ov00_020e9694 +data_ov00_020e9694: + .space 0x4 + .global data_ov00_020e9698 +data_ov00_020e9698: + .space 0x4 + .global data_ov00_020e969c +data_ov00_020e969c: + .space 0x4 + .global data_ov00_020e96a0 +data_ov00_020e96a0: + .space 0x4 + .global data_ov00_020e96a4 +data_ov00_020e96a4: + .space 0x4 + .global data_ov00_020e96a8 +data_ov00_020e96a8: + .space 0x4 + .global data_ov00_020e96ac +data_ov00_020e96ac: + .space 0x4 + .global data_ov00_020e96b0 +data_ov00_020e96b0: + .space 0x4 + .global data_ov00_020e96b4 +data_ov00_020e96b4: + .space 0x4 + .global data_ov00_020e96b8 +data_ov00_020e96b8: + .space 0x4 + .global data_ov00_020e96bc +data_ov00_020e96bc: + .space 0x4 + .global data_ov00_020e96c0 +data_ov00_020e96c0: + .space 0x4 + .global data_ov00_020e96c4 +data_ov00_020e96c4: + .space 0x4 + .global data_ov00_020e96c8 +data_ov00_020e96c8: + .space 0x4 + .global data_ov00_020e96cc +data_ov00_020e96cc: + .space 0x4 + .global data_ov00_020e96d0 +data_ov00_020e96d0: + .space 0x4 + .global data_ov00_020e96d4 +data_ov00_020e96d4: + .space 0x4 + .global data_ov00_020e96d8 +data_ov00_020e96d8: + .space 0x4 + .global data_ov00_020e96dc +data_ov00_020e96dc: + .space 0x4 + .global data_ov00_020e96e0 +data_ov00_020e96e0: + .space 0x4 + .global data_ov00_020e96e4 +data_ov00_020e96e4: + .space 0x4 + .global data_ov00_020e96e8 +data_ov00_020e96e8: + .space 0x4 + .global data_ov00_020e96ec +data_ov00_020e96ec: + .space 0x4 + .global data_ov00_020e96f0 +data_ov00_020e96f0: + .space 0x4 + .global data_ov00_020e96f4 +data_ov00_020e96f4: + .space 0x4 + .global data_ov00_020e96f8 +data_ov00_020e96f8: + .space 0x4 + .global data_ov00_020e96fc +data_ov00_020e96fc: + .space 0x4 + .global data_ov00_020e9700 +data_ov00_020e9700: + .space 0x4 + .global data_ov00_020e9704 +data_ov00_020e9704: + .space 0x4 + .global data_ov00_020e9708 +data_ov00_020e9708: + .space 0x4 + .global data_ov00_020e970c +data_ov00_020e970c: + .space 0x4 + .global data_ov00_020e9710 +data_ov00_020e9710: + .space 0x4 + .global data_ov00_020e9714 +data_ov00_020e9714: + .space 0x4 + .global data_ov00_020e9718 +data_ov00_020e9718: + .space 0x4 + .global data_ov00_020e971c +data_ov00_020e971c: + .space 0x4 + .global data_ov00_020e9720 +data_ov00_020e9720: + .space 0x4 + .global data_ov00_020e9724 +data_ov00_020e9724: + .space 0x4 + .global data_ov00_020e9728 +data_ov00_020e9728: + .space 0x4 + .global data_ov00_020e972c +data_ov00_020e972c: + .space 0x4 + .global data_ov00_020e9730 +data_ov00_020e9730: + .space 0x4 + .global data_ov00_020e9734 +data_ov00_020e9734: + .space 0x4 + .global data_ov00_020e9738 +data_ov00_020e9738: + .space 0x4 + .global data_ov00_020e973c +data_ov00_020e973c: + .space 0x4 + .global data_ov00_020e9740 +data_ov00_020e9740: + .space 0x4 + .global data_ov00_020e9744 +data_ov00_020e9744: + .space 0x4 + .global data_ov00_020e9748 +data_ov00_020e9748: + .space 0x4 + .global data_ov00_020e974c +data_ov00_020e974c: + .space 0x4 + .global data_ov00_020e9750 +data_ov00_020e9750: + .space 0x4 + .global data_ov00_020e9754 +data_ov00_020e9754: + .space 0x4 + .global data_ov00_020e9758 +data_ov00_020e9758: + .space 0x4 + .global data_ov00_020e975c +data_ov00_020e975c: + .space 0x4 + .global data_ov00_020e9760 +data_ov00_020e9760: + .space 0x4 + .global data_ov00_020e9764 +data_ov00_020e9764: + .space 0x4 + .global data_ov00_020e9768 +data_ov00_020e9768: + .space 0x4 + .global data_ov00_020e976c +data_ov00_020e976c: + .space 0x4 + .global data_ov00_020e9770 +data_ov00_020e9770: + .space 0x4 + .global data_ov00_020e9774 +data_ov00_020e9774: + .space 0x4 + .global data_ov00_020e9778 +data_ov00_020e9778: + .space 0x4 + .global data_ov00_020e977c +data_ov00_020e977c: + .space 0x4 + .global data_ov00_020e9780 +data_ov00_020e9780: + .space 0x4 + .global data_ov00_020e9784 +data_ov00_020e9784: + .space 0x4 + .global data_ov00_020e9788 +data_ov00_020e9788: + .space 0x4 + .global data_ov00_020e978c +data_ov00_020e978c: + .space 0x4 + .global data_ov00_020e9790 +data_ov00_020e9790: + .space 0x4 + .global data_ov00_020e9794 +data_ov00_020e9794: + .space 0x4 + .global data_ov00_020e9798 +data_ov00_020e9798: + .space 0x4 + .global data_ov00_020e979c +data_ov00_020e979c: + .space 0x4 + .global data_ov00_020e97a0 +data_ov00_020e97a0: + .space 0x4 + .global data_ov00_020e97a4 +data_ov00_020e97a4: + .space 0x4 + .global data_ov00_020e97a8 +data_ov00_020e97a8: + .space 0x4 + .global data_ov00_020e97ac +data_ov00_020e97ac: + .space 0x4 + .global data_ov00_020e97b0 +data_ov00_020e97b0: + .space 0x4 + .global data_ov00_020e97b4 +data_ov00_020e97b4: + .space 0x4 + .global data_ov00_020e97b8 +data_ov00_020e97b8: + .space 0x4 + .global data_ov00_020e97bc +data_ov00_020e97bc: + .space 0x4 + .global data_ov00_020e97c0 +data_ov00_020e97c0: + .space 0x4 + .global data_ov00_020e97c4 +data_ov00_020e97c4: + .space 0x4 + .global data_ov00_020e97c8 +data_ov00_020e97c8: + .space 0x4 + .global data_ov00_020e97cc +data_ov00_020e97cc: + .space 0x4 + .global data_ov00_020e97d0 +data_ov00_020e97d0: + .space 0x4 + .global data_ov00_020e97d4 +data_ov00_020e97d4: + .space 0x4 + .global data_ov00_020e97d8 +data_ov00_020e97d8: + .space 0x4 + .global data_ov00_020e97dc +data_ov00_020e97dc: + .space 0x4 + .global data_ov00_020e97e0 +data_ov00_020e97e0: + .space 0x4 + .global data_ov00_020e97e4 +data_ov00_020e97e4: + .space 0x4 + .global data_ov00_020e97e8 +data_ov00_020e97e8: + .space 0x4 + .global data_ov00_020e97ec +data_ov00_020e97ec: + .space 0x4 + .global data_ov00_020e97f0 +data_ov00_020e97f0: + .space 0x4 + .global data_ov00_020e97f4 +data_ov00_020e97f4: + .space 0x4 + .global data_ov00_020e97f8 +data_ov00_020e97f8: + .space 0x4 + .global data_ov00_020e97fc +data_ov00_020e97fc: + .space 0x4 + .global data_ov00_020e9800 +data_ov00_020e9800: + .space 0x4 + .global data_ov00_020e9804 +data_ov00_020e9804: + .space 0x4 + .global data_ov00_020e9808 +data_ov00_020e9808: + .space 0x4 + .global data_ov00_020e980c +data_ov00_020e980c: + .space 0x4 + .global data_ov00_020e9810 +data_ov00_020e9810: + .space 0x4 + .global data_ov00_020e9814 +data_ov00_020e9814: + .space 0x4 + .global data_ov00_020e9818 +data_ov00_020e9818: + .space 0x4 + .global data_ov00_020e981c +data_ov00_020e981c: + .space 0x4 + .global data_ov00_020e9820 +data_ov00_020e9820: + .space 0x4 + .global data_ov00_020e9824 +data_ov00_020e9824: + .space 0x4 + .global data_ov00_020e9828 +data_ov00_020e9828: + .space 0x4 + .global data_ov00_020e982c +data_ov00_020e982c: + .space 0x4 + .global data_ov00_020e9830 +data_ov00_020e9830: + .space 0x4 + .global data_ov00_020e9834 +data_ov00_020e9834: + .space 0x4 + .global data_ov00_020e9838 +data_ov00_020e9838: + .space 0x4 + .global data_ov00_020e983c +data_ov00_020e983c: + .space 0x4 + .global data_ov00_020e9840 +data_ov00_020e9840: + .space 0x4 + .global data_ov00_020e9844 +data_ov00_020e9844: + .space 0x4 + .global data_ov00_020e9848 +data_ov00_020e9848: + .space 0x4 + .global data_ov00_020e984c +data_ov00_020e984c: + .space 0x4 + .global data_ov00_020e9850 +data_ov00_020e9850: + .space 0x4 + .global data_ov00_020e9854 +data_ov00_020e9854: + .space 0x4 + .global data_ov00_020e9858 +data_ov00_020e9858: + .space 0x4 + .global data_ov00_020e985c +data_ov00_020e985c: + .space 0x4 + .global data_ov00_020e9860 +data_ov00_020e9860: + .space 0x4 + .global data_ov00_020e9864 +data_ov00_020e9864: + .space 0x4 + .global data_ov00_020e9868 +data_ov00_020e9868: + .space 0x4 + .global data_ov00_020e986c +data_ov00_020e986c: + .space 0x4 + .global data_ov00_020e9870 +data_ov00_020e9870: + .space 0x4 + .global data_ov00_020e9874 +data_ov00_020e9874: + .space 0x4 + .global data_ov00_020e9878 +data_ov00_020e9878: + .space 0x4 + .global data_ov00_020e987c +data_ov00_020e987c: + .space 0x4 + .global data_ov00_020e9880 +data_ov00_020e9880: + .space 0x4 + .global data_ov00_020e9884 +data_ov00_020e9884: + .space 0x4 + .global data_ov00_020e9888 +data_ov00_020e9888: + .space 0x4 + .global data_ov00_020e988c +data_ov00_020e988c: + .space 0x4 + .global data_ov00_020e9890 +data_ov00_020e9890: + .space 0x4 + .global data_ov00_020e9894 +data_ov00_020e9894: + .space 0x4 + .global data_ov00_020e9898 +data_ov00_020e9898: + .space 0x4 + .global data_ov00_020e989c +data_ov00_020e989c: + .space 0x4 + .global data_ov00_020e98a0 +data_ov00_020e98a0: + .space 0x4 + .global data_ov00_020e98a4 +data_ov00_020e98a4: + .space 0x4 + .global data_ov00_020e98a8 +data_ov00_020e98a8: + .space 0x4 + .global data_ov00_020e98ac +data_ov00_020e98ac: + .space 0x4 + .global data_ov00_020e98b0 +data_ov00_020e98b0: + .space 0x4 + .global data_ov00_020e98b4 +data_ov00_020e98b4: + .space 0x4 + .global data_ov00_020e98b8 +data_ov00_020e98b8: + .space 0x4 + .global data_ov00_020e98bc +data_ov00_020e98bc: + .space 0x4 + .global data_ov00_020e98c0 +data_ov00_020e98c0: + .space 0x4 + .global data_ov00_020e98c4 +data_ov00_020e98c4: + .space 0x4 + .global data_ov00_020e98c8 +data_ov00_020e98c8: + .space 0x4 + .global data_ov00_020e98cc +data_ov00_020e98cc: + .space 0x4 + .global data_ov00_020e98d0 +data_ov00_020e98d0: + .space 0x4 + .global data_ov00_020e98d4 +data_ov00_020e98d4: + .space 0x4 + .global data_ov00_020e98d8 +data_ov00_020e98d8: + .space 0x4 + .global data_ov00_020e98dc +data_ov00_020e98dc: + .space 0x4 + .global data_ov00_020e98e0 +data_ov00_020e98e0: + .space 0x4 + .global data_ov00_020e98e4 +data_ov00_020e98e4: + .space 0x4 + .global data_ov00_020e98e8 +data_ov00_020e98e8: + .space 0x4 + .global data_ov00_020e98ec +data_ov00_020e98ec: + .space 0x4 + .global data_ov00_020e98f0 +data_ov00_020e98f0: + .space 0x4 + .global data_ov00_020e98f4 +data_ov00_020e98f4: + .space 0x4 + .global data_ov00_020e98f8 +data_ov00_020e98f8: + .space 0x4 + .global data_ov00_020e98fc +data_ov00_020e98fc: + .space 0x4 + .global data_ov00_020e9900 +data_ov00_020e9900: + .space 0x4 + .global data_ov00_020e9904 +data_ov00_020e9904: + .space 0x4 + .global data_ov00_020e9908 +data_ov00_020e9908: + .space 0x4 + .global data_ov00_020e990c +data_ov00_020e990c: + .space 0x4 + .global data_ov00_020e9910 +data_ov00_020e9910: + .space 0x4 + .global data_ov00_020e9914 +data_ov00_020e9914: + .space 0x4 + .global data_ov00_020e9918 +data_ov00_020e9918: + .space 0x4 + .global data_ov00_020e991c +data_ov00_020e991c: + .space 0x4 + .global data_ov00_020e9920 +data_ov00_020e9920: + .space 0x4 + .global data_ov00_020e9924 +data_ov00_020e9924: + .space 0x4 + .global data_ov00_020e9928 +data_ov00_020e9928: + .space 0x4 + .global data_ov00_020e992c +data_ov00_020e992c: + .space 0x4 + .global data_ov00_020e9930 +data_ov00_020e9930: + .space 0x4 + .global data_ov00_020e9934 +data_ov00_020e9934: + .space 0x4 + .global data_ov00_020e9938 +data_ov00_020e9938: + .space 0x4 + .global data_ov00_020e993c +data_ov00_020e993c: + .space 0x4 + .global data_ov00_020e9940 +data_ov00_020e9940: + .space 0x4 + .global data_ov00_020e9944 +data_ov00_020e9944: + .space 0x4 + .global data_ov00_020e9948 +data_ov00_020e9948: + .space 0x4 + .global data_ov00_020e994c +data_ov00_020e994c: + .space 0x4 + .global data_ov00_020e9950 +data_ov00_020e9950: + .space 0x4 + .global data_ov00_020e9954 +data_ov00_020e9954: + .space 0x4 + .global data_ov00_020e9958 +data_ov00_020e9958: + .space 0x4 + .global data_ov00_020e995c +data_ov00_020e995c: + .space 0x4 + .global data_ov00_020e9960 +data_ov00_020e9960: + .space 0x4 + .global data_ov00_020e9964 +data_ov00_020e9964: + .space 0x4 + .global data_ov00_020e9968 +data_ov00_020e9968: + .space 0x4 + .global data_ov00_020e996c +data_ov00_020e996c: + .space 0x4 + .global data_ov00_020e9970 +data_ov00_020e9970: + .space 0x4 + .global data_ov00_020e9974 +data_ov00_020e9974: + .space 0x4 + .global data_ov00_020e9978 +data_ov00_020e9978: + .space 0x4 + .global data_ov00_020e997c +data_ov00_020e997c: + .space 0x4 + .global data_ov00_020e9980 +data_ov00_020e9980: + .space 0x4 + .global data_ov00_020e9984 +data_ov00_020e9984: + .space 0x4 + .global data_ov00_020e9988 +data_ov00_020e9988: + .space 0x4 + .global data_ov00_020e998c +data_ov00_020e998c: + .space 0x4 + .global data_ov00_020e9990 +data_ov00_020e9990: + .space 0x4 + .global data_ov00_020e9994 +data_ov00_020e9994: + .space 0x4 + .global data_ov00_020e9998 +data_ov00_020e9998: + .space 0x4 + .global data_ov00_020e999c +data_ov00_020e999c: + .space 0x4 + .global data_ov00_020e99a0 +data_ov00_020e99a0: + .space 0x4 + .global data_ov00_020e99a4 +data_ov00_020e99a4: + .space 0x4 + .global data_ov00_020e99a8 +data_ov00_020e99a8: + .space 0x4 + .global data_ov00_020e99ac +data_ov00_020e99ac: + .space 0x4 + .global data_ov00_020e99b0 +data_ov00_020e99b0: + .space 0x4 + .global data_ov00_020e99b4 +data_ov00_020e99b4: + .space 0x4 + .global data_ov00_020e99b8 +data_ov00_020e99b8: + .space 0x4 + .global data_ov00_020e99bc +data_ov00_020e99bc: + .space 0x4 + .global data_ov00_020e99c0 +data_ov00_020e99c0: + .space 0x4 + .global data_ov00_020e99c4 +data_ov00_020e99c4: + .space 0x4 + .global data_ov00_020e99c8 +data_ov00_020e99c8: + .space 0x4 + .global data_ov00_020e99cc +data_ov00_020e99cc: + .space 0x4 + .global data_ov00_020e99d0 +data_ov00_020e99d0: + .space 0x4 + .global data_ov00_020e99d4 +data_ov00_020e99d4: + .space 0x4 + .global data_ov00_020e99d8 +data_ov00_020e99d8: + .space 0x4 + .global data_ov00_020e99dc +data_ov00_020e99dc: + .space 0x4 + .global data_ov00_020e99e0 +data_ov00_020e99e0: + .space 0x4 + .global data_ov00_020e99e4 +data_ov00_020e99e4: + .space 0x4 + .global data_ov00_020e99e8 +data_ov00_020e99e8: + .space 0x4 + .global data_ov00_020e99ec +data_ov00_020e99ec: + .space 0x4 + .global data_ov00_020e99f0 +data_ov00_020e99f0: + .space 0x4 + .global data_ov00_020e99f4 +data_ov00_020e99f4: + .space 0x4 + .global data_ov00_020e99f8 +data_ov00_020e99f8: + .space 0x4 + .global data_ov00_020e99fc +data_ov00_020e99fc: + .space 0x4 + .global data_ov00_020e9a00 +data_ov00_020e9a00: + .space 0x4 + .global data_ov00_020e9a04 +data_ov00_020e9a04: + .space 0x4 + .global data_ov00_020e9a08 +data_ov00_020e9a08: + .space 0x4 + .global data_ov00_020e9a0c +data_ov00_020e9a0c: + .space 0x4 + .global data_ov00_020e9a10 +data_ov00_020e9a10: + .space 0x4 + .global data_ov00_020e9a14 +data_ov00_020e9a14: + .space 0x4 + .global data_ov00_020e9a18 +data_ov00_020e9a18: + .space 0x4 + .global data_ov00_020e9a1c +data_ov00_020e9a1c: + .space 0x4 + .global data_ov00_020e9a20 +data_ov00_020e9a20: + .space 0x4 + .global data_ov00_020e9a24 +data_ov00_020e9a24: + .space 0x4 + .global data_ov00_020e9a28 +data_ov00_020e9a28: + .space 0x4 + .global data_ov00_020e9a2c +data_ov00_020e9a2c: + .space 0x4 + .global data_ov00_020e9a30 +data_ov00_020e9a30: + .space 0x4 + .global data_ov00_020e9a34 +data_ov00_020e9a34: + .space 0x4 + .global data_ov00_020e9a38 +data_ov00_020e9a38: + .space 0x4 + .global data_ov00_020e9a3c +data_ov00_020e9a3c: + .space 0x4 + .global data_ov00_020e9a40 +data_ov00_020e9a40: + .space 0x4 + .global data_ov00_020e9a44 +data_ov00_020e9a44: + .space 0x4 + .global data_ov00_020e9a48 +data_ov00_020e9a48: + .space 0x4 + .global data_ov00_020e9a4c +data_ov00_020e9a4c: + .space 0x4 + .global data_ov00_020e9a50 +data_ov00_020e9a50: + .space 0x4 + .global data_ov00_020e9a54 +data_ov00_020e9a54: + .space 0x4 + .global data_ov00_020e9a58 +data_ov00_020e9a58: + .space 0x4 + .global data_ov00_020e9a5c +data_ov00_020e9a5c: + .space 0x4 + .global data_ov00_020e9a60 +data_ov00_020e9a60: + .space 0x4 + .global data_ov00_020e9a64 +data_ov00_020e9a64: + .space 0x4 + .global data_ov00_020e9a68 +data_ov00_020e9a68: + .space 0x4 + .global data_ov00_020e9a6c +data_ov00_020e9a6c: + .space 0x4 + .global data_ov00_020e9a70 +data_ov00_020e9a70: + .space 0x4 + .global data_ov00_020e9a74 +data_ov00_020e9a74: + .space 0x4 + .global data_ov00_020e9a78 +data_ov00_020e9a78: + .space 0x4 + .global data_ov00_020e9a7c +data_ov00_020e9a7c: + .space 0x4 + .global data_ov00_020e9a80 +data_ov00_020e9a80: + .space 0x4 + .global data_ov00_020e9a84 +data_ov00_020e9a84: + .space 0x4 + .global data_ov00_020e9a88 +data_ov00_020e9a88: + .space 0x4 + .global data_ov00_020e9a8c +data_ov00_020e9a8c: + .space 0x4 + .global data_ov00_020e9a90 +data_ov00_020e9a90: + .space 0x4 + .global data_ov00_020e9a94 +data_ov00_020e9a94: + .space 0x4 + .global data_ov00_020e9a98 +data_ov00_020e9a98: + .space 0x4 + .global data_ov00_020e9a9c +data_ov00_020e9a9c: + .space 0x4 + .global data_ov00_020e9aa0 +data_ov00_020e9aa0: + .space 0x4 + .global data_ov00_020e9aa4 +data_ov00_020e9aa4: + .space 0x4 + .global data_ov00_020e9aa8 +data_ov00_020e9aa8: + .space 0x4 + .global data_ov00_020e9aac +data_ov00_020e9aac: + .space 0x4 + .global data_ov00_020e9ab0 +data_ov00_020e9ab0: + .space 0x4 + .global data_ov00_020e9ab4 +data_ov00_020e9ab4: + .space 0x4 + .global data_ov00_020e9ab8 +data_ov00_020e9ab8: + .space 0x4 + .global data_ov00_020e9abc +data_ov00_020e9abc: + .space 0x4 + .global data_ov00_020e9ac0 +data_ov00_020e9ac0: + .space 0x4 + .global data_ov00_020e9ac4 +data_ov00_020e9ac4: + .space 0x4 + .global data_ov00_020e9ac8 +data_ov00_020e9ac8: + .space 0x4 + .global data_ov00_020e9acc +data_ov00_020e9acc: + .space 0x4 + .global data_ov00_020e9ad0 +data_ov00_020e9ad0: + .space 0x4 + .global data_ov00_020e9ad4 +data_ov00_020e9ad4: + .space 0x4 + .global data_ov00_020e9ad8 +data_ov00_020e9ad8: + .space 0x4 + .global data_ov00_020e9adc +data_ov00_020e9adc: + .space 0x4 + .global data_ov00_020e9ae0 +data_ov00_020e9ae0: + .space 0x4 + .global data_ov00_020e9ae4 +data_ov00_020e9ae4: + .space 0x4 + .global data_ov00_020e9ae8 +data_ov00_020e9ae8: + .space 0x4 + .global data_ov00_020e9aec +data_ov00_020e9aec: + .space 0x4 + .global data_ov00_020e9af0 +data_ov00_020e9af0: + .space 0x4 + .global data_ov00_020e9af4 +data_ov00_020e9af4: + .space 0x4 + .global data_ov00_020e9af8 +data_ov00_020e9af8: + .space 0x4 + .global data_ov00_020e9afc +data_ov00_020e9afc: + .space 0x4 + .global data_ov00_020e9b00 +data_ov00_020e9b00: + .space 0x4 + .global data_ov00_020e9b04 +data_ov00_020e9b04: + .space 0x4 + .global data_ov00_020e9b08 +data_ov00_020e9b08: + .space 0x4 + .global data_ov00_020e9b0c +data_ov00_020e9b0c: + .space 0x4 + .global data_ov00_020e9b10 +data_ov00_020e9b10: + .space 0x4 + .global data_ov00_020e9b14 +data_ov00_020e9b14: + .space 0x4 + .global data_ov00_020e9b18 +data_ov00_020e9b18: + .space 0x4 + .global data_ov00_020e9b1c +data_ov00_020e9b1c: + .space 0x4 + .global data_ov00_020e9b20 +data_ov00_020e9b20: + .space 0x4 + .global data_ov00_020e9b24 +data_ov00_020e9b24: + .space 0x4 + .global data_ov00_020e9b28 +data_ov00_020e9b28: + .space 0x4 + .global data_ov00_020e9b2c +data_ov00_020e9b2c: + .space 0x4 + .global data_ov00_020e9b30 +data_ov00_020e9b30: + .space 0x4 + .global data_ov00_020e9b34 +data_ov00_020e9b34: + .space 0x4 + .global data_ov00_020e9b38 +data_ov00_020e9b38: + .space 0x4 + .global data_ov00_020e9b3c +data_ov00_020e9b3c: + .space 0x4 + .global data_ov00_020e9b40 +data_ov00_020e9b40: + .space 0x4 + .global data_ov00_020e9b44 +data_ov00_020e9b44: + .space 0x4 + .global data_ov00_020e9b48 +data_ov00_020e9b48: + .space 0x4 + .global data_ov00_020e9b4c +data_ov00_020e9b4c: + .space 0x4 + .global data_ov00_020e9b50 +data_ov00_020e9b50: + .space 0x4 + .global data_ov00_020e9b54 +data_ov00_020e9b54: + .space 0x4 + .global data_ov00_020e9b58 +data_ov00_020e9b58: + .space 0x4 + .global data_ov00_020e9b5c +data_ov00_020e9b5c: + .space 0x4 + .global data_ov00_020e9b60 +data_ov00_020e9b60: + .space 0x4 + .global data_ov00_020e9b64 +data_ov00_020e9b64: + .space 0x4 + .global data_ov00_020e9b68 +data_ov00_020e9b68: + .space 0x4 + .global data_ov00_020e9b6c +data_ov00_020e9b6c: + .space 0x4 + .global data_ov00_020e9b70 +data_ov00_020e9b70: + .space 0x4 + .global data_ov00_020e9b74 +data_ov00_020e9b74: + .space 0x4 + .global data_ov00_020e9b78 +data_ov00_020e9b78: + .space 0x4 + .global data_ov00_020e9b7c +data_ov00_020e9b7c: + .space 0x4 + .global data_ov00_020e9b80 +data_ov00_020e9b80: + .space 0x4 + .global data_ov00_020e9b84 +data_ov00_020e9b84: + .space 0x4 + .global data_ov00_020e9b88 +data_ov00_020e9b88: + .space 0x4 + .global data_ov00_020e9b8c +data_ov00_020e9b8c: + .space 0x4 + .global data_ov00_020e9b90 +data_ov00_020e9b90: + .space 0x4 + .global data_ov00_020e9b94 +data_ov00_020e9b94: + .space 0x4 + .global data_ov00_020e9b98 +data_ov00_020e9b98: + .space 0x4 + .global data_ov00_020e9b9c +data_ov00_020e9b9c: + .space 0x4 + .global data_ov00_020e9ba0 +data_ov00_020e9ba0: + .space 0x4 + .global data_ov00_020e9ba4 +data_ov00_020e9ba4: + .space 0x4 + .global data_ov00_020e9ba8 +data_ov00_020e9ba8: + .space 0x4 + .global data_ov00_020e9bac +data_ov00_020e9bac: + .space 0x4 + .global data_ov00_020e9bb0 +data_ov00_020e9bb0: + .space 0x4 + .global data_ov00_020e9bb4 +data_ov00_020e9bb4: + .space 0x4 + .global data_ov00_020e9bb8 +data_ov00_020e9bb8: + .space 0x4 + .global data_ov00_020e9bbc +data_ov00_020e9bbc: + .space 0x4 + .global data_ov00_020e9bc0 +data_ov00_020e9bc0: + .space 0x4 + .global data_ov00_020e9bc4 +data_ov00_020e9bc4: + .space 0x4 + .global data_ov00_020e9bc8 +data_ov00_020e9bc8: + .space 0x4 + .global data_ov00_020e9bcc +data_ov00_020e9bcc: + .space 0x4 + .global data_ov00_020e9bd0 +data_ov00_020e9bd0: + .space 0x4 + .global data_ov00_020e9bd4 +data_ov00_020e9bd4: + .space 0x4 + .global data_ov00_020e9bd8 +data_ov00_020e9bd8: + .space 0x4 + .global data_ov00_020e9bdc +data_ov00_020e9bdc: + .space 0x4 + .global data_ov00_020e9be0 +data_ov00_020e9be0: + .space 0x4 + .global data_ov00_020e9be4 +data_ov00_020e9be4: + .space 0x4 + .global data_ov00_020e9be8 +data_ov00_020e9be8: + .space 0x4 + .global data_ov00_020e9bec +data_ov00_020e9bec: + .space 0x4 + .global data_ov00_020e9bf0 +data_ov00_020e9bf0: + .space 0x4 + .global data_ov00_020e9bf4 +data_ov00_020e9bf4: + .space 0x4 + .global data_ov00_020e9bf8 +data_ov00_020e9bf8: + .space 0x4 + .global data_ov00_020e9bfc +data_ov00_020e9bfc: + .space 0x4 + .global data_ov00_020e9c00 +data_ov00_020e9c00: + .space 0x4 + .global data_ov00_020e9c04 +data_ov00_020e9c04: + .space 0x4 + .global data_ov00_020e9c08 +data_ov00_020e9c08: + .space 0x4 + .global data_ov00_020e9c0c +data_ov00_020e9c0c: + .space 0x4 + .global data_ov00_020e9c10 +data_ov00_020e9c10: + .space 0x4 + .global data_ov00_020e9c14 +data_ov00_020e9c14: + .space 0x4 + .global data_ov00_020e9c18 +data_ov00_020e9c18: + .space 0x4 + .global data_ov00_020e9c1c +data_ov00_020e9c1c: + .space 0x4 + .global data_ov00_020e9c20 +data_ov00_020e9c20: + .space 0x4 + .global data_ov00_020e9c24 +data_ov00_020e9c24: + .space 0x4 + .global data_ov00_020e9c28 +data_ov00_020e9c28: + .space 0x4 + .global data_ov00_020e9c2c +data_ov00_020e9c2c: + .space 0x4 + .global data_ov00_020e9c30 +data_ov00_020e9c30: + .space 0x4 + .global data_ov00_020e9c34 +data_ov00_020e9c34: + .space 0x4 + .global data_ov00_020e9c38 +data_ov00_020e9c38: + .space 0x4 + .global data_ov00_020e9c3c +data_ov00_020e9c3c: + .space 0x4 + .global data_ov00_020e9c40 +data_ov00_020e9c40: + .space 0x4 + .global data_ov00_020e9c44 +data_ov00_020e9c44: + .space 0x4 + .global data_ov00_020e9c48 +data_ov00_020e9c48: + .space 0x4 + .global data_ov00_020e9c4c +data_ov00_020e9c4c: + .space 0x4 + .global data_ov00_020e9c50 +data_ov00_020e9c50: + .space 0x4 + .global data_ov00_020e9c54 +data_ov00_020e9c54: + .space 0x4 + .global data_ov00_020e9c58 +data_ov00_020e9c58: + .space 0x4 + .global data_ov00_020e9c5c +data_ov00_020e9c5c: + .space 0x4 + .global data_ov00_020e9c60 +data_ov00_020e9c60: + .space 0x4 + .global data_ov00_020e9c64 +data_ov00_020e9c64: + .space 0x4 + .global data_ov00_020e9c68 +data_ov00_020e9c68: + .space 0x4 + .global data_ov00_020e9c6c +data_ov00_020e9c6c: + .space 0x4 diff --git a/asm/ov00/ov00_0207afa0.inc b/asm/ov00/ov00_0207afa0.inc new file mode 100644 index 00000000..f9df5e62 --- /dev/null +++ b/asm/ov00/ov00_0207afa0.inc @@ -0,0 +1,113 @@ +#pragma once +.extern Divide +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02083318Ei +.extern _ZN10MapManager18func_ov00_02083328Ev +.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j +.extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN14OverlayManager15LoadIfNotLoadedEjj +.extern _ZN9SysObjectdlEPv +.extern _ZN9SysObjectnwEmPjj +.extern _ZNK11ItemManager7HasItemEi +.extern __register_global_object +.extern data_02056be4 +.extern data_020691a0 +.extern data_027e037c +.extern data_027e0384 +.extern data_027e03c8 +.extern data_027e0618 +.extern data_027e071c +.extern data_027e077c +.extern data_027e0c54 +.extern data_027e0cbc +.extern data_027e0ce0 +.extern data_027e0d38 +.extern data_027e0d54 +.extern data_027e0db0 +.extern data_027e0db4 +.extern data_027e0db8 +.extern data_027e0dbc +.extern data_027e0de4 +.extern data_027e0de8 +.extern data_027e0e08 +.extern data_027e0e28 +.extern data_027e0e2c +.extern data_027e0e58 +.extern data_027e0e5c +.extern data_027e0f64 +.extern data_027e0f7c +.extern data_027e0f94 +.extern data_027e0fac +.extern data_027e0fcc +.extern data_027e0fe4 +.extern data_027e103c +.extern data_ov09_0211f5dc +.extern func_01ff892c +.extern func_01ff9b4c +.extern func_01ff9ec0 +.extern func_01ffa8d4 +.extern func_01ffe468 +.extern func_02004730 +.extern func_020047d8 +.extern func_02004a3c +.extern func_02004a50 +.extern func_02004dac +.extern func_020052e4 +.extern func_02005628 +.extern func_02005b58 +.extern func_02006060 +.extern func_02006b14 +.extern func_02006b2c +.extern func_02006b90 +.extern func_020078c0 +.extern func_020078d8 +.extern func_02007938 +.extern func_02007984 +.extern func_02007ad8 +.extern func_0200be04 +.extern func_0200e2c0 +.extern func_02012830 +.extern func_020128bc +.extern func_02012934 +.extern func_02023b3c +.extern func_02024130 +.extern func_0202ab78 +.extern func_0202abdc +.extern func_0202c69c +.extern func_0202d56c +.extern func_0202d77c +.extern func_02040464 +.extern func_02042b40 +.extern func_02042bfc +.extern func_0204f754 +.extern func_ov00_02078b40 +.extern func_ov00_02078b88 +.extern func_ov00_02079e04 +.extern func_ov00_0209d738 +.extern func_ov00_0209d778 +.extern func_ov00_020a5e9c +.extern func_ov00_020b7e6c +.extern func_ov00_020cf13c +.extern func_ov00_020df38c +.extern func_ov03_020f3974 +.extern func_ov03_020f3c28 +.extern func_ov03_020fa874 +.extern func_ov04_02100eb0 +.extern func_ov04_02101188 +.extern func_ov05_02100e0c +.extern func_ov05_02101080 +.extern func_ov05_021010b0 +.extern func_ov05_021010ec +.extern func_ov08_021136fc +.extern func_ov08_02113730 +.extern func_ov08_02113aa8 +.extern func_ov09_02114810 +.extern func_ov12_02133c40 +.extern func_ov17_0215cef4 +.extern func_ov18_0215cb28 +.extern func_ov18_0215df1c +.extern func_ov26_02173b7c +.extern func_ov40_02183dac +.extern gItemManager +.extern gMapManager +.extern gOverlayManager diff --git a/asm/ov00/ov00_0207afa0.s b/asm/ov00/ov00_0207afa0.s new file mode 100644 index 00000000..8a8c3b32 --- /dev/null +++ b/asm/ov00/ov00_0207afa0.s @@ -0,0 +1,6130 @@ + .include "macros/function.inc" + .include "ov00/ov00_0207afa0.inc" + + .text + + .global func_ov00_0207afa0 + thumb_func_start func_ov00_0207afa0 +func_ov00_0207afa0: ; 0x0207afa0 + ldr r0, _0207afbc ; =data_027e0618 + ldr r0, [r0] + cmp r0, #2 + beq _0207afb8 + ldr r2, _0207afc0 ; =0x04001008 + mov r0, #0x43 + ldrh r1, [r2] + and r1, r0 + mov r0, #6 + lsl r0, r0, #0xa + orr r0, r1 + strh r0, [r2] +_0207afb8: + bx lr + nop + thumb_func_end func_ov00_0207afa0 +_0207afbc: .word data_027e0618 +_0207afc0: .word 0x04001008 + + .global func_ov00_0207afc4 + thumb_func_start func_ov00_0207afc4 +func_ov00_0207afc4: ; 0x0207afc4 + ldr r0, _0207afec ; =data_027e0618 + ldr r2, _0207aff0 ; =0x0400100a + ldr r0, [r0] + cmp r0, #2 + bne _0207afde + ldrh r1, [r2] + mov r0, #0x43 + and r1, r0 + mov r0, #0xf + lsl r0, r0, #8 + orr r0, r1 + strh r0, [r2] + bx lr +_0207afde: + ldrh r1, [r2] + mov r0, #0x43 + and r1, r0 + ldr r0, _0207aff4 ; =0x00001904 + orr r0, r1 + strh r0, [r2] + bx lr + .align 2, 0 + thumb_func_end func_ov00_0207afc4 +_0207afec: .word data_027e0618 +_0207aff0: .word 0x0400100a +_0207aff4: .word 0x00001904 + + .global func_ov00_0207aff8 + thumb_func_start func_ov00_0207aff8 +func_ov00_0207aff8: ; 0x0207aff8 + ldr r0, _0207b020 ; =data_027e0618 + ldr r2, _0207b024 ; =0x0400100c + ldr r0, [r0] + cmp r0, #2 + bne _0207b010 + ldrh r1, [r2] + mov r0, #0x43 + and r1, r0 + ldr r0, _0207b028 ; =0x00004f08 + orr r0, r1 + strh r0, [r2] + bx lr +_0207b010: + ldrh r1, [r2] + mov r0, #0x43 + and r1, r0 + ldr r0, _0207b02c ; =0x0000190c + orr r0, r1 + strh r0, [r2] + bx lr + nop + thumb_func_end func_ov00_0207aff8 +_0207b020: .word data_027e0618 +_0207b024: .word 0x0400100c +_0207b028: .word 0x00004f08 +_0207b02c: .word 0x0000190c + + .global func_ov00_0207b030 + thumb_func_start func_ov00_0207b030 +func_ov00_0207b030: ; 0x0207b030 + push {r4, lr} + ldr r1, _0207b084 ; =data_027e0618 + ldr r1, [r1] + cmp r1, #2 + bne _0207b074 + cmp r0, #0 + beq _0207b04e + ldr r2, _0207b088 ; =0x0400100e + mov r0, #0x43 + ldrh r1, [r2] + and r1, r0 + ldr r0, _0207b08c ; =0x00004084 + orr r0, r1 + strh r0, [r2] + pop {r4, pc} +_0207b04e: + ldr r0, _0207b090 ; =data_027e0d38 + mov r4, #0 + ldr r0, [r0] + add r0, #0xc + blx func_ov00_020a5e9c + cmp r0, #0x32 + bne _0207b060 + mov r4, #1 +_0207b060: + ldr r2, _0207b088 ; =0x0400100e + mov r0, #0x43 + ldrh r1, [r2] + lsl r3, r4, #0xd + and r1, r0 + ldr r0, _0207b094 ; =0x00004e14 + orr r0, r1 + orr r0, r3 + strh r0, [r2] + pop {r4, pc} +_0207b074: + ldr r2, _0207b088 ; =0x0400100e + mov r0, #0x43 + ldrh r1, [r2] + and r1, r0 + ldr r0, _0207b098 ; =0x00005a14 + orr r0, r1 + strh r0, [r2] + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b030 +_0207b084: .word data_027e0618 +_0207b088: .word 0x0400100e +_0207b08c: .word 0x00004084 +_0207b090: .word data_027e0d38 +_0207b094: .word 0x00004e14 +_0207b098: .word 0x00005a14 + + .global func_ov00_0207b09c + thumb_func_start func_ov00_0207b09c +func_ov00_0207b09c: ; 0x0207b09c + push {r3, r4, lr} + sub sp, #0x1c + add r0, sp, #8 + blx func_02024130 + mov r2, #0x33 + mov r3, #0 + ldr r0, _0207b108 ; =data_ov00_020e2044 + ldr r1, _0207b10c ; =data_020691a0 + lsl r2, r2, #0xa + str r3, [sp] + bl func_0202d56c + add r1, sp, #4 + bl func_02023b3c + ldr r2, [sp, #4] + mov r0, #3 + ldr r1, [r2, #8] + add r4, r1, #3 + bic r4, r0 + ldr r0, [r2, #0xc] + add r1, r4, #0 + blx func_0200e2c0 + ldr r2, [sp, #4] + mov r1, #0 + ldr r0, [r2, #0xc] + ldr r2, [r2, #8] + blx func_02006060 + ldr r0, _0207b110 ; =data_027e0618 + ldr r0, [r0] + cmp r0, #2 + bne _0207b104 + blx func_02004dac + mov r1, #6 + lsl r1, r1, #0xc + cmp r0, r1 + blo _0207b104 + blx func_02006b14 + ldr r0, [sp, #4] + mov r1, #1 + ldr r0, [r0, #0xc] + lsl r1, r1, #0xe + add r2, r4, #0 + blx func_02006b2c + blx func_02006b90 +_0207b104: + add sp, #0x1c + pop {r3, r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b09c +_0207b108: .word data_ov00_020e2044 +_0207b10c: .word data_020691a0 +_0207b110: .word data_027e0618 + + .global func_ov00_0207b114 + thumb_func_start func_ov00_0207b114 +func_ov00_0207b114: ; 0x0207b114 + push {r3, lr} + mov r0, #4 + str r0, [sp] + ldr r0, _0207b128 ; =0x04000050 + mov r1, #0 + mov r2, #0x31 + mov r3, #0xc + blx func_020052e4 + pop {r3, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b114 +_0207b128: .word 0x04000050 + + .global func_ov00_0207b12c + thumb_func_start func_ov00_0207b12c +func_ov00_0207b12c: ; 0x0207b12c + push {r3, lr} + mov r0, #4 + str r0, [sp] + ldr r0, _0207b140 ; =0x04001050 + mov r1, #0 + mov r2, #0x3f + mov r3, #0xc + blx func_020052e4 + pop {r3, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b12c +_0207b140: .word 0x04001050 + + .global func_ov00_0207b144 + thumb_func_start func_ov00_0207b144 +func_ov00_0207b144: ; 0x0207b144 + push {r3, lr} + ldr r1, _0207b1d4 ; =data_027e0618 + ldr r1, [r1] + cmp r1, #2 + bne _0207b1c0 + cmp r0, #0 + beq _0207b164 + ldr r2, _0207b1d8 ; =0x04001000 + ldr r0, _0207b1dc ; =0xffffe0ff + ldr r1, [r2] + and r1, r0 + mov r0, #6 + lsl r0, r0, #0xa + orr r0, r1 + str r0, [r2] + pop {r3, pc} +_0207b164: + ldr r0, _0207b1e0 ; =data_027e0d38 + ldr r0, [r0] + blx func_ov00_02078b88 + cmp r0, #0 + ldr r2, _0207b1d8 ; =0x04001000 + beq _0207b198 + ldr r0, _0207b1e0 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x18] + cmp r0, #0x14 + ldr r0, _0207b1dc ; =0xffffe0ff + bne _0207b18c + ldr r1, [r2] + and r1, r0 + mov r0, #0x12 + lsl r0, r0, #8 + orr r0, r1 + str r0, [r2] + pop {r3, pc} +_0207b18c: + ldr r1, [r2] + and r1, r0 + lsr r0, r2, #0xe + orr r0, r1 + str r0, [r2] + pop {r3, pc} +_0207b198: + ldr r0, _0207b1e0 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x14] + cmp r0, #1 + ldr r0, _0207b1dc ; =0xffffe0ff + bne _0207b1b2 + ldr r1, [r2] + and r1, r0 + mov r0, #7 + lsl r0, r0, #0xa + orr r0, r1 + str r0, [r2] + pop {r3, pc} +_0207b1b2: + ldr r1, [r2] + and r1, r0 + mov r0, #0x1e + lsl r0, r0, #8 + orr r0, r1 + str r0, [r2] + pop {r3, pc} +_0207b1c0: + ldr r2, _0207b1d8 ; =0x04001000 + ldr r0, _0207b1dc ; =0xffffe0ff + ldr r1, [r2] + and r1, r0 + mov r0, #0x1f + lsl r0, r0, #8 + orr r0, r1 + str r0, [r2] + pop {r3, pc} + nop + thumb_func_end func_ov00_0207b144 +_0207b1d4: .word data_027e0618 +_0207b1d8: .word 0x04001000 +_0207b1dc: .word 0xffffe0ff +_0207b1e0: .word data_027e0d38 + + .global func_ov00_0207b1e4 + thumb_func_start func_ov00_0207b1e4 +func_ov00_0207b1e4: ; 0x0207b1e4 + push {r3, lr} + blx func_02004a3c + blx func_02004a50 + mov r0, #4 + blx func_02004730 + mov r0, #8 + blx func_020047d8 + pop {r3, pc} + thumb_func_end func_ov00_0207b1e4 + + .global func_ov00_0207b1fc + thumb_func_start func_ov00_0207b1fc +func_ov00_0207b1fc: ; 0x0207b1fc + push {r4, lr} + ldr r0, _0207b264 ; =data_027e0c54 + ldrb r4, [r0] + bl func_ov00_0207afa0 + bl func_ov00_0207afc4 + bl func_ov00_0207b114 + bl func_ov00_0207b12c + add r0, r4, #0 + bl func_ov00_0207b144 + ldr r1, _0207b268 ; =0x04000008 + mov r2, #3 + ldrh r3, [r1] + mov r0, #3 + bic r3, r2 + orr r3, r0 + strh r3, [r1] + ldr r1, _0207b26c ; =0x04001008 + ldrh r3, [r1] + bic r3, r2 + orr r0, r3 + strh r0, [r1] + ldrh r3, [r1, #2] + mov r0, #2 + bic r3, r2 + orr r3, r0 + strh r3, [r1, #2] + ldrh r3, [r1, #4] + bic r3, r2 + orr r0, r3 + strh r0, [r1, #4] + mov r0, #0 + str r0, [r1, #8] + str r0, [r1, #0xc] + blx func_02005b58 + bl func_ov00_0207b09c + ldr r0, _0207b270 ; =data_027e0618 + bl func_0202c69c + ldr r0, _0207b274 ; =data_027e103c + mov r1, #0 + ldr r0, [r0] + blx func_ov00_020cf13c + pop {r4, pc} + nop + thumb_func_end func_ov00_0207b1fc +_0207b264: .word data_027e0c54 +_0207b268: .word 0x04000008 +_0207b26c: .word 0x04001008 +_0207b270: .word data_027e0618 +_0207b274: .word data_027e103c + + .global func_ov00_0207b278 + thumb_func_start func_ov00_0207b278 +func_ov00_0207b278: ; 0x0207b278 + mov r1, #0 + strb r1, [r0] + strb r1, [r0, #1] + strb r1, [r0, #2] + strb r1, [r0, #3] + str r1, [r0, #4] + str r1, [r0, #8] + bx lr + thumb_func_end func_ov00_0207b278 + + .global func_ov00_0207b288 + thumb_func_start func_ov00_0207b288 +func_ov00_0207b288: ; 0x0207b288 + push {r3, r4, r5, lr} + add r4, r0, #0 + add r5, r1, #0 + bl func_ov00_0207b278 + cmp r5, #2 + bne _0207b29a + mov r0, #1 + strb r0, [r4] +_0207b29a: + ldrb r0, [r4] + cmp r0, #0 + beq _0207b2be + ldr r0, _0207b2c0 ; =0x04000048 + mov r2, #0x3f + ldrh r3, [r0] + mov r1, #0x1f + bic r3, r2 + orr r1, r3 + mov r3, #0x20 + orr r1, r3 + strh r1, [r0] + ldrh r4, [r0, #2] + mov r1, #0x10 + bic r4, r2 + orr r1, r4 + orr r1, r3 + strh r1, [r0, #2] +_0207b2be: + pop {r3, r4, r5, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b288 +_0207b2c0: .word 0x04000048 + + .global func_ov00_0207b2c4 + thumb_func_start func_ov00_0207b2c4 +func_ov00_0207b2c4: ; 0x0207b2c4 + ldr r2, [r0, #8] + cmp r1, #0 + beq _0207b2dc + ldr r1, _0207b2ec ; =data_027e0c54 + ldrb r1, [r1] + cmp r1, #0 + beq _0207b2dc + mov r1, #1 + strb r1, [r0, #1] + mov r1, #0xc0 + str r1, [r0, #8] + b _0207b2e4 +_0207b2dc: + mov r1, #0 + strb r1, [r0, #1] + mov r1, #0x60 + str r1, [r0, #8] +_0207b2e4: + mov r1, #0 + strb r1, [r0, #2] + add r0, r2, #0 + bx lr + .align 2, 0 + thumb_func_end func_ov00_0207b2c4 +_0207b2ec: .word data_027e0c54 + + .global func_ov00_0207b2f0 + thumb_func_start func_ov00_0207b2f0 +func_ov00_0207b2f0: ; 0x0207b2f0 + push {r3, r4} + ldrb r4, [r0] + cmp r4, #0 + bne _0207b2fe + mov r0, #0 + pop {r3, r4} + bx lr +_0207b2fe: + strb r2, [r0, #1] + strb r3, [r0, #2] + mov r4, #0 + ldr r2, _0207b330 ; =data_027e0e2c + strb r4, [r0, #3] + ldr r3, [r2, #4] + sub r2, r4, #1 + cmp r3, r2 + beq _0207b31c + strb r4, [r0, #2] + mov r1, #1 + strb r1, [r0, #3] + add r0, r1, #0 + pop {r3, r4} + bx lr +_0207b31c: + mov r2, #0x15 + str r2, [r0, #8] + cmp r1, #0 + beq _0207b328 + ldr r1, [r0, #8] + str r1, [r0, #4] +_0207b328: + mov r0, #1 + pop {r3, r4} + bx lr + nop + thumb_func_end func_ov00_0207b2f0 +_0207b330: .word data_027e0e2c + + .global func_ov00_0207b334 + thumb_func_start func_ov00_0207b334 +func_ov00_0207b334: ; 0x0207b334 + mov r2, #0 + strb r2, [r0, #3] + ldr r2, [r0, #4] + cmp r2, #0 + bne _0207b348 + ldr r2, [r0, #8] + cmp r2, #0 + bne _0207b348 + mov r0, #1 + bx lr +_0207b348: + ldrb r2, [r0] + cmp r2, #0 + bne _0207b352 + mov r0, #0 + bx lr +_0207b352: + ldr r2, _0207b374 ; =data_027e0e2c + ldr r3, [r2, #4] + mov r2, #0 + mvn r2, r2 + cmp r3, r2 + beq _0207b362 + mov r0, #0 + bx lr +_0207b362: + mov r2, #0 + str r2, [r0, #8] + cmp r1, #0 + beq _0207b36e + ldr r1, [r0, #8] + str r1, [r0, #4] +_0207b36e: + mov r0, #1 + bx lr + nop + thumb_func_end func_ov00_0207b334 +_0207b374: .word data_027e0e2c + + .global func_ov00_0207b378 + arm_func_start func_ov00_0207b378 +func_ov00_0207b378: ; 0x0207b378 + stmdb sp!, {r4, lr} + mov r4, r0 + cmp r1, #0 + ldmneia sp!, {r4, pc} + ldrb r0, [r4] + cmp r0, #0 + ldmeqia sp!, {r4, pc} + bl func_ov00_02079e04 + cmp r0, #0 + ldmneia sp!, {r4, pc} + ldr r1, _0207b438 ; =data_027e0e2c + mvn r0, #0 + ldr r1, [r1, #4] + cmp r1, r0 + ldmneia sp!, {r4, pc} + ldrb r0, [r4, #3] + cmp r0, #0 + beq _0207b3e8 + ldr r0, [r4, #4] + cmp r0, #0 + bgt _0207b3e8 + ldrb r2, [r4, #1] + ldrb r3, [r4, #2] + mov r0, r4 + mov r1, #1 + blx func_ov00_0207b2f0 + mov r0, #0 + strb r0, [r4, #3] +_0207b3e8: + ldr r0, [r4, #8] + ldr r1, [r4, #4] + cmp r1, r0 + bge _0207b41c + ldrb r0, [r4, #2] + cmp r0, #0 + addne r0, r1, #1 + addeq r0, r1, #7 + str r0, [r4, #4] + ldmib r4, {r0, r1} + cmp r0, r1 + strgt r1, [r4, #4] + ldmia sp!, {r4, pc} +_0207b41c: + ldmleia sp!, {r4, pc} + sub r1, r1, #0x13 + str r1, [r4, #4] + ldr r0, [r4, #8] + cmp r1, r0 + strlt r0, [r4, #4] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0207b378 +_0207b438: .word data_027e0e2c + + .global func_ov00_0207b43c + arm_func_start func_ov00_0207b43c +func_ov00_0207b43c: ; 0x0207b43c + stmdb sp!, {r4, lr} + mov r4, r0 + ldrb r0, [r4] + cmp r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [r4, #4] + cmp r0, #0 + ble _0207b50c + bl func_ov00_02079e04 + cmp r0, #0 + bne _0207b50c + mov r0, #0x4000000 + ldr r1, [r0] + bic r1, r1, #0xe000 + orr r1, r1, #0x2000 + str r1, [r0] + ldrb r1, [r4, #1] + cmp r1, #0 + ldrne r1, _0207b520 ; =data_027e0c54 + ldrneb r1, [r1] + cmpne r1, #0 + beq _0207b4e0 + ldr r1, _0207b524 ; =data_027e0618 + ldr r1, [r1, #0xf4] + tst r1, #1 + beq _0207b4c4 + ldr r1, [r4, #4] + ldr r2, _0207b528 ; =0x000001ff + mov r1, r1, lsl #0x8 + and r1, r1, #0xff00 + strh r2, [r0, #0x40] + orr r1, r1, #0xc0 + strh r1, [r0, #0x44] + ldmia sp!, {r4, pc} +_0207b4c4: + ldr r2, [r4, #4] + ldr r1, _0207b528 ; =0x000001ff + rsb r2, r2, #0xc0 + strh r1, [r0, #0x40] + and r1, r2, #0xff + strh r1, [r0, #0x44] + ldmia sp!, {r4, pc} +_0207b4e0: + ldr r0, [r4, #4] + ldr r3, _0207b528 ; =0x000001ff + mov r1, r0, lsl #0x8 + rsb r0, r0, #0xc0 + ldr r2, _0207b52c ; =0x04000040 + and r1, r1, #0xff00 + and r0, r0, #0xff + strh r3, [r2] + orr r0, r1, r0 + strh r0, [r2, #4] + ldmia sp!, {r4, pc} +_0207b50c: + mov r1, #0x4000000 + ldr r0, [r1] + bic r0, r0, #0xe000 + str r0, [r1] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0207b43c +_0207b520: .word data_027e0c54 +_0207b524: .word data_027e0618 +_0207b528: .word 0x000001ff +_0207b52c: .word 0x04000040 + + .global func_ov00_0207b530 + thumb_func_start func_ov00_0207b530 +func_ov00_0207b530: ; 0x0207b530 + push {r4, lr} + add r4, r0, #0 + ldr r0, _0207b550 ; =gOverlayManager + ldr r2, _0207b554 ; =0x00000004 + mov r1, #2 + bl _ZN14OverlayManager15LoadIfNotLoadedEjj + add r0, r4, #0 + bl func_ov04_02101188 + ldr r0, _0207b550 ; =gOverlayManager + ldr r2, _0207b558 ; =0x00000005 + mov r1, #2 + bl _ZN14OverlayManager15LoadIfNotLoadedEjj + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b530 +_0207b550: .word gOverlayManager +_0207b554: .word 0x00000004 +_0207b558: .word 0x00000005 + + .global func_ov00_0207b55c + thumb_func_start func_ov00_0207b55c +func_ov00_0207b55c: ; 0x0207b55c + push {r4, lr} + add r4, r0, #0 + mov r3, #1 + add r0, #0x34 + strb r3, [r0] + ldr r0, [r1] + str r0, [r4, #4] + ldr r0, [r1, #4] + str r0, [r4, #8] + ldr r0, [r1, #8] + str r0, [r4, #0xc] + ldr r0, [r1, #0xc] + str r0, [r4, #0x10] + mov r0, #0x10 + ldrsh r0, [r1, r0] + cmp r2, #0 + strh r0, [r4, #0x14] + ldrb r0, [r1, #0x12] + strb r0, [r4, #0x16] + ldrb r0, [r1, #0x13] + strb r0, [r4, #0x17] + ldrb r0, [r1, #0x14] + strb r0, [r4, #0x18] + ldrb r0, [r1, #0x15] + strb r0, [r4, #0x19] + beq _0207b59a + add r4, #0xac + ldr r0, [r4] + bl func_ov04_02100eb0 + pop {r4, pc} +_0207b59a: + add r0, r4, #0 + add r0, #0xac + ldr r0, [r0] + add r2, r0, #0 + add r2, #0x28 + ldrb r2, [r2] + cmp r2, #0 + beq _0207b5b6 + blx func_ov40_02183dac + add r0, r4, #0 + bl func_ov00_0207b530 + pop {r4, pc} +_0207b5b6: + blx func_ov05_02100e0c + pop {r4, pc} + thumb_func_end func_ov00_0207b55c + + .global func_ov00_0207b5bc + thumb_func_start func_ov00_0207b5bc +func_ov00_0207b5bc: ; 0x0207b5bc + push {r4, r5, r6, lr} + sub sp, #0x20 + add r4, r1, #0 + add r5, r0, #0 + ldr r0, [r4] + str r0, [sp, #8] + ldr r0, [r4, #4] + str r0, [sp, #0xc] + ldr r1, [r4, #8] + str r1, [sp, #0x10] + ldr r1, [r4, #0xc] + str r1, [sp, #0x14] + mov r1, #0x10 + ldrsh r3, [r4, r1] + add r1, sp, #0 + cmp r0, #1 + strh r3, [r1, #0x18] + ldrb r3, [r4, #0x12] + strb r3, [r1, #0x1a] + ldrb r3, [r4, #0x13] + strb r3, [r1, #0x1b] + ldrb r3, [r4, #0x14] + strb r3, [r1, #0x1c] + ldrb r3, [r4, #0x15] + strb r3, [r1, #0x1d] + beq _0207b5fa + cmp r0, #0xe + beq _0207b62c + cmp r0, #0xf + beq _0207b66a + b _0207b688 +_0207b5fa: + cmp r2, #0 + beq _0207b6cc + ldr r1, _0207b800 ; =data_027e0fe4 + ldr r2, _0207b804 ; =0x414e4353 + ldr r1, [r1] + add r0, sp, #0 + blx _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j + mov r0, #0 + ldr r1, [sp] + mvn r0, r0 + cmp r1, r0 + beq _0207b6cc + ldr r0, _0207b800 ; =data_027e0fe4 + add r1, sp, #0 + ldr r0, [r0] + blx _ZN12ActorManager8GetActorEP8ActorRef + cmp r0, #0 + beq _0207b6cc + add r1, sp, #8 + blx func_ov18_0215df1c + add sp, #0x20 + pop {r4, r5, r6, pc} +_0207b62c: + ldr r0, [r5] + blx func_ov00_020a5e9c + str r0, [r5, #0x44] + ldr r0, _0207b808 ; =gMapManager + ldr r0, [r0] + blx _ZN10MapManager18func_ov00_02082d08Ev + add r1, r5, #0 + add r1, #0x56 + strb r0, [r1] + ldr r0, _0207b80c ; =data_027e0f94 + ldr r1, [r0] + str r1, [r5, #0x5c] + ldr r1, [r0, #4] + str r1, [r5, #0x60] + ldr r0, [r0, #8] + ldr r1, _0207b810 ; =data_027e0fac + str r0, [r5, #0x64] + mov r0, #0 + ldrsh r1, [r1, r0] + add r0, r5, #0 + add r0, #0x68 + strh r1, [r0] + add r0, r5, #0 + mov r1, #0xfa + add r0, #0x6a + strb r1, [r0] + mov r0, #0xfc + str r0, [r5, #0x6c] + b _0207b6cc +_0207b66a: + add r0, r5, #0 + add r0, #0x44 + blx func_ov00_020a5e9c + str r0, [sp, #8] + add r0, r5, #0 + add r0, #0x56 + ldrb r1, [r0] + add r0, sp, #0 + strb r1, [r0, #0x1a] + mov r1, #0xfa + strb r1, [r0, #0x1b] + mov r0, #0xf + str r0, [sp, #0xc] + b _0207b6cc +_0207b688: + ldr r0, [r5] + blx func_ov00_020a5e9c + cmp r0, #0x26 + bne _0207b6cc + ldr r0, _0207b814 ; =data_027e0f7c + ldr r6, [r0] + add r0, r4, #0 + blx func_ov00_020a5e9c + add r1, r0, #0 + add r0, r6, #0 + blx func_ov00_0209d738 + cmp r0, #3 + bne _0207b6cc + ldr r0, _0207b818 ; =gItemManager + mov r1, #0x20 + ldr r0, [r0] + blx _ZNK11ItemManager7HasItemEi + cmp r0, #0 + beq _0207b6cc + ldrb r0, [r4, #0x12] + cmp r0, #0 + beq _0207b6c0 + cmp r0, #9 + bne _0207b6cc +_0207b6c0: + ldr r0, _0207b81c ; =data_ov09_0211f5dc + add r1, r4, #0 + bl func_ov26_02173b7c + add sp, #0x20 + pop {r4, r5, r6, pc} +_0207b6cc: + add r0, r4, #0 + blx func_ov00_020a5e9c + cmp r0, #0 + bne _0207b740 + ldr r0, _0207b814 ; =data_027e0f7c + ldr r6, [r0] + ldr r0, [r5] + blx func_ov00_020a5e9c + add r1, r0, #0 + add r0, r6, #0 + blx func_ov00_0209d738 + cmp r0, #0 + bne _0207b740 + ldr r0, _0207b814 ; =data_027e0f7c + ldr r6, [r0] + ldr r0, [r5] + blx func_ov00_020a5e9c + add r1, r0, #0 + add r0, r6, #0 + blx func_ov00_0209d778 + mov r1, #1 + mvn r1, r1 + cmp r0, r1 + beq _0207b740 + ldr r0, [r4] + str r0, [r5, #0x70] + ldr r0, [r4, #4] + str r0, [r5, #0x74] + ldr r0, [r4, #8] + str r0, [r5, #0x78] + ldr r0, [r4, #0xc] + str r0, [r5, #0x7c] + mov r0, #0x10 + ldrsh r1, [r4, r0] + add r0, r5, #0 + add r0, #0x80 + strh r1, [r0] + add r0, r5, #0 + ldrb r1, [r4, #0x12] + add r0, #0x82 + strb r1, [r0] + add r0, r5, #0 + ldrb r1, [r4, #0x13] + add r0, #0x83 + strb r1, [r0] + add r0, r5, #0 + ldrb r1, [r4, #0x14] + add r0, #0x84 + strb r1, [r0] + add r0, r5, #0 + ldrb r1, [r4, #0x15] + add r0, #0x85 + strb r1, [r0] +_0207b740: + add r0, r4, #0 + blx func_ov00_020a5e9c + add r6, r0, #0 + ldr r0, [r5] + blx func_ov00_020a5e9c + cmp r6, r0 + bne _0207b7f0 + ldr r0, _0207b814 ; =data_027e0f7c + ldr r6, [r0] + ldr r0, [r5] + blx func_ov00_020a5e9c + add r1, r0, #0 + add r0, r6, #0 + blx func_ov00_0209d738 + cmp r0, #0 + bne _0207b7f0 + ldr r0, [r5] + ldr r0, [r0, #8] + cmp r0, #1 + beq _0207b7f0 + ldr r0, _0207b808 ; =gMapManager + ldr r0, [r0] + blx _ZN10MapManager18func_ov00_02083328Ev + cmp r0, #0 + beq _0207b7f0 + ldr r0, _0207b808 ; =gMapManager + ldrb r1, [r4, #0x12] + ldr r0, [r0] + blx _ZN10MapManager18func_ov00_02083318Ei + cmp r0, #0 + bne _0207b7f0 + ldr r0, [r5] + add r1, r5, #0 + ldr r2, [r0] + add r1, #0x88 + str r2, [r1] + add r1, r5, #0 + ldr r2, [r0, #4] + add r1, #0x8c + str r2, [r1] + add r1, r5, #0 + ldr r2, [r0, #8] + add r1, #0x90 + str r2, [r1] + add r1, r5, #0 + ldr r2, [r0, #0xc] + add r1, #0x94 + str r2, [r1] + mov r1, #0x10 + ldrsh r2, [r0, r1] + add r1, r5, #0 + add r1, #0x98 + strh r2, [r1] + add r1, r5, #0 + ldrb r2, [r0, #0x12] + add r1, #0x9a + strb r2, [r1] + add r1, r5, #0 + ldrb r2, [r0, #0x13] + add r1, #0x9b + strb r2, [r1] + add r1, r5, #0 + ldrb r2, [r0, #0x14] + add r1, #0x9c + strb r2, [r1] + ldrb r1, [r0, #0x15] + add r0, r5, #0 + add r0, #0x9d + strb r1, [r0] + ldr r1, _0207b80c ; =data_027e0f94 + add r0, r5, #0 + ldr r2, [r1] + add r0, #0xa0 + str r2, [r0] + add r0, r5, #0 + ldr r2, [r1, #4] + add r0, #0xa4 + str r2, [r0] + add r0, r5, #0 + ldr r1, [r1, #8] + add r0, #0xa8 + str r1, [r0] +_0207b7f0: + add r0, r5, #0 + add r1, sp, #8 + mov r2, #0 + bl func_ov00_0207b55c + add sp, #0x20 + pop {r4, r5, r6, pc} + nop + thumb_func_end func_ov00_0207b5bc +_0207b800: .word data_027e0fe4 +_0207b804: .word 0x414e4353 +_0207b808: .word gMapManager +_0207b80c: .word data_027e0f94 +_0207b810: .word data_027e0fac +_0207b814: .word data_027e0f7c +_0207b818: .word gItemManager +_0207b81c: .word data_ov09_0211f5dc + + .global func_ov00_0207b820 + arm_func_start func_ov00_0207b820 +func_ov00_0207b820: ; 0x0207b820 + stmdb sp!, {r4, lr} + mov r4, r0 + ldrb r0, [r4, #0x34] + cmp r0, #0 + ldmeqia sp!, {r4, pc} + cmp r1, #0 + ldmneia sp!, {r4, pc} + ldr r0, [r4, #0xac] + bl func_ov05_021010b0 + cmp r0, #0 + ldr r0, [r4, #0xac] + beq _0207b87c + ldrb r1, [r0, #0x29] + cmp r1, #0 + beq _0207b864 + blx func_ov00_0207c074 + ldmia sp!, {r4, pc} +_0207b864: + ldrb r0, [r0, #0x28] + cmp r0, #0 + ldmneia sp!, {r4, pc} + mov r0, r4 + blx func_ov00_0207b530 + ldmia sp!, {r4, pc} +_0207b87c: + bl func_ov05_021010ec + cmp r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [r4, #0xac] + bl func_ov05_02101080 + mov r0, #0 + strb r0, [r4, #0x34] + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0207b820 + + .global func_ov00_0207b89c + arm_func_start func_ov00_0207b89c +func_ov00_0207b89c: ; 0x0207b89c + stmdb sp!, {r3, r4, r5, lr} + mov r4, r0 + ldr ip, [r4, #0x180] + cmp ip, #0x20 + ldmgeia sp!, {r3, r4, r5, pc} + mov r0, #0xc + mul r0, ip, r0 + ldr ip, [sp, #0x10] + str r3, [r4, r0] + add r5, r4, r0 + ldr r0, _0207b8f8 ; =data_027e0f64 + str ip, [r5, #4] + ldr r3, [r0] + mov r0, r2 + add r1, r3, r1, lsl #2 + ldr r1, [r1, #4] + add r1, r1, #0x260 + bl func_01ff9ec0 + str r0, [r5, #8] + ldr r0, [r4, #0x180] + add r0, r0, #1 + str r0, [r4, #0x180] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0207b89c +_0207b8f8: .word data_027e0f64 + + .global func_ov00_0207b8fc + arm_func_start func_ov00_0207b8fc +func_ov00_0207b8fc: ; 0x0207b8fc + ldr r1, [r1, #8] + ldr r0, [r0, #8] + sub r0, r1, r0 + bx lr + arm_func_end func_ov00_0207b8fc + + .global func_ov00_0207b90c + arm_func_start func_ov00_0207b90c +func_ov00_0207b90c: ; 0x0207b90c + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #4 + mov r6, r0 + ldr r1, [r6, #0x180] + cmp r1, #0 + addle sp, sp, #4 + ldmleia sp!, {r3, r4, r5, r6, pc} + cmp r1, #1 + ble _0207b944 + ldr ip, _0207b980 ; =data_020691a0 + ldr r3, _0207b984 ; =func_ov00_0207b8fc + mov r2, #0xc + str ip, [sp] + bl func_0200be04 +_0207b944: + ldr r0, [r6, #0x180] + mov r4, r6 + cmp r0, #0 + mov r5, #0 + addle sp, sp, #4 + ldmleia sp!, {r3, r4, r5, r6, pc} +_0207b95c: + ldr r0, [r4, #4] + ldr r1, [r4], #0xc + blx r1 + ldr r0, [r6, #0x180] + add r5, r5, #1 + cmp r5, r0 + blt _0207b95c + add sp, sp, #4 + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0207b90c +_0207b980: .word data_020691a0 +_0207b984: .word func_ov00_0207b8fc - 1 + + .global func_ov00_0207b988 + thumb_func_start func_ov00_0207b988 +func_ov00_0207b988: ; 0x0207b988 + push {r4, lr} + add r4, r0, #0 + cmp r1, #2 + bne _0207b9ba + ldr r1, _0207b9bc ; =data_027e0ce0 + mov r0, #0x50 + ldr r1, [r1, #4] + mov r2, #4 + blx _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _0207b9a6 + add r1, r4, #0 + bl func_ov03_020f3974 +_0207b9a6: + str r0, [r4, #0x24] + ldr r0, _0207b9c0 ; =data_027e0618 + ldr r0, [r0, #4] + cmp r0, #3 + bne _0207b9ba + ldr r0, _0207b9c4 ; =data_027e0d54 + mov r1, #1 + mov r2, #0 + bl func_ov09_02114810 +_0207b9ba: + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b988 +_0207b9bc: .word data_027e0ce0 +_0207b9c0: .word data_027e0618 +_0207b9c4: .word data_027e0d54 + + .global func_ov00_0207b9c8 + thumb_func_start func_ov00_0207b9c8 +func_ov00_0207b9c8: ; 0x0207b9c8 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x24] + cmp r0, #0 + beq _0207b9da + blx _ZN9SysObjectdlEPv + mov r0, #0 + str r0, [r4, #0x24] +_0207b9da: + pop {r4, pc} + thumb_func_end func_ov00_0207b9c8 + + .global func_ov00_0207b9dc + arm_func_start func_ov00_0207b9dc +func_ov00_0207b9dc: ; 0x0207b9dc + stmdb sp!, {r4, r5, r6, lr} + ldr r1, _0207ba8c ; =0x027ffc3c + mov r6, r0 + ldr r5, [r1] + ldr r0, [r6, #0x20] + ldr r1, [r6, #0x1c] + sub r0, r5, r0 + add r0, r1, r0 + str r0, [r6, #0x1c] + cmp r0, #0x3c + blo _0207ba84 + mov r4, #0 +_0207ba0c: + ldr r0, [r6, #0x1c] + sub r0, r0, #0x3c + str r0, [r6, #0x1c] + ldr r0, [r6, #0x18] + add r0, r0, #1 + str r0, [r6, #0x18] + cmp r0, #0x3c + blo _0207ba78 + str r4, [r6, #0x18] + ldr r0, [r6, #0x14] + add r0, r0, #1 + str r0, [r6, #0x14] + cmp r0, #0x3c + blo _0207ba78 + str r4, [r6, #0x14] + ldr r0, [r6, #0x10] + add r0, r0, #1 + str r0, [r6, #0x10] + cmp r0, #0x18 + blo _0207ba78 + mov r0, r6 + str r4, [r6, #0x10] + blx func_02042b40 + mov r1, r0 + mov r0, r6 + add r1, r1, #1 + blx func_02042bfc +_0207ba78: + ldr r0, [r6, #0x1c] + cmp r0, #0x3c + bhs _0207ba0c +_0207ba84: + str r5, [r6, #0x20] + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0207b9dc +_0207ba8c: .word 0x027ffc3c + + .global func_ov00_0207ba90 + thumb_func_start func_ov00_0207ba90 +func_ov00_0207ba90: ; 0x0207ba90 + ldr r0, [r0, #0x24] + bx lr + thumb_func_end func_ov00_0207ba90 + + .global func_ov00_0207ba94 + thumb_func_start func_ov00_0207ba94 +func_ov00_0207ba94: ; 0x0207ba94 + push {r3, lr} + add r2, r0, #0 + ldr r0, _0207baac ; =gOverlayManager + ldr r3, [r0, #4] + ldr r0, _0207bab0 ; =0x00000003 + cmp r3, r0 + bne _0207baa8 + ldr r0, [r2, #0x24] + bl func_ov03_020f3c28 +_0207baa8: + pop {r3, pc} + nop + thumb_func_end func_ov00_0207ba94 +_0207baac: .word gOverlayManager +_0207bab0: .word 0x00000003 + + .global func_ov00_0207bab4 + arm_func_start func_ov00_0207bab4 +func_ov00_0207bab4: ; 0x0207bab4 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x11c + ldr r3, _0207bb04 ; =func_ov00_0207bb18 + add r0, r0, #0xc00 + mov r1, #8 + mov r2, #0x30 + bl func_0204f754 + ldr r3, _0207bb08 ; =func_ov00_0207bb14 + add r0, r4, #0x2f8 + mov r1, #0xcf + mov r2, #0xc + bl func_0204f754 + ldr r3, _0207bb0c ; =func_ov00_0207bb10 + add r0, r4, #0xf8 + mov r1, #0x40 + mov r2, #8 + bl func_0204f754 + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0207bab4 +_0207bb04: .word func_ov00_0207bb18 - 1 +_0207bb08: .word func_ov00_0207bb14 - 1 +_0207bb0c: .word func_ov00_0207bb10 - 1 + + .global func_ov00_0207bb10 + arm_func_start func_ov00_0207bb10 +func_ov00_0207bb10: ; 0x0207bb10 + bx lr + arm_func_end func_ov00_0207bb10 + + .global func_ov00_0207bb14 + arm_func_start func_ov00_0207bb14 +func_ov00_0207bb14: ; 0x0207bb14 + bx lr + arm_func_end func_ov00_0207bb14 + + .global func_ov00_0207bb18 + arm_func_start func_ov00_0207bb18 +func_ov00_0207bb18: ; 0x0207bb18 + bx lr + arm_func_end func_ov00_0207bb18 + + .global func_ov00_0207bb1c + arm_func_start func_ov00_0207bb1c +func_ov00_0207bb1c: ; 0x0207bb1c + stmdb sp!, {r3, lr} + add lr, r0, r1, lsl #2 + ldr ip, _0207bb48 ; =data_ov00_020d8798 + str r2, [lr, #4] + str r3, [lr, #0x24] + ldrb r1, [ip, r1] + ldr r3, [r0] + mov r2, #1 + orr r1, r3, r2, lsl r1 + str r1, [r0] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0207bb1c +_0207bb48: .word data_ov00_020d8798 + + .global func_ov00_0207bb4c + arm_func_start func_ov00_0207bb4c +func_ov00_0207bb4c: ; 0x0207bb4c + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + mov r10, r0 + ldr r0, [r10] + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + bl func_01ffa8d4 + ldr r5, _0207bc30 ; =0x04000440 + mov r7, #3 + str r7, [r5] + mov r0, #0 + ldr r8, _0207bc34 ; =data_ov00_020d8860 + str r0, [r5, #0x14] + mov r11, r0 + mov r4, #1 +_0207bb84: + ldr r0, [r10] + tst r0, r4, lsl r7 + beq _0207bc20 + mov r0, r8 + str r11, [r5] + bl func_02005628 + ldr r1, _0207bc38 ; =data_027e0384 + mov r0, r8 + mov r2, #0x40 + bl func_02007984 + ldr r1, _0207bc3c ; =data_027e037c + ldr r0, _0207bc40 ; =data_027e03c8 + ldr r2, [r1, #0xfc] + bic r2, r2, #0x50 + str r2, [r1, #0xfc] + mov r1, #2 + str r1, [r5] + mov r1, #0 + str r1, [r5, #0x14] + bl func_01ff892c + ldr r0, _0207bc3c ; =data_027e037c + ldr r9, _0207bc44 ; =data_ov00_020d8798 + ldr r1, [r0, #0xfc] + mov r6, #0 + bic r1, r1, #0xe8 + str r1, [r0, #0xfc] +_0207bbec: + ldrb r0, [r9] + cmp r0, r7 + bne _0207bc10 + add r0, r10, r6, lsl #2 + ldr r1, [r0, #4] + cmp r1, #0 + beq _0207bc10 + ldr r0, [r0, #0x24] + blx r1 +_0207bc10: + add r9, r9, #1 + add r6, r6, #1 + cmp r6, #8 + blt _0207bbec +_0207bc20: + sub r8, r8, #0x40 + subs r7, r7, #1 + bpl _0207bb84 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0207bb4c +_0207bc30: .word 0x04000440 +_0207bc34: .word data_ov00_020d8860 +_0207bc38: .word data_027e0384 +_0207bc3c: .word data_027e037c +_0207bc40: .word data_027e03c8 +_0207bc44: .word data_ov00_020d8798 + + .global func_ov00_0207bc48 + arm_func_start func_ov00_0207bc48 +func_ov00_0207bc48: ; 0x0207bc48 + ldr r1, [r0] + mov r0, #0 + cmp r1, #0 + ldrne r2, [r1, #0x40] + subne r1, r0, #1 + cmpne r2, r1 + movne r0, #1 + bx lr + arm_func_end func_ov00_0207bc48 + + .global func_ov00_0207bc68 + arm_func_start func_ov00_0207bc68 +func_ov00_0207bc68: ; 0x0207bc68 + ldr r0, [r0] + cmp r0, #0 + ldrne r0, [r0, #0x40] + mvneq r0, #0 + bx lr + arm_func_end func_ov00_0207bc68 + + .global func_ov00_0207bc7c + thumb_func_start func_ov00_0207bc7c +func_ov00_0207bc7c: ; 0x0207bc7c + push {r3, r4, r5, lr} + add r4, r0, #0 + ldr r5, [r4] + cmp r5, #0 + beq _0207bc98 + beq _0207bc94 + add r0, r5, #0 + blx func_ov18_0215cb28 + add r0, r5, #0 + blx _ZN9SysObjectdlEPv +_0207bc94: + mov r0, #0 + str r0, [r4] +_0207bc98: + pop {r3, r4, r5, pc} + .align 2, 0 + thumb_func_end func_ov00_0207bc7c + + .global func_ov00_0207bc9c + arm_func_start func_ov00_0207bc9c +func_ov00_0207bc9c: ; 0x0207bc9c + stmdb sp!, {r3, lr} + ldr r0, [r0] + cmp r0, #0 + ldmeqia sp!, {r3, pc} + bl func_ov17_0215cef4 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207bc9c + + .global func_ov00_0207bcb4 + thumb_func_start func_ov00_0207bcb4 +func_ov00_0207bcb4: ; 0x0207bcb4 + mov r1, #0 + mvn r1, r1 + str r1, [r0] + str r1, [r0, #4] + mov r2, #0 + str r2, [r0, #8] + str r2, [r0, #0xc] + str r2, [r0, #0x10] + strh r2, [r0, #0x14] + mov r1, #2 + strb r2, [r0, #0x16] + lsl r1, r1, #0x12 + str r1, [r0, #0x20] + str r1, [r0, #0x18] + mov r1, #6 + lsl r1, r1, #0x10 + str r1, [r0, #0x24] + str r1, [r0, #0x1c] + str r2, [r0, #0x28] + bx lr + thumb_func_end func_ov00_0207bcb4 + + .global func_ov00_0207bcdc + thumb_func_start func_ov00_0207bcdc +func_ov00_0207bcdc: ; 0x0207bcdc + push {r4, r5, r6, lr} + add r4, r0, #0 + add r5, r1, #0 + add r6, r2, #0 + mov r1, #0 + ldr r2, [r4, #4] + mvn r1, r1 + cmp r2, r1 + beq _0207bcf2 + mov r0, #0 + pop {r4, r5, r6, pc} +_0207bcf2: + str r5, [r4, #4] + str r6, [r4, #8] + str r3, [r4, #0xc] + mov r1, #0 + strb r1, [r4, #0x16] + bl func_ov00_0207bdd4 + cmp r5, #3 + bhi _0207bd44 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0207bd10: ; jump table + .short _0207bd18 - _0207bd10 - 2 ; case 0 + .short _0207bd18 - _0207bd10 - 2 ; case 1 + .short _0207bd2c - _0207bd10 - 2 ; case 2 + .short _0207bd2c - _0207bd10 - 2 ; case 3 +_0207bd18: + cmp r5, #1 + bne _0207bd20 + mov r1, #1 + b _0207bd22 +_0207bd20: + mov r1, #0 +_0207bd22: + ldr r0, _0207bd48 ; =data_027e0db0 + bl func_ov00_0207b2c4 + strh r0, [r4, #0x14] + b _0207bd44 +_0207bd2c: + mov r0, #0xa0 + str r0, [r4, #0x28] + cmp r5, #2 + bne _0207bd38 + mov r2, #1 + b _0207bd3a +_0207bd38: + mov r2, #0 +_0207bd3a: + add r4, #0x18 + add r0, r4, #0 + mov r1, #0 + bl func_ov00_0207c8e4 +_0207bd44: + mov r0, #1 + pop {r4, r5, r6, pc} + .align 2, 0 + thumb_func_end func_ov00_0207bcdc +_0207bd48: .word data_027e0db0 + + .global func_ov00_0207bd4c + thumb_func_start func_ov00_0207bd4c +func_ov00_0207bd4c: ; 0x0207bd4c + push {r3, r4, r5, r6, r7, lr} + add r7, r2, #0 + add r2, r3, #0 + ldr r3, [sp, #0x18] + add r5, r0, #0 + add r4, r1, #0 + bl func_ov00_0207bcdc + add r6, r0, #0 + beq _0207bd92 + mov r0, #0 + cmp r4, #3 + bhi _0207bd8a + add r1, r4, r4 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0207bd72: ; jump table + .short _0207bd7a - _0207bd72 - 2 ; case 0 + .short _0207bd7a - _0207bd72 - 2 ; case 1 + .short _0207bd84 - _0207bd72 - 2 ; case 2 + .short _0207bd88 - _0207bd72 - 2 ; case 3 +_0207bd7a: + ldr r0, _0207bd98 ; =data_027e0db0 + ldr r1, [r0, #8] + ldr r0, [r0, #4] + sub r0, r1, r0 + b _0207bd8a +_0207bd84: + mov r0, #0xa0 + b _0207bd8a +_0207bd88: + mov r0, #0x60 +_0207bd8a: + add r1, r7, #0 + blx func_01ff9b4c + str r0, [r5, #0x10] +_0207bd92: + add r0, r6, #0 + pop {r3, r4, r5, r6, r7, pc} + nop + thumb_func_end func_ov00_0207bd4c +_0207bd98: .word data_027e0db0 + + .global func_ov00_0207bd9c + thumb_func_start func_ov00_0207bd9c +func_ov00_0207bd9c: ; 0x0207bd9c + push {r3, r4, r5, lr} + add r4, r0, #0 + add r5, r1, #0 + bl func_ov00_0207bcdc + cmp r0, #0 + beq _0207bdd2 + cmp r5, #3 + bhi _0207bdd2 + add r1, r5, r5 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0207bdba: ; jump table + .short _0207bdc2 - _0207bdba - 2 ; case 0 + .short _0207bdc2 - _0207bdba - 2 ; case 1 + .short _0207bdc8 - _0207bdba - 2 ; case 2 + .short _0207bdce - _0207bdba - 2 ; case 3 +_0207bdc2: + mov r1, #0xa + str r1, [r4, #0x10] + pop {r3, r4, r5, pc} +_0207bdc8: + mov r1, #0xa + str r1, [r4, #0x10] + pop {r3, r4, r5, pc} +_0207bdce: + mov r1, #0xa + str r1, [r4, #0x10] +_0207bdd2: + pop {r3, r4, r5, pc} + thumb_func_end func_ov00_0207bd9c + + .global func_ov00_0207bdd4 + thumb_func_start func_ov00_0207bdd4 +func_ov00_0207bdd4: ; 0x0207bdd4 + push {r3, lr} + add r2, r1, #1 + cmp r2, #3 + bhi _0207bdf6 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0207bde8: ; jump table + .short _0207bdf0 - _0207bde8 - 2 ; case 0 + .short _0207bdf6 - _0207bde8 - 2 ; case 1 + .short _0207bdf6 - _0207bde8 - 2 ; case 2 + .short _0207bdf6 - _0207bde8 - 2 ; case 3 +_0207bdf0: + bl func_ov00_0207bcb4 + pop {r3, pc} +_0207bdf6: + str r1, [r0] + pop {r3, pc} + .align 2, 0 + thumb_func_end func_ov00_0207bdd4 + + .global func_ov00_0207bdfc + thumb_func_start func_ov00_0207bdfc +func_ov00_0207bdfc: ; 0x0207bdfc + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + cmp r0, #0 + beq _0207be10 + cmp r0, #1 + beq _0207be28 + cmp r0, #2 + beq _0207be5a + pop {r4, pc} +_0207be10: + add r0, r4, #0 + ldr r2, [r4, #0x10] + add r0, #0x18 + blx func_ov00_0207c91c + cmp r0, #0 + beq _0207be80 + add r0, r4, #0 + mov r1, #1 + bl func_ov00_0207bdd4 + pop {r4, pc} +_0207be28: + ldr r2, [r4, #8] + cmp r2, #0 + beq _0207be34 + ldr r1, [r4, #0xc] + mov r0, #0 + blx r2 +_0207be34: + ldr r0, [r4] + cmp r0, #1 + bne _0207be80 + ldr r0, [r4, #4] + cmp r0, #2 + bne _0207be44 + mov r2, #1 + b _0207be46 +_0207be44: + mov r2, #0 +_0207be46: + add r0, r4, #0 + add r0, #0x18 + mov r1, #1 + bl func_ov00_0207c8e4 + add r0, r4, #0 + mov r1, #2 + bl func_ov00_0207bdd4 + pop {r4, pc} +_0207be5a: + add r0, r4, #0 + ldr r2, [r4, #0x10] + add r0, #0x18 + mov r1, #0xa0 + blx func_ov00_0207c91c + cmp r0, #0 + beq _0207be80 + ldr r2, [r4, #8] + cmp r2, #0 + beq _0207be76 + ldr r1, [r4, #0xc] + mov r0, #1 + blx r2 +_0207be76: + mov r1, #0 + add r0, r4, #0 + mvn r1, r1 + bl func_ov00_0207bdd4 +_0207be80: + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207bdfc + + .global func_ov00_0207be84 + arm_func_start func_ov00_0207be84 +func_ov00_0207be84: ; 0x0207be84 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + cmp r1, #0 + ldreqb r1, [r5, #0x16] + cmpeq r1, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r2, [r5, #4] + mvn r1, #0 + cmp r2, r1 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r1, [r5, #4] + cmp r1, #3 + addls pc, pc, r1, lsl #2 + ldmia sp!, {r3, r4, r5, pc} +_0207bebc: ; jump table + b _0207becc ; case 0 + b _0207becc ; case 1 + b _0207bfa4 ; case 2 + b _0207bfb0 ; case 3 +_0207becc: + ldr r1, [r5] + ldr r2, _0207bfbc ; =data_027e0db4 + cmp r1, #0 + ldr r4, _0207bfc0 ; =data_027e0db8 + beq _0207bef4 + cmp r1, #1 + beq _0207bf20 + cmp r1, #2 + beq _0207bf5c + ldmia sp!, {r3, r4, r5, pc} +_0207bef4: + ldr ip, [r2] + ldr r1, [r5, #0x10] + ldr r3, [r4] + add r1, ip, r1 + str r1, [r2] + cmp r1, r3 + ldmltia sp!, {r3, r4, r5, pc} + mov r1, #1 + str r3, [r2] + blx func_ov00_0207bdd4 + ldmia sp!, {r3, r4, r5, pc} +_0207bf20: + ldr r2, [r5, #8] + cmp r2, #0 + beq _0207bf38 + ldr r1, [r5, #0xc] + mov r0, #0 + blx r2 +_0207bf38: + ldr r0, [r5] + cmp r0, #1 + ldmneia sp!, {r3, r4, r5, pc} + ldrsh r2, [r5, #0x14] + mov r0, r5 + mov r1, #2 + str r2, [r4] + blx func_ov00_0207bdd4 + ldmia sp!, {r3, r4, r5, pc} +_0207bf5c: + ldr r3, [r2] + ldr r1, [r5, #0x10] + ldr r0, [r4] + sub r1, r3, r1 + str r1, [r2] + cmp r1, r0 + ldmgtia sp!, {r3, r4, r5, pc} + str r0, [r2] + ldr r2, [r5, #8] + cmp r2, #0 + beq _0207bf94 + ldr r1, [r5, #0xc] + mov r0, #1 + blx r2 +_0207bf94: + mov r0, r5 + mvn r1, #0 + blx func_ov00_0207bdd4 + ldmia sp!, {r3, r4, r5, pc} +_0207bfa4: + mov r1, #0 + blx func_ov00_0207bdfc + ldmia sp!, {r3, r4, r5, pc} +_0207bfb0: + mov r1, #0x40 + blx func_ov00_0207bdfc + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0207be84 +_0207bfbc: .word data_027e0db4 +_0207bfc0: .word data_027e0db8 + + .global func_ov00_0207bfc4 + thumb_func_start func_ov00_0207bfc4 +func_ov00_0207bfc4: ; 0x0207bfc4 + push {r4, lr} + add r4, r0, #0 + bl func_0202ab78 + add r0, r4, #0 + mov r1, #1 + add r0, #0x24 + strb r1, [r0] + add r0, r4, #0 + mov r1, #0 + add r0, #0x25 + strb r1, [r0] + add r0, r4, #0 + add r0, #0x26 + strb r1, [r0] + add r0, r4, #0 + add r0, #0x27 + strb r1, [r0] + add r0, r4, #0 + add r0, #0x28 + strb r1, [r0] + add r0, r4, #0 + add r0, #0x29 + strb r1, [r0] + mov r0, #0x14 + strh r0, [r4, #0x2a] + mov r0, #0x28 + strh r0, [r4, #0x2c] + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207bfc4 + + .global func_ov00_0207c000 + thumb_func_start func_ov00_0207c000 +func_ov00_0207c000: ; 0x0207c000 + push {r3, lr} + add r1, r0, #0 + add r1, #0x25 + ldrb r1, [r1] + cmp r1, #0 + beq _0207c02a + add r1, r0, #0 + mov r2, #1 + add r1, #0x24 + strb r2, [r1] + add r1, r0, #0 + mov r2, #0 + add r1, #0x25 + strb r2, [r1] + mov r1, #0x14 + strh r1, [r0, #0x2a] + mov r1, #0x28 + strh r1, [r0, #0x2c] + ldr r0, _0207c02c ; =data_027e0e2c + bl func_ov00_0207bcb4 +_0207c02a: + pop {r3, pc} + .align 2, 0 + thumb_func_end func_ov00_0207c000 +_0207c02c: .word data_027e0e2c + + .global func_ov00_0207c030 + thumb_func_start func_ov00_0207c030 +func_ov00_0207c030: ; 0x0207c030 + add r2, r0, #0 + add r2, #0x25 + ldrb r2, [r2] + mov r1, #0 + cmp r2, #0 + beq _0207c04e + ldr r0, _0207c06c ; =data_027e077c + ldr r1, [r0] + ldr r0, _0207c070 ; =data_02056be4 + ldrb r0, [r0, r1] + mov r1, #1 + tst r0, r1 + beq _0207c066 + mov r1, #2 + b _0207c066 +_0207c04e: + add r0, #0x26 + ldrb r0, [r0] + cmp r0, #0 + beq _0207c066 + ldr r0, _0207c06c ; =data_027e077c + ldr r1, [r0] + ldr r0, _0207c070 ; =data_02056be4 + ldrb r0, [r0, r1] + mov r1, #1 + tst r0, r1 + bne _0207c066 + mov r1, #2 +_0207c066: + add r0, r1, #0 + bx lr + nop + thumb_func_end func_ov00_0207c030 +_0207c06c: .word data_027e077c +_0207c070: .word data_02056be4 + + .global func_ov00_0207c074 + thumb_func_start func_ov00_0207c074 +func_ov00_0207c074: ; 0x0207c074 + push {r4, lr} + add r4, r0, #0 + add r1, r4, #0 + mov r2, #0 + add r1, #0x29 + strb r2, [r1] + add r1, r4, #0 + add r1, #0x24 + ldrb r1, [r1] + cmp r1, #0 + beq _0207c0a4 + bl func_ov00_0207c030 + add r2, r0, #0 + ldrh r1, [r4, #0x2a] + add r0, r4, #0 + bl func_0202abdc + cmp r0, #0 + beq _0207c0a4 + ldr r0, _0207c0a8 ; =data_027e071c + add r1, r4, #0 + blx func_0202d77c +_0207c0a4: + pop {r4, pc} + nop + thumb_func_end func_ov00_0207c074 +_0207c0a8: .word data_027e071c + + .global func_ov00_0207c0ac + thumb_func_start func_ov00_0207c0ac +func_ov00_0207c0ac: ; 0x0207c0ac + push {r4, lr} + mov r3, #0 + mvn r3, r3 + cmp r1, r3 + beq _0207c0c6 + ldr r3, _0207c0c8 ; =data_027e0cbc + ldr r4, [r3, #0x1c] + str r4, [r0] + cmp r4, r1 + beq _0207c0c6 + add r0, r3, #0 + blx func_ov03_020fa874 +_0207c0c6: + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207c0ac +_0207c0c8: .word data_027e0cbc + + .global func_ov00_0207c0cc + thumb_func_start func_ov00_0207c0cc +func_ov00_0207c0cc: ; 0x0207c0cc + push {r4, lr} + add r4, r0, #0 + add r2, r1, #0 + mov r0, #0 + ldr r1, [r4] + mvn r0, r0 + cmp r1, r0 + beq _0207c0e8 + ldr r0, _0207c0ec ; =data_027e0cbc + blx func_ov03_020fa874 + mov r0, #0 + mvn r0, r0 + str r0, [r4] +_0207c0e8: + pop {r4, pc} + nop + thumb_func_end func_ov00_0207c0cc +_0207c0ec: .word data_027e0cbc + + .global func_ov00_0207c0f0 + thumb_func_start func_ov00_0207c0f0 +func_ov00_0207c0f0: ; 0x0207c0f0 + push {r3, lr} + add r3, r0, #0 + mov r2, #0 + add r0, #0x3c + strb r2, [r0] + cmp r1, #2 + beq _0207c106 + cmp r1, #6 + beq _0207c106 + cmp r1, #7 + bne _0207c110 +_0207c106: + ldr r0, _0207c114 ; =data_ov00_020ec718 + add r1, r3, #0 + mov r2, #0x3c + blx func_020078d8 +_0207c110: + pop {r3, pc} + nop + thumb_func_end func_ov00_0207c0f0 +_0207c114: .word data_ov00_020ec718 + + .global func_ov00_0207c118 + thumb_func_start func_ov00_0207c118 +func_ov00_0207c118: ; 0x0207c118 + push {r4, r5, lr} + sub sp, #0x114 + add r4, r1, #0 + add r5, r0, #0 + add r1, sp, #0x14 + mov r2, #0x80 + blx func_02007ad8 + add r0, r5, #0 + add r1, sp, #0x94 + mov r2, #0x80 + blx func_02007ad8 + mov r3, #0 + str r3, [sp] + ldr r1, _0207c168 ; =0x0003f500 + add r5, r4, #0 + mul r5, r1 + ldr r1, _0207c16c ; =0x0003f200 + str r3, [sp, #4] + mov r0, #7 + str r0, [sp, #8] + mov r0, #0xa + str r0, [sp, #0xc] + mov r2, #2 + str r2, [sp, #0x10] + add r0, sp, #0x14 + add r1, r5, r1 + add r2, #0xfe + bl func_02040464 + cmp r0, #0 + beq _0207c160 + add sp, #0x114 + mov r0, #1 + pop {r4, r5, pc} +_0207c160: + mov r0, #0 + add sp, #0x114 + pop {r4, r5, pc} + nop + thumb_func_end func_ov00_0207c118 +_0207c168: .word 0x0003f500 +_0207c16c: .word 0x0003f200 + + .global func_ov00_0207c170 + thumb_func_start func_ov00_0207c170 +func_ov00_0207c170: ; 0x0207c170 + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + add r5, r0, #0 + add r6, r4, #0 + mov r7, #0x14 +_0207c17a: + add r0, r6, #0 + add r1, r5, #0 + add r2, r7, #0 + blx func_020078c0 + add r4, r4, #1 + add r5, #0x14 + cmp r4, #3 + blt _0207c17a + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 + thumb_func_end func_ov00_0207c170 + + .global func_ov00_0207c190 + thumb_func_start func_ov00_0207c190 +func_ov00_0207c190: ; 0x0207c190 + mov r2, #0 + add r3, r2, #0 +_0207c194: + ldrb r1, [r0, #0x12] + cmp r1, #0 + beq _0207c1a2 + ldrh r1, [r0] + cmp r1, #0 + bne _0207c1a2 + add r2, r2, #1 +_0207c1a2: + add r3, r3, #1 + add r0, #0x14 + cmp r3, #3 + blt _0207c194 + add r0, r2, #0 + bx lr + .align 2, 0 + thumb_func_end func_ov00_0207c190 + + .global func_ov00_0207c1b0 + arm_func_start func_ov00_0207c1b0 +func_ov00_0207c1b0: ; 0x0207c1b0 + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr lr, [sp, #0x10] + cmp r1, #0x1000 + movge r4, #1 + movlt r4, #0 + ldr ip, [sp, #0x14] + str lr, [sp] + cmp r1, #0x1000 + orrge r3, r3, #0x8000 + cmp r1, #0x1000 + str ip, [sp, #4] + add r0, r0, r4, lsl #2 + ldr r0, [r0, #0x10] + subge r1, r1, #0x1000 + bl func_ov00_0207c694 + add sp, sp, #8 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0207c1b0 + + .global func_ov00_0207c1f8 + arm_func_start func_ov00_0207c1f8 +func_ov00_0207c1f8: ; 0x0207c1f8 + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #4 + mov r6, r2 + cmp r6, #0x1000 + movge r4, #1 + mov r7, r1 + mov r8, r0 + mov r0, r7 + mov r5, r3 + movlt r4, #0 + bl func_ov00_020b7e6c + cmp r6, #0x1000 + ldrge r0, [sp, #0x20] + mov r1, r7 + orrge r0, r0, #0x8000 + ldrlt r0, [sp, #0x20] + cmp r6, #0x1000 + str r0, [sp] + add r0, r8, r4, lsl #2 + subge r6, r6, #0x1000 + ldr r0, [r0, #0x10] + mov r2, r6 + mov r3, r5 + bl func_ov00_0207c6ec + add sp, sp, #4 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + arm_func_end func_ov00_0207c1f8 + + .global func_ov00_0207c260 + arm_func_start func_ov00_0207c260 +func_ov00_0207c260: ; 0x0207c260 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + ldr r6, [sp, #0x28] + ldr r5, [sp, #0x2c] + mov r9, r1 + mov r8, r2 + mov r10, r0 + mov r7, r3 + cmp r9, r8 + ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + orr r11, r5, #0x8000 +_0207c288: + ldr r0, [r7] + cmp r0, #0x1000 + movge r0, #1 + movlt r0, #0 + add r1, r10, r0, lsl #2 + mov r0, r9 + ldr r4, [r1, #0x10] + bl func_ov00_020b7e6c + ldr r2, [r7] + mov r0, r4 + cmp r2, #0x1000 + movge ip, r11 + movlt ip, r5 + cmp r2, #0x1000 + subge r2, r2, #0x1000 + mov r1, r9 + mov r3, r6 + str ip, [sp] + bl func_ov00_0207c6ec + add r9, r9, #4 + cmp r9, r8 + add r7, r7, #4 + bne _0207c288 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end func_ov00_0207c260 + + .global func_ov00_0207c2e8 + arm_func_start func_ov00_0207c2e8 +func_ov00_0207c2e8: ; 0x0207c2e8 + stmdb sp!, {r3, lr} + sub sp, sp, #0x10 + ldr lr, [sp, #0x18] + str r2, [sp, #8] + str r3, [sp, #0xc] + ldr ip, [sp, #0x1c] + str lr, [sp] + add r3, sp, #8 + add r2, r1, #8 + str ip, [sp, #4] + bl func_ov00_0207c260 + add sp, sp, #0x10 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207c2e8 + + .global func_ov00_0207c31c + arm_func_start func_ov00_0207c31c +func_ov00_0207c31c: ; 0x0207c31c + stmdb sp!, {lr} + sub sp, sp, #0x14 + ldr ip, [sp, #0x18] + ldr lr, [sp, #0x1c] + str r2, [sp, #8] + str r3, [sp, #0xc] + str ip, [sp, #0x10] + ldr ip, [sp, #0x20] + str lr, [sp] + add r3, sp, #8 + add r2, r1, #0xc + str ip, [sp, #4] + bl func_ov00_0207c260 + add sp, sp, #0x14 + ldmia sp!, {pc} + arm_func_end func_ov00_0207c31c + + .global func_ov00_0207c358 + arm_func_start func_ov00_0207c358 +func_ov00_0207c358: ; 0x0207c358 + stmdb sp!, {r3, lr} + sub sp, sp, #0x18 + ldr lr, [sp, #0x20] + ldr ip, [sp, #0x24] + str r2, [sp, #8] + str r3, [sp, #0xc] + str ip, [sp, #0x14] + ldr r2, [sp, #0x28] + str lr, [sp, #0x10] + str r2, [sp] + ldr ip, [sp, #0x2c] + add r3, sp, #8 + add r2, r1, #0x10 + str ip, [sp, #4] + bl func_ov00_0207c260 + add sp, sp, #0x18 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207c358 + + .global func_ov00_0207c39c + arm_func_start func_ov00_0207c39c +func_ov00_0207c39c: ; 0x0207c39c + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x1c + ldr r4, [sp, #0x28] + ldr lr, [sp, #0x2c] + ldr ip, [sp, #0x30] + str r2, [sp, #8] + str r3, [sp, #0xc] + str ip, [sp, #0x18] + ldr r2, [sp, #0x34] + str r4, [sp, #0x10] + str lr, [sp, #0x14] + str r2, [sp] + ldr ip, [sp, #0x38] + add r3, sp, #8 + add r2, r1, #0x14 + str ip, [sp, #4] + bl func_ov00_0207c260 + add sp, sp, #0x1c + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_0207c39c + + .global func_ov00_0207c3e8 + arm_func_start func_ov00_0207c3e8 +func_ov00_0207c3e8: ; 0x0207c3e8 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x24 + ldr r6, [sp, #0x38] + ldr r5, [sp, #0x3c] + ldr r4, [sp, #0x40] + ldr lr, [sp, #0x44] + ldr ip, [sp, #0x48] + str r2, [sp, #8] + str r3, [sp, #0xc] + str ip, [sp, #0x20] + ldr r2, [sp, #0x4c] + str r6, [sp, #0x10] + str r5, [sp, #0x14] + str r4, [sp, #0x18] + str lr, [sp, #0x1c] + str r2, [sp] + ldr ip, [sp, #0x50] + add r3, sp, #8 + add r2, r1, #0x1c + str ip, [sp, #4] + bl func_ov00_0207c260 + add sp, sp, #0x24 + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end func_ov00_0207c3e8 + + .global func_ov00_0207c444 + arm_func_start func_ov00_0207c444 +func_ov00_0207c444: ; 0x0207c444 + stmdb sp!, {r3, lr} + ldr r2, [r1] + cmp r2, #0 + ldmeqia sp!, {r3, pc} + ldr r2, [r2, #0x9c] + tst r2, #0x8000 + movne r2, #1 + moveq r2, #0 + add r0, r0, r2, lsl #2 + ldr r0, [r0, #0x10] + bl func_ov00_0207c748 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207c444 + + .global func_ov00_0207c474 + arm_func_start func_ov00_0207c474 +func_ov00_0207c474: ; 0x0207c474 + stmdb sp!, {r3, lr} + mov r3, r2 + ldr r2, [r1, #4] + ldr ip, [r1] + cmp r2, #0x1000 + movge lr, #1 + movlt lr, #0 + cmp ip, #0 + bne _0207c4c0 + ldr ip, [r1, #8] + cmp r2, #0x1000 + orrge ip, ip, #0x8000 + str ip, [sp] + add r0, r0, lr, lsl #2 + cmp r2, #0x1000 + ldr r0, [r0, #0x10] + subge r2, r2, #0x1000 + bl func_ov00_0207c6ec + ldmia sp!, {r3, pc} +_0207c4c0: + ldr r0, [r1] + cmp r0, #0 + ldmeqia sp!, {r3, pc} + ldr r1, [r0, #0x20] + ldr r2, [r3] + ldr r1, [r1] + ldr r1, [r1, #4] + add r1, r2, r1 + str r1, [r0, #0x28] + ldr r1, [r0, #0x20] + ldr r2, [r3, #4] + ldr r1, [r1] + ldr r1, [r1, #8] + add r1, r2, r1 + str r1, [r0, #0x2c] + ldr r1, [r0, #0x20] + ldr r2, [r3, #8] + ldr r1, [r1] + ldr r1, [r1, #0xc] + add r1, r2, r1 + str r1, [r0, #0x30] + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207c474 + + .global func_ov00_0207c518 + arm_func_start func_ov00_0207c518 +func_ov00_0207c518: ; 0x0207c518 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r6, r1 + mov r5, r2 + ldr r2, [r6, #4] + mov r7, r0 + cmp r2, #0x1000 + movge r4, #1 + ldr r0, [r6] + movlt r4, #0 + cmp r0, #0 + bne _0207c588 + ldr r0, [r6, #8] + cmp r2, #0x1000 + orrge r0, r0, #0x8000 + orr r0, r0, #0x4000 + str r0, [sp] + add r0, r7, r4, lsl #2 + cmp r2, #0x1000 + ldr r0, [r0, #0x10] + subge r2, r2, #0x1000 + mov r1, r6 + mov r3, r5 + bl func_ov00_0207c6ec + ldr r1, [r6] + cmp r1, #0 + ldrne r0, [r1, #0x24] + orrne r0, r0, #2 + strne r0, [r1, #0x24] +_0207c588: + ldr r0, [r6] + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + add r0, r7, r4, lsl #2 + ldr r0, [r0, #0x10] + ldr r1, [r6] + ldr r0, [r0] + mov r2, r5 + bl func_02012934 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0207c518 + + .global func_ov00_0207c5b0 + thumb_func_start func_ov00_0207c5b0 +func_ov00_0207c5b0: ; 0x0207c5b0 + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + add r5, r0, #0 + add r6, r1, #0 + sub r7, r4, #1 +_0207c5ba: + ldr r0, [r5] + cmp r0, r7 + beq _0207c5c8 + ldr r0, [r5, #0x10] + add r1, r6, #0 + bl func_ov00_0207c770 +_0207c5c8: + add r4, r4, #1 + add r5, r5, #4 + cmp r4, #2 + blt _0207c5ba + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 + thumb_func_end func_ov00_0207c5b0 + + .global func_ov00_0207c5d4 + arm_func_start func_ov00_0207c5d4 +func_ov00_0207c5d4: ; 0x0207c5d4 + stmdb sp!, {r4, r5, r6, r7, r8, lr} + mov r8, r0 + mov r7, r1 + mov r6, r2 + mov r5, #0 + mvn r4, #0 +_0207c5ec: + ldr r0, [r8, r5, lsl #2] + cmp r0, r4 + beq _0207c60c + add r0, r8, r5, lsl #2 + ldr r0, [r0, #0x10] + mov r1, r7 + mov r2, r6 + bl func_ov00_0207c798 +_0207c60c: + add r5, r5, #1 + cmp r5, #2 + blt _0207c5ec + ldmia sp!, {r4, r5, r6, r7, r8, pc} + arm_func_end func_ov00_0207c5d4 + + .global func_ov00_0207c61c + arm_func_start func_ov00_0207c61c +func_ov00_0207c61c: ; 0x0207c61c + stmdb sp!, {r3, lr} + ldr r2, [r1] + str r2, [r0, #0x9c] + ldr r2, [r0, #0x20] + ldr r2, [r2] + ldr r2, [r2, #0x58] + mov r2, r2, lsl #0x18 + mov r2, r2, lsr #0x18 + and r2, r2, #0xff + tst r2, #0x80 + beq _0207c658 + ldr r2, _0207c670 ; =data_027e0e58 + ldr r2, [r2] + ldrh r2, [r2, #0x22] + strh r2, [r0, #0x76] +_0207c658: + ldr r2, [r1, #8] + cmp r2, #0 + ldmeqia sp!, {r3, pc} + ldr r1, [r1, #4] + blx r2 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0207c61c +_0207c670: .word data_027e0e58 + + .global func_ov00_0207c674 + arm_func_start func_ov00_0207c674 +func_ov00_0207c674: ; 0x0207c674 + stmdb sp!, {r3, lr} + ldr r1, _0207c690 ; =data_027e0618 + ldr r1, [r1] + cmp r1, #6 + ldmneia sp!, {r3, pc} + bl func_ov12_02133c40 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0207c674 +_0207c690: .word data_027e0618 + + .global func_ov00_0207c694 + arm_func_start func_ov00_0207c694 +func_ov00_0207c694: ; 0x0207c694 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x10 + mov r6, r0 + mov r0, r1 + mov r5, r2 + mov r4, r3 + bl func_ov00_0207c674 + ldr r3, [sp, #0x20] + ldr r2, [sp, #0x24] + str r3, [sp, #8] + str r2, [sp, #0xc] + ldr r1, _0207c6e8 ; =func_ov00_0207c61c + str r4, [sp, #4] + str r1, [sp] + mov r1, r0 + ldr r0, [r6] + add r3, sp, #4 + mov r2, r5 + bl func_02012830 + add sp, sp, #0x10 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0207c694 +_0207c6e8: .word func_ov00_0207c61c - 1 + + .global func_ov00_0207c6ec + arm_func_start func_ov00_0207c6ec +func_ov00_0207c6ec: ; 0x0207c6ec + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x10 + mov r6, r0 + mov r0, r2 + mov r5, r1 + mov r4, r3 + bl func_ov00_0207c674 + mov r2, #0 + ldr r3, [sp, #0x20] + ldr r1, _0207c744 ; =func_ov00_0207c61c + str r3, [sp, #4] + str r2, [sp, #8] + str r2, [sp, #0xc] + str r1, [sp] + mov r1, r0 + ldr r0, [r6] + add r3, sp, #4 + mov r2, r4 + bl func_02012830 + str r0, [r5] + add sp, sp, #0x10 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0207c6ec +_0207c744: .word func_ov00_0207c61c - 1 + + .global func_ov00_0207c748 + arm_func_start func_ov00_0207c748 +func_ov00_0207c748: ; 0x0207c748 + stmdb sp!, {r4, lr} + mov r4, r1 + ldr r1, [r4] + cmp r1, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [r0] + bl func_020128bc + mov r0, #0 + str r0, [r4] + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0207c748 + + .global func_ov00_0207c770 + thumb_func_start func_ov00_0207c770 +func_ov00_0207c770: ; 0x0207c770 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, [r5] + add r6, r1, #0 + ldr r1, [r0, #4] + cmp r1, #0 + beq _0207c796 +_0207c77e: + add r0, r1, #0 + add r0, #0x9c + ldr r0, [r0] + ldr r4, [r1] + tst r0, r6 + beq _0207c790 + ldr r0, [r5] + blx func_020128bc +_0207c790: + add r1, r4, #0 + cmp r4, #0 + bne _0207c77e +_0207c796: + pop {r4, r5, r6, pc} + thumb_func_end func_ov00_0207c770 + + .global func_ov00_0207c798 + arm_func_start func_ov00_0207c798 +func_ov00_0207c798: ; 0x0207c798 + ldr r0, [r0] + ldr r3, [r0, #4] + cmp r3, #0 + bxeq lr + cmp r2, #0 + moveq r0, #1 + movne r0, #0 + mov r0, r0, lsl #0x1f +_0207c7b8: + ldr r2, [r3, #0x9c] + ldr ip, [r3] + tst r1, r2 + beq _0207c7d8 + ldr r2, [r3, #0x24] + bic r2, r2, #8 + orr r2, r2, r0, lsr #28 + str r2, [r3, #0x24] +_0207c7d8: + mov r3, ip + cmp ip, #0 + bne _0207c7b8 + bx lr + arm_func_end func_ov00_0207c798 + + .global func_ov00_0207c7e8 + arm_func_start func_ov00_0207c7e8 +func_ov00_0207c7e8: ; 0x0207c7e8 + ldr r3, _0207c800 ; =data_ov00_020d88cc + ldrh r2, [r0] + ldrb r1, [r3, r1] + cmp r2, r1 + strloh r1, [r0] + bx lr + .align 2, 0 + arm_func_end func_ov00_0207c7e8 +_0207c800: .word data_ov00_020d88cc + + .global func_ov00_0207c804 + thumb_func_start func_ov00_0207c804 +func_ov00_0207c804: ; 0x0207c804 + push {r3, r4, r5, r6, lr} + sub sp, #0x24 + ldr r3, _0207c8d0 ; =data_027e0f94 + add r6, r2, #0 + add r5, r0, #0 + add r4, r1, #0 + ldmia r3!, {r0, r1} + add r2, sp, #0x18 + stmia r2!, {r0, r1} + ldr r0, [r3] + str r0, [r2] + ldr r0, _0207c8d4 ; =data_027e0d38 + ldr r0, [r0] + blx func_ov00_02078b40 + cmp r0, #2 + bne _0207c830 + ldr r1, [sp, #0x1c] + ldr r0, _0207c8d8 ; =0x0000019a + add r0, r1, r0 + str r0, [sp, #0x1c] + b _0207c876 +_0207c830: + cmp r5, #0 + beq _0207c840 + mov r0, #3 + ldr r1, [sp, #0x1c] + lsl r0, r0, #0xa + add r0, r1, r0 + str r0, [sp, #0x1c] + b _0207c876 +_0207c840: + ldr r0, _0207c8dc ; =data_027e0fcc + ldr r2, [sp, #0x18] + ldr r1, [r0] + add r1, #0x40 + add r0, r1, #0 + add r1, #0x84 + ldr r1, [r1] + add r0, #0x84 + add r2, r2, r1 + lsr r1, r2, #0x1f + add r1, r2, r1 + asr r1, r1, #1 + str r1, [sp, #0x18] + ldr r2, [sp, #0x1c] + ldr r1, [r0, #4] + add r2, r2, r1 + lsr r1, r2, #0x1f + add r1, r2, r1 + asr r1, r1, #1 + str r1, [sp, #0x1c] + ldr r1, [sp, #0x20] + ldr r0, [r0, #8] + add r1, r1, r0 + lsr r0, r1, #0x1f + add r0, r1, r0 + asr r0, r0, #1 + str r0, [sp, #0x20] +_0207c876: + ldr r0, [sp, #0x18] + add r1, sp, #0xc + str r0, [sp, #0xc] + ldr r0, [sp, #0x1c] + add r2, sp, #8 + str r0, [sp, #0x10] + ldr r0, [sp, #0x20] + add r3, sp, #4 + str r0, [sp, #0x14] + mov r0, #1 + str r0, [sp] + ldr r0, _0207c8e0 ; =data_027e0f64 + ldr r0, [r0] + ldr r0, [r0, #4] + blx func_01ffe468 + cmp r0, #0 + beq _0207c8c8 + mov r1, #0x1f + ldr r2, [sp, #8] + mvn r1, r1 + cmp r2, r1 + blt _0207c8c8 + mov r0, #0x12 + lsl r0, r0, #4 + cmp r2, r0 + bge _0207c8c8 + ldr r0, [sp, #4] + add r1, #8 + cmp r0, r1 + blt _0207c8c8 + cmp r0, #0xd8 + bge _0207c8c8 + lsl r0, r2, #0xc + str r0, [r4] + ldr r0, [sp, #4] + add sp, #0x24 + lsl r0, r0, #0xc + str r0, [r6] + mov r0, #1 + pop {r3, r4, r5, r6, pc} +_0207c8c8: + mov r0, #0 + add sp, #0x24 + pop {r3, r4, r5, r6, pc} + nop + thumb_func_end func_ov00_0207c804 +_0207c8d0: .word data_027e0f94 +_0207c8d4: .word data_027e0d38 +_0207c8d8: .word 0x0000019a +_0207c8dc: .word data_027e0fcc +_0207c8e0: .word data_027e0f64 + + .global func_ov00_0207c8e4 + thumb_func_start func_ov00_0207c8e4 +func_ov00_0207c8e4: ; 0x0207c8e4 + push {r3, lr} + add r3, r0, #0 + mov r0, #2 + lsl r0, r0, #0x12 + str r0, [r3, #8] + str r0, [r3] + mov r0, #6 + lsl r0, r0, #0x10 + str r0, [r3, #0xc] + str r0, [r3, #4] + cmp r2, #0 + beq _0207c91a + cmp r1, #0 + bne _0207c910 + add r0, r1, #0 + add r1, r3, #0 + add r3, #0xc + add r1, #8 + add r2, r3, #0 + bl func_ov00_0207c804 + pop {r3, pc} +_0207c910: + add r0, r1, #0 + add r1, r3, #0 + add r2, r3, #4 + bl func_ov00_0207c804 +_0207c91a: + pop {r3, pc} + thumb_func_end func_ov00_0207c8e4 + + .global func_ov00_0207c91c + arm_func_start func_ov00_0207c91c +func_ov00_0207c91c: ; 0x0207c91c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + ldr r0, [r7, #0x10] + mov r6, r1 + mov r5, r2 + cmp r0, r6 + beq _0207c9d8 + subs r0, r6, r0 + rsbmi r0, r0, #0 + mov r0, r0, lsl #0xc + mov r1, r5, lsl #0xc + bl Divide + mov r4, r0 + ldr r2, [r7, #8] + cmp r4, #0x1000 + strle r2, [r7] + ble _0207c97c + ldr r0, [r7] + mov r1, r4 + sub r0, r2, r0 + bl Divide + ldr r1, [r7] + add r0, r1, r0 + str r0, [r7] +_0207c97c: + ldr r2, [r7, #0xc] + cmp r4, #0x1000 + strle r2, [r7, #4] + ble _0207c9a8 + ldr r0, [r7, #4] + mov r1, r4 + sub r0, r2, r0 + bl Divide + ldr r1, [r7, #4] + add r0, r1, r0 + str r0, [r7, #4] +_0207c9a8: + ldr r0, [r7, #0x10] + cmp r0, r6 + bge _0207c9c8 + add r0, r0, r5 + cmp r0, r6 + movge r0, r6 + str r0, [r7, #0x10] + b _0207c9d8 +_0207c9c8: + sub r0, r0, r5 + cmp r0, r6 + movle r0, r6 + str r0, [r7, #0x10] +_0207c9d8: + ldr r0, [r7, #0x10] + cmp r0, r6 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, r6, r7, pc} + ldr r1, [r7, #8] + mov r0, #1 + str r1, [r7] + ldr r1, [r7, #0xc] + str r1, [r7, #4] + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0207c91c + + .rodata + .global data_ov00_020d8798 +data_ov00_020d8798: ; 0x020d8798 + .byte 0x03 + .global data_ov00_020d8799 +data_ov00_020d8799: ; 0x020d8799 + .byte 0x03 + .global data_ov00_020d879a +data_ov00_020d879a: ; 0x020d879a + .byte 0x02 + .global data_ov00_020d879b +data_ov00_020d879b: ; 0x020d879b + .byte 0x02 + .global data_ov00_020d879c +data_ov00_020d879c: ; 0x020d879c + .byte 0x02 + .global data_ov00_020d879d +data_ov00_020d879d: ; 0x020d879d + .byte 0x01 + .global data_ov00_020d879e +data_ov00_020d879e: ; 0x020d879e + .byte 0x01 + .global data_ov00_020d879f +data_ov00_020d879f: ; 0x020d879f + .byte 0x00 + .global data_ov00_020d87a0 +data_ov00_020d87a0: ; 0x020d87a0 + .byte 0x80, 0x00, 0x00, 0x00 + .global data_ov00_020d87a4 +data_ov00_020d87a4: ; 0x020d87a4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87a8 +data_ov00_020d87a8: ; 0x020d87a8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87ac +data_ov00_020d87ac: ; 0x020d87ac + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87b0 +data_ov00_020d87b0: ; 0x020d87b0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87b4 +data_ov00_020d87b4: ; 0x020d87b4 + .byte 0x80, 0x00, 0x00, 0x00 + .global data_ov00_020d87b8 +data_ov00_020d87b8: ; 0x020d87b8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87bc +data_ov00_020d87bc: ; 0x020d87bc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87c0 +data_ov00_020d87c0: ; 0x020d87c0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87c4 +data_ov00_020d87c4: ; 0x020d87c4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87c8 +data_ov00_020d87c8: ; 0x020d87c8 + .byte 0x80, 0xff, 0xff, 0xff + .global data_ov00_020d87cc +data_ov00_020d87cc: ; 0x020d87cc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87d0 +data_ov00_020d87d0: ; 0x020d87d0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87d4 +data_ov00_020d87d4: ; 0x020d87d4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87d8 +data_ov00_020d87d8: ; 0x020d87d8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87dc +data_ov00_020d87dc: ; 0x020d87dc + .byte 0x80, 0x00, 0x00, 0x00 + .global data_ov00_020d87e0 +data_ov00_020d87e0: ; 0x020d87e0 + .byte 0x00, 0x01, 0x00, 0x00 + .global data_ov00_020d87e4 +data_ov00_020d87e4: ; 0x020d87e4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87e8 +data_ov00_020d87e8: ; 0x020d87e8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87ec +data_ov00_020d87ec: ; 0x020d87ec + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87f0 +data_ov00_020d87f0: ; 0x020d87f0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87f4 +data_ov00_020d87f4: ; 0x020d87f4 + .byte 0x00, 0x01, 0x00, 0x00 + .global data_ov00_020d87f8 +data_ov00_020d87f8: ; 0x020d87f8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87fc +data_ov00_020d87fc: ; 0x020d87fc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8800 +data_ov00_020d8800: ; 0x020d8800 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8804 +data_ov00_020d8804: ; 0x020d8804 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8808 +data_ov00_020d8808: ; 0x020d8808 + .byte 0x00, 0xff, 0xff, 0xff + .global data_ov00_020d880c +data_ov00_020d880c: ; 0x020d880c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8810 +data_ov00_020d8810: ; 0x020d8810 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8814 +data_ov00_020d8814: ; 0x020d8814 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8818 +data_ov00_020d8818: ; 0x020d8818 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d881c +data_ov00_020d881c: ; 0x020d881c + .byte 0x00, 0x01, 0x00, 0x00 + .global data_ov00_020d8820 +data_ov00_020d8820: ; 0x020d8820 + .byte 0x80, 0x01, 0x00, 0x00 + .global data_ov00_020d8824 +data_ov00_020d8824: ; 0x020d8824 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8828 +data_ov00_020d8828: ; 0x020d8828 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d882c +data_ov00_020d882c: ; 0x020d882c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8830 +data_ov00_020d8830: ; 0x020d8830 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8834 +data_ov00_020d8834: ; 0x020d8834 + .byte 0x80, 0x01, 0x00, 0x00 + .global data_ov00_020d8838 +data_ov00_020d8838: ; 0x020d8838 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d883c +data_ov00_020d883c: ; 0x020d883c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8840 +data_ov00_020d8840: ; 0x020d8840 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8844 +data_ov00_020d8844: ; 0x020d8844 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8848 +data_ov00_020d8848: ; 0x020d8848 + .byte 0x80, 0xfe, 0xff, 0xff + .global data_ov00_020d884c +data_ov00_020d884c: ; 0x020d884c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8850 +data_ov00_020d8850: ; 0x020d8850 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8854 +data_ov00_020d8854: ; 0x020d8854 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8858 +data_ov00_020d8858: ; 0x020d8858 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d885c +data_ov00_020d885c: ; 0x020d885c + .byte 0x80, 0x01, 0x00, 0x00 + .global data_ov00_020d8860 +data_ov00_020d8860: ; 0x020d8860 + .byte 0x00, 0x02, 0x00, 0x00 + .global data_ov00_020d8864 +data_ov00_020d8864: ; 0x020d8864 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8868 +data_ov00_020d8868: ; 0x020d8868 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d886c +data_ov00_020d886c: ; 0x020d886c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8870 +data_ov00_020d8870: ; 0x020d8870 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8874 +data_ov00_020d8874: ; 0x020d8874 + .byte 0x00, 0x02, 0x00, 0x00 + .global data_ov00_020d8878 +data_ov00_020d8878: ; 0x020d8878 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d887c +data_ov00_020d887c: ; 0x020d887c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8880 +data_ov00_020d8880: ; 0x020d8880 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8884 +data_ov00_020d8884: ; 0x020d8884 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8888 +data_ov00_020d8888: ; 0x020d8888 + .byte 0x00, 0xfe, 0xff, 0xff + .global data_ov00_020d888c +data_ov00_020d888c: ; 0x020d888c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8890 +data_ov00_020d8890: ; 0x020d8890 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8894 +data_ov00_020d8894: ; 0x020d8894 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8898 +data_ov00_020d8898: ; 0x020d8898 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d889c +data_ov00_020d889c: ; 0x020d889c + .byte 0x00, 0x02, 0x00, 0x00 + .global data_ov00_020d88a0 +data_ov00_020d88a0: ; 0x020d88a0 + .byte 0x00, 0x00 + .global data_ov00_020d88a2 +data_ov00_020d88a2: ; 0x020d88a2 + .byte 0x06, 0x00 + .global data_ov00_020d88a4 +data_ov00_020d88a4: ; 0x020d88a4 + .byte 0x28, 0x00 + .global data_ov00_020d88a6 +data_ov00_020d88a6: ; 0x020d88a6 + .byte 0x20, 0x00 + .global data_ov00_020d88a8 +data_ov00_020d88a8: ; 0x020d88a8 + .byte 0x20, 0x00 + .global data_ov00_020d88aa +data_ov00_020d88aa: ; 0x020d88aa + .byte 0x20, 0x00 + .global data_ov00_020d88ac +data_ov00_020d88ac: ; 0x020d88ac + .byte 0x08, 0x00 + .global data_ov00_020d88ae +data_ov00_020d88ae: ; 0x020d88ae + .byte 0x14, 0x00 + .global data_ov00_020d88b0 +data_ov00_020d88b0: ; 0x020d88b0 + .byte 0x32, 0x00 + .global data_ov00_020d88b2 +data_ov00_020d88b2: ; 0x020d88b2 + .byte 0x00, 0x00 + .global data_ov00_020d88b4 +data_ov00_020d88b4: ; 0x020d88b4 + .ascii " !*+,-6789:" + .byte 0x00 + .global data_ov00_020d88c0 +data_ov00_020d88c0: ; 0x020d88c0 + .byte 0x00 + .global data_ov00_020d88c1 +data_ov00_020d88c1: ; 0x020d88c1 + .byte 0x00 + .global data_ov00_020d88c2 +data_ov00_020d88c2: ; 0x020d88c2 + .byte 0x00 + .global data_ov00_020d88c3 +data_ov00_020d88c3: ; 0x020d88c3 + .byte 0x00 + .global data_ov00_020d88c4 +data_ov00_020d88c4: ; 0x020d88c4 + .byte 0x00 + .global data_ov00_020d88c5 +data_ov00_020d88c5: ; 0x020d88c5 + .byte 0x00 + .global data_ov00_020d88c6 +data_ov00_020d88c6: ; 0x020d88c6 + .byte 0x00 + .global data_ov00_020d88c7 +data_ov00_020d88c7: ; 0x020d88c7 + .byte 0x00 + .global data_ov00_020d88c8 +data_ov00_020d88c8: ; 0x020d88c8 + .byte 0x00 + .global data_ov00_020d88c9 +data_ov00_020d88c9: ; 0x020d88c9 + .byte 0x3b + .global data_ov00_020d88ca +data_ov00_020d88ca: ; 0x020d88ca + .byte 0x3f + .global data_ov00_020d88cb +data_ov00_020d88cb: ; 0x020d88cb + .byte 0x00 + .global data_ov00_020d88cc +data_ov00_020d88cc: ; 0x020d88cc + .byte 0x06 + .global data_ov00_020d88cd +data_ov00_020d88cd: ; 0x020d88cd + .byte 0x0c + .global data_ov00_020d88ce +data_ov00_020d88ce: ; 0x020d88ce + .byte 0x12 + .global data_ov00_020d88cf +data_ov00_020d88cf: ; 0x020d88cf + .byte 0x00 + + .section .init, 4, 1, 4 + + .global func_ov00_020df3b8 + arm_func_start func_ov00_020df3b8 +func_ov00_020df3b8: ; 0x020df3b8 + ldr ip, _020df3c4 ; =func_ov00_0207b278 + ldr r0, _020df3c8 ; =data_027e0db0 + bx ip + .align 2, 0 + arm_func_end func_ov00_020df3b8 +_020df3c4: .word func_ov00_0207b278 +_020df3c8: .word data_027e0db0 + + .global func_ov00_020df3cc + arm_func_start func_ov00_020df3cc +func_ov00_020df3cc: ; 0x020df3cc + ldr r0, _020df3dc ; =data_ov00_020e9c88 + mov r1, #0 + str r1, [r0, #0x180] + bx lr + .align 2, 0 + arm_func_end func_ov00_020df3cc +_020df3dc: .word data_ov00_020e9c88 + + .global func_ov00_020df3e0 + arm_func_start func_ov00_020df3e0 +func_ov00_020df3e0: ; 0x020df3e0 + ldr ip, _020df3ec ; =func_ov08_021136fc + ldr r0, _020df3f0 ; =data_027e0dbc + bx ip + .align 2, 0 + arm_func_end func_ov00_020df3e0 +_020df3ec: .word func_ov08_021136fc +_020df3f0: .word data_027e0dbc + + .global func_ov00_020df3f4 + arm_func_start func_ov00_020df3f4 +func_ov00_020df3f4: ; 0x020df3f4 + stmdb sp!, {r3, lr} + ldr r0, _020df414 ; =data_ov00_020e9e18 + bl func_ov08_02113730 + ldr r0, _020df414 ; =data_ov00_020e9e18 + ldr r1, _020df418 ; =func_ov00_0207bab4 + ldr r2, _020df41c ; =data_ov00_020e9e0c + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df3f4 +_020df414: .word data_ov00_020e9e18 +_020df418: .word func_ov00_0207bab4 - 1 +_020df41c: .word data_ov00_020e9e0c + + .global func_ov00_020df420 + arm_func_start func_ov00_020df420 +func_ov00_020df420: ; 0x020df420 + stmdb sp!, {r3, lr} + ldr r3, _020df450 ; =data_027e0de4 + mov r0, #0 + ldr r1, _020df454 ; =data_027e0de8 + mov r2, #0x20 + str r0, [r3] + bl func_02007938 + ldr r1, _020df458 ; =data_027e0e08 + mov r0, #0 + mov r2, #0x20 + bl func_02007938 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df420 +_020df450: .word data_027e0de4 +_020df454: .word data_027e0de8 +_020df458: .word data_027e0e08 + + .global func_ov00_020df45c + arm_func_start func_ov00_020df45c +func_ov00_020df45c: ; 0x020df45c + ldr r0, _020df46c ; =data_027e0e28 + mov r1, #0 + str r1, [r0] + bx lr + .align 2, 0 + arm_func_end func_ov00_020df45c +_020df46c: .word data_027e0e28 + + .global func_ov00_020df470 + arm_func_start func_ov00_020df470 +func_ov00_020df470: ; 0x020df470 + ldr r0, _020df49c ; =data_027e0e2c + mov r1, #0x80000 + str r1, [r0, #0x20] + str r1, [r0, #0x18] + mov r1, #0x60000 + str r1, [r0, #0x24] + str r1, [r0, #0x1c] + mov r1, #0 + ldr ip, _020df4a0 ; =func_ov00_0207bcb4 + str r1, [r0, #0x28] + bx ip + .align 2, 0 + arm_func_end func_ov00_020df470 +_020df49c: .word data_027e0e2c +_020df4a0: .word func_ov00_0207bcb4 + + .global func_ov00_020df4a4 + arm_func_start func_ov00_020df4a4 +func_ov00_020df4a4: ; 0x020df4a4 + ldr ip, _020df4b0 ; =func_ov08_02113aa8 + ldr r0, _020df4b4 ; =data_ov00_020ec7dc + bx ip + .align 2, 0 + arm_func_end func_ov00_020df4a4 +_020df4b0: .word func_ov08_02113aa8 +_020df4b4: .word data_ov00_020ec7dc + + .global func_ov00_020df4b8 + arm_func_start func_ov00_020df4b8 +func_ov00_020df4b8: ; 0x020df4b8 + ldr r0, _020df4c8 ; =data_027e0e5c + mov r1, #0 + strh r1, [r0] + bx lr + .align 2, 0 + arm_func_end func_ov00_020df4b8 +_020df4c8: .word data_027e0e5c + + .section .ctor, 4, 1, 4 + .global data_ov00_020e1e94 +data_ov00_020e1e94: ; 0x020e1e94 + .word func_ov00_020df38c + .global data_ov00_020e1e98 +data_ov00_020e1e98: ; 0x020e1e98 + .word func_ov00_020df3b8 + .global data_ov00_020e1e9c +data_ov00_020e1e9c: ; 0x020e1e9c + .word func_ov00_020df3cc + .global data_ov00_020e1ea0 +data_ov00_020e1ea0: ; 0x020e1ea0 + .word func_ov00_020df3e0 + .global data_ov00_020e1ea4 +data_ov00_020e1ea4: ; 0x020e1ea4 + .word func_ov00_020df3f4 + .global data_ov00_020e1ea8 +data_ov00_020e1ea8: ; 0x020e1ea8 + .word func_ov00_020df420 + .global data_ov00_020e1eac +data_ov00_020e1eac: ; 0x020e1eac + .word func_ov00_020df45c + .global data_ov00_020e1eb0 +data_ov00_020e1eb0: ; 0x020e1eb0 + .word func_ov00_020df470 + .global data_ov00_020e1eb4 +data_ov00_020e1eb4: ; 0x020e1eb4 + .word func_ov00_020df4a4 + .global data_ov00_020e1eb8 +data_ov00_020e1eb8: ; 0x020e1eb8 + .word func_ov00_020df4b8 + + .data + .global data_ov00_020e2044 +data_ov00_020e2044: ; 0x020e2044 + .ascii "Menu/Bg/Color0.NCLR" + .byte 0x00 + + .bss + .global data_ov00_020e9c70 +data_ov00_020e9c70: + .space 0x4 + .global data_ov00_020e9c74 +data_ov00_020e9c74: + .space 0x4 + .global data_ov00_020e9c78 +data_ov00_020e9c78: + .space 0x4 + .global data_ov00_020e9c7c +data_ov00_020e9c7c: + .space 0x4 + .global data_ov00_020e9c80 +data_ov00_020e9c80: + .space 0x4 + .global data_ov00_020e9c84 +data_ov00_020e9c84: + .space 0x4 + .global data_ov00_020e9c88 +data_ov00_020e9c88: + .space 0x4 + .global data_ov00_020e9c8c +data_ov00_020e9c8c: + .space 0x4 + .global data_ov00_020e9c90 +data_ov00_020e9c90: + .space 0x4 + .global data_ov00_020e9c94 +data_ov00_020e9c94: + .space 0x4 + .global data_ov00_020e9c98 +data_ov00_020e9c98: + .space 0x4 + .global data_ov00_020e9c9c +data_ov00_020e9c9c: + .space 0x4 + .global data_ov00_020e9ca0 +data_ov00_020e9ca0: + .space 0x4 + .global data_ov00_020e9ca4 +data_ov00_020e9ca4: + .space 0x4 + .global data_ov00_020e9ca8 +data_ov00_020e9ca8: + .space 0x4 + .global data_ov00_020e9cac +data_ov00_020e9cac: + .space 0x4 + .global data_ov00_020e9cb0 +data_ov00_020e9cb0: + .space 0x4 + .global data_ov00_020e9cb4 +data_ov00_020e9cb4: + .space 0x4 + .global data_ov00_020e9cb8 +data_ov00_020e9cb8: + .space 0x4 + .global data_ov00_020e9cbc +data_ov00_020e9cbc: + .space 0x4 + .global data_ov00_020e9cc0 +data_ov00_020e9cc0: + .space 0x4 + .global data_ov00_020e9cc4 +data_ov00_020e9cc4: + .space 0x4 + .global data_ov00_020e9cc8 +data_ov00_020e9cc8: + .space 0x4 + .global data_ov00_020e9ccc +data_ov00_020e9ccc: + .space 0x4 + .global data_ov00_020e9cd0 +data_ov00_020e9cd0: + .space 0x4 + .global data_ov00_020e9cd4 +data_ov00_020e9cd4: + .space 0x4 + .global data_ov00_020e9cd8 +data_ov00_020e9cd8: + .space 0x4 + .global data_ov00_020e9cdc +data_ov00_020e9cdc: + .space 0x4 + .global data_ov00_020e9ce0 +data_ov00_020e9ce0: + .space 0x4 + .global data_ov00_020e9ce4 +data_ov00_020e9ce4: + .space 0x4 + .global data_ov00_020e9ce8 +data_ov00_020e9ce8: + .space 0x4 + .global data_ov00_020e9cec +data_ov00_020e9cec: + .space 0x4 + .global data_ov00_020e9cf0 +data_ov00_020e9cf0: + .space 0x4 + .global data_ov00_020e9cf4 +data_ov00_020e9cf4: + .space 0x4 + .global data_ov00_020e9cf8 +data_ov00_020e9cf8: + .space 0x4 + .global data_ov00_020e9cfc +data_ov00_020e9cfc: + .space 0x4 + .global data_ov00_020e9d00 +data_ov00_020e9d00: + .space 0x4 + .global data_ov00_020e9d04 +data_ov00_020e9d04: + .space 0x4 + .global data_ov00_020e9d08 +data_ov00_020e9d08: + .space 0x4 + .global data_ov00_020e9d0c +data_ov00_020e9d0c: + .space 0x4 + .global data_ov00_020e9d10 +data_ov00_020e9d10: + .space 0x4 + .global data_ov00_020e9d14 +data_ov00_020e9d14: + .space 0x4 + .global data_ov00_020e9d18 +data_ov00_020e9d18: + .space 0x4 + .global data_ov00_020e9d1c +data_ov00_020e9d1c: + .space 0x4 + .global data_ov00_020e9d20 +data_ov00_020e9d20: + .space 0x4 + .global data_ov00_020e9d24 +data_ov00_020e9d24: + .space 0x4 + .global data_ov00_020e9d28 +data_ov00_020e9d28: + .space 0x4 + .global data_ov00_020e9d2c +data_ov00_020e9d2c: + .space 0x4 + .global data_ov00_020e9d30 +data_ov00_020e9d30: + .space 0x4 + .global data_ov00_020e9d34 +data_ov00_020e9d34: + .space 0x4 + .global data_ov00_020e9d38 +data_ov00_020e9d38: + .space 0x4 + .global data_ov00_020e9d3c +data_ov00_020e9d3c: + .space 0x4 + .global data_ov00_020e9d40 +data_ov00_020e9d40: + .space 0x4 + .global data_ov00_020e9d44 +data_ov00_020e9d44: + .space 0x4 + .global data_ov00_020e9d48 +data_ov00_020e9d48: + .space 0x4 + .global data_ov00_020e9d4c +data_ov00_020e9d4c: + .space 0x4 + .global data_ov00_020e9d50 +data_ov00_020e9d50: + .space 0x4 + .global data_ov00_020e9d54 +data_ov00_020e9d54: + .space 0x4 + .global data_ov00_020e9d58 +data_ov00_020e9d58: + .space 0x4 + .global data_ov00_020e9d5c +data_ov00_020e9d5c: + .space 0x4 + .global data_ov00_020e9d60 +data_ov00_020e9d60: + .space 0x4 + .global data_ov00_020e9d64 +data_ov00_020e9d64: + .space 0x4 + .global data_ov00_020e9d68 +data_ov00_020e9d68: + .space 0x4 + .global data_ov00_020e9d6c +data_ov00_020e9d6c: + .space 0x4 + .global data_ov00_020e9d70 +data_ov00_020e9d70: + .space 0x4 + .global data_ov00_020e9d74 +data_ov00_020e9d74: + .space 0x4 + .global data_ov00_020e9d78 +data_ov00_020e9d78: + .space 0x4 + .global data_ov00_020e9d7c +data_ov00_020e9d7c: + .space 0x4 + .global data_ov00_020e9d80 +data_ov00_020e9d80: + .space 0x4 + .global data_ov00_020e9d84 +data_ov00_020e9d84: + .space 0x4 + .global data_ov00_020e9d88 +data_ov00_020e9d88: + .space 0x4 + .global data_ov00_020e9d8c +data_ov00_020e9d8c: + .space 0x4 + .global data_ov00_020e9d90 +data_ov00_020e9d90: + .space 0x4 + .global data_ov00_020e9d94 +data_ov00_020e9d94: + .space 0x4 + .global data_ov00_020e9d98 +data_ov00_020e9d98: + .space 0x4 + .global data_ov00_020e9d9c +data_ov00_020e9d9c: + .space 0x4 + .global data_ov00_020e9da0 +data_ov00_020e9da0: + .space 0x4 + .global data_ov00_020e9da4 +data_ov00_020e9da4: + .space 0x4 + .global data_ov00_020e9da8 +data_ov00_020e9da8: + .space 0x4 + .global data_ov00_020e9dac +data_ov00_020e9dac: + .space 0x4 + .global data_ov00_020e9db0 +data_ov00_020e9db0: + .space 0x4 + .global data_ov00_020e9db4 +data_ov00_020e9db4: + .space 0x4 + .global data_ov00_020e9db8 +data_ov00_020e9db8: + .space 0x4 + .global data_ov00_020e9dbc +data_ov00_020e9dbc: + .space 0x4 + .global data_ov00_020e9dc0 +data_ov00_020e9dc0: + .space 0x4 + .global data_ov00_020e9dc4 +data_ov00_020e9dc4: + .space 0x4 + .global data_ov00_020e9dc8 +data_ov00_020e9dc8: + .space 0x4 + .global data_ov00_020e9dcc +data_ov00_020e9dcc: + .space 0x4 + .global data_ov00_020e9dd0 +data_ov00_020e9dd0: + .space 0x4 + .global data_ov00_020e9dd4 +data_ov00_020e9dd4: + .space 0x4 + .global data_ov00_020e9dd8 +data_ov00_020e9dd8: + .space 0x4 + .global data_ov00_020e9ddc +data_ov00_020e9ddc: + .space 0x4 + .global data_ov00_020e9de0 +data_ov00_020e9de0: + .space 0x4 + .global data_ov00_020e9de4 +data_ov00_020e9de4: + .space 0x4 + .global data_ov00_020e9de8 +data_ov00_020e9de8: + .space 0x4 + .global data_ov00_020e9dec +data_ov00_020e9dec: + .space 0x4 + .global data_ov00_020e9df0 +data_ov00_020e9df0: + .space 0x4 + .global data_ov00_020e9df4 +data_ov00_020e9df4: + .space 0x4 + .global data_ov00_020e9df8 +data_ov00_020e9df8: + .space 0x4 + .global data_ov00_020e9dfc +data_ov00_020e9dfc: + .space 0x4 + .global data_ov00_020e9e00 +data_ov00_020e9e00: + .space 0x4 + .global data_ov00_020e9e04 +data_ov00_020e9e04: + .space 0x4 + .global data_ov00_020e9e08 +data_ov00_020e9e08: + .space 0x4 + .global data_ov00_020e9e0c +data_ov00_020e9e0c: + .space 0x4 + .global data_ov00_020e9e10 +data_ov00_020e9e10: + .space 0x4 + .global data_ov00_020e9e14 +data_ov00_020e9e14: + .space 0x4 + .global data_ov00_020e9e18 +data_ov00_020e9e18: + .space 0x4 + .global data_ov00_020e9e1c +data_ov00_020e9e1c: + .space 0x4 + .global data_ov00_020e9e20 +data_ov00_020e9e20: + .space 0x4 + .global data_ov00_020e9e24 +data_ov00_020e9e24: + .space 0x4 + .global data_ov00_020e9e28 +data_ov00_020e9e28: + .space 0x4 + .global data_ov00_020e9e2c +data_ov00_020e9e2c: + .space 0x4 + .global data_ov00_020e9e30 +data_ov00_020e9e30: + .space 0x4 + .global data_ov00_020e9e34 +data_ov00_020e9e34: + .space 0x4 + .global data_ov00_020e9e38 +data_ov00_020e9e38: + .space 0x4 + .global data_ov00_020e9e3c +data_ov00_020e9e3c: + .space 0x4 + .global data_ov00_020e9e40 +data_ov00_020e9e40: + .space 0x4 + .global data_ov00_020e9e44 +data_ov00_020e9e44: + .space 0x4 + .global data_ov00_020e9e48 +data_ov00_020e9e48: + .space 0x4 + .global data_ov00_020e9e4c +data_ov00_020e9e4c: + .space 0x4 + .global data_ov00_020e9e50 +data_ov00_020e9e50: + .space 0x4 + .global data_ov00_020e9e54 +data_ov00_020e9e54: + .space 0x4 + .global data_ov00_020e9e58 +data_ov00_020e9e58: + .space 0x4 + .global data_ov00_020e9e5c +data_ov00_020e9e5c: + .space 0x4 + .global data_ov00_020e9e60 +data_ov00_020e9e60: + .space 0x4 + .global data_ov00_020e9e64 +data_ov00_020e9e64: + .space 0x4 + .global data_ov00_020e9e68 +data_ov00_020e9e68: + .space 0x4 + .global data_ov00_020e9e6c +data_ov00_020e9e6c: + .space 0x4 + .global data_ov00_020e9e70 +data_ov00_020e9e70: + .space 0x4 + .global data_ov00_020e9e74 +data_ov00_020e9e74: + .space 0x4 + .global data_ov00_020e9e78 +data_ov00_020e9e78: + .space 0x4 + .global data_ov00_020e9e7c +data_ov00_020e9e7c: + .space 0x4 + .global data_ov00_020e9e80 +data_ov00_020e9e80: + .space 0x4 + .global data_ov00_020e9e84 +data_ov00_020e9e84: + .space 0x4 + .global data_ov00_020e9e88 +data_ov00_020e9e88: + .space 0x4 + .global data_ov00_020e9e8c +data_ov00_020e9e8c: + .space 0x4 + .global data_ov00_020e9e90 +data_ov00_020e9e90: + .space 0x4 + .global data_ov00_020e9e94 +data_ov00_020e9e94: + .space 0x4 + .global data_ov00_020e9e98 +data_ov00_020e9e98: + .space 0x4 + .global data_ov00_020e9e9c +data_ov00_020e9e9c: + .space 0x4 + .global data_ov00_020e9ea0 +data_ov00_020e9ea0: + .space 0x4 + .global data_ov00_020e9ea4 +data_ov00_020e9ea4: + .space 0x4 + .global data_ov00_020e9ea8 +data_ov00_020e9ea8: + .space 0x4 + .global data_ov00_020e9eac +data_ov00_020e9eac: + .space 0x4 + .global data_ov00_020e9eb0 +data_ov00_020e9eb0: + .space 0x4 + .global data_ov00_020e9eb4 +data_ov00_020e9eb4: + .space 0x4 + .global data_ov00_020e9eb8 +data_ov00_020e9eb8: + .space 0x4 + .global data_ov00_020e9ebc +data_ov00_020e9ebc: + .space 0x4 + .global data_ov00_020e9ec0 +data_ov00_020e9ec0: + .space 0x4 + .global data_ov00_020e9ec4 +data_ov00_020e9ec4: + .space 0x4 + .global data_ov00_020e9ec8 +data_ov00_020e9ec8: + .space 0x4 + .global data_ov00_020e9ecc +data_ov00_020e9ecc: + .space 0x4 + .global data_ov00_020e9ed0 +data_ov00_020e9ed0: + .space 0x4 + .global data_ov00_020e9ed4 +data_ov00_020e9ed4: + .space 0x4 + .global data_ov00_020e9ed8 +data_ov00_020e9ed8: + .space 0x4 + .global data_ov00_020e9edc +data_ov00_020e9edc: + .space 0x4 + .global data_ov00_020e9ee0 +data_ov00_020e9ee0: + .space 0x4 + .global data_ov00_020e9ee4 +data_ov00_020e9ee4: + .space 0x4 + .global data_ov00_020e9ee8 +data_ov00_020e9ee8: + .space 0x4 + .global data_ov00_020e9eec +data_ov00_020e9eec: + .space 0x4 + .global data_ov00_020e9ef0 +data_ov00_020e9ef0: + .space 0x4 + .global data_ov00_020e9ef4 +data_ov00_020e9ef4: + .space 0x4 + .global data_ov00_020e9ef8 +data_ov00_020e9ef8: + .space 0x4 + .global data_ov00_020e9efc +data_ov00_020e9efc: + .space 0x4 + .global data_ov00_020e9f00 +data_ov00_020e9f00: + .space 0x4 + .global data_ov00_020e9f04 +data_ov00_020e9f04: + .space 0x4 + .global data_ov00_020e9f08 +data_ov00_020e9f08: + .space 0x4 + .global data_ov00_020e9f0c +data_ov00_020e9f0c: + .space 0x4 + .global data_ov00_020e9f10 +data_ov00_020e9f10: + .space 0x4 + .global data_ov00_020e9f14 +data_ov00_020e9f14: + .space 0x4 + .global data_ov00_020e9f18 +data_ov00_020e9f18: + .space 0x4 + .global data_ov00_020e9f1c +data_ov00_020e9f1c: + .space 0x4 + .global data_ov00_020e9f20 +data_ov00_020e9f20: + .space 0x4 + .global data_ov00_020e9f24 +data_ov00_020e9f24: + .space 0x4 + .global data_ov00_020e9f28 +data_ov00_020e9f28: + .space 0x4 + .global data_ov00_020e9f2c +data_ov00_020e9f2c: + .space 0x4 + .global data_ov00_020e9f30 +data_ov00_020e9f30: + .space 0x4 + .global data_ov00_020e9f34 +data_ov00_020e9f34: + .space 0x4 + .global data_ov00_020e9f38 +data_ov00_020e9f38: + .space 0x4 + .global data_ov00_020e9f3c +data_ov00_020e9f3c: + .space 0x4 + .global data_ov00_020e9f40 +data_ov00_020e9f40: + .space 0x4 + .global data_ov00_020e9f44 +data_ov00_020e9f44: + .space 0x4 + .global data_ov00_020e9f48 +data_ov00_020e9f48: + .space 0x4 + .global data_ov00_020e9f4c +data_ov00_020e9f4c: + .space 0x4 + .global data_ov00_020e9f50 +data_ov00_020e9f50: + .space 0x4 + .global data_ov00_020e9f54 +data_ov00_020e9f54: + .space 0x4 + .global data_ov00_020e9f58 +data_ov00_020e9f58: + .space 0x4 + .global data_ov00_020e9f5c +data_ov00_020e9f5c: + .space 0x4 + .global data_ov00_020e9f60 +data_ov00_020e9f60: + .space 0x4 + .global data_ov00_020e9f64 +data_ov00_020e9f64: + .space 0x4 + .global data_ov00_020e9f68 +data_ov00_020e9f68: + .space 0x4 + .global data_ov00_020e9f6c +data_ov00_020e9f6c: + .space 0x4 + .global data_ov00_020e9f70 +data_ov00_020e9f70: + .space 0x4 + .global data_ov00_020e9f74 +data_ov00_020e9f74: + .space 0x4 + .global data_ov00_020e9f78 +data_ov00_020e9f78: + .space 0x4 + .global data_ov00_020e9f7c +data_ov00_020e9f7c: + .space 0x4 + .global data_ov00_020e9f80 +data_ov00_020e9f80: + .space 0x4 + .global data_ov00_020e9f84 +data_ov00_020e9f84: + .space 0x4 + .global data_ov00_020e9f88 +data_ov00_020e9f88: + .space 0x4 + .global data_ov00_020e9f8c +data_ov00_020e9f8c: + .space 0x4 + .global data_ov00_020e9f90 +data_ov00_020e9f90: + .space 0x4 + .global data_ov00_020e9f94 +data_ov00_020e9f94: + .space 0x4 + .global data_ov00_020e9f98 +data_ov00_020e9f98: + .space 0x4 + .global data_ov00_020e9f9c +data_ov00_020e9f9c: + .space 0x4 + .global data_ov00_020e9fa0 +data_ov00_020e9fa0: + .space 0x4 + .global data_ov00_020e9fa4 +data_ov00_020e9fa4: + .space 0x4 + .global data_ov00_020e9fa8 +data_ov00_020e9fa8: + .space 0x4 + .global data_ov00_020e9fac +data_ov00_020e9fac: + .space 0x4 + .global data_ov00_020e9fb0 +data_ov00_020e9fb0: + .space 0x4 + .global data_ov00_020e9fb4 +data_ov00_020e9fb4: + .space 0x4 + .global data_ov00_020e9fb8 +data_ov00_020e9fb8: + .space 0x4 + .global data_ov00_020e9fbc +data_ov00_020e9fbc: + .space 0x4 + .global data_ov00_020e9fc0 +data_ov00_020e9fc0: + .space 0x4 + .global data_ov00_020e9fc4 +data_ov00_020e9fc4: + .space 0x4 + .global data_ov00_020e9fc8 +data_ov00_020e9fc8: + .space 0x4 + .global data_ov00_020e9fcc +data_ov00_020e9fcc: + .space 0x4 + .global data_ov00_020e9fd0 +data_ov00_020e9fd0: + .space 0x4 + .global data_ov00_020e9fd4 +data_ov00_020e9fd4: + .space 0x4 + .global data_ov00_020e9fd8 +data_ov00_020e9fd8: + .space 0x4 + .global data_ov00_020e9fdc +data_ov00_020e9fdc: + .space 0x4 + .global data_ov00_020e9fe0 +data_ov00_020e9fe0: + .space 0x4 + .global data_ov00_020e9fe4 +data_ov00_020e9fe4: + .space 0x4 + .global data_ov00_020e9fe8 +data_ov00_020e9fe8: + .space 0x4 + .global data_ov00_020e9fec +data_ov00_020e9fec: + .space 0x4 + .global data_ov00_020e9ff0 +data_ov00_020e9ff0: + .space 0x4 + .global data_ov00_020e9ff4 +data_ov00_020e9ff4: + .space 0x4 + .global data_ov00_020e9ff8 +data_ov00_020e9ff8: + .space 0x4 + .global data_ov00_020e9ffc +data_ov00_020e9ffc: + .space 0x4 + .global data_ov00_020ea000 +data_ov00_020ea000: + .space 0x4 + .global data_ov00_020ea004 +data_ov00_020ea004: + .space 0x4 + .global data_ov00_020ea008 +data_ov00_020ea008: + .space 0x4 + .global data_ov00_020ea00c +data_ov00_020ea00c: + .space 0x4 + .global data_ov00_020ea010 +data_ov00_020ea010: + .space 0x4 + .global data_ov00_020ea014 +data_ov00_020ea014: + .space 0x4 + .global data_ov00_020ea018 +data_ov00_020ea018: + .space 0x4 + .global data_ov00_020ea01c +data_ov00_020ea01c: + .space 0x4 + .global data_ov00_020ea020 +data_ov00_020ea020: + .space 0x4 + .global data_ov00_020ea024 +data_ov00_020ea024: + .space 0x4 + .global data_ov00_020ea028 +data_ov00_020ea028: + .space 0x4 + .global data_ov00_020ea02c +data_ov00_020ea02c: + .space 0x4 + .global data_ov00_020ea030 +data_ov00_020ea030: + .space 0x4 + .global data_ov00_020ea034 +data_ov00_020ea034: + .space 0x4 + .global data_ov00_020ea038 +data_ov00_020ea038: + .space 0x4 + .global data_ov00_020ea03c +data_ov00_020ea03c: + .space 0x4 + .global data_ov00_020ea040 +data_ov00_020ea040: + .space 0x4 + .global data_ov00_020ea044 +data_ov00_020ea044: + .space 0x4 + .global data_ov00_020ea048 +data_ov00_020ea048: + .space 0x4 + .global data_ov00_020ea04c +data_ov00_020ea04c: + .space 0x4 + .global data_ov00_020ea050 +data_ov00_020ea050: + .space 0x4 + .global data_ov00_020ea054 +data_ov00_020ea054: + .space 0x4 + .global data_ov00_020ea058 +data_ov00_020ea058: + .space 0x4 + .global data_ov00_020ea05c +data_ov00_020ea05c: + .space 0x4 + .global data_ov00_020ea060 +data_ov00_020ea060: + .space 0x4 + .global data_ov00_020ea064 +data_ov00_020ea064: + .space 0x4 + .global data_ov00_020ea068 +data_ov00_020ea068: + .space 0x4 + .global data_ov00_020ea06c +data_ov00_020ea06c: + .space 0x4 + .global data_ov00_020ea070 +data_ov00_020ea070: + .space 0x4 + .global data_ov00_020ea074 +data_ov00_020ea074: + .space 0x4 + .global data_ov00_020ea078 +data_ov00_020ea078: + .space 0x4 + .global data_ov00_020ea07c +data_ov00_020ea07c: + .space 0x4 + .global data_ov00_020ea080 +data_ov00_020ea080: + .space 0x4 + .global data_ov00_020ea084 +data_ov00_020ea084: + .space 0x4 + .global data_ov00_020ea088 +data_ov00_020ea088: + .space 0x4 + .global data_ov00_020ea08c +data_ov00_020ea08c: + .space 0x4 + .global data_ov00_020ea090 +data_ov00_020ea090: + .space 0x4 + .global data_ov00_020ea094 +data_ov00_020ea094: + .space 0x4 + .global data_ov00_020ea098 +data_ov00_020ea098: + .space 0x4 + .global data_ov00_020ea09c +data_ov00_020ea09c: + .space 0x4 + .global data_ov00_020ea0a0 +data_ov00_020ea0a0: + .space 0x4 + .global data_ov00_020ea0a4 +data_ov00_020ea0a4: + .space 0x4 + .global data_ov00_020ea0a8 +data_ov00_020ea0a8: + .space 0x4 + .global data_ov00_020ea0ac +data_ov00_020ea0ac: + .space 0x4 + .global data_ov00_020ea0b0 +data_ov00_020ea0b0: + .space 0x4 + .global data_ov00_020ea0b4 +data_ov00_020ea0b4: + .space 0x4 + .global data_ov00_020ea0b8 +data_ov00_020ea0b8: + .space 0x4 + .global data_ov00_020ea0bc +data_ov00_020ea0bc: + .space 0x4 + .global data_ov00_020ea0c0 +data_ov00_020ea0c0: + .space 0x4 + .global data_ov00_020ea0c4 +data_ov00_020ea0c4: + .space 0x4 + .global data_ov00_020ea0c8 +data_ov00_020ea0c8: + .space 0x4 + .global data_ov00_020ea0cc +data_ov00_020ea0cc: + .space 0x4 + .global data_ov00_020ea0d0 +data_ov00_020ea0d0: + .space 0x4 + .global data_ov00_020ea0d4 +data_ov00_020ea0d4: + .space 0x4 + .global data_ov00_020ea0d8 +data_ov00_020ea0d8: + .space 0x4 + .global data_ov00_020ea0dc +data_ov00_020ea0dc: + .space 0x4 + .global data_ov00_020ea0e0 +data_ov00_020ea0e0: + .space 0x4 + .global data_ov00_020ea0e4 +data_ov00_020ea0e4: + .space 0x4 + .global data_ov00_020ea0e8 +data_ov00_020ea0e8: + .space 0x4 + .global data_ov00_020ea0ec +data_ov00_020ea0ec: + .space 0x4 + .global data_ov00_020ea0f0 +data_ov00_020ea0f0: + .space 0x4 + .global data_ov00_020ea0f4 +data_ov00_020ea0f4: + .space 0x4 + .global data_ov00_020ea0f8 +data_ov00_020ea0f8: + .space 0x4 + .global data_ov00_020ea0fc +data_ov00_020ea0fc: + .space 0x4 + .global data_ov00_020ea100 +data_ov00_020ea100: + .space 0x4 + .global data_ov00_020ea104 +data_ov00_020ea104: + .space 0x4 + .global data_ov00_020ea108 +data_ov00_020ea108: + .space 0x4 + .global data_ov00_020ea10c +data_ov00_020ea10c: + .space 0x4 + .global data_ov00_020ea110 +data_ov00_020ea110: + .space 0x4 + .global data_ov00_020ea114 +data_ov00_020ea114: + .space 0x4 + .global data_ov00_020ea118 +data_ov00_020ea118: + .space 0x4 + .global data_ov00_020ea11c +data_ov00_020ea11c: + .space 0x4 + .global data_ov00_020ea120 +data_ov00_020ea120: + .space 0x4 + .global data_ov00_020ea124 +data_ov00_020ea124: + .space 0x4 + .global data_ov00_020ea128 +data_ov00_020ea128: + .space 0x4 + .global data_ov00_020ea12c +data_ov00_020ea12c: + .space 0x4 + .global data_ov00_020ea130 +data_ov00_020ea130: + .space 0x4 + .global data_ov00_020ea134 +data_ov00_020ea134: + .space 0x4 + .global data_ov00_020ea138 +data_ov00_020ea138: + .space 0x4 + .global data_ov00_020ea13c +data_ov00_020ea13c: + .space 0x4 + .global data_ov00_020ea140 +data_ov00_020ea140: + .space 0x4 + .global data_ov00_020ea144 +data_ov00_020ea144: + .space 0x4 + .global data_ov00_020ea148 +data_ov00_020ea148: + .space 0x4 + .global data_ov00_020ea14c +data_ov00_020ea14c: + .space 0x4 + .global data_ov00_020ea150 +data_ov00_020ea150: + .space 0x4 + .global data_ov00_020ea154 +data_ov00_020ea154: + .space 0x4 + .global data_ov00_020ea158 +data_ov00_020ea158: + .space 0x4 + .global data_ov00_020ea15c +data_ov00_020ea15c: + .space 0x4 + .global data_ov00_020ea160 +data_ov00_020ea160: + .space 0x4 + .global data_ov00_020ea164 +data_ov00_020ea164: + .space 0x4 + .global data_ov00_020ea168 +data_ov00_020ea168: + .space 0x4 + .global data_ov00_020ea16c +data_ov00_020ea16c: + .space 0x4 + .global data_ov00_020ea170 +data_ov00_020ea170: + .space 0x4 + .global data_ov00_020ea174 +data_ov00_020ea174: + .space 0x4 + .global data_ov00_020ea178 +data_ov00_020ea178: + .space 0x4 + .global data_ov00_020ea17c +data_ov00_020ea17c: + .space 0x4 + .global data_ov00_020ea180 +data_ov00_020ea180: + .space 0x4 + .global data_ov00_020ea184 +data_ov00_020ea184: + .space 0x4 + .global data_ov00_020ea188 +data_ov00_020ea188: + .space 0x4 + .global data_ov00_020ea18c +data_ov00_020ea18c: + .space 0x4 + .global data_ov00_020ea190 +data_ov00_020ea190: + .space 0x4 + .global data_ov00_020ea194 +data_ov00_020ea194: + .space 0x4 + .global data_ov00_020ea198 +data_ov00_020ea198: + .space 0x4 + .global data_ov00_020ea19c +data_ov00_020ea19c: + .space 0x4 + .global data_ov00_020ea1a0 +data_ov00_020ea1a0: + .space 0x4 + .global data_ov00_020ea1a4 +data_ov00_020ea1a4: + .space 0x4 + .global data_ov00_020ea1a8 +data_ov00_020ea1a8: + .space 0x4 + .global data_ov00_020ea1ac +data_ov00_020ea1ac: + .space 0x4 + .global data_ov00_020ea1b0 +data_ov00_020ea1b0: + .space 0x4 + .global data_ov00_020ea1b4 +data_ov00_020ea1b4: + .space 0x4 + .global data_ov00_020ea1b8 +data_ov00_020ea1b8: + .space 0x4 + .global data_ov00_020ea1bc +data_ov00_020ea1bc: + .space 0x4 + .global data_ov00_020ea1c0 +data_ov00_020ea1c0: + .space 0x4 + .global data_ov00_020ea1c4 +data_ov00_020ea1c4: + .space 0x4 + .global data_ov00_020ea1c8 +data_ov00_020ea1c8: + .space 0x4 + .global data_ov00_020ea1cc +data_ov00_020ea1cc: + .space 0x4 + .global data_ov00_020ea1d0 +data_ov00_020ea1d0: + .space 0x4 + .global data_ov00_020ea1d4 +data_ov00_020ea1d4: + .space 0x4 + .global data_ov00_020ea1d8 +data_ov00_020ea1d8: + .space 0x4 + .global data_ov00_020ea1dc +data_ov00_020ea1dc: + .space 0x4 + .global data_ov00_020ea1e0 +data_ov00_020ea1e0: + .space 0x4 + .global data_ov00_020ea1e4 +data_ov00_020ea1e4: + .space 0x4 + .global data_ov00_020ea1e8 +data_ov00_020ea1e8: + .space 0x4 + .global data_ov00_020ea1ec +data_ov00_020ea1ec: + .space 0x4 + .global data_ov00_020ea1f0 +data_ov00_020ea1f0: + .space 0x4 + .global data_ov00_020ea1f4 +data_ov00_020ea1f4: + .space 0x4 + .global data_ov00_020ea1f8 +data_ov00_020ea1f8: + .space 0x4 + .global data_ov00_020ea1fc +data_ov00_020ea1fc: + .space 0x4 + .global data_ov00_020ea200 +data_ov00_020ea200: + .space 0x4 + .global data_ov00_020ea204 +data_ov00_020ea204: + .space 0x4 + .global data_ov00_020ea208 +data_ov00_020ea208: + .space 0x4 + .global data_ov00_020ea20c +data_ov00_020ea20c: + .space 0x4 + .global data_ov00_020ea210 +data_ov00_020ea210: + .space 0x4 + .global data_ov00_020ea214 +data_ov00_020ea214: + .space 0x4 + .global data_ov00_020ea218 +data_ov00_020ea218: + .space 0x4 + .global data_ov00_020ea21c +data_ov00_020ea21c: + .space 0x4 + .global data_ov00_020ea220 +data_ov00_020ea220: + .space 0x4 + .global data_ov00_020ea224 +data_ov00_020ea224: + .space 0x4 + .global data_ov00_020ea228 +data_ov00_020ea228: + .space 0x4 + .global data_ov00_020ea22c +data_ov00_020ea22c: + .space 0x4 + .global data_ov00_020ea230 +data_ov00_020ea230: + .space 0x4 + .global data_ov00_020ea234 +data_ov00_020ea234: + .space 0x4 + .global data_ov00_020ea238 +data_ov00_020ea238: + .space 0x4 + .global data_ov00_020ea23c +data_ov00_020ea23c: + .space 0x4 + .global data_ov00_020ea240 +data_ov00_020ea240: + .space 0x4 + .global data_ov00_020ea244 +data_ov00_020ea244: + .space 0x4 + .global data_ov00_020ea248 +data_ov00_020ea248: + .space 0x4 + .global data_ov00_020ea24c +data_ov00_020ea24c: + .space 0x4 + .global data_ov00_020ea250 +data_ov00_020ea250: + .space 0x4 + .global data_ov00_020ea254 +data_ov00_020ea254: + .space 0x4 + .global data_ov00_020ea258 +data_ov00_020ea258: + .space 0x4 + .global data_ov00_020ea25c +data_ov00_020ea25c: + .space 0x4 + .global data_ov00_020ea260 +data_ov00_020ea260: + .space 0x4 + .global data_ov00_020ea264 +data_ov00_020ea264: + .space 0x4 + .global data_ov00_020ea268 +data_ov00_020ea268: + .space 0x4 + .global data_ov00_020ea26c +data_ov00_020ea26c: + .space 0x4 + .global data_ov00_020ea270 +data_ov00_020ea270: + .space 0x4 + .global data_ov00_020ea274 +data_ov00_020ea274: + .space 0x4 + .global data_ov00_020ea278 +data_ov00_020ea278: + .space 0x4 + .global data_ov00_020ea27c +data_ov00_020ea27c: + .space 0x4 + .global data_ov00_020ea280 +data_ov00_020ea280: + .space 0x4 + .global data_ov00_020ea284 +data_ov00_020ea284: + .space 0x4 + .global data_ov00_020ea288 +data_ov00_020ea288: + .space 0x4 + .global data_ov00_020ea28c +data_ov00_020ea28c: + .space 0x4 + .global data_ov00_020ea290 +data_ov00_020ea290: + .space 0x4 + .global data_ov00_020ea294 +data_ov00_020ea294: + .space 0x4 + .global data_ov00_020ea298 +data_ov00_020ea298: + .space 0x4 + .global data_ov00_020ea29c +data_ov00_020ea29c: + .space 0x4 + .global data_ov00_020ea2a0 +data_ov00_020ea2a0: + .space 0x4 + .global data_ov00_020ea2a4 +data_ov00_020ea2a4: + .space 0x4 + .global data_ov00_020ea2a8 +data_ov00_020ea2a8: + .space 0x4 + .global data_ov00_020ea2ac +data_ov00_020ea2ac: + .space 0x4 + .global data_ov00_020ea2b0 +data_ov00_020ea2b0: + .space 0x4 + .global data_ov00_020ea2b4 +data_ov00_020ea2b4: + .space 0x4 + .global data_ov00_020ea2b8 +data_ov00_020ea2b8: + .space 0x4 + .global data_ov00_020ea2bc +data_ov00_020ea2bc: + .space 0x4 + .global data_ov00_020ea2c0 +data_ov00_020ea2c0: + .space 0x4 + .global data_ov00_020ea2c4 +data_ov00_020ea2c4: + .space 0x4 + .global data_ov00_020ea2c8 +data_ov00_020ea2c8: + .space 0x4 + .global data_ov00_020ea2cc +data_ov00_020ea2cc: + .space 0x4 + .global data_ov00_020ea2d0 +data_ov00_020ea2d0: + .space 0x4 + .global data_ov00_020ea2d4 +data_ov00_020ea2d4: + .space 0x4 + .global data_ov00_020ea2d8 +data_ov00_020ea2d8: + .space 0x4 + .global data_ov00_020ea2dc +data_ov00_020ea2dc: + .space 0x4 + .global data_ov00_020ea2e0 +data_ov00_020ea2e0: + .space 0x4 + .global data_ov00_020ea2e4 +data_ov00_020ea2e4: + .space 0x4 + .global data_ov00_020ea2e8 +data_ov00_020ea2e8: + .space 0x4 + .global data_ov00_020ea2ec +data_ov00_020ea2ec: + .space 0x4 + .global data_ov00_020ea2f0 +data_ov00_020ea2f0: + .space 0x4 + .global data_ov00_020ea2f4 +data_ov00_020ea2f4: + .space 0x4 + .global data_ov00_020ea2f8 +data_ov00_020ea2f8: + .space 0x4 + .global data_ov00_020ea2fc +data_ov00_020ea2fc: + .space 0x4 + .global data_ov00_020ea300 +data_ov00_020ea300: + .space 0x4 + .global data_ov00_020ea304 +data_ov00_020ea304: + .space 0x4 + .global data_ov00_020ea308 +data_ov00_020ea308: + .space 0x4 + .global data_ov00_020ea30c +data_ov00_020ea30c: + .space 0x4 + .global data_ov00_020ea310 +data_ov00_020ea310: + .space 0x4 + .global data_ov00_020ea314 +data_ov00_020ea314: + .space 0x4 + .global data_ov00_020ea318 +data_ov00_020ea318: + .space 0x4 + .global data_ov00_020ea31c +data_ov00_020ea31c: + .space 0x4 + .global data_ov00_020ea320 +data_ov00_020ea320: + .space 0x4 + .global data_ov00_020ea324 +data_ov00_020ea324: + .space 0x4 + .global data_ov00_020ea328 +data_ov00_020ea328: + .space 0x4 + .global data_ov00_020ea32c +data_ov00_020ea32c: + .space 0x4 + .global data_ov00_020ea330 +data_ov00_020ea330: + .space 0x4 + .global data_ov00_020ea334 +data_ov00_020ea334: + .space 0x4 + .global data_ov00_020ea338 +data_ov00_020ea338: + .space 0x4 + .global data_ov00_020ea33c +data_ov00_020ea33c: + .space 0x4 + .global data_ov00_020ea340 +data_ov00_020ea340: + .space 0x4 + .global data_ov00_020ea344 +data_ov00_020ea344: + .space 0x4 + .global data_ov00_020ea348 +data_ov00_020ea348: + .space 0x4 + .global data_ov00_020ea34c +data_ov00_020ea34c: + .space 0x4 + .global data_ov00_020ea350 +data_ov00_020ea350: + .space 0x4 + .global data_ov00_020ea354 +data_ov00_020ea354: + .space 0x4 + .global data_ov00_020ea358 +data_ov00_020ea358: + .space 0x4 + .global data_ov00_020ea35c +data_ov00_020ea35c: + .space 0x4 + .global data_ov00_020ea360 +data_ov00_020ea360: + .space 0x4 + .global data_ov00_020ea364 +data_ov00_020ea364: + .space 0x4 + .global data_ov00_020ea368 +data_ov00_020ea368: + .space 0x4 + .global data_ov00_020ea36c +data_ov00_020ea36c: + .space 0x4 + .global data_ov00_020ea370 +data_ov00_020ea370: + .space 0x4 + .global data_ov00_020ea374 +data_ov00_020ea374: + .space 0x4 + .global data_ov00_020ea378 +data_ov00_020ea378: + .space 0x4 + .global data_ov00_020ea37c +data_ov00_020ea37c: + .space 0x4 + .global data_ov00_020ea380 +data_ov00_020ea380: + .space 0x4 + .global data_ov00_020ea384 +data_ov00_020ea384: + .space 0x4 + .global data_ov00_020ea388 +data_ov00_020ea388: + .space 0x4 + .global data_ov00_020ea38c +data_ov00_020ea38c: + .space 0x4 + .global data_ov00_020ea390 +data_ov00_020ea390: + .space 0x4 + .global data_ov00_020ea394 +data_ov00_020ea394: + .space 0x4 + .global data_ov00_020ea398 +data_ov00_020ea398: + .space 0x4 + .global data_ov00_020ea39c +data_ov00_020ea39c: + .space 0x4 + .global data_ov00_020ea3a0 +data_ov00_020ea3a0: + .space 0x4 + .global data_ov00_020ea3a4 +data_ov00_020ea3a4: + .space 0x4 + .global data_ov00_020ea3a8 +data_ov00_020ea3a8: + .space 0x4 + .global data_ov00_020ea3ac +data_ov00_020ea3ac: + .space 0x4 + .global data_ov00_020ea3b0 +data_ov00_020ea3b0: + .space 0x4 + .global data_ov00_020ea3b4 +data_ov00_020ea3b4: + .space 0x4 + .global data_ov00_020ea3b8 +data_ov00_020ea3b8: + .space 0x4 + .global data_ov00_020ea3bc +data_ov00_020ea3bc: + .space 0x4 + .global data_ov00_020ea3c0 +data_ov00_020ea3c0: + .space 0x4 + .global data_ov00_020ea3c4 +data_ov00_020ea3c4: + .space 0x4 + .global data_ov00_020ea3c8 +data_ov00_020ea3c8: + .space 0x4 + .global data_ov00_020ea3cc +data_ov00_020ea3cc: + .space 0x4 + .global data_ov00_020ea3d0 +data_ov00_020ea3d0: + .space 0x4 + .global data_ov00_020ea3d4 +data_ov00_020ea3d4: + .space 0x4 + .global data_ov00_020ea3d8 +data_ov00_020ea3d8: + .space 0x4 + .global data_ov00_020ea3dc +data_ov00_020ea3dc: + .space 0x4 + .global data_ov00_020ea3e0 +data_ov00_020ea3e0: + .space 0x4 + .global data_ov00_020ea3e4 +data_ov00_020ea3e4: + .space 0x4 + .global data_ov00_020ea3e8 +data_ov00_020ea3e8: + .space 0x4 + .global data_ov00_020ea3ec +data_ov00_020ea3ec: + .space 0x4 + .global data_ov00_020ea3f0 +data_ov00_020ea3f0: + .space 0x4 + .global data_ov00_020ea3f4 +data_ov00_020ea3f4: + .space 0x4 + .global data_ov00_020ea3f8 +data_ov00_020ea3f8: + .space 0x4 + .global data_ov00_020ea3fc +data_ov00_020ea3fc: + .space 0x4 + .global data_ov00_020ea400 +data_ov00_020ea400: + .space 0x4 + .global data_ov00_020ea404 +data_ov00_020ea404: + .space 0x4 + .global data_ov00_020ea408 +data_ov00_020ea408: + .space 0x4 + .global data_ov00_020ea40c +data_ov00_020ea40c: + .space 0x4 + .global data_ov00_020ea410 +data_ov00_020ea410: + .space 0x4 + .global data_ov00_020ea414 +data_ov00_020ea414: + .space 0x4 + .global data_ov00_020ea418 +data_ov00_020ea418: + .space 0x4 + .global data_ov00_020ea41c +data_ov00_020ea41c: + .space 0x4 + .global data_ov00_020ea420 +data_ov00_020ea420: + .space 0x4 + .global data_ov00_020ea424 +data_ov00_020ea424: + .space 0x4 + .global data_ov00_020ea428 +data_ov00_020ea428: + .space 0x4 + .global data_ov00_020ea42c +data_ov00_020ea42c: + .space 0x4 + .global data_ov00_020ea430 +data_ov00_020ea430: + .space 0x4 + .global data_ov00_020ea434 +data_ov00_020ea434: + .space 0x4 + .global data_ov00_020ea438 +data_ov00_020ea438: + .space 0x4 + .global data_ov00_020ea43c +data_ov00_020ea43c: + .space 0x4 + .global data_ov00_020ea440 +data_ov00_020ea440: + .space 0x4 + .global data_ov00_020ea444 +data_ov00_020ea444: + .space 0x4 + .global data_ov00_020ea448 +data_ov00_020ea448: + .space 0x4 + .global data_ov00_020ea44c +data_ov00_020ea44c: + .space 0x4 + .global data_ov00_020ea450 +data_ov00_020ea450: + .space 0x4 + .global data_ov00_020ea454 +data_ov00_020ea454: + .space 0x4 + .global data_ov00_020ea458 +data_ov00_020ea458: + .space 0x4 + .global data_ov00_020ea45c +data_ov00_020ea45c: + .space 0x4 + .global data_ov00_020ea460 +data_ov00_020ea460: + .space 0x4 + .global data_ov00_020ea464 +data_ov00_020ea464: + .space 0x4 + .global data_ov00_020ea468 +data_ov00_020ea468: + .space 0x4 + .global data_ov00_020ea46c +data_ov00_020ea46c: + .space 0x4 + .global data_ov00_020ea470 +data_ov00_020ea470: + .space 0x4 + .global data_ov00_020ea474 +data_ov00_020ea474: + .space 0x4 + .global data_ov00_020ea478 +data_ov00_020ea478: + .space 0x4 + .global data_ov00_020ea47c +data_ov00_020ea47c: + .space 0x4 + .global data_ov00_020ea480 +data_ov00_020ea480: + .space 0x4 + .global data_ov00_020ea484 +data_ov00_020ea484: + .space 0x4 + .global data_ov00_020ea488 +data_ov00_020ea488: + .space 0x4 + .global data_ov00_020ea48c +data_ov00_020ea48c: + .space 0x4 + .global data_ov00_020ea490 +data_ov00_020ea490: + .space 0x4 + .global data_ov00_020ea494 +data_ov00_020ea494: + .space 0x4 + .global data_ov00_020ea498 +data_ov00_020ea498: + .space 0x4 + .global data_ov00_020ea49c +data_ov00_020ea49c: + .space 0x4 + .global data_ov00_020ea4a0 +data_ov00_020ea4a0: + .space 0x4 + .global data_ov00_020ea4a4 +data_ov00_020ea4a4: + .space 0x4 + .global data_ov00_020ea4a8 +data_ov00_020ea4a8: + .space 0x4 + .global data_ov00_020ea4ac +data_ov00_020ea4ac: + .space 0x4 + .global data_ov00_020ea4b0 +data_ov00_020ea4b0: + .space 0x4 + .global data_ov00_020ea4b4 +data_ov00_020ea4b4: + .space 0x4 + .global data_ov00_020ea4b8 +data_ov00_020ea4b8: + .space 0x4 + .global data_ov00_020ea4bc +data_ov00_020ea4bc: + .space 0x4 + .global data_ov00_020ea4c0 +data_ov00_020ea4c0: + .space 0x4 + .global data_ov00_020ea4c4 +data_ov00_020ea4c4: + .space 0x4 + .global data_ov00_020ea4c8 +data_ov00_020ea4c8: + .space 0x4 + .global data_ov00_020ea4cc +data_ov00_020ea4cc: + .space 0x4 + .global data_ov00_020ea4d0 +data_ov00_020ea4d0: + .space 0x4 + .global data_ov00_020ea4d4 +data_ov00_020ea4d4: + .space 0x4 + .global data_ov00_020ea4d8 +data_ov00_020ea4d8: + .space 0x4 + .global data_ov00_020ea4dc +data_ov00_020ea4dc: + .space 0x4 + .global data_ov00_020ea4e0 +data_ov00_020ea4e0: + .space 0x4 + .global data_ov00_020ea4e4 +data_ov00_020ea4e4: + .space 0x4 + .global data_ov00_020ea4e8 +data_ov00_020ea4e8: + .space 0x4 + .global data_ov00_020ea4ec +data_ov00_020ea4ec: + .space 0x4 + .global data_ov00_020ea4f0 +data_ov00_020ea4f0: + .space 0x4 + .global data_ov00_020ea4f4 +data_ov00_020ea4f4: + .space 0x4 + .global data_ov00_020ea4f8 +data_ov00_020ea4f8: + .space 0x4 + .global data_ov00_020ea4fc +data_ov00_020ea4fc: + .space 0x4 + .global data_ov00_020ea500 +data_ov00_020ea500: + .space 0x4 + .global data_ov00_020ea504 +data_ov00_020ea504: + .space 0x4 + .global data_ov00_020ea508 +data_ov00_020ea508: + .space 0x4 + .global data_ov00_020ea50c +data_ov00_020ea50c: + .space 0x4 + .global data_ov00_020ea510 +data_ov00_020ea510: + .space 0x4 + .global data_ov00_020ea514 +data_ov00_020ea514: + .space 0x4 + .global data_ov00_020ea518 +data_ov00_020ea518: + .space 0x4 + .global data_ov00_020ea51c +data_ov00_020ea51c: + .space 0x4 + .global data_ov00_020ea520 +data_ov00_020ea520: + .space 0x4 + .global data_ov00_020ea524 +data_ov00_020ea524: + .space 0x4 + .global data_ov00_020ea528 +data_ov00_020ea528: + .space 0x4 + .global data_ov00_020ea52c +data_ov00_020ea52c: + .space 0x4 + .global data_ov00_020ea530 +data_ov00_020ea530: + .space 0x4 + .global data_ov00_020ea534 +data_ov00_020ea534: + .space 0x4 + .global data_ov00_020ea538 +data_ov00_020ea538: + .space 0x4 + .global data_ov00_020ea53c +data_ov00_020ea53c: + .space 0x4 + .global data_ov00_020ea540 +data_ov00_020ea540: + .space 0x4 + .global data_ov00_020ea544 +data_ov00_020ea544: + .space 0x4 + .global data_ov00_020ea548 +data_ov00_020ea548: + .space 0x4 + .global data_ov00_020ea54c +data_ov00_020ea54c: + .space 0x4 + .global data_ov00_020ea550 +data_ov00_020ea550: + .space 0x4 + .global data_ov00_020ea554 +data_ov00_020ea554: + .space 0x4 + .global data_ov00_020ea558 +data_ov00_020ea558: + .space 0x4 + .global data_ov00_020ea55c +data_ov00_020ea55c: + .space 0x4 + .global data_ov00_020ea560 +data_ov00_020ea560: + .space 0x4 + .global data_ov00_020ea564 +data_ov00_020ea564: + .space 0x4 + .global data_ov00_020ea568 +data_ov00_020ea568: + .space 0x4 + .global data_ov00_020ea56c +data_ov00_020ea56c: + .space 0x4 + .global data_ov00_020ea570 +data_ov00_020ea570: + .space 0x4 + .global data_ov00_020ea574 +data_ov00_020ea574: + .space 0x4 + .global data_ov00_020ea578 +data_ov00_020ea578: + .space 0x4 + .global data_ov00_020ea57c +data_ov00_020ea57c: + .space 0x4 + .global data_ov00_020ea580 +data_ov00_020ea580: + .space 0x4 + .global data_ov00_020ea584 +data_ov00_020ea584: + .space 0x4 + .global data_ov00_020ea588 +data_ov00_020ea588: + .space 0x4 + .global data_ov00_020ea58c +data_ov00_020ea58c: + .space 0x4 + .global data_ov00_020ea590 +data_ov00_020ea590: + .space 0x4 + .global data_ov00_020ea594 +data_ov00_020ea594: + .space 0x4 + .global data_ov00_020ea598 +data_ov00_020ea598: + .space 0x4 + .global data_ov00_020ea59c +data_ov00_020ea59c: + .space 0x4 + .global data_ov00_020ea5a0 +data_ov00_020ea5a0: + .space 0x4 + .global data_ov00_020ea5a4 +data_ov00_020ea5a4: + .space 0x4 + .global data_ov00_020ea5a8 +data_ov00_020ea5a8: + .space 0x4 + .global data_ov00_020ea5ac +data_ov00_020ea5ac: + .space 0x4 + .global data_ov00_020ea5b0 +data_ov00_020ea5b0: + .space 0x4 + .global data_ov00_020ea5b4 +data_ov00_020ea5b4: + .space 0x4 + .global data_ov00_020ea5b8 +data_ov00_020ea5b8: + .space 0x4 + .global data_ov00_020ea5bc +data_ov00_020ea5bc: + .space 0x4 + .global data_ov00_020ea5c0 +data_ov00_020ea5c0: + .space 0x4 + .global data_ov00_020ea5c4 +data_ov00_020ea5c4: + .space 0x4 + .global data_ov00_020ea5c8 +data_ov00_020ea5c8: + .space 0x4 + .global data_ov00_020ea5cc +data_ov00_020ea5cc: + .space 0x4 + .global data_ov00_020ea5d0 +data_ov00_020ea5d0: + .space 0x4 + .global data_ov00_020ea5d4 +data_ov00_020ea5d4: + .space 0x4 + .global data_ov00_020ea5d8 +data_ov00_020ea5d8: + .space 0x4 + .global data_ov00_020ea5dc +data_ov00_020ea5dc: + .space 0x4 + .global data_ov00_020ea5e0 +data_ov00_020ea5e0: + .space 0x4 + .global data_ov00_020ea5e4 +data_ov00_020ea5e4: + .space 0x4 + .global data_ov00_020ea5e8 +data_ov00_020ea5e8: + .space 0x4 + .global data_ov00_020ea5ec +data_ov00_020ea5ec: + .space 0x4 + .global data_ov00_020ea5f0 +data_ov00_020ea5f0: + .space 0x4 + .global data_ov00_020ea5f4 +data_ov00_020ea5f4: + .space 0x4 + .global data_ov00_020ea5f8 +data_ov00_020ea5f8: + .space 0x4 + .global data_ov00_020ea5fc +data_ov00_020ea5fc: + .space 0x4 + .global data_ov00_020ea600 +data_ov00_020ea600: + .space 0x4 + .global data_ov00_020ea604 +data_ov00_020ea604: + .space 0x4 + .global data_ov00_020ea608 +data_ov00_020ea608: + .space 0x4 + .global data_ov00_020ea60c +data_ov00_020ea60c: + .space 0x4 + .global data_ov00_020ea610 +data_ov00_020ea610: + .space 0x4 + .global data_ov00_020ea614 +data_ov00_020ea614: + .space 0x4 + .global data_ov00_020ea618 +data_ov00_020ea618: + .space 0x4 + .global data_ov00_020ea61c +data_ov00_020ea61c: + .space 0x4 + .global data_ov00_020ea620 +data_ov00_020ea620: + .space 0x4 + .global data_ov00_020ea624 +data_ov00_020ea624: + .space 0x4 + .global data_ov00_020ea628 +data_ov00_020ea628: + .space 0x4 + .global data_ov00_020ea62c +data_ov00_020ea62c: + .space 0x4 + .global data_ov00_020ea630 +data_ov00_020ea630: + .space 0x4 + .global data_ov00_020ea634 +data_ov00_020ea634: + .space 0x4 + .global data_ov00_020ea638 +data_ov00_020ea638: + .space 0x4 + .global data_ov00_020ea63c +data_ov00_020ea63c: + .space 0x4 + .global data_ov00_020ea640 +data_ov00_020ea640: + .space 0x4 + .global data_ov00_020ea644 +data_ov00_020ea644: + .space 0x4 + .global data_ov00_020ea648 +data_ov00_020ea648: + .space 0x4 + .global data_ov00_020ea64c +data_ov00_020ea64c: + .space 0x4 + .global data_ov00_020ea650 +data_ov00_020ea650: + .space 0x4 + .global data_ov00_020ea654 +data_ov00_020ea654: + .space 0x4 + .global data_ov00_020ea658 +data_ov00_020ea658: + .space 0x4 + .global data_ov00_020ea65c +data_ov00_020ea65c: + .space 0x4 + .global data_ov00_020ea660 +data_ov00_020ea660: + .space 0x4 + .global data_ov00_020ea664 +data_ov00_020ea664: + .space 0x4 + .global data_ov00_020ea668 +data_ov00_020ea668: + .space 0x4 + .global data_ov00_020ea66c +data_ov00_020ea66c: + .space 0x4 + .global data_ov00_020ea670 +data_ov00_020ea670: + .space 0x4 + .global data_ov00_020ea674 +data_ov00_020ea674: + .space 0x4 + .global data_ov00_020ea678 +data_ov00_020ea678: + .space 0x4 + .global data_ov00_020ea67c +data_ov00_020ea67c: + .space 0x4 + .global data_ov00_020ea680 +data_ov00_020ea680: + .space 0x4 + .global data_ov00_020ea684 +data_ov00_020ea684: + .space 0x4 + .global data_ov00_020ea688 +data_ov00_020ea688: + .space 0x4 + .global data_ov00_020ea68c +data_ov00_020ea68c: + .space 0x4 + .global data_ov00_020ea690 +data_ov00_020ea690: + .space 0x4 + .global data_ov00_020ea694 +data_ov00_020ea694: + .space 0x4 + .global data_ov00_020ea698 +data_ov00_020ea698: + .space 0x4 + .global data_ov00_020ea69c +data_ov00_020ea69c: + .space 0x4 + .global data_ov00_020ea6a0 +data_ov00_020ea6a0: + .space 0x4 + .global data_ov00_020ea6a4 +data_ov00_020ea6a4: + .space 0x4 + .global data_ov00_020ea6a8 +data_ov00_020ea6a8: + .space 0x4 + .global data_ov00_020ea6ac +data_ov00_020ea6ac: + .space 0x4 + .global data_ov00_020ea6b0 +data_ov00_020ea6b0: + .space 0x4 + .global data_ov00_020ea6b4 +data_ov00_020ea6b4: + .space 0x4 + .global data_ov00_020ea6b8 +data_ov00_020ea6b8: + .space 0x4 + .global data_ov00_020ea6bc +data_ov00_020ea6bc: + .space 0x4 + .global data_ov00_020ea6c0 +data_ov00_020ea6c0: + .space 0x4 + .global data_ov00_020ea6c4 +data_ov00_020ea6c4: + .space 0x4 + .global data_ov00_020ea6c8 +data_ov00_020ea6c8: + .space 0x4 + .global data_ov00_020ea6cc +data_ov00_020ea6cc: + .space 0x4 + .global data_ov00_020ea6d0 +data_ov00_020ea6d0: + .space 0x4 + .global data_ov00_020ea6d4 +data_ov00_020ea6d4: + .space 0x4 + .global data_ov00_020ea6d8 +data_ov00_020ea6d8: + .space 0x4 + .global data_ov00_020ea6dc +data_ov00_020ea6dc: + .space 0x4 + .global data_ov00_020ea6e0 +data_ov00_020ea6e0: + .space 0x4 + .global data_ov00_020ea6e4 +data_ov00_020ea6e4: + .space 0x4 + .global data_ov00_020ea6e8 +data_ov00_020ea6e8: + .space 0x4 + .global data_ov00_020ea6ec +data_ov00_020ea6ec: + .space 0x4 + .global data_ov00_020ea6f0 +data_ov00_020ea6f0: + .space 0x4 + .global data_ov00_020ea6f4 +data_ov00_020ea6f4: + .space 0x4 + .global data_ov00_020ea6f8 +data_ov00_020ea6f8: + .space 0x4 + .global data_ov00_020ea6fc +data_ov00_020ea6fc: + .space 0x4 + .global data_ov00_020ea700 +data_ov00_020ea700: + .space 0x4 + .global data_ov00_020ea704 +data_ov00_020ea704: + .space 0x4 + .global data_ov00_020ea708 +data_ov00_020ea708: + .space 0x4 + .global data_ov00_020ea70c +data_ov00_020ea70c: + .space 0x4 + .global data_ov00_020ea710 +data_ov00_020ea710: + .space 0x4 + .global data_ov00_020ea714 +data_ov00_020ea714: + .space 0x4 + .global data_ov00_020ea718 +data_ov00_020ea718: + .space 0x4 + .global data_ov00_020ea71c +data_ov00_020ea71c: + .space 0x4 + .global data_ov00_020ea720 +data_ov00_020ea720: + .space 0x4 + .global data_ov00_020ea724 +data_ov00_020ea724: + .space 0x4 + .global data_ov00_020ea728 +data_ov00_020ea728: + .space 0x4 + .global data_ov00_020ea72c +data_ov00_020ea72c: + .space 0x4 + .global data_ov00_020ea730 +data_ov00_020ea730: + .space 0x4 + .global data_ov00_020ea734 +data_ov00_020ea734: + .space 0x4 + .global data_ov00_020ea738 +data_ov00_020ea738: + .space 0x4 + .global data_ov00_020ea73c +data_ov00_020ea73c: + .space 0x4 + .global data_ov00_020ea740 +data_ov00_020ea740: + .space 0x4 + .global data_ov00_020ea744 +data_ov00_020ea744: + .space 0x4 + .global data_ov00_020ea748 +data_ov00_020ea748: + .space 0x4 + .global data_ov00_020ea74c +data_ov00_020ea74c: + .space 0x4 + .global data_ov00_020ea750 +data_ov00_020ea750: + .space 0x4 + .global data_ov00_020ea754 +data_ov00_020ea754: + .space 0x4 + .global data_ov00_020ea758 +data_ov00_020ea758: + .space 0x4 + .global data_ov00_020ea75c +data_ov00_020ea75c: + .space 0x4 + .global data_ov00_020ea760 +data_ov00_020ea760: + .space 0x4 + .global data_ov00_020ea764 +data_ov00_020ea764: + .space 0x4 + .global data_ov00_020ea768 +data_ov00_020ea768: + .space 0x4 + .global data_ov00_020ea76c +data_ov00_020ea76c: + .space 0x4 + .global data_ov00_020ea770 +data_ov00_020ea770: + .space 0x4 + .global data_ov00_020ea774 +data_ov00_020ea774: + .space 0x4 + .global data_ov00_020ea778 +data_ov00_020ea778: + .space 0x4 + .global data_ov00_020ea77c +data_ov00_020ea77c: + .space 0x4 + .global data_ov00_020ea780 +data_ov00_020ea780: + .space 0x4 + .global data_ov00_020ea784 +data_ov00_020ea784: + .space 0x4 + .global data_ov00_020ea788 +data_ov00_020ea788: + .space 0x4 + .global data_ov00_020ea78c +data_ov00_020ea78c: + .space 0x4 + .global data_ov00_020ea790 +data_ov00_020ea790: + .space 0x4 + .global data_ov00_020ea794 +data_ov00_020ea794: + .space 0x4 + .global data_ov00_020ea798 +data_ov00_020ea798: + .space 0x4 + .global data_ov00_020ea79c +data_ov00_020ea79c: + .space 0x4 + .global data_ov00_020ea7a0 +data_ov00_020ea7a0: + .space 0x4 + .global data_ov00_020ea7a4 +data_ov00_020ea7a4: + .space 0x4 + .global data_ov00_020ea7a8 +data_ov00_020ea7a8: + .space 0x4 + .global data_ov00_020ea7ac +data_ov00_020ea7ac: + .space 0x4 + .global data_ov00_020ea7b0 +data_ov00_020ea7b0: + .space 0x4 + .global data_ov00_020ea7b4 +data_ov00_020ea7b4: + .space 0x4 + .global data_ov00_020ea7b8 +data_ov00_020ea7b8: + .space 0x4 + .global data_ov00_020ea7bc +data_ov00_020ea7bc: + .space 0x4 + .global data_ov00_020ea7c0 +data_ov00_020ea7c0: + .space 0x4 + .global data_ov00_020ea7c4 +data_ov00_020ea7c4: + .space 0x4 + .global data_ov00_020ea7c8 +data_ov00_020ea7c8: + .space 0x4 + .global data_ov00_020ea7cc +data_ov00_020ea7cc: + .space 0x4 + .global data_ov00_020ea7d0 +data_ov00_020ea7d0: + .space 0x4 + .global data_ov00_020ea7d4 +data_ov00_020ea7d4: + .space 0x4 + .global data_ov00_020ea7d8 +data_ov00_020ea7d8: + .space 0x4 + .global data_ov00_020ea7dc +data_ov00_020ea7dc: + .space 0x4 + .global data_ov00_020ea7e0 +data_ov00_020ea7e0: + .space 0x4 + .global data_ov00_020ea7e4 +data_ov00_020ea7e4: + .space 0x4 + .global data_ov00_020ea7e8 +data_ov00_020ea7e8: + .space 0x4 + .global data_ov00_020ea7ec +data_ov00_020ea7ec: + .space 0x4 + .global data_ov00_020ea7f0 +data_ov00_020ea7f0: + .space 0x4 + .global data_ov00_020ea7f4 +data_ov00_020ea7f4: + .space 0x4 + .global data_ov00_020ea7f8 +data_ov00_020ea7f8: + .space 0x4 + .global data_ov00_020ea7fc +data_ov00_020ea7fc: + .space 0x4 + .global data_ov00_020ea800 +data_ov00_020ea800: + .space 0x4 + .global data_ov00_020ea804 +data_ov00_020ea804: + .space 0x4 + .global data_ov00_020ea808 +data_ov00_020ea808: + .space 0x4 + .global data_ov00_020ea80c +data_ov00_020ea80c: + .space 0x4 + .global data_ov00_020ea810 +data_ov00_020ea810: + .space 0x4 + .global data_ov00_020ea814 +data_ov00_020ea814: + .space 0x4 + .global data_ov00_020ea818 +data_ov00_020ea818: + .space 0x4 + .global data_ov00_020ea81c +data_ov00_020ea81c: + .space 0x4 + .global data_ov00_020ea820 +data_ov00_020ea820: + .space 0x4 + .global data_ov00_020ea824 +data_ov00_020ea824: + .space 0x4 + .global data_ov00_020ea828 +data_ov00_020ea828: + .space 0x4 + .global data_ov00_020ea82c +data_ov00_020ea82c: + .space 0x4 + .global data_ov00_020ea830 +data_ov00_020ea830: + .space 0x4 + .global data_ov00_020ea834 +data_ov00_020ea834: + .space 0x4 + .global data_ov00_020ea838 +data_ov00_020ea838: + .space 0x4 + .global data_ov00_020ea83c +data_ov00_020ea83c: + .space 0x4 + .global data_ov00_020ea840 +data_ov00_020ea840: + .space 0x4 + .global data_ov00_020ea844 +data_ov00_020ea844: + .space 0x4 + .global data_ov00_020ea848 +data_ov00_020ea848: + .space 0x4 + .global data_ov00_020ea84c +data_ov00_020ea84c: + .space 0x4 + .global data_ov00_020ea850 +data_ov00_020ea850: + .space 0x4 + .global data_ov00_020ea854 +data_ov00_020ea854: + .space 0x4 + .global data_ov00_020ea858 +data_ov00_020ea858: + .space 0x4 + .global data_ov00_020ea85c +data_ov00_020ea85c: + .space 0x4 + .global data_ov00_020ea860 +data_ov00_020ea860: + .space 0x4 + .global data_ov00_020ea864 +data_ov00_020ea864: + .space 0x4 + .global data_ov00_020ea868 +data_ov00_020ea868: + .space 0x4 + .global data_ov00_020ea86c +data_ov00_020ea86c: + .space 0x4 + .global data_ov00_020ea870 +data_ov00_020ea870: + .space 0x4 + .global data_ov00_020ea874 +data_ov00_020ea874: + .space 0x4 + .global data_ov00_020ea878 +data_ov00_020ea878: + .space 0x4 + .global data_ov00_020ea87c +data_ov00_020ea87c: + .space 0x4 + .global data_ov00_020ea880 +data_ov00_020ea880: + .space 0x4 + .global data_ov00_020ea884 +data_ov00_020ea884: + .space 0x4 + .global data_ov00_020ea888 +data_ov00_020ea888: + .space 0x4 + .global data_ov00_020ea88c +data_ov00_020ea88c: + .space 0x4 + .global data_ov00_020ea890 +data_ov00_020ea890: + .space 0x4 + .global data_ov00_020ea894 +data_ov00_020ea894: + .space 0x4 + .global data_ov00_020ea898 +data_ov00_020ea898: + .space 0x4 + .global data_ov00_020ea89c +data_ov00_020ea89c: + .space 0x4 + .global data_ov00_020ea8a0 +data_ov00_020ea8a0: + .space 0x4 + .global data_ov00_020ea8a4 +data_ov00_020ea8a4: + .space 0x4 + .global data_ov00_020ea8a8 +data_ov00_020ea8a8: + .space 0x4 + .global data_ov00_020ea8ac +data_ov00_020ea8ac: + .space 0x4 + .global data_ov00_020ea8b0 +data_ov00_020ea8b0: + .space 0x4 + .global data_ov00_020ea8b4 +data_ov00_020ea8b4: + .space 0x4 + .global data_ov00_020ea8b8 +data_ov00_020ea8b8: + .space 0x4 + .global data_ov00_020ea8bc +data_ov00_020ea8bc: + .space 0x4 + .global data_ov00_020ea8c0 +data_ov00_020ea8c0: + .space 0x4 + .global data_ov00_020ea8c4 +data_ov00_020ea8c4: + .space 0x4 + .global data_ov00_020ea8c8 +data_ov00_020ea8c8: + .space 0x4 + .global data_ov00_020ea8cc +data_ov00_020ea8cc: + .space 0x4 + .global data_ov00_020ea8d0 +data_ov00_020ea8d0: + .space 0x4 + .global data_ov00_020ea8d4 +data_ov00_020ea8d4: + .space 0x4 + .global data_ov00_020ea8d8 +data_ov00_020ea8d8: + .space 0x4 + .global data_ov00_020ea8dc +data_ov00_020ea8dc: + .space 0x4 + .global data_ov00_020ea8e0 +data_ov00_020ea8e0: + .space 0x4 + .global data_ov00_020ea8e4 +data_ov00_020ea8e4: + .space 0x4 + .global data_ov00_020ea8e8 +data_ov00_020ea8e8: + .space 0x4 + .global data_ov00_020ea8ec +data_ov00_020ea8ec: + .space 0x4 + .global data_ov00_020ea8f0 +data_ov00_020ea8f0: + .space 0x4 + .global data_ov00_020ea8f4 +data_ov00_020ea8f4: + .space 0x4 + .global data_ov00_020ea8f8 +data_ov00_020ea8f8: + .space 0x4 + .global data_ov00_020ea8fc +data_ov00_020ea8fc: + .space 0x4 + .global data_ov00_020ea900 +data_ov00_020ea900: + .space 0x4 + .global data_ov00_020ea904 +data_ov00_020ea904: + .space 0x4 + .global data_ov00_020ea908 +data_ov00_020ea908: + .space 0x4 + .global data_ov00_020ea90c +data_ov00_020ea90c: + .space 0x4 + .global data_ov00_020ea910 +data_ov00_020ea910: + .space 0x4 + .global data_ov00_020ea914 +data_ov00_020ea914: + .space 0x4 + .global data_ov00_020ea918 +data_ov00_020ea918: + .space 0x4 + .global data_ov00_020ea91c +data_ov00_020ea91c: + .space 0x4 + .global data_ov00_020ea920 +data_ov00_020ea920: + .space 0x4 + .global data_ov00_020ea924 +data_ov00_020ea924: + .space 0x4 + .global data_ov00_020ea928 +data_ov00_020ea928: + .space 0x4 + .global data_ov00_020ea92c +data_ov00_020ea92c: + .space 0x4 + .global data_ov00_020ea930 +data_ov00_020ea930: + .space 0x4 + .global data_ov00_020ea934 +data_ov00_020ea934: + .space 0x4 + .global data_ov00_020ea938 +data_ov00_020ea938: + .space 0x4 + .global data_ov00_020ea93c +data_ov00_020ea93c: + .space 0x4 + .global data_ov00_020ea940 +data_ov00_020ea940: + .space 0x4 + .global data_ov00_020ea944 +data_ov00_020ea944: + .space 0x4 + .global data_ov00_020ea948 +data_ov00_020ea948: + .space 0x4 + .global data_ov00_020ea94c +data_ov00_020ea94c: + .space 0x4 + .global data_ov00_020ea950 +data_ov00_020ea950: + .space 0x4 + .global data_ov00_020ea954 +data_ov00_020ea954: + .space 0x4 + .global data_ov00_020ea958 +data_ov00_020ea958: + .space 0x4 + .global data_ov00_020ea95c +data_ov00_020ea95c: + .space 0x4 + .global data_ov00_020ea960 +data_ov00_020ea960: + .space 0x4 + .global data_ov00_020ea964 +data_ov00_020ea964: + .space 0x4 + .global data_ov00_020ea968 +data_ov00_020ea968: + .space 0x4 + .global data_ov00_020ea96c +data_ov00_020ea96c: + .space 0x4 + .global data_ov00_020ea970 +data_ov00_020ea970: + .space 0x4 + .global data_ov00_020ea974 +data_ov00_020ea974: + .space 0x4 + .global data_ov00_020ea978 +data_ov00_020ea978: + .space 0x4 + .global data_ov00_020ea97c +data_ov00_020ea97c: + .space 0x4 + .global data_ov00_020ea980 +data_ov00_020ea980: + .space 0x4 + .global data_ov00_020ea984 +data_ov00_020ea984: + .space 0x4 + .global data_ov00_020ea988 +data_ov00_020ea988: + .space 0x4 + .global data_ov00_020ea98c +data_ov00_020ea98c: + .space 0x4 + .global data_ov00_020ea990 +data_ov00_020ea990: + .space 0x4 + .global data_ov00_020ea994 +data_ov00_020ea994: + .space 0x4 + .global data_ov00_020ea998 +data_ov00_020ea998: + .space 0x4 + .global data_ov00_020ea99c +data_ov00_020ea99c: + .space 0x4 + .global data_ov00_020ea9a0 +data_ov00_020ea9a0: + .space 0x4 + .global data_ov00_020ea9a4 +data_ov00_020ea9a4: + .space 0x4 + .global data_ov00_020ea9a8 +data_ov00_020ea9a8: + .space 0x4 + .global data_ov00_020ea9ac +data_ov00_020ea9ac: + .space 0x4 + .global data_ov00_020ea9b0 +data_ov00_020ea9b0: + .space 0x4 + .global data_ov00_020ea9b4 +data_ov00_020ea9b4: + .space 0x4 + .global data_ov00_020ea9b8 +data_ov00_020ea9b8: + .space 0x4 + .global data_ov00_020ea9bc +data_ov00_020ea9bc: + .space 0x4 + .global data_ov00_020ea9c0 +data_ov00_020ea9c0: + .space 0x4 + .global data_ov00_020ea9c4 +data_ov00_020ea9c4: + .space 0x4 + .global data_ov00_020ea9c8 +data_ov00_020ea9c8: + .space 0x4 + .global data_ov00_020ea9cc +data_ov00_020ea9cc: + .space 0x4 + .global data_ov00_020ea9d0 +data_ov00_020ea9d0: + .space 0x4 + .global data_ov00_020ea9d4 +data_ov00_020ea9d4: + .space 0x4 + .global data_ov00_020ea9d8 +data_ov00_020ea9d8: + .space 0x4 + .global data_ov00_020ea9dc +data_ov00_020ea9dc: + .space 0x4 + .global data_ov00_020ea9e0 +data_ov00_020ea9e0: + .space 0x4 + .global data_ov00_020ea9e4 +data_ov00_020ea9e4: + .space 0x4 + .global data_ov00_020ea9e8 +data_ov00_020ea9e8: + .space 0x4 + .global data_ov00_020ea9ec +data_ov00_020ea9ec: + .space 0x4 + .global data_ov00_020ea9f0 +data_ov00_020ea9f0: + .space 0x4 + .global data_ov00_020ea9f4 +data_ov00_020ea9f4: + .space 0x4 + .global data_ov00_020ea9f8 +data_ov00_020ea9f8: + .space 0x4 + .global data_ov00_020ea9fc +data_ov00_020ea9fc: + .space 0x4 + .global data_ov00_020eaa00 +data_ov00_020eaa00: + .space 0x4 + .global data_ov00_020eaa04 +data_ov00_020eaa04: + .space 0x4 + .global data_ov00_020eaa08 +data_ov00_020eaa08: + .space 0x4 + .global data_ov00_020eaa0c +data_ov00_020eaa0c: + .space 0x4 + .global data_ov00_020eaa10 +data_ov00_020eaa10: + .space 0x4 + .global data_ov00_020eaa14 +data_ov00_020eaa14: + .space 0x4 + .global data_ov00_020eaa18 +data_ov00_020eaa18: + .space 0x4 + .global data_ov00_020eaa1c +data_ov00_020eaa1c: + .space 0x4 + .global data_ov00_020eaa20 +data_ov00_020eaa20: + .space 0x4 + .global data_ov00_020eaa24 +data_ov00_020eaa24: + .space 0x4 + .global data_ov00_020eaa28 +data_ov00_020eaa28: + .space 0x4 + .global data_ov00_020eaa2c +data_ov00_020eaa2c: + .space 0x4 + .global data_ov00_020eaa30 +data_ov00_020eaa30: + .space 0x4 + .global data_ov00_020eaa34 +data_ov00_020eaa34: + .space 0x4 + .global data_ov00_020eaa38 +data_ov00_020eaa38: + .space 0x4 + .global data_ov00_020eaa3c +data_ov00_020eaa3c: + .space 0x4 + .global data_ov00_020eaa40 +data_ov00_020eaa40: + .space 0x4 + .global data_ov00_020eaa44 +data_ov00_020eaa44: + .space 0x4 + .global data_ov00_020eaa48 +data_ov00_020eaa48: + .space 0x4 + .global data_ov00_020eaa4c +data_ov00_020eaa4c: + .space 0x4 + .global data_ov00_020eaa50 +data_ov00_020eaa50: + .space 0x4 + .global data_ov00_020eaa54 +data_ov00_020eaa54: + .space 0x4 + .global data_ov00_020eaa58 +data_ov00_020eaa58: + .space 0x4 + .global data_ov00_020eaa5c +data_ov00_020eaa5c: + .space 0x4 + .global data_ov00_020eaa60 +data_ov00_020eaa60: + .space 0x4 + .global data_ov00_020eaa64 +data_ov00_020eaa64: + .space 0x4 + .global data_ov00_020eaa68 +data_ov00_020eaa68: + .space 0x4 + .global data_ov00_020eaa6c +data_ov00_020eaa6c: + .space 0x4 + .global data_ov00_020eaa70 +data_ov00_020eaa70: + .space 0x4 + .global data_ov00_020eaa74 +data_ov00_020eaa74: + .space 0x4 + .global data_ov00_020eaa78 +data_ov00_020eaa78: + .space 0x4 + .global data_ov00_020eaa7c +data_ov00_020eaa7c: + .space 0x4 + .global data_ov00_020eaa80 +data_ov00_020eaa80: + .space 0x4 + .global data_ov00_020eaa84 +data_ov00_020eaa84: + .space 0x4 + .global data_ov00_020eaa88 +data_ov00_020eaa88: + .space 0x4 + .global data_ov00_020eaa8c +data_ov00_020eaa8c: + .space 0x4 + .global data_ov00_020eaa90 +data_ov00_020eaa90: + .space 0x4 + .global data_ov00_020eaa94 +data_ov00_020eaa94: + .space 0x4 + .global data_ov00_020eaa98 +data_ov00_020eaa98: + .space 0x4 + .global data_ov00_020eaa9c +data_ov00_020eaa9c: + .space 0x4 + .global data_ov00_020eaaa0 +data_ov00_020eaaa0: + .space 0x4 + .global data_ov00_020eaaa4 +data_ov00_020eaaa4: + .space 0x4 + .global data_ov00_020eaaa8 +data_ov00_020eaaa8: + .space 0x4 + .global data_ov00_020eaaac +data_ov00_020eaaac: + .space 0x4 + .global data_ov00_020eaab0 +data_ov00_020eaab0: + .space 0x4 + .global data_ov00_020eaab4 +data_ov00_020eaab4: + .space 0x4 + .global data_ov00_020eaab8 +data_ov00_020eaab8: + .space 0x4 + .global data_ov00_020eaabc +data_ov00_020eaabc: + .space 0x4 + .global data_ov00_020eaac0 +data_ov00_020eaac0: + .space 0x4 + + .sbss + .global data_ov00_020ec718 +data_ov00_020ec718: + .space 0x3c + .global data_ov00_020ec754 +data_ov00_020ec754: + .space 0x4 + .global data_ov00_020ec758 +data_ov00_020ec758: + .space 0x40 + .global data_ov00_020ec798 +data_ov00_020ec798: + .space 0x44 + .global data_ov00_020ec7dc +data_ov00_020ec7dc: + .space 0x12 + .global data_ov00_020ec7ee +data_ov00_020ec7ee: + .space 0x1 + .global data_ov00_020ec7ef +data_ov00_020ec7ef: + .space 0x1 + .global data_ov00_020ec7f0 +data_ov00_020ec7f0: + .space 0x2c diff --git a/asm/ov00/ov00_0207da38.inc b/asm/ov00/ov00_0207da38.inc new file mode 100644 index 00000000..3e40e77d --- /dev/null +++ b/asm/ov00/ov00_0207da38.inc @@ -0,0 +1,8 @@ +#pragma once +.extern _ZN9SysObjectdlEPv +.extern _ZN9SysObjectnwEmPjj +.extern data_027e0ce0 +.extern func_02043594 +.extern func_020435b4 +.extern func_02043600 +.extern func_0204dd9c diff --git a/asm/ov00/ov00_0207da38.s b/asm/ov00/ov00_0207da38.s new file mode 100644 index 00000000..4de0c9ba --- /dev/null +++ b/asm/ov00/ov00_0207da38.s @@ -0,0 +1,1662 @@ + .include "ov00/ov00_0207da38.inc" + .include "macros/function.inc" + + .text + + .global func_ov00_02080f20 + arm_func_start func_ov00_02080f20 +func_ov00_02080f20: ; 0x02080f20 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r0, [r4] + cmp r0, #0 + beq _02080f58 + ldr r1, [r4, #4] + mov r0, #0 + strb r0, [sp] + ldr r0, [r4, #4] + sub r0, r0, r1 + str r0, [r4, #4] + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02080f58: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02080f20 + + .global func_ov00_02080f64 + arm_func_start func_ov00_02080f64 +func_ov00_02080f64: ; 0x02080f64 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_020812bc + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_02081160 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02080f64 + + .global func_ov00_02080f94 + arm_func_start func_ov00_02080f94 +func_ov00_02080f94: ; 0x02080f94 + stmdb sp!, {r4, r5, r6, lr} + mov r5, r1 + mov r4, r2 + mov r6, r0 + cmp r5, r4 + beq _02080ff0 + ldr r2, [r6] + ldr r1, [r6, #4] + mov r0, r5 + add r1, r2, r1, lsl #2 + sub r2, r1, r4 + mov r1, r2, asr #0x1 + add r1, r2, r1, lsr #30 + mov r2, r1, asr #0x2 + mov r1, r4 + mov r2, r2, lsl #0x2 + bl func_020435b4 + sub r1, r4, r5 + mov r0, r1, asr #0x1 + ldr r2, [r6, #4] + add r0, r1, r0, lsr #30 + sub r0, r2, r0, asr #2 + str r0, [r6, #4] +_02080ff0: + mov r0, r5 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_02080f94 + + .global func_ov00_02080ff8 + arm_func_start func_ov00_02080ff8 +func_ov00_02080ff8: ; 0x02080ff8 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02081034 + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02081388 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081034: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02080ff8 + + .global func_ov00_02081040 + arm_func_start func_ov00_02081040 +func_ov00_02081040: ; 0x02081040 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_02081524 + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_02081398 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02081040 + + .global func_ov00_02081070 + arm_func_start func_ov00_02081070 +func_ov00_02081070: ; 0x02081070 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _020810ac + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_020815f4 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_020810ac: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02081070 + + .global func_ov00_020810b8 + arm_func_start func_ov00_020810b8 +func_ov00_020810b8: ; 0x020810b8 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_020817dc + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_02081604 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_020810b8 + + .global func_ov00_020810e8 + arm_func_start func_ov00_020810e8 +func_ov00_020810e8: ; 0x020810e8 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02081124 + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_020818ac + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081124: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_020810e8 + + .global func_ov00_02081130 + arm_func_start func_ov00_02081130 +func_ov00_02081130: ; 0x02081130 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_02081a90 + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_020818bc + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02081130 + + .global func_ov00_02081160 + arm_func_start func_ov00_02081160 +func_ov00_02081160: ; 0x02081160 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x1c + mov r6, r0 + mov r5, r1 + add r0, sp, #8 + add r1, r6, #8 + mov r4, r2 + bl func_ov00_02081e7c + mov r0, #0 + str r0, [sp, #0x18] + ldmib r6, {r0, r1} + add r2, r0, r5 + mov r0, r6 + sub r1, r2, r1 + bl func_ov00_020812bc + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_02081e3c + ldr r1, [r6, #4] + ldr r0, [sp, #8] + str r1, [sp, #0x18] + add r1, r0, r1, lsl #2 + ldr r0, [sp, #0xc] + cmp r5, #0 + add r1, r1, r0, lsl #2 + mov r0, #0 + strb r0, [sp, #3] + mov r2, r5 + beq _020811fc +_020811ec: + ldr r0, [r4] + subs r2, r2, #1 + str r0, [r1], #4 + bne _020811ec +_020811fc: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x18] + add r0, r0, r5 + str r0, [sp, #0xc] + ldr r4, [r6] + ldr r0, [r6, #4] + mov ip, #0 + add r0, r4, r0, lsl #2 + sub r2, r0, r4 + mov r0, r2, asr #0x1 + add r5, r2, r0, lsr #30 + sub r3, r1, r5, asr #2 + mov r2, r5, asr #0x2 + ldr r0, [sp, #8] + mov r7, r2, lsl #0x2 + mov r1, r4 + mov r2, r7 + add r0, r0, r3, lsl #2 + strb ip, [sp, #2] + str r3, [sp, #0x18] + bl func_02043594 + mov r0, r4 + mov r2, r7 + mov r1, #0 + bl func_02043600 + ldr r1, [sp, #0xc] + mov r0, #0 + add r1, r1, r5, asr #2 + str r1, [sp, #0xc] + strb r0, [sp, #1] + str r0, [r6, #4] + add r3, sp, #0x10 + ldr r2, [r6, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r6, #8] + str r2, [r3] + ldr r2, [r6] + ldr r1, [sp, #8] + str r1, [r6] + str r2, [sp, #8] + ldr r2, [r6, #4] + ldr r1, [sp, #0xc] + str r1, [r6, #4] + str r2, [sp, #0xc] + bl func_ov00_02081b60 + add sp, sp, #0x1c + ldmia sp!, {r4, r5, r6, r7, pc} + arm_func_end func_ov00_02081160 + + .global func_ov00_020812bc + arm_func_start func_ov00_020812bc +func_ov00_020812bc: ; 0x020812bc + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + mvn r0, #0xc0000000 + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _020812e4 + bl func_0204dd9c +_020812e4: + ldr r0, _02081380 ; =0x15555555 + cmp r4, r0 + bhs _02081330 + add r1, r4, #1 + ldr r0, _02081384 ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_02081330: + cmp r4, r0, lsl #1 + bhs _0208136c + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_0208136c: + mvn r0, #0xc0000000 + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_020812bc +_02081380: .word 0x15555555 +_02081384: .word 0xcccccccd + + .global func_ov00_02081388 + arm_func_start func_ov00_02081388 +func_ov00_02081388: ; 0x02081388 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_02081388 + + .global func_ov00_02081398 + arm_func_start func_ov00_02081398 +func_ov00_02081398: ; 0x02081398 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x1c + mov r6, r0 + mov r5, r1 + add r0, sp, #8 + add r1, r6, #8 + mov r4, r2 + bl func_ov00_02081dd0 + mov r0, #0 + str r0, [sp, #0x18] + ldmib r6, {r0, r1} + add r2, r0, r5 + mov r0, r6 + sub r1, r2, r1 + bl func_ov00_02081524 + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_02081d88 + ldr ip, [r6, #4] + mov r0, #0 + strb r0, [sp, #3] + ldr r1, [sp, #8] + mov r0, #0x14 + mla r2, ip, r0, r1 + ldr r1, [sp, #0xc] + str ip, [sp, #0x18] + mla ip, r1, r0, r2 + cmp r5, #0 + mov r3, r5 + beq _02081454 +_02081428: + ldmia r4, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldrsh r0, [r4, #0xc] + subs r3, r3, #1 + strh r0, [ip, #0xc] + ldrb r0, [r4, #0xe] + strb r0, [ip, #0xe] + ldr r0, [r4, #0x10] + str r0, [ip, #0x10] + add ip, ip, #0x14 + bne _02081428 +_02081454: + ldr r1, [sp, #0xc] + mov r0, #0x14 + add r1, r1, r5 + str r1, [sp, #0xc] + ldr lr, [r6] + ldr r1, [r6, #4] + mov r4, #0 + mla r3, r1, r0, lr + ldr r2, [sp, #8] + ldr r1, [sp, #0x18] + strb r4, [sp, #2] + mla ip, r1, r0, r2 + cmp r3, lr + bls _020814d8 +_0208148c: + sub r3, r3, #0x14 + subs ip, ip, #0x14 + beq _020814b8 + 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] +_020814b8: + ldr r1, [sp, #0x18] + ldr r0, [sp, #0xc] + sub r1, r1, #1 + add r0, r0, #1 + str r1, [sp, #0x18] + str r0, [sp, #0xc] + cmp r3, lr + bhi _0208148c +_020814d8: + mov r0, #0 + strb r0, [sp, #1] + add r3, sp, #0x10 + ldr r2, [r6, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r6, #8] + str r2, [r3] + ldr r2, [r6] + ldr r1, [sp, #8] + str r1, [r6] + str r2, [sp, #8] + ldr r2, [r6, #4] + ldr r1, [sp, #0xc] + str r1, [r6, #4] + str r2, [sp, #0xc] + bl func_ov00_02081b7c + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end func_ov00_02081398 + + .global func_ov00_02081524 + arm_func_start func_ov00_02081524 +func_ov00_02081524: ; 0x02081524 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + ldr r0, _020815e8 ; =0x0ccccccc + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _0208154c + bl func_0204dd9c +_0208154c: + ldr r0, _020815ec ; =0x04444444 + cmp r4, r0 + bhs _02081598 + add r1, r4, #1 + ldr r0, _020815f0 ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_02081598: + cmp r4, r0, lsl #1 + bhs _020815d4 + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_020815d4: + ldr r0, _020815e8 ; =0x0ccccccc + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_02081524 +_020815e8: .word 0x0ccccccc +_020815ec: .word 0x04444444 +_020815f0: .word 0xcccccccd + + .global func_ov00_020815f4 + arm_func_start func_ov00_020815f4 +func_ov00_020815f4: ; 0x020815f4 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_020815f4 + + .global func_ov00_02081604 + arm_func_start func_ov00_02081604 +func_ov00_02081604: ; 0x02081604 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x1c + mov r4, r0 + mov r6, r1 + add r0, sp, #8 + add r1, r4, #8 + mov r5, r2 + bl func_ov00_02081d18 + mov r0, #0 + str r0, [sp, #0x18] + ldmib r4, {r0, r1} + add r2, r0, r6 + mov r0, r4 + sub r1, r2, r1 + bl func_ov00_020817dc + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_02081cd0 + ldr ip, [r4, #4] + mov r0, #0 + strb r0, [sp, #3] + ldr r2, [sp, #8] + mov r0, #0x18 + mla r3, ip, r0, r2 + ldr r2, [sp, #0xc] + str ip, [sp, #0x18] + mla r0, r2, r0, r3 + cmp r6, #0 + mov r1, r6 + beq _020816e8 +_02081694: + ldr r2, [r5] + subs r1, r1, #1 + str r2, [r0] + ldr r2, [r5, #4] + str r2, [r0, #4] + ldr r2, [r5, #8] + str r2, [r0, #8] + ldr r2, [r5, #0xc] + str r2, [r0, #0xc] + ldrsh r2, [r5, #0x10] + strh r2, [r0, #0x10] + ldrb r2, [r5, #0x12] + strb r2, [r0, #0x12] + ldrb r2, [r5, #0x13] + strb r2, [r0, #0x13] + ldrb r2, [r5, #0x14] + strb r2, [r0, #0x14] + ldrb r2, [r5, #0x15] + strb r2, [r0, #0x15] + add r0, r0, #0x18 + bne _02081694 +_020816e8: + ldr r0, [sp, #0xc] + mov r1, #0x18 + add r0, r0, r6 + str r0, [sp, #0xc] + ldmia r4, {r2, r3} + mla r0, r3, r1, r2 + mov r6, #0 + ldr r5, [sp, #8] + ldr r3, [sp, #0x18] + strb r6, [sp, #2] + mla r1, r3, r1, r5 + cmp r0, r2 + bls _02081790 +_0208171c: + sub r0, r0, #0x18 + subs r1, r1, #0x18 + beq _02081770 + ldr r3, [r0] + str r3, [r1] + ldr r3, [r0, #4] + str r3, [r1, #4] + ldr r3, [r0, #8] + str r3, [r1, #8] + ldr r3, [r0, #0xc] + str r3, [r1, #0xc] + ldrsh r3, [r0, #0x10] + strh r3, [r1, #0x10] + ldrb r3, [r0, #0x12] + strb r3, [r1, #0x12] + ldrb r3, [r0, #0x13] + strb r3, [r1, #0x13] + ldrb r3, [r0, #0x14] + strb r3, [r1, #0x14] + ldrb r3, [r0, #0x15] + strb r3, [r1, #0x15] +_02081770: + ldr r5, [sp, #0x18] + ldr r3, [sp, #0xc] + sub r5, r5, #1 + add r3, r3, #1 + str r5, [sp, #0x18] + str r3, [sp, #0xc] + cmp r0, r2 + bhi _0208171c +_02081790: + mov r0, #0 + strb r0, [sp, #1] + add r3, sp, #0x10 + ldr r2, [r4, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r4, #8] + str r2, [r3] + ldr r2, [r4] + ldr r1, [sp, #8] + str r1, [r4] + str r2, [sp, #8] + ldr r2, [r4, #4] + ldr r1, [sp, #0xc] + str r1, [r4, #4] + str r2, [sp, #0xc] + bl func_ov00_02081b98 + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end func_ov00_02081604 + + .global func_ov00_020817dc + arm_func_start func_ov00_020817dc +func_ov00_020817dc: ; 0x020817dc + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + ldr r0, _020818a0 ; =0x0aaaaaaa + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _02081804 + bl func_0204dd9c +_02081804: + ldr r0, _020818a4 ; =0x038e38e3 + cmp r4, r0 + bhs _02081850 + add r1, r4, #1 + ldr r0, _020818a8 ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_02081850: + cmp r4, r0, lsl #1 + bhs _0208188c + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_0208188c: + ldr r0, _020818a0 ; =0x0aaaaaaa + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_020817dc +_020818a0: .word 0x0aaaaaaa +_020818a4: .word 0x038e38e3 +_020818a8: .word 0xcccccccd + + .global func_ov00_020818ac + arm_func_start func_ov00_020818ac +func_ov00_020818ac: ; 0x020818ac + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_020818ac + + .global func_ov00_020818bc + arm_func_start func_ov00_020818bc +func_ov00_020818bc: ; 0x020818bc + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x1c + mov r4, r0 + mov r6, r1 + add r0, sp, #8 + add r1, r4, #8 + mov r5, r2 + bl func_ov00_02081c60 + mov r0, #0 + str r0, [sp, #0x18] + ldmib r4, {r0, r1} + add r2, r0, r6 + mov r0, r4 + sub r1, r2, r1 + bl func_ov00_02081a90 + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_02081c18 + ldr ip, [r4, #4] + mov r0, #0 + strb r0, [sp, #3] + ldr r2, [sp, #8] + mov r0, #0x1c + mla r3, ip, r0, r2 + ldr r2, [sp, #0xc] + str ip, [sp, #0x18] + mla r0, r2, r0, r3 + cmp r6, #0 + mov r1, r6 + beq _020819a0 +_0208194c: + ldr r2, [r5] + subs r1, r1, #1 + str r2, [r0] + ldrb r2, [r5, #4] + strb r2, [r0, #4] + ldr r2, [r5, #8] + str r2, [r0, #8] + ldr r2, [r5, #0xc] + str r2, [r0, #0xc] + ldr r2, [r5, #0x10] + str r2, [r0, #0x10] + ldrsh r2, [r5, #0x14] + strh r2, [r0, #0x14] + ldrsh r2, [r5, #0x16] + strh r2, [r0, #0x16] + ldrh r3, [r5, #0x18] + ldrh r2, [r5, #0x1a] + strh r3, [r0, #0x18] + strh r2, [r0, #0x1a] + add r0, r0, #0x1c + bne _0208194c +_020819a0: + ldr r1, [sp, #0xc] + mov r0, #0x1c + add r1, r1, r6 + str r1, [sp, #0xc] + ldr lr, [r4] + ldr r1, [r4, #4] + mov r5, #0 + mla r3, r1, r0, lr + ldr r2, [sp, #8] + ldr r1, [sp, #0x18] + strb r5, [sp, #2] + mla ip, r1, r0, r2 + cmp r3, lr + bls _02081a44 +_020819d8: + sub r3, r3, #0x1c + subs ip, ip, #0x1c + beq _02081a24 + ldr r1, [r3] + add r0, r3, #8 + str r1, [ip] + ldrb r1, [r3, #4] + add r5, ip, #8 + strb r1, [ip, #4] + ldmia r0, {r0, r1, r2} + stmia r5, {r0, r1, r2} + ldrsh r0, [r3, #0x14] + strh r0, [ip, #0x14] + ldrsh r0, [r3, #0x16] + strh r0, [ip, #0x16] + ldrh r1, [r3, #0x18] + ldrh r0, [r3, #0x1a] + strh r1, [ip, #0x18] + strh r0, [ip, #0x1a] +_02081a24: + ldr r1, [sp, #0x18] + ldr r0, [sp, #0xc] + sub r1, r1, #1 + add r0, r0, #1 + str r1, [sp, #0x18] + str r0, [sp, #0xc] + cmp r3, lr + bhi _020819d8 +_02081a44: + mov r0, #0 + strb r0, [sp, #1] + add r3, sp, #0x10 + ldr r2, [r4, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r4, #8] + str r2, [r3] + ldr r2, [r4] + ldr r1, [sp, #8] + str r1, [r4] + str r2, [sp, #8] + ldr r2, [r4, #4] + ldr r1, [sp, #0xc] + str r1, [r4, #4] + str r2, [sp, #0xc] + bl func_ov00_02081bb4 + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end func_ov00_020818bc + + .global func_ov00_02081a90 + arm_func_start func_ov00_02081a90 +func_ov00_02081a90: ; 0x02081a90 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + ldr r0, _02081b54 ; =0x09249249 + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _02081ab8 + bl func_0204dd9c +_02081ab8: + ldr r0, _02081b58 ; =0x030c30c3 + cmp r4, r0 + bhs _02081b04 + add r1, r4, #1 + ldr r0, _02081b5c ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_02081b04: + cmp r4, r0, lsl #1 + bhs _02081b40 + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_02081b40: + ldr r0, _02081b54 ; =0x09249249 + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_02081a90 +_02081b54: .word 0x09249249 +_02081b58: .word 0x030c30c3 +_02081b5c: .word 0xcccccccd + + .global func_ov00_02081b60 + arm_func_start func_ov00_02081b60 +func_ov00_02081b60: ; 0x02081b60 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02081df8 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081b60 + + .global func_ov00_02081b7c + arm_func_start func_ov00_02081b7c +func_ov00_02081b7c: ; 0x02081b7c + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02081d40 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081b7c + + .global func_ov00_02081b98 + arm_func_start func_ov00_02081b98 +func_ov00_02081b98: ; 0x02081b98 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02081c88 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081b98 + + .global func_ov00_02081bb4 + arm_func_start func_ov00_02081bb4 +func_ov00_02081bb4: ; 0x02081bb4 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02081bd0 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081bb4 + + .global func_ov00_02081bd0 + arm_func_start func_ov00_02081bd0 +func_ov00_02081bd0: ; 0x02081bd0 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02081c0c + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02081ec4 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081c0c: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02081bd0 + + .global func_ov00_02081c18 + arm_func_start func_ov00_02081c18 +func_ov00_02081c18: ; 0x02081c18 + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _02081c58 ; =0x09249249 + mov r4, r1 + mov r5, r0 + cmp r4, r2 + bls _02081c34 + bl func_0204dd9c +_02081c34: + mov r0, #0x1c + mul r0, r4, r0 + ldr r1, _02081c5c ; =data_027e0ce0 + mov r2, #4 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02081c18 +_02081c58: .word 0x09249249 +_02081c5c: .word data_027e0ce0 + + .global func_ov00_02081c60 + arm_func_start func_ov00_02081c60 +func_ov00_02081c60: ; 0x02081c60 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_02081ea4 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081c60 + + .global func_ov00_02081c88 + arm_func_start func_ov00_02081c88 +func_ov00_02081c88: ; 0x02081c88 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02081cc4 + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02081ed4 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081cc4: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02081c88 + + .global func_ov00_02081cd0 + arm_func_start func_ov00_02081cd0 +func_ov00_02081cd0: ; 0x02081cd0 + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _02081d10 ; =0x0aaaaaaa + mov r4, r1 + mov r5, r0 + cmp r4, r2 + bls _02081cec + bl func_0204dd9c +_02081cec: + mov r0, #0x18 + mul r0, r4, r0 + ldr r1, _02081d14 ; =data_027e0ce0 + mov r2, #4 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02081cd0 +_02081d10: .word 0x0aaaaaaa +_02081d14: .word data_027e0ce0 + + .global func_ov00_02081d18 + arm_func_start func_ov00_02081d18 +func_ov00_02081d18: ; 0x02081d18 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_02081eac + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081d18 + + .global func_ov00_02081d40 + arm_func_start func_ov00_02081d40 +func_ov00_02081d40: ; 0x02081d40 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02081d7c + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02081ee4 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081d7c: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02081d40 + + .global func_ov00_02081d88 + arm_func_start func_ov00_02081d88 +func_ov00_02081d88: ; 0x02081d88 + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _02081dc8 ; =0x0ccccccc + mov r4, r1 + mov r5, r0 + cmp r4, r2 + bls _02081da4 + bl func_0204dd9c +_02081da4: + mov r0, #0x14 + mul r0, r4, r0 + ldr r1, _02081dcc ; =data_027e0ce0 + mov r2, #4 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02081d88 +_02081dc8: .word 0x0ccccccc +_02081dcc: .word data_027e0ce0 + + .global func_ov00_02081dd0 + arm_func_start func_ov00_02081dd0 +func_ov00_02081dd0: ; 0x02081dd0 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_02081eb4 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081dd0 + + .global func_ov00_02081df8 + arm_func_start func_ov00_02081df8 +func_ov00_02081df8: ; 0x02081df8 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r0, [r4] + cmp r0, #0 + beq _02081e30 + ldr r1, [r4, #4] + mov r0, #0 + strb r0, [sp] + ldr r0, [r4, #4] + sub r0, r0, r1 + str r0, [r4, #4] + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081e30: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02081df8 + + .global func_ov00_02081e3c + arm_func_start func_ov00_02081e3c +func_ov00_02081e3c: ; 0x02081e3c + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mvn r1, #0xc0000000 + mov r5, r0 + cmp r4, r1 + bls _02081e58 + bl func_0204dd9c +_02081e58: + ldr r1, _02081e78 ; =data_027e0ce0 + mov r0, r4, lsl #0x2 + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02081e3c +_02081e78: .word data_027e0ce0 + + .global func_ov00_02081e7c + arm_func_start func_ov00_02081e7c +func_ov00_02081e7c: ; 0x02081e7c + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_02081ebc + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081e7c + + .global func_ov00_02081ea4 + arm_func_start func_ov00_02081ea4 +func_ov00_02081ea4: ; 0x02081ea4 + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_02081ea4 + + .global func_ov00_02081eac + arm_func_start func_ov00_02081eac +func_ov00_02081eac: ; 0x02081eac + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_02081eac + + .global func_ov00_02081eb4 + arm_func_start func_ov00_02081eb4 +func_ov00_02081eb4: ; 0x02081eb4 + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_02081eb4 + + .global func_ov00_02081ebc + arm_func_start func_ov00_02081ebc +func_ov00_02081ebc: ; 0x02081ebc + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_02081ebc + + .global func_ov00_02081ec4 + arm_func_start func_ov00_02081ec4 +func_ov00_02081ec4: ; 0x02081ec4 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_02081ec4 + + .global func_ov00_02081ed4 + arm_func_start func_ov00_02081ed4 +func_ov00_02081ed4: ; 0x02081ed4 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_02081ed4 + + .global func_ov00_02081ee4 + arm_func_start func_ov00_02081ee4 +func_ov00_02081ee4: ; 0x02081ee4 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_02081ee4 + + .global func_ov00_02081ef4 + arm_func_start func_ov00_02081ef4 +func_ov00_02081ef4: ; 0x02081ef4 + ldr r1, _02081f34 ; =0x0000ffff + mov r2, #0 + strh r1, [r0, #0x24] + strh r1, [r0, #0x26] + strh r1, [r0, #0x28] + strh r1, [r0, #0x2a] + strh r2, [r0, #0x2c] + sub r1, r2, #1 + str r1, [r0, #0x54] + strb r2, [r0, #0x58] + strb r2, [r0, #0x59] + strb r2, [r0, #0x5a] + strb r2, [r0, #0x5b] + strb r2, [r0, #0x5c] + strb r2, [r0, #0x5d] + bx lr + .align 2, 0 + arm_func_end func_ov00_02081ef4 +_02081f34: .word 0x0000ffff + + .global func_ov00_02081f38 + arm_func_start func_ov00_02081f38 +func_ov00_02081f38: ; 0x02081f38 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081f38 + + .global func_ov00_02081f4c + arm_func_start func_ov00_02081f4c +func_ov00_02081f4c: ; 0x02081f4c + bx lr + arm_func_end func_ov00_02081f4c + + .global func_ov00_02081f50 + arm_func_start func_ov00_02081f50 +func_ov00_02081f50: ; 0x02081f50 + mov r0, #1 + bx lr + arm_func_end func_ov00_02081f50 + + .global func_ov00_02081f58 + arm_func_start func_ov00_02081f58 +func_ov00_02081f58: ; 0x02081f58 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081f58 + + .global func_ov00_02081f6c + arm_func_start func_ov00_02081f6c +func_ov00_02081f6c: ; 0x02081f6c + bx lr + arm_func_end func_ov00_02081f6c + + .global func_ov00_02081f70 + arm_func_start func_ov00_02081f70 +func_ov00_02081f70: ; 0x02081f70 + mov r0, #1 + bx lr + arm_func_end func_ov00_02081f70 + + .global func_ov00_02081f78 + arm_func_start func_ov00_02081f78 +func_ov00_02081f78: ; 0x02081f78 + mov r0, #1 + bx lr + arm_func_end func_ov00_02081f78 + + .global func_ov00_02081f80 + arm_func_start func_ov00_02081f80 +func_ov00_02081f80: ; 0x02081f80 + stmdb sp!, {r4, lr} + mov r4, r1 + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x10 + bgt _02081fcc + bge _02081fec + cmp r0, #3 + bgt _02081fc0 + cmp r0, #1 + blt _02081ffc + cmpne r0, #3 + beq _02081fec + b _02081ffc +_02081fc0: + cmp r0, #0xe + beq _02081fec + b _02081ffc +_02081fcc: + cmp r0, #0x1c + bgt _02081fe4 + bge _02081fec + cmp r0, #0x17 + beq _02081fec + b _02081ffc +_02081fe4: + cmp r0, #0x38 + bne _02081ffc + arm_func_end func_ov00_02081f80 +_02081fec: + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x20] + blx r1 +_02081ffc: + mov r0, #1 + ldmia sp!, {r4, pc} + + .global func_ov00_02082004 + arm_func_start func_ov00_02082004 +func_ov00_02082004: ; 0x02082004 + mov r0, #1 + bx lr + arm_func_end func_ov00_02082004 + + .global func_ov00_0208200c + arm_func_start func_ov00_0208200c +func_ov00_0208200c: ; 0x0208200c + mov r0, #1 + bx lr + arm_func_end func_ov00_0208200c + + .global func_ov00_02082014 + arm_func_start func_ov00_02082014 +func_ov00_02082014: ; 0x02082014 + stmdb sp!, {r4, lr} + mov r4, r1 + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x10 + bgt _02082054 + cmp r0, #0xe + blt _02082048 + cmpne r0, #0x10 + beq _0208206c + b _0208207c +_02082048: + cmp r0, #3 + beq _0208206c + b _0208207c +_02082054: + cmp r0, #0x17 + bgt _02082064 + beq _0208206c + b _0208207c +_02082064: + cmp r0, #0x1c + bne _0208207c + arm_func_end func_ov00_02082014 +_0208206c: + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x20] + blx r1 +_0208207c: + mov r0, #1 + ldmia sp!, {r4, pc} + + .global func_ov00_02082084 + arm_func_start func_ov00_02082084 +func_ov00_02082084: ; 0x02082084 + mov r0, #1 + bx lr + arm_func_end func_ov00_02082084 + + .global func_ov00_0208208c + arm_func_start func_ov00_0208208c +func_ov00_0208208c: ; 0x0208208c + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f4c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208208c + + .global func_ov00_020820a0 + arm_func_start func_ov00_020820a0 +func_ov00_020820a0: ; 0x020820a0 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f4c + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020820a0 + + .global func_ov00_020820bc + arm_func_start func_ov00_020820bc +func_ov00_020820bc: ; 0x020820bc + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f4c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020820bc + + .global func_ov00_020820d0 + arm_func_start func_ov00_020820d0 +func_ov00_020820d0: ; 0x020820d0 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f4c + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020820d0 + + .rodata + .global data_ov00_020d88d0 +data_ov00_020d88d0: ; 0x020d88d0 + .ascii "sea" + .byte 0x00 + .global data_ov00_020d88d4 +data_ov00_020d88d4: ; 0x020d88d4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d88d8 +data_ov00_020d88d8: ; 0x020d88d8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d88dc +data_ov00_020d88dc: ; 0x020d88dc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d88e0 +data_ov00_020d88e0: ; 0x020d88e0 + .ascii "sea" + .byte 0x00 + .global data_ov00_020d88e4 +data_ov00_020d88e4: ; 0x020d88e4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d88e8 +data_ov00_020d88e8: ; 0x020d88e8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d88ec +data_ov00_020d88ec: ; 0x020d88ec + .byte 0x00, 0x00, 0x00, 0x00 + + .data + .global data_ov00_020e2424 +data_ov00_020e2424: ; 0x020e2424 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2428 +data_ov00_020e2428: ; 0x020e2428 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e242c +data_ov00_020e242c: ; 0x020e242c + .word func_ov00_020820bc + .global data_ov00_020e2430 +data_ov00_020e2430: ; 0x020e2430 + .word func_ov00_020820d0 + .global data_ov00_020e2434 +data_ov00_020e2434: ; 0x020e2434 + .word func_ov00_02082004 + .global data_ov00_020e2438 +data_ov00_020e2438: ; 0x020e2438 + .word func_ov00_0208200c + .global data_ov00_020e243c +data_ov00_020e243c: ; 0x020e243c + .word func_ov00_02082014 + .global data_ov00_020e2440 +data_ov00_020e2440: ; 0x020e2440 + .word func_ov00_02082084 + .global data_ov00_020e2444 +data_ov00_020e2444: ; 0x020e2444 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2448 +data_ov00_020e2448: ; 0x020e2448 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e244c +data_ov00_020e244c: ; 0x020e244c + .word func_ov00_0208208c + .global data_ov00_020e2450 +data_ov00_020e2450: ; 0x020e2450 + .word func_ov00_020820a0 + .global data_ov00_020e2454 +data_ov00_020e2454: ; 0x020e2454 + .word func_ov00_02081f70 + .global data_ov00_020e2458 +data_ov00_020e2458: ; 0x020e2458 + .word func_ov00_02081f78 + .global data_ov00_020e245c +data_ov00_020e245c: ; 0x020e245c + .word func_ov00_02081f80 + .global data_ov00_020e2460 +data_ov00_020e2460: ; 0x020e2460 + .word func_ov00_02081f50 + .global data_ov00_020e2464 +data_ov00_020e2464: ; 0x020e2464 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2468 +data_ov00_020e2468: ; 0x020e2468 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e246c +data_ov00_020e246c: ; 0x020e246c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2470 +data_ov00_020e2470: ; 0x020e2470 + .word func_ov00_02081f38 + .global data_ov00_020e2474 +data_ov00_020e2474: ; 0x020e2474 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2478 +data_ov00_020e2478: ; 0x020e2478 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e247c +data_ov00_020e247c: ; 0x020e247c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2480 +data_ov00_020e2480: ; 0x020e2480 + .word func_ov00_02081f50 + .global data_ov00_020e2484 +data_ov00_020e2484: ; 0x020e2484 + .ascii "brg" + .byte 0x00 + .global data_ov00_020e2488 +data_ov00_020e2488: ; 0x020e2488 + .ascii "fnl" + .byte 0x00 + .global data_ov00_020e248c +data_ov00_020e248c: ; 0x020e248c + .ascii "pdl" + .byte 0x00 + .global data_ov00_020e2490 +data_ov00_020e2490: ; 0x020e2490 + .ascii "dco" + .byte 0x00 + .global data_ov00_020e2494 +data_ov00_020e2494: ; 0x020e2494 + .ascii "can" + .byte 0x00 + .global data_ov00_020e2498 +data_ov00_020e2498: ; 0x020e2498 + .ascii "hul" + .byte 0x00 + .global data_ov00_020e249c +data_ov00_020e249c: ; 0x020e249c + .ascii "bow" + .byte 0x00 + .global data_ov00_020e24a0 +data_ov00_020e24a0: ; 0x020e24a0 + .ascii "anc" + .byte 0x00 + .global data_ov00_020e24a4 +data_ov00_020e24a4: ; 0x020e24a4 + .word data_ov00_020e24a0 + .global data_ov00_020e24a8 +data_ov00_020e24a8: ; 0x020e24a8 + .word data_ov00_020e249c + .global data_ov00_020e24ac +data_ov00_020e24ac: ; 0x020e24ac + .word data_ov00_020e2498 + .global data_ov00_020e24b0 +data_ov00_020e24b0: ; 0x020e24b0 + .word data_ov00_020e2494 + .global data_ov00_020e24b4 +data_ov00_020e24b4: ; 0x020e24b4 + .word data_ov00_020e2490 + .global data_ov00_020e24b8 +data_ov00_020e24b8: ; 0x020e24b8 + .word data_ov00_020e248c + .global data_ov00_020e24bc +data_ov00_020e24bc: ; 0x020e24bc + .word data_ov00_020e2488 + .global data_ov00_020e24c0 +data_ov00_020e24c0: ; 0x020e24c0 + .word data_ov00_020e2484 diff --git a/asm/ov00/ov00_0207af9c.inc b/asm/ov00/ov00_02086cd0.inc similarity index 58% rename from asm/ov00/ov00_0207af9c.inc rename to asm/ov00/ov00_02086cd0.inc index e731a915..42b8f47b 100644 --- a/asm/ov00/ov00_0207af9c.inc +++ b/asm/ov00/ov00_02086cd0.inc @@ -1,21 +1,54 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_02082538Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_020834bcEP5Vec3pii +.extern _ZN10MapManager18func_ov00_02083560EiPS_j +.extern _ZN10MapManager18func_ov00_020835e4EiPiS0_ +.extern _ZN10MapManager18func_ov00_020836ccEjP4AABBj +.extern _ZN10MapManager18func_ov00_020838f8EPi +.extern _ZN10MapManager18func_ov00_02083928EPci +.extern _ZN10MapManager18func_ov00_02083938Ei +.extern _ZN10MapManager18func_ov00_02083968EjPc +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083b84Ev +.extern _ZN10MapManager18func_ov00_02083bacEv +.extern _ZN10MapManager18func_ov00_02083bd4Ev +.extern _ZN10MapManager18func_ov00_02083bfcEv +.extern _ZN10MapManager18func_ov00_02083e70Ev +.extern _ZN10MapManager18func_ov00_02084100EiPS_ +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_020848b8Ev +.extern _ZN10MapManager18func_ov00_02084934Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084d24Ecci +.extern _ZN11TriggerBase14GetBoundingBoxEv +.extern _ZN11TriggerBase8OverlapsEv +.extern _ZN11TriggerBase8vfunc_08Ev +.extern _ZN11TriggerBase8vfunc_0cEv +.extern _ZN11TriggerBase8vfunc_10Ev .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj -.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager18func_ov00_020c3b2cEPi .extern _ZN12ActorManager18func_ov00_020c3bb0EiPi -.extern _ZN12ActorManager18func_ov00_020c3ce8Eii .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 -.extern _ZN14AdventureFlags18func_ov00_020976c8Ev .extern _ZN14AdventureFlags18func_ov00_02097738Ev .extern _ZN14AdventureFlags18func_ov00_020980d0Ev .extern _ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14OverlayManager15LoadIfNotLoadedEjj .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12CollidesWithEPKS_ @@ -63,45 +96,26 @@ .extern _ZN5Actor8vfunc_b0Ev .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN7MapBase18func_ov00_0207e940EPc +.extern _ZN7MapBase18func_ov00_0207e968Ev +.extern _ZN7MapBase18func_ov00_0207e96cEv +.extern _ZN7MapBase18func_ov00_0207f100Ev .extern _ZN9ActorTypeC1EjPFP5ActorvEPv .extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj -.extern _ZNK11ItemManager7HasItemEi .extern __register_global_object .extern data_02050f54 .extern data_02056be4 .extern data_02063e4c -.extern data_020691a0 -.extern data_027e037c -.extern data_027e0384 -.extern data_027e03c8 -.extern data_027e0618 .extern data_027e071c .extern data_027e0764 .extern data_027e077c -.extern data_027e0c54 .extern data_027e0c68 -.extern data_027e0cbc .extern data_027e0ce0 .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0d44 -.extern data_027e0d54 -.extern data_027e0d6c -.extern data_027e0d78 -.extern data_027e0db0 -.extern data_027e0db4 -.extern data_027e0db8 -.extern data_027e0dbc -.extern data_027e0de4 -.extern data_027e0de8 -.extern data_027e0e08 -.extern data_027e0e28 -.extern data_027e0e2c -.extern data_027e0e58 -.extern data_027e0e5c -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -110,14 +124,11 @@ .extern data_027e0f7c .extern data_027e0f80 .extern data_027e0f84 -.extern data_027e0f88 -.extern data_027e0f8c .extern data_027e0f90 .extern data_027e0f94 .extern data_027e0fa0 .extern data_027e0fac .extern data_027e0fc8 -.extern data_027e0fcc .extern data_027e0fe0 .extern data_027e0fe4 .extern data_027e0fe8 @@ -133,15 +144,13 @@ .extern data_ov00_020e37ec .extern data_ov00_020e38ec .extern data_ov00_020e39ec +.extern data_ov00_020e9370 +.extern data_ov00_020ea110 .extern data_ov00_020eab04 -.extern data_ov00_020eec68 .extern data_ov00_020eec9c -.extern data_ov09_0211f5dc -.extern data_ov15_02190458 .extern func_01ff8018 .extern func_01ff8024 .extern func_01ff8214 -.extern func_01ff892c .extern func_01ff8954 .extern func_01ff8af8 .extern func_01ff9158 @@ -154,29 +163,22 @@ .extern func_01ff9958 .extern func_01ff99f4 .extern func_01ff9a50 -.extern func_01ff9b4c .extern func_01ff9bc4 .extern func_01ff9bf8 .extern func_01ff9c2c .extern func_01ff9c68 .extern func_01ff9cec .extern func_01ff9d4c -.extern func_01ff9e64 .extern func_01ff9ec0 .extern func_01ffa0f4 .extern func_01ffa8d4 .extern func_01ffa9fc .extern func_01ffb7ec .extern func_01ffbe34 -.extern func_01ffbe78 .extern func_01ffbf5c .extern func_01ffe468 -.extern func_01ffe61c -.extern func_01ffe904 .extern func_01ffebe0 .extern func_01ffec34 -.extern func_01fff084 -.extern func_01fff264 .extern func_01fff4c8 .extern func_01fffb4c .extern func_01fffb80 @@ -189,55 +191,19 @@ .extern func_02002588 .extern func_02002774 .extern func_02002c14 -.extern func_02004730 -.extern func_020047d8 -.extern func_02004a3c -.extern func_02004a50 -.extern func_02004dac -.extern func_020052e4 -.extern func_02005628 .extern func_02005660 -.extern func_02005b58 .extern func_02005bfc .extern func_02005dcc -.extern func_02006060 -.extern func_02006b14 -.extern func_02006b2c -.extern func_02006b90 -.extern func_020078c0 -.extern func_020078d8 .extern func_020078f4 -.extern func_02007938 -.extern func_02007984 .extern func_02007a18 -.extern func_02007ad8 -.extern func_0200be04 -.extern func_0200c8d0 -.extern func_0200e2c0 -.extern func_02012830 -.extern func_020128bc -.extern func_02012934 -.extern func_020196bc -.extern func_020196fc .extern func_0201b5e4 -.extern func_0201e24c -.extern func_0201e4cc -.extern func_02023b3c -.extern func_02024130 -.extern func_0202ab78 -.extern func_0202abdc .extern func_0202b154 -.extern func_0202b2e8 .extern func_0202b3bc .extern func_0202b418 .extern func_0202b4e4 .extern func_0202b66c .extern func_0202b734 .extern func_0202b7e4 -.extern func_0202b8e4 -.extern func_0202c69c -.extern func_0202d56c -.extern func_0202d77c .extern func_0202d7ac .extern func_0202e58c .extern func_0202e9f4 @@ -251,11 +217,7 @@ .extern func_020351b8 .extern func_0203eba8 .extern func_0203ebc8 -.extern func_02040464 -.extern func_02042b40 -.extern func_02042bfc .extern func_02042d50 -.extern func_02042f68 .extern func_02043594 .extern func_020435b4 .extern func_02043600 @@ -266,20 +228,12 @@ .extern func_0204f754 .extern func_0204f7b0 .extern func_ov00_02078b40 -.extern func_ov00_02078b88 -.extern func_ov00_02078bc4 -.extern func_ov00_02078bf0 .extern func_ov00_02078f54 -.extern func_ov00_02078fe8 .extern func_ov00_02079008 -.extern func_ov00_0207920c -.extern func_ov00_020792a0 .extern func_ov00_02079470 .extern func_ov00_02079680 -.extern func_ov00_02079898 -.extern func_ov00_020798bc -.extern func_ov00_02079e04 -.extern func_ov00_02079e3c +.extern func_ov00_02081f4c +.extern func_ov00_02081f6c .extern func_ov00_0209afc4 .extern func_ov00_0209b5a4 .extern func_ov00_0209b6f4 @@ -288,24 +242,7 @@ .extern func_ov00_0209b960 .extern func_ov00_0209bbe8 .extern func_ov00_0209bc38 -.extern func_ov00_0209c08c -.extern func_ov00_0209c1e4 -.extern func_ov00_0209c2b4 -.extern func_ov00_0209c2d0 -.extern func_ov00_0209c530 -.extern func_ov00_0209c61c -.extern func_ov00_0209c788 -.extern func_ov00_0209c8e4 -.extern func_ov00_0209cc3c -.extern func_ov00_0209cc48 -.extern func_ov00_0209cd80 -.extern func_ov00_0209cd9c -.extern func_ov00_0209cddc -.extern func_ov00_0209cdf8 -.extern func_ov00_0209d6e8 -.extern func_ov00_0209d71c .extern func_ov00_0209d738 -.extern func_ov00_0209d778 .extern func_ov00_0209da68 .extern func_ov00_0209da90 .extern func_ov00_0209dc60 @@ -320,101 +257,33 @@ .extern func_ov00_020a1838 .extern func_ov00_020a1888 .extern func_ov00_020a19c8 -.extern func_ov00_020a1a0c -.extern func_ov00_020a3510 -.extern func_ov00_020a3710 -.extern func_ov00_020a3de0 .extern func_ov00_020a5e9c .extern func_ov00_020a6110 .extern func_ov00_020a61ac .extern func_ov00_020b3ea8 -.extern func_ov00_020b7e6c .extern func_ov00_020bd304 .extern func_ov00_020bd618 .extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 -.extern func_ov00_020cf13c -.extern func_ov00_020cf414 -.extern func_ov00_020cfcec -.extern func_ov00_020d70a4 -.extern func_ov00_020d72b8 -.extern func_ov00_020d7424 .extern func_ov00_020d77e4 -.extern func_ov03_020f3974 -.extern func_ov03_020f3c28 -.extern func_ov03_020fa874 .extern func_ov03_020fb3e0 .extern func_ov03_020fb3f0 .extern func_ov03_020fb404 -.extern func_ov04_02100eb0 -.extern func_ov04_02101188 -.extern func_ov04_021024c4 -.extern func_ov04_02102770 -.extern func_ov04_02102b28 -.extern func_ov04_02102e3c .extern func_ov04_02103444 .extern func_ov04_021034fc -.extern func_ov04_02105578 -.extern func_ov04_02105608 -.extern func_ov04_02106db8 -.extern func_ov04_0210bfa8 -.extern func_ov04_0210c1f8 -.extern func_ov04_0210c3fc -.extern func_ov04_0210c52c -.extern func_ov04_0210c5cc -.extern func_ov04_0210c764 -.extern func_ov04_0210c800 -.extern func_ov04_0210c88c -.extern func_ov04_0210c8d4 -.extern func_ov04_0210ca84 -.extern func_ov04_0210cb00 -.extern func_ov04_0210cb1c -.extern func_ov04_0210dd90 -.extern func_ov05_02100e0c -.extern func_ov05_02101080 -.extern func_ov05_021010b0 -.extern func_ov05_021010ec .extern func_ov05_0210199c .extern func_ov05_02101ab8 .extern func_ov05_02102c2c .extern func_ov05_02103f4c -.extern func_ov05_02111bc0 -.extern func_ov05_02111c00 -.extern func_ov05_02111c6c -.extern func_ov05_02111c70 -.extern func_ov08_02113080 .extern func_ov08_0211351c .extern func_ov08_021135b8 -.extern func_ov08_021136fc -.extern func_ov08_02113730 -.extern func_ov08_02113a0c -.extern func_ov08_02113aa8 -.extern func_ov09_02114810 -.extern func_ov12_0212b358 -.extern func_ov12_02133c40 .extern func_ov14_02125934 .extern func_ov14_02125948 -.extern func_ov15_02128dd8 -.extern func_ov15_02129c14 -.extern func_ov15_02129c24 -.extern func_ov15_02129c34 -.extern func_ov15_02129c44 .extern func_ov15_0214c3c4 .extern func_ov15_0214c414 .extern func_ov15_02175cc4 -.extern func_ov15_021849a4 -.extern func_ov17_0215b4e8 -.extern func_ov17_0215cef4 -.extern func_ov18_0215b4a0 -.extern func_ov18_0215cb28 -.extern func_ov18_0215df1c .extern func_ov18_0216ac24 .extern func_ov18_0216ad38 -.extern func_ov26_02173b7c -.extern func_ov40_02183dac .extern gAdventureFlags -.extern gItemManager -.extern gOverlayManager -.extern strcmp -.extern strcpy +.extern gMapManager diff --git a/asm/ov00/ov00_0207af9c.s b/asm/ov00/ov00_02086cd0.s similarity index 59% rename from asm/ov00/ov00_0207af9c.s rename to asm/ov00/ov00_02086cd0.s index ce2fb4ef..52220a92 100644 --- a/asm/ov00/ov00_0207af9c.s +++ b/asm/ov00/ov00_02086cd0.s @@ -1,16027 +1,7 @@ + .include "ov00/ov00_02086cd0.inc" .include "macros/function.inc" - .include "ov00/ov00_0207af9c.inc" - .text - - .global func_ov00_0207af9c - arm_func_start func_ov00_0207af9c -func_ov00_0207af9c: ; 0x0207af9c - bx lr - arm_func_end func_ov00_0207af9c - - .global func_ov00_0207afa0 - thumb_func_start func_ov00_0207afa0 -func_ov00_0207afa0: ; 0x0207afa0 - ldr r0, _0207afbc ; =data_027e0618 - ldr r0, [r0] - cmp r0, #2 - beq _0207afb8 - ldr r2, _0207afc0 ; =0x04001008 - mov r0, #0x43 - ldrh r1, [r2] - and r1, r0 - mov r0, #6 - lsl r0, r0, #0xa - orr r0, r1 - strh r0, [r2] -_0207afb8: - bx lr - nop - thumb_func_end func_ov00_0207afa0 -_0207afbc: .word data_027e0618 -_0207afc0: .word 0x04001008 - - .global func_ov00_0207afc4 - thumb_func_start func_ov00_0207afc4 -func_ov00_0207afc4: ; 0x0207afc4 - ldr r0, _0207afec ; =data_027e0618 - ldr r2, _0207aff0 ; =0x0400100a - ldr r0, [r0] - cmp r0, #2 - bne _0207afde - ldrh r1, [r2] - mov r0, #0x43 - and r1, r0 - mov r0, #0xf - lsl r0, r0, #8 - orr r0, r1 - strh r0, [r2] - bx lr -_0207afde: - ldrh r1, [r2] - mov r0, #0x43 - and r1, r0 - ldr r0, _0207aff4 ; =0x00001904 - orr r0, r1 - strh r0, [r2] - bx lr - .align 2, 0 - thumb_func_end func_ov00_0207afc4 -_0207afec: .word data_027e0618 -_0207aff0: .word 0x0400100a -_0207aff4: .word 0x00001904 - - .global func_ov00_0207aff8 - thumb_func_start func_ov00_0207aff8 -func_ov00_0207aff8: ; 0x0207aff8 - ldr r0, _0207b020 ; =data_027e0618 - ldr r2, _0207b024 ; =0x0400100c - ldr r0, [r0] - cmp r0, #2 - bne _0207b010 - ldrh r1, [r2] - mov r0, #0x43 - and r1, r0 - ldr r0, _0207b028 ; =0x00004f08 - orr r0, r1 - strh r0, [r2] - bx lr -_0207b010: - ldrh r1, [r2] - mov r0, #0x43 - and r1, r0 - ldr r0, _0207b02c ; =0x0000190c - orr r0, r1 - strh r0, [r2] - bx lr - nop - thumb_func_end func_ov00_0207aff8 -_0207b020: .word data_027e0618 -_0207b024: .word 0x0400100c -_0207b028: .word 0x00004f08 -_0207b02c: .word 0x0000190c - - .global func_ov00_0207b030 - thumb_func_start func_ov00_0207b030 -func_ov00_0207b030: ; 0x0207b030 - push {r4, lr} - ldr r1, _0207b084 ; =data_027e0618 - ldr r1, [r1] - cmp r1, #2 - bne _0207b074 - cmp r0, #0 - beq _0207b04e - ldr r2, _0207b088 ; =0x0400100e - mov r0, #0x43 - ldrh r1, [r2] - and r1, r0 - ldr r0, _0207b08c ; =0x00004084 - orr r0, r1 - strh r0, [r2] - pop {r4, pc} -_0207b04e: - ldr r0, _0207b090 ; =data_027e0d38 - mov r4, #0 - ldr r0, [r0] - add r0, #0xc - blx func_ov00_020a5e9c - cmp r0, #0x32 - bne _0207b060 - mov r4, #1 -_0207b060: - ldr r2, _0207b088 ; =0x0400100e - mov r0, #0x43 - ldrh r1, [r2] - lsl r3, r4, #0xd - and r1, r0 - ldr r0, _0207b094 ; =0x00004e14 - orr r0, r1 - orr r0, r3 - strh r0, [r2] - pop {r4, pc} -_0207b074: - ldr r2, _0207b088 ; =0x0400100e - mov r0, #0x43 - ldrh r1, [r2] - and r1, r0 - ldr r0, _0207b098 ; =0x00005a14 - orr r0, r1 - strh r0, [r2] - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b030 -_0207b084: .word data_027e0618 -_0207b088: .word 0x0400100e -_0207b08c: .word 0x00004084 -_0207b090: .word data_027e0d38 -_0207b094: .word 0x00004e14 -_0207b098: .word 0x00005a14 - - .global func_ov00_0207b09c - thumb_func_start func_ov00_0207b09c -func_ov00_0207b09c: ; 0x0207b09c - push {r3, r4, lr} - sub sp, #0x1c - add r0, sp, #8 - blx func_02024130 - mov r2, #0x33 - mov r3, #0 - ldr r0, _0207b108 ; =data_ov00_020e2044 - ldr r1, _0207b10c ; =data_020691a0 - lsl r2, r2, #0xa - str r3, [sp] - bl func_0202d56c - add r1, sp, #4 - bl func_02023b3c - ldr r2, [sp, #4] - mov r0, #3 - ldr r1, [r2, #8] - add r4, r1, #3 - bic r4, r0 - ldr r0, [r2, #0xc] - add r1, r4, #0 - blx func_0200e2c0 - ldr r2, [sp, #4] - mov r1, #0 - ldr r0, [r2, #0xc] - ldr r2, [r2, #8] - blx func_02006060 - ldr r0, _0207b110 ; =data_027e0618 - ldr r0, [r0] - cmp r0, #2 - bne _0207b104 - blx func_02004dac - mov r1, #6 - lsl r1, r1, #0xc - cmp r0, r1 - blo _0207b104 - blx func_02006b14 - ldr r0, [sp, #4] - mov r1, #1 - ldr r0, [r0, #0xc] - lsl r1, r1, #0xe - add r2, r4, #0 - blx func_02006b2c - blx func_02006b90 -_0207b104: - add sp, #0x1c - pop {r3, r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b09c -_0207b108: .word data_ov00_020e2044 -_0207b10c: .word data_020691a0 -_0207b110: .word data_027e0618 - - .global func_ov00_0207b114 - thumb_func_start func_ov00_0207b114 -func_ov00_0207b114: ; 0x0207b114 - push {r3, lr} - mov r0, #4 - str r0, [sp] - ldr r0, _0207b128 ; =0x04000050 - mov r1, #0 - mov r2, #0x31 - mov r3, #0xc - blx func_020052e4 - pop {r3, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b114 -_0207b128: .word 0x04000050 - - .global func_ov00_0207b12c - thumb_func_start func_ov00_0207b12c -func_ov00_0207b12c: ; 0x0207b12c - push {r3, lr} - mov r0, #4 - str r0, [sp] - ldr r0, _0207b140 ; =0x04001050 - mov r1, #0 - mov r2, #0x3f - mov r3, #0xc - blx func_020052e4 - pop {r3, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b12c -_0207b140: .word 0x04001050 - - .global func_ov00_0207b144 - thumb_func_start func_ov00_0207b144 -func_ov00_0207b144: ; 0x0207b144 - push {r3, lr} - ldr r1, _0207b1d4 ; =data_027e0618 - ldr r1, [r1] - cmp r1, #2 - bne _0207b1c0 - cmp r0, #0 - beq _0207b164 - ldr r2, _0207b1d8 ; =0x04001000 - ldr r0, _0207b1dc ; =0xffffe0ff - ldr r1, [r2] - and r1, r0 - mov r0, #6 - lsl r0, r0, #0xa - orr r0, r1 - str r0, [r2] - pop {r3, pc} -_0207b164: - ldr r0, _0207b1e0 ; =data_027e0d38 - ldr r0, [r0] - blx func_ov00_02078b88 - cmp r0, #0 - ldr r2, _0207b1d8 ; =0x04001000 - beq _0207b198 - ldr r0, _0207b1e0 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x18] - cmp r0, #0x14 - ldr r0, _0207b1dc ; =0xffffe0ff - bne _0207b18c - ldr r1, [r2] - and r1, r0 - mov r0, #0x12 - lsl r0, r0, #8 - orr r0, r1 - str r0, [r2] - pop {r3, pc} -_0207b18c: - ldr r1, [r2] - and r1, r0 - lsr r0, r2, #0xe - orr r0, r1 - str r0, [r2] - pop {r3, pc} -_0207b198: - ldr r0, _0207b1e0 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x14] - cmp r0, #1 - ldr r0, _0207b1dc ; =0xffffe0ff - bne _0207b1b2 - ldr r1, [r2] - and r1, r0 - mov r0, #7 - lsl r0, r0, #0xa - orr r0, r1 - str r0, [r2] - pop {r3, pc} -_0207b1b2: - ldr r1, [r2] - and r1, r0 - mov r0, #0x1e - lsl r0, r0, #8 - orr r0, r1 - str r0, [r2] - pop {r3, pc} -_0207b1c0: - ldr r2, _0207b1d8 ; =0x04001000 - ldr r0, _0207b1dc ; =0xffffe0ff - ldr r1, [r2] - and r1, r0 - mov r0, #0x1f - lsl r0, r0, #8 - orr r0, r1 - str r0, [r2] - pop {r3, pc} - nop - thumb_func_end func_ov00_0207b144 -_0207b1d4: .word data_027e0618 -_0207b1d8: .word 0x04001000 -_0207b1dc: .word 0xffffe0ff -_0207b1e0: .word data_027e0d38 - - .global func_ov00_0207b1e4 - thumb_func_start func_ov00_0207b1e4 -func_ov00_0207b1e4: ; 0x0207b1e4 - push {r3, lr} - blx func_02004a3c - blx func_02004a50 - mov r0, #4 - blx func_02004730 - mov r0, #8 - blx func_020047d8 - pop {r3, pc} - thumb_func_end func_ov00_0207b1e4 - - .global func_ov00_0207b1fc - thumb_func_start func_ov00_0207b1fc -func_ov00_0207b1fc: ; 0x0207b1fc - push {r4, lr} - ldr r0, _0207b264 ; =data_027e0c54 - ldrb r4, [r0] - bl func_ov00_0207afa0 - bl func_ov00_0207afc4 - bl func_ov00_0207b114 - bl func_ov00_0207b12c - add r0, r4, #0 - bl func_ov00_0207b144 - ldr r1, _0207b268 ; =0x04000008 - mov r2, #3 - ldrh r3, [r1] - mov r0, #3 - bic r3, r2 - orr r3, r0 - strh r3, [r1] - ldr r1, _0207b26c ; =0x04001008 - ldrh r3, [r1] - bic r3, r2 - orr r0, r3 - strh r0, [r1] - ldrh r3, [r1, #2] - mov r0, #2 - bic r3, r2 - orr r3, r0 - strh r3, [r1, #2] - ldrh r3, [r1, #4] - bic r3, r2 - orr r0, r3 - strh r0, [r1, #4] - mov r0, #0 - str r0, [r1, #8] - str r0, [r1, #0xc] - blx func_02005b58 - bl func_ov00_0207b09c - ldr r0, _0207b270 ; =data_027e0618 - bl func_0202c69c - ldr r0, _0207b274 ; =data_027e103c - mov r1, #0 - ldr r0, [r0] - blx func_ov00_020cf13c - pop {r4, pc} - nop - thumb_func_end func_ov00_0207b1fc -_0207b264: .word data_027e0c54 -_0207b268: .word 0x04000008 -_0207b26c: .word 0x04001008 -_0207b270: .word data_027e0618 -_0207b274: .word data_027e103c - - .global func_ov00_0207b278 - thumb_func_start func_ov00_0207b278 -func_ov00_0207b278: ; 0x0207b278 - mov r1, #0 - strb r1, [r0] - strb r1, [r0, #1] - strb r1, [r0, #2] - strb r1, [r0, #3] - str r1, [r0, #4] - str r1, [r0, #8] - bx lr - thumb_func_end func_ov00_0207b278 - - .global func_ov00_0207b288 - thumb_func_start func_ov00_0207b288 -func_ov00_0207b288: ; 0x0207b288 - push {r3, r4, r5, lr} - add r4, r0, #0 - add r5, r1, #0 - bl func_ov00_0207b278 - cmp r5, #2 - bne _0207b29a - mov r0, #1 - strb r0, [r4] -_0207b29a: - ldrb r0, [r4] - cmp r0, #0 - beq _0207b2be - ldr r0, _0207b2c0 ; =0x04000048 - mov r2, #0x3f - ldrh r3, [r0] - mov r1, #0x1f - bic r3, r2 - orr r1, r3 - mov r3, #0x20 - orr r1, r3 - strh r1, [r0] - ldrh r4, [r0, #2] - mov r1, #0x10 - bic r4, r2 - orr r1, r4 - orr r1, r3 - strh r1, [r0, #2] -_0207b2be: - pop {r3, r4, r5, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b288 -_0207b2c0: .word 0x04000048 - - .global func_ov00_0207b2c4 - thumb_func_start func_ov00_0207b2c4 -func_ov00_0207b2c4: ; 0x0207b2c4 - ldr r2, [r0, #8] - cmp r1, #0 - beq _0207b2dc - ldr r1, _0207b2ec ; =data_027e0c54 - ldrb r1, [r1] - cmp r1, #0 - beq _0207b2dc - mov r1, #1 - strb r1, [r0, #1] - mov r1, #0xc0 - str r1, [r0, #8] - b _0207b2e4 -_0207b2dc: - mov r1, #0 - strb r1, [r0, #1] - mov r1, #0x60 - str r1, [r0, #8] -_0207b2e4: - mov r1, #0 - strb r1, [r0, #2] - add r0, r2, #0 - bx lr - .align 2, 0 - thumb_func_end func_ov00_0207b2c4 -_0207b2ec: .word data_027e0c54 - - .global func_ov00_0207b2f0 - thumb_func_start func_ov00_0207b2f0 -func_ov00_0207b2f0: ; 0x0207b2f0 - push {r3, r4} - ldrb r4, [r0] - cmp r4, #0 - bne _0207b2fe - mov r0, #0 - pop {r3, r4} - bx lr -_0207b2fe: - strb r2, [r0, #1] - strb r3, [r0, #2] - mov r4, #0 - ldr r2, _0207b330 ; =data_027e0e2c - strb r4, [r0, #3] - ldr r3, [r2, #4] - sub r2, r4, #1 - cmp r3, r2 - beq _0207b31c - strb r4, [r0, #2] - mov r1, #1 - strb r1, [r0, #3] - add r0, r1, #0 - pop {r3, r4} - bx lr -_0207b31c: - mov r2, #0x15 - str r2, [r0, #8] - cmp r1, #0 - beq _0207b328 - ldr r1, [r0, #8] - str r1, [r0, #4] -_0207b328: - mov r0, #1 - pop {r3, r4} - bx lr - nop - thumb_func_end func_ov00_0207b2f0 -_0207b330: .word data_027e0e2c - - .global func_ov00_0207b334 - thumb_func_start func_ov00_0207b334 -func_ov00_0207b334: ; 0x0207b334 - mov r2, #0 - strb r2, [r0, #3] - ldr r2, [r0, #4] - cmp r2, #0 - bne _0207b348 - ldr r2, [r0, #8] - cmp r2, #0 - bne _0207b348 - mov r0, #1 - bx lr -_0207b348: - ldrb r2, [r0] - cmp r2, #0 - bne _0207b352 - mov r0, #0 - bx lr -_0207b352: - ldr r2, _0207b374 ; =data_027e0e2c - ldr r3, [r2, #4] - mov r2, #0 - mvn r2, r2 - cmp r3, r2 - beq _0207b362 - mov r0, #0 - bx lr -_0207b362: - mov r2, #0 - str r2, [r0, #8] - cmp r1, #0 - beq _0207b36e - ldr r1, [r0, #8] - str r1, [r0, #4] -_0207b36e: - mov r0, #1 - bx lr - nop - thumb_func_end func_ov00_0207b334 -_0207b374: .word data_027e0e2c - - .global func_ov00_0207b378 - arm_func_start func_ov00_0207b378 -func_ov00_0207b378: ; 0x0207b378 - stmdb sp!, {r4, lr} - mov r4, r0 - cmp r1, #0 - ldmneia sp!, {r4, pc} - ldrb r0, [r4] - cmp r0, #0 - ldmeqia sp!, {r4, pc} - bl func_ov00_02079e04 - cmp r0, #0 - ldmneia sp!, {r4, pc} - ldr r1, _0207b438 ; =data_027e0e2c - mvn r0, #0 - ldr r1, [r1, #4] - cmp r1, r0 - ldmneia sp!, {r4, pc} - ldrb r0, [r4, #3] - cmp r0, #0 - beq _0207b3e8 - ldr r0, [r4, #4] - cmp r0, #0 - bgt _0207b3e8 - ldrb r2, [r4, #1] - ldrb r3, [r4, #2] - mov r0, r4 - mov r1, #1 - blx func_ov00_0207b2f0 - mov r0, #0 - strb r0, [r4, #3] -_0207b3e8: - ldr r0, [r4, #8] - ldr r1, [r4, #4] - cmp r1, r0 - bge _0207b41c - ldrb r0, [r4, #2] - cmp r0, #0 - addne r0, r1, #1 - addeq r0, r1, #7 - str r0, [r4, #4] - ldmib r4, {r0, r1} - cmp r0, r1 - strgt r1, [r4, #4] - ldmia sp!, {r4, pc} -_0207b41c: - ldmleia sp!, {r4, pc} - sub r1, r1, #0x13 - str r1, [r4, #4] - ldr r0, [r4, #8] - cmp r1, r0 - strlt r0, [r4, #4] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0207b378 -_0207b438: .word data_027e0e2c - - .global func_ov00_0207b43c - arm_func_start func_ov00_0207b43c -func_ov00_0207b43c: ; 0x0207b43c - stmdb sp!, {r4, lr} - mov r4, r0 - ldrb r0, [r4] - cmp r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [r4, #4] - cmp r0, #0 - ble _0207b50c - bl func_ov00_02079e04 - cmp r0, #0 - bne _0207b50c - mov r0, #0x4000000 - ldr r1, [r0] - bic r1, r1, #0xe000 - orr r1, r1, #0x2000 - str r1, [r0] - ldrb r1, [r4, #1] - cmp r1, #0 - ldrne r1, _0207b520 ; =data_027e0c54 - ldrneb r1, [r1] - cmpne r1, #0 - beq _0207b4e0 - ldr r1, _0207b524 ; =data_027e0618 - ldr r1, [r1, #0xf4] - tst r1, #1 - beq _0207b4c4 - ldr r1, [r4, #4] - ldr r2, _0207b528 ; =0x000001ff - mov r1, r1, lsl #0x8 - and r1, r1, #0xff00 - strh r2, [r0, #0x40] - orr r1, r1, #0xc0 - strh r1, [r0, #0x44] - ldmia sp!, {r4, pc} -_0207b4c4: - ldr r2, [r4, #4] - ldr r1, _0207b528 ; =0x000001ff - rsb r2, r2, #0xc0 - strh r1, [r0, #0x40] - and r1, r2, #0xff - strh r1, [r0, #0x44] - ldmia sp!, {r4, pc} -_0207b4e0: - ldr r0, [r4, #4] - ldr r3, _0207b528 ; =0x000001ff - mov r1, r0, lsl #0x8 - rsb r0, r0, #0xc0 - ldr r2, _0207b52c ; =0x04000040 - and r1, r1, #0xff00 - and r0, r0, #0xff - strh r3, [r2] - orr r0, r1, r0 - strh r0, [r2, #4] - ldmia sp!, {r4, pc} -_0207b50c: - mov r1, #0x4000000 - ldr r0, [r1] - bic r0, r0, #0xe000 - str r0, [r1] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0207b43c -_0207b520: .word data_027e0c54 -_0207b524: .word data_027e0618 -_0207b528: .word 0x000001ff -_0207b52c: .word 0x04000040 - - .global func_ov00_0207b530 - thumb_func_start func_ov00_0207b530 -func_ov00_0207b530: ; 0x0207b530 - push {r4, lr} - add r4, r0, #0 - ldr r0, _0207b550 ; =gOverlayManager - ldr r2, _0207b554 ; =0x00000004 - mov r1, #2 - bl _ZN14OverlayManager15LoadIfNotLoadedEjj - add r0, r4, #0 - bl func_ov04_02101188 - ldr r0, _0207b550 ; =gOverlayManager - ldr r2, _0207b558 ; =0x00000005 - mov r1, #2 - bl _ZN14OverlayManager15LoadIfNotLoadedEjj - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b530 -_0207b550: .word gOverlayManager -_0207b554: .word 0x00000004 -_0207b558: .word 0x00000005 - - .global func_ov00_0207b55c - thumb_func_start func_ov00_0207b55c -func_ov00_0207b55c: ; 0x0207b55c - push {r4, lr} - add r4, r0, #0 - mov r3, #1 - add r0, #0x34 - strb r3, [r0] - ldr r0, [r1] - str r0, [r4, #4] - ldr r0, [r1, #4] - str r0, [r4, #8] - ldr r0, [r1, #8] - str r0, [r4, #0xc] - ldr r0, [r1, #0xc] - str r0, [r4, #0x10] - mov r0, #0x10 - ldrsh r0, [r1, r0] - cmp r2, #0 - strh r0, [r4, #0x14] - ldrb r0, [r1, #0x12] - strb r0, [r4, #0x16] - ldrb r0, [r1, #0x13] - strb r0, [r4, #0x17] - ldrb r0, [r1, #0x14] - strb r0, [r4, #0x18] - ldrb r0, [r1, #0x15] - strb r0, [r4, #0x19] - beq _0207b59a - add r4, #0xac - ldr r0, [r4] - bl func_ov04_02100eb0 - pop {r4, pc} -_0207b59a: - add r0, r4, #0 - add r0, #0xac - ldr r0, [r0] - add r2, r0, #0 - add r2, #0x28 - ldrb r2, [r2] - cmp r2, #0 - beq _0207b5b6 - blx func_ov40_02183dac - add r0, r4, #0 - bl func_ov00_0207b530 - pop {r4, pc} -_0207b5b6: - blx func_ov05_02100e0c - pop {r4, pc} - thumb_func_end func_ov00_0207b55c - - .global func_ov00_0207b5bc - thumb_func_start func_ov00_0207b5bc -func_ov00_0207b5bc: ; 0x0207b5bc - push {r4, r5, r6, lr} - sub sp, #0x20 - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4] - str r0, [sp, #8] - ldr r0, [r4, #4] - str r0, [sp, #0xc] - ldr r1, [r4, #8] - str r1, [sp, #0x10] - ldr r1, [r4, #0xc] - str r1, [sp, #0x14] - mov r1, #0x10 - ldrsh r3, [r4, r1] - add r1, sp, #0 - cmp r0, #1 - strh r3, [r1, #0x18] - ldrb r3, [r4, #0x12] - strb r3, [r1, #0x1a] - ldrb r3, [r4, #0x13] - strb r3, [r1, #0x1b] - ldrb r3, [r4, #0x14] - strb r3, [r1, #0x1c] - ldrb r3, [r4, #0x15] - strb r3, [r1, #0x1d] - beq _0207b5fa - cmp r0, #0xe - beq _0207b62c - cmp r0, #0xf - beq _0207b66a - b _0207b688 -_0207b5fa: - cmp r2, #0 - beq _0207b6cc - ldr r1, _0207b800 ; =data_027e0fe4 - ldr r2, _0207b804 ; =0x414e4353 - ldr r1, [r1] - add r0, sp, #0 - blx _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - mov r0, #0 - ldr r1, [sp] - mvn r0, r0 - cmp r1, r0 - beq _0207b6cc - ldr r0, _0207b800 ; =data_027e0fe4 - add r1, sp, #0 - ldr r0, [r0] - blx _ZN12ActorManager8GetActorEP8ActorRef - cmp r0, #0 - beq _0207b6cc - add r1, sp, #8 - blx func_ov18_0215df1c - add sp, #0x20 - pop {r4, r5, r6, pc} -_0207b62c: - ldr r0, [r5] - blx func_ov00_020a5e9c - str r0, [r5, #0x44] - ldr r0, _0207b808 ; =data_027e0e60 - ldr r0, [r0] - blx func_ov00_02082d08 - add r1, r5, #0 - add r1, #0x56 - strb r0, [r1] - ldr r0, _0207b80c ; =data_027e0f94 - ldr r1, [r0] - str r1, [r5, #0x5c] - ldr r1, [r0, #4] - str r1, [r5, #0x60] - ldr r0, [r0, #8] - ldr r1, _0207b810 ; =data_027e0fac - str r0, [r5, #0x64] - mov r0, #0 - ldrsh r1, [r1, r0] - add r0, r5, #0 - add r0, #0x68 - strh r1, [r0] - add r0, r5, #0 - mov r1, #0xfa - add r0, #0x6a - strb r1, [r0] - mov r0, #0xfc - str r0, [r5, #0x6c] - b _0207b6cc -_0207b66a: - add r0, r5, #0 - add r0, #0x44 - blx func_ov00_020a5e9c - str r0, [sp, #8] - add r0, r5, #0 - add r0, #0x56 - ldrb r1, [r0] - add r0, sp, #0 - strb r1, [r0, #0x1a] - mov r1, #0xfa - strb r1, [r0, #0x1b] - mov r0, #0xf - str r0, [sp, #0xc] - b _0207b6cc -_0207b688: - ldr r0, [r5] - blx func_ov00_020a5e9c - cmp r0, #0x26 - bne _0207b6cc - ldr r0, _0207b814 ; =data_027e0f7c - ldr r6, [r0] - add r0, r4, #0 - blx func_ov00_020a5e9c - add r1, r0, #0 - add r0, r6, #0 - blx func_ov00_0209d738 - cmp r0, #3 - bne _0207b6cc - ldr r0, _0207b818 ; =gItemManager - mov r1, #0x20 - ldr r0, [r0] - blx _ZNK11ItemManager7HasItemEi - cmp r0, #0 - beq _0207b6cc - ldrb r0, [r4, #0x12] - cmp r0, #0 - beq _0207b6c0 - cmp r0, #9 - bne _0207b6cc -_0207b6c0: - ldr r0, _0207b81c ; =data_ov09_0211f5dc - add r1, r4, #0 - bl func_ov26_02173b7c - add sp, #0x20 - pop {r4, r5, r6, pc} -_0207b6cc: - add r0, r4, #0 - blx func_ov00_020a5e9c - cmp r0, #0 - bne _0207b740 - ldr r0, _0207b814 ; =data_027e0f7c - ldr r6, [r0] - ldr r0, [r5] - blx func_ov00_020a5e9c - add r1, r0, #0 - add r0, r6, #0 - blx func_ov00_0209d738 - cmp r0, #0 - bne _0207b740 - ldr r0, _0207b814 ; =data_027e0f7c - ldr r6, [r0] - ldr r0, [r5] - blx func_ov00_020a5e9c - add r1, r0, #0 - add r0, r6, #0 - blx func_ov00_0209d778 - mov r1, #1 - mvn r1, r1 - cmp r0, r1 - beq _0207b740 - ldr r0, [r4] - str r0, [r5, #0x70] - ldr r0, [r4, #4] - str r0, [r5, #0x74] - ldr r0, [r4, #8] - str r0, [r5, #0x78] - ldr r0, [r4, #0xc] - str r0, [r5, #0x7c] - mov r0, #0x10 - ldrsh r1, [r4, r0] - add r0, r5, #0 - add r0, #0x80 - strh r1, [r0] - add r0, r5, #0 - ldrb r1, [r4, #0x12] - add r0, #0x82 - strb r1, [r0] - add r0, r5, #0 - ldrb r1, [r4, #0x13] - add r0, #0x83 - strb r1, [r0] - add r0, r5, #0 - ldrb r1, [r4, #0x14] - add r0, #0x84 - strb r1, [r0] - add r0, r5, #0 - ldrb r1, [r4, #0x15] - add r0, #0x85 - strb r1, [r0] -_0207b740: - add r0, r4, #0 - blx func_ov00_020a5e9c - add r6, r0, #0 - ldr r0, [r5] - blx func_ov00_020a5e9c - cmp r6, r0 - bne _0207b7f0 - ldr r0, _0207b814 ; =data_027e0f7c - ldr r6, [r0] - ldr r0, [r5] - blx func_ov00_020a5e9c - add r1, r0, #0 - add r0, r6, #0 - blx func_ov00_0209d738 - cmp r0, #0 - bne _0207b7f0 - ldr r0, [r5] - ldr r0, [r0, #8] - cmp r0, #1 - beq _0207b7f0 - ldr r0, _0207b808 ; =data_027e0e60 - ldr r0, [r0] - blx func_ov00_02083328 - cmp r0, #0 - beq _0207b7f0 - ldr r0, _0207b808 ; =data_027e0e60 - ldrb r1, [r4, #0x12] - ldr r0, [r0] - blx func_ov00_02083318 - cmp r0, #0 - bne _0207b7f0 - ldr r0, [r5] - add r1, r5, #0 - ldr r2, [r0] - add r1, #0x88 - str r2, [r1] - add r1, r5, #0 - ldr r2, [r0, #4] - add r1, #0x8c - str r2, [r1] - add r1, r5, #0 - ldr r2, [r0, #8] - add r1, #0x90 - str r2, [r1] - add r1, r5, #0 - ldr r2, [r0, #0xc] - add r1, #0x94 - str r2, [r1] - mov r1, #0x10 - ldrsh r2, [r0, r1] - add r1, r5, #0 - add r1, #0x98 - strh r2, [r1] - add r1, r5, #0 - ldrb r2, [r0, #0x12] - add r1, #0x9a - strb r2, [r1] - add r1, r5, #0 - ldrb r2, [r0, #0x13] - add r1, #0x9b - strb r2, [r1] - add r1, r5, #0 - ldrb r2, [r0, #0x14] - add r1, #0x9c - strb r2, [r1] - ldrb r1, [r0, #0x15] - add r0, r5, #0 - add r0, #0x9d - strb r1, [r0] - ldr r1, _0207b80c ; =data_027e0f94 - add r0, r5, #0 - ldr r2, [r1] - add r0, #0xa0 - str r2, [r0] - add r0, r5, #0 - ldr r2, [r1, #4] - add r0, #0xa4 - str r2, [r0] - add r0, r5, #0 - ldr r1, [r1, #8] - add r0, #0xa8 - str r1, [r0] -_0207b7f0: - add r0, r5, #0 - add r1, sp, #8 - mov r2, #0 - bl func_ov00_0207b55c - add sp, #0x20 - pop {r4, r5, r6, pc} - nop - thumb_func_end func_ov00_0207b5bc -_0207b800: .word data_027e0fe4 -_0207b804: .word 0x414e4353 -_0207b808: .word data_027e0e60 -_0207b80c: .word data_027e0f94 -_0207b810: .word data_027e0fac -_0207b814: .word data_027e0f7c -_0207b818: .word gItemManager -_0207b81c: .word data_ov09_0211f5dc - - .global func_ov00_0207b820 - arm_func_start func_ov00_0207b820 -func_ov00_0207b820: ; 0x0207b820 - stmdb sp!, {r4, lr} - mov r4, r0 - ldrb r0, [r4, #0x34] - cmp r0, #0 - ldmeqia sp!, {r4, pc} - cmp r1, #0 - ldmneia sp!, {r4, pc} - ldr r0, [r4, #0xac] - bl func_ov05_021010b0 - cmp r0, #0 - ldr r0, [r4, #0xac] - beq _0207b87c - ldrb r1, [r0, #0x29] - cmp r1, #0 - beq _0207b864 - blx func_ov00_0207c074 - ldmia sp!, {r4, pc} -_0207b864: - ldrb r0, [r0, #0x28] - cmp r0, #0 - ldmneia sp!, {r4, pc} - mov r0, r4 - blx func_ov00_0207b530 - ldmia sp!, {r4, pc} -_0207b87c: - bl func_ov05_021010ec - cmp r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [r4, #0xac] - bl func_ov05_02101080 - mov r0, #0 - strb r0, [r4, #0x34] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207b820 - - .global func_ov00_0207b89c - arm_func_start func_ov00_0207b89c -func_ov00_0207b89c: ; 0x0207b89c - stmdb sp!, {r3, r4, r5, lr} - mov r4, r0 - ldr ip, [r4, #0x180] - cmp ip, #0x20 - ldmgeia sp!, {r3, r4, r5, pc} - mov r0, #0xc - mul r0, ip, r0 - ldr ip, [sp, #0x10] - str r3, [r4, r0] - add r5, r4, r0 - ldr r0, _0207b8f8 ; =data_027e0f64 - str ip, [r5, #4] - ldr r3, [r0] - mov r0, r2 - add r1, r3, r1, lsl #2 - ldr r1, [r1, #4] - add r1, r1, #0x260 - bl func_01ff9ec0 - str r0, [r5, #8] - ldr r0, [r4, #0x180] - add r0, r0, #1 - str r0, [r4, #0x180] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0207b89c -_0207b8f8: .word data_027e0f64 - - .global func_ov00_0207b8fc - arm_func_start func_ov00_0207b8fc -func_ov00_0207b8fc: ; 0x0207b8fc - ldr r1, [r1, #8] - ldr r0, [r0, #8] - sub r0, r1, r0 - bx lr - arm_func_end func_ov00_0207b8fc - - .global func_ov00_0207b90c - arm_func_start func_ov00_0207b90c -func_ov00_0207b90c: ; 0x0207b90c - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #4 - mov r6, r0 - ldr r1, [r6, #0x180] - cmp r1, #0 - addle sp, sp, #4 - ldmleia sp!, {r3, r4, r5, r6, pc} - cmp r1, #1 - ble _0207b944 - ldr ip, _0207b980 ; =data_020691a0 - ldr r3, _0207b984 ; =func_ov00_0207b8fc - mov r2, #0xc - str ip, [sp] - bl func_0200be04 -_0207b944: - ldr r0, [r6, #0x180] - mov r4, r6 - cmp r0, #0 - mov r5, #0 - addle sp, sp, #4 - ldmleia sp!, {r3, r4, r5, r6, pc} -_0207b95c: - ldr r0, [r4, #4] - ldr r1, [r4], #0xc - blx r1 - ldr r0, [r6, #0x180] - add r5, r5, #1 - cmp r5, r0 - blt _0207b95c - add sp, sp, #4 - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0207b90c -_0207b980: .word data_020691a0 -_0207b984: .word func_ov00_0207b8fc - - .global func_ov00_0207b988 - thumb_func_start func_ov00_0207b988 -func_ov00_0207b988: ; 0x0207b988 - push {r4, lr} - add r4, r0, #0 - cmp r1, #2 - bne _0207b9ba - ldr r1, _0207b9bc ; =data_027e0ce0 - mov r0, #0x50 - ldr r1, [r1, #4] - mov r2, #4 - blx _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _0207b9a6 - add r1, r4, #0 - bl func_ov03_020f3974 -_0207b9a6: - str r0, [r4, #0x24] - ldr r0, _0207b9c0 ; =data_027e0618 - ldr r0, [r0, #4] - cmp r0, #3 - bne _0207b9ba - ldr r0, _0207b9c4 ; =data_027e0d54 - mov r1, #1 - mov r2, #0 - bl func_ov09_02114810 -_0207b9ba: - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b988 -_0207b9bc: .word data_027e0ce0 -_0207b9c0: .word data_027e0618 -_0207b9c4: .word data_027e0d54 - - .global func_ov00_0207b9c8 - thumb_func_start func_ov00_0207b9c8 -func_ov00_0207b9c8: ; 0x0207b9c8 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x24] - cmp r0, #0 - beq _0207b9da - blx _ZN9SysObjectdlEPv - mov r0, #0 - str r0, [r4, #0x24] -_0207b9da: - pop {r4, pc} - thumb_func_end func_ov00_0207b9c8 - - .global func_ov00_0207b9dc - arm_func_start func_ov00_0207b9dc -func_ov00_0207b9dc: ; 0x0207b9dc - stmdb sp!, {r4, r5, r6, lr} - ldr r1, _0207ba8c ; =0x027ffc3c - mov r6, r0 - ldr r5, [r1] - ldr r0, [r6, #0x20] - ldr r1, [r6, #0x1c] - sub r0, r5, r0 - add r0, r1, r0 - str r0, [r6, #0x1c] - cmp r0, #0x3c - blo _0207ba84 - mov r4, #0 -_0207ba0c: - ldr r0, [r6, #0x1c] - sub r0, r0, #0x3c - str r0, [r6, #0x1c] - ldr r0, [r6, #0x18] - add r0, r0, #1 - str r0, [r6, #0x18] - cmp r0, #0x3c - blo _0207ba78 - str r4, [r6, #0x18] - ldr r0, [r6, #0x14] - add r0, r0, #1 - str r0, [r6, #0x14] - cmp r0, #0x3c - blo _0207ba78 - str r4, [r6, #0x14] - ldr r0, [r6, #0x10] - add r0, r0, #1 - str r0, [r6, #0x10] - cmp r0, #0x18 - blo _0207ba78 - mov r0, r6 - str r4, [r6, #0x10] - blx func_02042b40 - mov r1, r0 - mov r0, r6 - add r1, r1, #1 - blx func_02042bfc -_0207ba78: - ldr r0, [r6, #0x1c] - cmp r0, #0x3c - bhs _0207ba0c -_0207ba84: - str r5, [r6, #0x20] - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0207b9dc -_0207ba8c: .word 0x027ffc3c - - .global func_ov00_0207ba90 - thumb_func_start func_ov00_0207ba90 -func_ov00_0207ba90: ; 0x0207ba90 - ldr r0, [r0, #0x24] - bx lr - thumb_func_end func_ov00_0207ba90 - - .global func_ov00_0207ba94 - thumb_func_start func_ov00_0207ba94 -func_ov00_0207ba94: ; 0x0207ba94 - push {r3, lr} - add r2, r0, #0 - ldr r0, _0207baac ; =gOverlayManager - ldr r3, [r0, #4] - ldr r0, _0207bab0 ; =0x00000003 - cmp r3, r0 - bne _0207baa8 - ldr r0, [r2, #0x24] - bl func_ov03_020f3c28 -_0207baa8: - pop {r3, pc} - nop - thumb_func_end func_ov00_0207ba94 -_0207baac: .word gOverlayManager -_0207bab0: .word 0x00000003 - - .global func_ov00_0207bab4 - arm_func_start func_ov00_0207bab4 -func_ov00_0207bab4: ; 0x0207bab4 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x11c - ldr r3, _0207bb04 ; =func_ov00_0207bb18 - add r0, r0, #0xc00 - mov r1, #8 - mov r2, #0x30 - bl func_0204f754 - ldr r3, _0207bb08 ; =func_ov00_0207bb14 - add r0, r4, #0x2f8 - mov r1, #0xcf - mov r2, #0xc - bl func_0204f754 - ldr r3, _0207bb0c ; =func_ov00_0207bb10 - add r0, r4, #0xf8 - mov r1, #0x40 - mov r2, #8 - bl func_0204f754 - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0207bab4 -_0207bb04: .word func_ov00_0207bb18 -_0207bb08: .word func_ov00_0207bb14 -_0207bb0c: .word func_ov00_0207bb10 - - .global func_ov00_0207bb10 - arm_func_start func_ov00_0207bb10 -func_ov00_0207bb10: ; 0x0207bb10 - bx lr - arm_func_end func_ov00_0207bb10 - - .global func_ov00_0207bb14 - arm_func_start func_ov00_0207bb14 -func_ov00_0207bb14: ; 0x0207bb14 - bx lr - arm_func_end func_ov00_0207bb14 - - .global func_ov00_0207bb18 - arm_func_start func_ov00_0207bb18 -func_ov00_0207bb18: ; 0x0207bb18 - bx lr - arm_func_end func_ov00_0207bb18 - - .global func_ov00_0207bb1c - arm_func_start func_ov00_0207bb1c -func_ov00_0207bb1c: ; 0x0207bb1c - stmdb sp!, {r3, lr} - add lr, r0, r1, lsl #2 - ldr ip, _0207bb48 ; =data_ov00_020d8798 - str r2, [lr, #4] - str r3, [lr, #0x24] - ldrb r1, [ip, r1] - ldr r3, [r0] - mov r2, #1 - orr r1, r3, r2, lsl r1 - str r1, [r0] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207bb1c -_0207bb48: .word data_ov00_020d8798 - - .global func_ov00_0207bb4c - arm_func_start func_ov00_0207bb4c -func_ov00_0207bb4c: ; 0x0207bb4c - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - mov r10, r0 - ldr r0, [r10] - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - bl func_01ffa8d4 - ldr r5, _0207bc30 ; =0x04000440 - mov r7, #3 - str r7, [r5] - mov r0, #0 - ldr r8, _0207bc34 ; =data_ov00_020d8860 - str r0, [r5, #0x14] - mov r11, r0 - mov r4, #1 -_0207bb84: - ldr r0, [r10] - tst r0, r4, lsl r7 - beq _0207bc20 - mov r0, r8 - str r11, [r5] - bl func_02005628 - ldr r1, _0207bc38 ; =data_027e0384 - mov r0, r8 - mov r2, #0x40 - bl func_02007984 - ldr r1, _0207bc3c ; =data_027e037c - ldr r0, _0207bc40 ; =data_027e03c8 - ldr r2, [r1, #0xfc] - bic r2, r2, #0x50 - str r2, [r1, #0xfc] - mov r1, #2 - str r1, [r5] - mov r1, #0 - str r1, [r5, #0x14] - bl func_01ff892c - ldr r0, _0207bc3c ; =data_027e037c - ldr r9, _0207bc44 ; =data_ov00_020d8798 - ldr r1, [r0, #0xfc] - mov r6, #0 - bic r1, r1, #0xe8 - str r1, [r0, #0xfc] -_0207bbec: - ldrb r0, [r9] - cmp r0, r7 - bne _0207bc10 - add r0, r10, r6, lsl #2 - ldr r1, [r0, #4] - cmp r1, #0 - beq _0207bc10 - ldr r0, [r0, #0x24] - blx r1 -_0207bc10: - add r9, r9, #1 - add r6, r6, #1 - cmp r6, #8 - blt _0207bbec -_0207bc20: - sub r8, r8, #0x40 - subs r7, r7, #1 - bpl _0207bb84 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0207bb4c -_0207bc30: .word 0x04000440 -_0207bc34: .word data_ov00_020d8860 -_0207bc38: .word data_027e0384 -_0207bc3c: .word data_027e037c -_0207bc40: .word data_027e03c8 -_0207bc44: .word data_ov00_020d8798 - - .global func_ov00_0207bc48 - arm_func_start func_ov00_0207bc48 -func_ov00_0207bc48: ; 0x0207bc48 - ldr r1, [r0] - mov r0, #0 - cmp r1, #0 - ldrne r2, [r1, #0x40] - subne r1, r0, #1 - cmpne r2, r1 - movne r0, #1 - bx lr - arm_func_end func_ov00_0207bc48 - - .global func_ov00_0207bc68 - arm_func_start func_ov00_0207bc68 -func_ov00_0207bc68: ; 0x0207bc68 - ldr r0, [r0] - cmp r0, #0 - ldrne r0, [r0, #0x40] - mvneq r0, #0 - bx lr - arm_func_end func_ov00_0207bc68 - - .global func_ov00_0207bc7c - thumb_func_start func_ov00_0207bc7c -func_ov00_0207bc7c: ; 0x0207bc7c - push {r3, r4, r5, lr} - add r4, r0, #0 - ldr r5, [r4] - cmp r5, #0 - beq _0207bc98 - beq _0207bc94 - add r0, r5, #0 - blx func_ov18_0215cb28 - add r0, r5, #0 - blx _ZN9SysObjectdlEPv -_0207bc94: - mov r0, #0 - str r0, [r4] -_0207bc98: - pop {r3, r4, r5, pc} - .align 2, 0 - thumb_func_end func_ov00_0207bc7c - - .global func_ov00_0207bc9c - arm_func_start func_ov00_0207bc9c -func_ov00_0207bc9c: ; 0x0207bc9c - stmdb sp!, {r3, lr} - ldr r0, [r0] - cmp r0, #0 - ldmeqia sp!, {r3, pc} - bl func_ov17_0215cef4 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207bc9c - - .global func_ov00_0207bcb4 - thumb_func_start func_ov00_0207bcb4 -func_ov00_0207bcb4: ; 0x0207bcb4 - mov r1, #0 - mvn r1, r1 - str r1, [r0] - str r1, [r0, #4] - mov r2, #0 - str r2, [r0, #8] - str r2, [r0, #0xc] - str r2, [r0, #0x10] - strh r2, [r0, #0x14] - mov r1, #2 - strb r2, [r0, #0x16] - lsl r1, r1, #0x12 - str r1, [r0, #0x20] - str r1, [r0, #0x18] - mov r1, #6 - lsl r1, r1, #0x10 - str r1, [r0, #0x24] - str r1, [r0, #0x1c] - str r2, [r0, #0x28] - bx lr - thumb_func_end func_ov00_0207bcb4 - - .global func_ov00_0207bcdc - thumb_func_start func_ov00_0207bcdc -func_ov00_0207bcdc: ; 0x0207bcdc - push {r4, r5, r6, lr} - add r4, r0, #0 - add r5, r1, #0 - add r6, r2, #0 - mov r1, #0 - ldr r2, [r4, #4] - mvn r1, r1 - cmp r2, r1 - beq _0207bcf2 - mov r0, #0 - pop {r4, r5, r6, pc} -_0207bcf2: - str r5, [r4, #4] - str r6, [r4, #8] - str r3, [r4, #0xc] - mov r1, #0 - strb r1, [r4, #0x16] - bl func_ov00_0207bdd4 - cmp r5, #3 - bhi _0207bd44 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0207bd10: ; jump table - .short _0207bd18 - _0207bd10 - 2 ; case 0 - .short _0207bd18 - _0207bd10 - 2 ; case 1 - .short _0207bd2c - _0207bd10 - 2 ; case 2 - .short _0207bd2c - _0207bd10 - 2 ; case 3 -_0207bd18: - cmp r5, #1 - bne _0207bd20 - mov r1, #1 - b _0207bd22 -_0207bd20: - mov r1, #0 -_0207bd22: - ldr r0, _0207bd48 ; =data_027e0db0 - bl func_ov00_0207b2c4 - strh r0, [r4, #0x14] - b _0207bd44 -_0207bd2c: - mov r0, #0xa0 - str r0, [r4, #0x28] - cmp r5, #2 - bne _0207bd38 - mov r2, #1 - b _0207bd3a -_0207bd38: - mov r2, #0 -_0207bd3a: - add r4, #0x18 - add r0, r4, #0 - mov r1, #0 - bl func_ov00_0207c8e4 -_0207bd44: - mov r0, #1 - pop {r4, r5, r6, pc} - .align 2, 0 - thumb_func_end func_ov00_0207bcdc -_0207bd48: .word data_027e0db0 - - .global func_ov00_0207bd4c - thumb_func_start func_ov00_0207bd4c -func_ov00_0207bd4c: ; 0x0207bd4c - push {r3, r4, r5, r6, r7, lr} - add r7, r2, #0 - add r2, r3, #0 - ldr r3, [sp, #0x18] - add r5, r0, #0 - add r4, r1, #0 - bl func_ov00_0207bcdc - add r6, r0, #0 - beq _0207bd92 - mov r0, #0 - cmp r4, #3 - bhi _0207bd8a - add r1, r4, r4 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0207bd72: ; jump table - .short _0207bd7a - _0207bd72 - 2 ; case 0 - .short _0207bd7a - _0207bd72 - 2 ; case 1 - .short _0207bd84 - _0207bd72 - 2 ; case 2 - .short _0207bd88 - _0207bd72 - 2 ; case 3 -_0207bd7a: - ldr r0, _0207bd98 ; =data_027e0db0 - ldr r1, [r0, #8] - ldr r0, [r0, #4] - sub r0, r1, r0 - b _0207bd8a -_0207bd84: - mov r0, #0xa0 - b _0207bd8a -_0207bd88: - mov r0, #0x60 -_0207bd8a: - add r1, r7, #0 - blx func_01ff9b4c - str r0, [r5, #0x10] -_0207bd92: - add r0, r6, #0 - pop {r3, r4, r5, r6, r7, pc} - nop - thumb_func_end func_ov00_0207bd4c -_0207bd98: .word data_027e0db0 - - .global func_ov00_0207bd9c - thumb_func_start func_ov00_0207bd9c -func_ov00_0207bd9c: ; 0x0207bd9c - push {r3, r4, r5, lr} - add r4, r0, #0 - add r5, r1, #0 - bl func_ov00_0207bcdc - cmp r0, #0 - beq _0207bdd2 - cmp r5, #3 - bhi _0207bdd2 - add r1, r5, r5 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0207bdba: ; jump table - .short _0207bdc2 - _0207bdba - 2 ; case 0 - .short _0207bdc2 - _0207bdba - 2 ; case 1 - .short _0207bdc8 - _0207bdba - 2 ; case 2 - .short _0207bdce - _0207bdba - 2 ; case 3 -_0207bdc2: - mov r1, #0xa - str r1, [r4, #0x10] - pop {r3, r4, r5, pc} -_0207bdc8: - mov r1, #0xa - str r1, [r4, #0x10] - pop {r3, r4, r5, pc} -_0207bdce: - mov r1, #0xa - str r1, [r4, #0x10] -_0207bdd2: - pop {r3, r4, r5, pc} - thumb_func_end func_ov00_0207bd9c - - .global func_ov00_0207bdd4 - thumb_func_start func_ov00_0207bdd4 -func_ov00_0207bdd4: ; 0x0207bdd4 - push {r3, lr} - add r2, r1, #1 - cmp r2, #3 - bhi _0207bdf6 - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_0207bde8: ; jump table - .short _0207bdf0 - _0207bde8 - 2 ; case 0 - .short _0207bdf6 - _0207bde8 - 2 ; case 1 - .short _0207bdf6 - _0207bde8 - 2 ; case 2 - .short _0207bdf6 - _0207bde8 - 2 ; case 3 -_0207bdf0: - bl func_ov00_0207bcb4 - pop {r3, pc} -_0207bdf6: - str r1, [r0] - pop {r3, pc} - .align 2, 0 - thumb_func_end func_ov00_0207bdd4 - - .global func_ov00_0207bdfc - thumb_func_start func_ov00_0207bdfc -func_ov00_0207bdfc: ; 0x0207bdfc - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - cmp r0, #0 - beq _0207be10 - cmp r0, #1 - beq _0207be28 - cmp r0, #2 - beq _0207be5a - pop {r4, pc} -_0207be10: - add r0, r4, #0 - ldr r2, [r4, #0x10] - add r0, #0x18 - blx func_ov00_0207c91c - cmp r0, #0 - beq _0207be80 - add r0, r4, #0 - mov r1, #1 - bl func_ov00_0207bdd4 - pop {r4, pc} -_0207be28: - ldr r2, [r4, #8] - cmp r2, #0 - beq _0207be34 - ldr r1, [r4, #0xc] - mov r0, #0 - blx r2 -_0207be34: - ldr r0, [r4] - cmp r0, #1 - bne _0207be80 - ldr r0, [r4, #4] - cmp r0, #2 - bne _0207be44 - mov r2, #1 - b _0207be46 -_0207be44: - mov r2, #0 -_0207be46: - add r0, r4, #0 - add r0, #0x18 - mov r1, #1 - bl func_ov00_0207c8e4 - add r0, r4, #0 - mov r1, #2 - bl func_ov00_0207bdd4 - pop {r4, pc} -_0207be5a: - add r0, r4, #0 - ldr r2, [r4, #0x10] - add r0, #0x18 - mov r1, #0xa0 - blx func_ov00_0207c91c - cmp r0, #0 - beq _0207be80 - ldr r2, [r4, #8] - cmp r2, #0 - beq _0207be76 - ldr r1, [r4, #0xc] - mov r0, #1 - blx r2 -_0207be76: - mov r1, #0 - add r0, r4, #0 - mvn r1, r1 - bl func_ov00_0207bdd4 -_0207be80: - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207bdfc - - .global func_ov00_0207be84 - arm_func_start func_ov00_0207be84 -func_ov00_0207be84: ; 0x0207be84 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - cmp r1, #0 - ldreqb r1, [r5, #0x16] - cmpeq r1, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r2, [r5, #4] - mvn r1, #0 - cmp r2, r1 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, [r5, #4] - cmp r1, #3 - addls pc, pc, r1, lsl #2 - ldmia sp!, {r3, r4, r5, pc} -_0207bebc: ; jump table - b _0207becc ; case 0 - b _0207becc ; case 1 - b _0207bfa4 ; case 2 - b _0207bfb0 ; case 3 -_0207becc: - ldr r1, [r5] - ldr r2, _0207bfbc ; =data_027e0db4 - cmp r1, #0 - ldr r4, _0207bfc0 ; =data_027e0db8 - beq _0207bef4 - cmp r1, #1 - beq _0207bf20 - cmp r1, #2 - beq _0207bf5c - ldmia sp!, {r3, r4, r5, pc} -_0207bef4: - ldr ip, [r2] - ldr r1, [r5, #0x10] - ldr r3, [r4] - add r1, ip, r1 - str r1, [r2] - cmp r1, r3 - ldmltia sp!, {r3, r4, r5, pc} - mov r1, #1 - str r3, [r2] - blx func_ov00_0207bdd4 - ldmia sp!, {r3, r4, r5, pc} -_0207bf20: - ldr r2, [r5, #8] - cmp r2, #0 - beq _0207bf38 - ldr r1, [r5, #0xc] - mov r0, #0 - blx r2 -_0207bf38: - ldr r0, [r5] - cmp r0, #1 - ldmneia sp!, {r3, r4, r5, pc} - ldrsh r2, [r5, #0x14] - mov r0, r5 - mov r1, #2 - str r2, [r4] - blx func_ov00_0207bdd4 - ldmia sp!, {r3, r4, r5, pc} -_0207bf5c: - ldr r3, [r2] - ldr r1, [r5, #0x10] - ldr r0, [r4] - sub r1, r3, r1 - str r1, [r2] - cmp r1, r0 - ldmgtia sp!, {r3, r4, r5, pc} - str r0, [r2] - ldr r2, [r5, #8] - cmp r2, #0 - beq _0207bf94 - ldr r1, [r5, #0xc] - mov r0, #1 - blx r2 -_0207bf94: - mov r0, r5 - mvn r1, #0 - blx func_ov00_0207bdd4 - ldmia sp!, {r3, r4, r5, pc} -_0207bfa4: - mov r1, #0 - blx func_ov00_0207bdfc - ldmia sp!, {r3, r4, r5, pc} -_0207bfb0: - mov r1, #0x40 - blx func_ov00_0207bdfc - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0207be84 -_0207bfbc: .word data_027e0db4 -_0207bfc0: .word data_027e0db8 - - .global func_ov00_0207bfc4 - thumb_func_start func_ov00_0207bfc4 -func_ov00_0207bfc4: ; 0x0207bfc4 - push {r4, lr} - add r4, r0, #0 - bl func_0202ab78 - add r0, r4, #0 - mov r1, #1 - add r0, #0x24 - strb r1, [r0] - add r0, r4, #0 - mov r1, #0 - add r0, #0x25 - strb r1, [r0] - add r0, r4, #0 - add r0, #0x26 - strb r1, [r0] - add r0, r4, #0 - add r0, #0x27 - strb r1, [r0] - add r0, r4, #0 - add r0, #0x28 - strb r1, [r0] - add r0, r4, #0 - add r0, #0x29 - strb r1, [r0] - mov r0, #0x14 - strh r0, [r4, #0x2a] - mov r0, #0x28 - strh r0, [r4, #0x2c] - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207bfc4 - - .global func_ov00_0207c000 - thumb_func_start func_ov00_0207c000 -func_ov00_0207c000: ; 0x0207c000 - push {r3, lr} - add r1, r0, #0 - add r1, #0x25 - ldrb r1, [r1] - cmp r1, #0 - beq _0207c02a - add r1, r0, #0 - mov r2, #1 - add r1, #0x24 - strb r2, [r1] - add r1, r0, #0 - mov r2, #0 - add r1, #0x25 - strb r2, [r1] - mov r1, #0x14 - strh r1, [r0, #0x2a] - mov r1, #0x28 - strh r1, [r0, #0x2c] - ldr r0, _0207c02c ; =data_027e0e2c - bl func_ov00_0207bcb4 -_0207c02a: - pop {r3, pc} - .align 2, 0 - thumb_func_end func_ov00_0207c000 -_0207c02c: .word data_027e0e2c - - .global func_ov00_0207c030 - thumb_func_start func_ov00_0207c030 -func_ov00_0207c030: ; 0x0207c030 - add r2, r0, #0 - add r2, #0x25 - ldrb r2, [r2] - mov r1, #0 - cmp r2, #0 - beq _0207c04e - ldr r0, _0207c06c ; =data_027e077c - ldr r1, [r0] - ldr r0, _0207c070 ; =data_02056be4 - ldrb r0, [r0, r1] - mov r1, #1 - tst r0, r1 - beq _0207c066 - mov r1, #2 - b _0207c066 -_0207c04e: - add r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _0207c066 - ldr r0, _0207c06c ; =data_027e077c - ldr r1, [r0] - ldr r0, _0207c070 ; =data_02056be4 - ldrb r0, [r0, r1] - mov r1, #1 - tst r0, r1 - bne _0207c066 - mov r1, #2 -_0207c066: - add r0, r1, #0 - bx lr - nop - thumb_func_end func_ov00_0207c030 -_0207c06c: .word data_027e077c -_0207c070: .word data_02056be4 - - .global func_ov00_0207c074 - thumb_func_start func_ov00_0207c074 -func_ov00_0207c074: ; 0x0207c074 - push {r4, lr} - add r4, r0, #0 - add r1, r4, #0 - mov r2, #0 - add r1, #0x29 - strb r2, [r1] - add r1, r4, #0 - add r1, #0x24 - ldrb r1, [r1] - cmp r1, #0 - beq _0207c0a4 - bl func_ov00_0207c030 - add r2, r0, #0 - ldrh r1, [r4, #0x2a] - add r0, r4, #0 - bl func_0202abdc - cmp r0, #0 - beq _0207c0a4 - ldr r0, _0207c0a8 ; =data_027e071c - add r1, r4, #0 - blx func_0202d77c -_0207c0a4: - pop {r4, pc} - nop - thumb_func_end func_ov00_0207c074 -_0207c0a8: .word data_027e071c - - .global func_ov00_0207c0ac - thumb_func_start func_ov00_0207c0ac -func_ov00_0207c0ac: ; 0x0207c0ac - push {r4, lr} - mov r3, #0 - mvn r3, r3 - cmp r1, r3 - beq _0207c0c6 - ldr r3, _0207c0c8 ; =data_027e0cbc - ldr r4, [r3, #0x1c] - str r4, [r0] - cmp r4, r1 - beq _0207c0c6 - add r0, r3, #0 - blx func_ov03_020fa874 -_0207c0c6: - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207c0ac -_0207c0c8: .word data_027e0cbc - - .global func_ov00_0207c0cc - thumb_func_start func_ov00_0207c0cc -func_ov00_0207c0cc: ; 0x0207c0cc - push {r4, lr} - add r4, r0, #0 - add r2, r1, #0 - mov r0, #0 - ldr r1, [r4] - mvn r0, r0 - cmp r1, r0 - beq _0207c0e8 - ldr r0, _0207c0ec ; =data_027e0cbc - blx func_ov03_020fa874 - mov r0, #0 - mvn r0, r0 - str r0, [r4] -_0207c0e8: - pop {r4, pc} - nop - thumb_func_end func_ov00_0207c0cc -_0207c0ec: .word data_027e0cbc - - .global func_ov00_0207c0f0 - thumb_func_start func_ov00_0207c0f0 -func_ov00_0207c0f0: ; 0x0207c0f0 - push {r3, lr} - add r3, r0, #0 - mov r2, #0 - add r0, #0x3c - strb r2, [r0] - cmp r1, #2 - beq _0207c106 - cmp r1, #6 - beq _0207c106 - cmp r1, #7 - bne _0207c110 -_0207c106: - ldr r0, _0207c114 ; =data_ov00_020ec718 - add r1, r3, #0 - mov r2, #0x3c - blx func_020078d8 -_0207c110: - pop {r3, pc} - nop - thumb_func_end func_ov00_0207c0f0 -_0207c114: .word data_ov00_020ec718 - - .global func_ov00_0207c118 - thumb_func_start func_ov00_0207c118 -func_ov00_0207c118: ; 0x0207c118 - push {r4, r5, lr} - sub sp, #0x114 - add r4, r1, #0 - add r5, r0, #0 - add r1, sp, #0x14 - mov r2, #0x80 - blx func_02007ad8 - add r0, r5, #0 - add r1, sp, #0x94 - mov r2, #0x80 - blx func_02007ad8 - mov r3, #0 - str r3, [sp] - ldr r1, _0207c168 ; =0x0003f500 - add r5, r4, #0 - mul r5, r1 - ldr r1, _0207c16c ; =0x0003f200 - str r3, [sp, #4] - mov r0, #7 - str r0, [sp, #8] - mov r0, #0xa - str r0, [sp, #0xc] - mov r2, #2 - str r2, [sp, #0x10] - add r0, sp, #0x14 - add r1, r5, r1 - add r2, #0xfe - bl func_02040464 - cmp r0, #0 - beq _0207c160 - add sp, #0x114 - mov r0, #1 - pop {r4, r5, pc} -_0207c160: - mov r0, #0 - add sp, #0x114 - pop {r4, r5, pc} - nop - thumb_func_end func_ov00_0207c118 -_0207c168: .word 0x0003f500 -_0207c16c: .word 0x0003f200 - - .global func_ov00_0207c170 - thumb_func_start func_ov00_0207c170 -func_ov00_0207c170: ; 0x0207c170 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - add r5, r0, #0 - add r6, r4, #0 - mov r7, #0x14 -_0207c17a: - add r0, r6, #0 - add r1, r5, #0 - add r2, r7, #0 - blx func_020078c0 - add r4, r4, #1 - add r5, #0x14 - cmp r4, #3 - blt _0207c17a - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end func_ov00_0207c170 - - .global func_ov00_0207c190 - thumb_func_start func_ov00_0207c190 -func_ov00_0207c190: ; 0x0207c190 - mov r2, #0 - add r3, r2, #0 -_0207c194: - ldrb r1, [r0, #0x12] - cmp r1, #0 - beq _0207c1a2 - ldrh r1, [r0] - cmp r1, #0 - bne _0207c1a2 - add r2, r2, #1 -_0207c1a2: - add r3, r3, #1 - add r0, #0x14 - cmp r3, #3 - blt _0207c194 - add r0, r2, #0 - bx lr - .align 2, 0 - thumb_func_end func_ov00_0207c190 - - .global func_ov00_0207c1b0 - arm_func_start func_ov00_0207c1b0 -func_ov00_0207c1b0: ; 0x0207c1b0 - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr lr, [sp, #0x10] - cmp r1, #0x1000 - movge r4, #1 - movlt r4, #0 - ldr ip, [sp, #0x14] - str lr, [sp] - cmp r1, #0x1000 - orrge r3, r3, #0x8000 - cmp r1, #0x1000 - str ip, [sp, #4] - add r0, r0, r4, lsl #2 - ldr r0, [r0, #0x10] - subge r1, r1, #0x1000 - bl func_ov00_0207c694 - add sp, sp, #8 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207c1b0 - - .global func_ov00_0207c1f8 - arm_func_start func_ov00_0207c1f8 -func_ov00_0207c1f8: ; 0x0207c1f8 - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #4 - mov r6, r2 - cmp r6, #0x1000 - movge r4, #1 - mov r7, r1 - mov r8, r0 - mov r0, r7 - mov r5, r3 - movlt r4, #0 - bl func_ov00_020b7e6c - cmp r6, #0x1000 - ldrge r0, [sp, #0x20] - mov r1, r7 - orrge r0, r0, #0x8000 - ldrlt r0, [sp, #0x20] - cmp r6, #0x1000 - str r0, [sp] - add r0, r8, r4, lsl #2 - subge r6, r6, #0x1000 - ldr r0, [r0, #0x10] - mov r2, r6 - mov r3, r5 - bl func_ov00_0207c6ec - add sp, sp, #4 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_0207c1f8 - - .global func_ov00_0207c260 - arm_func_start func_ov00_0207c260 -func_ov00_0207c260: ; 0x0207c260 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - ldr r6, [sp, #0x28] - ldr r5, [sp, #0x2c] - mov r9, r1 - mov r8, r2 - mov r10, r0 - mov r7, r3 - cmp r9, r8 - ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - orr r11, r5, #0x8000 -_0207c288: - ldr r0, [r7] - cmp r0, #0x1000 - movge r0, #1 - movlt r0, #0 - add r1, r10, r0, lsl #2 - mov r0, r9 - ldr r4, [r1, #0x10] - bl func_ov00_020b7e6c - ldr r2, [r7] - mov r0, r4 - cmp r2, #0x1000 - movge ip, r11 - movlt ip, r5 - cmp r2, #0x1000 - subge r2, r2, #0x1000 - mov r1, r9 - mov r3, r6 - str ip, [sp] - bl func_ov00_0207c6ec - add r9, r9, #4 - cmp r9, r8 - add r7, r7, #4 - bne _0207c288 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0207c260 - - .global func_ov00_0207c2e8 - arm_func_start func_ov00_0207c2e8 -func_ov00_0207c2e8: ; 0x0207c2e8 - stmdb sp!, {r3, lr} - sub sp, sp, #0x10 - ldr lr, [sp, #0x18] - str r2, [sp, #8] - str r3, [sp, #0xc] - ldr ip, [sp, #0x1c] - str lr, [sp] - add r3, sp, #8 - add r2, r1, #8 - str ip, [sp, #4] - bl func_ov00_0207c260 - add sp, sp, #0x10 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207c2e8 - - .global func_ov00_0207c31c - arm_func_start func_ov00_0207c31c -func_ov00_0207c31c: ; 0x0207c31c - stmdb sp!, {lr} - sub sp, sp, #0x14 - ldr ip, [sp, #0x18] - ldr lr, [sp, #0x1c] - str r2, [sp, #8] - str r3, [sp, #0xc] - str ip, [sp, #0x10] - ldr ip, [sp, #0x20] - str lr, [sp] - add r3, sp, #8 - add r2, r1, #0xc - str ip, [sp, #4] - bl func_ov00_0207c260 - add sp, sp, #0x14 - ldmia sp!, {pc} - arm_func_end func_ov00_0207c31c - - .global func_ov00_0207c358 - arm_func_start func_ov00_0207c358 -func_ov00_0207c358: ; 0x0207c358 - stmdb sp!, {r3, lr} - sub sp, sp, #0x18 - ldr lr, [sp, #0x20] - ldr ip, [sp, #0x24] - str r2, [sp, #8] - str r3, [sp, #0xc] - str ip, [sp, #0x14] - ldr r2, [sp, #0x28] - str lr, [sp, #0x10] - str r2, [sp] - ldr ip, [sp, #0x2c] - add r3, sp, #8 - add r2, r1, #0x10 - str ip, [sp, #4] - bl func_ov00_0207c260 - add sp, sp, #0x18 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207c358 - - .global func_ov00_0207c39c - arm_func_start func_ov00_0207c39c -func_ov00_0207c39c: ; 0x0207c39c - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x1c - ldr r4, [sp, #0x28] - ldr lr, [sp, #0x2c] - ldr ip, [sp, #0x30] - str r2, [sp, #8] - str r3, [sp, #0xc] - str ip, [sp, #0x18] - ldr r2, [sp, #0x34] - str r4, [sp, #0x10] - str lr, [sp, #0x14] - str r2, [sp] - ldr ip, [sp, #0x38] - add r3, sp, #8 - add r2, r1, #0x14 - str ip, [sp, #4] - bl func_ov00_0207c260 - add sp, sp, #0x1c - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0207c39c - - .global func_ov00_0207c3e8 - arm_func_start func_ov00_0207c3e8 -func_ov00_0207c3e8: ; 0x0207c3e8 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x24 - ldr r6, [sp, #0x38] - ldr r5, [sp, #0x3c] - ldr r4, [sp, #0x40] - ldr lr, [sp, #0x44] - ldr ip, [sp, #0x48] - str r2, [sp, #8] - str r3, [sp, #0xc] - str ip, [sp, #0x20] - ldr r2, [sp, #0x4c] - str r6, [sp, #0x10] - str r5, [sp, #0x14] - str r4, [sp, #0x18] - str lr, [sp, #0x1c] - str r2, [sp] - ldr ip, [sp, #0x50] - add r3, sp, #8 - add r2, r1, #0x1c - str ip, [sp, #4] - bl func_ov00_0207c260 - add sp, sp, #0x24 - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_0207c3e8 - - .global func_ov00_0207c444 - arm_func_start func_ov00_0207c444 -func_ov00_0207c444: ; 0x0207c444 - stmdb sp!, {r3, lr} - ldr r2, [r1] - cmp r2, #0 - ldmeqia sp!, {r3, pc} - ldr r2, [r2, #0x9c] - tst r2, #0x8000 - movne r2, #1 - moveq r2, #0 - add r0, r0, r2, lsl #2 - ldr r0, [r0, #0x10] - bl func_ov00_0207c748 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207c444 - - .global func_ov00_0207c474 - arm_func_start func_ov00_0207c474 -func_ov00_0207c474: ; 0x0207c474 - stmdb sp!, {r3, lr} - mov r3, r2 - ldr r2, [r1, #4] - ldr ip, [r1] - cmp r2, #0x1000 - movge lr, #1 - movlt lr, #0 - cmp ip, #0 - bne _0207c4c0 - ldr ip, [r1, #8] - cmp r2, #0x1000 - orrge ip, ip, #0x8000 - str ip, [sp] - add r0, r0, lr, lsl #2 - cmp r2, #0x1000 - ldr r0, [r0, #0x10] - subge r2, r2, #0x1000 - bl func_ov00_0207c6ec - ldmia sp!, {r3, pc} -_0207c4c0: - ldr r0, [r1] - cmp r0, #0 - ldmeqia sp!, {r3, pc} - ldr r1, [r0, #0x20] - ldr r2, [r3] - ldr r1, [r1] - ldr r1, [r1, #4] - add r1, r2, r1 - str r1, [r0, #0x28] - ldr r1, [r0, #0x20] - ldr r2, [r3, #4] - ldr r1, [r1] - ldr r1, [r1, #8] - add r1, r2, r1 - str r1, [r0, #0x2c] - ldr r1, [r0, #0x20] - ldr r2, [r3, #8] - ldr r1, [r1] - ldr r1, [r1, #0xc] - add r1, r2, r1 - str r1, [r0, #0x30] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207c474 - - .global func_ov00_0207c518 - arm_func_start func_ov00_0207c518 -func_ov00_0207c518: ; 0x0207c518 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r6, r1 - mov r5, r2 - ldr r2, [r6, #4] - mov r7, r0 - cmp r2, #0x1000 - movge r4, #1 - ldr r0, [r6] - movlt r4, #0 - cmp r0, #0 - bne _0207c588 - ldr r0, [r6, #8] - cmp r2, #0x1000 - orrge r0, r0, #0x8000 - orr r0, r0, #0x4000 - str r0, [sp] - add r0, r7, r4, lsl #2 - cmp r2, #0x1000 - ldr r0, [r0, #0x10] - subge r2, r2, #0x1000 - mov r1, r6 - mov r3, r5 - bl func_ov00_0207c6ec - ldr r1, [r6] - cmp r1, #0 - ldrne r0, [r1, #0x24] - orrne r0, r0, #2 - strne r0, [r1, #0x24] -_0207c588: - ldr r0, [r6] - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - add r0, r7, r4, lsl #2 - ldr r0, [r0, #0x10] - ldr r1, [r6] - ldr r0, [r0] - mov r2, r5 - bl func_02012934 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207c518 - - .global func_ov00_0207c5b0 - thumb_func_start func_ov00_0207c5b0 -func_ov00_0207c5b0: ; 0x0207c5b0 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - add r5, r0, #0 - add r6, r1, #0 - sub r7, r4, #1 -_0207c5ba: - ldr r0, [r5] - cmp r0, r7 - beq _0207c5c8 - ldr r0, [r5, #0x10] - add r1, r6, #0 - bl func_ov00_0207c770 -_0207c5c8: - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #2 - blt _0207c5ba - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end func_ov00_0207c5b0 - - .global func_ov00_0207c5d4 - arm_func_start func_ov00_0207c5d4 -func_ov00_0207c5d4: ; 0x0207c5d4 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - mov r8, r0 - mov r7, r1 - mov r6, r2 - mov r5, #0 - mvn r4, #0 -_0207c5ec: - ldr r0, [r8, r5, lsl #2] - cmp r0, r4 - beq _0207c60c - add r0, r8, r5, lsl #2 - ldr r0, [r0, #0x10] - mov r1, r7 - mov r2, r6 - bl func_ov00_0207c798 -_0207c60c: - add r5, r5, #1 - cmp r5, #2 - blt _0207c5ec - ldmia sp!, {r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_0207c5d4 - - .global func_ov00_0207c61c - arm_func_start func_ov00_0207c61c -func_ov00_0207c61c: ; 0x0207c61c - stmdb sp!, {r3, lr} - ldr r2, [r1] - str r2, [r0, #0x9c] - ldr r2, [r0, #0x20] - ldr r2, [r2] - ldr r2, [r2, #0x58] - mov r2, r2, lsl #0x18 - mov r2, r2, lsr #0x18 - and r2, r2, #0xff - tst r2, #0x80 - beq _0207c658 - ldr r2, _0207c670 ; =data_027e0e58 - ldr r2, [r2] - ldrh r2, [r2, #0x22] - strh r2, [r0, #0x76] -_0207c658: - ldr r2, [r1, #8] - cmp r2, #0 - ldmeqia sp!, {r3, pc} - ldr r1, [r1, #4] - blx r2 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207c61c -_0207c670: .word data_027e0e58 - - .global func_ov00_0207c674 - arm_func_start func_ov00_0207c674 -func_ov00_0207c674: ; 0x0207c674 - stmdb sp!, {r3, lr} - ldr r1, _0207c690 ; =data_027e0618 - ldr r1, [r1] - cmp r1, #6 - ldmneia sp!, {r3, pc} - bl func_ov12_02133c40 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207c674 -_0207c690: .word data_027e0618 - - .global func_ov00_0207c694 - arm_func_start func_ov00_0207c694 -func_ov00_0207c694: ; 0x0207c694 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x10 - mov r6, r0 - mov r0, r1 - mov r5, r2 - mov r4, r3 - bl func_ov00_0207c674 - ldr r3, [sp, #0x20] - ldr r2, [sp, #0x24] - str r3, [sp, #8] - str r2, [sp, #0xc] - ldr r1, _0207c6e8 ; =func_ov00_0207c61c - str r4, [sp, #4] - str r1, [sp] - mov r1, r0 - ldr r0, [r6] - add r3, sp, #4 - mov r2, r5 - bl func_02012830 - add sp, sp, #0x10 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0207c694 -_0207c6e8: .word func_ov00_0207c61c - - .global func_ov00_0207c6ec - arm_func_start func_ov00_0207c6ec -func_ov00_0207c6ec: ; 0x0207c6ec - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x10 - mov r6, r0 - mov r0, r2 - mov r5, r1 - mov r4, r3 - bl func_ov00_0207c674 - mov r2, #0 - ldr r3, [sp, #0x20] - ldr r1, _0207c744 ; =func_ov00_0207c61c - str r3, [sp, #4] - str r2, [sp, #8] - str r2, [sp, #0xc] - str r1, [sp] - mov r1, r0 - ldr r0, [r6] - add r3, sp, #4 - mov r2, r4 - bl func_02012830 - str r0, [r5] - add sp, sp, #0x10 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0207c6ec -_0207c744: .word func_ov00_0207c61c - - .global func_ov00_0207c748 - arm_func_start func_ov00_0207c748 -func_ov00_0207c748: ; 0x0207c748 - stmdb sp!, {r4, lr} - mov r4, r1 - ldr r1, [r4] - cmp r1, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [r0] - bl func_020128bc - mov r0, #0 - str r0, [r4] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207c748 - - .global func_ov00_0207c770 - thumb_func_start func_ov00_0207c770 -func_ov00_0207c770: ; 0x0207c770 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5] - add r6, r1, #0 - ldr r1, [r0, #4] - cmp r1, #0 - beq _0207c796 -_0207c77e: - add r0, r1, #0 - add r0, #0x9c - ldr r0, [r0] - ldr r4, [r1] - tst r0, r6 - beq _0207c790 - ldr r0, [r5] - blx func_020128bc -_0207c790: - add r1, r4, #0 - cmp r4, #0 - bne _0207c77e -_0207c796: - pop {r4, r5, r6, pc} - thumb_func_end func_ov00_0207c770 - - .global func_ov00_0207c798 - arm_func_start func_ov00_0207c798 -func_ov00_0207c798: ; 0x0207c798 - ldr r0, [r0] - ldr r3, [r0, #4] - cmp r3, #0 - bxeq lr - cmp r2, #0 - moveq r0, #1 - movne r0, #0 - mov r0, r0, lsl #0x1f -_0207c7b8: - ldr r2, [r3, #0x9c] - ldr ip, [r3] - tst r1, r2 - beq _0207c7d8 - ldr r2, [r3, #0x24] - bic r2, r2, #8 - orr r2, r2, r0, lsr #28 - str r2, [r3, #0x24] -_0207c7d8: - mov r3, ip - cmp ip, #0 - bne _0207c7b8 - bx lr - arm_func_end func_ov00_0207c798 - - .global func_ov00_0207c7e8 - arm_func_start func_ov00_0207c7e8 -func_ov00_0207c7e8: ; 0x0207c7e8 - ldr r3, _0207c800 ; =data_ov00_020d88cc - ldrh r2, [r0] - ldrb r1, [r3, r1] - cmp r2, r1 - strloh r1, [r0] - bx lr - .align 2, 0 - arm_func_end func_ov00_0207c7e8 -_0207c800: .word data_ov00_020d88cc - - .global func_ov00_0207c804 - thumb_func_start func_ov00_0207c804 -func_ov00_0207c804: ; 0x0207c804 - push {r3, r4, r5, r6, lr} - sub sp, #0x24 - ldr r3, _0207c8d0 ; =data_027e0f94 - add r6, r2, #0 - add r5, r0, #0 - add r4, r1, #0 - ldmia r3!, {r0, r1} - add r2, sp, #0x18 - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - ldr r0, _0207c8d4 ; =data_027e0d38 - ldr r0, [r0] - blx func_ov00_02078b40 - cmp r0, #2 - bne _0207c830 - ldr r1, [sp, #0x1c] - ldr r0, _0207c8d8 ; =0x0000019a - add r0, r1, r0 - str r0, [sp, #0x1c] - b _0207c876 -_0207c830: - cmp r5, #0 - beq _0207c840 - mov r0, #3 - ldr r1, [sp, #0x1c] - lsl r0, r0, #0xa - add r0, r1, r0 - str r0, [sp, #0x1c] - b _0207c876 -_0207c840: - ldr r0, _0207c8dc ; =data_027e0fcc - ldr r2, [sp, #0x18] - ldr r1, [r0] - add r1, #0x40 - add r0, r1, #0 - add r1, #0x84 - ldr r1, [r1] - add r0, #0x84 - add r2, r2, r1 - lsr r1, r2, #0x1f - add r1, r2, r1 - asr r1, r1, #1 - str r1, [sp, #0x18] - ldr r2, [sp, #0x1c] - ldr r1, [r0, #4] - add r2, r2, r1 - lsr r1, r2, #0x1f - add r1, r2, r1 - asr r1, r1, #1 - str r1, [sp, #0x1c] - ldr r1, [sp, #0x20] - ldr r0, [r0, #8] - add r1, r1, r0 - lsr r0, r1, #0x1f - add r0, r1, r0 - asr r0, r0, #1 - str r0, [sp, #0x20] -_0207c876: - ldr r0, [sp, #0x18] - add r1, sp, #0xc - str r0, [sp, #0xc] - ldr r0, [sp, #0x1c] - add r2, sp, #8 - str r0, [sp, #0x10] - ldr r0, [sp, #0x20] - add r3, sp, #4 - str r0, [sp, #0x14] - mov r0, #1 - str r0, [sp] - ldr r0, _0207c8e0 ; =data_027e0f64 - ldr r0, [r0] - ldr r0, [r0, #4] - blx func_01ffe468 - cmp r0, #0 - beq _0207c8c8 - mov r1, #0x1f - ldr r2, [sp, #8] - mvn r1, r1 - cmp r2, r1 - blt _0207c8c8 - mov r0, #0x12 - lsl r0, r0, #4 - cmp r2, r0 - bge _0207c8c8 - ldr r0, [sp, #4] - add r1, #8 - cmp r0, r1 - blt _0207c8c8 - cmp r0, #0xd8 - bge _0207c8c8 - lsl r0, r2, #0xc - str r0, [r4] - ldr r0, [sp, #4] - add sp, #0x24 - lsl r0, r0, #0xc - str r0, [r6] - mov r0, #1 - pop {r3, r4, r5, r6, pc} -_0207c8c8: - mov r0, #0 - add sp, #0x24 - pop {r3, r4, r5, r6, pc} - nop - thumb_func_end func_ov00_0207c804 -_0207c8d0: .word data_027e0f94 -_0207c8d4: .word data_027e0d38 -_0207c8d8: .word 0x0000019a -_0207c8dc: .word data_027e0fcc -_0207c8e0: .word data_027e0f64 - - .global func_ov00_0207c8e4 - thumb_func_start func_ov00_0207c8e4 -func_ov00_0207c8e4: ; 0x0207c8e4 - push {r3, lr} - add r3, r0, #0 - mov r0, #2 - lsl r0, r0, #0x12 - str r0, [r3, #8] - str r0, [r3] - mov r0, #6 - lsl r0, r0, #0x10 - str r0, [r3, #0xc] - str r0, [r3, #4] - cmp r2, #0 - beq _0207c91a - cmp r1, #0 - bne _0207c910 - add r0, r1, #0 - add r1, r3, #0 - add r3, #0xc - add r1, #8 - add r2, r3, #0 - bl func_ov00_0207c804 - pop {r3, pc} -_0207c910: - add r0, r1, #0 - add r1, r3, #0 - add r2, r3, #4 - bl func_ov00_0207c804 -_0207c91a: - pop {r3, pc} - thumb_func_end func_ov00_0207c8e4 - - .global func_ov00_0207c91c - arm_func_start func_ov00_0207c91c -func_ov00_0207c91c: ; 0x0207c91c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - ldr r0, [r7, #0x10] - mov r6, r1 - mov r5, r2 - cmp r0, r6 - beq _0207c9d8 - subs r0, r6, r0 - rsbmi r0, r0, #0 - mov r0, r0, lsl #0xc - mov r1, r5, lsl #0xc - bl Divide - mov r4, r0 - ldr r2, [r7, #8] - cmp r4, #0x1000 - strle r2, [r7] - ble _0207c97c - ldr r0, [r7] - mov r1, r4 - sub r0, r2, r0 - bl Divide - ldr r1, [r7] - add r0, r1, r0 - str r0, [r7] -_0207c97c: - ldr r2, [r7, #0xc] - cmp r4, #0x1000 - strle r2, [r7, #4] - ble _0207c9a8 - ldr r0, [r7, #4] - mov r1, r4 - sub r0, r2, r0 - bl Divide - ldr r1, [r7, #4] - add r0, r1, r0 - str r0, [r7, #4] -_0207c9a8: - ldr r0, [r7, #0x10] - cmp r0, r6 - bge _0207c9c8 - add r0, r0, r5 - cmp r0, r6 - movge r0, r6 - str r0, [r7, #0x10] - b _0207c9d8 -_0207c9c8: - sub r0, r0, r5 - cmp r0, r6 - movle r0, r6 - str r0, [r7, #0x10] -_0207c9d8: - ldr r0, [r7, #0x10] - cmp r0, r6 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, r6, r7, pc} - ldr r1, [r7, #8] - mov r0, #1 - str r1, [r7] - ldr r1, [r7, #0xc] - str r1, [r7, #4] - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207c91c - - .global func_ov00_0207ca00 - arm_func_start func_ov00_0207ca00 -func_ov00_0207ca00: ; 0x0207ca00 - ldr r2, [r0, #0x268] - str r2, [r1] - ldr r2, [r0, #4] - cmp r2, #3 - bxeq lr - ldr r2, [r0, #0x260] - strb r2, [r1, #4] - ldrb r0, [r0, #0x25d] - strb r0, [r1, #5] - bx lr - arm_func_end func_ov00_0207ca00 - - .global func_ov00_0207ca28 - arm_func_start func_ov00_0207ca28 -func_ov00_0207ca28: ; 0x0207ca28 - stmdb sp!, {r3, lr} - ldr ip, [r0, #4] - add r0, r0, r1, lsl #2 - cmp ip, #3 - ldr r0, [r0, #0xcc] - bne _0207ca54 - mov r1, r2 - mov r2, r3 - mov r3, #1 - bl func_ov00_020972e4 - ldmia sp!, {r3, pc} -_0207ca54: - mov r1, r2 - mov r2, r3 - mov r3, #0 - bl func_ov00_020972e4 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207ca28 - - .global func_ov00_0207ca68 - arm_func_start func_ov00_0207ca68 -func_ov00_0207ca68: ; 0x0207ca68 - ldr ip, _0207ca74 ; =strcpy - add r0, r0, #0xc - bx ip - .align 2, 0 - arm_func_end func_ov00_0207ca68 -_0207ca74: .word strcpy - - .global func_ov00_0207ca78 - arm_func_start func_ov00_0207ca78 -func_ov00_0207ca78: ; 0x0207ca78 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r2 - bl func_ov00_0207d9cc - movs r1, r0 - ldmeqia sp!, {r3, r4, r5, pc} - strb r4, [r1] - ldr r0, [r5, #0xc8] - ldr r1, [r1, #8] - mov r2, #1 - bl func_ov00_020a3510 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207ca78 - - .global func_ov00_0207caa8 - arm_func_start func_ov00_0207caa8 -func_ov00_0207caa8: ; 0x0207caa8 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x10 - cmp r1, #0 - mov r5, r2 - mov r4, r3 - addeq sp, sp, #0x10 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - mov r3, #0x47 - mov r2, #0 - strb r2, [sp, #0xc] - str r3, [sp] - ldr r0, [r0, #0xc8] - add r2, sp, #0 - bl func_ov00_020a3710 - cmp r0, #0 - addeq sp, sp, #0x10 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, [sp] - mov r0, #1 - str r1, [r5] - ldrb r1, [sp, #4] - strb r1, [r4] - ldrb r1, [sp, #5] - strb r1, [r4, #1] - ldrh r1, [sp, #6] - strh r1, [r4, #2] - ldrh r1, [sp, #8] - strh r1, [r4, #4] - ldrh r1, [sp, #0xa] - strh r1, [r4, #6] - add sp, sp, #0x10 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207caa8 - - .global func_ov00_0207cb30 - arm_func_start func_ov00_0207cb30 -func_ov00_0207cb30: ; 0x0207cb30 - stmdb sp!, {r3, lr} - sub sp, sp, #0x10 - cmp r1, #0 - addeq sp, sp, #0x10 - ldreq r0, _0207cb78 ; =0x0000ffff - ldmeqia sp!, {r3, pc} - mov r3, #0x47 - mov r2, #0 - strb r2, [sp, #0xc] - str r3, [sp] - ldr r0, [r0, #0xc8] - add r2, sp, #0 - bl func_ov00_020a3710 - cmp r0, #0 - ldrneh r0, [sp, #0xa] - ldreq r0, _0207cb78 ; =0x0000ffff - add sp, sp, #0x10 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207cb30 -_0207cb78: .word 0x0000ffff - - .global func_ov00_0207cb7c - arm_func_start func_ov00_0207cb7c -func_ov00_0207cb7c: ; 0x0207cb7c - stmdb sp!, {r3, r4, r5, lr} - mov lr, #0 - mov r5, r1 - mov ip, lr -_0207cb8c: - mov r4, ip -_0207cb90: - add r3, r5, r4 - ldrb r3, [r3, #0x20] - cmp r2, r3 - streqb lr, [r0] - streqb r4, [r0, #1] - ldmeqia sp!, {r3, r4, r5, pc} - add r4, r4, #1 - cmp r4, #0xa - blt _0207cb90 - add lr, lr, #1 - cmp lr, #0xa - add r5, r5, #0xa - blt _0207cb8c - ldrb r2, [r1, #0x1d] - ldrb r1, [r1, #0x1c] - strb r1, [r0] - strb r2, [r0, #1] - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207cb7c - - .global func_ov00_0207cbd8 - arm_func_start func_ov00_0207cbd8 -func_ov00_0207cbd8: ; 0x0207cbd8 - stmdb sp!, {r3, lr} - bl func_ov00_0207d9cc - add r0, r0, #0x14 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207cbd8 - - .global func_ov00_0207cbe8 - arm_func_start func_ov00_0207cbe8 -func_ov00_0207cbe8: ; 0x0207cbe8 - stmdb sp!, {r3, lr} - sub sp, sp, #0x10 - cmp r1, #0 - addeq sp, sp, #0x10 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - mov r3, #0x47 - mov r2, #0 - strb r2, [sp, #0xc] - str r3, [sp] - ldr r0, [r0, #0xc8] - add r2, sp, #0 - bl func_ov00_020a3710 - add sp, sp, #0x10 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207cbe8 - - .global func_ov00_0207cc24 - arm_func_start func_ov00_0207cc24 -func_ov00_0207cc24: ; 0x0207cc24 - stmdb sp!, {r3, lr} - sub sp, sp, #0x10 - cmp r1, #0 - addeq sp, sp, #0x10 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - mov r3, #0x47 - mov r2, #0 - strb r2, [sp, #0xc] - str r3, [sp] - ldr r0, [r0, #0xc8] - add r2, sp, #0 - bl func_ov00_020a3710 - cmp r0, #0 - ldrneb r0, [sp, #0xc] - moveq r0, #0 - add sp, sp, #0x10 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207cc24 - - .global func_ov00_0207cc6c - arm_func_start func_ov00_0207cc6c -func_ov00_0207cc6c: ; 0x0207cc6c - stmdb sp!, {r3, lr} - bl func_ov00_0207d9cc - cmp r0, #0 - moveq r0, #0 - ldrne r0, [r0, #8] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207cc6c - - .global func_ov00_0207cc84 - arm_func_start func_ov00_0207cc84 -func_ov00_0207cc84: ; 0x0207cc84 - stmdb sp!, {r3, lr} - mov lr, r0 - mov ip, r2 - cmp r3, #3 - addls pc, pc, r3, lsl #2 - b _0207cd3c -_0207cc9c: ; jump table - b _0207cd3c ; case 0 - b _0207ccac ; case 1 - b _0207cce8 ; case 2 - b _0207cd24 ; case 3 -_0207ccac: - cmp ip, #0 - bne _0207cccc - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd5c ; =data_ov00_020e2058 - bl func_0200c8d0 - ldmia sp!, {r3, pc} -_0207cccc: - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd60 ; =data_ov00_020e2070 - mov r3, ip - bl func_0200c8d0 - ldmia sp!, {r3, pc} -_0207cce8: - cmp ip, #0 - bne _0207cd08 - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd64 ; =data_ov00_020e208c - bl func_0200c8d0 - ldmia sp!, {r3, pc} -_0207cd08: - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd68 ; =data_ov00_020e20a4 - mov r3, ip - bl func_0200c8d0 - ldmia sp!, {r3, pc} -_0207cd24: - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd6c ; =data_ov00_020e20c0 - bl func_0200c8d0 - ldmia sp!, {r3, pc} -_0207cd3c: - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd70 ; =data_ov00_020e20d8 - add r3, lr, #0xc - bl func_0200c8d0 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207cc84 -_0207cd58: .word data_ov00_020e2508 -_0207cd5c: .word data_ov00_020e2058 -_0207cd60: .word data_ov00_020e2070 -_0207cd64: .word data_ov00_020e208c -_0207cd68: .word data_ov00_020e20a4 -_0207cd6c: .word data_ov00_020e20c0 -_0207cd70: .word data_ov00_020e20d8 - - .global func_ov00_0207cd74 - arm_func_start func_ov00_0207cd74 -func_ov00_0207cd74: ; 0x0207cd74 - stmdb sp!, {r4, lr} - mov r4, r2 - cmp r3, #3 - addls pc, pc, r3, lsl #2 - b _0207cde0 -_0207cd88: ; jump table - b _0207cde0 ; case 0 - b _0207cd98 ; case 1 - b _0207cdb0 ; case 2 - b _0207cdc8 ; case 3 -_0207cd98: - ldr r0, _0207ce08 ; =data_ov00_020e250c - ldr r1, _0207ce0c ; =data_ov00_020e20ec - ldr r2, [r0] - mov r0, r4 - bl func_0200c8d0 - ldmia sp!, {r4, pc} -_0207cdb0: - ldr r0, _0207ce08 ; =data_ov00_020e250c - ldr r1, _0207ce10 ; =data_ov00_020e2104 - ldr r2, [r0] - mov r0, r4 - bl func_0200c8d0 - ldmia sp!, {r4, pc} -_0207cdc8: - ldr r0, _0207ce08 ; =data_ov00_020e250c - ldr r1, _0207ce14 ; =data_ov00_020e211c - ldr r2, [r0] - mov r0, r4 - bl func_0200c8d0 - ldmia sp!, {r4, pc} -_0207cde0: - ldr r0, _0207ce18 ; =data_027e0f7c - ldr r0, [r0] - bl func_ov00_0209d71c - ldr r1, _0207ce08 ; =data_ov00_020e250c - mov r3, r0 - ldr r2, [r1] - ldr r1, _0207ce1c ; =data_ov00_020e2134 - mov r0, r4 - bl func_0200c8d0 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0207cd74 -_0207ce08: .word data_ov00_020e250c -_0207ce0c: .word data_ov00_020e20ec -_0207ce10: .word data_ov00_020e2104 -_0207ce14: .word data_ov00_020e211c -_0207ce18: .word data_027e0f7c -_0207ce1c: .word data_ov00_020e2134 - - .global func_ov00_0207ce20 - arm_func_start func_ov00_0207ce20 -func_ov00_0207ce20: ; 0x0207ce20 - stmdb sp!, {r3, lr} - sub sp, sp, #8 - ldr ip, [sp, #0x10] - stmia sp, {r3, ip} - mov ip, r1 - mov r3, r2 - ldr r1, [r0] - mov r2, ip - bl func_ov00_0207ce4c - add sp, sp, #8 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207ce20 - - .global func_ov00_0207ce4c - arm_func_start func_ov00_0207ce4c -func_ov00_0207ce4c: ; 0x0207ce4c - stmdb sp!, {r4, r5, r6, r7, r8, lr} - sub sp, sp, #8 - ldr r4, _0207d3ac ; =data_027e0f7c - mov r8, r0 - ldr r0, [r4] - mov r7, r1 - mov r6, r2 - mov r5, r3 - ldr r4, [sp, #0x20] - bl func_ov00_0209d71c - ldr r1, [sp, #0x24] - mov r3, r0 - cmp r1, #7 - addls pc, pc, r1, lsl #2 - b _0207d364 -_0207ce88: ; jump table - b _0207d364 ; case 0 - b _0207cef0 ; case 1 - b _0207cea8 ; case 2 - b _0207cf38 ; case 3 - b _0207d07c ; case 4 - b _0207d294 ; case 5 - b _0207d2d8 ; case 6 - b _0207d31c ; case 7 -_0207cea8: - ldr r2, _0207d3b0 ; =0x66666667 - mov r1, r6, lsr #0x1f - smull r0, r5, r2, r6 - smull r0, r7, r2, r6 - add r7, r1, r7, asr #2 - add r5, r1, r5, asr #2 - mov r2, #0xa - smull r0, r1, r2, r5 - sub r5, r6, r0 - str r7, [sp] - ldr r0, _0207d3b4 ; =data_ov00_020e233c - str r5, [sp, #4] - ldr r2, [r0] - ldr r1, _0207d3b8 ; =data_ov00_020e2148 - mov r0, r4 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207cef0: - ldr r2, _0207d3b0 ; =0x66666667 - mov r1, r6, lsr #0x1f - smull r0, r5, r2, r6 - smull r0, r7, r2, r6 - add r7, r1, r7, asr #2 - add r5, r1, r5, asr #2 - mov r2, #0xa - smull r0, r1, r2, r5 - sub r5, r6, r0 - str r7, [sp] - ldr r0, _0207d3b4 ; =data_ov00_020e233c - str r5, [sp, #4] - ldr r2, [r0] - ldr r1, _0207d3bc ; =data_ov00_020e2160 - mov r0, r4 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207cf38: - ldr r1, [r8, #8] - mvn r0, #1 - cmp r1, r0 - bne _0207cf98 - ldr r0, _0207d3c0 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - add r0, r0, #0x44 - bl func_ov00_020a5e9c - ldr r2, _0207d3c0 ; =data_027e0d38 - mov r1, r0 - ldr r0, [r2] - mov r3, r5 - ldr r0, [r0, #0x28] - ldrb r2, [r0, #0x56] - mov r0, r8 - cmp r2, #0xff - str r4, [sp] - mov r4, #4 - moveq r2, #0 - str r4, [sp, #4] - bl func_ov00_0207ce4c - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207cf98: - ldr r0, [r8, #4] - cmp r0, #2 - bne _0207cfc8 - mov r7, #4 - mov r0, r8 - mov r1, r6 - mov r2, r5 - mov r3, r4 - str r7, [sp] - bl func_ov00_0207ce20 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207cfc8: - cmp r6, #0xff - beq _0207cfdc - ldrb r0, [r8, #0x25c] - cmp r0, #0 - beq _0207d03c -_0207cfdc: - cmp r7, #0x1b - bne _0207cffc - ldr r1, _0207d3c4 ; =data_ov00_020e2174 - mov r0, r4 - mov r2, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207cffc: - ldr r1, _0207d3b0 ; =0x66666667 - mov r2, r3 - smull r0, r8, r1, r6 - smull r0, r3, r1, r6 - mov r7, r6, lsr #0x1f - add r8, r7, r8, asr #2 - mov r5, #0xa - smull r0, r1, r5, r8 - sub r8, r6, r0 - ldr r1, _0207d3c8 ; =data_ov00_020e2188 - mov r0, r4 - add r3, r7, r3, asr #2 - str r8, [sp] - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d03c: - ldr r1, _0207d3b0 ; =0x66666667 - mov r2, r3 - smull r0, r8, r1, r6 - smull r0, r3, r1, r6 - mov r7, r6, lsr #0x1f - add r8, r7, r8, asr #2 - mov r5, #0xa - smull r0, r1, r5, r8 - sub r8, r6, r0 - ldr r1, _0207d3cc ; =data_ov00_020e219c - mov r0, r4 - add r3, r7, r3, asr #2 - str r8, [sp] - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d07c: - ldr r0, [r8] - cmp r0, #0x32 - bgt _0207d0b4 - bge _0207d19c - cmp r0, #3 - bgt _0207d1d4 - cmp r0, #1 - blt _0207d1d4 - beq _0207d0f4 - cmp r0, #2 - beq _0207d12c - cmp r0, #3 - beq _0207d164 - b _0207d1d4 -_0207d0b4: - cmp r0, #0x38 - bne _0207d1d4 - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3d0 ; =data_ov00_020e21b4 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d0f4: - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3d4 ; =data_ov00_020e21d0 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d12c: - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3d8 ; =data_ov00_020e21f0 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d164: - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3dc ; =data_ov00_020e2210 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d19c: - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3e0 ; =data_ov00_020e2230 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d1d4: - cmp r6, #3 - bne _0207d25c - ldr r0, _0207d3e4 ; =gAdventureFlags - mov r1, #0x32 - ldr r0, [r0] - bl _ZN14AdventureFlags3GetEj - cmp r0, #0 - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - beq _0207d22c - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3e8 ; =data_ov00_020e2250 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d22c: - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3ec ; =data_ov00_020e226c - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d25c: - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3f0 ; =data_ov00_020e2284 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d294: - ldr r8, _0207d3b0 ; =0x66666667 - mov r7, r6, lsr #0x1f - smull r0, r1, r8, r6 - add r1, r7, r1, asr #2 - mov r2, #0xa - smull r0, r1, r2, r1 - sub r1, r6, r0 - smull r0, r3, r8, r6 - stmia sp, {r1, r5} - ldr r0, _0207d3b4 ; =data_ov00_020e233c - ldr r1, _0207d3f4 ; =data_ov00_020e229c - ldr r2, [r0] - mov r0, r4 - add r3, r7, r3, asr #2 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d2d8: - ldr r8, _0207d3b0 ; =0x66666667 - mov r7, r6, lsr #0x1f - smull r0, r1, r8, r6 - add r1, r7, r1, asr #2 - mov r2, #0xa - smull r0, r1, r2, r1 - sub r1, r6, r0 - smull r0, r3, r8, r6 - stmia sp, {r1, r5} - ldr r0, _0207d3b4 ; =data_ov00_020e233c - ldr r1, _0207d3f8 ; =data_ov00_020e22b8 - ldr r2, [r0] - mov r0, r4 - add r3, r7, r3, asr #2 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d31c: - ldr r2, _0207d3b0 ; =0x66666667 - mov r1, r6, lsr #0x1f - smull r0, r5, r2, r6 - smull r0, r7, r2, r6 - add r7, r1, r7, asr #2 - add r5, r1, r5, asr #2 - mov r2, #0xa - smull r0, r1, r2, r5 - sub r5, r6, r0 - str r7, [sp] - ldr r0, _0207d3b4 ; =data_ov00_020e233c - str r5, [sp, #4] - ldr r2, [r0] - ldr r1, _0207d3fc ; =data_ov00_020e22d4 - mov r0, r4 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d364: - ldr r2, _0207d3b0 ; =0x66666667 - mov r1, r6, lsr #0x1f - smull r0, r5, r2, r6 - smull r0, r7, r2, r6 - add r7, r1, r7, asr #2 - add r5, r1, r5, asr #2 - mov r2, #0xa - smull r0, r1, r2, r5 - str r7, [sp] - sub r5, r6, r0 - ldr r0, _0207d3b4 ; =data_ov00_020e233c - str r5, [sp, #4] - ldr r2, [r0] - ldr r1, _0207d400 ; =data_ov00_020e22e8 - mov r0, r4 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_0207ce4c -_0207d3ac: .word data_027e0f7c -_0207d3b0: .word 0x66666667 -_0207d3b4: .word data_ov00_020e233c -_0207d3b8: .word data_ov00_020e2148 -_0207d3bc: .word data_ov00_020e2160 -_0207d3c0: .word data_027e0d38 -_0207d3c4: .word data_ov00_020e2174 -_0207d3c8: .word data_ov00_020e2188 -_0207d3cc: .word data_ov00_020e219c -_0207d3d0: .word data_ov00_020e21b4 -_0207d3d4: .word data_ov00_020e21d0 -_0207d3d8: .word data_ov00_020e21f0 -_0207d3dc: .word data_ov00_020e2210 -_0207d3e0: .word data_ov00_020e2230 -_0207d3e4: .word gAdventureFlags -_0207d3e8: .word data_ov00_020e2250 -_0207d3ec: .word data_ov00_020e226c -_0207d3f0: .word data_ov00_020e2284 -_0207d3f4: .word data_ov00_020e229c -_0207d3f8: .word data_ov00_020e22b8 -_0207d3fc: .word data_ov00_020e22d4 -_0207d400: .word data_ov00_020e22e8 - - .global func_ov00_0207d404 - arm_func_start func_ov00_0207d404 -func_ov00_0207d404: ; 0x0207d404 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x18 - mov r6, r0 - cmp r1, #0 - mov r5, r2 - mov r4, r3 - addeq sp, sp, #0x18 - mov r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - mov r2, #0x47 - str r2, [sp, #8] - strb r0, [sp, #0x14] - ldr r0, [r6, #0xc8] - add r2, sp, #8 - bl func_ov00_020a3710 - cmp r0, #0 - addeq sp, sp, #0x18 - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, [sp, #0x28] - str r4, [sp] - str r0, [sp, #4] - ldrb r2, [sp, #0xc] - ldr r1, [sp, #8] - mov r0, r6 - mov r3, r5 - bl func_ov00_0207ce4c - mov r0, #1 - add sp, sp, #0x18 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0207d404 - - .global func_ov00_0207d47c - arm_func_start func_ov00_0207d47c -func_ov00_0207d47c: ; 0x0207d47c - ldr ip, _0207d48c ; =func_ov00_0207d490 - ldrb r1, [r0, #0x1c] - ldrb r2, [r0, #0x1d] - bx ip - .align 2, 0 - arm_func_end func_ov00_0207d47c -_0207d48c: .word func_ov00_0207d490 - - .global func_ov00_0207d490 - arm_func_start func_ov00_0207d490 -func_ov00_0207d490: ; 0x0207d490 - ldrb r3, [r0, #0x25c] - cmp r3, #0 - moveq r0, #1 - bxeq lr - ldrb ip, [r0, #0x84] - cmp ip, r1 - bgt _0207d4dc - ldrb r3, [r0, #0x86] - add r3, ip, r3 - cmp r1, r3 - bge _0207d4dc - ldrb r1, [r0, #0x85] - cmp r1, r2 - bgt _0207d4dc - ldrb r0, [r0, #0x87] - add r0, r1, r0 - cmp r2, r0 - movlt r0, #1 - bxlt lr -_0207d4dc: - mov r0, #0 - bx lr - arm_func_end func_ov00_0207d490 - - .global func_ov00_0207d4e4 - arm_func_start func_ov00_0207d4e4 -func_ov00_0207d4e4: ; 0x0207d4e4 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - mov r2, r1 - add r0, sp, #0 - mov r1, r4 - bl func_ov00_0207cb7c - ldrb r1, [sp] - ldrb r2, [sp, #1] - mov r0, r4 - bl func_ov00_0207d490 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0207d4e4 - - .global func_ov00_0207d518 - arm_func_start func_ov00_0207d518 -func_ov00_0207d518: ; 0x0207d518 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r4, r1 - mov r7, r0 - cmp r4, #0xff - mov r6, r2 - mov r5, r3 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - add r0, sp, #0 - mov r1, r7 - mov r2, r4 - bl func_ov00_0207cb7c - ldrb r1, [sp] - ldrb r2, [sp, #1] - mov r0, r7 - bl func_ov00_0207d490 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldrb r4, [r7, #0x86] - ldrb r0, [r7, #0x87] - cmp r0, r4 - movhi r4, r0 - mov r1, r4 - mov r0, #0x100 - bl func_02002c14 - ldrb r3, [sp] - ldrb r2, [r7, #0x84] - ldr ip, [r7, #0x88] - mov r1, r4 - sub r2, r3, r2 - mla r2, r0, r2, ip - str r2, [r6] - mov r0, #0xc0 - bl func_02002c14 - ldrb r2, [sp, #1] - ldrb r1, [r7, #0x85] - ldr r3, [r7, #0x8c] - sub r1, r2, r1 - mla r1, r0, r1, r3 - str r1, [r5] - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207d518 - - .global func_ov00_0207d5c4 - arm_func_start func_ov00_0207d5c4 -func_ov00_0207d5c4: ; 0x0207d5c4 - stmdb sp!, {r3, lr} - ldrb r1, [r0, #0x86] - ldrb r0, [r0, #0x87] - cmp r0, r1 - movhi r1, r0 - mov r1, r1, lsl #0xc - mov r0, #0x100000 - bl Divide - mov r1, #0x40000 - bl Divide - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207d5c4 - - .global func_ov00_0207d5f0 - arm_func_start func_ov00_0207d5f0 -func_ov00_0207d5f0: ; 0x0207d5f0 - stmdb sp!, {r3, lr} - ldrb r1, [r0, #0x87] - ldrb r0, [r0, #0x86] - cmp r0, r1 - movhi r1, r0 - mov r1, r1, lsl #0xc - mov r0, #0xc0000 - bl Divide - mov r1, #0x30000 - bl Divide - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207d5f0 - - .global func_ov00_0207d61c - arm_func_start func_ov00_0207d61c -func_ov00_0207d61c: ; 0x0207d61c - ldr r0, [r0, #0xc8] - ldr r0, [r0] - bx lr - arm_func_end func_ov00_0207d61c - - .global func_ov00_0207d628 - arm_func_start func_ov00_0207d628 -func_ov00_0207d628: ; 0x0207d628 - ldr r0, [r0, #0xc8] - ldr r0, [r0, #4] - bx lr - arm_func_end func_ov00_0207d628 - - .global func_ov00_0207d634 - arm_func_start func_ov00_0207d634 -func_ov00_0207d634: ; 0x0207d634 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - ldrb r4, [r6, #0x1c] - ldrb r5, [r6, #0x1d] - cmp r1, #3 - addls pc, pc, r1, lsl #2 - b _0207d67c -_0207d650: ; jump table - b _0207d660 ; case 0 - b _0207d668 ; case 1 - b _0207d670 ; case 2 - b _0207d678 ; case 3 -_0207d660: - add r4, r4, #1 - b _0207d67c -_0207d668: - sub r4, r4, #1 - b _0207d67c -_0207d670: - add r5, r5, #1 - b _0207d67c -_0207d678: - sub r5, r5, #1 -_0207d67c: - mov r0, r6 - mov r1, r4 - mov r2, r5 - bl func_ov00_0207d490 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - mov r0, r6 - mov r1, r4 - mov r2, r5 - bl func_ov00_0207d6ac - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0207d634 - - .global func_ov00_0207d6ac - arm_func_start func_ov00_0207d6ac -func_ov00_0207d6ac: ; 0x0207d6ac - cmp r1, #0 - cmpge r2, #0 - blt _0207d6c4 - cmp r1, #0xa - cmplt r2, #0xa - blt _0207d6cc -_0207d6c4: - mov r0, #0 - bx lr -_0207d6cc: - mov r3, #0xa - mla r0, r1, r3, r0 - add r0, r0, r2 - ldrb r0, [r0, #0x20] - cmp r0, #0xff - movne r0, #1 - moveq r0, #0 - bx lr - arm_func_end func_ov00_0207d6ac - - .global func_ov00_0207d6ec - arm_func_start func_ov00_0207d6ec -func_ov00_0207d6ec: ; 0x0207d6ec - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl func_ov00_0207d634 - cmp r0, #0 - moveq r0, #0xff - ldmeqia sp!, {r4, r5, r6, pc} - mov r0, r6 - mov r1, r5 - bl func_ov00_0207d758 - mov r4, r0 - mov r0, r6 - mov r1, r5 - bl func_ov00_0207d738 - mov r1, #0xa - mla r1, r0, r1, r6 - add r0, r1, r4 - ldrb r0, [r0, #0x20] - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0207d6ec - - .global func_ov00_0207d738 - arm_func_start func_ov00_0207d738 -func_ov00_0207d738: ; 0x0207d738 - cmp r1, #0 - ldrb r0, [r0, #0x1c] - beq _0207d750 - cmp r1, #1 - subeq r0, r0, #1 - bx lr -_0207d750: - add r0, r0, #1 - bx lr - arm_func_end func_ov00_0207d738 - - .global func_ov00_0207d758 - arm_func_start func_ov00_0207d758 -func_ov00_0207d758: ; 0x0207d758 - cmp r1, #2 - ldrb r0, [r0, #0x1d] - beq _0207d770 - cmp r1, #3 - subeq r0, r0, #1 - bx lr -_0207d770: - add r0, r0, #1 - bx lr - arm_func_end func_ov00_0207d758 - - .global func_ov00_0207d778 - arm_func_start func_ov00_0207d778 -func_ov00_0207d778: ; 0x0207d778 - stmdb sp!, {r3, lr} - bl func_ov00_0207da14 - ldrh r0, [r0, #4] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207d778 - - .global func_ov00_0207d788 - arm_func_start func_ov00_0207d788 -func_ov00_0207d788: ; 0x0207d788 - stmdb sp!, {r3, lr} - bl func_ov00_0207d9cc - cmp r0, #0 - ldreq r0, _0207d7a0 ; =0x0000ffff - ldrneh r0, [r0, #4] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207d788 -_0207d7a0: .word 0x0000ffff - - .global func_ov00_0207d7a4 - arm_func_start func_ov00_0207d7a4 -func_ov00_0207d7a4: ; 0x0207d7a4 - stmdb sp!, {r3, lr} - bl func_ov00_0207d9cc - cmp r0, #0 - moveq r0, #0 - ldrne r0, [r0, #0xc] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207d7a4 - - .global func_ov00_0207d7bc - arm_func_start func_ov00_0207d7bc -func_ov00_0207d7bc: ; 0x0207d7bc - stmdb sp!, {r3, lr} - bl func_ov00_0207da14 - ldr r2, _0207d7d8 ; =data_027e103c - ldrh r1, [r0, #4] - ldr r0, [r2] - bl func_ov00_020cf414 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207d7bc -_0207d7d8: .word data_027e103c - - .global func_ov00_0207d7dc - arm_func_start func_ov00_0207d7dc -func_ov00_0207d7dc: ; 0x0207d7dc - cmp r2, #0 - beq _0207d804 - add ip, r0, #0x264 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - bx lr -_0207d804: - add r3, r0, #0x264 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - bx lr - arm_func_end func_ov00_0207d7dc - - .global func_ov00_0207d828 - arm_func_start func_ov00_0207d828 -func_ov00_0207d828: ; 0x0207d828 - mov r2, r1, lsr #0x5 - add r0, r0, r2, lsl #2 - ldr r2, [r0, #0x264] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - bx lr - arm_func_end func_ov00_0207d828 - - .global func_ov00_0207d848 - arm_func_start func_ov00_0207d848 -func_ov00_0207d848: ; 0x0207d848 - cmp r2, #0 - beq _0207d870 - add ip, r0, #0x268 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - bx lr -_0207d870: - add r3, r0, #0x268 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - bx lr - arm_func_end func_ov00_0207d848 - - .global func_ov00_0207d894 - arm_func_start func_ov00_0207d894 -func_ov00_0207d894: ; 0x0207d894 - mov r2, r1, lsr #0x5 - add r0, r0, r2, lsl #2 - ldr r2, [r0, #0x268] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - bx lr - arm_func_end func_ov00_0207d894 - - .global func_ov00_0207d8b4 - arm_func_start func_ov00_0207d8b4 -func_ov00_0207d8b4: ; 0x0207d8b4 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r1 - mov r4, r2 - bl func_ov00_0207da14 - mov r1, r5 - mov r2, r4 - bl func_ov00_0209740c - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207d8b4 - - .global func_ov00_0207d8d4 - arm_func_start func_ov00_0207d8d4 -func_ov00_0207d8d4: ; 0x0207d8d4 - stmdb sp!, {r4, lr} - mov r4, r1 - bl func_ov00_0207da14 - mov r1, r4 - bl func_ov00_02097458 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207d8d4 - - .global func_ov00_0207d8ec - arm_func_start func_ov00_0207d8ec -func_ov00_0207d8ec: ; 0x0207d8ec - stmdb sp!, {r3, r4, r5, lr} - mov r5, r1 - mov r4, r2 - bl func_ov00_0207da14 - mov r1, r5 - mov r2, r4 - bl func_ov00_02097478 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207d8ec - - .global func_ov00_0207d90c - arm_func_start func_ov00_0207d90c -func_ov00_0207d90c: ; 0x0207d90c - stmdb sp!, {r4, lr} - mov r4, r1 - bl func_ov00_0207da14 - mov r1, r4 - bl func_ov00_020974c4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207d90c - - .global func_ov00_0207d924 - arm_func_start func_ov00_0207d924 -func_ov00_0207d924: ; 0x0207d924 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r1 - mov r4, r2 - bl func_ov00_0207da14 - mov r1, r5 - mov r2, r4 - bl func_ov00_020974e4 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207d924 - - .global func_ov00_0207d944 - arm_func_start func_ov00_0207d944 -func_ov00_0207d944: ; 0x0207d944 - stmdb sp!, {r4, lr} - mov r4, r1 - bl func_ov00_0207da14 - mov r1, r4 - bl func_ov00_02097530 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207d944 - - .global func_ov00_0207d95c - arm_func_start func_ov00_0207d95c -func_ov00_0207d95c: ; 0x0207d95c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r1 - mov r4, r2 - bl func_ov00_0207da14 - mov r1, r5 - mov r2, r4 - bl func_ov00_02097550 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207d95c - - .global func_ov00_0207d97c - arm_func_start func_ov00_0207d97c -func_ov00_0207d97c: ; 0x0207d97c - stmdb sp!, {r4, lr} - mov r4, r1 - bl func_ov00_0207da14 - mov r1, r4 - bl func_ov00_0209759c - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207d97c - - .global func_ov00_0207d994 - arm_func_start func_ov00_0207d994 -func_ov00_0207d994: ; 0x0207d994 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r1 - mov r4, r2 - bl func_ov00_0207da14 - mov r1, r5 - mov r2, r4 - bl func_ov00_020975bc - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207d994 - - .global func_ov00_0207d9b4 - arm_func_start func_ov00_0207d9b4 -func_ov00_0207d9b4: ; 0x0207d9b4 - stmdb sp!, {r4, lr} - mov r4, r1 - bl func_ov00_0207da14 - mov r1, r4 - bl func_ov00_02097608 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207d9b4 - - .global func_ov00_0207d9cc - arm_func_start func_ov00_0207d9cc -func_ov00_0207d9cc: ; 0x0207d9cc - ldrb r2, [r0, #0xb0] - mov ip, #0 - cmp r2, #0 - ble _0207da0c -_0207d9dc: - add r2, r0, ip, lsl #2 - ldr r3, [r2, #0xcc] - cmp r3, #0 - beq _0207d9fc - ldrb r2, [r3, #1] - cmp r1, r2 - moveq r0, r3 - bxeq lr -_0207d9fc: - ldrb r2, [r0, #0xb0] - add ip, ip, #1 - cmp ip, r2 - blt _0207d9dc -_0207da0c: - mov r0, #0 - bx lr - arm_func_end func_ov00_0207d9cc - - .global func_ov00_0207da14 - arm_func_start func_ov00_0207da14 -func_ov00_0207da14: ; 0x0207da14 - ldrb r3, [r0, #0x1c] - mov r1, #0xa - ldrb r2, [r0, #0x1d] - mla r1, r3, r1, r0 - add r1, r1, r2 - ldr ip, _0207da34 ; =func_ov00_0207d9cc - ldrb r1, [r1, #0x20] - bx ip - .align 2, 0 - arm_func_end func_ov00_0207da14 -_0207da34: .word func_ov00_0207d9cc - - .global func_ov00_0207da38 - arm_func_start func_ov00_0207da38 -func_ov00_0207da38: ; 0x0207da38 - stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207db0c ; =data_ov00_020e2348 - 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 ; =func_ov00_0207db18 - 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 func_ov00_0207da38 -_0207db0c: .word data_ov00_020e2348 -_0207db10: .word data_ov00_020ec81c -_0207db14: .word func_ov00_0207db18 - - .global func_ov00_0207db18 - arm_func_start func_ov00_0207db18 -func_ov00_0207db18: ; 0x0207db18 - bx lr - arm_func_end func_ov00_0207db18 - - .global func_ov00_0207db1c - arm_func_start func_ov00_0207db1c -func_ov00_0207db1c: ; 0x0207db1c - stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207dbf8 ; =data_ov00_020e2348 - 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 ; =func_ov00_0207db18 - 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 func_ov00_0207db1c -_0207dbf8: .word data_ov00_020e2348 -_0207dbfc: .word data_ov00_020ec81c -_0207dc00: .word func_ov00_0207db18 - - .global func_ov00_0207dc04 - arm_func_start func_ov00_0207dc04 -func_ov00_0207dc04: ; 0x0207dc04 - stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207dcd8 ; =data_ov00_020e2348 - 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 ; =func_ov00_0207db18 - 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 func_ov00_0207dc04 -_0207dcd8: .word data_ov00_020e2348 -_0207dcdc: .word data_ov00_020ec81c -_0207dce0: .word func_ov00_0207db18 - - .global func_ov00_0207dce4 - arm_func_start func_ov00_0207dce4 -func_ov00_0207dce4: ; 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 func_ov00_0207cbd8 - 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 func_ov00_0207dce4 - - .global func_ov00_0207dd9c - arm_func_start func_ov00_0207dd9c -func_ov00_0207dd9c: ; 0x0207dd9c - bx lr - arm_func_end func_ov00_0207dd9c - - .global func_ov00_0207dda0 - arm_func_start func_ov00_0207dda0 -func_ov00_0207dda0: ; 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 func_ov00_0207dda0 -_0207ddec: .word 0x66666667 -_0207ddf0: .word data_ov00_020e2410 - - .global func_ov00_0207ddf4 - arm_func_start func_ov00_0207ddf4 -func_ov00_0207ddf4: ; 0x0207ddf4 - bx lr - arm_func_end func_ov00_0207ddf4 - - .global func_ov00_0207ddf8 - arm_func_start func_ov00_0207ddf8 -func_ov00_0207ddf8: ; 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 func_ov00_0207ddf8 - - .global func_ov00_0207de68 - arm_func_start func_ov00_0207de68 -func_ov00_0207de68: ; 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 func_ov00_0207de68 - - .global func_ov00_0207de88 - arm_func_start func_ov00_0207de88 -func_ov00_0207de88: ; 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 func_ov00_0207de88 - - .global func_ov00_0207dea0 - arm_func_start func_ov00_0207dea0 -func_ov00_0207dea0: ; 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 func_ov00_0207dea0 -_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 func_ov00_0207e060 - arm_func_start func_ov00_0207e060 -func_ov00_0207e060: ; 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 func_ov00_0207e060 - - .global func_ov00_0207e08c - arm_func_start func_ov00_0207e08c -func_ov00_0207e08c: ; 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 func_ov00_0207e08c - - .global func_ov00_0207e0f0 - arm_func_start func_ov00_0207e0f0 -func_ov00_0207e0f0: ; 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 func_ov00_0207e0f0 - - .global func_ov00_0207e28c - arm_func_start func_ov00_0207e28c -func_ov00_0207e28c: ; 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 func_ov00_0207e28c - - .global func_ov00_0207e444 - arm_func_start func_ov00_0207e444 -func_ov00_0207e444: ; 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 func_ov00_0207e444 -_0207e468: .word data_ov00_020ec81c - - .global func_ov00_0207e46c - arm_func_start func_ov00_0207e46c -func_ov00_0207e46c: ; 0x0207e46c - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_0207fe3c - ldr r0, [r4, #0x144] - mov r1, #0 - bl func_ov00_0209c8e4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207e46c - - .global func_ov00_0207e488 - arm_func_start func_ov00_0207e488 -func_ov00_0207e488: ; 0x0207e488 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e488 - - .global func_ov00_0207e490 - arm_func_start func_ov00_0207e490 -func_ov00_0207e490: ; 0x0207e490 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e490 - - .global func_ov00_0207e498 - arm_func_start func_ov00_0207e498 -func_ov00_0207e498: ; 0x0207e498 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e498 - - .global func_ov00_0207e4a0 - arm_func_start func_ov00_0207e4a0 -func_ov00_0207e4a0: ; 0x0207e4a0 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e4a0 - - .global func_ov00_0207e4a8 - arm_func_start func_ov00_0207e4a8 -func_ov00_0207e4a8: ; 0x0207e4a8 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e4a8 - - .global func_ov00_0207e4b0 - arm_func_start func_ov00_0207e4b0 -func_ov00_0207e4b0: ; 0x0207e4b0 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e4b0 - - .global func_ov00_0207e4b8 - arm_func_start func_ov00_0207e4b8 -func_ov00_0207e4b8: ; 0x0207e4b8 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x7c - ldr r3, _0207e92c ; =data_027e0e60 - mov r9, r1 - ldr r1, [r3] - mov r8, r0 - mov r4, r2 - add r0, sp, #8 - mov r2, r9 - bl func_ov00_02083a1c - 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 func_ov00_0207f104 - 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 func_ov00_0207f1f4 - 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 func_ov00_0207f104 - 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 func_ov00_0207f1f4 - 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 ; =func_ov00_0207e968 - mov r5, r0 - ldr r3, _0207e93c ; =func_ov00_0207e96c - 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 ; =func_ov00_0207e968 - 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 ; =func_ov00_0207e968 - 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 func_ov00_0207e4b8 -_0207e92c: .word data_027e0e60 -_0207e930: .word data_027e0f6c -_0207e934: .word data_ov00_020ec824 -_0207e938: .word func_ov00_0207e968 -_0207e93c: .word func_ov00_0207e96c - - .global func_ov00_0207e940 - arm_func_start func_ov00_0207e940 -func_ov00_0207e940: ; 0x0207e940 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r3, _0207e964 ; =func_ov00_0207e968 - 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 func_ov00_0207e940 -_0207e964: .word func_ov00_0207e968 - - .global func_ov00_0207e968 - arm_func_start func_ov00_0207e968 -func_ov00_0207e968: ; 0x0207e968 - bx lr - arm_func_end func_ov00_0207e968 - - .global func_ov00_0207e96c - arm_func_start func_ov00_0207e96c -func_ov00_0207e96c: ; 0x0207e96c - bx lr - arm_func_end func_ov00_0207e96c - - .global func_ov00_0207e970 - arm_func_start func_ov00_0207e970 -func_ov00_0207e970: ; 0x0207e970 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0xc4 - ldr r4, _0207ee00 ; =data_027e0e60 - mov r9, r1 - ldr r1, [r4] - mov r8, r0 - str r2, [sp, #8] - add r0, sp, #0xc - mov r2, r9 - mov r7, r3 - bl func_ov00_02083a1c - 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 ; =func_ov00_0207e968 - mov r4, r0 - str r5, [sp] - ldr r3, _0207ee10 ; =func_ov00_0207e96c - add r0, sp, #0x90 - mov r1, #3 - mov r2, #0x10 - mov r5, #0x2000 - bl func_0204f614 - ldr r1, _0207ee0c ; =func_ov00_0207e968 - ldr r3, _0207ee10 ; =func_ov00_0207e96c - 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 ; =func_ov00_0207e968 - add r0, sp, #0x44 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - ldr r3, _0207ee0c ; =func_ov00_0207e968 - 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 func_ov00_0207e970 -_0207ee00: .word data_027e0e60 -_0207ee04: .word data_027e0f6c -_0207ee08: .word data_ov00_020ec864 -_0207ee0c: .word func_ov00_0207e968 -_0207ee10: .word func_ov00_0207e96c - - .global func_ov00_0207ee14 - arm_func_start func_ov00_0207ee14 -func_ov00_0207ee14: ; 0x0207ee14 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x74 - ldr r0, _0207efdc ; =data_027e0e60 - mov r9, r1 - ldr r1, [r0] - add r0, sp, #8 - mov r2, r9 - bl func_ov00_02083a1c - 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 ; =func_ov00_0207e968 - mov r5, r0 - str r1, [sp] - ldr r3, _0207efec ; =func_ov00_0207e96c - 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 ; =func_ov00_0207e968 - 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 func_ov00_0207ee14 -_0207efdc: .word data_027e0e60 -_0207efe0: .word data_027e0f6c -_0207efe4: .word data_ov00_020ec8a4 -_0207efe8: .word func_ov00_0207e968 -_0207efec: .word func_ov00_0207e96c -_0207eff0: .word 0x0000ffff - - .global func_ov00_0207eff4 - arm_func_start func_ov00_0207eff4 -func_ov00_0207eff4: ; 0x0207eff4 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x24 - ldr r0, _0207f0f4 ; =data_027e0e60 - mov r8, r1 - ldr r1, [r0] - add r0, sp, #8 - mov r2, r8 - bl func_ov00_02083a1c - 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 func_ov00_0207eff4 -_0207f0f4: .word data_027e0e60 -_0207f0f8: .word data_027e0f6c -_0207f0fc: .word data_ov00_020ec8e4 - - .global func_ov00_0207f100 - arm_func_start func_ov00_0207f100 -func_ov00_0207f100: ; 0x0207f100 - bx lr - arm_func_end func_ov00_0207f100 - - .global func_ov00_0207f104 - arm_func_start func_ov00_0207f104 -func_ov00_0207f104: ; 0x0207f104 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _0207f1f0 ; =data_027e0e60 - mov r5, r1 - ldr r1, [r3] - mov r6, r0 - mov r4, r2 - add r0, sp, #0 - mov r2, r5 - bl func_ov00_02083a1c - 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 func_ov00_0207f104 -_0207f1f0: .word data_027e0e60 - - .global func_ov00_0207f1f4 - arm_func_start func_ov00_0207f1f4 -func_ov00_0207f1f4: ; 0x0207f1f4 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x3c - ldr r0, _0207f318 ; =data_027e0e60 - mov r9, r1 - ldr r1, [r0] - mov r8, r2 - add r0, sp, #8 - mov r2, r9 - bl func_ov00_02083a1c - 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 func_ov00_0207f1f4 -_0207f318: .word data_027e0e60 -_0207f31c: .word data_027e0f6c -_0207f320: .word data_ov00_020ec924 - - .global func_ov00_0207f324 - arm_func_start func_ov00_0207f324 -func_ov00_0207f324: ; 0x0207f324 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207f324 - - .global func_ov00_0207f32c - arm_func_start func_ov00_0207f32c -func_ov00_0207f32c: ; 0x0207f32c - mov r0, #0 - bx lr - arm_func_end func_ov00_0207f32c - - .global func_ov00_0207f334 - arm_func_start func_ov00_0207f334 -func_ov00_0207f334: ; 0x0207f334 - bx lr - arm_func_end func_ov00_0207f334 - - .global func_ov00_0207f338 - arm_func_start func_ov00_0207f338 -func_ov00_0207f338: ; 0x0207f338 - bx lr - arm_func_end func_ov00_0207f338 - - .global func_ov00_0207f33c - arm_func_start func_ov00_0207f33c -func_ov00_0207f33c: ; 0x0207f33c - mov r0, #0 - bx lr - arm_func_end func_ov00_0207f33c - - .global func_ov00_0207f344 - arm_func_start func_ov00_0207f344 -func_ov00_0207f344: ; 0x0207f344 - bx lr - arm_func_end func_ov00_0207f344 - - .global func_ov00_0207f348 - arm_func_start func_ov00_0207f348 -func_ov00_0207f348: ; 0x0207f348 - bx lr - arm_func_end func_ov00_0207f348 - - .global func_ov00_0207f34c - arm_func_start func_ov00_0207f34c -func_ov00_0207f34c: ; 0x0207f34c - mov r0, #0 - bx lr - arm_func_end func_ov00_0207f34c - - .global func_ov00_0207f354 - arm_func_start func_ov00_0207f354 -func_ov00_0207f354: ; 0x0207f354 - mov r0, #1 - bx lr - arm_func_end func_ov00_0207f354 - - .global func_ov00_0207f35c - arm_func_start func_ov00_0207f35c -func_ov00_0207f35c: ; 0x0207f35c - mov r0, #1 - bx lr - arm_func_end func_ov00_0207f35c - - .global func_ov00_0207f364 - arm_func_start func_ov00_0207f364 -func_ov00_0207f364: ; 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 func_ov00_0207f364 - - .global func_ov00_0207f38c - arm_func_start func_ov00_0207f38c -func_ov00_0207f38c: ; 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 func_ov00_0207f38c -_0207f3c0: .word data_027e0f68 - - .global func_ov00_0207f3c4 - arm_func_start func_ov00_0207f3c4 -func_ov00_0207f3c4: ; 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 func_ov00_0207f3c4 - - .global func_ov00_0207f4a0 - arm_func_start func_ov00_0207f4a0 -func_ov00_0207f4a0: ; 0x0207f4a0 - bx lr - arm_func_end func_ov00_0207f4a0 - - .global func_ov00_0207f4a4 - arm_func_start func_ov00_0207f4a4 -func_ov00_0207f4a4: ; 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 func_ov00_0207f4a4 - - .global func_ov00_0207f53c - arm_func_start func_ov00_0207f53c -func_ov00_0207f53c: ; 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 func_ov00_0207f53c - - .global func_ov00_0207f588 - arm_func_start func_ov00_0207f588 -func_ov00_0207f588: ; 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 func_ov00_0207f588 - - .global func_ov00_0207f630 - arm_func_start func_ov00_0207f630 -func_ov00_0207f630: ; 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 func_ov00_0207f630 - - .global func_ov00_0207f694 - arm_func_start func_ov00_0207f694 -func_ov00_0207f694: ; 0x0207f694 - ldr r0, [r0, #0xf4] - add r0, r0, r1, lsl #12 - bx lr - arm_func_end func_ov00_0207f694 - - .global func_ov00_0207f6a0 - arm_func_start func_ov00_0207f6a0 -func_ov00_0207f6a0: ; 0x0207f6a0 - ldr r0, [r0, #0xfc] - add r0, r0, r1, lsl #12 - bx lr - arm_func_end func_ov00_0207f6a0 - - .global func_ov00_0207f6ac - arm_func_start func_ov00_0207f6ac -func_ov00_0207f6ac: ; 0x0207f6ac - stmdb sp!, {r3, lr} - bl func_ov00_0207f694 - add r0, r0, #0x1000 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207f6ac - - .global func_ov00_0207f6bc - arm_func_start func_ov00_0207f6bc -func_ov00_0207f6bc: ; 0x0207f6bc - stmdb sp!, {r3, lr} - bl func_ov00_0207f6a0 - add r0, r0, #0x1000 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207f6bc - - .global func_ov00_0207f6cc - arm_func_start func_ov00_0207f6cc -func_ov00_0207f6cc: ; 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 func_ov00_0207f694 - ldrb r1, [r7, #1] - mov r0, r6 - bl func_ov00_0207f6a0 - mov r4, r0 - ldrb r1, [r7] - mov r0, r6 - bl func_ov00_0207f694 - ldr r2, _0207f774 ; =0xffffeccd - str r0, [sp, #0xc] - ldrb r1, [r7, #1] - mov r0, r6 - str r2, [sp, #0x10] - str r4, [sp, #0x14] - bl func_ov00_0207f6bc - 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 func_ov00_0207f6ac - 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 func_ov00_0207f6cc -_0207f774: .word 0xffffeccd - - .global func_ov00_0207f778 - arm_func_start func_ov00_0207f778 -func_ov00_0207f778: ; 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 func_ov00_0207f778 - - .global func_ov00_0207f7a0 - arm_func_start func_ov00_0207f7a0 -func_ov00_0207f7a0: ; 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 func_ov00_0207f7a0 - - .global func_ov00_0207f7c8 - arm_func_start func_ov00_0207f7c8 -func_ov00_0207f7c8: ; 0x0207f7c8 - ldr r0, [r0, #0xf4] - sub r0, r1, r0 - mov r0, r0, asr #0xc - bx lr - arm_func_end func_ov00_0207f7c8 - - .global func_ov00_0207f7d8 - arm_func_start func_ov00_0207f7d8 -func_ov00_0207f7d8: ; 0x0207f7d8 - ldr r0, [r0, #0xfc] - sub r0, r1, r0 - mov r0, r0, asr #0xc - bx lr - arm_func_end func_ov00_0207f7d8 - - .global func_ov00_0207f7e8 - arm_func_start func_ov00_0207f7e8 -func_ov00_0207f7e8: ; 0x0207f7e8 - stmdb sp!, {r4, r5, r6, lr} - mov r5, r1 - ldr r1, [r5] - mov r6, r0 - bl func_ov00_0207f7c8 - mov r4, r0 - ldr r1, [r5, #8] - mov r0, r6 - bl func_ov00_0207f7d8 - 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 func_ov00_0207f7e8 - - .global func_ov00_0207f844 - arm_func_start func_ov00_0207f844 -func_ov00_0207f844: ; 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 func_ov00_0207f844 - - .global func_ov00_0207f8c0 - arm_func_start func_ov00_0207f8c0 -func_ov00_0207f8c0: ; 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 func_ov00_0207f8c0 - - .global func_ov00_0207f924 - arm_func_start func_ov00_0207f924 -func_ov00_0207f924: ; 0x0207f924 - add r1, r0, r1 - ldrb r0, [r1, #0x18] - strb r0, [r1, #0x16] - bx lr - arm_func_end func_ov00_0207f924 - - .global func_ov00_0207f934 - arm_func_start func_ov00_0207f934 -func_ov00_0207f934: ; 0x0207f934 - ldr r0, [r0, #0x140] - cmp r0, #0 - moveq r0, #0 - ldrne r0, [r0, #0x60] - bx lr - arm_func_end func_ov00_0207f934 - - .global func_ov00_0207f948 - arm_func_start func_ov00_0207f948 -func_ov00_0207f948: ; 0x0207f948 - ldr r0, [r0, #0x140] - cmp r0, #0 - strne r1, [r0, #0x60] - bx lr - arm_func_end func_ov00_0207f948 - - .global func_ov00_0207f958 - arm_func_start func_ov00_0207f958 -func_ov00_0207f958: ; 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 func_ov00_0207f958 -_0207faa4: .word data_027e0ce0 - - .global func_ov00_0207faa8 - arm_func_start func_ov00_0207faa8 -func_ov00_0207faa8: ; 0x0207faa8 - bx lr - arm_func_end func_ov00_0207faa8 - - .global func_ov00_0207faac - arm_func_start func_ov00_0207faac -func_ov00_0207faac: ; 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 func_ov00_0207faac - - .global func_ov00_0207fb5c - arm_func_start func_ov00_0207fb5c -func_ov00_0207fb5c: ; 0x0207fb5c - mov r0, #0 - bx lr - arm_func_end func_ov00_0207fb5c - - .global func_ov00_0207fb64 - arm_func_start func_ov00_0207fb64 -func_ov00_0207fb64: ; 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 func_ov00_0207fb64 - - .global func_ov00_0207fc2c - arm_func_start func_ov00_0207fc2c -func_ov00_0207fc2c: ; 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 func_ov00_0207fc2c - - .global func_ov00_0207fc90 - arm_func_start func_ov00_0207fc90 -func_ov00_0207fc90: ; 0x0207fc90 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207fc90 - - .global func_ov00_0207fc98 - arm_func_start func_ov00_0207fc98 -func_ov00_0207fc98: ; 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 func_ov00_0207fc98 - - .global func_ov00_0207fce0 - arm_func_start func_ov00_0207fce0 -func_ov00_0207fce0: ; 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 func_ov00_0207fce0 - - .global func_ov00_0207fd58 - arm_func_start func_ov00_0207fd58 -func_ov00_0207fd58: ; 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 func_ov00_0207fd58 - - .global func_ov00_0207fdd0 - arm_func_start func_ov00_0207fdd0 -func_ov00_0207fdd0: ; 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 func_ov00_0207fdd0 - - .global func_ov00_0207fe34 - arm_func_start func_ov00_0207fe34 -func_ov00_0207fe34: ; 0x0207fe34 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207fe34 - - .global func_ov00_0207fe3c - arm_func_start func_ov00_0207fe3c -func_ov00_0207fe3c: ; 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 func_ov00_0207fe3c - - .global func_ov00_0207fe80 - arm_func_start func_ov00_0207fe80 -func_ov00_0207fe80: ; 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 func_ov00_0207fe80 - - .global func_ov00_0207ff88 - arm_func_start func_ov00_0207ff88 -func_ov00_0207ff88: ; 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 func_ov00_0207ff88 - - .global func_ov00_0208005c - arm_func_start func_ov00_0208005c -func_ov00_0208005c: ; 0x0208005c - ldr ip, _02080068 ; =func_ov00_0209c1e4 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208005c -_02080068: .word func_ov00_0209c1e4 - - .global func_ov00_0208006c - arm_func_start func_ov00_0208006c -func_ov00_0208006c: ; 0x0208006c - ldr ip, _02080078 ; =func_ov00_0209c2b4 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208006c -_02080078: .word func_ov00_0209c2b4 - - .global func_ov00_0208007c - arm_func_start func_ov00_0208007c -func_ov00_0208007c: ; 0x0208007c - ldr ip, _02080088 ; =func_ov00_0209c2d0 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208007c -_02080088: .word func_ov00_0209c2d0 - - .global func_ov00_0208008c - arm_func_start func_ov00_0208008c -func_ov00_0208008c: ; 0x0208008c - ldr ip, _02080098 ; =func_ov00_0209c8e4 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208008c -_02080098: .word func_ov00_0209c8e4 - - .global func_ov00_0208009c - arm_func_start func_ov00_0208009c -func_ov00_0208009c: ; 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 func_ov00_0208009c - - .global func_ov00_02080140 - arm_func_start func_ov00_02080140 -func_ov00_02080140: ; 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 func_ov00_02080324 - 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 func_ov00_02080140 - - .global func_ov00_02080324 - arm_func_start func_ov00_02080324 -func_ov00_02080324: ; 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 func_ov00_02080324 - - .global func_ov00_0208039c - arm_func_start func_ov00_0208039c -func_ov00_0208039c: ; 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 func_ov00_0208039c - - .global func_ov00_0208046c - arm_func_start func_ov00_0208046c -func_ov00_0208046c: ; 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 func_ov00_0208046c - - .global func_ov00_02080510 - arm_func_start func_ov00_02080510 -func_ov00_02080510: ; 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 func_ov00_02080510 - - .global func_ov00_020805d0 - arm_func_start func_ov00_020805d0 -func_ov00_020805d0: ; 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 func_ov00_020805d0 - - .global func_ov00_02080688 - arm_func_start func_ov00_02080688 -func_ov00_02080688: ; 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 func_ov00_02080510 - 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 func_ov00_02080688 - - .global func_ov00_02080780 - arm_func_start func_ov00_02080780 -func_ov00_02080780: ; 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 func_ov00_02080688 - ldr r0, [sp] - add sp, sp, #0x1c - ldmia sp!, {pc} - arm_func_end func_ov00_02080780 - - .global func_ov00_020807d4 - arm_func_start func_ov00_020807d4 -func_ov00_020807d4: ; 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 func_ov00_020807d4 -_02080820: .word data_027e0618 - - .global func_ov00_02080824 - arm_func_start func_ov00_02080824 -func_ov00_02080824: ; 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 func_ov00_02080824 - - .global func_ov00_020808d0 - arm_func_start func_ov00_020808d0 -func_ov00_020808d0: ; 0x020808d0 - stmdb sp!, {r0, r1, r2, r3} - arm_func_end func_ov00_020808d0 - - .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 func_ov00_020809b8 - arm_func_start func_ov00_020809b8 -func_ov00_020809b8: ; 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 func_ov00_020809b8 - - .global func_ov00_02080a78 - arm_func_start func_ov00_02080a78 -func_ov00_02080a78: ; 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 func_ov00_02080ad0 - 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 func_ov00_02080a78 - - .global func_ov00_02080ad0 - arm_func_start func_ov00_02080ad0 -func_ov00_02080ad0: ; 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 func_ov00_02080ad0 - - .global func_ov00_02080b24 - arm_func_start func_ov00_02080b24 -func_ov00_02080b24: ; 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 func_ov00_02080b24 - - .global func_ov00_02080d08 - arm_func_start func_ov00_02080d08 -func_ov00_02080d08: ; 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 func_ov00_02080d08 - - .global func_ov00_02080d74 - arm_func_start func_ov00_02080d74 -func_ov00_02080d74: ; 0x02080d74 - bx lr - arm_func_end func_ov00_02080d74 - - .global func_ov00_02080d78 - arm_func_start func_ov00_02080d78 -func_ov00_02080d78: ; 0x02080d78 - bx lr - arm_func_end func_ov00_02080d78 - - .global func_ov00_02080d7c - arm_func_start func_ov00_02080d7c -func_ov00_02080d7c: ; 0x02080d7c - bx lr - arm_func_end func_ov00_02080d7c - - .global func_ov00_02080d80 - arm_func_start func_ov00_02080d80 -func_ov00_02080d80: ; 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 func_ov00_02080d80 - - .global func_ov00_02080ddc - arm_func_start func_ov00_02080ddc -func_ov00_02080ddc: ; 0x02080ddc - mov r0, #1 - bx lr - arm_func_end func_ov00_02080ddc - - .global func_ov00_02080de4 - arm_func_start func_ov00_02080de4 -func_ov00_02080de4: ; 0x02080de4 - bx lr - arm_func_end func_ov00_02080de4 - - .global func_ov00_02080de8 - arm_func_start func_ov00_02080de8 -func_ov00_02080de8: ; 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 func_ov00_02080de8 -_02080ed4: .word data_027e0f64 -_02080ed8: .word 0x00001c72 - - .global func_ov00_02080edc - arm_func_start func_ov00_02080edc -func_ov00_02080edc: ; 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 func_ov00_02080edc -_02080f1c: .word data_027e0d38 - - .global func_ov00_02080f20 - arm_func_start func_ov00_02080f20 -func_ov00_02080f20: ; 0x02080f20 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r0, [r4] - cmp r0, #0 - beq _02080f58 - ldr r1, [r4, #4] - mov r0, #0 - strb r0, [sp] - ldr r0, [r4, #4] - sub r0, r0, r1 - str r0, [r4, #4] - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02080f58: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02080f20 - - .global func_ov00_02080f64 - arm_func_start func_ov00_02080f64 -func_ov00_02080f64: ; 0x02080f64 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_020812bc - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_02081160 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02080f64 - - .global func_ov00_02080f94 - arm_func_start func_ov00_02080f94 -func_ov00_02080f94: ; 0x02080f94 - stmdb sp!, {r4, r5, r6, lr} - mov r5, r1 - mov r4, r2 - mov r6, r0 - cmp r5, r4 - beq _02080ff0 - ldr r2, [r6] - ldr r1, [r6, #4] - mov r0, r5 - add r1, r2, r1, lsl #2 - sub r2, r1, r4 - mov r1, r2, asr #0x1 - add r1, r2, r1, lsr #30 - mov r2, r1, asr #0x2 - mov r1, r4 - mov r2, r2, lsl #0x2 - bl func_020435b4 - sub r1, r4, r5 - mov r0, r1, asr #0x1 - ldr r2, [r6, #4] - add r0, r1, r0, lsr #30 - sub r0, r2, r0, asr #2 - str r0, [r6, #4] -_02080ff0: - mov r0, r5 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02080f94 - - .global func_ov00_02080ff8 - arm_func_start func_ov00_02080ff8 -func_ov00_02080ff8: ; 0x02080ff8 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02081034 - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02081388 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081034: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02080ff8 - - .global func_ov00_02081040 - arm_func_start func_ov00_02081040 -func_ov00_02081040: ; 0x02081040 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_02081524 - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_02081398 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02081040 - - .global func_ov00_02081070 - arm_func_start func_ov00_02081070 -func_ov00_02081070: ; 0x02081070 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _020810ac - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_020815f4 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_020810ac: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02081070 - - .global func_ov00_020810b8 - arm_func_start func_ov00_020810b8 -func_ov00_020810b8: ; 0x020810b8 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_020817dc - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_02081604 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020810b8 - - .global func_ov00_020810e8 - arm_func_start func_ov00_020810e8 -func_ov00_020810e8: ; 0x020810e8 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02081124 - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_020818ac - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081124: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_020810e8 - - .global func_ov00_02081130 - arm_func_start func_ov00_02081130 -func_ov00_02081130: ; 0x02081130 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_02081a90 - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_020818bc - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02081130 - - .global func_ov00_02081160 - arm_func_start func_ov00_02081160 -func_ov00_02081160: ; 0x02081160 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x1c - mov r6, r0 - mov r5, r1 - add r0, sp, #8 - add r1, r6, #8 - mov r4, r2 - bl func_ov00_02081e7c - mov r0, #0 - str r0, [sp, #0x18] - ldmib r6, {r0, r1} - add r2, r0, r5 - mov r0, r6 - sub r1, r2, r1 - bl func_ov00_020812bc - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_02081e3c - ldr r1, [r6, #4] - ldr r0, [sp, #8] - str r1, [sp, #0x18] - add r1, r0, r1, lsl #2 - ldr r0, [sp, #0xc] - cmp r5, #0 - add r1, r1, r0, lsl #2 - mov r0, #0 - strb r0, [sp, #3] - mov r2, r5 - beq _020811fc -_020811ec: - ldr r0, [r4] - subs r2, r2, #1 - str r0, [r1], #4 - bne _020811ec -_020811fc: - ldr r0, [sp, #0xc] - ldr r1, [sp, #0x18] - add r0, r0, r5 - str r0, [sp, #0xc] - ldr r4, [r6] - ldr r0, [r6, #4] - mov ip, #0 - add r0, r4, r0, lsl #2 - sub r2, r0, r4 - mov r0, r2, asr #0x1 - add r5, r2, r0, lsr #30 - sub r3, r1, r5, asr #2 - mov r2, r5, asr #0x2 - ldr r0, [sp, #8] - mov r7, r2, lsl #0x2 - mov r1, r4 - mov r2, r7 - add r0, r0, r3, lsl #2 - strb ip, [sp, #2] - str r3, [sp, #0x18] - bl func_02043594 - mov r0, r4 - mov r2, r7 - mov r1, #0 - bl func_02043600 - ldr r1, [sp, #0xc] - mov r0, #0 - add r1, r1, r5, asr #2 - str r1, [sp, #0xc] - strb r0, [sp, #1] - str r0, [r6, #4] - add r3, sp, #0x10 - ldr r2, [r6, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r6, #8] - str r2, [r3] - ldr r2, [r6] - ldr r1, [sp, #8] - str r1, [r6] - str r2, [sp, #8] - ldr r2, [r6, #4] - ldr r1, [sp, #0xc] - str r1, [r6, #4] - str r2, [sp, #0xc] - bl func_ov00_02081b60 - add sp, sp, #0x1c - ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end func_ov00_02081160 - - .global func_ov00_020812bc - arm_func_start func_ov00_020812bc -func_ov00_020812bc: ; 0x020812bc - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - mvn r0, #0xc0000000 - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _020812e4 - bl func_0204dd9c -_020812e4: - ldr r0, _02081380 ; =0x15555555 - cmp r4, r0 - bhs _02081330 - add r1, r4, #1 - ldr r0, _02081384 ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_02081330: - cmp r4, r0, lsl #1 - bhs _0208136c - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_0208136c: - mvn r0, #0xc0000000 - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_020812bc -_02081380: .word 0x15555555 -_02081384: .word 0xcccccccd - - .global func_ov00_02081388 - arm_func_start func_ov00_02081388 -func_ov00_02081388: ; 0x02081388 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_02081388 - - .global func_ov00_02081398 - arm_func_start func_ov00_02081398 -func_ov00_02081398: ; 0x02081398 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x1c - mov r6, r0 - mov r5, r1 - add r0, sp, #8 - add r1, r6, #8 - mov r4, r2 - bl func_ov00_02081dd0 - mov r0, #0 - str r0, [sp, #0x18] - ldmib r6, {r0, r1} - add r2, r0, r5 - mov r0, r6 - sub r1, r2, r1 - bl func_ov00_02081524 - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_02081d88 - ldr ip, [r6, #4] - mov r0, #0 - strb r0, [sp, #3] - ldr r1, [sp, #8] - mov r0, #0x14 - mla r2, ip, r0, r1 - ldr r1, [sp, #0xc] - str ip, [sp, #0x18] - mla ip, r1, r0, r2 - cmp r5, #0 - mov r3, r5 - beq _02081454 -_02081428: - ldmia r4, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldrsh r0, [r4, #0xc] - subs r3, r3, #1 - strh r0, [ip, #0xc] - ldrb r0, [r4, #0xe] - strb r0, [ip, #0xe] - ldr r0, [r4, #0x10] - str r0, [ip, #0x10] - add ip, ip, #0x14 - bne _02081428 -_02081454: - ldr r1, [sp, #0xc] - mov r0, #0x14 - add r1, r1, r5 - str r1, [sp, #0xc] - ldr lr, [r6] - ldr r1, [r6, #4] - mov r4, #0 - mla r3, r1, r0, lr - ldr r2, [sp, #8] - ldr r1, [sp, #0x18] - strb r4, [sp, #2] - mla ip, r1, r0, r2 - cmp r3, lr - bls _020814d8 -_0208148c: - sub r3, r3, #0x14 - subs ip, ip, #0x14 - beq _020814b8 - 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] -_020814b8: - ldr r1, [sp, #0x18] - ldr r0, [sp, #0xc] - sub r1, r1, #1 - add r0, r0, #1 - str r1, [sp, #0x18] - str r0, [sp, #0xc] - cmp r3, lr - bhi _0208148c -_020814d8: - mov r0, #0 - strb r0, [sp, #1] - add r3, sp, #0x10 - ldr r2, [r6, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r6, #8] - str r2, [r3] - ldr r2, [r6] - ldr r1, [sp, #8] - str r1, [r6] - str r2, [sp, #8] - ldr r2, [r6, #4] - ldr r1, [sp, #0xc] - str r1, [r6, #4] - str r2, [sp, #0xc] - bl func_ov00_02081b7c - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_02081398 - - .global func_ov00_02081524 - arm_func_start func_ov00_02081524 -func_ov00_02081524: ; 0x02081524 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - ldr r0, _020815e8 ; =0x0ccccccc - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _0208154c - bl func_0204dd9c -_0208154c: - ldr r0, _020815ec ; =0x04444444 - cmp r4, r0 - bhs _02081598 - add r1, r4, #1 - ldr r0, _020815f0 ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_02081598: - cmp r4, r0, lsl #1 - bhs _020815d4 - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_020815d4: - ldr r0, _020815e8 ; =0x0ccccccc - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_02081524 -_020815e8: .word 0x0ccccccc -_020815ec: .word 0x04444444 -_020815f0: .word 0xcccccccd - - .global func_ov00_020815f4 - arm_func_start func_ov00_020815f4 -func_ov00_020815f4: ; 0x020815f4 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_020815f4 - - .global func_ov00_02081604 - arm_func_start func_ov00_02081604 -func_ov00_02081604: ; 0x02081604 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x1c - mov r4, r0 - mov r6, r1 - add r0, sp, #8 - add r1, r4, #8 - mov r5, r2 - bl func_ov00_02081d18 - mov r0, #0 - str r0, [sp, #0x18] - ldmib r4, {r0, r1} - add r2, r0, r6 - mov r0, r4 - sub r1, r2, r1 - bl func_ov00_020817dc - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_02081cd0 - ldr ip, [r4, #4] - mov r0, #0 - strb r0, [sp, #3] - ldr r2, [sp, #8] - mov r0, #0x18 - mla r3, ip, r0, r2 - ldr r2, [sp, #0xc] - str ip, [sp, #0x18] - mla r0, r2, r0, r3 - cmp r6, #0 - mov r1, r6 - beq _020816e8 -_02081694: - ldr r2, [r5] - subs r1, r1, #1 - str r2, [r0] - ldr r2, [r5, #4] - str r2, [r0, #4] - ldr r2, [r5, #8] - str r2, [r0, #8] - ldr r2, [r5, #0xc] - str r2, [r0, #0xc] - ldrsh r2, [r5, #0x10] - strh r2, [r0, #0x10] - ldrb r2, [r5, #0x12] - strb r2, [r0, #0x12] - ldrb r2, [r5, #0x13] - strb r2, [r0, #0x13] - ldrb r2, [r5, #0x14] - strb r2, [r0, #0x14] - ldrb r2, [r5, #0x15] - strb r2, [r0, #0x15] - add r0, r0, #0x18 - bne _02081694 -_020816e8: - ldr r0, [sp, #0xc] - mov r1, #0x18 - add r0, r0, r6 - str r0, [sp, #0xc] - ldmia r4, {r2, r3} - mla r0, r3, r1, r2 - mov r6, #0 - ldr r5, [sp, #8] - ldr r3, [sp, #0x18] - strb r6, [sp, #2] - mla r1, r3, r1, r5 - cmp r0, r2 - bls _02081790 -_0208171c: - sub r0, r0, #0x18 - subs r1, r1, #0x18 - beq _02081770 - ldr r3, [r0] - str r3, [r1] - ldr r3, [r0, #4] - str r3, [r1, #4] - ldr r3, [r0, #8] - str r3, [r1, #8] - ldr r3, [r0, #0xc] - str r3, [r1, #0xc] - ldrsh r3, [r0, #0x10] - strh r3, [r1, #0x10] - ldrb r3, [r0, #0x12] - strb r3, [r1, #0x12] - ldrb r3, [r0, #0x13] - strb r3, [r1, #0x13] - ldrb r3, [r0, #0x14] - strb r3, [r1, #0x14] - ldrb r3, [r0, #0x15] - strb r3, [r1, #0x15] -_02081770: - ldr r5, [sp, #0x18] - ldr r3, [sp, #0xc] - sub r5, r5, #1 - add r3, r3, #1 - str r5, [sp, #0x18] - str r3, [sp, #0xc] - cmp r0, r2 - bhi _0208171c -_02081790: - mov r0, #0 - strb r0, [sp, #1] - add r3, sp, #0x10 - ldr r2, [r4, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r4, #8] - str r2, [r3] - ldr r2, [r4] - ldr r1, [sp, #8] - str r1, [r4] - str r2, [sp, #8] - ldr r2, [r4, #4] - ldr r1, [sp, #0xc] - str r1, [r4, #4] - str r2, [sp, #0xc] - bl func_ov00_02081b98 - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_02081604 - - .global func_ov00_020817dc - arm_func_start func_ov00_020817dc -func_ov00_020817dc: ; 0x020817dc - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - ldr r0, _020818a0 ; =0x0aaaaaaa - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _02081804 - bl func_0204dd9c -_02081804: - ldr r0, _020818a4 ; =0x038e38e3 - cmp r4, r0 - bhs _02081850 - add r1, r4, #1 - ldr r0, _020818a8 ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_02081850: - cmp r4, r0, lsl #1 - bhs _0208188c - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_0208188c: - ldr r0, _020818a0 ; =0x0aaaaaaa - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_020817dc -_020818a0: .word 0x0aaaaaaa -_020818a4: .word 0x038e38e3 -_020818a8: .word 0xcccccccd - - .global func_ov00_020818ac - arm_func_start func_ov00_020818ac -func_ov00_020818ac: ; 0x020818ac - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_020818ac - - .global func_ov00_020818bc - arm_func_start func_ov00_020818bc -func_ov00_020818bc: ; 0x020818bc - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x1c - mov r4, r0 - mov r6, r1 - add r0, sp, #8 - add r1, r4, #8 - mov r5, r2 - bl func_ov00_02081c60 - mov r0, #0 - str r0, [sp, #0x18] - ldmib r4, {r0, r1} - add r2, r0, r6 - mov r0, r4 - sub r1, r2, r1 - bl func_ov00_02081a90 - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_02081c18 - ldr ip, [r4, #4] - mov r0, #0 - strb r0, [sp, #3] - ldr r2, [sp, #8] - mov r0, #0x1c - mla r3, ip, r0, r2 - ldr r2, [sp, #0xc] - str ip, [sp, #0x18] - mla r0, r2, r0, r3 - cmp r6, #0 - mov r1, r6 - beq _020819a0 -_0208194c: - ldr r2, [r5] - subs r1, r1, #1 - str r2, [r0] - ldrb r2, [r5, #4] - strb r2, [r0, #4] - ldr r2, [r5, #8] - str r2, [r0, #8] - ldr r2, [r5, #0xc] - str r2, [r0, #0xc] - ldr r2, [r5, #0x10] - str r2, [r0, #0x10] - ldrsh r2, [r5, #0x14] - strh r2, [r0, #0x14] - ldrsh r2, [r5, #0x16] - strh r2, [r0, #0x16] - ldrh r3, [r5, #0x18] - ldrh r2, [r5, #0x1a] - strh r3, [r0, #0x18] - strh r2, [r0, #0x1a] - add r0, r0, #0x1c - bne _0208194c -_020819a0: - ldr r1, [sp, #0xc] - mov r0, #0x1c - add r1, r1, r6 - str r1, [sp, #0xc] - ldr lr, [r4] - ldr r1, [r4, #4] - mov r5, #0 - mla r3, r1, r0, lr - ldr r2, [sp, #8] - ldr r1, [sp, #0x18] - strb r5, [sp, #2] - mla ip, r1, r0, r2 - cmp r3, lr - bls _02081a44 -_020819d8: - sub r3, r3, #0x1c - subs ip, ip, #0x1c - beq _02081a24 - ldr r1, [r3] - add r0, r3, #8 - str r1, [ip] - ldrb r1, [r3, #4] - add r5, ip, #8 - strb r1, [ip, #4] - ldmia r0, {r0, r1, r2} - stmia r5, {r0, r1, r2} - ldrsh r0, [r3, #0x14] - strh r0, [ip, #0x14] - ldrsh r0, [r3, #0x16] - strh r0, [ip, #0x16] - ldrh r1, [r3, #0x18] - ldrh r0, [r3, #0x1a] - strh r1, [ip, #0x18] - strh r0, [ip, #0x1a] -_02081a24: - ldr r1, [sp, #0x18] - ldr r0, [sp, #0xc] - sub r1, r1, #1 - add r0, r0, #1 - str r1, [sp, #0x18] - str r0, [sp, #0xc] - cmp r3, lr - bhi _020819d8 -_02081a44: - mov r0, #0 - strb r0, [sp, #1] - add r3, sp, #0x10 - ldr r2, [r4, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r4, #8] - str r2, [r3] - ldr r2, [r4] - ldr r1, [sp, #8] - str r1, [r4] - str r2, [sp, #8] - ldr r2, [r4, #4] - ldr r1, [sp, #0xc] - str r1, [r4, #4] - str r2, [sp, #0xc] - bl func_ov00_02081bb4 - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_020818bc - - .global func_ov00_02081a90 - arm_func_start func_ov00_02081a90 -func_ov00_02081a90: ; 0x02081a90 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - ldr r0, _02081b54 ; =0x09249249 - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _02081ab8 - bl func_0204dd9c -_02081ab8: - ldr r0, _02081b58 ; =0x030c30c3 - cmp r4, r0 - bhs _02081b04 - add r1, r4, #1 - ldr r0, _02081b5c ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_02081b04: - cmp r4, r0, lsl #1 - bhs _02081b40 - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_02081b40: - ldr r0, _02081b54 ; =0x09249249 - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_02081a90 -_02081b54: .word 0x09249249 -_02081b58: .word 0x030c30c3 -_02081b5c: .word 0xcccccccd - - .global func_ov00_02081b60 - arm_func_start func_ov00_02081b60 -func_ov00_02081b60: ; 0x02081b60 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02081df8 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081b60 - - .global func_ov00_02081b7c - arm_func_start func_ov00_02081b7c -func_ov00_02081b7c: ; 0x02081b7c - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02081d40 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081b7c - - .global func_ov00_02081b98 - arm_func_start func_ov00_02081b98 -func_ov00_02081b98: ; 0x02081b98 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02081c88 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081b98 - - .global func_ov00_02081bb4 - arm_func_start func_ov00_02081bb4 -func_ov00_02081bb4: ; 0x02081bb4 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02081bd0 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081bb4 - - .global func_ov00_02081bd0 - arm_func_start func_ov00_02081bd0 -func_ov00_02081bd0: ; 0x02081bd0 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02081c0c - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02081ec4 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081c0c: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02081bd0 - - .global func_ov00_02081c18 - arm_func_start func_ov00_02081c18 -func_ov00_02081c18: ; 0x02081c18 - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02081c58 ; =0x09249249 - mov r4, r1 - mov r5, r0 - cmp r4, r2 - bls _02081c34 - bl func_0204dd9c -_02081c34: - mov r0, #0x1c - mul r0, r4, r0 - ldr r1, _02081c5c ; =data_027e0ce0 - mov r2, #4 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02081c18 -_02081c58: .word 0x09249249 -_02081c5c: .word data_027e0ce0 - - .global func_ov00_02081c60 - arm_func_start func_ov00_02081c60 -func_ov00_02081c60: ; 0x02081c60 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_02081ea4 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081c60 - - .global func_ov00_02081c88 - arm_func_start func_ov00_02081c88 -func_ov00_02081c88: ; 0x02081c88 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02081cc4 - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02081ed4 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081cc4: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02081c88 - - .global func_ov00_02081cd0 - arm_func_start func_ov00_02081cd0 -func_ov00_02081cd0: ; 0x02081cd0 - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02081d10 ; =0x0aaaaaaa - mov r4, r1 - mov r5, r0 - cmp r4, r2 - bls _02081cec - bl func_0204dd9c -_02081cec: - mov r0, #0x18 - mul r0, r4, r0 - ldr r1, _02081d14 ; =data_027e0ce0 - mov r2, #4 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02081cd0 -_02081d10: .word 0x0aaaaaaa -_02081d14: .word data_027e0ce0 - - .global func_ov00_02081d18 - arm_func_start func_ov00_02081d18 -func_ov00_02081d18: ; 0x02081d18 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_02081eac - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081d18 - - .global func_ov00_02081d40 - arm_func_start func_ov00_02081d40 -func_ov00_02081d40: ; 0x02081d40 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02081d7c - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02081ee4 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081d7c: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02081d40 - - .global func_ov00_02081d88 - arm_func_start func_ov00_02081d88 -func_ov00_02081d88: ; 0x02081d88 - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02081dc8 ; =0x0ccccccc - mov r4, r1 - mov r5, r0 - cmp r4, r2 - bls _02081da4 - bl func_0204dd9c -_02081da4: - mov r0, #0x14 - mul r0, r4, r0 - ldr r1, _02081dcc ; =data_027e0ce0 - mov r2, #4 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02081d88 -_02081dc8: .word 0x0ccccccc -_02081dcc: .word data_027e0ce0 - - .global func_ov00_02081dd0 - arm_func_start func_ov00_02081dd0 -func_ov00_02081dd0: ; 0x02081dd0 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_02081eb4 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081dd0 - - .global func_ov00_02081df8 - arm_func_start func_ov00_02081df8 -func_ov00_02081df8: ; 0x02081df8 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r0, [r4] - cmp r0, #0 - beq _02081e30 - ldr r1, [r4, #4] - mov r0, #0 - strb r0, [sp] - ldr r0, [r4, #4] - sub r0, r0, r1 - str r0, [r4, #4] - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081e30: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02081df8 - - .global func_ov00_02081e3c - arm_func_start func_ov00_02081e3c -func_ov00_02081e3c: ; 0x02081e3c - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mvn r1, #0xc0000000 - mov r5, r0 - cmp r4, r1 - bls _02081e58 - bl func_0204dd9c -_02081e58: - ldr r1, _02081e78 ; =data_027e0ce0 - mov r0, r4, lsl #0x2 - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02081e3c -_02081e78: .word data_027e0ce0 - - .global func_ov00_02081e7c - arm_func_start func_ov00_02081e7c -func_ov00_02081e7c: ; 0x02081e7c - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_02081ebc - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081e7c - - .global func_ov00_02081ea4 - arm_func_start func_ov00_02081ea4 -func_ov00_02081ea4: ; 0x02081ea4 - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_02081ea4 - - .global func_ov00_02081eac - arm_func_start func_ov00_02081eac -func_ov00_02081eac: ; 0x02081eac - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_02081eac - - .global func_ov00_02081eb4 - arm_func_start func_ov00_02081eb4 -func_ov00_02081eb4: ; 0x02081eb4 - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_02081eb4 - - .global func_ov00_02081ebc - arm_func_start func_ov00_02081ebc -func_ov00_02081ebc: ; 0x02081ebc - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_02081ebc - - .global func_ov00_02081ec4 - arm_func_start func_ov00_02081ec4 -func_ov00_02081ec4: ; 0x02081ec4 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_02081ec4 - - .global func_ov00_02081ed4 - arm_func_start func_ov00_02081ed4 -func_ov00_02081ed4: ; 0x02081ed4 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_02081ed4 - - .global func_ov00_02081ee4 - arm_func_start func_ov00_02081ee4 -func_ov00_02081ee4: ; 0x02081ee4 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_02081ee4 - - .global func_ov00_02081ef4 - arm_func_start func_ov00_02081ef4 -func_ov00_02081ef4: ; 0x02081ef4 - ldr r1, _02081f34 ; =0x0000ffff - mov r2, #0 - strh r1, [r0, #0x24] - strh r1, [r0, #0x26] - strh r1, [r0, #0x28] - strh r1, [r0, #0x2a] - strh r2, [r0, #0x2c] - sub r1, r2, #1 - str r1, [r0, #0x54] - strb r2, [r0, #0x58] - strb r2, [r0, #0x59] - strb r2, [r0, #0x5a] - strb r2, [r0, #0x5b] - strb r2, [r0, #0x5c] - strb r2, [r0, #0x5d] - bx lr - .align 2, 0 - arm_func_end func_ov00_02081ef4 -_02081f34: .word 0x0000ffff - - .global func_ov00_02081f38 - arm_func_start func_ov00_02081f38 -func_ov00_02081f38: ; 0x02081f38 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081f38 - - .global func_ov00_02081f4c - arm_func_start func_ov00_02081f4c -func_ov00_02081f4c: ; 0x02081f4c - bx lr - arm_func_end func_ov00_02081f4c - - .global func_ov00_02081f50 - arm_func_start func_ov00_02081f50 -func_ov00_02081f50: ; 0x02081f50 - mov r0, #1 - bx lr - arm_func_end func_ov00_02081f50 - - .global func_ov00_02081f58 - arm_func_start func_ov00_02081f58 -func_ov00_02081f58: ; 0x02081f58 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081f58 - - .global func_ov00_02081f6c - arm_func_start func_ov00_02081f6c -func_ov00_02081f6c: ; 0x02081f6c - bx lr - arm_func_end func_ov00_02081f6c - - .global func_ov00_02081f70 - arm_func_start func_ov00_02081f70 -func_ov00_02081f70: ; 0x02081f70 - mov r0, #1 - bx lr - arm_func_end func_ov00_02081f70 - - .global func_ov00_02081f78 - arm_func_start func_ov00_02081f78 -func_ov00_02081f78: ; 0x02081f78 - mov r0, #1 - bx lr - arm_func_end func_ov00_02081f78 - - .global func_ov00_02081f80 - arm_func_start func_ov00_02081f80 -func_ov00_02081f80: ; 0x02081f80 - stmdb sp!, {r4, lr} - mov r4, r1 - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x10 - bgt _02081fcc - bge _02081fec - cmp r0, #3 - bgt _02081fc0 - cmp r0, #1 - blt _02081ffc - cmpne r0, #3 - beq _02081fec - b _02081ffc -_02081fc0: - cmp r0, #0xe - beq _02081fec - b _02081ffc -_02081fcc: - cmp r0, #0x1c - bgt _02081fe4 - bge _02081fec - cmp r0, #0x17 - beq _02081fec - b _02081ffc -_02081fe4: - cmp r0, #0x38 - bne _02081ffc - arm_func_end func_ov00_02081f80 -_02081fec: - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x20] - blx r1 -_02081ffc: - mov r0, #1 - ldmia sp!, {r4, pc} - - .global func_ov00_02082004 - arm_func_start func_ov00_02082004 -func_ov00_02082004: ; 0x02082004 - mov r0, #1 - bx lr - arm_func_end func_ov00_02082004 - - .global func_ov00_0208200c - arm_func_start func_ov00_0208200c -func_ov00_0208200c: ; 0x0208200c - mov r0, #1 - bx lr - arm_func_end func_ov00_0208200c - - .global func_ov00_02082014 - arm_func_start func_ov00_02082014 -func_ov00_02082014: ; 0x02082014 - stmdb sp!, {r4, lr} - mov r4, r1 - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x10 - bgt _02082054 - cmp r0, #0xe - blt _02082048 - cmpne r0, #0x10 - beq _0208206c - b _0208207c -_02082048: - cmp r0, #3 - beq _0208206c - b _0208207c -_02082054: - cmp r0, #0x17 - bgt _02082064 - beq _0208206c - b _0208207c -_02082064: - cmp r0, #0x1c - bne _0208207c - arm_func_end func_ov00_02082014 -_0208206c: - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x20] - blx r1 -_0208207c: - mov r0, #1 - ldmia sp!, {r4, pc} - - .global func_ov00_02082084 - arm_func_start func_ov00_02082084 -func_ov00_02082084: ; 0x02082084 - mov r0, #1 - bx lr - arm_func_end func_ov00_02082084 - - .global func_ov00_0208208c - arm_func_start func_ov00_0208208c -func_ov00_0208208c: ; 0x0208208c - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f4c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208208c - - .global func_ov00_020820a0 - arm_func_start func_ov00_020820a0 -func_ov00_020820a0: ; 0x020820a0 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f4c - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020820a0 - - .global func_ov00_020820bc - arm_func_start func_ov00_020820bc -func_ov00_020820bc: ; 0x020820bc - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f4c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020820bc - - .global func_ov00_020820d0 - arm_func_start func_ov00_020820d0 -func_ov00_020820d0: ; 0x020820d0 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f4c - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020820d0 - - .global func_ov00_020820ec - arm_func_start func_ov00_020820ec -func_ov00_020820ec: ; 0x020820ec - ldr ip, _020820f8 ; =func_ov00_0207ca00 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_020820ec -_020820f8: .word func_ov00_0207ca00 - - .global func_ov00_020820fc - arm_func_start func_ov00_020820fc -func_ov00_020820fc: ; 0x020820fc - ldr ip, _02082108 ; =func_ov00_0207ca28 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_020820fc -_02082108: .word func_ov00_0207ca28 - - .global func_ov00_0208210c - arm_func_start func_ov00_0208210c -func_ov00_0208210c: ; 0x0208210c - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x30 - mov lr, #0 - sub ip, lr, #2 - mov r6, #0x47 - mov r3, #0xff - mov r5, r0 - mov r4, r2 - str r6, [sp, #0x18] - str lr, [sp, #0x1c] - str lr, [sp, #0x20] - str ip, [sp, #0x24] - strh lr, [sp, #0x28] - strb r3, [sp, #0x2a] - strb lr, [sp, #0x2b] - strb lr, [sp, #0x2c] - strb lr, [sp, #0x2d] - cmp r1, #0 - beq _02082170 - mov r0, #0xb - str r0, [r4] - mov r0, #2 - strb r0, [r4, #4] - mov r0, #4 - b _02082190 -_02082170: - add r1, sp, #0x18 - bl func_ov00_02082348 - add r0, sp, #0x18 - bl func_ov00_020a5e9c - str r0, [r4] - ldrb r0, [sp, #0x2a] - strb r0, [r4, #4] - ldrb r0, [sp, #0x2b] -_02082190: - strb r0, [r4, #5] - ldr r0, _02082300 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - add r0, r0, #0x1c - bl func_ov00_020a5e9c - ldr r1, _02082300 ; =data_027e0d38 - str r0, [r4, #8] - ldr r0, [r1] - ldr r0, [r0, #0x28] - ldrb r0, [r0, #0x2e] - strb r0, [r4, #0x10] - ldr r0, [r1] - ldr r0, [r0, #0x28] - ldrsh r0, [r0, #0x36] - strh r0, [r4, #0x14] - ldr r0, [r1] - ldr r2, [r0, #0x28] - ldr r0, [r2, #0x38] - str r0, [r4, #0x18] - ldr r0, [r2, #0x3c] - str r0, [r4, #0x1c] - ldr r0, [r2, #0x40] - str r0, [r4, #0x20] - ldr r0, [r1] - ldr r0, [r0, #0x28] - add r0, r0, #0x44 - bl func_ov00_020a5e9c - str r0, [r4, #0xc] - ldr r1, _02082300 ; =data_027e0d38 - add r0, sp, #0 - ldr r2, [r1] - ldr r2, [r2, #0x28] - ldrb r2, [r2, #0x56] - strb r2, [r4, #0x11] - ldr r2, [r1] - ldr r3, [r2, #0x28] - ldr r2, [r3, #0x5c] - str r2, [r4, #0x24] - ldr r2, [r3, #0x60] - str r2, [r4, #0x28] - ldr r2, [r3, #0x64] - str r2, [r4, #0x2c] - ldr r2, [r1] - ldr r2, [r2, #0x28] - ldrsh r2, [r2, #0x68] - strh r2, [r4, #0x16] - ldr r1, [r1] - ldr r2, [r1, #0x28] - ldr r1, [r2, #0x70] - str r1, [sp] - ldr r1, [r2, #0x74] - str r1, [sp, #4] - ldr r1, [r2, #0x78] - str r1, [sp, #8] - ldr r1, [r2, #0x7c] - str r1, [sp, #0xc] - ldrsh r1, [r2, #0x80] - strh r1, [sp, #0x10] - ldrb r1, [r2, #0x82] - strb r1, [sp, #0x12] - ldrb r1, [r2, #0x83] - strb r1, [sp, #0x13] - ldrb r1, [r2, #0x84] - strb r1, [sp, #0x14] - ldrb r1, [r2, #0x85] - strb r1, [sp, #0x15] - bl func_ov00_020a5e9c - str r0, [r4, #0x1c0] - ldrb r2, [sp, #0x12] - ldr r0, _02082304 ; =data_027e0f70 - mov r1, r4 - strb r2, [r4, #0x1be] - ldrb r2, [sp, #0x13] - strb r2, [r4, #0x1bf] - ldr r0, [r0] - bl func_ov00_02096324 - ldr r0, _02082308 ; =data_027e0f7c - mov r1, r4 - ldr r0, [r0] - bl func_ov00_0209d6e8 - ldr r0, [r5] - ldr r0, [r0, #4] - cmp r0, #3 - addeq sp, sp, #0x30 - ldmeqia sp!, {r4, r5, r6, pc} - ldrb r0, [r5, #8] - strb r0, [r4, #7] - ldrb r0, [r5, #9] - strb r0, [r4, #0x1bc] - add sp, sp, #0x30 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0208210c -_02082300: .word data_027e0d38 -_02082304: .word data_027e0f70 -_02082308: .word data_027e0f7c - - .global func_ov00_0208230c - arm_func_start func_ov00_0208230c -func_ov00_0208230c: ; 0x0208230c - stmdb sp!, {r3, lr} - ldr r3, [r0] - mov r2, #0xa - ldr r3, [r3] - str r3, [r1] - ldr lr, [r0] - ldrb ip, [lr, #0x1c] - ldrb r3, [lr, #0x1d] - mla r2, ip, r2, lr - add r2, r2, r3 - ldrb r2, [r2, #0x20] - strb r2, [r1, #0x12] - ldrb r0, [r0, #0xc] - strb r0, [r1, #0x13] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208230c - - .global func_ov00_02082348 - arm_func_start func_ov00_02082348 -func_ov00_02082348: ; 0x02082348 - stmdb sp!, {r4, lr} - sub sp, sp, #0x18 - mov ip, #0 - mov r4, r1 - sub r3, ip, #2 - mov lr, #0x47 - mov r2, #0xff - add r1, sp, #0 - str lr, [sp] - str ip, [sp, #4] - str ip, [sp, #8] - str r3, [sp, #0xc] - strh ip, [sp, #0x10] - strb r2, [sp, #0x12] - strb ip, [sp, #0x13] - strb ip, [sp, #0x14] - strb ip, [sp, #0x15] - bl func_ov00_0208230c - add r0, sp, #0 - mov r1, r4 - blx func_ov00_02078bf0 - add sp, sp, #0x18 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02082348 - - .global func_ov00_020823a4 - arm_func_start func_ov00_020823a4 -func_ov00_020823a4: ; 0x020823a4 - ldr ip, _020823b0 ; =func_ov00_0207de68 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020823a4 -_020823b0: .word func_ov00_0207de68 - - .global func_ov00_020823b4 - arm_func_start func_ov00_020823b4 -func_ov00_020823b4: ; 0x020823b4 - ldr ip, _020823c0 ; =func_ov00_0207de88 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020823b4 -_020823c0: .word func_ov00_0207de88 - - .global func_ov00_020823c4 - arm_func_start func_ov00_020823c4 -func_ov00_020823c4: ; 0x020823c4 - ldr ip, _020823d0 ; =func_ov00_0207e08c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020823c4 -_020823d0: .word func_ov00_0207e08c - - .global func_ov00_020823d4 - arm_func_start func_ov00_020823d4 -func_ov00_020823d4: ; 0x020823d4 - ldr ip, _020823e0 ; =func_ov00_0207e0f0 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020823d4 -_020823e0: .word func_ov00_0207e0f0 - - .global func_ov00_020823e4 - arm_func_start func_ov00_020823e4 -func_ov00_020823e4: ; 0x020823e4 - ldr ip, _020823f0 ; =func_ov00_0207e28c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020823e4 -_020823f0: .word func_ov00_0207e28c - - .global func_ov00_020823f4 - arm_func_start func_ov00_020823f4 -func_ov00_020823f4: ; 0x020823f4 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r1, [r0] - ldr r1, [r1, #0xb4] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020823f4 - - .global func_ov00_0208240c - arm_func_start func_ov00_0208240c -func_ov00_0208240c: ; 0x0208240c - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r1, [r0] - ldr r1, [r1, #0x9c] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208240c - - .global func_ov00_02082424 - arm_func_start func_ov00_02082424 -func_ov00_02082424: ; 0x02082424 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - movne r0, #0 - ldmneia sp!, {r4, pc} - ldr r0, [r4, #4] - bl func_ov15_02129c14 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02082424 - - .global func_ov00_02082454 - arm_func_start func_ov00_02082454 -func_ov00_02082454: ; 0x02082454 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - ldr r0, [r6, #4] - mov r5, r1 - ldr r1, [r0] - mov r4, r2 - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - ldr r0, [r6, #4] - mov r1, r5 - mov r2, r4 - bl func_ov15_02129c24 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02082454 - - .global func_ov00_02082494 - arm_func_start func_ov00_02082494 -func_ov00_02082494: ; 0x02082494 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5, #4] - mov r4, r1 - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r0, [r5, #4] - mov r1, r4 - bl func_ov15_02129c34 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02082494 - - .global func_ov00_020824cc - arm_func_start func_ov00_020824cc -func_ov00_020824cc: ; 0x020824cc - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5, #4] - mov r4, r1 - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r0, [r5, #4] - mov r1, r4 - bl func_ov15_02129c44 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020824cc - - .global func_ov00_02082504 - arm_func_start func_ov00_02082504 -func_ov00_02082504: ; 0x02082504 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - movne r0, #0 - ldmneia sp!, {r4, pc} - ldr r0, [r4, #4] - add r0, r0, #0x100 - ldrsh r0, [r0, #0xac] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02082504 - - .global func_ov00_02082538 - arm_func_start func_ov00_02082538 -func_ov00_02082538: ; 0x02082538 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - mov r4, r0 - ldr r0, [r4, #4] - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - ldreq r0, [r4, #4] - addeq sp, sp, #0xc - addeq r0, r0, #0x1a0 - ldmeqia sp!, {r3, r4, pc} - ldr r1, _02082590 ; =data_027e0f94 - add r0, sp, #0 - ldr r3, [r1] - ldr r2, [r1, #4] - str r3, [sp] - str r2, [sp, #4] - ldr r1, [r1, #8] - str r1, [sp, #8] - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_02082538 -_02082590: .word data_027e0f94 - - .global func_ov00_02082594 - arm_func_start func_ov00_02082594 -func_ov00_02082594: ; 0x02082594 - ldr r0, _020825a4 ; =data_027e0f68 - ldr ip, _020825a8 ; =func_ov00_0208d620 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_02082594 -_020825a4: .word data_027e0f68 -_020825a8: .word func_ov00_0208d620 - - .global func_ov00_020825ac - arm_func_start func_ov00_020825ac -func_ov00_020825ac: ; 0x020825ac - ldr r0, _020825bc ; =data_027e0f68 - ldr ip, _020825c0 ; =func_ov00_0208d680 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_020825ac -_020825bc: .word data_027e0f68 -_020825c0: .word func_ov00_0208d680 - - .global func_ov00_020825c4 - arm_func_start func_ov00_020825c4 -func_ov00_020825c4: ; 0x020825c4 - ldr ip, _020825dc ; =func_0200c8d0 - mov r3, r1 - mov r0, r2 - ldr r1, _020825e0 ; =data_ov00_020e2528 - mov r2, r3 - bx ip - .align 2, 0 - arm_func_end func_ov00_020825c4 -_020825dc: .word func_0200c8d0 -_020825e0: .word data_ov00_020e2528 - - .global func_ov00_020825e4 - arm_func_start func_ov00_020825e4 -func_ov00_020825e4: ; 0x020825e4 - stmdb sp!, {r3, r4, r5, lr} - ldr r3, _02082610 ; =data_027e0f7c - mov r5, r0 - ldr r0, [r3] - mov r4, r2 - bl func_ov00_0209d71c - mov r1, r0 - mov r0, r5 - mov r2, r4 - bl func_ov00_020825c4 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_020825e4 -_02082610: .word data_027e0f7c - - .global func_ov00_02082614 - arm_func_start func_ov00_02082614 -func_ov00_02082614: ; 0x02082614 - stmdb sp!, {r3, lr} - mov r3, #4 - str r3, [sp] - ldr r0, [r0] - mov r3, r1 - mov r1, r2 - mov r2, #0 - bl func_ov00_0207ce20 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02082614 - - .global func_ov00_02082638 - arm_func_start func_ov00_02082638 -func_ov00_02082638: ; 0x02082638 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r3, [r0] - ldr r3, [r3, #0xb0] - blx r3 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02082638 - - .global func_ov00_02082650 - arm_func_start func_ov00_02082650 -func_ov00_02082650: ; 0x02082650 - ldr ip, _0208265c ; =func_ov00_0208005c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02082650 -_0208265c: .word func_ov00_0208005c - - .global func_ov00_02082660 - arm_func_start func_ov00_02082660 -func_ov00_02082660: ; 0x02082660 - ldr ip, _0208266c ; =func_ov00_0208007c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02082660 -_0208266c: .word func_ov00_0208007c - - .global func_ov00_02082670 - arm_func_start func_ov00_02082670 -func_ov00_02082670: ; 0x02082670 - ldr ip, _0208267c ; =func_ov00_0208006c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02082670 -_0208267c: .word func_ov00_0208006c - - .global func_ov00_02082680 - arm_func_start func_ov00_02082680 -func_ov00_02082680: ; 0x02082680 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - mov r3, r2 - ldr ip, [r0] - mov r2, #5 - ldr ip, [ip, #0x98] - blx ip - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02082680 - - .global func_ov00_020826a0 - arm_func_start func_ov00_020826a0 -func_ov00_020826a0: ; 0x020826a0 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - mov r3, r2 - ldr ip, [r0] - mov r2, #7 - ldr ip, [ip, #0x98] - blx ip - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020826a0 - - .global func_ov00_020826c0 - arm_func_start func_ov00_020826c0 -func_ov00_020826c0: ; 0x020826c0 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - ldr r0, [r6, #4] - mov r5, r2 - mov r4, r3 - cmp r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - cmp r1, #4 - addls pc, pc, r1, lsl #2 - b _0208278c -_020826e8: ; jump table - b _0208275c ; case 0 - b _0208278c ; case 1 - b _0208272c ; case 2 - b _0208278c ; case 3 - b _020826fc ; case 4 -_020826fc: - ldr r1, _020827bc ; =data_027e0ce0 - mov r0, #0x790 - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _02082724 - mov r1, r5 - mov r2, r4 - bl func_ov12_0212b358 -_02082724: - str r0, [r6, #4] - ldmia sp!, {r4, r5, r6, pc} -_0208272c: - ldr r1, _020827bc ; =data_027e0ce0 - mov r0, #0x1b0 - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _02082754 - mov r1, r5 - mov r2, r4 - bl func_ov15_02128dd8 -_02082754: - str r0, [r6, #4] - ldmia sp!, {r4, r5, r6, pc} -_0208275c: - ldr r1, _020827bc ; =data_027e0ce0 - mov r0, #0x1dc - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _02082784 - mov r1, r5 - mov r2, r4 - bl func_ov18_0215b4a0 -_02082784: - str r0, [r6, #4] - ldmia sp!, {r4, r5, r6, pc} -_0208278c: - ldr r1, _020827bc ; =data_027e0ce0 - mov r0, #0x790 - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _020827b4 - mov r1, r5 - mov r2, r4 - blx func_ov17_0215b4e8 -_020827b4: - str r0, [r6, #4] - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_020826c0 -_020827bc: .word data_027e0ce0 - - .global func_ov00_020827c0 - arm_func_start func_ov00_020827c0 -func_ov00_020827c0: ; 0x020827c0 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - cmp r0, #0 - ldmeqia sp!, {r4, pc} - beq _020827e4 - ldr r1, [r0] - ldr r1, [r1, #4] - blx r1 -_020827e4: - mov r0, #0 - str r0, [r4, #4] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020827c0 - - .global func_ov00_020827f0 - arm_func_start func_ov00_020827f0 -func_ov00_020827f0: ; 0x020827f0 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r1, [r0] - ldr r1, [r1, #0x44] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020827f0 - - .global func_ov00_02082808 - arm_func_start func_ov00_02082808 -func_ov00_02082808: ; 0x02082808 - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _020828b4 ; =data_027e0d38 - mov r5, r1 - ldr r1, [r2] - ldr r1, [r1, #0x14] - cmp r1, #1 - ldmeqia sp!, {r3, r4, r5, pc} - bl func_ov00_02084740 - mov r4, r0 - cmp r5, #0 - beq _0208286c - ldr r0, _020828b4 ; =data_027e0d38 - ldr r0, [r0] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0 - bne _02082854 - ldr r0, _020828b8 ; =data_ov15_02190458 - bl func_ov15_021849a4 -_02082854: - ldr r0, _020828bc ; =data_ov00_020eec68 - mov r1, r4 - mov r2, #0 - mov r3, #0x7f - bl func_ov00_020d70a4 - b _02082890 -_0208286c: - ldr r0, _020828bc ; =data_ov00_020eec68 - bl func_ov00_020d7424 - cmp r4, r0 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _020828bc ; =data_ov00_020eec68 - mov r1, r4 - mov r2, #0 - mov r3, #0x7f - bl func_ov00_020d70a4 -_02082890: - ldr r0, _020828b4 ; =data_027e0d38 - ldr r0, [r0] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _020828bc ; =data_ov00_020eec68 - bl func_ov00_020d72b8 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02082808 -_020828b4: .word data_027e0d38 -_020828b8: .word data_ov15_02190458 -_020828bc: .word data_ov00_020eec68 - - .global func_ov00_020828c0 - arm_func_start func_ov00_020828c0 -func_ov00_020828c0: ; 0x020828c0 - stmdb sp!, {r3, lr} - ldr ip, [sp, #8] - str ip, [sp] - ldr r0, [r0, #4] - ldr ip, [r0] - ldr ip, [ip, #0x7c] - blx ip - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020828c0 - - .global func_ov00_020828e0 - arm_func_start func_ov00_020828e0 -func_ov00_020828e0: ; 0x020828e0 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0x84] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020828e0 - - .global func_ov00_020828f8 - arm_func_start func_ov00_020828f8 -func_ov00_020828f8: ; 0x020828f8 - ldr ip, _02082904 ; =func_ov00_0207f38c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020828f8 -_02082904: .word func_ov00_0207f38c - - .global func_ov00_02082908 - arm_func_start func_ov00_02082908 -func_ov00_02082908: ; 0x02082908 - ldr r0, [r0] - ldrb r0, [r0, #0xb0] - bx lr - arm_func_end func_ov00_02082908 - - .global func_ov00_02082914 - arm_func_start func_ov00_02082914 -func_ov00_02082914: ; 0x02082914 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x34 - mov r8, r1 - sub r1, r8, #0xfa - mov r9, r0 - cmp r1, #4 - addls pc, pc, r1, lsl #2 - b _02082ac0 -_02082934: ; jump table - b _02082948 ; case 0 - b _02082990 ; case 1 - b _02082990 ; case 2 - b _02082990 ; case 3 - b _02082990 ; case 4 -_02082948: - ldr r0, _02082ac8 ; =data_027e0d38 - add r3, sp, #0x20 - ldr r0, [r0] - ldr r0, [r0, #0x28] - add r4, r0, #0x5c - ldmia r4, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldrsh r0, [r4, #0xc] - mov r1, r3 - strh r0, [sp, #0x2c] - ldrb r0, [r4, #0xe] - strb r0, [sp, #0x2e] - ldr r0, [r4, #0x10] - str r0, [sp, #0x30] - ldr r0, [r9, #4] - bl func_ov00_0207f844 - add sp, sp, #0x34 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02082990: - ldr r0, _02082ac8 ; =data_027e0d38 - mov r1, #0xff - mov r4, #0 - ldr r0, [r0] - strb r1, [sp, #0x1a] - str r4, [sp, #0x1c] - ldr r1, [r0, #0x28] - ldr r0, [r9] - ldr r3, [r1, #0x38] - ldr r2, [r1, #0x3c] - ldr r1, [r1, #0x40] - ldr r0, [r0, #4] - mov r5, #0x2000 - mov r6, r5 - str r3, [sp] - str r2, [sp, #4] - str r1, [sp, #8] - cmp r0, #2 - mov r7, #0xfd - bne _02082a0c - ldr r0, [r9, #4] - ldr r1, [r0] - ldr r1, [r1, #0x88] - blx r1 - add r5, r0, #0xa000 - ldr r0, [r9, #4] - ldr r1, [r0] - ldr r1, [r1, #0x8c] - blx r1 - add r6, r0, #0xa000 - mov r7, #0xfe -_02082a0c: - sub r0, r8, #0xfb - cmp r0, #3 - addls pc, pc, r0, lsl #2 - b _02082a90 -_02082a1c: ; jump table - b _02082a2c ; case 0 - b _02082a48 ; case 1 - b _02082a60 ; case 2 - b _02082a7c ; case 3 -_02082a2c: - mov r0, r9 - bl func_ov00_020833e8 - sub r0, r0, r6 - mov r4, #0x8000 - str r0, [sp, #8] - rsb r4, r4, #0 - b _02082a90 -_02082a48: - mov r0, r9 - bl func_ov00_020833d0 - add r0, r6, r0 - str r0, [sp, #8] - mov r4, #0 - b _02082a90 -_02082a60: - mov r0, r9 - bl func_ov00_020833dc - sub r0, r0, r5 - mov r4, #0x4000 - str r0, [sp] - rsb r4, r4, #0 - b _02082a90 -_02082a7c: - mov r0, r9 - bl func_ov00_020833c4 - add r0, r5, r0 - str r0, [sp] - mov r4, #0x4000 -_02082a90: - ldr r2, [sp] - ldr r1, [sp, #4] - ldr r0, [sp, #8] - str r1, [sp, #0x10] - strb r8, [sp, #0x1a] - str r2, [sp, #0xc] - strh r4, [sp, #0x18] - str r7, [sp, #0x1c] - str r0, [sp, #0x14] - ldr r0, [r9, #4] - add r1, sp, #0xc - bl func_ov00_0207f844 -_02082ac0: - add sp, sp, #0x34 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - .align 2, 0 - arm_func_end func_ov00_02082914 -_02082ac8: .word data_027e0d38 - - .global func_ov00_02082acc - arm_func_start func_ov00_02082acc -func_ov00_02082acc: ; 0x02082acc - ldr ip, _02082ad8 ; =func_ov00_0207d7bc - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_02082acc -_02082ad8: .word func_ov00_0207d7bc - - .global func_ov00_02082adc - arm_func_start func_ov00_02082adc -func_ov00_02082adc: ; 0x02082adc - ldr r0, _02082aec ; =data_027e0f70 - ldr ip, _02082af0 ; =func_ov00_02096418 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_02082adc -_02082aec: .word data_027e0f70 -_02082af0: .word func_ov00_02096418 - - .global func_ov00_02082af4 - arm_func_start func_ov00_02082af4 -func_ov00_02082af4: ; 0x02082af4 - stmdb sp!, {r4, lr} - ldr r1, _02082b38 ; =data_027e0f68 - mov r4, r0 - ldr r0, [r1] - bl func_ov00_0208cc88 - ldr r0, [r4, #4] - ldr r1, [r0] - ldr r1, [r1, #0x48] - blx r1 - mov r0, r4 - mov r1, #0 - bl func_ov00_02082808 - mov r0, #1 - strb r0, [r4, #0xa] - mov r0, #0 - strb r0, [r4, #0xb] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02082af4 -_02082b38: .word data_027e0f68 - - .global func_ov00_02082b3c - arm_func_start func_ov00_02082b3c -func_ov00_02082b3c: ; 0x02082b3c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r5, r1 - mov r6, r0 - ldrb r2, [r5, #0x12] - ldr r1, [r6] - add r0, sp, #0 - bl func_ov00_0207cb7c - mov r0, r6 - bl func_ov00_02082d28 - ldrb r1, [sp] - cmp r1, r0 - bne _02082bac - mov r0, r6 - bl func_ov00_02082d34 - ldrb r1, [sp, #1] - cmp r1, r0 - bne _02082bac - ldr r0, [r5, #8] - cmp r0, #1 - bne _02082ba0 - ldr r0, _02082ce0 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x14] - cmp r0, #1 - beq _02082bac -_02082ba0: - ldrb r0, [r5, #0x15] - cmp r0, #0 - beq _02082c90 -_02082bac: - ldr r0, _02082ce4 ; =gAdventureFlags - ldr r0, [r0] - bl _ZN14AdventureFlags18func_ov00_020976c8Ev - ldr r0, _02082ce8 ; =data_027e0f64 - ldr r0, [r0] - bl func_ov00_0208b13c - ldr r1, _02082cec ; =data_027e0fe4 - mov r0, r6 - ldr r4, [r1] - bl func_ov00_02082d08 - mov r3, r0 - ldrb r1, [sp] - ldrb r2, [sp, #1] - mov r0, r4 - blx func_ov04_02105608 - ldr r0, [r6, #4] - ldr r1, [r0] - ldr r1, [r1, #0x2c] - blx r1 - ldr r0, _02082cf0 ; =data_027e0f68 - ldr r0, [r0] - blx func_ov04_02102b28 - ldr r0, _02082cf4 ; =data_027e0f6c - ldr r0, [r0] - blx func_ov04_02102770 - ldr r0, _02082cf8 ; =data_027e0f78 - ldr r0, [r0] - blx func_ov04_02102e3c - ldrb r7, [r5, #0x12] - ldr r0, [r6] - mov r4, #0 - bl func_ov00_0207d778 - mov r1, r7 - mov r7, r0 - ldr r0, [r6] - bl func_ov00_0207d788 - cmp r7, r0 - ldrb r2, [sp] - ldr r1, [r6] - movne r4, #1 - strb r2, [r1, #0x1c] - mov r0, r6 - ldrb ip, [sp, #1] - ldr r6, [r6] - mov r1, r5 - mov r2, r4 - mov r3, #0 - strb ip, [r6, #0x1d] - blx func_ov04_021024c4 - ldr r0, _02082cec ; =data_027e0fe4 - ldrb r1, [r5, #0x12] - ldr r0, [r0] - blx func_ov04_02105578 - ldr r0, _02082cfc ; =data_027e103c - ldr r0, [r0] - bl func_ov00_020cfcec - b _02082cd8 -_02082c90: - ldr r0, _02082ce4 ; =gAdventureFlags - ldr r0, [r0] - bl _ZN14AdventureFlags18func_ov00_020976c8Ev - ldrb r1, [r5, #0x13] - ldr r0, _02082d00 ; =data_027e0f90 - mov r2, #0 - strb r1, [r6, #0xc] - ldr r0, [r0] - ldrb r1, [r5, #0x13] - ldr r3, [r0] - ldr r3, [r3, #0x38] - blx r3 - ldr r0, _02082d04 ; =data_027e0c68 - blx func_ov04_02106db8 - ldr r0, [r6, #4] - ldr r1, [r0] - ldr r1, [r1, #0x18] - blx r1 -_02082cd8: - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_02082b3c -_02082ce0: .word data_027e0d38 -_02082ce4: .word gAdventureFlags -_02082ce8: .word data_027e0f64 -_02082cec: .word data_027e0fe4 -_02082cf0: .word data_027e0f68 -_02082cf4: .word data_027e0f6c -_02082cf8: .word data_027e0f78 -_02082cfc: .word data_027e103c -_02082d00: .word data_027e0f90 -_02082d04: .word data_027e0c68 - - .global func_ov00_02082d08 - arm_func_start func_ov00_02082d08 -func_ov00_02082d08: ; 0x02082d08 - ldr r3, [r0] - mov r0, #0xa - ldrb r2, [r3, #0x1c] - ldrb r1, [r3, #0x1d] - mla r0, r2, r0, r3 - add r0, r0, r1 - ldrb r0, [r0, #0x20] - bx lr - arm_func_end func_ov00_02082d08 - - .global func_ov00_02082d28 - arm_func_start func_ov00_02082d28 -func_ov00_02082d28: ; 0x02082d28 - ldr r0, [r0] - ldrb r0, [r0, #0x1c] - bx lr - arm_func_end func_ov00_02082d28 - - .global func_ov00_02082d34 - arm_func_start func_ov00_02082d34 -func_ov00_02082d34: ; 0x02082d34 - ldr r0, [r0] - ldrb r0, [r0, #0x1d] - bx lr - arm_func_end func_ov00_02082d34 - - .global func_ov00_02082d40 - arm_func_start func_ov00_02082d40 -func_ov00_02082d40: ; 0x02082d40 - ldr r3, [r0] - ldr r0, [r3, #4] - cmp r0, #2 - bne _02082d6c - ldrb r2, [r3, #0x1c] - mov r0, #0xa - ldrb r1, [r3, #0x1d] - mla r0, r2, r0, r3 - add r0, r0, r1 - ldrb r0, [r0, #0x20] - bx lr -_02082d6c: - ldrb r0, [r3, #0xb1] - bx lr - arm_func_end func_ov00_02082d40 - - .global func_ov00_02082d74 - arm_func_start func_ov00_02082d74 -func_ov00_02082d74: ; 0x02082d74 - ldr ip, _02082d80 ; =func_ov00_02078bc4 - mov r0, r1 - bx ip - .align 2, 0 - arm_func_end func_ov00_02082d74 -_02082d80: .word func_ov00_02078bc4 - - .global func_ov00_02082d84 - arm_func_start func_ov00_02082d84 -func_ov00_02082d84: ; 0x02082d84 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - mov r8, r0 - mov r7, r1 - mov r6, r2 - mov r5, r3 - bl func_ov00_0208335c - mov r1, r0, lsl #0xc - mov r0, #0x100000 - bl Divide - mov r4, r0 - mov r0, r8 - bl func_ov00_02083368 - mov r1, r0, lsl #0xc - mov r0, #0xc0000 - bl Divide - ldrb r1, [r7] - mov r1, r1, lsl #0xc - smull r3, r2, r1, r4 - adds r3, r3, #0x800 - adc r1, r2, #0 - mov r2, r3, lsr #0xc - orr r2, r2, r1, lsl #20 - add r1, r2, r4, asr #1 - add r1, r1, #0x800 - mov r1, r1, asr #0xc - str r1, [r6] - ldrb r1, [r7, #1] - mov r1, r1, lsl #0xc - smull r3, r2, r1, r0 - adds r3, r3, #0x800 - adc r1, r2, #0 - mov r2, r3, lsr #0xc - orr r2, r2, r1, lsl #20 - add r0, r2, r0, asr #1 - add r0, r0, #0x800 - mov r0, r0, asr #0xc - str r0, [r5] - ldmia sp!, {r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_02082d84 - - .global func_ov00_02082e1c - arm_func_start func_ov00_02082e1c -func_ov00_02082e1c: ; 0x02082e1c - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x34 - mov r8, r0 - ldr r0, [r8] - mov r7, r1 - ldrb r1, [r0, #0x25c] - mov r6, r2 - cmp r1, #0 - beq _02083050 - bl func_ov00_0207d47c - cmp r0, #0 - bne _02083038 - mvn r1, #0xff - ldr r0, _02083068 ; =data_027e0d38 - str r1, [sp, #0xc] - str r1, [sp, #8] - ldr r1, [r8, #4] - ldr r0, [r0] - ldrb r4, [r1, #0x1a] - bl func_ov00_02078b40 - cmp r0, #0 - bne _02082e88 - ldr r0, _02083068 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - ldrb r5, [r0, #0x9a] - b _02082e98 -_02082e88: - ldr r0, _02083068 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - ldrb r5, [r0, #0x2e] -_02082e98: - cmp r5, #0xff - bne _02082ebc - ldr r3, [r8] - mov r0, #0xa - ldrb r2, [r3, #0x1e] - ldrb r1, [r3, #0x1f] - mla r0, r2, r0, r3 - add r0, r0, r1 - ldrb r5, [r0, #0x20] -_02082ebc: - ldr r0, _02083068 ; =data_027e0d38 - ldr r0, [r0] - bl func_ov00_02078b40 - cmp r0, #0 - bne _02082ef8 - ldr r0, _02083068 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - ldr r2, [r0, #0xa4] - ldr r1, [r0, #0xa8] - ldr r0, [r0, #0xa0] - str r0, [sp, #0x28] - str r2, [sp, #0x2c] - str r1, [sp, #0x30] - b _02082f1c -_02082ef8: - ldr r0, _02083068 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - ldr r2, [r0, #0x3c] - ldr r1, [r0, #0x40] - ldr r0, [r0, #0x38] - str r0, [sp, #0x28] - str r2, [sp, #0x2c] - str r1, [sp, #0x30] -_02082f1c: - ldr r0, [r8] - add r2, sp, #0xc - add r3, sp, #8 - mov r1, r4 - bl func_ov00_0207d518 - cmp r0, #0 - ldr r0, [r8] - bne _02082fc0 - add r2, sp, #0xc - add r3, sp, #8 - mov r1, r5 - bl func_ov00_0207d518 - ldr r1, [r8] - add r0, sp, #6 - mov r2, r5 - bl func_ov00_0207cb7c - ldrb r1, [sp, #7] - add r0, sp, #4 - add r2, sp, #0x28 - str r1, [sp] - ldrb r3, [sp, #6] - mov r1, r8 - bl func_ov00_02083a54 - ldr r0, [r8] - bl func_ov00_0207d5c4 - ldrb r1, [sp, #4] - ldr r3, [sp, #0xc] - mov r1, r1, lsl #0xc - smull r2, r0, r1, r0 - adds r1, r2, #0x800 - adc r0, r0, #0 - mov r1, r1, lsr #0xc - orr r1, r1, r0, lsl #20 - add r0, r1, #0x800 - add r0, r3, r0, asr #12 - str r0, [r7] - ldr r0, [r8] - bl func_ov00_0207d5f0 - ldrb r1, [sp, #5] - ldr r3, [sp, #8] - b _02083008 -_02082fc0: - bl func_ov00_0207d5c4 - ldr r2, [r8, #4] - ldr r1, [sp, #0xc] - ldrb r2, [r2, #0x1b] - mov r2, r2, lsl #0xc - smull r3, r0, r2, r0 - adds r2, r3, #0x800 - adc r0, r0, #0 - mov r2, r2, lsr #0xc - orr r2, r2, r0, lsl #20 - add r0, r2, #0x800 - add r0, r1, r0, asr #12 - str r0, [r7] - ldr r0, [r8] - bl func_ov00_0207d5f0 - ldr r1, [r8, #4] - ldr r3, [sp, #8] - ldrb r1, [r1, #0x1c] -_02083008: - mov r1, r1, lsl #0xc - smull r2, r0, r1, r0 - adds r1, r2, #0x800 - adc r0, r0, #0 - mov r1, r1, lsr #0xc - orr r1, r1, r0, lsl #20 - add r0, r1, #0x800 - add r0, r3, r0, asr #12 - str r0, [r6] - add sp, sp, #0x34 - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} -_02083038: - mov r0, #0x80 - str r0, [r7] - str r0, [r6] - add sp, sp, #0x34 - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} -_02083050: - mov r0, #0xc0 - str r0, [r7] - str r0, [r6] - mov r0, #0 - add sp, sp, #0x34 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_02082e1c -_02083068: .word data_027e0d38 - - .global func_ov00_0208306c - arm_func_start func_ov00_0208306c -func_ov00_0208306c: ; 0x0208306c - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x20 - mov r6, r0 - ldr lr, [r6] - mvn r3, #2 - ldr ip, [lr, #8] - mov r5, r1 - cmp ip, r3 - addne r0, r3, #1 - mov r4, r2 - cmpne ip, r0 - beq _020830f0 - add r0, r3, #2 - cmp ip, r0 - bne _02083138 - ldr r1, _02083154 ; =data_027e0f94 - add r0, sp, #4 - ldr r2, [r1, #4] - ldr r3, [r1] - str r2, [sp, #0x18] - str r3, [sp, #0x14] - ldr r3, [r1, #8] - add r2, sp, #0x14 - mov r1, r6 - str r3, [sp, #0x1c] - bl func_ov00_02083a1c - add r1, sp, #4 - mov r0, r6 - mov r2, r5 - mov r3, r4 - bl func_ov00_02082d84 - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} -_020830f0: - ldr r0, _02083158 ; =data_027e0d38 - add r2, sp, #8 - ldr ip, [r0] - mov r0, r6 - ldr r6, [ip, #0x28] - mov r3, r5 - ldr r1, [r6, #0x5c] - str r1, [sp, #8] - ldr r1, [r6, #0x60] - str r1, [sp, #0xc] - ldr r1, [r6, #0x64] - str r1, [sp, #0x10] - str r4, [sp] - ldr r1, [ip, #0x28] - ldrb r1, [r1, #0x56] - bl func_ov00_02083244 - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} -_02083138: - ldr r0, [lr, #0xb4] - str r0, [r5] - ldr r0, [r6] - ldr r0, [r0, #0xb8] - str r0, [r4] - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0208306c -_02083154: .word data_027e0f94 -_02083158: .word data_027e0d38 - - .global func_ov00_0208315c - arm_func_start func_ov00_0208315c -func_ov00_0208315c: ; 0x0208315c - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x1c - mov r6, r0 - ldr lr, [r6] - mvn r3, #2 - ldr ip, [lr, #8] - mov r5, r1 - cmp ip, r3 - addne r1, r3, #1 - mov r4, r2 - cmpne ip, r1 - beq _020831d8 - add r1, r3, #2 - cmp ip, r1 - bne _02083220 - ldr r1, _0208323c ; =data_027e0f94 - ldr r3, [r1] - ldr r2, [r1, #4] - str r3, [sp, #0x10] - str r2, [sp, #0x14] - ldr r1, [r1, #8] - str r1, [sp, #0x18] - bl func_ov00_02082d08 - mov r1, r0 - add r2, sp, #0x10 - mov r0, r6 - mov r3, r5 - str r4, [sp] - bl func_ov00_02083298 - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} -_020831d8: - ldr r0, _02083240 ; =data_027e0d38 - add r2, sp, #4 - ldr ip, [r0] - mov r0, r6 - ldr r6, [ip, #0x28] - mov r3, r5 - ldr r1, [r6, #0x5c] - str r1, [sp, #4] - ldr r1, [r6, #0x60] - str r1, [sp, #8] - ldr r1, [r6, #0x64] - str r1, [sp, #0xc] - str r4, [sp] - ldr r1, [ip, #0x28] - ldrb r1, [r1, #0x56] - bl func_ov00_02083298 - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} -_02083220: - ldr r0, [lr, #0xbc] - str r0, [r5] - ldr r0, [r6] - ldr r0, [r0, #0xc0] - str r0, [r4] - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0208315c -_0208323c: .word data_027e0f94 -_02083240: .word data_027e0d38 - - .global func_ov00_02083244 - arm_func_start func_ov00_02083244 -func_ov00_02083244: ; 0x02083244 - stmdb sp!, {r3, lr} - ldr r0, _02083290 ; =data_ov00_020e24e8 - cmp r1, #4 - movhs r1, #0 - ldr ip, [r0, r1, lsl #3] - ldr lr, [r2] - ldr r0, _02083294 ; =data_ov00_020e24ec - sub ip, lr, ip - add ip, ip, #0x800 - mov ip, ip, asr #0xc - str ip, [r3] - ldr r1, [r0, r1, lsl #3] - ldr r2, [r2, #8] - ldr r0, [sp, #8] - sub r1, r2, r1 - add r1, r1, #0x800 - mov r1, r1, asr #0xc - str r1, [r0] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_02083244 -_02083290: .word data_ov00_020e24e8 -_02083294: .word data_ov00_020e24ec - - .global func_ov00_02083298 - arm_func_start func_ov00_02083298 -func_ov00_02083298: ; 0x02083298 - stmdb sp!, {r3, lr} - ldr r0, _020832fc ; =data_ov00_020e24e8 - cmp r1, #4 - movhs r1, #0 - ldr lr, _02083300 ; =data_ov00_020e24c8 - ldr ip, [r2] - ldr r0, [r0, r1, lsl #3] - ldr lr, [lr, r1, lsl #3] - sub r0, ip, r0 - mov r0, r0, asr #0x1 - add r0, r0, #0x800 - add r0, lr, r0, asr #12 - str r0, [r3] - ldr r0, _02083304 ; =data_ov00_020e24ec - ldr r3, _02083308 ; =data_ov00_020e24cc - ldr r2, [r2, #8] - ldr r0, [r0, r1, lsl #3] - ldr r3, [r3, r1, lsl #3] - sub r0, r2, r0 - mov r0, r0, asr #0x1 - add r1, r0, #0x800 - ldr r0, [sp, #8] - add r1, r3, r1, asr #12 - str r1, [r0] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_02083298 -_020832fc: .word data_ov00_020e24e8 -_02083300: .word data_ov00_020e24c8 -_02083304: .word data_ov00_020e24ec -_02083308: .word data_ov00_020e24cc - - .global func_ov00_0208330c - arm_func_start func_ov00_0208330c -func_ov00_0208330c: ; 0x0208330c - ldr r0, [r0] - ldrb r0, [r0, #0x25c] - bx lr - arm_func_end func_ov00_0208330c - - .global func_ov00_02083318 - arm_func_start func_ov00_02083318 -func_ov00_02083318: ; 0x02083318 - ldr ip, _02083324 ; =func_ov00_0207d4e4 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083318 -_02083324: .word func_ov00_0207d4e4 - - .global func_ov00_02083328 - arm_func_start func_ov00_02083328 -func_ov00_02083328: ; 0x02083328 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02082d08 - mov r1, r0 - ldr r0, [r4] - bl func_ov00_0207d4e4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02083328 - - .global func_ov00_02083344 - arm_func_start func_ov00_02083344 -func_ov00_02083344: ; 0x02083344 - ldr r0, [r0] - ldrb r0, [r0, #0x86] - bx lr - arm_func_end func_ov00_02083344 - - .global func_ov00_02083350 - arm_func_start func_ov00_02083350 -func_ov00_02083350: ; 0x02083350 - ldr r0, [r0] - ldrb r0, [r0, #0x87] - bx lr - arm_func_end func_ov00_02083350 - - .global func_ov00_0208335c - arm_func_start func_ov00_0208335c -func_ov00_0208335c: ; 0x0208335c - ldr r0, [r0, #4] - ldrh r0, [r0, #0x28] - bx lr - arm_func_end func_ov00_0208335c - - .global func_ov00_02083368 - arm_func_start func_ov00_02083368 -func_ov00_02083368: ; 0x02083368 - ldr r0, [r0, #4] - ldrh r0, [r0, #0x2a] - bx lr - arm_func_end func_ov00_02083368 - - .global func_ov00_02083374 - arm_func_start func_ov00_02083374 -func_ov00_02083374: ; 0x02083374 - stmdb sp!, {r3, lr} - bl func_ov00_0208335c - mov r0, r0, lsl #0xc - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083374 - - .global func_ov00_02083384 - arm_func_start func_ov00_02083384 -func_ov00_02083384: ; 0x02083384 - stmdb sp!, {r3, lr} - bl func_ov00_02083368 - mov r0, r0, lsl #0xc - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083384 - - .global func_ov00_02083394 - arm_func_start func_ov00_02083394 -func_ov00_02083394: ; 0x02083394 - ldr r0, [r0] - ldr r0, [r0, #0x98] - bx lr - arm_func_end func_ov00_02083394 - - .global func_ov00_020833a0 - arm_func_start func_ov00_020833a0 -func_ov00_020833a0: ; 0x020833a0 - ldr r0, [r0] - ldr r0, [r0, #0xa0] - bx lr - arm_func_end func_ov00_020833a0 - - .global func_ov00_020833ac - arm_func_start func_ov00_020833ac -func_ov00_020833ac: ; 0x020833ac - ldr r0, [r0] - ldr r0, [r0, #0xa4] - bx lr - arm_func_end func_ov00_020833ac - - .global func_ov00_020833b8 - arm_func_start func_ov00_020833b8 -func_ov00_020833b8: ; 0x020833b8 - ldr r0, [r0] - ldr r0, [r0, #0xac] - bx lr - arm_func_end func_ov00_020833b8 - - .global func_ov00_020833c4 - arm_func_start func_ov00_020833c4 -func_ov00_020833c4: ; 0x020833c4 - ldr r0, [r0, #4] - ldr r0, [r0, #0xdc] - bx lr - arm_func_end func_ov00_020833c4 - - .global func_ov00_020833d0 - arm_func_start func_ov00_020833d0 -func_ov00_020833d0: ; 0x020833d0 - ldr r0, [r0, #4] - ldr r0, [r0, #0xe4] - bx lr - arm_func_end func_ov00_020833d0 - - .global func_ov00_020833dc - arm_func_start func_ov00_020833dc -func_ov00_020833dc: ; 0x020833dc - ldr r0, [r0, #4] - ldr r0, [r0, #0xe8] - bx lr - arm_func_end func_ov00_020833dc - - .global func_ov00_020833e8 - arm_func_start func_ov00_020833e8 -func_ov00_020833e8: ; 0x020833e8 - ldr r0, [r0, #4] - ldr r0, [r0, #0xf0] - bx lr - arm_func_end func_ov00_020833e8 - - .global func_ov00_020833f4 - arm_func_start func_ov00_020833f4 -func_ov00_020833f4: ; 0x020833f4 - ldr r0, [r0, #4] - ldr r0, [r0, #0xd0] - bx lr - arm_func_end func_ov00_020833f4 - - .global func_ov00_02083400 - arm_func_start func_ov00_02083400 -func_ov00_02083400: ; 0x02083400 - ldr r0, [r0, #4] - ldr r0, [r0, #0xd8] - bx lr - arm_func_end func_ov00_02083400 - - .global func_ov00_0208340c - arm_func_start func_ov00_0208340c -func_ov00_0208340c: ; 0x0208340c - ldr r2, [r0, #4] - ldr r0, [r2, #0xdc] - str r0, [r1] - ldr r0, [r2, #0xe0] - str r0, [r1, #4] - ldr r0, [r2, #0xe4] - str r0, [r1, #8] - bx lr - arm_func_end func_ov00_0208340c - - .global func_ov00_0208342c - arm_func_start func_ov00_0208342c -func_ov00_0208342c: ; 0x0208342c - ldr r2, [r0, #4] - ldr r0, [r2, #0xe8] - str r0, [r1] - ldr r0, [r2, #0xec] - str r0, [r1, #4] - ldr r0, [r2, #0xf0] - str r0, [r1, #8] - bx lr - arm_func_end func_ov00_0208342c - - .global func_ov00_0208344c - arm_func_start func_ov00_0208344c -func_ov00_0208344c: ; 0x0208344c - ldr r2, [r0, #4] - ldr r0, [r2, #0xd0] - str r0, [r1] - ldr r0, [r2, #0xd4] - str r0, [r1, #4] - ldr r0, [r2, #0xd8] - str r0, [r1, #8] - bx lr - arm_func_end func_ov00_0208344c - - .global func_ov00_0208346c - arm_func_start func_ov00_0208346c -func_ov00_0208346c: ; 0x0208346c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - bl func_ov00_020833c4 - str r0, [r4] - mov r0, r5 - bl func_ov00_020833d0 - str r0, [r4, #8] - mov r0, r5 - bl func_ov00_020833dc - str r0, [r4, #0xc] - mov r0, r5 - bl func_ov00_020833e8 - ldr r1, _020834b8 ; =0x00001333 - str r0, [r4, #0x14] - str r1, [r4, #0x10] - mov r0, #0 - str r0, [r4, #4] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0208346c -_020834b8: .word 0x00001333 - - .global func_ov00_020834bc - arm_func_start func_ov00_020834bc -func_ov00_020834bc: ; 0x020834bc - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5] - mov r4, #0xa - mla r4, r2, r4, r0 - add r2, r4, r3 - mov r4, r1 - ldrb r1, [r2, #0x20] - bl func_ov00_0207cbd8 - ldr r1, [r0] - str r1, [r4] - ldr r1, [r0, #4] - str r1, [r4, #4] - ldr r1, [r0, #8] - mov r0, r5 - str r1, [r4, #8] - bl func_ov00_02083374 - ldr r1, [r4] - sub r1, r1, r0, asr #1 - mov r0, r5 - str r1, [r4] - bl func_ov00_02083384 - ldr r1, [r4, #8] - sub r0, r1, r0, asr #1 - str r0, [r4, #8] - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020834bc - - .global func_ov00_02083524 - arm_func_start func_ov00_02083524 -func_ov00_02083524: ; 0x02083524 - stmdb sp!, {r4, lr} - ldr r0, [r0] - mov ip, #0xa - mla ip, r2, ip, r0 - add r2, ip, r3 - mov r4, r1 - ldrb r1, [r2, #0x20] - bl func_ov00_0207cbd8 - ldr r1, [r0] - str r1, [r4] - ldr r1, [r0, #4] - str r1, [r4, #4] - ldr r0, [r0, #8] - str r0, [r4, #8] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02083524 - - .global func_ov00_02083560 - arm_func_start func_ov00_02083560 -func_ov00_02083560: ; 0x02083560 - ldr ip, _0208356c ; =func_ov00_0207cb7c - ldr r1, [r1] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083560 -_0208356c: .word func_ov00_0207cb7c - - .global func_ov00_02083570 - arm_func_start func_ov00_02083570 -func_ov00_02083570: ; 0x02083570 - ldr r3, [r0] - mov r0, #0xa - mla r0, r1, r0, r3 - add r0, r0, r2 - ldrb r0, [r0, #0x20] - bx lr - arm_func_end func_ov00_02083570 - - .global func_ov00_02083588 - arm_func_start func_ov00_02083588 -func_ov00_02083588: ; 0x02083588 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02082d08 - mov r1, r0 - ldr r0, [r4] - bl func_ov00_0207cc6c - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02083588 - - .global func_ov00_020835a4 - arm_func_start func_ov00_020835a4 -func_ov00_020835a4: ; 0x020835a4 - ldr ip, _020835b0 ; =func_ov00_0207d61c - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_020835a4 -_020835b0: .word func_ov00_0207d61c - - .global func_ov00_020835b4 - arm_func_start func_ov00_020835b4 -func_ov00_020835b4: ; 0x020835b4 - ldr ip, _020835c0 ; =func_ov00_0207d628 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_020835b4 -_020835c0: .word func_ov00_0207d628 - - .global func_ov00_020835c4 - arm_func_start func_ov00_020835c4 -func_ov00_020835c4: ; 0x020835c4 - stmdb sp!, {r3, lr} - mov r3, #3 - str r3, [sp] - ldr r0, [r0] - mov r3, r2 - mov r2, #0 - bl func_ov00_0207d404 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020835c4 - - .global func_ov00_020835e4 - arm_func_start func_ov00_020835e4 -func_ov00_020835e4: ; 0x020835e4 - ldr ip, _020835f0 ; =func_ov00_0207caa8 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_020835e4 -_020835f0: .word func_ov00_0207caa8 - - .global func_ov00_020835f4 - arm_func_start func_ov00_020835f4 -func_ov00_020835f4: ; 0x020835f4 - ldr ip, _02083600 ; =func_ov00_0207cb30 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_020835f4 -_02083600: .word func_ov00_0207cb30 - - .global func_ov00_02083604 - arm_func_start func_ov00_02083604 -func_ov00_02083604: ; 0x02083604 - ldr ip, _02083610 ; =func_ov00_0207cbe8 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083604 -_02083610: .word func_ov00_0207cbe8 - - .global func_ov00_02083614 - arm_func_start func_ov00_02083614 -func_ov00_02083614: ; 0x02083614 - ldr ip, _02083620 ; =func_ov00_0207cc24 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083614 -_02083620: .word func_ov00_0207cc24 - - .global func_ov00_02083624 - arm_func_start func_ov00_02083624 -func_ov00_02083624: ; 0x02083624 - stmdb sp!, {r4, lr} - ldr r0, [r0, #4] - mov r4, r1 - mov r1, r2 - bl func_ov00_0207f8c0 - mov r3, r0 - ldmia r3, {r0, r1, r2} - stmia r4, {r0, r1, r2} - ldrsh r1, [r3, #0xc] - mov r0, #1 - strh r1, [r4, #0xc] - ldrb r1, [r3, #0xe] - strb r1, [r4, #0xe] - ldr r1, [r3, #0x10] - str r1, [r4, #0x10] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02083624 - - .global func_ov00_02083664 - arm_func_start func_ov00_02083664 -func_ov00_02083664: ; 0x02083664 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x14 - mov r4, r1 - mov ip, #0xff - mov r3, #0 - add r1, sp, #0 - strb ip, [sp, #0xe] - str r3, [sp, #0x10] - bl func_ov00_02083624 - cmp r0, #0 - addeq sp, sp, #0x14 - moveq r0, #0 - ldmeqia sp!, {r3, r4, pc} - ldr r1, [sp] - mov r0, #1 - str r1, [r4] - ldr r1, [sp, #4] - str r1, [r4, #4] - ldr r1, [sp, #8] - str r1, [r4, #8] - add sp, sp, #0x14 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02083664 - - .global func_ov00_020836bc - arm_func_start func_ov00_020836bc -func_ov00_020836bc: ; 0x020836bc - ldr ip, _020836c8 ; =func_ov00_0207faac - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020836bc -_020836c8: .word func_ov00_0207faac - - .global func_ov00_020836cc - arm_func_start func_ov00_020836cc -func_ov00_020836cc: ; 0x020836cc - ldr ip, _020836d8 ; =func_ov00_0207fb64 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020836cc -_020836d8: .word func_ov00_0207fb64 - - .global func_ov00_020836dc - arm_func_start func_ov00_020836dc -func_ov00_020836dc: ; 0x020836dc - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0xc - cmp r2, #0 - mov r5, r0 - mov r4, r1 - cmpne r2, #1 - bne _02083718 - ldr r0, _02083768 ; =data_027e0f94 - ldr r2, [r0] - ldr r1, [r0, #4] - str r2, [sp] - str r1, [sp, #4] - ldr r0, [r0, #8] - str r0, [sp, #8] - b _02083750 -_02083718: - ldr r0, _0208376c ; =data_027e0fe4 - mov r1, r2 - ldr r0, [r0] - bl _ZN12ActorManager13FindActorByIdEj - cmp r0, #0 - addeq sp, sp, #0xc - moveq r0, #0 - ldmeqia sp!, {r4, r5, pc} - ldr r1, [r0, #0x48] - str r1, [sp] - ldr r1, [r0, #0x4c] - str r1, [sp, #4] - ldr r0, [r0, #0x50] - str r0, [sp, #8] -_02083750: - add r2, sp, #0 - mov r0, r5 - mov r1, r4 - bl func_ov00_02083770 - add sp, sp, #0xc - ldmia sp!, {r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_020836dc -_02083768: .word data_027e0f94 -_0208376c: .word data_027e0fe4 - - .global func_ov00_02083770 - arm_func_start func_ov00_02083770 -func_ov00_02083770: ; 0x02083770 - ldr ip, _0208377c ; =func_ov00_0207fd58 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083770 -_0208377c: .word func_ov00_0207fd58 - - .global func_ov00_02083780 - arm_func_start func_ov00_02083780 -func_ov00_02083780: ; 0x02083780 - ldr ip, _0208378c ; =func_ov00_0207fc2c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083780 -_0208378c: .word func_ov00_0207fc2c - - .global func_ov00_02083790 - arm_func_start func_ov00_02083790 -func_ov00_02083790: ; 0x02083790 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #8 - movs r4, r1 - mov r5, r0 - addeq sp, sp, #8 - moveq r0, #1 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, _02083830 ; =data_027e0f64 - ldr r0, _02083834 ; =data_027e0d38 - ldr r2, [r1] - ldr r2, [r2, #8] - str r4, [r2, #0x1b4] - ldr r1, [r1] - ldr r1, [r1, #4] - str r4, [r1, #0x1b4] - ldr r0, [r0] - bl func_ov00_02078b40 - cmp r0, #0 - beq _0208381c - add r1, sp, #4 - add r2, sp, #0 - mov r0, r5 - bl func_ov00_02082e1c - cmp r0, #0 - bne _0208381c - ldr r0, _02083838 ; =data_027e0d3c - mov r1, r4 - ldr r0, [r0] - mov r2, #0x10 - bl func_ov00_02079898 - ldr r0, _0208383c ; =data_027e0fe4 - mov r1, r4 - ldr r0, [r0] - mov r2, #1 - bl _ZN12ActorManager18func_ov00_020c3ce8Eii -_0208381c: - ldr r0, [r5, #4] - mov r1, r4 - bl func_ov00_0207fdd0 - add sp, sp, #8 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02083790 -_02083830: .word data_027e0f64 -_02083834: .word data_027e0d38 -_02083838: .word data_027e0d3c -_0208383c: .word data_027e0fe4 - - .global func_ov00_02083840 - arm_func_start func_ov00_02083840 -func_ov00_02083840: ; 0x02083840 - stmdb sp!, {r3, r4, r5, lr} - movs r4, r1 - mov r5, r0 - moveq r0, #1 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, _020838bc ; =data_027e0f64 - mvn r3, #0 - ldr r2, [r1] - ldr r0, _020838c0 ; =data_027e0d3c - ldr r2, [r2, #8] - str r3, [r2, #0x1b4] - ldr r1, [r1] - ldr r1, [r1, #4] - str r3, [r1, #0x1b4] - ldr r0, [r0] - bl func_ov00_02078fe8 - cmp r0, #0 - blt _020838ac - ldr r0, _020838c0 ; =data_027e0d3c - mov r1, #0x10 - ldr r0, [r0] - bl func_ov00_020798bc - ldr r0, _020838c4 ; =data_027e0fe4 - mov r1, r4 - ldr r0, [r0] - mov r2, #0 - bl _ZN12ActorManager18func_ov00_020c3ce8Eii -_020838ac: - ldr r0, [r5, #4] - mov r1, r4 - bl func_ov00_02080d80 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02083840 -_020838bc: .word data_027e0f64 -_020838c0: .word data_027e0d3c -_020838c4: .word data_027e0fe4 - - .global func_ov00_020838c8 - arm_func_start func_ov00_020838c8 -func_ov00_020838c8: ; 0x020838c8 - ldr ip, _020838d4 ; =func_ov00_0207fe80 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020838c8 -_020838d4: .word func_ov00_0207fe80 - - .global func_ov00_020838d8 - arm_func_start func_ov00_020838d8 -func_ov00_020838d8: ; 0x020838d8 - ldr ip, _020838e4 ; =func_ov00_0207ff88 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020838d8 -_020838e4: .word func_ov00_0207ff88 - - .global func_ov00_020838e8 - arm_func_start func_ov00_020838e8 -func_ov00_020838e8: ; 0x020838e8 - ldr ip, _020838f4 ; =func_ov00_0208039c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020838e8 -_020838f4: .word func_ov00_0208039c - - .global func_ov00_020838f8 - arm_func_start func_ov00_020838f8 -func_ov00_020838f8: ; 0x020838f8 - ldr ip, _02083904 ; =func_ov00_02080140 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020838f8 -_02083904: .word func_ov00_02080140 - - .global func_ov00_02083908 - arm_func_start func_ov00_02083908 -func_ov00_02083908: ; 0x02083908 - ldr ip, _02083914 ; =func_ov00_02080510 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083908 -_02083914: .word func_ov00_02080510 - - .global func_ov00_02083918 - arm_func_start func_ov00_02083918 -func_ov00_02083918: ; 0x02083918 - ldr ip, _02083924 ; =func_ov00_020805d0 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083918 -_02083924: .word func_ov00_020805d0 - - .global func_ov00_02083928 - arm_func_start func_ov00_02083928 -func_ov00_02083928: ; 0x02083928 - ldr ip, _02083934 ; =func_ov00_02080688 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083928 -_02083934: .word func_ov00_02080688 - - .global func_ov00_02083938 - arm_func_start func_ov00_02083938 -func_ov00_02083938: ; 0x02083938 - ldr ip, _02083944 ; =func_ov00_02080780 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083938 -_02083944: .word func_ov00_02080780 - - .global func_ov00_02083948 - arm_func_start func_ov00_02083948 -func_ov00_02083948: ; 0x02083948 - ldr r0, [r0, #4] - add r0, r0, r2 - strb r1, [r0, #0x16] - bx lr - arm_func_end func_ov00_02083948 - - .global func_ov00_02083958 - arm_func_start func_ov00_02083958 -func_ov00_02083958: ; 0x02083958 - ldr ip, _02083964 ; =func_ov00_0207f924 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083958 -_02083964: .word func_ov00_0207f924 - - .global func_ov00_02083968 - arm_func_start func_ov00_02083968 -func_ov00_02083968: ; 0x02083968 - ldr ip, _02083974 ; =func_ov00_02080824 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02083968 -_02083974: .word func_ov00_02080824 - - .global func_ov00_02083978 - arm_func_start func_ov00_02083978 -func_ov00_02083978: ; 0x02083978 - stmdb sp!, {r4, lr} - ldr r0, [r0, #4] - mov r4, r2 - bl func_ov00_02080a78 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r4, pc} - ldr r1, [r0, #8] - str r1, [r4] - ldr r1, [r0, #0xc] - str r1, [r4, #4] - ldr r1, [r0, #0x10] - mov r0, #1 - str r1, [r4, #8] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02083978 - - .global func_ov00_020839b4 - arm_func_start func_ov00_020839b4 -func_ov00_020839b4: ; 0x020839b4 - ldr ip, _020839c0 ; =func_ov00_020808d0 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020839b4 -_020839c0: .word func_ov00_020808d0 - - .global func_ov00_020839c4 - arm_func_start func_ov00_020839c4 -func_ov00_020839c4: ; 0x020839c4 - ldr ip, _020839d0 ; =func_ov00_020809b8 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_020839c4 -_020839d0: .word func_ov00_020809b8 - - .global func_ov00_020839d4 - arm_func_start func_ov00_020839d4 -func_ov00_020839d4: ; 0x020839d4 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - bl func_ov00_020833f4 - mov r1, r0 - ldr r0, [r5, #4] - sub r1, r4, r1 - bl func_ov00_0207f778 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020839d4 - - .global func_ov00_020839f8 - arm_func_start func_ov00_020839f8 -func_ov00_020839f8: ; 0x020839f8 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - bl func_ov00_02083400 - mov r1, r0 - ldr r0, [r5, #4] - sub r1, r4, r1 - bl func_ov00_0207f7a0 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020839f8 - - .global func_ov00_02083a1c - arm_func_start func_ov00_02083a1c -func_ov00_02083a1c: ; 0x02083a1c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r5, r2 - mov r6, r1 - mov r7, r0 - ldr r1, [r5, #8] - mov r0, r6 - bl func_ov00_020839f8 - mov r4, r0 - ldr r1, [r5] - mov r0, r6 - bl func_ov00_020839d4 - strb r0, [r7] - strb r4, [r7, #1] - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_02083a1c - - .global func_ov00_02083a54 - arm_func_start func_ov00_02083a54 -func_ov00_02083a54: ; 0x02083a54 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x24 - mov r6, r1 - mov r7, r0 - mov r0, r6 - mov r5, r2 - mov r4, r3 - bl func_ov00_0208330c - cmp r0, #0 - beq _02083b58 - mvn r0, #0 - cmp r4, r0 - ldrne r2, [sp, #0x38] - cmpne r2, r0 - bne _02083aa0 - mov r0, r6 - bl func_ov00_02082d08 - mov r1, r0 - b _02083ab4 -_02083aa0: - ldr r1, [r6] - mov r0, #0xa - mla r0, r4, r0, r1 - add r0, r0, r2 - ldrb r1, [r0, #0x20] -_02083ab4: - mov r0, r6 - bl func_ov00_02083318 - cmp r0, #0 - beq _02083b2c - ldr r3, [sp, #0x38] - add r1, sp, #0x18 - mov r0, r6 - mov r2, r4 - bl func_ov00_02083524 - ldr r1, [r5] - add r0, sp, #0 - str r1, [sp] - ldr r2, [r5, #4] - add r1, sp, #0x18 - str r2, [sp, #4] - ldr r3, [r5, #8] - add r2, sp, #0xc - str r3, [sp, #8] - bl func_01ff9bf8 - ldr r0, [r6, #4] - ldr r1, [sp, #0x14] - bl func_ov00_0207f7a0 - mov r4, r0 - ldr r0, [r6, #4] - ldr r1, [sp, #0xc] - bl func_ov00_0207f778 - strb r0, [r7] - add sp, sp, #0x24 - strb r4, [r7, #1] - ldmia sp!, {r4, r5, r6, r7, pc} -_02083b2c: - ldr r1, [r5, #8] - mov r0, r6 - bl func_ov00_020839f8 - mov r4, r0 - ldr r1, [r5] - mov r0, r6 - bl func_ov00_020839d4 - strb r0, [r7] - add sp, sp, #0x24 - strb r4, [r7, #1] - ldmia sp!, {r4, r5, r6, r7, pc} -_02083b58: - ldr r1, [r5, #8] - mov r0, r6 - bl func_ov00_020839f8 - mov r4, r0 - ldr r1, [r5] - mov r0, r6 - bl func_ov00_020839d4 - strb r0, [r7] - strb r4, [r7, #1] - add sp, sp, #0x24 - ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end func_ov00_02083a54 - - .global func_ov00_02083b84 - arm_func_start func_ov00_02083b84 -func_ov00_02083b84: ; 0x02083b84 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl func_ov00_020833f4 - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f694 - add r0, r4, r0 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083b84 - - .global func_ov00_02083bac - arm_func_start func_ov00_02083bac -func_ov00_02083bac: ; 0x02083bac - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl func_ov00_02083400 - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f6a0 - add r0, r4, r0 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083bac - - .global func_ov00_02083bd4 - arm_func_start func_ov00_02083bd4 -func_ov00_02083bd4: ; 0x02083bd4 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl func_ov00_020833f4 - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f6ac - add r0, r4, r0 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083bd4 - - .global func_ov00_02083bfc - arm_func_start func_ov00_02083bfc -func_ov00_02083bfc: ; 0x02083bfc - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl func_ov00_02083400 - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f6bc - add r0, r4, r0 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083bfc - - .global func_ov00_02083c24 - arm_func_start func_ov00_02083c24 -func_ov00_02083c24: ; 0x02083c24 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl func_ov00_020833f4 - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f694 - add r0, r4, r0 - add r0, r0, #0x800 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083c24 - - .global func_ov00_02083c50 - arm_func_start func_ov00_02083c50 -func_ov00_02083c50: ; 0x02083c50 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl func_ov00_02083400 - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f6a0 - add r0, r4, r0 - add r0, r0, #0x800 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083c50 - - .global func_ov00_02083c7c - arm_func_start func_ov00_02083c7c -func_ov00_02083c7c: ; 0x02083c7c - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0xc - mov r4, r1 - ldrb r1, [sp, #0x20] - mov r5, r0 - bl func_ov00_02083c24 - str r0, [r4] - ldrb r1, [sp, #0x21] - mov r0, r5 - bl func_ov00_02083c50 - str r0, [r4, #8] - ldr r0, [r4] - add r1, sp, #0 - str r0, [sp] - ldr r2, [r4, #4] - mov r0, r5 - str r2, [sp, #4] - ldr r3, [r4, #8] - mov r2, #1 - str r3, [sp, #8] - bl func_ov00_02083ee0 - str r0, [r4, #4] - add sp, sp, #0xc - ldmia sp!, {r4, r5, lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_02083c7c - - .global func_ov00_02083ce8 - arm_func_start func_ov00_02083ce8 -func_ov00_02083ce8: ; 0x02083ce8 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x18 - mov r6, r0 - mov r5, r1 - mov r4, r3 - bl func_ov00_0208330c - cmp r0, #0 - beq _02083dd0 - mvn r0, #0 - cmp r4, r0 - ldrne r2, [sp, #0x38] - cmpne r2, r0 - bne _02083d30 - mov r0, r6 - bl func_ov00_02082d08 - mov r1, r0 - b _02083d44 -_02083d30: - ldr r1, [r6] - mov r0, #0xa - mla r0, r4, r0, r1 - add r0, r0, r2 - ldrb r1, [r0, #0x20] -_02083d44: - mov r0, r6 - bl func_ov00_02083318 - cmp r0, #0 - beq _02083da4 - ldr r3, [sp, #0x38] - add r1, sp, #0xc - mov r0, r6 - mov r2, r4 - bl func_ov00_02083524 - ldrb r1, [sp, #0x30] - ldr r0, [r6, #4] - bl func_ov00_0207f694 - ldr r2, [sp, #0xc] - ldrb r1, [sp, #0x31] - add r0, r2, r0 - add r0, r0, #0x800 - str r0, [r5] - ldr r0, [r6, #4] - bl func_ov00_0207f6a0 - ldr r1, [sp, #0x14] - add r0, r1, r0 - add r0, r0, #0x800 - str r0, [r5, #8] - b _02083df8 -_02083da4: - ldrb r1, [sp, #0x30] - ldr r0, [r6, #4] - bl func_ov00_0207f694 - add r0, r0, #0x800 - str r0, [r5] - ldrb r1, [sp, #0x31] - ldr r0, [r6, #4] - bl func_ov00_0207f6a0 - add r0, r0, #0x800 - str r0, [r5, #8] - b _02083df8 -_02083dd0: - ldrb r1, [sp, #0x30] - ldr r0, [r6, #4] - bl func_ov00_0207f694 - add r0, r0, #0x800 - str r0, [r5] - ldrb r1, [sp, #0x31] - ldr r0, [r6, #4] - bl func_ov00_0207f6a0 - add r0, r0, #0x800 - str r0, [r5, #8] -_02083df8: - ldr r0, [r5] - add r1, sp, #0 - str r0, [sp] - ldr r2, [r5, #4] - mov r0, r6 - str r2, [sp, #4] - ldr r3, [r5, #8] - mov r2, #1 - str r3, [sp, #8] - bl func_ov00_02083ee0 - str r0, [r5, #4] - add sp, sp, #0x18 - ldmia sp!, {r4, r5, r6, lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_02083ce8 - - .global func_ov00_02083e34 - arm_func_start func_ov00_02083e34 -func_ov00_02083e34: ; 0x02083e34 - stmdb sp!, {r3, lr} - strb r1, [sp] - strb r2, [sp, #1] - ldr r0, [r0, #4] - add r1, sp, #0 - ldr r2, [r0] - ldr r2, [r2, #0x60] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083e34 - - .global func_ov00_02083e58 - arm_func_start func_ov00_02083e58 -func_ov00_02083e58: ; 0x02083e58 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0x60] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083e58 - - .global func_ov00_02083e70 - arm_func_start func_ov00_02083e70 -func_ov00_02083e70: ; 0x02083e70 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - bl func_ov00_02084088 - cmp r0, #0x2b - bgt _02083e98 - bge _02083eb0 - cmp r0, #0x1b - beq _02083eb0 - b _02083eb8 -_02083e98: - cmp r0, #0x4f - bgt _02083eb8 - cmp r0, #0x4e - blt _02083eb8 - cmpne r0, #0x4f - bne _02083eb8 -_02083eb0: - mov r0, #1 - ldmia sp!, {r3, r4, r5, pc} -_02083eb8: - mov r0, r5 - mov r1, r4 - bl func_ov00_02083e58 - mov r4, r0 - mov r0, r5 - bl func_ov00_02084114 - cmp r4, r0 - movge r0, #1 - movlt r0, #0 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02083e70 - - .global func_ov00_02083ee0 - arm_func_start func_ov00_02083ee0 -func_ov00_02083ee0: ; 0x02083ee0 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r3, [r0] - ldr r3, [r3, #0x68] - blx r3 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083ee0 - - .global func_ov00_02083ef8 - arm_func_start func_ov00_02083ef8 -func_ov00_02083ef8: ; 0x02083ef8 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - add ip, sp, #0 - mov r4, r0 - mov lr, r2 - ldmia r1, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldr r1, [lr, #4] - ldr r0, [sp, #4] - mov r2, r3 - cmp r1, r0 - strgt r1, [sp, #4] - ldr r0, [r4, #4] - add r1, sp, #0 - ldr ip, [r0] - ldr ip, [ip, #0x68] - blx ip - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02083ef8 - - .global func_ov00_02083f44 - arm_func_start func_ov00_02083f44 -func_ov00_02083f44: ; 0x02083f44 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - ldr ip, _02083f7c ; =data_ov00_020e24a4 - mov r3, r2 - ldr r4, [r1, #8] - ldr lr, [r1] - ldr ip, [ip, #0x20] - add r2, sp, #0 - str lr, [sp] - str ip, [sp, #4] - str r4, [sp, #8] - bl func_ov00_02083ef8 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_02083f44 -_02083f7c: .word data_ov00_020e24a4 - - .global func_ov00_02083f80 - arm_func_start func_ov00_02083f80 -func_ov00_02083f80: ; 0x02083f80 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr ip, [r0] - ldr ip, [ip, #0x6c] - blx ip - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083f80 - - .global func_ov00_02083f98 - arm_func_start func_ov00_02083f98 -func_ov00_02083f98: ; 0x02083f98 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0x70] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083f98 - - .global func_ov00_02083fb0 - arm_func_start func_ov00_02083fb0 -func_ov00_02083fb0: ; 0x02083fb0 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r1 - mov r4, r0 - ldr r0, [r6, #4] - mov r5, r2 - ldr r2, [r0] - mov r1, r5 - ldr r2, [r2, #0x74] - blx r2 - cmp r0, #0 - ldrne r0, [r0, #0xc] - strne r0, [r4] - ldmneia sp!, {r4, r5, r6, pc} - mov r0, r6 - mov r1, r5 - bl func_ov00_02083f98 - ldr r1, _0208401c ; =0x0000ffff - mov r2, r0 - cmp r2, r1 - moveq r0, #0 - streq r0, [r4] - ldmeqia sp!, {r4, r5, r6, pc} - ldr r1, _02084020 ; =data_027e0f6c - mov r0, r4 - ldr r1, [r1] - bl func_ov00_02093a1c - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_02083fb0 -_0208401c: .word 0x0000ffff -_02084020: .word data_027e0f6c - - .global func_ov00_02084024 - arm_func_start func_ov00_02084024 -func_ov00_02084024: ; 0x02084024 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0xc - mov r6, r0 - ldr r0, [r6, #4] - mov r5, r2 - bl func_ov00_0207f6cc - mov r0, r6 - bl func_ov00_02083400 - mov r4, r0 - mov r0, r6 - bl func_ov00_020833f4 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - add r1, sp, #0 - mov r0, r5 - mov r2, r5 - str r4, [sp, #8] - bl func_01ff9bc4 - add r0, r5, #0xc - mov r2, r0 - add r1, sp, #0 - bl func_01ff9bc4 - add sp, sp, #0xc - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_02084024 - - .global func_ov00_02084088 - arm_func_start func_ov00_02084088 -func_ov00_02084088: ; 0x02084088 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0x54] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084088 - - .global func_ov00_020840a0 - arm_func_start func_ov00_020840a0 -func_ov00_020840a0: ; 0x020840a0 - stmdb sp!, {r3, lr} - strb r1, [sp] - strb r2, [sp, #1] - ldr r0, [r0, #4] - add r1, sp, #0 - ldr r2, [r0] - ldr r2, [r2, #0x54] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020840a0 - - .global func_ov00_020840c4 - arm_func_start func_ov00_020840c4 -func_ov00_020840c4: ; 0x020840c4 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0x78] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020840c4 - - .global func_ov00_020840dc - arm_func_start func_ov00_020840dc -func_ov00_020840dc: ; 0x020840dc - stmdb sp!, {r3, lr} - bl func_ov00_020840c4 - cmp r0, #0 - mvneq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020840dc - - .global func_ov00_02084100 - arm_func_start func_ov00_02084100 -func_ov00_02084100: ; 0x02084100 - ldr r1, [r1, #4] - ldr r2, [r1, #0x40] - ldr r1, [r1, #0x44] - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_02084100 - - .global func_ov00_02084114 - arm_func_start func_ov00_02084114 -func_ov00_02084114: ; 0x02084114 - ldr r0, [r0, #4] - ldr r0, [r0, #0x48] - bx lr - arm_func_end func_ov00_02084114 - - .global func_ov00_02084120 - arm_func_start func_ov00_02084120 -func_ov00_02084120: ; 0x02084120 - ldr r0, [r0, #4] - ldr r0, [r0, #0x4c] - bx lr - arm_func_end func_ov00_02084120 - - .global func_ov00_0208412c - arm_func_start func_ov00_0208412c -func_ov00_0208412c: ; 0x0208412c - ldr ip, _02084138 ; =func_ov00_0207f934 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208412c -_02084138: .word func_ov00_0207f934 - - .global func_ov00_0208413c - arm_func_start func_ov00_0208413c -func_ov00_0208413c: ; 0x0208413c - ldr ip, _02084148 ; =func_ov00_0207f948 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208413c -_02084148: .word func_ov00_0207f948 - - .global func_ov00_0208414c - arm_func_start func_ov00_0208414c -func_ov00_0208414c: ; 0x0208414c - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r3, [r0] - ldr r3, [r3, #0x58] - blx r3 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208414c - - .global func_ov00_02084164 - arm_func_start func_ov00_02084164 -func_ov00_02084164: ; 0x02084164 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5, #4] - mov r2, #7 - ldr r3, [r0] - mov r4, r1 - ldr r3, [r3, #0x58] - blx r3 - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - mov r0, r5 - mov r1, r4 - bl func_ov00_02084088 - cmp r0, #0x54 - addls pc, pc, r0, lsl #2 - b _02084304 -_020841a8: ; jump table - b _020842fc ; case 0 - b _02084304 ; case 1 - b _02084304 ; case 2 - b _02084304 ; case 3 - b _02084304 ; case 4 - b _02084304 ; case 5 - b _02084304 ; case 6 - b _02084304 ; case 7 - b _020842fc ; case 8 - b _020842fc ; case 9 - b _02084304 ; case 10 - b _020842fc ; case 11 - b _020842fc ; case 12 - b _020842fc ; case 13 - b _020842fc ; case 14 - b _020842fc ; case 15 - b _020842fc ; case 16 - b _020842fc ; case 17 - b _020842fc ; case 18 - b _020842fc ; case 19 - b _02084304 ; case 20 - b _020842fc ; case 21 - b _020842fc ; case 22 - b _02084304 ; case 23 - b _020842fc ; case 24 - b _02084304 ; case 25 - b _020842fc ; case 26 - b _02084304 ; case 27 - b _02084304 ; case 28 - b _02084304 ; case 29 - b _02084304 ; case 30 - b _02084304 ; case 31 - b _020842fc ; case 32 - b _020842fc ; case 33 - b _020842fc ; case 34 - b _020842fc ; case 35 - b _02084304 ; case 36 - b _020842fc ; case 37 - b _020842fc ; case 38 - b _020842fc ; case 39 - b _020842fc ; case 40 - b _020842fc ; case 41 - b _020842fc ; case 42 - b _02084304 ; case 43 - b _020842fc ; case 44 - b _020842fc ; case 45 - b _020842fc ; case 46 - b _020842fc ; case 47 - b _02084304 ; case 48 - b _020842fc ; case 49 - b _020842fc ; case 50 - b _02084304 ; case 51 - b _02084304 ; case 52 - b _020842fc ; case 53 - b _020842fc ; case 54 - b _02084304 ; case 55 - b _020842fc ; case 56 - b _020842fc ; case 57 - b _020842fc ; case 58 - b _020842fc ; case 59 - b _020842fc ; case 60 - b _020842fc ; case 61 - b _020842fc ; case 62 - b _020842fc ; case 63 - b _02084304 ; case 64 - b _020842fc ; case 65 - b _020842fc ; case 66 - b _020842fc ; case 67 - b _020842fc ; case 68 - b _020842fc ; case 69 - b _02084304 ; case 70 - b _02084304 ; case 71 - b _02084304 ; case 72 - b _02084304 ; case 73 - b _02084304 ; case 74 - b _02084304 ; case 75 - b _02084304 ; case 76 - b _020842fc ; case 77 - b _02084304 ; case 78 - b _02084304 ; case 79 - b _02084304 ; case 80 - b _020842fc ; case 81 - b _020842fc ; case 82 - b _020842fc ; case 83 - b _020842fc ; case 84 -_020842fc: - mov r0, #1 - ldmia sp!, {r3, r4, r5, pc} -_02084304: - mov r0, #0 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02084164 - - .global func_ov00_0208430c - arm_func_start func_ov00_0208430c -func_ov00_0208430c: ; 0x0208430c - ldr r0, [r0, #4] - ldrb r0, [r0, #0xa] - bx lr - arm_func_end func_ov00_0208430c - - .global func_ov00_02084318 - arm_func_start func_ov00_02084318 -func_ov00_02084318: ; 0x02084318 - ldr r0, [r0, #4] - ldrb r0, [r0, #0xb] - bx lr - arm_func_end func_ov00_02084318 - - .global func_ov00_02084324 - arm_func_start func_ov00_02084324 -func_ov00_02084324: ; 0x02084324 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0xa4] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084324 - - .global func_ov00_0208433c - arm_func_start func_ov00_0208433c -func_ov00_0208433c: ; 0x0208433c - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x1c - add r3, sp, #0x10 - mov r5, r0 - mov r4, r2 - ldmia r1, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r1, sp, #4 - mov r0, r5 - bl func_ov00_0208340c - add r0, sp, #0x10 - add r1, sp, #4 - mov r2, r0 - bl func_01ff9bf8 - ldr r1, [r5, #4] - add r0, sp, #0 - add r2, sp, #0x10 - bl func_ov00_0207f53c - ldrsh r0, [sp] - strh r0, [r4] - ldrsh r0, [sp, #2] - strh r0, [r4, #2] - add sp, sp, #0x1c - ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_0208433c - - .global func_ov00_0208439c - arm_func_start func_ov00_0208439c -func_ov00_0208439c: ; 0x0208439c - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0xc - mov r5, r0 - ldr r0, [r5, #4] - mov r4, r2 - bl func_ov00_0207f630 - add r1, sp, #0 - mov r0, r5 - bl func_ov00_0208340c - add r1, sp, #0 - mov r0, r4 - mov r2, r4 - bl func_01ff9bc4 - mov r0, r5 - mov r1, r4 - mov r2, #1 - bl func_ov00_02083ee0 - str r0, [r4, #4] - add sp, sp, #0xc - ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_0208439c - - .global func_ov00_020843ec - arm_func_start func_ov00_020843ec -func_ov00_020843ec: ; 0x020843ec - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x6c - mov r6, r1 - mov r5, r0 - mov r0, r6 - ldr r1, [r0] - mov r4, r2 - ldr r1, [r1, #8] - blx r1 - cmp r0, #0 - cmpne r0, #1 - beq _0208442c - cmp r0, #2 - beq _02084574 - add sp, sp, #0x6c - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} -_0208442c: - mov r0, r6 - ldr r2, [r0] - add r1, sp, #0x60 - ldr r2, [r2, #0x3c] - blx r2 - mov r0, r6 - ldr r1, [r0] - ldr r1, [r1, #0x40] - blx r1 - ldr r6, [sp, #0x64] - ldr r2, [sp, #0x60] - ldr r3, [sp, #0x68] - sub r1, r2, r0 - str r1, [sp, #0x54] - sub r1, r3, r0 - str r1, [sp, #0x5c] - add r2, r2, r0 - add r1, r3, r0 - mov r0, r5 - str r2, [sp, #0x48] - str r6, [sp, #0x58] - str r6, [sp, #0x4c] - str r1, [sp, #0x50] - bl func_ov00_020833c4 - ldr r1, [sp, #0x54] - sub r0, r1, r0 - str r0, [sp, #0x54] - mov r0, r5 - bl func_ov00_020833d0 - ldr r1, [sp, #0x5c] - sub r0, r1, r0 - str r0, [sp, #0x5c] - mov r0, r5 - bl func_ov00_020833c4 - ldr r1, [sp, #0x48] - sub r0, r1, r0 - str r0, [sp, #0x48] - mov r0, r5 - bl func_ov00_020833d0 - ldr r1, [sp, #0x50] - add r2, sp, #0x54 - sub r0, r1, r0 - str r0, [sp, #0x50] - ldr r1, [r5, #4] - add r0, sp, #0x14 - bl func_ov00_0207f53c - ldr r1, [r5, #4] - add r0, sp, #0x10 - add r2, sp, #0x48 - bl func_ov00_0207f53c - ldrsh r7, [sp, #0x14] - ldrsh r0, [sp, #0x10] - cmp r7, r0 - addgt sp, sp, #0x6c - ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc} - add r6, sp, #4 -_0208450c: - ldrsh r8, [sp, #0x16] - ldrsh r0, [sp, #0x12] - cmp r8, r0 - bgt _02084554 -_0208451c: - strh r7, [sp, #4] - strh r8, [sp, #6] - ldr r0, [r5, #4] - mov r1, r6 - ldr r3, [r0] - mov r2, r4 - ldr r3, [r3, #0xac] - blx r3 - add r0, r8, #1 - mov r0, r0, lsl #0x10 - ldrsh r1, [sp, #0x12] - mov r8, r0, asr #0x10 - cmp r1, r0, asr #16 - bge _0208451c -_02084554: - ldrsh r1, [sp, #0x10] - add r0, r7, #1 - mov r0, r0, lsl #0x10 - cmp r1, r0, asr #16 - mov r7, r0, asr #0x10 - bge _0208450c - add sp, sp, #0x6c - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} -_02084574: - mov r0, r6 - ldr r2, [r0] - add r1, sp, #0x30 - ldr r2, [r2, #0x2c] - blx r2 - add r0, sp, #0x30 - add r3, sp, #0x24 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r0, sp, #0x3c - add r3, sp, #0x18 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r5 - bl func_ov00_020833c4 - ldr r1, [sp, #0x24] - sub r0, r1, r0 - str r0, [sp, #0x24] - mov r0, r5 - bl func_ov00_020833d0 - ldr r1, [sp, #0x2c] - sub r0, r1, r0 - str r0, [sp, #0x2c] - mov r0, r5 - bl func_ov00_020833c4 - ldr r1, [sp, #0x18] - sub r0, r1, r0 - str r0, [sp, #0x18] - mov r0, r5 - bl func_ov00_020833d0 - ldr r1, [sp, #0x20] - add r2, sp, #0x24 - sub r0, r1, r0 - str r0, [sp, #0x20] - ldr r1, [r5, #4] - add r0, sp, #0xc - bl func_ov00_0207f53c - ldr r1, [r5, #4] - add r0, sp, #8 - add r2, sp, #0x18 - bl func_ov00_0207f53c - ldrsh r7, [sp, #0xc] - ldrsh r0, [sp, #8] - cmp r7, r0 - addgt sp, sp, #0x6c - ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc} - add r6, sp, #0 -_02084630: - ldrsh r8, [sp, #0xe] - ldrsh r0, [sp, #0xa] - cmp r8, r0 - bgt _02084678 -_02084640: - strh r7, [sp] - strh r8, [sp, #2] - ldr r0, [r5, #4] - mov r1, r6 - ldr r3, [r0] - mov r2, r4 - ldr r3, [r3, #0xac] - blx r3 - add r0, r8, #1 - mov r0, r0, lsl #0x10 - ldrsh r1, [sp, #0xa] - mov r8, r0, asr #0x10 - cmp r1, r0, asr #16 - bge _02084640 -_02084678: - ldrsh r1, [sp, #8] - add r0, r7, #1 - mov r0, r0, lsl #0x10 - cmp r1, r0, asr #16 - mov r7, r0, asr #0x10 - bge _02084630 - add sp, sp, #0x6c - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_020843ec - - .global func_ov00_02084698 - arm_func_start func_ov00_02084698 -func_ov00_02084698: ; 0x02084698 - ldr r0, [r0, #4] - ldr r0, [r0, #0x38] - bx lr - arm_func_end func_ov00_02084698 - - .global func_ov00_020846a4 - arm_func_start func_ov00_020846a4 -func_ov00_020846a4: ; 0x020846a4 - ldr r1, [r0, #4] - ldr r1, [r1, #0x144] - ldr r1, [r1, #4] - cmp r1, #0xff - bne _020846f8 - ldr r0, [r0] - ldr r0, [r0, #4] - cmp r0, #4 - addls pc, pc, r0, lsl #2 - b _020846f0 -_020846cc: ; jump table - b _020846f0 ; case 0 - b _020846e0 ; case 1 - b _020846e8 ; case 2 - b _020846e0 ; case 3 - b _020846e0 ; case 4 -_020846e0: - mov r0, #1 - bx lr -_020846e8: - mov r0, #2 - bx lr -_020846f0: - mov r0, #0 - bx lr -_020846f8: - mov r0, r1 - bx lr - arm_func_end func_ov00_020846a4 - - .global func_ov00_02084700 - arm_func_start func_ov00_02084700 -func_ov00_02084700: ; 0x02084700 - ldr r2, [r0, #4] - mvn r1, #0 - ldr r2, [r2, #0x34] - cmp r2, r1 - ldreq r0, [r0] - ldreq r2, [r0, #0xc4] - cmp r2, #0x1b - bne _02084734 - ldr r0, _0208473c ; =data_027e0fe4 - ldr r0, [r0] - ldrb r0, [r0, #0x29] - cmp r0, #0 - movne r2, #0x1c -_02084734: - mov r0, r2 - bx lr - .align 2, 0 - arm_func_end func_ov00_02084700 -_0208473c: .word data_027e0fe4 - - .global func_ov00_02084740 - arm_func_start func_ov00_02084740 -func_ov00_02084740: ; 0x02084740 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x1bc - mov r5, r0 - bl func_ov00_02084700 - ldr r1, _020847d4 ; =data_027e0d38 - mov r4, r0 - ldr r0, [r1] - bl func_ov00_02078b40 - cmp r0, #2 - beq _020847a8 - ldr r0, _020847d8 ; =data_027e0f94 - add r1, sp, #0 - ldr r3, [r0] - ldr r2, [r0, #4] - str r3, [sp] - str r2, [sp, #4] - ldr r2, [r0, #8] - mov r0, r5 - str r2, [sp, #8] - bl func_ov00_02083780 - mov r1, r0 - cmp r1, #0 - ble _020847a8 - mov r0, r5 - bl func_ov00_020847f0 - mov r4, r0 -_020847a8: - ldr r5, _020847dc ; =data_ov00_020d88f0 - add lr, sp, #0xc - mov ip, #0x1b -_020847b4: - ldmia r5!, {r0, r1, r2, r3} - stmia lr!, {r0, r1, r2, r3} - subs ip, ip, #1 - bne _020847b4 - add r0, sp, #0xc - ldr r0, [r0, r4, lsl #2] - add sp, sp, #0x1bc - ldmia sp!, {r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02084740 -_020847d4: .word data_027e0d38 -_020847d8: .word data_027e0f94 -_020847dc: .word data_ov00_020d88f0 - - .global func_ov00_020847e0 - arm_func_start func_ov00_020847e0 -func_ov00_020847e0: ; 0x020847e0 - ldr r0, [r0, #4] - ldr r0, [r0, #0x144] - ldr r0, [r0, #0xc] - bx lr - arm_func_end func_ov00_020847e0 - - .global func_ov00_020847f0 - arm_func_start func_ov00_020847f0 -func_ov00_020847f0: ; 0x020847f0 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - bl func_ov00_0207fc98 - cmp r0, #0 - bne _02084814 - mov r0, r4 - bl func_ov00_02084700 - ldmia sp!, {r4, pc} -_02084814: - ldr r0, [r0, #0xc] - mvn r1, #0 - cmp r0, r1 - beq _0208482c - cmp r0, #0x6c - ldmltia sp!, {r4, pc} -_0208482c: - mov r0, r4 - bl func_ov00_02084700 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020847f0 - - .global func_ov00_02084838 - arm_func_start func_ov00_02084838 -func_ov00_02084838: ; 0x02084838 - stmdb sp!, {r3, lr} - bl func_ov00_02084698 - cmp r0, #0x16 - addls pc, pc, r0, lsl #2 - b _020848b0 -_0208484c: ; jump table - b _020848b0 ; case 0 - b _020848a8 ; case 1 - b _020848a8 ; case 2 - b _020848a8 ; case 3 - b _020848a8 ; case 4 - b _020848a8 ; case 5 - b _020848b0 ; case 6 - b _020848b0 ; case 7 - b _020848b0 ; case 8 - b _020848b0 ; case 9 - b _020848a8 ; case 10 - b _020848a8 ; case 11 - b _020848a8 ; case 12 - b _020848b0 ; case 13 - b _020848b0 ; case 14 - b _020848b0 ; case 15 - b _020848b0 ; case 16 - b _020848a8 ; case 17 - b _020848b0 ; case 18 - b _020848a8 ; case 19 - b _020848a8 ; case 20 - b _020848a8 ; case 21 - b _020848a8 ; case 22 -_020848a8: - mov r0, #1 - ldmia sp!, {r3, pc} -_020848b0: - mov r0, #0 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084838 - - .global func_ov00_020848b8 - arm_func_start func_ov00_020848b8 -func_ov00_020848b8: ; 0x020848b8 - stmdb sp!, {r3, lr} - bl func_ov00_020846a4 - cmp r0, #0x11 - addls pc, pc, r0, lsl #2 - b _0208491c -_020848cc: ; jump table - b _0208491c ; case 0 - b _0208491c ; case 1 - b _0208491c ; case 2 - b _0208491c ; case 3 - b _0208491c ; case 4 - b _0208491c ; case 5 - b _02084914 ; case 6 - b _0208491c ; case 7 - b _0208491c ; case 8 - b _0208491c ; case 9 - b _0208491c ; case 10 - b _0208491c ; case 11 - b _02084914 ; case 12 - b _02084914 ; case 13 - b _0208491c ; case 14 - b _02084914 ; case 15 - b _0208491c ; case 16 - b _02084914 ; case 17 -_02084914: - mov r0, #1 - ldmia sp!, {r3, pc} -_0208491c: - mov r0, #0 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020848b8 - - .global func_ov00_02084924 - arm_func_start func_ov00_02084924 -func_ov00_02084924: ; 0x02084924 - ldr ip, _02084930 ; =func_ov00_0208008c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02084924 -_02084930: .word func_ov00_0208008c - - .global func_ov00_02084934 - arm_func_start func_ov00_02084934 -func_ov00_02084934: ; 0x02084934 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0xc - mov r6, r1 - mov r7, r0 - bl func_ov00_02083400 - ldr r1, [r6, #8] - ldr r4, [r6, #4] - sub r5, r1, r0 - mov r0, r7 - bl func_ov00_020833f4 - ldr r2, [r6] - add r1, sp, #0 - sub r0, r2, r0 - str r4, [sp, #4] - str r5, [sp, #8] - str r0, [sp] - ldr r0, [r7, #4] - bl func_ov00_0207f7e8 - add sp, sp, #0xc - ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end func_ov00_02084934 - - .global func_ov00_02084984 - arm_func_start func_ov00_02084984 -func_ov00_02084984: ; 0x02084984 - ldr r0, [r0, #4] - ldrb r0, [r0, #6] - bx lr - arm_func_end func_ov00_02084984 - - .global func_ov00_02084990 - arm_func_start func_ov00_02084990 -func_ov00_02084990: ; 0x02084990 - ldr r0, [r0, #4] - ldrb r0, [r0, #7] - bx lr - arm_func_end func_ov00_02084990 - - .global func_ov00_0208499c - arm_func_start func_ov00_0208499c -func_ov00_0208499c: ; 0x0208499c - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_020849c0 - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r4, pc} - ldr r0, [r4] - bl func_ov00_0207d47c - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208499c - - .global func_ov00_020849c0 - arm_func_start func_ov00_020849c0 -func_ov00_020849c0: ; 0x020849c0 - ldr r1, [r0] - mvn r0, #1 - ldr r1, [r1, #8] - cmp r1, r0 - moveq r0, #1 - movne r0, #0 - bx lr - arm_func_end func_ov00_020849c0 - - .global func_ov00_020849dc - arm_func_start func_ov00_020849dc -func_ov00_020849dc: ; 0x020849dc - ldr r1, [r0] - mvn r0, #2 - ldr r1, [r1, #8] - cmp r1, r0 - moveq r0, #1 - movne r0, #0 - bx lr - arm_func_end func_ov00_020849dc - - .global func_ov00_020849f8 - arm_func_start func_ov00_020849f8 -func_ov00_020849f8: ; 0x020849f8 - stmdb sp!, {r4, lr} - ldr r1, _02084a4c ; =data_027e0d38 - mov r4, r0 - ldr r0, [r1] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #5 - bne _02084a20 - mov r0, #1 - ldmia sp!, {r4, pc} -_02084a20: - mov r0, r4 - bl func_ov00_02084984 - cmp r0, #0 - beq _02084a44 - mov r0, r4 - bl func_ov00_020849c0 - cmp r0, #0 - moveq r0, #1 - ldmeqia sp!, {r4, pc} -_02084a44: - mov r0, #0 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_020849f8 -_02084a4c: .word data_027e0d38 - - .global func_ov00_02084a50 - arm_func_start func_ov00_02084a50 -func_ov00_02084a50: ; 0x02084a50 - ldr r0, [r0, #4] - ldrb r0, [r0, #0x11] - bx lr - arm_func_end func_ov00_02084a50 - - .global func_ov00_02084a5c - arm_func_start func_ov00_02084a5c -func_ov00_02084a5c: ; 0x02084a5c - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x30 - add r0, sp, #4 - mov r6, r1 - mov r5, r2 - mov r4, r3 - bl func_ov00_020c1500 - mvn r1, #0 - add r0, sp, #4 - str r1, [sp, #0x20] - str r1, [sp, #0x24] - bl func_ov00_020c3348 - str r5, [sp, #0x28] - str r4, [sp, #0x2c] - mov r1, #0 - str r1, [sp] - ldr r0, _02084abc ; =data_027e0fe8 - ldr r1, _02084ac0 ; =0x45564943 - ldr r0, [r0] - mov r2, r6 - add r3, sp, #4 - bl func_ov00_020c4048 - add sp, sp, #0x30 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_02084a5c -_02084abc: .word data_027e0fe8 -_02084ac0: .word 0x45564943 - - .global func_ov00_02084ac4 - arm_func_start func_ov00_02084ac4 -func_ov00_02084ac4: ; 0x02084ac4 - stmdb sp!, {r3, lr} - ldr r0, _02084b00 ; =data_027e0fe4 - ldr r0, [r0] - bl _ZN12ActorManager13FindActorByIdEj - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r2, [r0, #4] - ldr r1, _02084b04 ; =0x45564943 - cmp r2, r1 - movne r0, #0 - moveq r1, #0 - streqb r1, [r0, #0x118] - moveq r0, #1 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_02084ac4 -_02084b00: .word data_027e0fe4 -_02084b04: .word 0x45564943 - - .global func_ov00_02084b08 - arm_func_start func_ov00_02084b08 -func_ov00_02084b08: ; 0x02084b08 - ldr r0, [r0] - str r1, [r0, #0x260] - bx lr - arm_func_end func_ov00_02084b08 - - .global func_ov00_02084b14 - arm_func_start func_ov00_02084b14 -func_ov00_02084b14: ; 0x02084b14 - ldr r0, [r0] - ldr r0, [r0, #0x260] - bx lr - arm_func_end func_ov00_02084b14 - - .global func_ov00_02084b20 - arm_func_start func_ov00_02084b20 -func_ov00_02084b20: ; 0x02084b20 - ldr r0, [r0] - strb r1, [r0, #0x25d] - bx lr - arm_func_end func_ov00_02084b20 - - .global func_ov00_02084b2c - arm_func_start func_ov00_02084b2c -func_ov00_02084b2c: ; 0x02084b2c - ldr r0, [r0] - ldrb r0, [r0, #0x25d] - bx lr - arm_func_end func_ov00_02084b2c - - .global func_ov00_02084b38 - arm_func_start func_ov00_02084b38 -func_ov00_02084b38: ; 0x02084b38 - stmdb sp!, {r3, lr} - cmp r1, #0 - ldmeqia sp!, {r3, pc} - cmp r2, #3 - addls pc, pc, r2, lsl #2 - ldmia sp!, {r3, pc} -_02084b50: ; jump table - b _02084b60 ; case 0 - b _02084bb0 ; case 1 - b _02084bc0 ; case 2 - b _02084bd0 ; case 3 -_02084b60: - cmp r3, #0 - ldr r0, [r0, #4] - beq _02084b8c - add ip, r0, #0x180 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - ldmia sp!, {r3, pc} -_02084b8c: - add r3, r0, #0x180 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - ldmia sp!, {r3, pc} -_02084bb0: - ldr r0, [r0] - mov r2, r3 - bl func_ov00_0207d8b4 - ldmia sp!, {r3, pc} -_02084bc0: - ldr r0, [r0] - mov r2, r3 - bl func_ov00_0207d7dc - ldmia sp!, {r3, pc} -_02084bd0: - ldr r0, [r0] - mov r2, r3 - bl func_ov00_0207d848 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084b38 - - .global func_ov00_02084be0 - arm_func_start func_ov00_02084be0 -func_ov00_02084be0: ; 0x02084be0 - stmdb sp!, {r3, lr} - cmp r1, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - cmp r2, #3 - addls pc, pc, r2, lsl #2 - b _02084c54 -_02084bfc: ; jump table - b _02084c0c ; case 0 - b _02084c30 ; case 1 - b _02084c3c ; case 2 - b _02084c48 ; case 3 -_02084c0c: - ldr r2, [r0, #4] - mov r0, r1, lsr #0x5 - add r0, r2, r0, lsl #2 - ldr r2, [r0, #0x180] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - ldmia sp!, {r3, pc} -_02084c30: - ldr r0, [r0] - bl func_ov00_0207d8d4 - ldmia sp!, {r3, pc} -_02084c3c: - ldr r0, [r0] - bl func_ov00_0207d828 - ldmia sp!, {r3, pc} -_02084c48: - ldr r0, [r0] - bl func_ov00_0207d894 - ldmia sp!, {r3, pc} -_02084c54: - mov r0, #0 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084be0 - - .global func_ov00_02084c5c - arm_func_start func_ov00_02084c5c -func_ov00_02084c5c: ; 0x02084c5c - ldr ip, _02084c68 ; =func_ov00_0207d8ec - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_02084c5c -_02084c68: .word func_ov00_0207d8ec - - .global func_ov00_02084c6c - arm_func_start func_ov00_02084c6c -func_ov00_02084c6c: ; 0x02084c6c - ldr ip, _02084c78 ; =func_ov00_0207d90c - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_02084c6c -_02084c78: .word func_ov00_0207d90c - - .global func_ov00_02084c7c - arm_func_start func_ov00_02084c7c -func_ov00_02084c7c: ; 0x02084c7c - stmdb sp!, {r3, lr} - cmp r1, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d924 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084c7c - - .global func_ov00_02084c94 - arm_func_start func_ov00_02084c94 -func_ov00_02084c94: ; 0x02084c94 - stmdb sp!, {r3, lr} - cmp r1, #0 - movlt r0, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d944 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084c94 - - .global func_ov00_02084cb0 - arm_func_start func_ov00_02084cb0 -func_ov00_02084cb0: ; 0x02084cb0 - stmdb sp!, {r3, lr} - cmp r1, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d95c - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084cb0 - - .global func_ov00_02084cc8 - arm_func_start func_ov00_02084cc8 -func_ov00_02084cc8: ; 0x02084cc8 - stmdb sp!, {r3, lr} - cmp r1, #0 - movlt r0, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d97c - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084cc8 - - .global func_ov00_02084ce4 - arm_func_start func_ov00_02084ce4 -func_ov00_02084ce4: ; 0x02084ce4 - stmdb sp!, {r3, lr} - cmp r1, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d994 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084ce4 - - .global func_ov00_02084cfc - arm_func_start func_ov00_02084cfc -func_ov00_02084cfc: ; 0x02084cfc - stmdb sp!, {r3, lr} - cmp r1, #0 - movlt r0, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d9b4 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084cfc - - .global func_ov00_02084d18 - arm_func_start func_ov00_02084d18 -func_ov00_02084d18: ; 0x02084d18 - ldr r0, [r0, #4] - ldrb r0, [r0, #9] - bx lr - arm_func_end func_ov00_02084d18 - - .global func_ov00_02084d24 - arm_func_start func_ov00_02084d24 -func_ov00_02084d24: ; 0x02084d24 - stmdb sp!, {r3, lr} - strb r1, [sp] - strb r2, [sp, #1] - ldr r0, [r0, #4] - add r1, sp, #0 - ldr ip, [r0] - mov r2, r3 - ldr ip, [ip, #0x90] - blx ip - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084d24 - - .global func_ov00_02084d4c - arm_func_start func_ov00_02084d4c -func_ov00_02084d4c: ; 0x02084d4c - stmdb sp!, {r4, lr} - sub sp, sp, #0x38 - add r4, sp, #0x20 - str r4, [sp] - ldr r0, _02084ea0 ; =data_027e0f64 - mov r4, r3 - ldr r0, [r0] - add r3, sp, #0x2c - ldr r0, [r0, #4] - bl func_ov00_0208df78 - mvn r1, #0 - cmp r0, r1 - addeq sp, sp, #0x38 - moveq r0, r1 - ldmeqia sp!, {r4, pc} - ldr r0, _02084ea4 ; =data_ov00_020ec964 - ldr r0, [r0, #0x60] - tst r0, #1 - bne _02084de4 - mov lr, #0 - mov r1, #0x1000 - ldr ip, _02084ea8 ; =data_ov00_020e2510 - add r0, sp, #8 - str lr, [sp, #8] - str lr, [sp, #0x10] - str r1, [sp, #0xc] - ldmia r0, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldr r3, _02084eac ; =data_ov00_020e24a4 - ldr r1, _02084eb0 ; =func_ov00_0207e968 - ldr r2, _02084eb4 ; =data_ov00_020ec9c8 - mov r0, ip - str lr, [r3, #0x78] - bl __register_global_object - ldr r0, _02084ea4 ; =data_ov00_020ec964 - ldr r1, [r0, #0x60] - orr r1, r1, #1 - str r1, [r0, #0x60] -_02084de4: - add r0, sp, #0x20 - add r3, sp, #0x14 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r1, sp, #0x2c - mov r0, r3 - mov r2, r3 - bl func_01ff9bf8 - ldr r0, _02084ea8 ; =data_ov00_020e2510 - add r1, sp, #0x2c - add r2, sp, #0x14 - add r3, sp, #4 - bl func_01ffe61c - cmp r0, #0 - addeq sp, sp, #0x38 - mvneq r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [sp, #0x2c] - add r1, sp, #0x14 - str r0, [r4] - ldr r0, [sp, #0x30] - mov r2, r4 - str r0, [r4, #4] - ldr r0, [sp, #0x34] - mov r3, r4 - str r0, [r4, #8] - ldr r0, [sp, #4] - bl func_01ff9e64 - ldr r0, [sp, #4] - cmp r0, #0 - addge sp, sp, #0x38 - movge r0, #0 - ldmgeia sp!, {r4, pc} - ldr r1, [sp, #0x2c] - ldr r0, _02084eb8 ; =0x0000019a - str r1, [r4] - ldr r2, [sp, #0x30] - add r1, sp, #0x14 - str r2, [r4, #4] - ldr ip, [sp, #0x34] - mov r2, r4 - mov r3, r4 - str ip, [r4, #8] - bl func_01ff9e64 - mov r0, #1 - add sp, sp, #0x38 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02084d4c -_02084ea0: .word data_027e0f64 -_02084ea4: .word data_ov00_020ec964 -_02084ea8: .word data_ov00_020e2510 -_02084eac: .word data_ov00_020e24a4 -_02084eb0: .word func_ov00_0207e968 -_02084eb4: .word data_ov00_020ec9c8 -_02084eb8: .word 0x0000019a - - .global func_ov00_02084ebc - arm_func_start func_ov00_02084ebc -func_ov00_02084ebc: ; 0x02084ebc - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #8 - mov r6, r0 - mov r5, r1 - add r0, sp, #0 - mov r1, r6 - mov r2, r5 - bl func_ov00_02083a1c - add r1, sp, #0 - mov r0, r6 - bl func_ov00_020840c4 - movs r4, r0 - beq _02084f50 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x38 - bgt _02084f14 - bge _02084f50 - cmp r0, #1 - beq _02084f50 - b _02084f44 -_02084f14: - cmp r0, #0x59 - bgt _02084f24 - beq _02084f50 - b _02084f44 -_02084f24: - cmp r0, #0x61 - bne _02084f44 - ldr r0, [r4, #8] - cmp r0, #2 - bne _02084f50 - add sp, sp, #8 - mov r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_02084f44: - add sp, sp, #8 - mov r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_02084f50: - add r1, sp, #0 - mov r0, r6 - bl func_ov00_02083e70 - cmp r0, #0 - addne sp, sp, #8 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r1, sp, #0 - mov r0, r6 - bl func_ov00_02084088 - cmp r0, #0x46 - bgt _0208504c - bge _0208506c - cmp r0, #0x29 - bgt _02085040 - cmp r0, #0 - addge pc, pc, r0, lsl #2 - b _02085078 -_02084f98: ; jump table - b _02085078 ; case 0 - b _0208506c ; case 1 - b _0208506c ; case 2 - b _0208506c ; case 3 - b _0208506c ; case 4 - b _0208506c ; case 5 - b _0208506c ; case 6 - b _02085078 ; case 7 - b _0208506c ; case 8 - b _0208506c ; case 9 - b _02085078 ; case 10 - b _02085078 ; case 11 - b _02085078 ; case 12 - b _02085078 ; case 13 - b _02085078 ; case 14 - b _02085078 ; case 15 - b _02085078 ; case 16 - b _02085078 ; case 17 - b _02085078 ; case 18 - b _02085078 ; case 19 - b _0208506c ; case 20 - b _02085078 ; case 21 - b _0208506c ; case 22 - b _0208506c ; case 23 - b _02085078 ; case 24 - b _0208506c ; case 25 - b _02085078 ; case 26 - b _02085078 ; case 27 - b _02085078 ; case 28 - b _0208506c ; case 29 - b _0208506c ; case 30 - b _0208506c ; case 31 - b _02085078 ; case 32 - b _02085078 ; case 33 - b _02085078 ; case 34 - b _02085078 ; case 35 - b _02085078 ; case 36 - b _02085078 ; case 37 - b _02085078 ; case 38 - b _0208506c ; case 39 - b _0208506c ; case 40 - b _0208506c ; case 41 -_02085040: - cmp r0, #0x37 - beq _0208506c - b _02085078 -_0208504c: - cmp r0, #0x48 - bgt _02085064 - bge _0208506c - cmp r0, #0x47 - beq _0208506c - b _02085078 -_02085064: - cmp r0, #0x50 - bne _02085078 -_0208506c: - add sp, sp, #8 - mov r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_02085078: - ldr r0, [r6, #4] - add r1, sp, #0 - ldr r3, [r0] - mov r2, #5 - ldr r3, [r3, #0x58] - blx r3 - cmp r0, #0 - addne sp, sp, #8 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - mov r0, r6 - mov r1, r5 - bl func_ov00_02083f98 - ldr r1, _02085100 ; =0x0000ffff - mov r2, r0 - cmp r2, r1 - addeq sp, sp, #8 - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - ldr r1, _02085104 ; =data_027e0f6c - add r0, sp, #4 - ldr r1, [r1] - bl func_ov00_02093a1c - ldr r0, [sp, #4] - mov r0, r0, lsr #0x5 - and r0, r0, #3 - cmp r0, #1 - bne _020850f4 - add sp, sp, #8 - mov r0, #1 - ldmia sp!, {r4, r5, r6, pc} -_020850f4: - mov r0, #0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_02084ebc -_02085100: .word 0x0000ffff -_02085104: .word data_027e0f6c - - .global func_ov00_02085108 - arm_func_start func_ov00_02085108 -func_ov00_02085108: ; 0x02085108 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x2c - ldr r0, _02085274 ; =data_027e0f64 - str r1, [sp] - ldr r0, [r0] - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x18 - bl func_ov00_02088130 - mov r1, #0 - ldr r0, _02085274 ; =data_027e0f64 - strb r1, [sp, #0x13] - strb r1, [sp, #0x12] - ldrb r1, [sp, #0x18] - ldr r0, [r0] - str r1, [sp, #0xc] - ldrb r1, [sp, #0x19] - str r1, [sp, #8] - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x16 - bl func_ov00_02088144 - mov r0, #0 - strb r0, [sp, #0x11] - strb r0, [sp, #0x10] - ldr r1, [sp, #0xc] - ldr r0, [sp, #8] - ldrb r7, [sp, #0x16] - cmp r1, r0 - ldrb r0, [sp, #0x17] - str r0, [sp, #4] - bgt _02085268 -_02085188: - ldr r6, [sp, #4] - mov r0, r6 - cmp r0, r7 - blt _02085250 - ldr r0, [sp, #0xc] - ldr r11, _02085278 ; =data_027e0e60 - and r5, r0, #0xff -_020851a4: - ldr r0, [r11] - add r1, sp, #0x14 - strb r5, [sp, #0x14] - strb r6, [sp, #0x15] - bl func_ov00_020840c4 - movs r4, r0 - beq _02085244 - ldr r1, [r4, #4] - tst r1, #4 - beq _02085244 - ldr r1, [r0] - ldr r9, [r4, #0x1c] - ldr r1, [r1, #0x60] - ldr r8, [r4, #0x18] - ldr r10, [r4, #0x20] - blx r1 - add r9, r9, r0 - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x5c] - blx r1 - str r0, [sp, #0x28] - add r0, sp, #0x1c - mov r1, #2 - str r8, [sp, #0x1c] - str r9, [sp, #0x20] - str r10, [sp, #0x24] - bl func_0202b8e4 - cmp r0, #0 - beq _02085244 - ldr r0, [sp] - ldr r1, [r4, #0x18] - add sp, sp, #0x2c - str r1, [r0] - ldr r1, [r4, #0x1c] - str r1, [r0, #4] - ldr r1, [r4, #0x20] - str r1, [r0, #8] - ldrsb r0, [r4, #0x12] - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_02085244: - sub r6, r6, #1 - cmp r6, r7 - bge _020851a4 -_02085250: - ldr r0, [sp, #0xc] - add r1, r0, #1 - ldr r0, [sp, #8] - str r1, [sp, #0xc] - cmp r1, r0 - ble _02085188 -_02085268: - mov r0, #0 - add sp, sp, #0x2c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_02085108 -_02085274: .word data_027e0f64 -_02085278: .word data_027e0e60 - - .global func_ov00_0208527c - arm_func_start func_ov00_0208527c -func_ov00_0208527c: ; 0x0208527c - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x2c - ldr r3, _020853f4 ; =data_027e0f64 - mov r4, r0 - ldr r0, [r3] - mov r10, r1 - str r2, [sp] - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x14 - bl func_ov00_02088130 - mov r1, #0 - ldr r0, _020853f4 ; =data_027e0f64 - strb r1, [sp, #0xf] - strb r1, [sp, #0xe] - ldrb r1, [sp, #0x15] - ldr r0, [r0] - ldrb r11, [sp, #0x14] - str r1, [sp, #8] - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x12 - bl func_ov00_02088144 - mov r0, #0 - strb r0, [sp, #0xd] - strb r0, [sp, #0xc] - ldrb r0, [sp, #0x12] - ldrb r9, [sp, #0x13] - str r0, [sp, #4] - mov r0, r4 - bl func_ov00_0208335c - mov r5, r0 - mov r0, r4 - bl func_ov00_02083368 - cmp r11, #0 - ldr r1, [sp, #8] - movle r11, #0 - cmp r1, r5 - ldr r1, [sp, #4] - subge r11, r5, #1 - cmp r1, #0 - movle r1, #0 - strle r1, [sp, #4] - cmp r9, r0 - subge r9, r0, #1 - mov r0, #0 - str r0, [sp, #0x24] - str r0, [sp, #0x18] - str r0, [sp, #0x1c] - str r0, [sp, #0x20] - ldr r0, [sp, #8] - cmp r11, r0 - bgt _020853e8 - ldr r4, _020853f8 ; =data_027e0e60 - add r6, sp, #0x10 -_02085358: - ldr r8, [sp, #4] - mov r0, r8 - cmp r0, r9 - bgt _020853d8 - and r7, r11, #0xff -_0208536c: - ldr r0, [r4] - mov r1, r6 - strb r7, [sp, #0x10] - strb r8, [sp, #0x11] - bl func_ov00_020840c4 - movs r5, r0 - beq _020853cc - ldr r1, [r5, #4] - tst r1, #4 - beq _020853cc - mov r1, r10 - bl func_ov00_0208b73c - cmp r0, #0 - beq _020853cc - ldr r0, [sp] - ldr r1, [r5, #0x18] - add sp, sp, #0x2c - str r1, [r0] - ldr r1, [r5, #0x1c] - str r1, [r0, #4] - ldr r1, [r5, #0x20] - str r1, [r0, #8] - ldrsb r0, [r5, #0x12] - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_020853cc: - add r8, r8, #1 - cmp r8, r9 - ble _0208536c -_020853d8: - ldr r0, [sp, #8] - add r11, r11, #1 - cmp r11, r0 - ble _02085358 -_020853e8: - mov r0, #0 - add sp, sp, #0x2c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0208527c -_020853f4: .word data_027e0f64 -_020853f8: .word data_027e0e60 - - .global func_ov00_020853fc - arm_func_start func_ov00_020853fc -func_ov00_020853fc: ; 0x020853fc - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x2c - ldr r3, _0208558c ; =data_027e0f64 - mov r5, r0 - ldr r0, [r3] - mov r10, r1 - mov r9, r2 - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x14 - bl func_ov00_02088130 - mov r1, #0 - ldr r0, _0208558c ; =data_027e0f64 - strb r1, [sp, #0xf] - strb r1, [sp, #0xe] - ldrb r1, [sp, #0x14] - ldr r0, [r0] - str r1, [sp, #8] - ldrb r1, [sp, #0x15] - str r1, [sp, #4] - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x12 - bl func_ov00_02088144 - mov r0, #0 - strb r0, [sp, #0xd] - strb r0, [sp, #0xc] - ldrb r0, [sp, #0x12] - ldrb r8, [sp, #0x13] - str r0, [sp] - mov r0, r5 - bl func_ov00_0208335c - mov r4, r0 - mov r0, r5 - bl func_ov00_02083368 - mov r11, #0 - ldr r1, [sp, #8] - str r11, [sp, #0x24] - cmp r1, #0 - movle r1, #0 - strle r1, [sp, #8] - ldr r1, [sp, #4] - str r11, [sp, #0x18] - cmp r1, r4 - subge r1, r4, #1 - strge r1, [sp, #8] - ldr r1, [sp] - str r11, [sp, #0x1c] - cmp r1, #0 - movle r1, #0 - strle r1, [sp] - cmp r8, r0 - subge r8, r0, #1 - ldr r1, [sp, #8] - ldr r0, [sp, #4] - str r11, [sp, #0x20] - cmp r1, r0 - bgt _02085580 -_020854e4: - ldr r7, [sp] - mov r0, r7 - cmp r0, r8 - bgt _02085568 - ldr r0, [sp, #8] - and r6, r0, #0xff -_020854fc: - ldr r0, _02085590 ; =data_027e0e60 - add r1, sp, #0x10 - ldr r0, [r0] - strb r6, [sp, #0x10] - strb r7, [sp, #0x11] - bl func_ov00_020840c4 - movs r5, r0 - beq _0208555c - ldr r0, [r5, #4] - tst r0, #4 - beq _0208555c - mov r1, r10 - add r0, r5, #0x18 - bl func_01ff9ec0 - ldr r1, [r9] - mov r4, r0 - cmp r4, r1 - bge _0208555c - mov r0, r5 - mov r1, r10 - bl func_ov00_0208b7d0 - cmp r0, #0 - movne r11, r5 - strne r4, [r9] -_0208555c: - add r7, r7, #1 - cmp r7, r8 - ble _020854fc -_02085568: - ldr r0, [sp, #8] - add r1, r0, #1 - ldr r0, [sp, #4] - str r1, [sp, #8] - cmp r1, r0 - ble _020854e4 -_02085580: - mov r0, r11 - add sp, sp, #0x2c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_020853fc -_0208558c: .word data_027e0f64 -_02085590: .word data_027e0e60 - - .global func_ov00_02085594 - arm_func_start func_ov00_02085594 -func_ov00_02085594: ; 0x02085594 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x14 - mov r7, r0 - mov r6, r1 - add r0, sp, #0 - mov r1, r7 - mov r2, r6 - bl func_ov00_02083a1c - add r1, sp, #0 - mov r0, r7 - bl func_ov00_020840c4 - movs r4, r0 - mov r5, #1 - beq _02085670 - ldr r1, [r4, #0x18] - str r1, [r6] - ldr r1, [r4, #0x1c] - str r1, [r6, #4] - ldr r1, [r4, #0x20] - str r1, [r6, #8] - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x42 - bgt _02085618 - bge _02085658 - cmp r0, #1 - bgt _0208560c - beq _02085670 - b _02085664 -_0208560c: - cmp r0, #0x38 - beq _02085670 - b _02085664 -_02085618: - cmp r0, #0x59 - bgt _02085628 - beq _02085648 - b _02085664 -_02085628: - cmp r0, #0x61 - bne _02085664 - ldr r0, [r4, #8] - cmp r0, #2 - bne _02085670 - add sp, sp, #0x14 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, pc} -_02085648: - ldr r0, [r4, #8] - cmp r0, #4 - movne r5, #0 - b _02085670 -_02085658: - add sp, sp, #0x14 - mov r0, #2 - ldmia sp!, {r4, r5, r6, r7, pc} -_02085664: - add sp, sp, #0x14 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, pc} -_02085670: - ldrb r1, [sp] - ldrb r2, [sp, #1] - mov r0, r7 - bl func_ov00_020840a0 - cmp r0, #0x46 - bgt _02085754 - bge _02085774 - cmp r0, #0x29 - bgt _02085748 - cmp r0, #0 - addge pc, pc, r0, lsl #2 - b _02085780 -_020856a0: ; jump table - b _02085780 ; case 0 - b _02085774 ; case 1 - b _02085774 ; case 2 - b _02085774 ; case 3 - b _02085774 ; case 4 - b _02085774 ; case 5 - b _02085774 ; case 6 - b _02085780 ; case 7 - b _02085774 ; case 8 - b _02085774 ; case 9 - b _02085780 ; case 10 - b _02085780 ; case 11 - b _02085780 ; case 12 - b _02085780 ; case 13 - b _02085780 ; case 14 - b _02085780 ; case 15 - b _02085780 ; case 16 - b _02085780 ; case 17 - b _02085780 ; case 18 - b _02085780 ; case 19 - b _02085774 ; case 20 - b _02085780 ; case 21 - b _02085774 ; case 22 - b _02085774 ; case 23 - b _02085780 ; case 24 - b _02085774 ; case 25 - b _02085780 ; case 26 - b _02085780 ; case 27 - b _02085780 ; case 28 - b _02085774 ; case 29 - b _02085774 ; case 30 - b _02085774 ; case 31 - b _02085780 ; case 32 - b _02085780 ; case 33 - b _02085780 ; case 34 - b _02085780 ; case 35 - b _02085780 ; case 36 - b _02085780 ; case 37 - b _02085780 ; case 38 - b _02085774 ; case 39 - b _02085774 ; case 40 - b _02085774 ; case 41 -_02085748: - cmp r0, #0x37 - beq _02085774 - b _02085780 -_02085754: - cmp r0, #0x48 - bgt _0208576c - bge _02085774 - cmp r0, #0x47 - beq _02085774 - b _02085780 -_0208576c: - cmp r0, #0x50 - bne _02085780 -_02085774: - add sp, sp, #0x14 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, pc} -_02085780: - ldr r0, [r7, #4] - add r1, sp, #0 - ldr r3, [r0] - mov r2, #5 - ldr r3, [r3, #0x58] - blx r3 - cmp r0, #0 - addne sp, sp, #0x14 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, r7, pc} - ldrb r2, [sp] - ldrb r0, [sp, #1] - sub r3, sp, #4 - add r1, sp, #8 - strb r2, [r3] - strb r0, [r3, #1] - ldr r2, [r3] - mov r0, r7 - bl func_ov00_02083c7c - add r1, sp, #8 - mov r0, r7 - bl func_ov00_02083f98 - ldr r1, _02085834 ; =0x0000ffff - mov r2, r0 - cmp r2, r1 - addeq sp, sp, #0x14 - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, pc} - ldr r1, _02085838 ; =data_027e0f6c - add r0, sp, #4 - ldr r1, [r1] - bl func_ov00_02093a1c - ldr r0, [sp, #4] - mov r0, r0, lsr #0x5 - and r0, r0, #3 - cmp r0, #1 - bne _02085828 - cmp r5, #0 - movne r0, #1 - add sp, sp, #0x14 - moveq r0, #2 - ldmia sp!, {r4, r5, r6, r7, pc} -_02085828: - mov r0, #0 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_02085594 -_02085834: .word 0x0000ffff -_02085838: .word data_027e0f6c - - .global func_ov00_0208583c - arm_func_start func_ov00_0208583c -func_ov00_0208583c: ; 0x0208583c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r3, r1 - mov r4, r2 - add r0, sp, #0 - mov r1, r5 - mov r2, r3 - bl func_ov00_02083a1c - add r1, sp, #0 - mov r0, r5 - bl func_ov00_020840c4 - cmp r0, #0 - mvneq r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, _020858ac ; =data_027e077c - ldr r2, [r1] - cmp r2, #1 - mvnne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r1, [r1, #4] - cmp r2, r1 - mvnne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x30] - blx r2 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0208583c -_020858ac: .word data_027e077c - - .global func_ov00_020858b0 - arm_func_start func_ov00_020858b0 -func_ov00_020858b0: ; 0x020858b0 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x1c - mov r9, r2 - mov r10, r0 - mov r11, r1 - cmp r9, #1 - bne _020858e4 - ldr r0, _02085a2c ; =data_027e0f64 - mov r1, #7 - ldr r0, [r0] - ldr r0, [r0, #4] - bl func_ov00_02088000 - b _020858f8 -_020858e4: - ldr r0, _02085a2c ; =data_027e0f64 - mov r1, #6 - ldr r0, [r0] - ldr r0, [r0, #4] - bl func_ov00_02088000 -_020858f8: - mov r0, r10 - bl func_ov00_0208335c - str r0, [sp, #0x10] - mov r0, r10 - bl func_ov00_02083368 - str r0, [sp, #0xc] - mvn r3, #0 - add r0, sp, #0x18 - mov r1, r10 - mov r2, r11 - str r3, [sp, #8] - bl func_ov00_02083a1c - ldrb r3, [sp, #0x18] - ldrb r2, [sp, #0x19] - ldr r1, _02085a30 ; =data_027e0f94 - add r0, r3, #1 - sub r7, r3, #1 - str r0, [sp, #4] - cmp r7, r0 - sub r0, r2, #1 - ldr r5, [r1, #4] - str r0, [sp] - add r6, r2, #1 - bgt _02085a20 -_02085958: - cmp r7, #0 - blt _02085a10 - ldr r0, [sp, #0x10] - cmp r7, r0 - bge _02085a10 - ldr r8, [sp] - mov r0, r8 - cmp r0, r6 - bgt _02085a10 - and r4, r7, #0xff -_02085980: - cmp r8, #0 - blt _02085a04 - ldr r0, [sp, #0xc] - cmp r8, r0 - bge _02085a04 - mov r0, r10 - add r1, sp, #0x16 - strb r4, [sp, #0x16] - strb r8, [sp, #0x17] - bl func_ov00_02083e58 - subs r0, r0, r5 - rsbmi r0, r0, #0 - cmp r0, #0xcd - bgt _02085a04 - mov r0, r10 - add r1, sp, #0x14 - strb r4, [sp, #0x14] - strb r8, [sp, #0x15] - bl func_ov00_020840c4 - cmp r0, #0 - beq _02085a04 - ldrb r1, [sp, #0x18] - ldr ip, [r0] - mov r3, r11 - cmp r7, r1 - ldreqb r1, [sp, #0x19] - ldr ip, [ip, #0x38] - cmpeq r8, r1 - moveq r2, #0 - movne r2, #1 - mov r1, r9 - blx ip - str r0, [sp, #8] -_02085a04: - add r8, r8, #1 - cmp r8, r6 - ble _02085980 -_02085a10: - ldr r0, [sp, #4] - add r7, r7, #1 - cmp r7, r0 - ble _02085958 -_02085a20: - ldr r0, [sp, #8] - add sp, sp, #0x1c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_020858b0 -_02085a2c: .word data_027e0f64 -_02085a30: .word data_027e0f94 - - .global func_ov00_02085a34 - arm_func_start func_ov00_02085a34 -func_ov00_02085a34: ; 0x02085a34 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x20 - mov r4, r2 - mov r5, r0 - mov r6, r1 - cmp r4, #1 - beq _02085a60 - cmp r4, #2 - cmpne r4, #3 - beq _02085bdc - b _02085c54 -_02085a60: - add r0, sp, #8 - mov r1, r5 - mov r2, r6 - bl func_ov00_02083a1c - mov r0, r5 - mov r1, r6 - bl func_ov00_02084ebc - cmp r0, #0 - addeq sp, sp, #0x20 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - add r1, sp, #8 - mov r0, r5 - bl func_ov00_020840c4 - movs r6, r0 - beq _02085b24 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x38 - bgt _02085ac4 - bge _02085ae0 - cmp r0, #1 - beq _02085ae0 - b _02085b18 -_02085ac4: - cmp r0, #0x59 - bgt _02085ad4 - beq _02085afc - b _02085b18 -_02085ad4: - cmp r0, #0x61 - beq _02085afc - b _02085b18 -_02085ae0: - ldr r1, [r6, #4] - mov r0, r5 - bic r2, r1, #1 - mov r1, r6 - str r2, [r6, #4] - bl func_ov00_020828f8 - b _02085b24 -_02085afc: - mov r0, r6 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x3c] - blx r2 - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} -_02085b18: - add sp, sp, #0x20 - mvn r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_02085b24: - ldr r0, [r5, #4] - add r1, sp, #8 - bl func_ov00_02080b24 - mov r2, #0 - sub r1, r2, #1 - mov r0, #1 - strh r1, [sp, #0x1c] - str r2, [sp, #0x18] - strb r0, [sp, #0x1e] - mov r4, r2 - add r1, sp, #0xc -_02085b50: - mov r0, r2, lsl #0x1 - add r2, r2, #1 - strh r4, [r1, r0] - cmp r2, #4 - blo _02085b50 - mov r3, #0 -_02085b68: - strb r3, [r1, #8] - add r4, r4, #1 - strb r3, [r1, #0xa] - cmp r4, #2 - add r1, r1, #1 - blo _02085b68 - add r4, sp, #0xc - add r2, sp, #8 - mov r0, r5 - mov r1, #0x42 - str r4, [sp] - bl func_ov00_020828c0 - cmp r0, #0 - addeq sp, sp, #0x20 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - add r1, sp, #8 - mov r0, r5 - bl func_ov00_020840c4 - cmp r0, #0 - beq _02085bd0 - ldrsh r0, [r0, #0xe] - cmp r0, #0 - addgt sp, sp, #0x20 - movgt r0, #1 - ldmgtia sp!, {r4, r5, r6, pc} -_02085bd0: - add sp, sp, #0x20 - mov r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_02085bdc: - add r0, sp, #6 - mov r1, r5 - mov r2, r6 - bl func_ov00_02083a1c - add r1, sp, #6 - mov r0, r5 - bl func_ov00_020840c4 - movs r6, r0 - addeq sp, sp, #0x20 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x42 - bne _02085c38 - ldrb r2, [r6, #0x15] - ldrb r0, [r6, #0x14] - add r1, sp, #4 - strb r2, [sp, #5] - strb r0, [sp, #4] - ldr r0, [r5, #4] - bl func_ov00_02080d08 -_02085c38: - mov r0, r6 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x3c] - blx r2 - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} -_02085c54: - mvn r0, #0 - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02085a34 - - .global func_ov00_02085c60 - arm_func_start func_ov00_02085c60 -func_ov00_02085c60: ; 0x02085c60 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0xfc - ldr r11, [sp, #0x120] - ldr r8, [sp, #0x124] - ldr r7, [sp, #0x128] - ldr r6, [sp, #0x12c] - cmp r11, #0 - mov r10, r0 - mov r9, r1 - mov r5, r2 - mov r4, r3 - addeq sp, sp, #0xfc - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r1, sp, #0x88 - str r1, [sp] - ldr r0, _0208603c ; =data_027e0d3c - ldmia r5, {r2, r3} - ldr r0, [r0] - mov r1, #0 - bl func_ov00_020792a0 - add r1, sp, #0x7c - str r1, [sp] - ldr r0, _0208603c ; =data_027e0d3c - ldmia r4, {r2, r3} - ldr r0, [r0] - mov r1, #0 - bl func_ov00_020792a0 - add r0, sp, #0x88 - add r5, sp, #0x70 - ldmia r0, {r0, r1, r2} - stmia r5, {r0, r1, r2} - add r0, sp, #0x7c - add r4, sp, #0x64 - ldmia r0, {r0, r1, r2} - stmia r4, {r0, r1, r2} - add r3, sp, #0x58 - ldmia r5, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r1, r4 - mov r0, r3 - mov r2, r3 - bl func_01ff9bf8 - mov r1, #0xc000 - mov r2, #0 - umull r5, r3, r11, r1 - mla r3, r11, r2, r3 - mov r4, r11, asr #0x1f - adds r2, r5, #0x800 - mla r3, r4, r1, r3 - adc r1, r3, #0 - mov r5, r2, lsr #0xc - add r0, sp, #0x58 - orr r5, r5, r1, lsl #20 - bl func_01ff9cec - cmp r0, r5 - ble _02085d9c - add r0, sp, #0x58 - mov r1, r0 - bl func_01ff9d4c - add r0, sp, #0x58 - mov r1, r5 - bl func_01fffbec - ldr r1, [sp, #0x7c] - ldr r0, [sp, #0x80] - str r1, [sp, #0x88] - ldr r1, [sp, #0x84] - str r0, [sp, #0x8c] - add r0, sp, #0x88 - str r1, [sp, #0x90] - add r1, sp, #0x58 - mov r2, r0 - bl func_01ff9bc4 - ldr r0, [sp, #0x8c] - ldr r1, [sp, #0x88] - str r0, [sp, #0x74] - ldr r0, [sp, #0x90] - str r1, [sp, #0x70] - str r0, [sp, #0x78] -_02085d9c: - add r0, sp, #0x58 - ldr ip, [sp, #0x88] - ldr r5, [sp, #0x8c] - ldr r3, [sp, #0x90] - add r1, sp, #0x7c - mov r2, r0 - str ip, [sp, #0x58] - str r5, [sp, #0x5c] - str r3, [sp, #0x60] - bl func_01ff9bf8 - mov r1, r4, lsl #0xb - mov r0, #0x800 - adds r2, r0, r11, lsl #11 - orr r1, r1, r11, lsr #21 - add r0, sp, #0x58 - adc r1, r1, #0 - mov r5, r2, lsr #0xc - orr r5, r5, r1, lsl #20 - bl func_01ff9cec - cmp r0, r11 - blt _02085e30 - add r0, sp, #0x58 - mov r1, r0 - bl func_01ff9d4c - add r0, sp, #0x58 - mov r1, r5 - bl func_01fffbec - ldr r2, [sp, #0x64] - ldr r1, [sp, #0x68] - str r2, [sp, #0x70] - ldr r2, [sp, #0x6c] - str r1, [sp, #0x74] - add r0, sp, #0x70 - str r2, [sp, #0x78] - add r1, sp, #0x58 - mov r2, r0 - bl func_01ff9bc4 -_02085e30: - mov r4, #0 - mov r0, r11, lsl #0x1 - str r4, [sp, #0x48] - str r0, [sp, #0x4c] - str r4, [sp, #0x50] - str r11, [sp, #0x54] -_02085e48: - add r0, sp, #0x48 - stmia sp, {r0, r8} - str r7, [sp, #8] - str r6, [sp, #0xc] - mov r0, #0 - str r0, [sp, #0x10] - mov r0, r10 - mov r1, r9 - add r2, sp, #0x70 - add r3, sp, #0x64 - bl func_01ffbe78 - cmp r0, #0 - beq _02085fb8 - ldr r1, [r9] - add r0, sp, #0x30 - str r1, [sp, #0x3c] - ldr r2, [r9, #4] - mov r1, r0 - str r2, [sp, #0x40] - ldr r2, [r9, #8] - str r2, [sp, #0x44] - ldr r2, [r9, #0xc] - str r2, [sp, #0x30] - ldr r2, [r9, #0x10] - str r2, [sp, #0x34] - ldr r2, [r9, #0x14] - str r2, [sp, #0x38] - bl func_01ff9d4c - add r0, sp, #0x30 - mov r1, r11 - bl func_01fffbec - add r0, sp, #0x3c - add r1, sp, #0x30 - mov r2, r0 - bl func_01ff9bc4 - ldr r1, [sp, #0x3c] - ldr r2, _02086040 ; =0x0000ffff - str r1, [r9] - ldr r1, [sp, #0x40] - mov r3, #0 - str r1, [r9, #4] - ldr r4, [sp, #0x44] - sub r1, r3, #1 - str r4, [r9, #8] - strh r2, [sp, #0xb8] - strh r2, [sp, #0xba] - strh r2, [sp, #0xbc] - strh r2, [sp, #0xbe] - strh r3, [sp, #0xc0] - strb r3, [sp, #0xe2] - strb r3, [sp, #0xe3] - strb r3, [sp, #0xe4] - strb r3, [sp, #0xe5] - strb r3, [sp, #0xec] - strb r3, [sp, #0xed] - strb r3, [sp, #0xee] - strb r3, [sp, #0xef] - strb r3, [sp, #0xf0] - strb r3, [sp, #0xf1] - str r1, [sp, #0xf4] - str r1, [sp, #0xf8] - add r2, sp, #0x48 - stmia sp, {r2, r8} - str r7, [sp, #8] - str r6, [sp, #0xc] - add r2, sp, #0x3c - str r3, [sp, #0x10] - mov r0, r10 - add r1, sp, #0x94 - mov r3, r2 - bl func_01ffbe78 - cmp r0, #0 - beq _02085f84 - ldr r2, [sp, #0x94] - ldr r1, [sp, #0x98] - ldr r0, [sp, #0x9c] - str r2, [sp, #0x3c] - str r1, [sp, #0x40] - str r0, [sp, #0x44] -_02085f84: - ldr r0, _0208603c ; =data_027e0d3c - add r1, sp, #0x3c - ldr r0, [r0] - add r2, sp, #0x1c - mov r3, #0 - bl func_ov00_0207920c - ldr r1, [sp, #0x1c] - mov r0, #1 - str r1, [r9, #0x60] - ldr r1, [sp, #0x20] - add sp, sp, #0xfc - str r1, [r9, #0x64] - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_02085fb8: - ldr r1, [sp, #0x70] - ldr r0, [sp, #0x74] - str r1, [sp, #0x64] - ldr r1, [sp, #0x78] - str r0, [sp, #0x68] - str r1, [sp, #0x6c] - add r0, sp, #0x70 - add r1, sp, #0x88 - mov r2, r5 - bl func_0202b2e8 - cmp r0, #0 - movne r4, #1 - cmp r4, #0 - beq _02085e48 - ldr r1, [sp, #0x88] - ldr r0, _0208603c ; =data_027e0d3c - str r1, [r9] - ldr r2, [sp, #0x8c] - add r1, sp, #0x88 - str r2, [r9, #4] - ldr r3, [sp, #0x90] - add r2, sp, #0x14 - str r3, [r9, #8] - ldr r0, [r0] - mov r3, #0 - bl func_ov00_0207920c - ldr r1, [sp, #0x14] - mov r0, #0 - str r1, [r9, #0x60] - ldr r1, [sp, #0x18] - str r1, [r9, #0x64] - add sp, sp, #0xfc - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_02085c60 -_0208603c: .word data_027e0d3c -_02086040: .word 0x0000ffff - - .global func_ov00_02086044 - arm_func_start func_ov00_02086044 -func_ov00_02086044: ; 0x02086044 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0xb0 - add r5, sp, #0x98 - mov r9, r2 - mov r10, r0 - str r1, [sp] - ldmia r9, {r0, r1, r2} - stmia r5, {r0, r1, r2} - mov r8, r3 - ldmia r9, {r0, r1, r2} - add r4, sp, #0xa4 - stmia r4, {r0, r1, r2} - ldr r0, [sp] - add r3, sp, #0x50 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r5 - mov r1, r3 - bl func_ov00_0208ed74 - mov r0, r5 - mov r1, r8 - bl func_ov00_0208ee00 - ldr r1, [sp, #0x98] - mov r0, r10 - bl func_ov00_020839d4 - mov r6, r0 - ldr r1, [sp, #0xa0] - mov r0, r10 - bl func_ov00_020839f8 - str r0, [sp, #0xc] - ldr r1, [sp, #0xa4] - mov r0, r10 - bl func_ov00_020839d4 - str r0, [sp, #8] - ldr r1, [sp, #0xac] - mov r0, r10 - bl func_ov00_020839f8 - mov r11, r0 - add r5, sp, #0x8c - ldmia r9, {r0, r1, r2} - stmia r5, {r0, r1, r2} - ldr r0, [sp] - add r4, sp, #0x44 - ldmia r0, {r0, r1, r2} - stmia r4, {r0, r1, r2} - add r3, sp, #0x38 - ldmia r9, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r4 - mov r1, r3 - add r2, sp, #0x80 - bl func_01ff9bf8 - ldr r1, [r9] - mov r0, r10 - bl func_ov00_020839d4 - mov r4, r0 - ldr r1, [r9, #8] - mov r0, r10 - bl func_ov00_020839f8 - mov r2, r0 - mov r1, r4 - mov r0, r10 - bl func_ov00_02083e34 - str r0, [sp, #4] - ldr r0, [sp, #8] - cmp r6, r0 - bgt _02086274 -_02086150: - ldr r7, [sp, #0xc] - mov r0, r7 - cmp r0, r11 - bgt _02086264 - and r5, r6, #0xff -_02086164: - mov r0, r10 - mov r1, r6 - mov r2, r7 - bl func_ov00_02083e34 - ldr r1, [sp, #4] - cmp r0, r1 - ble _020861ec - ldr r0, _02086280 ; =data_027e0e60 - add r1, sp, #0x12 - ldr r0, [r0] - add r2, sp, #0x68 - strb r5, [sp, #0x12] - strb r7, [sp, #0x13] - bl func_ov00_02084024 - ldr r0, [sp] - mov r1, r9 - add r2, sp, #0x5c - bl func_01ff9bf8 - ldr r1, [r9] - add r0, sp, #0x68 - str r1, [sp, #0x28] - ldr r2, [r9, #4] - add r1, sp, #0x28 - str r2, [sp, #0x2c] - ldr r3, [r9, #8] - add r2, sp, #0x5c - str r3, [sp, #0x30] - add r3, sp, #0x14 - str r8, [sp, #0x34] - bl func_ov00_0208e87c - cmp r0, #0 - addne sp, sp, #0xb0 - movne r0, #1 - ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_020861ec: - mov r0, r10 - add r1, sp, #0x10 - strb r5, [sp, #0x10] - strb r7, [sp, #0x11] - bl func_ov00_020840c4 - movs r4, r0 - beq _02086258 - ldr r1, [r0] - ldr r1, [r1, #0x58] - blx r1 - cmp r0, #0 - beq _02086258 - ldr r2, [r9] - mov r0, r4 - str r2, [sp, #0x18] - ldr r3, [r9, #4] - add r1, sp, #0x18 - str r3, [sp, #0x1c] - ldr r3, [r9, #8] - add r2, sp, #0x80 - str r3, [sp, #0x20] - str r8, [sp, #0x24] - bl func_ov00_0208b804 - cmp r0, #0 - addne sp, sp, #0xb0 - movne r0, #1 - ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_02086258: - add r7, r7, #1 - cmp r7, r11 - ble _02086164 -_02086264: - ldr r0, [sp, #8] - add r6, r6, #1 - cmp r6, r0 - ble _02086150 -_02086274: - mov r0, #0 - add sp, sp, #0xb0 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_02086044 -_02086280: .word data_027e0e60 - - .global func_ov00_02086284 - arm_func_start func_ov00_02086284 -func_ov00_02086284: ; 0x02086284 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x15c - mov r9, r1 - mov r0, r9 - ldr r1, [r0] - mov r8, r2 - ldr r1, [r1, #8] - mov r7, r3 - ldr r6, [sp, #0x178] - ldr r5, [sp, #0x180] - ldr r4, [sp, #0x184] - blx r1 - cmp r0, #0 - beq _020862d0 - cmp r0, #1 - beq _020863a8 - cmp r0, #2 - beq _02086520 - b _02086a78 -_020862d0: - mov r0, r9 - ldr r2, [r0] - add r1, sp, #0x14c - ldr r2, [r2, #0x24] - blx r2 - add r0, sp, #0x14c - add r3, sp, #0x140 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r8 - mov r1, r3 - bl func_01ff9ec0 - ldr r2, [sp, #0x158] - add r1, sp, #0x140 - add r2, r2, r6 - sub r6, r2, r0 - mov r0, r8 - mov r2, r1 - bl func_01ff9bf8 - add r0, sp, #0x140 - bl func_01fffb4c - cmp r0, #0 - bne _02086340 - mov r1, #0 - mov r0, #0x1000 - str r1, [sp, #0x140] - str r1, [sp, #0x144] - str r0, [sp, #0x148] -_02086340: - add r0, sp, #0x140 - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x140 - mov r0, r8 - mov r2, r5 - bl func_01ff9bc4 - add r0, sp, #0x14c - add r3, sp, #0x128 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r2, sp, #0x134 - mov r0, r7 - mov r1, r3 - bl func_01ff9bf8 - add r0, sp, #0x134 - bl func_01fffb4c - ldr r1, [sp, #0x134] - mov r0, #0 - str r1, [r4] - ldr r1, [sp, #0x138] - str r1, [r4, #4] - ldr r1, [sp, #0x13c] - add sp, sp, #0x15c - str r1, [r4, #8] - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_020863a8: - mov r1, #0 - mov r0, r9 - str r1, [sp, #0x120] - str r1, [sp, #0x114] - str r1, [sp, #0x118] - str r1, [sp, #0x11c] - ldr r2, [r0] - add r1, sp, #0x114 - ldr r2, [r2, #0x28] - blx r2 - ldr r2, [r8, #4] - ldr r1, [sp, #0x114] - ldr r0, [sp, #0x11c] - str r1, [sp, #0x108] - str r2, [sp, #0x10c] - str r0, [sp, #0x110] - ldrb r0, [r9, #5] - cmp r0, #0 - beq _02086464 - add r0, sp, #0x168 - ldrh r0, [r0, #0x14] - tst r0, #0x80 - beq _02086464 - add r0, sp, #0x108 - mov r1, r8 - bl func_01ff9ec0 - ldr r1, [sp, #0x120] - cmp r0, r1 - bgt _02086464 - ldr r2, [sp, #0x118] - ldr r1, [sp, #0x124] - ldr r0, [r7, #4] - add r1, r2, r1 - cmp r0, r1 - blt _02086464 - ldr r0, [r8, #4] - add r1, r6, r1 - cmp r0, r1 - bgt _02086464 - str r1, [r5, #4] - mov r1, #0 - str r1, [r4] - mov r0, #0x1000 - stmib r4, {r0, r1} - add sp, sp, #0x15c - mov r0, #1 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086464: - add r1, sp, #0x108 - mov r0, r8 - bl func_01ff9ec0 - ldr r2, [sp, #0x120] - add r1, sp, #0x108 - add r2, r2, r6 - sub r6, r2, r0 - mov r0, r8 - mov r2, r1 - bl func_01ff9bf8 - add r0, sp, #0x108 - bl func_01fffb4c - cmp r0, #0 - bne _020864b0 - mov r1, #0 - mov r0, #0x1000 - str r1, [sp, #0x108] - str r1, [sp, #0x10c] - str r0, [sp, #0x110] -_020864b0: - add r0, sp, #0x108 - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x108 - mov r0, r8 - mov r2, r5 - bl func_01ff9bc4 - add r0, sp, #0x114 - add r3, sp, #0xf0 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r0, [r7, #4] - add r2, sp, #0xfc - str r0, [sp, #0xf4] - mov r0, r7 - mov r1, r3 - bl func_01ff9bf8 - add r0, sp, #0xfc - bl func_01fffb4c - ldr r1, [sp, #0xfc] - mov r0, #0 - str r1, [r4] - ldr r1, [sp, #0x100] - str r1, [r4, #4] - ldr r1, [sp, #0x104] - add sp, sp, #0x15c - str r1, [r4, #8] - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086520: - mov r0, r9 - ldr r2, [r0] - add r1, sp, #0xd8 - ldr r2, [r2, #0x2c] - blx r2 - add r0, sp, #0xd8 - add r1, sp, #0xcc - bl func_ov00_0208e6b0 - ldr r2, [r8, #4] - ldr r0, [sp, #0xcc] - str r2, [sp, #0xc4] - ldr r2, [sp, #0xd4] - str r0, [sp, #0xc0] - add r1, sp, #0xc0 - str r2, [sp, #0xc8] - mov r0, r8 - mov r2, r1 - bl func_01ff9bf8 - add r0, sp, #0xc0 - add r3, sp, #0xb4 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r3 - bl func_01fffb4c - cmp r0, #0 - bne _0208659c - mov r1, #0 - mov r0, #0x1000 - str r1, [sp, #0xb4] - str r1, [sp, #0xb8] - str r0, [sp, #0xbc] -_0208659c: - ldrb r0, [r9, #5] - cmp r0, #0 - beq _0208662c - add r0, sp, #0x168 - ldrh r0, [r0, #0x14] - tst r0, #0x80 - beq _0208662c - ldr r1, [r8] - ldr r0, [sp, #0xe4] - cmp r1, r0 - bge _020865f0 - ldr r0, [sp, #0xd8] - cmp r1, r0 - blt _020865f0 - ldr r1, [r8, #8] - ldr r0, [sp, #0xec] - cmp r1, r0 - bge _020865f0 - ldr r0, [sp, #0xe0] - cmp r1, r0 - bge _02086604 -_020865f0: - ldr r0, [sp, #0xe8] - ldr r1, [r7, #4] - add r0, r0, r6 - cmp r1, r0 - blt _0208662c -_02086604: - ldr r0, [sp, #0xe8] - mov r1, #0 - add r0, r0, r6 - str r0, [r5, #4] - str r1, [r4] - mov r0, #0x1000 - stmib r4, {r0, r1} - add sp, sp, #0x15c - mov r0, #1 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_0208662c: - add r0, sp, #0xd8 - add r1, sp, #0xa8 - bl func_ov00_0208e6b0 - ldr r3, [sp, #0xec] - ldr r2, [r8, #8] - cmp r2, r3 - bge _020867f8 - ldr r0, [sp, #0xe0] - cmp r2, r0 - blt _020867f8 - ldr r1, [r8] - ldr r0, [sp, #0xe4] - cmp r1, r0 - bge _020867f8 - ldr r0, [sp, #0xd8] - cmp r1, r0 - blt _020867f8 - add r0, sp, #0xd8 - bl func_ov00_0208e6f0 - mov r7, r0 - add r0, sp, #0xd8 - bl func_ov00_0208e704 - cmp r7, r0 - bne _020866bc - ldr r1, [sp, #0xb0] - ldr r0, [r8, #8] - subs r2, r1, r0 - ldr r1, [sp, #0xa8] - ldr r0, [r8] - rsbmi r2, r2, #0 - subs r0, r1, r0 - rsbmi r0, r0, #0 - cmp r0, r2 - movgt r0, #1 - movle r0, #0 - b _020866dc -_020866bc: - add r0, sp, #0xd8 - bl func_ov00_0208e6f0 - mov r7, r0 - add r0, sp, #0xd8 - bl func_ov00_0208e704 - cmp r7, r0 - movlt r0, #1 - movge r0, #0 -_020866dc: - cmp r0, #0 - beq _02086770 - ldr r0, [sp, #0xb4] - cmp r0, #0 - add r0, sp, #0xd8 - blt _02086730 - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r0, r6, r0, asr #1 - ldr r1, [r5] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5] - mov r0, #0x1000 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_02086730: - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r1, r6, r0, asr #1 - mov r0, #0x1000 - ldr r2, [r5] - sub r1, r1, r7 - sub r1, r2, r1 - str r1, [r5] - rsb r0, r0, #0 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_02086770: - ldr r0, [sp, #0xbc] - cmp r0, #0 - add r0, sp, #0xd8 - blt _020867bc - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r0, r6, r0, asr #1 - ldr r1, [r5, #8] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5, #8] - mov r0, #0 - str r0, [r4] - str r0, [r4, #4] - mov r0, #0x1000 - str r0, [r4, #8] - b _02086a6c -_020867bc: - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r1, r6, r0, asr #1 - ldr r2, [r5, #8] - sub r1, r1, r7 - sub r1, r2, r1 - mov r0, #0 - str r1, [r5, #8] - str r0, [r4] - str r0, [r4, #4] - sub r0, r0, #0x1000 - str r0, [r4, #8] - b _02086a6c -_020867f8: - ldr r1, [r8] - ldr r0, [sp, #0xe4] - cmp r1, r0 - bge _0208689c - ldr r0, [sp, #0xd8] - cmp r1, r0 - blt _0208689c - ldr r0, [sp, #0xbc] - cmp r0, #0 - add r0, sp, #0xd8 - blt _02086860 - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r0, r6, r0, asr #1 - ldr r1, [r5, #8] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5, #8] - mov r0, #0 - str r0, [r4] - str r0, [r4, #4] - mov r0, #0x1000 - str r0, [r4, #8] - b _02086a6c -_02086860: - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r1, r6, r0, asr #1 - ldr r2, [r5, #8] - sub r1, r1, r7 - sub r1, r2, r1 - mov r0, #0 - str r1, [r5, #8] - str r0, [r4] - str r0, [r4, #4] - sub r0, r0, #0x1000 - str r0, [r4, #8] - b _02086a6c -_0208689c: - cmp r2, r3 - bge _0208693c - ldr r0, [sp, #0xe0] - cmp r2, r0 - blt _0208693c - ldr r0, [sp, #0xb4] - cmp r0, #0 - add r0, sp, #0xd8 - blt _020868fc - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r0, r6, r0, asr #1 - ldr r1, [r5] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5] - mov r0, #0x1000 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_020868fc: - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r1, r6, r0, asr #1 - mov r0, #0x1000 - ldr r2, [r5] - sub r1, r1, r7 - sub r1, r2, r1 - str r1, [r5] - rsb r0, r0, #0 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_0208693c: - ldr r0, [sp, #0xb0] - subs r2, r0, r2 - ldr r0, [sp, #0xa8] - rsbmi r2, r2, #0 - subs r0, r0, r1 - rsbmi r0, r0, #0 - cmp r0, r2 - ble _020869e8 - ldr r0, [sp, #0xb4] - cmp r0, #0 - add r0, sp, #0xd8 - blt _020869a8 - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r0, r6, r0, asr #1 - ldr r1, [r5] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5] - mov r0, #0x1000 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_020869a8: - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r1, r6, r0, asr #1 - mov r0, #0x1000 - ldr r2, [r5] - sub r1, r1, r7 - sub r1, r2, r1 - str r1, [r5] - rsb r0, r0, #0 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_020869e8: - ldr r0, [sp, #0xbc] - cmp r0, #0 - add r0, sp, #0xd8 - blt _02086a34 - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r0, r6, r0, asr #1 - ldr r1, [r5, #8] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5, #8] - mov r0, #0 - str r0, [r4] - str r0, [r4, #4] - mov r0, #0x1000 - str r0, [r4, #8] - b _02086a6c -_02086a34: - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r1, r6, r0, asr #1 - ldr r2, [r5, #8] - sub r1, r1, r7 - sub r1, r2, r1 - mov r0, #0 - str r1, [r5, #8] - str r0, [r4] - str r0, [r4, #4] - sub r0, r0, #0x1000 - str r0, [r4, #8] -_02086a6c: - add sp, sp, #0x15c - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086a78: - mov r0, #0 - add sp, sp, #0x15c - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_02086284 - - .global func_ov00_02086a84 - arm_func_start func_ov00_02086a84 -func_ov00_02086a84: ; 0x02086a84 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x84 - mov r8, r2 - mov r7, r3 - mov r9, r1 - add r2, sp, #0x78 - mov r0, r8 - mov r1, r7 - ldr r6, [sp, #0xa4] - ldr r5, [sp, #0xac] - ldr r4, [sp, #0xb0] - bl func_01ff9bf8 - mov r0, r9 - ldr r1, [r0] - ldr r1, [r1, #8] - blx r1 - cmp r0, #0 - beq _02086ae0 - cmp r0, #1 - beq _02086be4 - cmp r0, #2 - beq _02086c64 - b _02086cc4 -_02086ae0: - mov r0, r9 - ldr r2, [r0] - add r1, sp, #0x68 - ldr r2, [r2, #0x24] - blx r2 - cmp r6, #0 - bne _02086b7c - add r0, sp, #0x68 - add r3, sp, #0x5c - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r8 - mov r1, r3 - bl func_01ff9ec0 - ldr r3, [sp, #0x74] - ldr r2, [sp, #0xa0] - add r1, sp, #0x68 - add r2, r3, r2 - sub r6, r2, r0 - add r2, sp, #0x5c - mov r0, r8 - bl func_01ff9bf8 - add r0, sp, #0x5c - bl func_01fffb4c - cmp r0, #0 - bne _02086b5c - mov r1, #0 - mov r0, #0x1000 - str r1, [sp, #0x5c] - str r1, [sp, #0x60] - str r0, [sp, #0x64] -_02086b5c: - add r0, sp, #0x5c - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x5c - mov r0, r8 - mov r2, r5 - bl func_01ff9bc4 - b _02086b98 -_02086b7c: - add r0, sp, #0x78 - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x78 - mov r0, r7 - mov r2, r5 - bl func_01ff9bc4 -_02086b98: - add r0, sp, #0x68 - add r3, sp, #0x44 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r2, sp, #0x50 - mov r0, r7 - mov r1, r3 - bl func_01ff9bf8 - add r0, sp, #0x50 - bl func_01fffb4c - ldr r1, [sp, #0x50] - mov r0, #0 - str r1, [r4] - ldr r1, [sp, #0x54] - str r1, [r4, #4] - ldr r1, [sp, #0x58] - add sp, sp, #0x84 - str r1, [r4, #8] - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086be4: - mov r1, #0 - mov r0, r9 - str r1, [sp, #0x3c] - str r1, [sp, #0x30] - str r1, [sp, #0x34] - str r1, [sp, #0x38] - ldr r2, [r0] - add r1, sp, #0x30 - ldr r2, [r2, #0x28] - blx r2 - add r0, sp, #0x78 - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x78 - mov r0, r7 - mov r2, r5 - bl func_01ff9bc4 - add r0, sp, #0x30 - add r3, sp, #0x24 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r2, [r7, #4] - mov r1, r3 - str r2, [sp, #0x28] - mov r0, r7 - mov r2, r4 - bl func_01ff9bf8 - mov r0, r4 - bl func_01fffb4c - add sp, sp, #0x84 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086c64: - mov r0, r9 - ldr r2, [r0] - add r1, sp, #0xc - ldr r2, [r2, #0x2c] - blx r2 - add r0, sp, #0xc - add r1, sp, #0 - bl func_ov00_0208e6b0 - add r0, sp, #0x78 - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x78 - mov r2, r5 - mov r0, r7 - bl func_01ff9bc4 - mov r0, r7 - add r1, sp, #0 - mov r2, r4 - bl func_01ff9bf8 - mov r0, r4 - bl func_01fffb4c - add sp, sp, #0x84 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086cc4: - mov r0, #0 - add sp, sp, #0x84 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_02086a84 + .text .global func_ov00_02086cd0 arm_func_start func_ov00_02086cd0 @@ -16273,7 +253,7 @@ _02086fd0: str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] - ldr r0, _02087088 ; =data_027e0e60 + ldr r0, _02087088 ; =gMapManager add r1, sp, #0x30 ldr r0, [r0] add r2, sp, #0x24 @@ -16299,7 +279,7 @@ _02087068: _0208707c: .word data_ov00_020e2fb4 _02087080: .word data_027e0d38 _02087084: .word data_027e071c -_02087088: .word data_027e0e60 +_02087088: .word gMapManager .global func_ov00_0208708c arm_func_start func_ov00_0208708c @@ -16465,11 +445,11 @@ _0208729c: strh r1, [r0, #0x18] cmp ip, #2 blo _0208729c - ldr r0, _020872e4 ; =data_027e0e60 + ldr r0, _020872e4 ; =gMapManager ldrb r2, [r5, #0x1b8] ldr r0, [r0] add r1, sp, #0 - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci mov r3, #0 add r1, sp, #0 mov r0, r5 @@ -16480,7 +460,7 @@ _0208729c: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov00_0208726c -_020872e4: .word data_027e0e60 +_020872e4: .word gMapManager .global func_ov00_020872e8 arm_func_start func_ov00_020872e8 @@ -16802,11 +782,11 @@ _02087724: strh r1, [r0, #0x18] cmp r3, #2 blo _02087724 - ldr r0, _0208784c ; =data_027e0e60 + ldr r0, _0208784c ; =gMapManager ldrb r2, [r7, #0x1b8] ldr r0, [r0] add r1, sp, #0x6c - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r3, [r7, #0x260] ldr r0, [r7, #0x264] ldr r2, [r7, #0x268] @@ -16875,7 +855,7 @@ _02087830: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov00_020876bc -_0208784c: .word data_027e0e60 +_0208784c: .word gMapManager .global func_ov00_02087850 arm_func_start func_ov00_02087850 @@ -16912,11 +892,11 @@ _020878b8: strh r1, [r0, #0x18] cmp r3, #2 blo _020878b8 - ldr r0, _020879e0 ; =data_027e0e60 + ldr r0, _020879e0 ; =gMapManager ldrb r2, [r7, #0x1b8] ldr r0, [r0] add r1, sp, #0x6c - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r3, [r7, #0x260] ldr r0, [r7, #0x264] ldr r2, [r7, #0x268] @@ -16985,7 +965,7 @@ _020879c4: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov00_02087850 -_020879e0: .word data_027e0e60 +_020879e0: .word gMapManager .global func_ov00_020879e4 arm_func_start func_ov00_020879e4 @@ -17349,10 +1329,10 @@ func_ov00_02087e14: ; 0x02087e14 arm_func_start func_ov00_02087e8c func_ov00_02087e8c: ; 0x02087e8c stmdb sp!, {r3, lr} - ldr r0, _02087eec ; =data_027e0e60 + ldr r0, _02087eec ; =gMapManager mov r1, #0 ldr r0, [r0] - bl func_ov00_02083938 + bl _ZN10MapManager18func_ov00_02083938Ei sub r0, r0, #0x11 cmp r0, #0xa addls pc, pc, r0, lsl #2 @@ -17377,7 +1357,7 @@ _02087ee4: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_02087e8c -_02087eec: .word data_027e0e60 +_02087eec: .word gMapManager .global func_ov00_02087ef0 arm_func_start func_ov00_02087ef0 @@ -17495,11 +1475,11 @@ _0208800c: .word func_ov00_020a1888 func_ov00_02088010: ; 0x02088010 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr r2, _02088070 ; =data_027e0e60 + ldr r2, _02088070 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_02084934 + bl _ZN10MapManager18func_ov00_02084934Ev cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 @@ -17519,7 +1499,7 @@ func_ov00_02088010: ; 0x02088010 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov00_02088010 -_02088070: .word data_027e0e60 +_02088070: .word gMapManager .global func_ov00_02088074 arm_func_start func_ov00_02088074 @@ -18684,12 +2664,12 @@ func_ov00_0208901c: ; 0x0208901c func_ov00_02089068: ; 0x02089068 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x4c - ldr r3, _02089164 ; =data_027e0e60 + ldr r3, _02089164 ; =gMapManager mov r5, r0 ldr r0, [r3] mov r4, r2 add r2, sp, #0x30 - bl func_ov00_02083968 + bl _ZN10MapManager18func_ov00_02083968EjPc cmp r0, #0 addeq sp, sp, #0x4c moveq r0, #0 @@ -18717,10 +2697,10 @@ _020890b8: str r0, [sp, #0x20] b _0208912c _020890ec: - ldr r0, _02089164 ; =data_027e0e60 + ldr r0, _02089164 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, sp, #0x34 add r1, sp, #0xc add r2, sp, #0x24 @@ -18751,7 +2731,7 @@ _0208912c: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov00_02089068 -_02089164: .word data_027e0e60 +_02089164: .word gMapManager .global func_ov00_02089168 arm_func_start func_ov00_02089168 @@ -19310,11 +3290,11 @@ _02089910: strh r1, [r0, #0x18] cmp r3, #2 blo _02089910 - ldr r0, _02089a28 ; =data_027e0e60 + ldr r0, _02089a28 ; =gMapManager ldrb r2, [r9, #0x1b8] ldr r0, [r0] add r1, sp, #0x20 - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r0, [sp, #0x20] bl func_ov00_02087d84 add r8, sp, #0x60 @@ -19380,7 +3360,7 @@ _020899b4: .align 2, 0 arm_func_end func_ov00_0208967c _02089a24: .word gAdventureFlags -_02089a28: .word data_027e0e60 +_02089a28: .word gMapManager .global func_ov00_02089a2c arm_func_start func_ov00_02089a2c @@ -20153,10 +4133,10 @@ func_ov00_0208a464: ; 0x0208a464 bl func_ov00_0208edd8 b _0208a77c _0208a4d0: - ldr r1, _0208a844 ; =data_027e0e60 + ldr r1, _0208a844 ; =gMapManager add r0, sp, #0x18 ldr r1, [r1] - bl func_ov00_02084100 + bl _ZN10MapManager18func_ov00_02084100EiPS_ ldrsh r2, [r6, #4] add r1, r6, #0x260 mov r0, #0 @@ -20325,28 +4305,28 @@ _0208a4d0: add r1, sp, #0x20 bl func_ov00_0208ed74 _0208a77c: - ldr r0, _0208a844 ; =data_027e0e60 + ldr r0, _0208a844 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208335c - ldr r1, _0208a844 ; =data_027e0e60 + bl _ZN10MapManager17Get_MapData_Unk28Ev + ldr r1, _0208a844 ; =gMapManager mov r4, r0 ldr r0, [r1] - bl func_ov00_02083368 - ldr r1, _0208a844 ; =data_027e0e60 + bl _ZN10MapManager17Get_MapData_Unk2aEv + ldr r1, _0208a844 ; =gMapManager mov r5, r0 ldr r0, [r1] ldr r1, [r6, #0x308] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev strb r0, [r6, #0x320] - ldr r0, _0208a844 ; =data_027e0e60 + ldr r0, _0208a844 ; =gMapManager ldr r1, [r6, #0x310] ldr r0, [r0] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev strb r0, [r6, #0x321] - ldr r0, _0208a844 ; =data_027e0e60 + ldr r0, _0208a844 ; =gMapManager ldr r1, [r6, #0x314] ldr r0, [r0] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev and r1, r0, #0xff add r0, r1, #2 strb r0, [r6, #0x322] @@ -20358,10 +4338,10 @@ _0208a77c: cmp r0, r4 subge r0, r4, #1 strgeb r0, [r6, #0x322] - ldr r0, _0208a844 ; =data_027e0e60 + ldr r0, _0208a844 ; =gMapManager ldr r1, [r6, #0x31c] ldr r0, [r0] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev and r1, r0, #0xff add r0, r1, #1 strb r0, [r6, #0x323] @@ -20377,7 +4357,7 @@ _0208a77c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_0208a464 -_0208a844: .word data_027e0e60 +_0208a844: .word gMapManager _0208a848: .word data_027e0f94 .global func_ov00_0208a84c @@ -20927,10 +4907,10 @@ _0208af04: strh r2, [r0, #0x18] cmp r5, #2 blo _0208af04 - ldr r0, _0208b114 ; =data_027e0e60 + ldr r0, _0208b114 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r0, [sp, #0x18] cmp r0, #0x31 bne _0208b0dc @@ -21057,7 +5037,7 @@ _0208b0dc: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_0208aed8 -_0208b114: .word data_027e0e60 +_0208b114: .word gMapManager _0208b118: .word data_027e0f64 .global func_ov00_0208b11c @@ -21871,32 +5851,32 @@ _0208b9e0: .word func_ov00_0208ba58 arm_func_start func_ov00_0208b9e4 func_ov00_0208b9e4: ; 0x0208b9e4 add r2, r0, r1 - ldr r0, _0208ba00 ; =data_027e0e60 + ldr r0, _0208ba00 ; =gMapManager ldrb r1, [r2, #0x2e] - ldr ip, _0208ba04 ; =func_ov00_02084be0 + ldr ip, _0208ba04 ; =_ZN10MapManager18func_ov00_02084be0Eii ldrb r2, [r2, #0x2c] ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov00_0208b9e4 -_0208ba00: .word data_027e0e60 -_0208ba04: .word func_ov00_02084be0 +_0208ba00: .word gMapManager +_0208ba04: .word _ZN10MapManager18func_ov00_02084be0Eii .global func_ov00_0208ba08 arm_func_start func_ov00_0208ba08 func_ov00_0208ba08: ; 0x0208ba08 stmdb sp!, {r3, lr} add ip, r0, r1 - ldr r0, _0208ba2c ; =data_027e0e60 + ldr r0, _0208ba2c ; =gMapManager mov r3, r2 ldrb r1, [ip, #0x2e] ldrb r2, [ip, #0x2c] ldr r0, [r0] - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_0208ba08 -_0208ba2c: .word data_027e0e60 +_0208ba2c: .word gMapManager .global func_ov00_0208ba30 arm_func_start func_ov00_0208ba30 @@ -23407,19 +7387,19 @@ func_ov00_0208cd48: ; 0x0208cd48 add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0208cd78: - ldr r4, _0208ce78 ; =func_ov00_0207f100 + ldr r4, _0208ce78 ; =_ZN7MapBase18func_ov00_0207f100Ev ldr r3, _0208ce7c ; =func_ov00_0208d018 add r0, sp, #0x24 mov r1, #0x40 mov r2, #0x18 str r4, [sp] bl func_0204f614 - ldr r0, _0208ce80 ; =data_027e0e60 + ldr r0, _0208ce80 ; =gMapManager add r2, sp, #0x24 ldr r0, [r0] mov r1, r5 mov r3, #0x40 - bl func_ov00_020836cc + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj mov r6, r0 cmp r6, #0 bgt _0208cddc @@ -23451,7 +7431,7 @@ _0208cdf4: bl func_ov00_0208cf28 movs r4, r0 beq _0208ce44 - ldr r3, _0208ce78 ; =func_ov00_0207f100 + ldr r3, _0208ce78 ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x24 mov r1, #0x40 mov r2, #0x18 @@ -23466,7 +7446,7 @@ _0208ce44: add r8, r8, #0x18 blt _0208cdf4 _0208ce54: - ldr r3, _0208ce78 ; =func_ov00_0207f100 + ldr r3, _0208ce78 ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x24 mov r1, #0x40 mov r2, #0x18 @@ -23477,9 +7457,9 @@ _0208ce54: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0208cd48 -_0208ce78: .word func_ov00_0207f100 +_0208ce78: .word _ZN7MapBase18func_ov00_0207f100Ev _0208ce7c: .word func_ov00_0208d018 -_0208ce80: .word data_027e0e60 +_0208ce80: .word gMapManager .global func_ov00_0208ce84 arm_func_start func_ov00_0208ce84 @@ -23632,23 +7612,23 @@ func_ov00_0208d01c: ; 0x0208d01c add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0208d064: - ldr r4, _0208d1ec ; =func_ov00_0207f100 + ldr r4, _0208d1ec ; =_ZN7MapBase18func_ov00_0207f100Ev ldr r3, _0208d1f0 ; =func_ov00_0208d018 add r0, sp, #0x44 mov r1, #0x40 mov r2, #0x18 str r4, [sp] bl func_0204f614 - ldr r0, _0208d1f4 ; =data_027e0e60 + ldr r0, _0208d1f4 ; =gMapManager add r2, sp, #0x44 ldr r0, [r0] mov r1, r5 mov r3, #0x40 - bl func_ov00_020836cc + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj mov r4, r0 cmp r4, #0 bgt _0208d0c8 - ldr r3, _0208d1ec ; =func_ov00_0207f100 + ldr r3, _0208d1ec ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x44 mov r1, #0x40 mov r2, #0x18 @@ -23677,7 +7657,7 @@ _0208d0c8: str r4, [sp] bl func_ov00_0208d310 mov r4, r0 - ldr r3, _0208d1ec ; =func_ov00_0207f100 + ldr r3, _0208d1ec ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x44 mov r1, #0x40 mov r2, #0x18 @@ -23711,7 +7691,7 @@ _0208d154: add r5, r5, r0 cmp r5, r8 blo _0208d1b8 - ldr r3, _0208d1ec ; =func_ov00_0207f100 + ldr r3, _0208d1ec ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x44 mov r1, #0x40 mov r2, #0x18 @@ -23726,7 +7706,7 @@ _0208d1b8: add r7, r7, #0x18 blt _0208d154 _0208d1c8: - ldr r3, _0208d1ec ; =func_ov00_0207f100 + ldr r3, _0208d1ec ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x44 mov r1, #0x40 mov r2, #0x18 @@ -23737,9 +7717,9 @@ _0208d1c8: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0208d01c -_0208d1ec: .word func_ov00_0207f100 +_0208d1ec: .word _ZN7MapBase18func_ov00_0207f100Ev _0208d1f0: .word func_ov00_0208d018 -_0208d1f4: .word data_027e0e60 +_0208d1f4: .word gMapManager .global func_ov00_0208d1f8 arm_func_start func_ov00_0208d1f8 @@ -24678,9 +8658,9 @@ func_ov00_0208de04: ; 0x0208de04 str r0, [r4, #0x10] ldr r0, [sp, #0x18] str r1, [r4, #0x14] - ldr ip, _0208de68 ; =func_ov00_0207e968 + ldr ip, _0208de68 ; =_ZN7MapBase18func_ov00_0207e968Ev str r0, [r4, #0x18] - ldr r3, _0208de6c ; =func_ov00_0207e96c + ldr r3, _0208de6c ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, r4, #0x10c mov r1, #4 mov r2, #0x10 @@ -24692,15 +8672,15 @@ func_ov00_0208de04: ; 0x0208de04 .align 2, 0 arm_func_end func_ov00_0208de04 _0208de64: .word data_ov00_020e2870 -_0208de68: .word func_ov00_0207e968 -_0208de6c: .word func_ov00_0207e96c +_0208de68: .word _ZN7MapBase18func_ov00_0207e968Ev +_0208de6c: .word _ZN7MapBase18func_ov00_0207e96cEv .global func_ov00_0208de70 arm_func_start func_ov00_0208de70 func_ov00_0208de70: ; 0x0208de70 stmdb sp!, {r4, lr} mov r4, r0 - ldr r3, _0208de94 ; =func_ov00_0207e968 + ldr r3, _0208de94 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, r4, #0x10c mov r1, #4 mov r2, #0x10 @@ -24709,14 +8689,14 @@ func_ov00_0208de70: ; 0x0208de70 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0208de70 -_0208de94: .word func_ov00_0207e968 +_0208de94: .word _ZN7MapBase18func_ov00_0207e968Ev .global func_ov00_0208de98 arm_func_start func_ov00_0208de98 func_ov00_0208de98: ; 0x0208de98 stmdb sp!, {r4, lr} mov r4, r0 - ldr r3, _0208dec4 ; =func_ov00_0207e968 + ldr r3, _0208dec4 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, r4, #0x10c mov r1, #4 mov r2, #0x10 @@ -24727,14 +8707,14 @@ func_ov00_0208de98: ; 0x0208de98 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0208de98 -_0208dec4: .word func_ov00_0207e968 +_0208dec4: .word _ZN7MapBase18func_ov00_0207e968Ev .global func_ov00_0208dec8 arm_func_start func_ov00_0208dec8 func_ov00_0208dec8: ; 0x0208dec8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r3, _0208deec ; =func_ov00_0207e968 + ldr r3, _0208deec ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, r4, #0x10c mov r1, #4 mov r2, #0x10 @@ -24743,7 +8723,7 @@ func_ov00_0208dec8: ; 0x0208dec8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0208dec8 -_0208deec: .word func_ov00_0207e968 +_0208deec: .word _ZN7MapBase18func_ov00_0207e968Ev .global func_ov00_0208def0 arm_func_start func_ov00_0208def0 @@ -26582,7 +10562,7 @@ func_ov00_0208f794: ; 0x0208f794 bl func_020078f4 ldr r6, _0208f9dc ; =data_ov00_020db010 ldr r11, _0208f9e0 ; =data_ov00_020db030 - ldr r4, _0208f9e4 ; =data_027e0e60 + ldr r4, _0208f9e4 ; =gMapManager mov r9, #0 add r5, sp, #4 _0208f7d4: @@ -26596,18 +10576,18 @@ _0208f7d4: cmp r8, #0 blt _0208f868 ldr r0, [r4] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev cmp r7, r0 bge _0208f868 ldr r0, [r4] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r8, r0 bge _0208f868 ldr r0, [r4] add r1, sp, #0 strb r7, [sp] strb r8, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev add r1, sp, #8 str r0, [r1, r9, lsl #2] cmp r0, #0 @@ -26730,7 +10710,7 @@ _0208f9ac: arm_func_end func_ov00_0208f794 _0208f9dc: .word data_ov00_020db010 _0208f9e0: .word data_ov00_020db030 -_0208f9e4: .word data_027e0e60 +_0208f9e4: .word gMapManager _0208f9e8: .word data_027e0f68 .global func_ov00_0208f9ec @@ -27000,12 +10980,12 @@ _0208fcd4: cmp r1, r0 cmplt r6, r1 bge _0208fd30 - ldr r4, _0208fef4 ; =data_027e0e60 + ldr r4, _0208fef4 ; =gMapManager _0208fcf8: ldr r0, [r4] ldr r2, [r5, #0x16c] mov r1, r6 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 bne _0208fd20 ldr r1, [r5, #0x164] @@ -27018,10 +10998,10 @@ _0208fd20: cmp r6, r1 blt _0208fcf8 _0208fd30: - ldr r0, _0208fef4 ; =data_027e0e60 + ldr r0, _0208fef4 ; =gMapManager ldr r2, [r5, #0x16c] ldr r0, [r0] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _0208fda8 ldr r0, [r5, #0x160] @@ -27029,12 +11009,12 @@ _0208fd30: add r6, r0, #1 cmp r6, r1 bge _0208fd98 - ldr r4, _0208fef4 ; =data_027e0e60 + ldr r4, _0208fef4 ; =gMapManager _0208fd60: ldr r0, [r4] ldr r2, [r5, #0x16c] mov r1, r6 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _0208fd88 ldr r1, [r5, #0x164] @@ -27059,11 +11039,11 @@ _0208fda8: movne r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0208fdc0: - ldr r0, _0208fef4 ; =data_027e0e60 + ldr r0, _0208fef4 ; =gMapManager ldr r1, [r5, #0x160] ldr r0, [r0] ldr r2, [r5, #0x16c] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _0208fe3c ldr r1, [r5, #0x160] @@ -27072,13 +11052,13 @@ _0208fdc0: cmp r4, r0 mov r8, #0 bge _0208fe2c - ldr r6, _0208fef4 ; =data_027e0e60 + ldr r6, _0208fef4 ; =gMapManager mov r7, #1 _0208fdfc: ldr r0, [r6] ldr r2, [r5, #0x16c] mov r1, r4 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldrne r0, [r5, #0x164] add r4, r4, #1 @@ -27098,12 +11078,12 @@ _0208fe3c: mov r6, #1 cmp r7, r0 bge _0208fe80 - ldr r4, _0208fef4 ; =data_027e0e60 + ldr r4, _0208fef4 ; =gMapManager _0208fe54: ldr r0, [r4] ldr r2, [r5, #0x16c] mov r1, r7 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 moveq r6, #0 beq _0208fe80 @@ -27128,13 +11108,13 @@ _0208fea8: mov r6, #0 cmp r0, #0 ble _0208feec - ldr r4, _0208fef4 ; =data_027e0e60 + ldr r4, _0208fef4 ; =gMapManager _0208febc: ldr r1, [r5, #0x164] ldr r0, [r4] ldr r2, [r5, #0x16c] add r1, r1, r6 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} @@ -27147,7 +11127,7 @@ _0208feec: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_0208fcb4 -_0208fef4: .word data_027e0e60 +_0208fef4: .word gMapManager .global func_ov00_0208fef8 arm_func_start func_ov00_0208fef8 @@ -27288,20 +11268,20 @@ _02090004: bl func_01ff9bc4 cmp r5, #0xa bge _020902d4 - ldr r1, _02090320 ; =data_027e0e60 + ldr r1, _02090320 ; =gMapManager add r0, sp, #0x18 ldr r1, [r1] add r2, sp, #0x5c - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x74 add r1, sp, #0x5c bl func_01ff9ec0 cmp r0, #0x2000 blt _02090144 - ldr r0, _02090320 ; =data_027e0e60 + ldr r0, _02090320 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] - bl func_ov00_02083e70 + bl _ZN10MapManager18func_ov00_02083e70Ev cmp r0, #0 beq _02090150 _02090144: @@ -27309,24 +11289,24 @@ _02090144: add r5, r5, #1 b _020902f8 _02090150: - ldr r0, _02090320 ; =data_027e0e60 + ldr r0, _02090320 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 bne _020902f8 - ldr r0, _02090320 ; =data_027e0e60 + ldr r0, _02090320 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 subeq r6, r6, #1 addeq r5, r5, #1 beq _020902f8 - ldr r0, _02090320 ; =data_027e0e60 + ldr r0, _02090320 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x37 bgt _02090210 bge _02090250 @@ -27438,7 +11418,7 @@ _02090310: .word data_027e0f94 _02090314: .word data_027e0fe4 _02090318: .word 0x534e414b _0209031c: .word data_027e0764 -_02090320: .word data_027e0e60 +_02090320: .word gMapManager _02090324: .word 0x5053424c _02090328: .word data_027e0fe8 @@ -27451,14 +11431,14 @@ func_ov00_0209032c: ; 0x0209032c ldr r0, [r7, #0x168] cmp r6, r0 ldmgeia sp!, {r3, r4, r5, r6, r7, pc} - ldr r4, _02090374 ; =data_027e0e60 + ldr r4, _02090374 ; =gMapManager mov r5, #0 _0209034c: ldr r0, [r4] ldr r2, [r7, #0x16c] mov r1, r6 mov r3, r5 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, [r7, #0x168] add r6, r6, #1 cmp r6, r0 @@ -27466,7 +11446,7 @@ _0209034c: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov00_0209032c -_02090374: .word data_027e0e60 +_02090374: .word gMapManager .global func_ov00_02090378 arm_func_start func_ov00_02090378 @@ -29304,10 +13284,10 @@ func_ov00_020915e8: ; 0x020915e8 _0209167c: cmp r1, #0 bne _0209173c - ldr r0, _020917ac ; =data_027e0e60 + ldr r0, _020917ac ; =gMapManager ldr r6, _020917b0 ; =0x000004cd ldr r0, [r0] - bl func_ov00_020848b8 + bl _ZN10MapManager18func_ov00_020848b8Ev mov r1, #0 cmp r0, #0 ldr r0, _020917b4 ; =0x0000ffff @@ -29334,7 +13314,7 @@ _0209167c: str r0, [sp, #8] str r1, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _020917ac ; =data_027e0e60 + ldr r0, _020917ac ; =gMapManager add r1, sp, #0x34 ldr r0, [r0] mov r3, r2 @@ -29381,7 +13361,7 @@ _0209173c: arm_func_end func_ov00_020915e8 _020917a4: .word data_027e0d38 _020917a8: .word data_027e10a4 -_020917ac: .word data_027e0e60 +_020917ac: .word gMapManager _020917b0: .word 0x000004cd _020917b4: .word 0x0000ffff @@ -29691,10 +13671,10 @@ _02091bd4: ldrb r0, [r5, #0x18] cmp r0, #0 beq _02091ce0 - ldr r0, _02091d4c ; =data_027e0e60 + ldr r0, _02091d4c ; =gMapManager ldr r4, _02091d50 ; =0x000004cd ldr r0, [r0] - bl func_ov00_020848b8 + bl _ZN10MapManager18func_ov00_020848b8Ev mov r1, #0 cmp r0, #0 ldr r0, _02091d54 ; =0x0000ffff @@ -29721,7 +13701,7 @@ _02091bd4: str r0, [sp, #8] str r1, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _02091d4c ; =data_027e0e60 + ldr r0, _02091d4c ; =gMapManager add r1, sp, #0x5c ldr r0, [r0] mov r3, r2 @@ -29771,7 +13751,7 @@ _02091d3c: .word data_027e0f94 _02091d40: .word data_027e0fac _02091d44: .word data_027e10a4 _02091d48: .word data_027e0d38 -_02091d4c: .word data_027e0e60 +_02091d4c: .word gMapManager _02091d50: .word 0x000004cd _02091d54: .word 0x0000ffff @@ -31118,9 +15098,9 @@ _0209309c: strle r0, [sp, #0x104] b _020930d4 _020930b4: - ldr r0, _02093208 ; =data_027e0e60 + ldr r0, _02093208 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082538 + bl _ZN10MapManager18func_ov00_02082538Ev add r3, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -31208,7 +15188,7 @@ _020931f8: .word data_027e0f94 _020931fc: .word 0x00001ccd _02093200: .word 0xffffe333 _02093204: .word 0x000004cd -_02093208: .word data_027e0e60 +_02093208: .word gMapManager .global func_ov00_0209320c arm_func_start func_ov00_0209320c @@ -31411,9 +15391,9 @@ _0209349c: strgt r0, [r4, #8] ldmia sp!, {r3, r4, pc} _020934c8: - ldr r0, _02093504 ; =data_027e0e60 + ldr r0, _02093504 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082538 + bl _ZN10MapManager18func_ov00_02082538Ev add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -31428,7 +15408,7 @@ _020934c8: .align 2, 0 arm_func_end func_ov00_020933d4 _02093500: .word data_027e0f94 -_02093504: .word data_027e0e60 +_02093504: .word gMapManager .global func_ov00_02093508 arm_func_start func_ov00_02093508 @@ -31812,7 +15792,7 @@ func_ov00_02093968: ; 0x02093968 cmp r0, #0 beq _020939bc ldr r1, _020939d8 ; =func_ov00_020939e0 - ldr ip, _020939dc ; =func_ov00_0207e940 + ldr ip, _020939dc ; =_ZN7MapBase18func_ov00_0207e940EPc str r1, [sp] mov r1, r4 mov r2, #0x4c @@ -31830,7 +15810,7 @@ _020939bc: arm_func_end func_ov00_02093968 _020939d4: .word data_027e0ce0 _020939d8: .word func_ov00_020939e0 -_020939dc: .word func_ov00_0207e940 +_020939dc: .word _ZN7MapBase18func_ov00_0207e940EPc .global func_ov00_020939e0 arm_func_start func_ov00_020939e0 @@ -31838,8 +15818,8 @@ func_ov00_020939e0: ; 0x020939e0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 - ldr ip, _02093a14 ; =func_ov00_0207e968 - ldr r3, _02093a18 ; =func_ov00_0207e96c + ldr ip, _02093a14 ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r3, _02093a18 ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, r4, #0x18 mov r1, #3 mov r2, #0x10 @@ -31850,8 +15830,8 @@ func_ov00_020939e0: ; 0x020939e0 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov00_020939e0 -_02093a14: .word func_ov00_0207e968 -_02093a18: .word func_ov00_0207e96c +_02093a14: .word _ZN7MapBase18func_ov00_0207e968Ev +_02093a18: .word _ZN7MapBase18func_ov00_0207e96cEv .global func_ov00_02093a1c arm_func_start func_ov00_02093a1c @@ -31970,11 +15950,11 @@ func_ov00_02093b58: ; 0x02093b58 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x50 mov r6, r3 - ldr ip, _02093c94 ; =func_ov00_0207e968 + ldr ip, _02093c94 ; =_ZN7MapBase18func_ov00_0207e968Ev mov r4, r0 mov r8, r1 mov r7, r2 - ldr r3, _02093c98 ; =func_ov00_0207e96c + ldr r3, _02093c98 ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, sp, #0x1c mov r1, #3 mov r2, #0x10 @@ -31995,7 +15975,7 @@ func_ov00_02093b58: ; 0x02093b58 ldrh r1, [sp, #6] mul r0, r3, r0 ldr ip, [r4, #0x20] - ldr r3, _02093c94 ; =func_ov00_0207e968 + ldr r3, _02093c94 ; =_ZN7MapBase18func_ov00_0207e968Ev strh r2, [ip, r0] add ip, ip, r0 strh r1, [ip, #2] @@ -32048,8 +16028,8 @@ func_ov00_02093b58: ; 0x02093b58 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_02093b58 -_02093c94: .word func_ov00_0207e968 -_02093c98: .word func_ov00_0207e96c +_02093c94: .word _ZN7MapBase18func_ov00_0207e968Ev +_02093c98: .word _ZN7MapBase18func_ov00_0207e96cEv .global func_ov00_02093c9c arm_func_start func_ov00_02093c9c @@ -32175,7 +16155,7 @@ func_ov00_02093e00: ; 0x02093e00 sub sp, sp, #0x70 mov r10, r0 ldr r1, [r10, #4] - ldr r0, _020940cc ; =data_027e0e60 + ldr r0, _020940cc ; =gMapManager orr r1, r1, #0x800 str r1, [r10, #4] ldr r2, [r10, #0x18] @@ -32187,7 +16167,7 @@ func_ov00_02093e00: ; 0x02093e00 ldr r0, [r0] strb r2, [sp, #8] strb r3, [sp, #9] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev str r0, [r10, #0x1c] ldr r0, [r10, #0x20] add r0, r0, #0x800 @@ -32260,10 +16240,10 @@ _02093e70: strb r5, [sp, #0x54] strb r5, [sp, #0x55] bl _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 - ldr r0, _020940cc ; =data_027e0e60 + ldr r0, _020940cc ; =gMapManager add r1, sp, #0x40 ldr r0, [r0] - bl func_ov00_020838f8 + bl _ZN10MapManager18func_ov00_020838f8EPi ldr r1, [sp, #0xc] bic r1, r1, #0x3f0000 orr r0, r1, r0, lsl #16 @@ -32292,7 +16272,7 @@ _02093f80: add r0, r8, #2 cmp r8, r0 bge _0209406c - ldr r4, _020940cc ; =data_027e0e60 + ldr r4, _020940cc ; =gMapManager add r6, sp, #6 mov r5, #1 add r11, sp, #4 @@ -32308,18 +16288,18 @@ _02094000: mov r2, r5 strb r7, [sp, #6] strb r9, [sp, #7] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r11 mov r2, #1 strb r7, [sp, #4] strb r9, [sp, #5] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldr r0, [r4] mov r1, r8 mov r2, r9 mov r3, #9 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci ldrb r0, [r10, #0x15] add r9, r9, #1 add r0, r0, #2 @@ -32360,7 +16340,7 @@ _020940ac: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_02093e00 -_020940cc: .word data_027e0e60 +_020940cc: .word gMapManager _020940d0: .word 0x00000e66 _020940d4: .word gAdventureFlags @@ -33671,18 +17651,18 @@ func_ov00_02094e6c: ; 0x02094e6c strb r0, [r10] mov r5, r2 strh r6, [r10, #2] - ldr r0, _02094f84 ; =data_027e0e60 + ldr r0, _02094f84 ; =gMapManager strh r5, [r10, #4] ldr r0, [r0] mov r9, r3 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldrh r1, [r10, #2] bl func_02002c14 mov r1, r0, lsl #0xc - ldr r0, _02094f84 ; =data_027e0e60 + ldr r0, _02094f84 ; =gMapManager str r1, [r10, #0xc] ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv ldrh r1, [r10, #4] bl func_02002c14 mov r0, r0, lsl #0xc @@ -33738,7 +17718,7 @@ _02094f40: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_02094e6c -_02094f84: .word data_027e0e60 +_02094f84: .word gMapManager _02094f88: .word data_027e0ce0 _02094f8c: .word func_ov00_02094fa8 _02094f90: .word func_ov00_02094f94 @@ -33782,16 +17762,16 @@ func_ov00_02094fbc: ; 0x02094fbc cmpne r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldr r0, _02095124 ; =data_027e0e60 + ldr r0, _02095124 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldrh r1, [r4, #2] bl func_02002c14 mov r1, r0, lsl #0xc - ldr r0, _02095124 ; =data_027e0e60 + ldr r0, _02095124 ; =gMapManager str r1, [r4, #0xc] ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv ldrh r1, [r4, #4] bl func_02002c14 mov r0, r0, lsl #0xc @@ -33862,7 +17842,7 @@ _0209510c: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_02094fbc -_02095124: .word data_027e0e60 +_02095124: .word gMapManager _02095128: .word data_027e0ce0 _0209512c: .word func_ov00_02094fa8 _02095130: .word func_ov00_02094f94 @@ -33978,7 +17958,7 @@ func_ov00_02095258: ; 0x02095258 func_ov00_02095278: ; 0x02095278 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 - ldr r3, _0209530c ; =data_027e0e60 + ldr r3, _0209530c ; =gMapManager add ip, sp, #0xc mov r4, r0 mov r6, r1 @@ -33986,7 +17966,7 @@ func_ov00_02095278: ; 0x02095278 stmia ip, {r0, r1, r2} ldr r0, [r3] add r1, sp, #0 - bl func_ov00_0208340c + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p add r0, sp, #0xc add r1, sp, #0 mov r2, r0 @@ -34015,7 +17995,7 @@ func_ov00_02095278: ; 0x02095278 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_02095278 -_0209530c: .word data_027e0e60 +_0209530c: .word gMapManager .global func_ov00_02095310 arm_func_start func_ov00_02095310 @@ -34191,30 +18171,30 @@ func_ov00_020954a0: ; 0x020954a0 mov r5, r1 bl func_ov00_020953fc ldr r1, _0209554c ; =data_ov00_020e3040 - ldr r0, _02095550 ; =data_027e0e60 + ldr r0, _02095550 ; =gMapManager str r1, [r6] ldrb r1, [r5, #1] ldr r0, [r0] - bl func_ov00_02083bac - ldr r2, _02095550 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083bacEv + ldr r2, _02095550 ; =gMapManager mov r4, r0 ldrb r1, [r5, #2] ldr r0, [r2] - bl func_ov00_02083b84 + bl _ZN10MapManager18func_ov00_02083b84Ev mov r3, #0x5000 rsb r3, r3, #0 - ldr r2, _02095550 ; =data_027e0e60 + ldr r2, _02095550 ; =gMapManager str r0, [sp, #0xc] ldrb r1, [r5, #3] ldr r0, [r2] str r3, [sp, #0x10] str r4, [sp, #0x14] - bl func_ov00_02083bfc - ldr r2, _02095550 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083bfcEv + ldr r2, _02095550 ; =gMapManager mov r4, r0 ldrb r1, [r5, #4] ldr r0, [r2] - bl func_ov00_02083bd4 + bl _ZN10MapManager18func_ov00_02083bd4Ev ldr r1, [sp, #0xc] ldr r2, [sp, #0x10] str r1, [r6, #0x14] @@ -34231,7 +18211,7 @@ func_ov00_020954a0: ; 0x020954a0 .align 2, 0 arm_func_end func_ov00_020954a0 _0209554c: .word data_ov00_020e3040 -_02095550: .word data_027e0e60 +_02095550: .word gMapManager .global func_ov00_02095554 arm_func_start func_ov00_02095554 @@ -34242,30 +18222,30 @@ func_ov00_02095554: ; 0x02095554 mov r5, r1 bl func_ov00_020953fc ldr r1, _02095600 ; =data_ov00_020e3040 - ldr r0, _02095604 ; =data_027e0e60 + ldr r0, _02095604 ; =gMapManager str r1, [r6] ldrb r1, [r5, #1] ldr r0, [r0] - bl func_ov00_02083bac - ldr r2, _02095604 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083bacEv + ldr r2, _02095604 ; =gMapManager mov r4, r0 ldrb r1, [r5, #2] ldr r0, [r2] - bl func_ov00_02083b84 + bl _ZN10MapManager18func_ov00_02083b84Ev mov r3, #0x5000 rsb r3, r3, #0 - ldr r2, _02095604 ; =data_027e0e60 + ldr r2, _02095604 ; =gMapManager str r0, [sp, #0xc] ldrb r1, [r5, #3] ldr r0, [r2] str r3, [sp, #0x10] str r4, [sp, #0x14] - bl func_ov00_02083bfc - ldr r2, _02095604 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083bfcEv + ldr r2, _02095604 ; =gMapManager mov r4, r0 ldrb r1, [r5, #4] ldr r0, [r2] - bl func_ov00_02083bd4 + bl _ZN10MapManager18func_ov00_02083bd4Ev ldr r1, [sp, #0xc] ldr r2, [sp, #0x10] str r1, [r6, #0x14] @@ -34282,7 +18262,7 @@ func_ov00_02095554: ; 0x02095554 .align 2, 0 arm_func_end func_ov00_02095554 _02095600: .word data_ov00_020e3040 -_02095604: .word data_027e0e60 +_02095604: .word gMapManager .global func_ov00_02095608 arm_func_start func_ov00_02095608 @@ -34331,15 +18311,15 @@ func_ov00_0209564c: ; 0x0209564c str r0, [r6, #0x14] str r0, [r6, #0x18] str r0, [r6, #0x1c] - ldr r0, _0209571c ; =data_027e0e60 + ldr r0, _0209571c ; =gMapManager ldrb r1, [r5, #1] ldr r0, [r0] - bl func_ov00_02083bac - ldr r2, _0209571c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083bacEv + ldr r2, _0209571c ; =gMapManager mov r4, r0 ldrb r1, [r5, #2] ldr r0, [r2] - bl func_ov00_02083b84 + bl _ZN10MapManager18func_ov00_02083b84Ev mov ip, #0x5000 str r0, [sp] rsb ip, ip, #0 @@ -34373,7 +18353,7 @@ func_ov00_0209564c: ; 0x0209564c .align 2, 0 arm_func_end func_ov00_0209564c _02095718: .word data_ov00_020e301c -_0209571c: .word data_027e0e60 +_0209571c: .word gMapManager .global func_ov00_02095720 arm_func_start func_ov00_02095720 @@ -35087,13 +19067,13 @@ func_ov00_02095fe0: ; 0x02095fe0 addeq sp, sp, #0x34 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _0209614c ; =data_027e0d3c - ldr r1, _02096150 ; =data_027e0e60 + ldr r1, _02096150 ; =gMapManager ldr r2, [r0] ldr r0, [r1] ldr r1, [r2, #0x44] add r2, sp, #0xc add r3, sp, #2 - bl func_ov00_020835e4 + bl _ZN10MapManager18func_ov00_020835e4EiPiS0_ cmp r0, #0 addeq sp, sp, #0x34 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -35104,7 +19084,7 @@ func_ov00_02095fe0: ; 0x02095fe0 cmp r8, r0 addeq sp, sp, #0x34 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r4, _02096150 ; =data_027e0e60 + ldr r4, _02096150 ; =gMapManager add r6, sp, #0x1c add r5, sp, #0x28 add r11, sp, #0x10 @@ -35139,19 +19119,19 @@ _020960b0: str r3, [sp, #0x2c] ldr r3, [r8, #0x18] str r3, [sp, #0x30] - bl func_ov00_02083560 + bl _ZN10MapManager18func_ov00_02083560EiPS_j ldrb r2, [sp] ldrb r3, [sp, #1] ldr r0, [r4] mov r1, r6 - bl func_ov00_020834bc + bl _ZN10MapManager18func_ov00_020834bcEP5Vec3pii mov r0, r5 mov r1, r6 mov r2, r5 bl func_01ff9bf8 ldr r0, [r4] mov r1, r11 - bl func_ov00_0208340c + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p mov r0, r5 mov r1, r11 mov r2, r5 @@ -35174,7 +19154,7 @@ _02096128: .align 2, 0 arm_func_end func_ov00_02095fe0 _0209614c: .word data_027e0d3c -_02096150: .word data_027e0e60 +_02096150: .word gMapManager _02096154: .word 0x43525953 _02096158: .word 0x464f5243 _0209615c: .word data_ov00_020db050 @@ -36780,660 +20760,7 @@ func_ov00_02097608: ; 0x02097608 arm_func_end func_ov00_02097608 .rodata - .global data_ov00_020d8798 -data_ov00_020d8798: ; 0x020d8798 - .byte 0x03 - .global data_ov00_020d8799 -data_ov00_020d8799: ; 0x020d8799 - .byte 0x03 - .global data_ov00_020d879a -data_ov00_020d879a: ; 0x020d879a - .byte 0x02 - .global data_ov00_020d879b -data_ov00_020d879b: ; 0x020d879b - .byte 0x02 - .global data_ov00_020d879c -data_ov00_020d879c: ; 0x020d879c - .byte 0x02 - .global data_ov00_020d879d -data_ov00_020d879d: ; 0x020d879d - .byte 0x01 - .global data_ov00_020d879e -data_ov00_020d879e: ; 0x020d879e - .byte 0x01 - .global data_ov00_020d879f -data_ov00_020d879f: ; 0x020d879f - .byte 0x00 - .global data_ov00_020d87a0 -data_ov00_020d87a0: ; 0x020d87a0 - .byte 0x80, 0x00, 0x00, 0x00 - .global data_ov00_020d87a4 -data_ov00_020d87a4: ; 0x020d87a4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87a8 -data_ov00_020d87a8: ; 0x020d87a8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87ac -data_ov00_020d87ac: ; 0x020d87ac - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87b0 -data_ov00_020d87b0: ; 0x020d87b0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87b4 -data_ov00_020d87b4: ; 0x020d87b4 - .byte 0x80, 0x00, 0x00, 0x00 - .global data_ov00_020d87b8 -data_ov00_020d87b8: ; 0x020d87b8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87bc -data_ov00_020d87bc: ; 0x020d87bc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87c0 -data_ov00_020d87c0: ; 0x020d87c0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87c4 -data_ov00_020d87c4: ; 0x020d87c4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87c8 -data_ov00_020d87c8: ; 0x020d87c8 - .byte 0x80, 0xff, 0xff, 0xff - .global data_ov00_020d87cc -data_ov00_020d87cc: ; 0x020d87cc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87d0 -data_ov00_020d87d0: ; 0x020d87d0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87d4 -data_ov00_020d87d4: ; 0x020d87d4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87d8 -data_ov00_020d87d8: ; 0x020d87d8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87dc -data_ov00_020d87dc: ; 0x020d87dc - .byte 0x80, 0x00, 0x00, 0x00 - .global data_ov00_020d87e0 -data_ov00_020d87e0: ; 0x020d87e0 - .byte 0x00, 0x01, 0x00, 0x00 - .global data_ov00_020d87e4 -data_ov00_020d87e4: ; 0x020d87e4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87e8 -data_ov00_020d87e8: ; 0x020d87e8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87ec -data_ov00_020d87ec: ; 0x020d87ec - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87f0 -data_ov00_020d87f0: ; 0x020d87f0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87f4 -data_ov00_020d87f4: ; 0x020d87f4 - .byte 0x00, 0x01, 0x00, 0x00 - .global data_ov00_020d87f8 -data_ov00_020d87f8: ; 0x020d87f8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87fc -data_ov00_020d87fc: ; 0x020d87fc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8800 -data_ov00_020d8800: ; 0x020d8800 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8804 -data_ov00_020d8804: ; 0x020d8804 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8808 -data_ov00_020d8808: ; 0x020d8808 - .byte 0x00, 0xff, 0xff, 0xff - .global data_ov00_020d880c -data_ov00_020d880c: ; 0x020d880c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8810 -data_ov00_020d8810: ; 0x020d8810 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8814 -data_ov00_020d8814: ; 0x020d8814 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8818 -data_ov00_020d8818: ; 0x020d8818 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d881c -data_ov00_020d881c: ; 0x020d881c - .byte 0x00, 0x01, 0x00, 0x00 - .global data_ov00_020d8820 -data_ov00_020d8820: ; 0x020d8820 - .byte 0x80, 0x01, 0x00, 0x00 - .global data_ov00_020d8824 -data_ov00_020d8824: ; 0x020d8824 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8828 -data_ov00_020d8828: ; 0x020d8828 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d882c -data_ov00_020d882c: ; 0x020d882c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8830 -data_ov00_020d8830: ; 0x020d8830 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8834 -data_ov00_020d8834: ; 0x020d8834 - .byte 0x80, 0x01, 0x00, 0x00 - .global data_ov00_020d8838 -data_ov00_020d8838: ; 0x020d8838 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d883c -data_ov00_020d883c: ; 0x020d883c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8840 -data_ov00_020d8840: ; 0x020d8840 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8844 -data_ov00_020d8844: ; 0x020d8844 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8848 -data_ov00_020d8848: ; 0x020d8848 - .byte 0x80, 0xfe, 0xff, 0xff - .global data_ov00_020d884c -data_ov00_020d884c: ; 0x020d884c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8850 -data_ov00_020d8850: ; 0x020d8850 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8854 -data_ov00_020d8854: ; 0x020d8854 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8858 -data_ov00_020d8858: ; 0x020d8858 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d885c -data_ov00_020d885c: ; 0x020d885c - .byte 0x80, 0x01, 0x00, 0x00 - .global data_ov00_020d8860 -data_ov00_020d8860: ; 0x020d8860 - .byte 0x00, 0x02, 0x00, 0x00 - .global data_ov00_020d8864 -data_ov00_020d8864: ; 0x020d8864 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8868 -data_ov00_020d8868: ; 0x020d8868 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d886c -data_ov00_020d886c: ; 0x020d886c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8870 -data_ov00_020d8870: ; 0x020d8870 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8874 -data_ov00_020d8874: ; 0x020d8874 - .byte 0x00, 0x02, 0x00, 0x00 - .global data_ov00_020d8878 -data_ov00_020d8878: ; 0x020d8878 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d887c -data_ov00_020d887c: ; 0x020d887c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8880 -data_ov00_020d8880: ; 0x020d8880 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8884 -data_ov00_020d8884: ; 0x020d8884 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8888 -data_ov00_020d8888: ; 0x020d8888 - .byte 0x00, 0xfe, 0xff, 0xff - .global data_ov00_020d888c -data_ov00_020d888c: ; 0x020d888c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8890 -data_ov00_020d8890: ; 0x020d8890 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8894 -data_ov00_020d8894: ; 0x020d8894 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8898 -data_ov00_020d8898: ; 0x020d8898 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d889c -data_ov00_020d889c: ; 0x020d889c - .byte 0x00, 0x02, 0x00, 0x00 - .global data_ov00_020d88a0 -data_ov00_020d88a0: ; 0x020d88a0 - .byte 0x00, 0x00 - .global data_ov00_020d88a2 -data_ov00_020d88a2: ; 0x020d88a2 - .byte 0x06, 0x00 - .global data_ov00_020d88a4 -data_ov00_020d88a4: ; 0x020d88a4 - .byte 0x28, 0x00 - .global data_ov00_020d88a6 -data_ov00_020d88a6: ; 0x020d88a6 - .byte 0x20, 0x00 - .global data_ov00_020d88a8 -data_ov00_020d88a8: ; 0x020d88a8 - .byte 0x20, 0x00 - .global data_ov00_020d88aa -data_ov00_020d88aa: ; 0x020d88aa - .byte 0x20, 0x00 - .global data_ov00_020d88ac -data_ov00_020d88ac: ; 0x020d88ac - .byte 0x08, 0x00 - .global data_ov00_020d88ae -data_ov00_020d88ae: ; 0x020d88ae - .byte 0x14, 0x00 - .global data_ov00_020d88b0 -data_ov00_020d88b0: ; 0x020d88b0 - .byte 0x32, 0x00 - .global data_ov00_020d88b2 -data_ov00_020d88b2: ; 0x020d88b2 - .byte 0x00, 0x00 - .global data_ov00_020d88b4 -data_ov00_020d88b4: ; 0x020d88b4 - .ascii " !*+,-6789:" - .byte 0x00 - .global data_ov00_020d88c0 -data_ov00_020d88c0: ; 0x020d88c0 - .byte 0x00 - .global data_ov00_020d88c1 -data_ov00_020d88c1: ; 0x020d88c1 - .byte 0x00 - .global data_ov00_020d88c2 -data_ov00_020d88c2: ; 0x020d88c2 - .byte 0x00 - .global data_ov00_020d88c3 -data_ov00_020d88c3: ; 0x020d88c3 - .byte 0x00 - .global data_ov00_020d88c4 -data_ov00_020d88c4: ; 0x020d88c4 - .byte 0x00 - .global data_ov00_020d88c5 -data_ov00_020d88c5: ; 0x020d88c5 - .byte 0x00 - .global data_ov00_020d88c6 -data_ov00_020d88c6: ; 0x020d88c6 - .byte 0x00 - .global data_ov00_020d88c7 -data_ov00_020d88c7: ; 0x020d88c7 - .byte 0x00 - .global data_ov00_020d88c8 -data_ov00_020d88c8: ; 0x020d88c8 - .byte 0x00 - .global data_ov00_020d88c9 -data_ov00_020d88c9: ; 0x020d88c9 - .byte 0x3b - .global data_ov00_020d88ca -data_ov00_020d88ca: ; 0x020d88ca - .byte 0x3f - .global data_ov00_020d88cb -data_ov00_020d88cb: ; 0x020d88cb - .byte 0x00 - .global data_ov00_020d88cc -data_ov00_020d88cc: ; 0x020d88cc - .byte 0x06 - .global data_ov00_020d88cd -data_ov00_020d88cd: ; 0x020d88cd - .byte 0x0c - .global data_ov00_020d88ce -data_ov00_020d88ce: ; 0x020d88ce - .byte 0x12 - .global data_ov00_020d88cf -data_ov00_020d88cf: ; 0x020d88cf - .byte 0x00 - .global data_ov00_020d88d0 -data_ov00_020d88d0: ; 0x020d88d0 - .ascii "sea" - .byte 0x00 - .global data_ov00_020d88d4 -data_ov00_020d88d4: ; 0x020d88d4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88d8 -data_ov00_020d88d8: ; 0x020d88d8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88dc -data_ov00_020d88dc: ; 0x020d88dc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88e0 -data_ov00_020d88e0: ; 0x020d88e0 - .ascii "sea" - .byte 0x00 - .global data_ov00_020d88e4 -data_ov00_020d88e4: ; 0x020d88e4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88e8 -data_ov00_020d88e8: ; 0x020d88e8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88ec -data_ov00_020d88ec: ; 0x020d88ec - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88f0 -data_ov00_020d88f0: ; 0x020d88f0 - .byte 0x51, 0x00, 0x00, 0x00 - .global data_ov00_020d88f4 -data_ov00_020d88f4: ; 0x020d88f4 - .byte 0x6e, 0x00, 0x00, 0x00 - .global data_ov00_020d88f8 -data_ov00_020d88f8: ; 0x020d88f8 - .byte 0x65, 0x00, 0x00, 0x00 - .global data_ov00_020d88fc -data_ov00_020d88fc: ; 0x020d88fc - .byte 0x50, 0x00, 0x00, 0x00 - .global data_ov00_020d8900 -data_ov00_020d8900: ; 0x020d8900 - .byte 0x30, 0x00, 0x00, 0x00 - .global data_ov00_020d8904 -data_ov00_020d8904: ; 0x020d8904 - .byte 0x74, 0x00, 0x00, 0x00 - .global data_ov00_020d8908 -data_ov00_020d8908: ; 0x020d8908 - .byte 0x49, 0x00, 0x00, 0x00 - .global data_ov00_020d890c -data_ov00_020d890c: ; 0x020d890c - .byte 0x50, 0x00, 0x00, 0x00 - .global data_ov00_020d8910 -data_ov00_020d8910: ; 0x020d8910 - .byte 0x51, 0x00, 0x00, 0x00 - .global data_ov00_020d8914 -data_ov00_020d8914: ; 0x020d8914 - .byte 0x54, 0x00, 0x00, 0x00 - .global data_ov00_020d8918 -data_ov00_020d8918: ; 0x020d8918 - .byte 0x52, 0x00, 0x00, 0x00 - .global data_ov00_020d891c -data_ov00_020d891c: ; 0x020d891c - .byte 0x53, 0x00, 0x00, 0x00 - .global data_ov00_020d8920 -data_ov00_020d8920: ; 0x020d8920 - .byte 0x55, 0x00, 0x00, 0x00 - .global data_ov00_020d8924 -data_ov00_020d8924: ; 0x020d8924 - .byte 0x56, 0x00, 0x00, 0x00 - .global data_ov00_020d8928 -data_ov00_020d8928: ; 0x020d8928 - .byte 0x57, 0x00, 0x00, 0x00 - .global data_ov00_020d892c -data_ov00_020d892c: ; 0x020d892c - .byte 0x58, 0x00, 0x00, 0x00 - .global data_ov00_020d8930 -data_ov00_020d8930: ; 0x020d8930 - .byte 0x59, 0x00, 0x00, 0x00 - .global data_ov00_020d8934 -data_ov00_020d8934: ; 0x020d8934 - .byte 0x5a, 0x00, 0x00, 0x00 - .global data_ov00_020d8938 -data_ov00_020d8938: ; 0x020d8938 - .byte 0x5f, 0x00, 0x00, 0x00 - .global data_ov00_020d893c -data_ov00_020d893c: ; 0x020d893c - .byte 0x60, 0x00, 0x00, 0x00 - .global data_ov00_020d8940 -data_ov00_020d8940: ; 0x020d8940 - .byte 0x61, 0x00, 0x00, 0x00 - .global data_ov00_020d8944 -data_ov00_020d8944: ; 0x020d8944 - .byte 0x5c, 0x00, 0x00, 0x00 - .global data_ov00_020d8948 -data_ov00_020d8948: ; 0x020d8948 - .byte 0x5b, 0x00, 0x00, 0x00 - .global data_ov00_020d894c -data_ov00_020d894c: ; 0x020d894c - .byte 0x5e, 0x00, 0x00, 0x00 - .global data_ov00_020d8950 -data_ov00_020d8950: ; 0x020d8950 - .byte 0x62, 0x00, 0x00, 0x00 - .global data_ov00_020d8954 -data_ov00_020d8954: ; 0x020d8954 - .byte 0x63, 0x00, 0x00, 0x00 - .global data_ov00_020d8958 -data_ov00_020d8958: ; 0x020d8958 - .byte 0x64, 0x00, 0x00, 0x00 - .global data_ov00_020d895c -data_ov00_020d895c: ; 0x020d895c - .byte 0x3f, 0x00, 0x00, 0x00 - .global data_ov00_020d8960 -data_ov00_020d8960: ; 0x020d8960 - .byte 0x40, 0x00, 0x00, 0x00 - .global data_ov00_020d8964 -data_ov00_020d8964: ; 0x020d8964 - .byte 0x41, 0x00, 0x00, 0x00 - .global data_ov00_020d8968 -data_ov00_020d8968: ; 0x020d8968 - .byte 0x42, 0x00, 0x00, 0x00 - .global data_ov00_020d896c -data_ov00_020d896c: ; 0x020d896c - .byte 0x43, 0x00, 0x00, 0x00 - .global data_ov00_020d8970 -data_ov00_020d8970: ; 0x020d8970 - .byte 0x44, 0x00, 0x00, 0x00 - .global data_ov00_020d8974 -data_ov00_020d8974: ; 0x020d8974 - .byte 0x45, 0x00, 0x00, 0x00 - .global data_ov00_020d8978 -data_ov00_020d8978: ; 0x020d8978 - .byte 0x46, 0x00, 0x00, 0x00 - .global data_ov00_020d897c -data_ov00_020d897c: ; 0x020d897c - .byte 0x5d, 0x00, 0x00, 0x00 - .global data_ov00_020d8980 -data_ov00_020d8980: ; 0x020d8980 - .byte 0x31, 0x00, 0x00, 0x00 - .global data_ov00_020d8984 -data_ov00_020d8984: ; 0x020d8984 - .byte 0x39, 0x00, 0x00, 0x00 - .global data_ov00_020d8988 -data_ov00_020d8988: ; 0x020d8988 - .byte 0x3a, 0x00, 0x00, 0x00 - .global data_ov00_020d898c -data_ov00_020d898c: ; 0x020d898c - .byte 0x3b, 0x00, 0x00, 0x00 - .global data_ov00_020d8990 -data_ov00_020d8990: ; 0x020d8990 - .byte 0x3c, 0x00, 0x00, 0x00 - .global data_ov00_020d8994 -data_ov00_020d8994: ; 0x020d8994 - .byte 0x32, 0x00, 0x00, 0x00 - .global data_ov00_020d8998 -data_ov00_020d8998: ; 0x020d8998 - .byte 0x33, 0x00, 0x00, 0x00 - .global data_ov00_020d899c -data_ov00_020d899c: ; 0x020d899c - .byte 0x34, 0x00, 0x00, 0x00 - .global data_ov00_020d89a0 -data_ov00_020d89a0: ; 0x020d89a0 - .byte 0x35, 0x00, 0x00, 0x00 - .global data_ov00_020d89a4 -data_ov00_020d89a4: ; 0x020d89a4 - .byte 0x38, 0x00, 0x00, 0x00 - .global data_ov00_020d89a8 -data_ov00_020d89a8: ; 0x020d89a8 - .byte 0x3d, 0x00, 0x00, 0x00 - .global data_ov00_020d89ac -data_ov00_020d89ac: ; 0x020d89ac - .byte 0xd9, 0x00, 0x00, 0x00 - .global data_ov00_020d89b0 -data_ov00_020d89b0: ; 0x020d89b0 - .byte 0xdc, 0x00, 0x00, 0x00 - .global data_ov00_020d89b4 -data_ov00_020d89b4: ; 0x020d89b4 - .byte 0xa1, 0x00, 0x00, 0x00 - .global data_ov00_020d89b8 -data_ov00_020d89b8: ; 0x020d89b8 - .byte 0xa2, 0x00, 0x00, 0x00 - .global data_ov00_020d89bc -data_ov00_020d89bc: ; 0x020d89bc - .byte 0xa3, 0x00, 0x00, 0x00 - .global data_ov00_020d89c0 -data_ov00_020d89c0: ; 0x020d89c0 - .byte 0xa4, 0x00, 0x00, 0x00 - .global data_ov00_020d89c4 -data_ov00_020d89c4: ; 0x020d89c4 - .byte 0xa5, 0x00, 0x00, 0x00 - .global data_ov00_020d89c8 -data_ov00_020d89c8: ; 0x020d89c8 - .byte 0xa6, 0x00, 0x00, 0x00 - .global data_ov00_020d89cc -data_ov00_020d89cc: ; 0x020d89cc - .byte 0x6f, 0x00, 0x00, 0x00 - .global data_ov00_020d89d0 -data_ov00_020d89d0: ; 0x020d89d0 - .byte 0x72, 0x00, 0x00, 0x00 - .global data_ov00_020d89d4 -data_ov00_020d89d4: ; 0x020d89d4 - .byte 0x75, 0x00, 0x00, 0x00 - .global data_ov00_020d89d8 -data_ov00_020d89d8: ; 0x020d89d8 - .byte 0x78, 0x00, 0x00, 0x00 - .global data_ov00_020d89dc -data_ov00_020d89dc: ; 0x020d89dc - .byte 0x79, 0x00, 0x00, 0x00 - .global data_ov00_020d89e0 -data_ov00_020d89e0: ; 0x020d89e0 - .byte 0x7a, 0x00, 0x00, 0x00 - .global data_ov00_020d89e4 -data_ov00_020d89e4: ; 0x020d89e4 - .byte 0x7b, 0x00, 0x00, 0x00 - .global data_ov00_020d89e8 -data_ov00_020d89e8: ; 0x020d89e8 - .byte 0x7f, 0x00, 0x00, 0x00 - .global data_ov00_020d89ec -data_ov00_020d89ec: ; 0x020d89ec - .byte 0x83, 0x00, 0x00, 0x00 - .global data_ov00_020d89f0 -data_ov00_020d89f0: ; 0x020d89f0 - .byte 0x87, 0x00, 0x00, 0x00 - .global data_ov00_020d89f4 -data_ov00_020d89f4: ; 0x020d89f4 - .byte 0x7c, 0x00, 0x00, 0x00 - .global data_ov00_020d89f8 -data_ov00_020d89f8: ; 0x020d89f8 - .byte 0x80, 0x00, 0x00, 0x00 - .global data_ov00_020d89fc -data_ov00_020d89fc: ; 0x020d89fc - .byte 0x84, 0x00, 0x00, 0x00 - .global data_ov00_020d8a00 -data_ov00_020d8a00: ; 0x020d8a00 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8a04 -data_ov00_020d8a04: ; 0x020d8a04 - .byte 0x88, 0x00, 0x00, 0x00 - .global data_ov00_020d8a08 -data_ov00_020d8a08: ; 0x020d8a08 - .byte 0x89, 0x00, 0x00, 0x00 - .global data_ov00_020d8a0c -data_ov00_020d8a0c: ; 0x020d8a0c - .byte 0x8a, 0x00, 0x00, 0x00 - .global data_ov00_020d8a10 -data_ov00_020d8a10: ; 0x020d8a10 - .byte 0x8b, 0x00, 0x00, 0x00 - .global data_ov00_020d8a14 -data_ov00_020d8a14: ; 0x020d8a14 - .byte 0x8c, 0x00, 0x00, 0x00 - .global data_ov00_020d8a18 -data_ov00_020d8a18: ; 0x020d8a18 - .byte 0x8d, 0x00, 0x00, 0x00 - .global data_ov00_020d8a1c -data_ov00_020d8a1c: ; 0x020d8a1c - .byte 0x8e, 0x00, 0x00, 0x00 - .global data_ov00_020d8a20 -data_ov00_020d8a20: ; 0x020d8a20 - .byte 0x8f, 0x00, 0x00, 0x00 - .global data_ov00_020d8a24 -data_ov00_020d8a24: ; 0x020d8a24 - .byte 0x90, 0x00, 0x00, 0x00 - .global data_ov00_020d8a28 -data_ov00_020d8a28: ; 0x020d8a28 - .byte 0x91, 0x00, 0x00, 0x00 - .global data_ov00_020d8a2c -data_ov00_020d8a2c: ; 0x020d8a2c - .byte 0x92, 0x00, 0x00, 0x00 - .global data_ov00_020d8a30 -data_ov00_020d8a30: ; 0x020d8a30 - .byte 0x93, 0x00, 0x00, 0x00 - .global data_ov00_020d8a34 -data_ov00_020d8a34: ; 0x020d8a34 - .byte 0x94, 0x00, 0x00, 0x00 - .global data_ov00_020d8a38 -data_ov00_020d8a38: ; 0x020d8a38 - .byte 0x95, 0x00, 0x00, 0x00 - .global data_ov00_020d8a3c -data_ov00_020d8a3c: ; 0x020d8a3c - .byte 0x96, 0x00, 0x00, 0x00 - .global data_ov00_020d8a40 -data_ov00_020d8a40: ; 0x020d8a40 - .byte 0x97, 0x00, 0x00, 0x00 - .global data_ov00_020d8a44 -data_ov00_020d8a44: ; 0x020d8a44 - .byte 0x98, 0x00, 0x00, 0x00 - .global data_ov00_020d8a48 -data_ov00_020d8a48: ; 0x020d8a48 - .byte 0x99, 0x00, 0x00, 0x00 - .global data_ov00_020d8a4c -data_ov00_020d8a4c: ; 0x020d8a4c - .byte 0x9a, 0x00, 0x00, 0x00 - .global data_ov00_020d8a50 -data_ov00_020d8a50: ; 0x020d8a50 - .byte 0x9b, 0x00, 0x00, 0x00 - .global data_ov00_020d8a54 -data_ov00_020d8a54: ; 0x020d8a54 - .byte 0x9d, 0x00, 0x00, 0x00 - .global data_ov00_020d8a58 -data_ov00_020d8a58: ; 0x020d8a58 - .byte 0x9e, 0x00, 0x00, 0x00 - .global data_ov00_020d8a5c -data_ov00_020d8a5c: ; 0x020d8a5c - .byte 0x9f, 0x00, 0x00, 0x00 - .global data_ov00_020d8a60 -data_ov00_020d8a60: ; 0x020d8a60 - .byte 0xa0, 0x00, 0x00, 0x00 - .global data_ov00_020d8a64 -data_ov00_020d8a64: ; 0x020d8a64 - .byte 0x70, 0x00, 0x00, 0x00 - .global data_ov00_020d8a68 -data_ov00_020d8a68: ; 0x020d8a68 - .byte 0x71, 0x00, 0x00, 0x00 - .global data_ov00_020d8a6c -data_ov00_020d8a6c: ; 0x020d8a6c - .byte 0x73, 0x00, 0x00, 0x00 - .global data_ov00_020d8a70 -data_ov00_020d8a70: ; 0x020d8a70 - .byte 0x76, 0x00, 0x00, 0x00 - .global data_ov00_020d8a74 -data_ov00_020d8a74: ; 0x020d8a74 - .byte 0x77, 0x00, 0x00, 0x00 - .global data_ov00_020d8a78 -data_ov00_020d8a78: ; 0x020d8a78 - .byte 0x7d, 0x00, 0x00, 0x00 - .global data_ov00_020d8a7c -data_ov00_020d8a7c: ; 0x020d8a7c - .byte 0x7e, 0x00, 0x00, 0x00 - .global data_ov00_020d8a80 -data_ov00_020d8a80: ; 0x020d8a80 - .byte 0x81, 0x00, 0x00, 0x00 - .global data_ov00_020d8a84 -data_ov00_020d8a84: ; 0x020d8a84 - .byte 0x82, 0x00, 0x00, 0x00 - .global data_ov00_020d8a88 -data_ov00_020d8a88: ; 0x020d8a88 - .byte 0x86, 0x00, 0x00, 0x00 - .global data_ov00_020d8a8c -data_ov00_020d8a8c: ; 0x020d8a8c - .byte 0x9c, 0x00, 0x00, 0x00 - .global data_ov00_020d8a90 -data_ov00_020d8a90: ; 0x020d8a90 - .byte 0x36, 0x00, 0x00, 0x00 - .global data_ov00_020d8a94 -data_ov00_020d8a94: ; 0x020d8a94 - .byte 0x37, 0x00, 0x00, 0x00 - .global data_ov00_020d8a98 -data_ov00_020d8a98: ; 0x020d8a98 - .byte 0xd0, 0x00, 0x00, 0x00 - .global data_ov00_020d8a9c -data_ov00_020d8a9c: ; 0x020d8a9c - .byte 0xd1, 0x00, 0x00, 0x00 - .global data_ov00_020d8aa0 -data_ov00_020d8aa0: ; 0x020d8aa0 - .byte 0xcd, 0x00, 0x00, 0x00 - .global data_ov00_020d8aa4 -data_ov00_020d8aa4: ; 0x020d8aa4 - .byte 0x9a, 0x01, 0x00, 0x00 + .global data_ov00_020d8aa8 data_ov00_020d8aa8: ; 0x020d8aa8 .byte 0x44, 0x46, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 @@ -38331,257 +21658,7 @@ data_ov00_020db054: ; 0x020db054 data_ov00_020db056: ; 0x020db056 .byte 0x00, 0x00 - .section .init, 4, 1, 4 - .global func_ov00_020df378 - arm_func_start func_ov00_020df378 -func_ov00_020df378: ; 0x020df378 - ldr ip, _020df384 ; =func_ov08_02113a0c - ldr r0, _020df388 ; =data_ov00_020e9370 - bx ip - .align 2, 0 - arm_func_end func_ov00_020df378 -_020df384: .word func_ov08_02113a0c -_020df388: .word data_ov00_020e9370 - - .global func_ov00_020df38c - arm_func_start func_ov00_020df38c -func_ov00_020df38c: ; 0x020df38c - stmdb sp!, {r3, lr} - ldr r0, _020df3ac ; =data_027e0d78 - bl func_ov08_02113080 - ldr r0, _020df3ac ; =data_027e0d78 - ldr r1, _020df3b0 ; =func_ov00_0207af9c - ldr r2, _020df3b4 ; =data_027e0d6c - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df38c -_020df3ac: .word data_027e0d78 -_020df3b0: .word func_ov00_0207af9c -_020df3b4: .word data_027e0d6c - - .global func_ov00_020df3b8 - arm_func_start func_ov00_020df3b8 -func_ov00_020df3b8: ; 0x020df3b8 - ldr ip, _020df3c4 ; =func_ov00_0207b278 - ldr r0, _020df3c8 ; =data_027e0db0 - bx ip - .align 2, 0 - arm_func_end func_ov00_020df3b8 -_020df3c4: .word func_ov00_0207b278 + 1 -_020df3c8: .word data_027e0db0 - - .global func_ov00_020df3cc - arm_func_start func_ov00_020df3cc -func_ov00_020df3cc: ; 0x020df3cc - ldr r0, _020df3dc ; =data_ov00_020e9c88 - mov r1, #0 - str r1, [r0, #0x180] - bx lr - .align 2, 0 - arm_func_end func_ov00_020df3cc -_020df3dc: .word data_ov00_020e9c88 - - .global func_ov00_020df3e0 - arm_func_start func_ov00_020df3e0 -func_ov00_020df3e0: ; 0x020df3e0 - ldr ip, _020df3ec ; =func_ov08_021136fc - ldr r0, _020df3f0 ; =data_027e0dbc - bx ip - .align 2, 0 - arm_func_end func_ov00_020df3e0 -_020df3ec: .word func_ov08_021136fc -_020df3f0: .word data_027e0dbc - - .global func_ov00_020df3f4 - arm_func_start func_ov00_020df3f4 -func_ov00_020df3f4: ; 0x020df3f4 - stmdb sp!, {r3, lr} - ldr r0, _020df414 ; =data_ov00_020e9e18 - bl func_ov08_02113730 - ldr r0, _020df414 ; =data_ov00_020e9e18 - ldr r1, _020df418 ; =func_ov00_0207bab4 - ldr r2, _020df41c ; =data_ov00_020e9e0c - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df3f4 -_020df414: .word data_ov00_020e9e18 -_020df418: .word func_ov00_0207bab4 -_020df41c: .word data_ov00_020e9e0c - - .global func_ov00_020df420 - arm_func_start func_ov00_020df420 -func_ov00_020df420: ; 0x020df420 - stmdb sp!, {r3, lr} - ldr r3, _020df450 ; =data_027e0de4 - mov r0, #0 - ldr r1, _020df454 ; =data_027e0de8 - mov r2, #0x20 - str r0, [r3] - bl func_02007938 - ldr r1, _020df458 ; =data_027e0e08 - mov r0, #0 - mov r2, #0x20 - bl func_02007938 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df420 -_020df450: .word data_027e0de4 -_020df454: .word data_027e0de8 -_020df458: .word data_027e0e08 - - .global func_ov00_020df45c - arm_func_start func_ov00_020df45c -func_ov00_020df45c: ; 0x020df45c - ldr r0, _020df46c ; =data_027e0e28 - mov r1, #0 - str r1, [r0] - bx lr - .align 2, 0 - arm_func_end func_ov00_020df45c -_020df46c: .word data_027e0e28 - - .global func_ov00_020df470 - arm_func_start func_ov00_020df470 -func_ov00_020df470: ; 0x020df470 - ldr r0, _020df49c ; =data_027e0e2c - mov r1, #0x80000 - str r1, [r0, #0x20] - str r1, [r0, #0x18] - mov r1, #0x60000 - str r1, [r0, #0x24] - str r1, [r0, #0x1c] - mov r1, #0 - ldr ip, _020df4a0 ; =func_ov00_0207bcb4 - str r1, [r0, #0x28] - bx ip - .align 2, 0 - arm_func_end func_ov00_020df470 -_020df49c: .word data_027e0e2c -_020df4a0: .word func_ov00_0207bcb4 + 1 - - .global func_ov00_020df4a4 - arm_func_start func_ov00_020df4a4 -func_ov00_020df4a4: ; 0x020df4a4 - ldr ip, _020df4b0 ; =func_ov08_02113aa8 - ldr r0, _020df4b4 ; =data_ov00_020ec7dc - bx ip - .align 2, 0 - arm_func_end func_ov00_020df4a4 -_020df4b0: .word func_ov08_02113aa8 -_020df4b4: .word data_ov00_020ec7dc - - .global func_ov00_020df4b8 - arm_func_start func_ov00_020df4b8 -func_ov00_020df4b8: ; 0x020df4b8 - ldr r0, _020df4c8 ; =data_027e0e5c - mov r1, #0 - strh r1, [r0] - bx lr - .align 2, 0 - arm_func_end func_ov00_020df4b8 -_020df4c8: .word data_027e0e5c - - .global func_ov00_020df4cc - arm_func_start func_ov00_020df4cc -func_ov00_020df4cc: ; 0x020df4cc - stmdb sp!, {r3, lr} - ldr r0, _020df5f0 ; =0x00005fff - ldr r3, _020df5f4 ; =data_ov00_020e24a4 - mov ip, #0 - str r0, [r3, #0x20] - ldr r0, _020df5f8 ; =data_ov00_020e24c8 - ldr r1, _020df5fc ; =func_ov00_02086cd0 - ldr r2, _020df600 ; =data_ov00_020ec964 - str ip, [r3, #0x24] - mov ip, #0x60 - str ip, [r3, #0x28] - bl __register_global_object - ldr r0, _020df604 ; =data_ov00_020e24d0 - mov r3, #0 - ldr r1, _020df5fc ; =func_ov00_02086cd0 - ldr r2, _020df608 ; =data_ov00_020ec970 - str r3, [r0] - str r3, [r0, #4] - bl __register_global_object - ldr r0, _020df60c ; =data_ov00_020e24d8 - mov ip, #0x80 - mov r3, #0x60 - ldr r1, _020df5fc ; =func_ov00_02086cd0 - ldr r2, _020df610 ; =data_ov00_020ec97c - str ip, [r0] - str r3, [r0, #4] - bl __register_global_object - ldr r0, _020df614 ; =data_ov00_020e24e0 - mov ip, #0x80 - mov r3, #0 - ldr r1, _020df5fc ; =func_ov00_02086cd0 - ldr r2, _020df618 ; =data_ov00_020ec988 - str ip, [r0] - str r3, [r0, #4] - bl __register_global_object - mov r2, #0x80000 - rsb r2, r2, #0 - ldr r0, _020df5f4 ; =data_ov00_020e24a4 - add r1, r2, #0x20000 - str r2, [r0, #0x44] - str r1, [r0, #0x48] - ldr r0, _020df61c ; =data_ov00_020e24e8 - ldr r1, _020df620 ; =func_ov00_0207dd9c - ldr r2, _020df624 ; =data_ov00_020ec994 - bl __register_global_object - ldr r0, _020df628 ; =data_ov00_020e24f0 - mov r1, #0x80000 - rsb r1, r1, #0 - str r1, [r0] - add r1, r1, #0x20000 - str r1, [r0, #4] - ldr r1, _020df620 ; =func_ov00_0207dd9c - ldr r2, _020df62c ; =data_ov00_020ec9a0 - bl __register_global_object - ldr r0, _020df630 ; =data_ov00_020e24f8 - mov r1, #0x80000 - rsb r1, r1, #0 - str r1, [r0] - add r1, r1, #0x20000 - str r1, [r0, #4] - ldr r1, _020df620 ; =func_ov00_0207dd9c - ldr r2, _020df634 ; =data_ov00_020ec9ac - bl __register_global_object - ldr r0, _020df638 ; =data_ov00_020e2500 - mov r1, #0x80000 - rsb r1, r1, #0 - str r1, [r0] - add r1, r1, #0x20000 - str r1, [r0, #4] - ldr r1, _020df620 ; =func_ov00_0207dd9c - ldr r2, _020df63c ; =data_ov00_020ec9b8 - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df4cc -_020df5f0: .word 0x00005fff -_020df5f4: .word data_ov00_020e24a4 -_020df5f8: .word data_ov00_020e24c8 -_020df5fc: .word func_ov00_02086cd0 -_020df600: .word data_ov00_020ec964 -_020df604: .word data_ov00_020e24d0 -_020df608: .word data_ov00_020ec970 -_020df60c: .word data_ov00_020e24d8 -_020df610: .word data_ov00_020ec97c -_020df614: .word data_ov00_020e24e0 -_020df618: .word data_ov00_020ec988 -_020df61c: .word data_ov00_020e24e8 -_020df620: .word func_ov00_0207dd9c -_020df624: .word data_ov00_020ec994 -_020df628: .word data_ov00_020e24f0 -_020df62c: .word data_ov00_020ec9a0 -_020df630: .word data_ov00_020e24f8 -_020df634: .word data_ov00_020ec9ac -_020df638: .word data_ov00_020e2500 -_020df63c: .word data_ov00_020ec9b8 - + .section .init, 4, 1, 4 .global func_ov00_020df640 arm_func_start func_ov00_020df640 func_ov00_020df640: ; 0x020df640 @@ -40309,43 +23386,7 @@ _020e1050: .word data_ov00_020ee0a0 _020e1054: .word func_ov08_021135b8 _020e1058: .word data_ov00_020ee094 - .section .ctor, 4, 1, 4 - .global data_ov00_020e1e90 -data_ov00_020e1e90: ; 0x020e1e90 - .word func_ov00_020df378 - .global data_ov00_020e1e94 -data_ov00_020e1e94: ; 0x020e1e94 - .word func_ov00_020df38c - .global data_ov00_020e1e98 -data_ov00_020e1e98: ; 0x020e1e98 - .word func_ov00_020df3b8 - .global data_ov00_020e1e9c -data_ov00_020e1e9c: ; 0x020e1e9c - .word func_ov00_020df3cc - .global data_ov00_020e1ea0 -data_ov00_020e1ea0: ; 0x020e1ea0 - .word func_ov00_020df3e0 - .global data_ov00_020e1ea4 -data_ov00_020e1ea4: ; 0x020e1ea4 - .word func_ov00_020df3f4 - .global data_ov00_020e1ea8 -data_ov00_020e1ea8: ; 0x020e1ea8 - .word func_ov00_020df420 - .global data_ov00_020e1eac -data_ov00_020e1eac: ; 0x020e1eac - .word func_ov00_020df45c - .global data_ov00_020e1eb0 -data_ov00_020e1eb0: ; 0x020e1eb0 - .word func_ov00_020df470 - .global data_ov00_020e1eb4 -data_ov00_020e1eb4: ; 0x020e1eb4 - .word func_ov00_020df4a4 - .global data_ov00_020e1eb8 -data_ov00_020e1eb8: ; 0x020e1eb8 - .word func_ov00_020df4b8 - .global data_ov00_020e1ebc -data_ov00_020e1ebc: ; 0x020e1ebc - .word func_ov00_020df4cc + .section .ctor, 4, 1, 4 .global data_ov00_020e1ec0 data_ov00_020e1ec0: ; 0x020e1ec0 .word func_ov00_020df640 @@ -40375,547 +23416,7 @@ data_ov00_020e1ee0: ; 0x020e1ee0 .word func_ov00_020e1030 .data - .global data_ov00_020e2044 -data_ov00_020e2044: ; 0x020e2044 - .ascii "Menu/Bg/Color0.NCLR" - .byte 0x00 - .global data_ov00_020e2058 -data_ov00_020e2058: ; 0x020e2058 - .ascii "%s:objlist/motype.zob" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2070 -data_ov00_020e2070: ; 0x020e2070 - .ascii "%s:objlist/motype_%d.zob" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e208c -data_ov00_020e208c: ; 0x020e208c - .ascii "%s:objlist/npctype.zob" - .byte 0x00, 0x00 - .global data_ov00_020e20a4 -data_ov00_020e20a4: ; 0x020e20a4 - .ascii "%s:objlist/npctype_%d.zob" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e20c0 -data_ov00_020e20c0: ; 0x020e20c0 - .ascii "%s:tex/mapModel.nsbtx" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e20d8 -data_ov00_020e20d8: ; 0x020e20d8 - .ascii "%s:arrange/%s.zab" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e20ec -data_ov00_020e20ec: ; 0x020e20ec - .ascii "%s:objlist/motype.zob" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2104 -data_ov00_020e2104: ; 0x020e2104 - .ascii "%s:objlist/npctype.zob" - .byte 0x00, 0x00 - .global data_ov00_020e211c -data_ov00_020e211c: ; 0x020e211c - .ascii "%s:tex/mapModel.nsbtx" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2134 -data_ov00_020e2134: ; 0x020e2134 - .ascii "%s:arrange/%s.zab" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2148 -data_ov00_020e2148: ; 0x020e2148 - .ascii "%s:nsbmd/%s_%d%d.nsbmd" - .byte 0x00, 0x00 - .global data_ov00_020e2160 -data_ov00_020e2160: ; 0x020e2160 - .ascii "%s:zcb/%s_%d%d.zcb" - .byte 0x00, 0x00 - .global data_ov00_020e2174 -data_ov00_020e2174: ; 0x020e2174 - .ascii "Map2D/%s/map00.bin" - .byte 0x00, 0x00 - .global data_ov00_020e2188 -data_ov00_020e2188: ; 0x020e2188 - .ascii "Map2D/%s/mapwd.bin" - .byte 0x00, 0x00 - .global data_ov00_020e219c -data_ov00_020e219c: ; 0x020e219c - .ascii "Map2D/%s/map%d%d.bin" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e21b4 -data_ov00_020e21b4: ; 0x020e21b4 - .ascii "Map2D/seatest/map%d%d.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e21d0 -data_ov00_020e21d0: ; 0x020e21d0 - .ascii "Map2D/sea_minigame/map%d%d.bin" - .byte 0x00, 0x00 - .global data_ov00_020e21f0 -data_ov00_020e21f0: ; 0x020e21f0 - .ascii "Map2D/sea_fishing/map%d%d.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2210 -data_ov00_020e2210: ; 0x020e2210 - .ascii "Map2D/sea_salvage/map%d%d.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2230 -data_ov00_020e2230: ; 0x020e2230 - .ascii "Map2D/boss_last2/map%d%d.bin" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2250 -data_ov00_020e2250: ; 0x020e2250 - .ascii "Map2D/sea/map%d%d_02.bin" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e226c -data_ov00_020e226c: ; 0x020e226c - .ascii "Map2D/sea/map%d%d.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2284 -data_ov00_020e2284: ; 0x020e2284 - .ascii "Map2D/sea/map%d%d.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e229c -data_ov00_020e229c: ; 0x020e229c - .ascii "%s:zob/motype_%d%d_%d.zob" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e22b8 -data_ov00_020e22b8: ; 0x020e22b8 - .ascii "%s:zob/npctype_%d%d_%d.zob" - .byte 0x00, 0x00 - .global data_ov00_020e22d4 -data_ov00_020e22d4: ; 0x020e22d4 - .ascii "%s:mcb/%s_%d%d.mcb" - .byte 0x00, 0x00 - .global data_ov00_020e22e8 -data_ov00_020e22e8: ; 0x020e22e8 - .ascii "%s:zmb/%s_%d%d.zmb" - .byte 0x00, 0x00 - .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 data_ov00_020e2348 -data_ov00_020e2348: ; 0x020e2348 - .word func_ov00_0207dc04 - .global data_ov00_020e234c -data_ov00_020e234c: ; 0x020e234c - .word func_ov00_0207db1c - .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 func_ov00_0207ddf4 - .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 func_ov00_0207e46c - .global data_ov00_020e2394 -data_ov00_020e2394: ; 0x020e2394 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2398 -data_ov00_020e2398: ; 0x020e2398 - .word func_ov00_0207e488 - .global data_ov00_020e239c -data_ov00_020e239c: ; 0x020e239c - .word func_ov00_0207e490 - .global data_ov00_020e23a0 -data_ov00_020e23a0: ; 0x020e23a0 - .word func_ov00_0207e498 - .global data_ov00_020e23a4 -data_ov00_020e23a4: ; 0x020e23a4 - .word func_ov00_0207e4a0 - .global data_ov00_020e23a8 -data_ov00_020e23a8: ; 0x020e23a8 - .word func_ov00_0207e4a8 - .global data_ov00_020e23ac -data_ov00_020e23ac: ; 0x020e23ac - .word func_ov00_0207e4b0 - .global data_ov00_020e23b0 -data_ov00_020e23b0: ; 0x020e23b0 - .word func_ov00_0207e4b8 - .global data_ov00_020e23b4 -data_ov00_020e23b4: ; 0x020e23b4 - .word func_ov00_0207e970 - .global data_ov00_020e23b8 -data_ov00_020e23b8: ; 0x020e23b8 - .word func_ov00_0207ee14 - .global data_ov00_020e23bc -data_ov00_020e23bc: ; 0x020e23bc - .word func_ov00_0207eff4 - .global data_ov00_020e23c0 -data_ov00_020e23c0: ; 0x020e23c0 - .word func_ov00_0207f34c - .global data_ov00_020e23c4 -data_ov00_020e23c4: ; 0x020e23c4 - .word func_ov00_0207f354 - .global data_ov00_020e23c8 -data_ov00_020e23c8: ; 0x020e23c8 - .word func_ov00_0207f35c - .global data_ov00_020e23cc -data_ov00_020e23cc: ; 0x020e23cc - .word func_ov00_0207f364 - .global data_ov00_020e23d0 -data_ov00_020e23d0: ; 0x020e23d0 - .word func_ov00_0207f324 - .global data_ov00_020e23d4 -data_ov00_020e23d4: ; 0x020e23d4 - .word func_ov00_0207f32c - .global data_ov00_020e23d8 -data_ov00_020e23d8: ; 0x020e23d8 - .word func_ov00_0207f3c4 - .global data_ov00_020e23dc -data_ov00_020e23dc: ; 0x020e23dc - .word func_ov00_0207f4a0 - .global data_ov00_020e23e0 -data_ov00_020e23e0: ; 0x020e23e0 - .word func_ov00_02080d78 - .global data_ov00_020e23e4 -data_ov00_020e23e4: ; 0x020e23e4 - .word func_ov00_0207f334 - .global data_ov00_020e23e8 -data_ov00_020e23e8: ; 0x020e23e8 - .word func_ov00_0207f338 - .global data_ov00_020e23ec -data_ov00_020e23ec: ; 0x020e23ec - .word func_ov00_0207f33c - .global data_ov00_020e23f0 -data_ov00_020e23f0: ; 0x020e23f0 - .word func_ov00_0207f344 - .global data_ov00_020e23f4 -data_ov00_020e23f4: ; 0x020e23f4 - .word func_ov00_0207f348 - .global data_ov00_020e23f8 -data_ov00_020e23f8: ; 0x020e23f8 - .word func_ov00_0207e060 - .global data_ov00_020e23fc -data_ov00_020e23fc: ; 0x020e23fc - .word func_ov00_0207e444 - .global data_ov00_020e2400 -data_ov00_020e2400: ; 0x020e2400 - .word func_ov00_020807d4 - .global data_ov00_020e2404 -data_ov00_020e2404: ; 0x020e2404 - .word func_ov00_02080d74 - .global data_ov00_020e2408 -data_ov00_020e2408: ; 0x020e2408 - .word func_ov00_02080d7c - .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 - .global data_ov00_020e2424 -data_ov00_020e2424: ; 0x020e2424 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2428 -data_ov00_020e2428: ; 0x020e2428 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e242c -data_ov00_020e242c: ; 0x020e242c - .word func_ov00_020820bc - .global data_ov00_020e2430 -data_ov00_020e2430: ; 0x020e2430 - .word func_ov00_020820d0 - .global data_ov00_020e2434 -data_ov00_020e2434: ; 0x020e2434 - .word func_ov00_02082004 - .global data_ov00_020e2438 -data_ov00_020e2438: ; 0x020e2438 - .word func_ov00_0208200c - .global data_ov00_020e243c -data_ov00_020e243c: ; 0x020e243c - .word func_ov00_02082014 - .global data_ov00_020e2440 -data_ov00_020e2440: ; 0x020e2440 - .word func_ov00_02082084 - .global data_ov00_020e2444 -data_ov00_020e2444: ; 0x020e2444 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2448 -data_ov00_020e2448: ; 0x020e2448 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e244c -data_ov00_020e244c: ; 0x020e244c - .word func_ov00_0208208c - .global data_ov00_020e2450 -data_ov00_020e2450: ; 0x020e2450 - .word func_ov00_020820a0 - .global data_ov00_020e2454 -data_ov00_020e2454: ; 0x020e2454 - .word func_ov00_02081f70 - .global data_ov00_020e2458 -data_ov00_020e2458: ; 0x020e2458 - .word func_ov00_02081f78 - .global data_ov00_020e245c -data_ov00_020e245c: ; 0x020e245c - .word func_ov00_02081f80 - .global data_ov00_020e2460 -data_ov00_020e2460: ; 0x020e2460 - .word func_ov00_02081f50 - .global data_ov00_020e2464 -data_ov00_020e2464: ; 0x020e2464 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2468 -data_ov00_020e2468: ; 0x020e2468 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e246c -data_ov00_020e246c: ; 0x020e246c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2470 -data_ov00_020e2470: ; 0x020e2470 - .word func_ov00_02081f38 - .global data_ov00_020e2474 -data_ov00_020e2474: ; 0x020e2474 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2478 -data_ov00_020e2478: ; 0x020e2478 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e247c -data_ov00_020e247c: ; 0x020e247c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2480 -data_ov00_020e2480: ; 0x020e2480 - .word func_ov00_02081f50 - .global data_ov00_020e2484 -data_ov00_020e2484: ; 0x020e2484 - .ascii "brg" - .byte 0x00 - .global data_ov00_020e2488 -data_ov00_020e2488: ; 0x020e2488 - .ascii "fnl" - .byte 0x00 - .global data_ov00_020e248c -data_ov00_020e248c: ; 0x020e248c - .ascii "pdl" - .byte 0x00 - .global data_ov00_020e2490 -data_ov00_020e2490: ; 0x020e2490 - .ascii "dco" - .byte 0x00 - .global data_ov00_020e2494 -data_ov00_020e2494: ; 0x020e2494 - .ascii "can" - .byte 0x00 - .global data_ov00_020e2498 -data_ov00_020e2498: ; 0x020e2498 - .ascii "hul" - .byte 0x00 - .global data_ov00_020e249c -data_ov00_020e249c: ; 0x020e249c - .ascii "bow" - .byte 0x00 - .global data_ov00_020e24a0 -data_ov00_020e24a0: ; 0x020e24a0 - .ascii "anc" - .byte 0x00 - .global data_ov00_020e24a4 -data_ov00_020e24a4: ; 0x020e24a4 - .word data_ov00_020e24a0 - .global data_ov00_020e24a8 -data_ov00_020e24a8: ; 0x020e24a8 - .word data_ov00_020e249c - .global data_ov00_020e24ac -data_ov00_020e24ac: ; 0x020e24ac - .word data_ov00_020e2498 - .global data_ov00_020e24b0 -data_ov00_020e24b0: ; 0x020e24b0 - .word data_ov00_020e2494 - .global data_ov00_020e24b4 -data_ov00_020e24b4: ; 0x020e24b4 - .word data_ov00_020e2490 - .global data_ov00_020e24b8 -data_ov00_020e24b8: ; 0x020e24b8 - .word data_ov00_020e248c - .global data_ov00_020e24bc -data_ov00_020e24bc: ; 0x020e24bc - .word data_ov00_020e2488 - .global data_ov00_020e24c0 -data_ov00_020e24c0: ; 0x020e24c0 - .word data_ov00_020e2484 - .global data_ov00_020e24c4 -data_ov00_020e24c4: ; 0x020e24c4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24c8 -data_ov00_020e24c8: ; 0x020e24c8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24cc -data_ov00_020e24cc: ; 0x020e24cc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24d0 -data_ov00_020e24d0: ; 0x020e24d0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24d4 -data_ov00_020e24d4: ; 0x020e24d4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24d8 -data_ov00_020e24d8: ; 0x020e24d8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24dc -data_ov00_020e24dc: ; 0x020e24dc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24e0 -data_ov00_020e24e0: ; 0x020e24e0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24e4 -data_ov00_020e24e4: ; 0x020e24e4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24e8 -data_ov00_020e24e8: ; 0x020e24e8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24ec -data_ov00_020e24ec: ; 0x020e24ec - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24f0 -data_ov00_020e24f0: ; 0x020e24f0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24f4 -data_ov00_020e24f4: ; 0x020e24f4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24f8 -data_ov00_020e24f8: ; 0x020e24f8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24fc -data_ov00_020e24fc: ; 0x020e24fc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2500 -data_ov00_020e2500: ; 0x020e2500 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2504 -data_ov00_020e2504: ; 0x020e2504 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2508 -data_ov00_020e2508: ; 0x020e2508 - .word data_ov00_020e2520 - .global data_ov00_020e250c -data_ov00_020e250c: ; 0x020e250c - .word data_ov00_020e2524 - .global data_ov00_020e2510 -data_ov00_020e2510: ; 0x020e2510 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2514 -data_ov00_020e2514: ; 0x020e2514 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2518 -data_ov00_020e2518: ; 0x020e2518 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e251c -data_ov00_020e251c: ; 0x020e251c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2520 -data_ov00_020e2520: ; 0x020e2520 - .ascii "MCS" - .byte 0x00 - .global data_ov00_020e2524 -data_ov00_020e2524: ; 0x020e2524 - .ascii "MRC" - .byte 0x00 - .global data_ov00_020e2528 -data_ov00_020e2528: ; 0x020e2528 - .ascii "Map/%s/course.bin" - .byte 0x00, 0x00, 0x00 + .global data_ov00_020e253c data_ov00_020e253c: ; 0x020e253c .byte 0x00, 0x00, 0x00, 0x00 @@ -43055,10 +25556,10 @@ data_ov00_020e2fdc: ; 0x020e2fdc .word func_ov00_02095e40 .global data_ov00_020e2fe0 data_ov00_020e2fe0: ; 0x020e2fe0 - .word func_ov00_0207fe34 + .word _ZN11TriggerBase8vfunc_0cEv .global data_ov00_020e2fe4 data_ov00_020e2fe4: ; 0x020e2fe4 - .word func_ov00_02080ddc + .word _ZN11TriggerBase8vfunc_10Ev .global data_ov00_020e2fe8 data_ov00_020e2fe8: ; 0x020e2fe8 .word func_ov00_02095ec4 @@ -43106,13 +25607,13 @@ data_ov00_020e3020: ; 0x020e3020 .word func_ov00_02095778 .global data_ov00_020e3024 data_ov00_020e3024: ; 0x020e3024 - .word func_ov00_0207faa8 + .word _ZN11TriggerBase8vfunc_08Ev .global data_ov00_020e3028 data_ov00_020e3028: ; 0x020e3028 - .word func_ov00_0207fe34 + .word _ZN11TriggerBase8vfunc_0cEv .global data_ov00_020e302c data_ov00_020e302c: ; 0x020e302c - .word func_ov00_02080ddc + .word _ZN11TriggerBase8vfunc_10Ev .global data_ov00_020e3030 data_ov00_020e3030: ; 0x020e3030 .word func_ov00_02095eb4 @@ -43133,13 +25634,13 @@ data_ov00_020e3044: ; 0x020e3044 .word func_ov00_0209561c .global data_ov00_020e3048 data_ov00_020e3048: ; 0x020e3048 - .word func_ov00_0207faa8 + .word _ZN11TriggerBase8vfunc_08Ev .global data_ov00_020e304c data_ov00_020e304c: ; 0x020e304c - .word func_ov00_0207fe34 + .word _ZN11TriggerBase8vfunc_0cEv .global data_ov00_020e3050 data_ov00_020e3050: ; 0x020e3050 - .word func_ov00_02080ddc + .word _ZN11TriggerBase8vfunc_10Ev .global data_ov00_020e3054 data_ov00_020e3054: ; 0x020e3054 .word func_ov00_02095ec4 @@ -43160,19 +25661,19 @@ data_ov00_020e3068: ; 0x020e3068 .word func_ov00_02095488 .global data_ov00_020e306c data_ov00_020e306c: ; 0x020e306c - .word func_ov00_0207faa8 + .word _ZN11TriggerBase8vfunc_08Ev .global data_ov00_020e3070 data_ov00_020e3070: ; 0x020e3070 - .word func_ov00_0207fe34 + .word _ZN11TriggerBase8vfunc_0cEv .global data_ov00_020e3074 data_ov00_020e3074: ; 0x020e3074 - .word func_ov00_02080ddc + .word _ZN11TriggerBase8vfunc_10Ev .global data_ov00_020e3078 data_ov00_020e3078: ; 0x020e3078 - .word func_ov00_0207fc90 + .word _ZN11TriggerBase8OverlapsEv .global data_ov00_020e307c data_ov00_020e307c: ; 0x020e307c - .word func_ov00_0207fb5c + .word _ZN11TriggerBase14GetBoundingBoxEv .global data_ov00_020e3080 data_ov00_020e3080: ; 0x020e3080 .ascii "brg" @@ -43295,4848 +25796,7 @@ data_ov00_020e3104: ; 0x020e3104 data_ov00_020e3108: ; 0x020e3108 .word data_ov00_020e30cc - .bss - .global data_ov00_020e9368 -data_ov00_020e9368: - .space 0x4 - .global data_ov00_020e936c -data_ov00_020e936c: - .space 0x4 - .global data_ov00_020e9370 -data_ov00_020e9370: - .space 0x4 - .global data_ov00_020e9374 -data_ov00_020e9374: - .space 0x4 - .global data_ov00_020e9378 -data_ov00_020e9378: - .space 0x4 - .global data_ov00_020e937c -data_ov00_020e937c: - .space 0x4 - .global data_ov00_020e9380 -data_ov00_020e9380: - .space 0x4 - .global data_ov00_020e9384 -data_ov00_020e9384: - .space 0x4 - .global data_ov00_020e9388 -data_ov00_020e9388: - .space 0x4 - .global data_ov00_020e938c -data_ov00_020e938c: - .space 0x4 - .global data_ov00_020e9390 -data_ov00_020e9390: - .space 0x4 - .global data_ov00_020e9394 -data_ov00_020e9394: - .space 0x4 - .global data_ov00_020e9398 -data_ov00_020e9398: - .space 0x4 - .global data_ov00_020e939c -data_ov00_020e939c: - .space 0x4 - .global data_ov00_020e93a0 -data_ov00_020e93a0: - .space 0x4 - .global data_ov00_020e93a4 -data_ov00_020e93a4: - .space 0x4 - .global data_ov00_020e93a8 -data_ov00_020e93a8: - .space 0x4 - .global data_ov00_020e93ac -data_ov00_020e93ac: - .space 0x4 - .global data_ov00_020e93b0 -data_ov00_020e93b0: - .space 0x4 - .global data_ov00_020e93b4 -data_ov00_020e93b4: - .space 0x4 - .global data_ov00_020e93b8 -data_ov00_020e93b8: - .space 0x4 - .global data_ov00_020e93bc -data_ov00_020e93bc: - .space 0x4 - .global data_ov00_020e93c0 -data_ov00_020e93c0: - .space 0x4 - .global data_ov00_020e93c4 -data_ov00_020e93c4: - .space 0x4 - .global data_ov00_020e93c8 -data_ov00_020e93c8: - .space 0x4 - .global data_ov00_020e93cc -data_ov00_020e93cc: - .space 0x4 - .global data_ov00_020e93d0 -data_ov00_020e93d0: - .space 0x4 - .global data_ov00_020e93d4 -data_ov00_020e93d4: - .space 0x4 - .global data_ov00_020e93d8 -data_ov00_020e93d8: - .space 0x4 - .global data_ov00_020e93dc -data_ov00_020e93dc: - .space 0x4 - .global data_ov00_020e93e0 -data_ov00_020e93e0: - .space 0x4 - .global data_ov00_020e93e4 -data_ov00_020e93e4: - .space 0x4 - .global data_ov00_020e93e8 -data_ov00_020e93e8: - .space 0x4 - .global data_ov00_020e93ec -data_ov00_020e93ec: - .space 0x4 - .global data_ov00_020e93f0 -data_ov00_020e93f0: - .space 0x4 - .global data_ov00_020e93f4 -data_ov00_020e93f4: - .space 0x4 - .global data_ov00_020e93f8 -data_ov00_020e93f8: - .space 0x4 - .global data_ov00_020e93fc -data_ov00_020e93fc: - .space 0x4 - .global data_ov00_020e9400 -data_ov00_020e9400: - .space 0x4 - .global data_ov00_020e9404 -data_ov00_020e9404: - .space 0x4 - .global data_ov00_020e9408 -data_ov00_020e9408: - .space 0x4 - .global data_ov00_020e940c -data_ov00_020e940c: - .space 0x4 - .global data_ov00_020e9410 -data_ov00_020e9410: - .space 0x4 - .global data_ov00_020e9414 -data_ov00_020e9414: - .space 0x4 - .global data_ov00_020e9418 -data_ov00_020e9418: - .space 0x4 - .global data_ov00_020e941c -data_ov00_020e941c: - .space 0x4 - .global data_ov00_020e9420 -data_ov00_020e9420: - .space 0x4 - .global data_ov00_020e9424 -data_ov00_020e9424: - .space 0x4 - .global data_ov00_020e9428 -data_ov00_020e9428: - .space 0x4 - .global data_ov00_020e942c -data_ov00_020e942c: - .space 0x4 - .global data_ov00_020e9430 -data_ov00_020e9430: - .space 0x4 - .global data_ov00_020e9434 -data_ov00_020e9434: - .space 0x4 - .global data_ov00_020e9438 -data_ov00_020e9438: - .space 0x4 - .global data_ov00_020e943c -data_ov00_020e943c: - .space 0x4 - .global data_ov00_020e9440 -data_ov00_020e9440: - .space 0x4 - .global data_ov00_020e9444 -data_ov00_020e9444: - .space 0x4 - .global data_ov00_020e9448 -data_ov00_020e9448: - .space 0x4 - .global data_ov00_020e944c -data_ov00_020e944c: - .space 0x4 - .global data_ov00_020e9450 -data_ov00_020e9450: - .space 0x4 - .global data_ov00_020e9454 -data_ov00_020e9454: - .space 0x4 - .global data_ov00_020e9458 -data_ov00_020e9458: - .space 0x4 - .global data_ov00_020e945c -data_ov00_020e945c: - .space 0x4 - .global data_ov00_020e9460 -data_ov00_020e9460: - .space 0x4 - .global data_ov00_020e9464 -data_ov00_020e9464: - .space 0x4 - .global data_ov00_020e9468 -data_ov00_020e9468: - .space 0x4 - .global data_ov00_020e946c -data_ov00_020e946c: - .space 0x4 - .global data_ov00_020e9470 -data_ov00_020e9470: - .space 0x4 - .global data_ov00_020e9474 -data_ov00_020e9474: - .space 0x4 - .global data_ov00_020e9478 -data_ov00_020e9478: - .space 0x4 - .global data_ov00_020e947c -data_ov00_020e947c: - .space 0x4 - .global data_ov00_020e9480 -data_ov00_020e9480: - .space 0x4 - .global data_ov00_020e9484 -data_ov00_020e9484: - .space 0x4 - .global data_ov00_020e9488 -data_ov00_020e9488: - .space 0x4 - .global data_ov00_020e948c -data_ov00_020e948c: - .space 0x4 - .global data_ov00_020e9490 -data_ov00_020e9490: - .space 0x4 - .global data_ov00_020e9494 -data_ov00_020e9494: - .space 0x4 - .global data_ov00_020e9498 -data_ov00_020e9498: - .space 0x4 - .global data_ov00_020e949c -data_ov00_020e949c: - .space 0x4 - .global data_ov00_020e94a0 -data_ov00_020e94a0: - .space 0x4 - .global data_ov00_020e94a4 -data_ov00_020e94a4: - .space 0x4 - .global data_ov00_020e94a8 -data_ov00_020e94a8: - .space 0x4 - .global data_ov00_020e94ac -data_ov00_020e94ac: - .space 0x4 - .global data_ov00_020e94b0 -data_ov00_020e94b0: - .space 0x4 - .global data_ov00_020e94b4 -data_ov00_020e94b4: - .space 0x4 - .global data_ov00_020e94b8 -data_ov00_020e94b8: - .space 0x4 - .global data_ov00_020e94bc -data_ov00_020e94bc: - .space 0x4 - .global data_ov00_020e94c0 -data_ov00_020e94c0: - .space 0x4 - .global data_ov00_020e94c4 -data_ov00_020e94c4: - .space 0x4 - .global data_ov00_020e94c8 -data_ov00_020e94c8: - .space 0x4 - .global data_ov00_020e94cc -data_ov00_020e94cc: - .space 0x4 - .global data_ov00_020e94d0 -data_ov00_020e94d0: - .space 0x4 - .global data_ov00_020e94d4 -data_ov00_020e94d4: - .space 0x4 - .global data_ov00_020e94d8 -data_ov00_020e94d8: - .space 0x4 - .global data_ov00_020e94dc -data_ov00_020e94dc: - .space 0x4 - .global data_ov00_020e94e0 -data_ov00_020e94e0: - .space 0x4 - .global data_ov00_020e94e4 -data_ov00_020e94e4: - .space 0x4 - .global data_ov00_020e94e8 -data_ov00_020e94e8: - .space 0x4 - .global data_ov00_020e94ec -data_ov00_020e94ec: - .space 0x4 - .global data_ov00_020e94f0 -data_ov00_020e94f0: - .space 0x4 - .global data_ov00_020e94f4 -data_ov00_020e94f4: - .space 0x4 - .global data_ov00_020e94f8 -data_ov00_020e94f8: - .space 0x4 - .global data_ov00_020e94fc -data_ov00_020e94fc: - .space 0x4 - .global data_ov00_020e9500 -data_ov00_020e9500: - .space 0x4 - .global data_ov00_020e9504 -data_ov00_020e9504: - .space 0x4 - .global data_ov00_020e9508 -data_ov00_020e9508: - .space 0x4 - .global data_ov00_020e950c -data_ov00_020e950c: - .space 0x4 - .global data_ov00_020e9510 -data_ov00_020e9510: - .space 0x4 - .global data_ov00_020e9514 -data_ov00_020e9514: - .space 0x4 - .global data_ov00_020e9518 -data_ov00_020e9518: - .space 0x4 - .global data_ov00_020e951c -data_ov00_020e951c: - .space 0x4 - .global data_ov00_020e9520 -data_ov00_020e9520: - .space 0x4 - .global data_ov00_020e9524 -data_ov00_020e9524: - .space 0x4 - .global data_ov00_020e9528 -data_ov00_020e9528: - .space 0x4 - .global data_ov00_020e952c -data_ov00_020e952c: - .space 0x4 - .global data_ov00_020e9530 -data_ov00_020e9530: - .space 0x4 - .global data_ov00_020e9534 -data_ov00_020e9534: - .space 0x4 - .global data_ov00_020e9538 -data_ov00_020e9538: - .space 0x4 - .global data_ov00_020e953c -data_ov00_020e953c: - .space 0x4 - .global data_ov00_020e9540 -data_ov00_020e9540: - .space 0x4 - .global data_ov00_020e9544 -data_ov00_020e9544: - .space 0x4 - .global data_ov00_020e9548 -data_ov00_020e9548: - .space 0x4 - .global data_ov00_020e954c -data_ov00_020e954c: - .space 0x4 - .global data_ov00_020e9550 -data_ov00_020e9550: - .space 0x4 - .global data_ov00_020e9554 -data_ov00_020e9554: - .space 0x4 - .global data_ov00_020e9558 -data_ov00_020e9558: - .space 0x4 - .global data_ov00_020e955c -data_ov00_020e955c: - .space 0x4 - .global data_ov00_020e9560 -data_ov00_020e9560: - .space 0x4 - .global data_ov00_020e9564 -data_ov00_020e9564: - .space 0x4 - .global data_ov00_020e9568 -data_ov00_020e9568: - .space 0x4 - .global data_ov00_020e956c -data_ov00_020e956c: - .space 0x4 - .global data_ov00_020e9570 -data_ov00_020e9570: - .space 0x4 - .global data_ov00_020e9574 -data_ov00_020e9574: - .space 0x4 - .global data_ov00_020e9578 -data_ov00_020e9578: - .space 0x4 - .global data_ov00_020e957c -data_ov00_020e957c: - .space 0x4 - .global data_ov00_020e9580 -data_ov00_020e9580: - .space 0x4 - .global data_ov00_020e9584 -data_ov00_020e9584: - .space 0x4 - .global data_ov00_020e9588 -data_ov00_020e9588: - .space 0x4 - .global data_ov00_020e958c -data_ov00_020e958c: - .space 0x4 - .global data_ov00_020e9590 -data_ov00_020e9590: - .space 0x4 - .global data_ov00_020e9594 -data_ov00_020e9594: - .space 0x4 - .global data_ov00_020e9598 -data_ov00_020e9598: - .space 0x4 - .global data_ov00_020e959c -data_ov00_020e959c: - .space 0x4 - .global data_ov00_020e95a0 -data_ov00_020e95a0: - .space 0x4 - .global data_ov00_020e95a4 -data_ov00_020e95a4: - .space 0x4 - .global data_ov00_020e95a8 -data_ov00_020e95a8: - .space 0x4 - .global data_ov00_020e95ac -data_ov00_020e95ac: - .space 0x4 - .global data_ov00_020e95b0 -data_ov00_020e95b0: - .space 0x4 - .global data_ov00_020e95b4 -data_ov00_020e95b4: - .space 0x4 - .global data_ov00_020e95b8 -data_ov00_020e95b8: - .space 0x4 - .global data_ov00_020e95bc -data_ov00_020e95bc: - .space 0x4 - .global data_ov00_020e95c0 -data_ov00_020e95c0: - .space 0x4 - .global data_ov00_020e95c4 -data_ov00_020e95c4: - .space 0x4 - .global data_ov00_020e95c8 -data_ov00_020e95c8: - .space 0x4 - .global data_ov00_020e95cc -data_ov00_020e95cc: - .space 0x4 - .global data_ov00_020e95d0 -data_ov00_020e95d0: - .space 0x4 - .global data_ov00_020e95d4 -data_ov00_020e95d4: - .space 0x4 - .global data_ov00_020e95d8 -data_ov00_020e95d8: - .space 0x4 - .global data_ov00_020e95dc -data_ov00_020e95dc: - .space 0x4 - .global data_ov00_020e95e0 -data_ov00_020e95e0: - .space 0x4 - .global data_ov00_020e95e4 -data_ov00_020e95e4: - .space 0x4 - .global data_ov00_020e95e8 -data_ov00_020e95e8: - .space 0x4 - .global data_ov00_020e95ec -data_ov00_020e95ec: - .space 0x4 - .global data_ov00_020e95f0 -data_ov00_020e95f0: - .space 0x4 - .global data_ov00_020e95f4 -data_ov00_020e95f4: - .space 0x4 - .global data_ov00_020e95f8 -data_ov00_020e95f8: - .space 0x4 - .global data_ov00_020e95fc -data_ov00_020e95fc: - .space 0x4 - .global data_ov00_020e9600 -data_ov00_020e9600: - .space 0x4 - .global data_ov00_020e9604 -data_ov00_020e9604: - .space 0x4 - .global data_ov00_020e9608 -data_ov00_020e9608: - .space 0x4 - .global data_ov00_020e960c -data_ov00_020e960c: - .space 0x4 - .global data_ov00_020e9610 -data_ov00_020e9610: - .space 0x4 - .global data_ov00_020e9614 -data_ov00_020e9614: - .space 0x4 - .global data_ov00_020e9618 -data_ov00_020e9618: - .space 0x4 - .global data_ov00_020e961c -data_ov00_020e961c: - .space 0x4 - .global data_ov00_020e9620 -data_ov00_020e9620: - .space 0x4 - .global data_ov00_020e9624 -data_ov00_020e9624: - .space 0x4 - .global data_ov00_020e9628 -data_ov00_020e9628: - .space 0x4 - .global data_ov00_020e962c -data_ov00_020e962c: - .space 0x4 - .global data_ov00_020e9630 -data_ov00_020e9630: - .space 0x4 - .global data_ov00_020e9634 -data_ov00_020e9634: - .space 0x4 - .global data_ov00_020e9638 -data_ov00_020e9638: - .space 0x4 - .global data_ov00_020e963c -data_ov00_020e963c: - .space 0x4 - .global data_ov00_020e9640 -data_ov00_020e9640: - .space 0x4 - .global data_ov00_020e9644 -data_ov00_020e9644: - .space 0x4 - .global data_ov00_020e9648 -data_ov00_020e9648: - .space 0x4 - .global data_ov00_020e964c -data_ov00_020e964c: - .space 0x4 - .global data_ov00_020e9650 -data_ov00_020e9650: - .space 0x4 - .global data_ov00_020e9654 -data_ov00_020e9654: - .space 0x4 - .global data_ov00_020e9658 -data_ov00_020e9658: - .space 0x4 - .global data_ov00_020e965c -data_ov00_020e965c: - .space 0x4 - .global data_ov00_020e9660 -data_ov00_020e9660: - .space 0x4 - .global data_ov00_020e9664 -data_ov00_020e9664: - .space 0x4 - .global data_ov00_020e9668 -data_ov00_020e9668: - .space 0x4 - .global data_ov00_020e966c -data_ov00_020e966c: - .space 0x4 - .global data_ov00_020e9670 -data_ov00_020e9670: - .space 0x4 - .global data_ov00_020e9674 -data_ov00_020e9674: - .space 0x4 - .global data_ov00_020e9678 -data_ov00_020e9678: - .space 0x4 - .global data_ov00_020e967c -data_ov00_020e967c: - .space 0x4 - .global data_ov00_020e9680 -data_ov00_020e9680: - .space 0x4 - .global data_ov00_020e9684 -data_ov00_020e9684: - .space 0x4 - .global data_ov00_020e9688 -data_ov00_020e9688: - .space 0x4 - .global data_ov00_020e968c -data_ov00_020e968c: - .space 0x4 - .global data_ov00_020e9690 -data_ov00_020e9690: - .space 0x4 - .global data_ov00_020e9694 -data_ov00_020e9694: - .space 0x4 - .global data_ov00_020e9698 -data_ov00_020e9698: - .space 0x4 - .global data_ov00_020e969c -data_ov00_020e969c: - .space 0x4 - .global data_ov00_020e96a0 -data_ov00_020e96a0: - .space 0x4 - .global data_ov00_020e96a4 -data_ov00_020e96a4: - .space 0x4 - .global data_ov00_020e96a8 -data_ov00_020e96a8: - .space 0x4 - .global data_ov00_020e96ac -data_ov00_020e96ac: - .space 0x4 - .global data_ov00_020e96b0 -data_ov00_020e96b0: - .space 0x4 - .global data_ov00_020e96b4 -data_ov00_020e96b4: - .space 0x4 - .global data_ov00_020e96b8 -data_ov00_020e96b8: - .space 0x4 - .global data_ov00_020e96bc -data_ov00_020e96bc: - .space 0x4 - .global data_ov00_020e96c0 -data_ov00_020e96c0: - .space 0x4 - .global data_ov00_020e96c4 -data_ov00_020e96c4: - .space 0x4 - .global data_ov00_020e96c8 -data_ov00_020e96c8: - .space 0x4 - .global data_ov00_020e96cc -data_ov00_020e96cc: - .space 0x4 - .global data_ov00_020e96d0 -data_ov00_020e96d0: - .space 0x4 - .global data_ov00_020e96d4 -data_ov00_020e96d4: - .space 0x4 - .global data_ov00_020e96d8 -data_ov00_020e96d8: - .space 0x4 - .global data_ov00_020e96dc -data_ov00_020e96dc: - .space 0x4 - .global data_ov00_020e96e0 -data_ov00_020e96e0: - .space 0x4 - .global data_ov00_020e96e4 -data_ov00_020e96e4: - .space 0x4 - .global data_ov00_020e96e8 -data_ov00_020e96e8: - .space 0x4 - .global data_ov00_020e96ec -data_ov00_020e96ec: - .space 0x4 - .global data_ov00_020e96f0 -data_ov00_020e96f0: - .space 0x4 - .global data_ov00_020e96f4 -data_ov00_020e96f4: - .space 0x4 - .global data_ov00_020e96f8 -data_ov00_020e96f8: - .space 0x4 - .global data_ov00_020e96fc -data_ov00_020e96fc: - .space 0x4 - .global data_ov00_020e9700 -data_ov00_020e9700: - .space 0x4 - .global data_ov00_020e9704 -data_ov00_020e9704: - .space 0x4 - .global data_ov00_020e9708 -data_ov00_020e9708: - .space 0x4 - .global data_ov00_020e970c -data_ov00_020e970c: - .space 0x4 - .global data_ov00_020e9710 -data_ov00_020e9710: - .space 0x4 - .global data_ov00_020e9714 -data_ov00_020e9714: - .space 0x4 - .global data_ov00_020e9718 -data_ov00_020e9718: - .space 0x4 - .global data_ov00_020e971c -data_ov00_020e971c: - .space 0x4 - .global data_ov00_020e9720 -data_ov00_020e9720: - .space 0x4 - .global data_ov00_020e9724 -data_ov00_020e9724: - .space 0x4 - .global data_ov00_020e9728 -data_ov00_020e9728: - .space 0x4 - .global data_ov00_020e972c -data_ov00_020e972c: - .space 0x4 - .global data_ov00_020e9730 -data_ov00_020e9730: - .space 0x4 - .global data_ov00_020e9734 -data_ov00_020e9734: - .space 0x4 - .global data_ov00_020e9738 -data_ov00_020e9738: - .space 0x4 - .global data_ov00_020e973c -data_ov00_020e973c: - .space 0x4 - .global data_ov00_020e9740 -data_ov00_020e9740: - .space 0x4 - .global data_ov00_020e9744 -data_ov00_020e9744: - .space 0x4 - .global data_ov00_020e9748 -data_ov00_020e9748: - .space 0x4 - .global data_ov00_020e974c -data_ov00_020e974c: - .space 0x4 - .global data_ov00_020e9750 -data_ov00_020e9750: - .space 0x4 - .global data_ov00_020e9754 -data_ov00_020e9754: - .space 0x4 - .global data_ov00_020e9758 -data_ov00_020e9758: - .space 0x4 - .global data_ov00_020e975c -data_ov00_020e975c: - .space 0x4 - .global data_ov00_020e9760 -data_ov00_020e9760: - .space 0x4 - .global data_ov00_020e9764 -data_ov00_020e9764: - .space 0x4 - .global data_ov00_020e9768 -data_ov00_020e9768: - .space 0x4 - .global data_ov00_020e976c -data_ov00_020e976c: - .space 0x4 - .global data_ov00_020e9770 -data_ov00_020e9770: - .space 0x4 - .global data_ov00_020e9774 -data_ov00_020e9774: - .space 0x4 - .global data_ov00_020e9778 -data_ov00_020e9778: - .space 0x4 - .global data_ov00_020e977c -data_ov00_020e977c: - .space 0x4 - .global data_ov00_020e9780 -data_ov00_020e9780: - .space 0x4 - .global data_ov00_020e9784 -data_ov00_020e9784: - .space 0x4 - .global data_ov00_020e9788 -data_ov00_020e9788: - .space 0x4 - .global data_ov00_020e978c -data_ov00_020e978c: - .space 0x4 - .global data_ov00_020e9790 -data_ov00_020e9790: - .space 0x4 - .global data_ov00_020e9794 -data_ov00_020e9794: - .space 0x4 - .global data_ov00_020e9798 -data_ov00_020e9798: - .space 0x4 - .global data_ov00_020e979c -data_ov00_020e979c: - .space 0x4 - .global data_ov00_020e97a0 -data_ov00_020e97a0: - .space 0x4 - .global data_ov00_020e97a4 -data_ov00_020e97a4: - .space 0x4 - .global data_ov00_020e97a8 -data_ov00_020e97a8: - .space 0x4 - .global data_ov00_020e97ac -data_ov00_020e97ac: - .space 0x4 - .global data_ov00_020e97b0 -data_ov00_020e97b0: - .space 0x4 - .global data_ov00_020e97b4 -data_ov00_020e97b4: - .space 0x4 - .global data_ov00_020e97b8 -data_ov00_020e97b8: - .space 0x4 - .global data_ov00_020e97bc -data_ov00_020e97bc: - .space 0x4 - .global data_ov00_020e97c0 -data_ov00_020e97c0: - .space 0x4 - .global data_ov00_020e97c4 -data_ov00_020e97c4: - .space 0x4 - .global data_ov00_020e97c8 -data_ov00_020e97c8: - .space 0x4 - .global data_ov00_020e97cc -data_ov00_020e97cc: - .space 0x4 - .global data_ov00_020e97d0 -data_ov00_020e97d0: - .space 0x4 - .global data_ov00_020e97d4 -data_ov00_020e97d4: - .space 0x4 - .global data_ov00_020e97d8 -data_ov00_020e97d8: - .space 0x4 - .global data_ov00_020e97dc -data_ov00_020e97dc: - .space 0x4 - .global data_ov00_020e97e0 -data_ov00_020e97e0: - .space 0x4 - .global data_ov00_020e97e4 -data_ov00_020e97e4: - .space 0x4 - .global data_ov00_020e97e8 -data_ov00_020e97e8: - .space 0x4 - .global data_ov00_020e97ec -data_ov00_020e97ec: - .space 0x4 - .global data_ov00_020e97f0 -data_ov00_020e97f0: - .space 0x4 - .global data_ov00_020e97f4 -data_ov00_020e97f4: - .space 0x4 - .global data_ov00_020e97f8 -data_ov00_020e97f8: - .space 0x4 - .global data_ov00_020e97fc -data_ov00_020e97fc: - .space 0x4 - .global data_ov00_020e9800 -data_ov00_020e9800: - .space 0x4 - .global data_ov00_020e9804 -data_ov00_020e9804: - .space 0x4 - .global data_ov00_020e9808 -data_ov00_020e9808: - .space 0x4 - .global data_ov00_020e980c -data_ov00_020e980c: - .space 0x4 - .global data_ov00_020e9810 -data_ov00_020e9810: - .space 0x4 - .global data_ov00_020e9814 -data_ov00_020e9814: - .space 0x4 - .global data_ov00_020e9818 -data_ov00_020e9818: - .space 0x4 - .global data_ov00_020e981c -data_ov00_020e981c: - .space 0x4 - .global data_ov00_020e9820 -data_ov00_020e9820: - .space 0x4 - .global data_ov00_020e9824 -data_ov00_020e9824: - .space 0x4 - .global data_ov00_020e9828 -data_ov00_020e9828: - .space 0x4 - .global data_ov00_020e982c -data_ov00_020e982c: - .space 0x4 - .global data_ov00_020e9830 -data_ov00_020e9830: - .space 0x4 - .global data_ov00_020e9834 -data_ov00_020e9834: - .space 0x4 - .global data_ov00_020e9838 -data_ov00_020e9838: - .space 0x4 - .global data_ov00_020e983c -data_ov00_020e983c: - .space 0x4 - .global data_ov00_020e9840 -data_ov00_020e9840: - .space 0x4 - .global data_ov00_020e9844 -data_ov00_020e9844: - .space 0x4 - .global data_ov00_020e9848 -data_ov00_020e9848: - .space 0x4 - .global data_ov00_020e984c -data_ov00_020e984c: - .space 0x4 - .global data_ov00_020e9850 -data_ov00_020e9850: - .space 0x4 - .global data_ov00_020e9854 -data_ov00_020e9854: - .space 0x4 - .global data_ov00_020e9858 -data_ov00_020e9858: - .space 0x4 - .global data_ov00_020e985c -data_ov00_020e985c: - .space 0x4 - .global data_ov00_020e9860 -data_ov00_020e9860: - .space 0x4 - .global data_ov00_020e9864 -data_ov00_020e9864: - .space 0x4 - .global data_ov00_020e9868 -data_ov00_020e9868: - .space 0x4 - .global data_ov00_020e986c -data_ov00_020e986c: - .space 0x4 - .global data_ov00_020e9870 -data_ov00_020e9870: - .space 0x4 - .global data_ov00_020e9874 -data_ov00_020e9874: - .space 0x4 - .global data_ov00_020e9878 -data_ov00_020e9878: - .space 0x4 - .global data_ov00_020e987c -data_ov00_020e987c: - .space 0x4 - .global data_ov00_020e9880 -data_ov00_020e9880: - .space 0x4 - .global data_ov00_020e9884 -data_ov00_020e9884: - .space 0x4 - .global data_ov00_020e9888 -data_ov00_020e9888: - .space 0x4 - .global data_ov00_020e988c -data_ov00_020e988c: - .space 0x4 - .global data_ov00_020e9890 -data_ov00_020e9890: - .space 0x4 - .global data_ov00_020e9894 -data_ov00_020e9894: - .space 0x4 - .global data_ov00_020e9898 -data_ov00_020e9898: - .space 0x4 - .global data_ov00_020e989c -data_ov00_020e989c: - .space 0x4 - .global data_ov00_020e98a0 -data_ov00_020e98a0: - .space 0x4 - .global data_ov00_020e98a4 -data_ov00_020e98a4: - .space 0x4 - .global data_ov00_020e98a8 -data_ov00_020e98a8: - .space 0x4 - .global data_ov00_020e98ac -data_ov00_020e98ac: - .space 0x4 - .global data_ov00_020e98b0 -data_ov00_020e98b0: - .space 0x4 - .global data_ov00_020e98b4 -data_ov00_020e98b4: - .space 0x4 - .global data_ov00_020e98b8 -data_ov00_020e98b8: - .space 0x4 - .global data_ov00_020e98bc -data_ov00_020e98bc: - .space 0x4 - .global data_ov00_020e98c0 -data_ov00_020e98c0: - .space 0x4 - .global data_ov00_020e98c4 -data_ov00_020e98c4: - .space 0x4 - .global data_ov00_020e98c8 -data_ov00_020e98c8: - .space 0x4 - .global data_ov00_020e98cc -data_ov00_020e98cc: - .space 0x4 - .global data_ov00_020e98d0 -data_ov00_020e98d0: - .space 0x4 - .global data_ov00_020e98d4 -data_ov00_020e98d4: - .space 0x4 - .global data_ov00_020e98d8 -data_ov00_020e98d8: - .space 0x4 - .global data_ov00_020e98dc -data_ov00_020e98dc: - .space 0x4 - .global data_ov00_020e98e0 -data_ov00_020e98e0: - .space 0x4 - .global data_ov00_020e98e4 -data_ov00_020e98e4: - .space 0x4 - .global data_ov00_020e98e8 -data_ov00_020e98e8: - .space 0x4 - .global data_ov00_020e98ec -data_ov00_020e98ec: - .space 0x4 - .global data_ov00_020e98f0 -data_ov00_020e98f0: - .space 0x4 - .global data_ov00_020e98f4 -data_ov00_020e98f4: - .space 0x4 - .global data_ov00_020e98f8 -data_ov00_020e98f8: - .space 0x4 - .global data_ov00_020e98fc -data_ov00_020e98fc: - .space 0x4 - .global data_ov00_020e9900 -data_ov00_020e9900: - .space 0x4 - .global data_ov00_020e9904 -data_ov00_020e9904: - .space 0x4 - .global data_ov00_020e9908 -data_ov00_020e9908: - .space 0x4 - .global data_ov00_020e990c -data_ov00_020e990c: - .space 0x4 - .global data_ov00_020e9910 -data_ov00_020e9910: - .space 0x4 - .global data_ov00_020e9914 -data_ov00_020e9914: - .space 0x4 - .global data_ov00_020e9918 -data_ov00_020e9918: - .space 0x4 - .global data_ov00_020e991c -data_ov00_020e991c: - .space 0x4 - .global data_ov00_020e9920 -data_ov00_020e9920: - .space 0x4 - .global data_ov00_020e9924 -data_ov00_020e9924: - .space 0x4 - .global data_ov00_020e9928 -data_ov00_020e9928: - .space 0x4 - .global data_ov00_020e992c -data_ov00_020e992c: - .space 0x4 - .global data_ov00_020e9930 -data_ov00_020e9930: - .space 0x4 - .global data_ov00_020e9934 -data_ov00_020e9934: - .space 0x4 - .global data_ov00_020e9938 -data_ov00_020e9938: - .space 0x4 - .global data_ov00_020e993c -data_ov00_020e993c: - .space 0x4 - .global data_ov00_020e9940 -data_ov00_020e9940: - .space 0x4 - .global data_ov00_020e9944 -data_ov00_020e9944: - .space 0x4 - .global data_ov00_020e9948 -data_ov00_020e9948: - .space 0x4 - .global data_ov00_020e994c -data_ov00_020e994c: - .space 0x4 - .global data_ov00_020e9950 -data_ov00_020e9950: - .space 0x4 - .global data_ov00_020e9954 -data_ov00_020e9954: - .space 0x4 - .global data_ov00_020e9958 -data_ov00_020e9958: - .space 0x4 - .global data_ov00_020e995c -data_ov00_020e995c: - .space 0x4 - .global data_ov00_020e9960 -data_ov00_020e9960: - .space 0x4 - .global data_ov00_020e9964 -data_ov00_020e9964: - .space 0x4 - .global data_ov00_020e9968 -data_ov00_020e9968: - .space 0x4 - .global data_ov00_020e996c -data_ov00_020e996c: - .space 0x4 - .global data_ov00_020e9970 -data_ov00_020e9970: - .space 0x4 - .global data_ov00_020e9974 -data_ov00_020e9974: - .space 0x4 - .global data_ov00_020e9978 -data_ov00_020e9978: - .space 0x4 - .global data_ov00_020e997c -data_ov00_020e997c: - .space 0x4 - .global data_ov00_020e9980 -data_ov00_020e9980: - .space 0x4 - .global data_ov00_020e9984 -data_ov00_020e9984: - .space 0x4 - .global data_ov00_020e9988 -data_ov00_020e9988: - .space 0x4 - .global data_ov00_020e998c -data_ov00_020e998c: - .space 0x4 - .global data_ov00_020e9990 -data_ov00_020e9990: - .space 0x4 - .global data_ov00_020e9994 -data_ov00_020e9994: - .space 0x4 - .global data_ov00_020e9998 -data_ov00_020e9998: - .space 0x4 - .global data_ov00_020e999c -data_ov00_020e999c: - .space 0x4 - .global data_ov00_020e99a0 -data_ov00_020e99a0: - .space 0x4 - .global data_ov00_020e99a4 -data_ov00_020e99a4: - .space 0x4 - .global data_ov00_020e99a8 -data_ov00_020e99a8: - .space 0x4 - .global data_ov00_020e99ac -data_ov00_020e99ac: - .space 0x4 - .global data_ov00_020e99b0 -data_ov00_020e99b0: - .space 0x4 - .global data_ov00_020e99b4 -data_ov00_020e99b4: - .space 0x4 - .global data_ov00_020e99b8 -data_ov00_020e99b8: - .space 0x4 - .global data_ov00_020e99bc -data_ov00_020e99bc: - .space 0x4 - .global data_ov00_020e99c0 -data_ov00_020e99c0: - .space 0x4 - .global data_ov00_020e99c4 -data_ov00_020e99c4: - .space 0x4 - .global data_ov00_020e99c8 -data_ov00_020e99c8: - .space 0x4 - .global data_ov00_020e99cc -data_ov00_020e99cc: - .space 0x4 - .global data_ov00_020e99d0 -data_ov00_020e99d0: - .space 0x4 - .global data_ov00_020e99d4 -data_ov00_020e99d4: - .space 0x4 - .global data_ov00_020e99d8 -data_ov00_020e99d8: - .space 0x4 - .global data_ov00_020e99dc -data_ov00_020e99dc: - .space 0x4 - .global data_ov00_020e99e0 -data_ov00_020e99e0: - .space 0x4 - .global data_ov00_020e99e4 -data_ov00_020e99e4: - .space 0x4 - .global data_ov00_020e99e8 -data_ov00_020e99e8: - .space 0x4 - .global data_ov00_020e99ec -data_ov00_020e99ec: - .space 0x4 - .global data_ov00_020e99f0 -data_ov00_020e99f0: - .space 0x4 - .global data_ov00_020e99f4 -data_ov00_020e99f4: - .space 0x4 - .global data_ov00_020e99f8 -data_ov00_020e99f8: - .space 0x4 - .global data_ov00_020e99fc -data_ov00_020e99fc: - .space 0x4 - .global data_ov00_020e9a00 -data_ov00_020e9a00: - .space 0x4 - .global data_ov00_020e9a04 -data_ov00_020e9a04: - .space 0x4 - .global data_ov00_020e9a08 -data_ov00_020e9a08: - .space 0x4 - .global data_ov00_020e9a0c -data_ov00_020e9a0c: - .space 0x4 - .global data_ov00_020e9a10 -data_ov00_020e9a10: - .space 0x4 - .global data_ov00_020e9a14 -data_ov00_020e9a14: - .space 0x4 - .global data_ov00_020e9a18 -data_ov00_020e9a18: - .space 0x4 - .global data_ov00_020e9a1c -data_ov00_020e9a1c: - .space 0x4 - .global data_ov00_020e9a20 -data_ov00_020e9a20: - .space 0x4 - .global data_ov00_020e9a24 -data_ov00_020e9a24: - .space 0x4 - .global data_ov00_020e9a28 -data_ov00_020e9a28: - .space 0x4 - .global data_ov00_020e9a2c -data_ov00_020e9a2c: - .space 0x4 - .global data_ov00_020e9a30 -data_ov00_020e9a30: - .space 0x4 - .global data_ov00_020e9a34 -data_ov00_020e9a34: - .space 0x4 - .global data_ov00_020e9a38 -data_ov00_020e9a38: - .space 0x4 - .global data_ov00_020e9a3c -data_ov00_020e9a3c: - .space 0x4 - .global data_ov00_020e9a40 -data_ov00_020e9a40: - .space 0x4 - .global data_ov00_020e9a44 -data_ov00_020e9a44: - .space 0x4 - .global data_ov00_020e9a48 -data_ov00_020e9a48: - .space 0x4 - .global data_ov00_020e9a4c -data_ov00_020e9a4c: - .space 0x4 - .global data_ov00_020e9a50 -data_ov00_020e9a50: - .space 0x4 - .global data_ov00_020e9a54 -data_ov00_020e9a54: - .space 0x4 - .global data_ov00_020e9a58 -data_ov00_020e9a58: - .space 0x4 - .global data_ov00_020e9a5c -data_ov00_020e9a5c: - .space 0x4 - .global data_ov00_020e9a60 -data_ov00_020e9a60: - .space 0x4 - .global data_ov00_020e9a64 -data_ov00_020e9a64: - .space 0x4 - .global data_ov00_020e9a68 -data_ov00_020e9a68: - .space 0x4 - .global data_ov00_020e9a6c -data_ov00_020e9a6c: - .space 0x4 - .global data_ov00_020e9a70 -data_ov00_020e9a70: - .space 0x4 - .global data_ov00_020e9a74 -data_ov00_020e9a74: - .space 0x4 - .global data_ov00_020e9a78 -data_ov00_020e9a78: - .space 0x4 - .global data_ov00_020e9a7c -data_ov00_020e9a7c: - .space 0x4 - .global data_ov00_020e9a80 -data_ov00_020e9a80: - .space 0x4 - .global data_ov00_020e9a84 -data_ov00_020e9a84: - .space 0x4 - .global data_ov00_020e9a88 -data_ov00_020e9a88: - .space 0x4 - .global data_ov00_020e9a8c -data_ov00_020e9a8c: - .space 0x4 - .global data_ov00_020e9a90 -data_ov00_020e9a90: - .space 0x4 - .global data_ov00_020e9a94 -data_ov00_020e9a94: - .space 0x4 - .global data_ov00_020e9a98 -data_ov00_020e9a98: - .space 0x4 - .global data_ov00_020e9a9c -data_ov00_020e9a9c: - .space 0x4 - .global data_ov00_020e9aa0 -data_ov00_020e9aa0: - .space 0x4 - .global data_ov00_020e9aa4 -data_ov00_020e9aa4: - .space 0x4 - .global data_ov00_020e9aa8 -data_ov00_020e9aa8: - .space 0x4 - .global data_ov00_020e9aac -data_ov00_020e9aac: - .space 0x4 - .global data_ov00_020e9ab0 -data_ov00_020e9ab0: - .space 0x4 - .global data_ov00_020e9ab4 -data_ov00_020e9ab4: - .space 0x4 - .global data_ov00_020e9ab8 -data_ov00_020e9ab8: - .space 0x4 - .global data_ov00_020e9abc -data_ov00_020e9abc: - .space 0x4 - .global data_ov00_020e9ac0 -data_ov00_020e9ac0: - .space 0x4 - .global data_ov00_020e9ac4 -data_ov00_020e9ac4: - .space 0x4 - .global data_ov00_020e9ac8 -data_ov00_020e9ac8: - .space 0x4 - .global data_ov00_020e9acc -data_ov00_020e9acc: - .space 0x4 - .global data_ov00_020e9ad0 -data_ov00_020e9ad0: - .space 0x4 - .global data_ov00_020e9ad4 -data_ov00_020e9ad4: - .space 0x4 - .global data_ov00_020e9ad8 -data_ov00_020e9ad8: - .space 0x4 - .global data_ov00_020e9adc -data_ov00_020e9adc: - .space 0x4 - .global data_ov00_020e9ae0 -data_ov00_020e9ae0: - .space 0x4 - .global data_ov00_020e9ae4 -data_ov00_020e9ae4: - .space 0x4 - .global data_ov00_020e9ae8 -data_ov00_020e9ae8: - .space 0x4 - .global data_ov00_020e9aec -data_ov00_020e9aec: - .space 0x4 - .global data_ov00_020e9af0 -data_ov00_020e9af0: - .space 0x4 - .global data_ov00_020e9af4 -data_ov00_020e9af4: - .space 0x4 - .global data_ov00_020e9af8 -data_ov00_020e9af8: - .space 0x4 - .global data_ov00_020e9afc -data_ov00_020e9afc: - .space 0x4 - .global data_ov00_020e9b00 -data_ov00_020e9b00: - .space 0x4 - .global data_ov00_020e9b04 -data_ov00_020e9b04: - .space 0x4 - .global data_ov00_020e9b08 -data_ov00_020e9b08: - .space 0x4 - .global data_ov00_020e9b0c -data_ov00_020e9b0c: - .space 0x4 - .global data_ov00_020e9b10 -data_ov00_020e9b10: - .space 0x4 - .global data_ov00_020e9b14 -data_ov00_020e9b14: - .space 0x4 - .global data_ov00_020e9b18 -data_ov00_020e9b18: - .space 0x4 - .global data_ov00_020e9b1c -data_ov00_020e9b1c: - .space 0x4 - .global data_ov00_020e9b20 -data_ov00_020e9b20: - .space 0x4 - .global data_ov00_020e9b24 -data_ov00_020e9b24: - .space 0x4 - .global data_ov00_020e9b28 -data_ov00_020e9b28: - .space 0x4 - .global data_ov00_020e9b2c -data_ov00_020e9b2c: - .space 0x4 - .global data_ov00_020e9b30 -data_ov00_020e9b30: - .space 0x4 - .global data_ov00_020e9b34 -data_ov00_020e9b34: - .space 0x4 - .global data_ov00_020e9b38 -data_ov00_020e9b38: - .space 0x4 - .global data_ov00_020e9b3c -data_ov00_020e9b3c: - .space 0x4 - .global data_ov00_020e9b40 -data_ov00_020e9b40: - .space 0x4 - .global data_ov00_020e9b44 -data_ov00_020e9b44: - .space 0x4 - .global data_ov00_020e9b48 -data_ov00_020e9b48: - .space 0x4 - .global data_ov00_020e9b4c -data_ov00_020e9b4c: - .space 0x4 - .global data_ov00_020e9b50 -data_ov00_020e9b50: - .space 0x4 - .global data_ov00_020e9b54 -data_ov00_020e9b54: - .space 0x4 - .global data_ov00_020e9b58 -data_ov00_020e9b58: - .space 0x4 - .global data_ov00_020e9b5c -data_ov00_020e9b5c: - .space 0x4 - .global data_ov00_020e9b60 -data_ov00_020e9b60: - .space 0x4 - .global data_ov00_020e9b64 -data_ov00_020e9b64: - .space 0x4 - .global data_ov00_020e9b68 -data_ov00_020e9b68: - .space 0x4 - .global data_ov00_020e9b6c -data_ov00_020e9b6c: - .space 0x4 - .global data_ov00_020e9b70 -data_ov00_020e9b70: - .space 0x4 - .global data_ov00_020e9b74 -data_ov00_020e9b74: - .space 0x4 - .global data_ov00_020e9b78 -data_ov00_020e9b78: - .space 0x4 - .global data_ov00_020e9b7c -data_ov00_020e9b7c: - .space 0x4 - .global data_ov00_020e9b80 -data_ov00_020e9b80: - .space 0x4 - .global data_ov00_020e9b84 -data_ov00_020e9b84: - .space 0x4 - .global data_ov00_020e9b88 -data_ov00_020e9b88: - .space 0x4 - .global data_ov00_020e9b8c -data_ov00_020e9b8c: - .space 0x4 - .global data_ov00_020e9b90 -data_ov00_020e9b90: - .space 0x4 - .global data_ov00_020e9b94 -data_ov00_020e9b94: - .space 0x4 - .global data_ov00_020e9b98 -data_ov00_020e9b98: - .space 0x4 - .global data_ov00_020e9b9c -data_ov00_020e9b9c: - .space 0x4 - .global data_ov00_020e9ba0 -data_ov00_020e9ba0: - .space 0x4 - .global data_ov00_020e9ba4 -data_ov00_020e9ba4: - .space 0x4 - .global data_ov00_020e9ba8 -data_ov00_020e9ba8: - .space 0x4 - .global data_ov00_020e9bac -data_ov00_020e9bac: - .space 0x4 - .global data_ov00_020e9bb0 -data_ov00_020e9bb0: - .space 0x4 - .global data_ov00_020e9bb4 -data_ov00_020e9bb4: - .space 0x4 - .global data_ov00_020e9bb8 -data_ov00_020e9bb8: - .space 0x4 - .global data_ov00_020e9bbc -data_ov00_020e9bbc: - .space 0x4 - .global data_ov00_020e9bc0 -data_ov00_020e9bc0: - .space 0x4 - .global data_ov00_020e9bc4 -data_ov00_020e9bc4: - .space 0x4 - .global data_ov00_020e9bc8 -data_ov00_020e9bc8: - .space 0x4 - .global data_ov00_020e9bcc -data_ov00_020e9bcc: - .space 0x4 - .global data_ov00_020e9bd0 -data_ov00_020e9bd0: - .space 0x4 - .global data_ov00_020e9bd4 -data_ov00_020e9bd4: - .space 0x4 - .global data_ov00_020e9bd8 -data_ov00_020e9bd8: - .space 0x4 - .global data_ov00_020e9bdc -data_ov00_020e9bdc: - .space 0x4 - .global data_ov00_020e9be0 -data_ov00_020e9be0: - .space 0x4 - .global data_ov00_020e9be4 -data_ov00_020e9be4: - .space 0x4 - .global data_ov00_020e9be8 -data_ov00_020e9be8: - .space 0x4 - .global data_ov00_020e9bec -data_ov00_020e9bec: - .space 0x4 - .global data_ov00_020e9bf0 -data_ov00_020e9bf0: - .space 0x4 - .global data_ov00_020e9bf4 -data_ov00_020e9bf4: - .space 0x4 - .global data_ov00_020e9bf8 -data_ov00_020e9bf8: - .space 0x4 - .global data_ov00_020e9bfc -data_ov00_020e9bfc: - .space 0x4 - .global data_ov00_020e9c00 -data_ov00_020e9c00: - .space 0x4 - .global data_ov00_020e9c04 -data_ov00_020e9c04: - .space 0x4 - .global data_ov00_020e9c08 -data_ov00_020e9c08: - .space 0x4 - .global data_ov00_020e9c0c -data_ov00_020e9c0c: - .space 0x4 - .global data_ov00_020e9c10 -data_ov00_020e9c10: - .space 0x4 - .global data_ov00_020e9c14 -data_ov00_020e9c14: - .space 0x4 - .global data_ov00_020e9c18 -data_ov00_020e9c18: - .space 0x4 - .global data_ov00_020e9c1c -data_ov00_020e9c1c: - .space 0x4 - .global data_ov00_020e9c20 -data_ov00_020e9c20: - .space 0x4 - .global data_ov00_020e9c24 -data_ov00_020e9c24: - .space 0x4 - .global data_ov00_020e9c28 -data_ov00_020e9c28: - .space 0x4 - .global data_ov00_020e9c2c -data_ov00_020e9c2c: - .space 0x4 - .global data_ov00_020e9c30 -data_ov00_020e9c30: - .space 0x4 - .global data_ov00_020e9c34 -data_ov00_020e9c34: - .space 0x4 - .global data_ov00_020e9c38 -data_ov00_020e9c38: - .space 0x4 - .global data_ov00_020e9c3c -data_ov00_020e9c3c: - .space 0x4 - .global data_ov00_020e9c40 -data_ov00_020e9c40: - .space 0x4 - .global data_ov00_020e9c44 -data_ov00_020e9c44: - .space 0x4 - .global data_ov00_020e9c48 -data_ov00_020e9c48: - .space 0x4 - .global data_ov00_020e9c4c -data_ov00_020e9c4c: - .space 0x4 - .global data_ov00_020e9c50 -data_ov00_020e9c50: - .space 0x4 - .global data_ov00_020e9c54 -data_ov00_020e9c54: - .space 0x4 - .global data_ov00_020e9c58 -data_ov00_020e9c58: - .space 0x4 - .global data_ov00_020e9c5c -data_ov00_020e9c5c: - .space 0x4 - .global data_ov00_020e9c60 -data_ov00_020e9c60: - .space 0x4 - .global data_ov00_020e9c64 -data_ov00_020e9c64: - .space 0x4 - .global data_ov00_020e9c68 -data_ov00_020e9c68: - .space 0x4 - .global data_ov00_020e9c6c -data_ov00_020e9c6c: - .space 0x4 - .global data_ov00_020e9c70 -data_ov00_020e9c70: - .space 0x4 - .global data_ov00_020e9c74 -data_ov00_020e9c74: - .space 0x4 - .global data_ov00_020e9c78 -data_ov00_020e9c78: - .space 0x4 - .global data_ov00_020e9c7c -data_ov00_020e9c7c: - .space 0x4 - .global data_ov00_020e9c80 -data_ov00_020e9c80: - .space 0x4 - .global data_ov00_020e9c84 -data_ov00_020e9c84: - .space 0x4 - .global data_ov00_020e9c88 -data_ov00_020e9c88: - .space 0x4 - .global data_ov00_020e9c8c -data_ov00_020e9c8c: - .space 0x4 - .global data_ov00_020e9c90 -data_ov00_020e9c90: - .space 0x4 - .global data_ov00_020e9c94 -data_ov00_020e9c94: - .space 0x4 - .global data_ov00_020e9c98 -data_ov00_020e9c98: - .space 0x4 - .global data_ov00_020e9c9c -data_ov00_020e9c9c: - .space 0x4 - .global data_ov00_020e9ca0 -data_ov00_020e9ca0: - .space 0x4 - .global data_ov00_020e9ca4 -data_ov00_020e9ca4: - .space 0x4 - .global data_ov00_020e9ca8 -data_ov00_020e9ca8: - .space 0x4 - .global data_ov00_020e9cac -data_ov00_020e9cac: - .space 0x4 - .global data_ov00_020e9cb0 -data_ov00_020e9cb0: - .space 0x4 - .global data_ov00_020e9cb4 -data_ov00_020e9cb4: - .space 0x4 - .global data_ov00_020e9cb8 -data_ov00_020e9cb8: - .space 0x4 - .global data_ov00_020e9cbc -data_ov00_020e9cbc: - .space 0x4 - .global data_ov00_020e9cc0 -data_ov00_020e9cc0: - .space 0x4 - .global data_ov00_020e9cc4 -data_ov00_020e9cc4: - .space 0x4 - .global data_ov00_020e9cc8 -data_ov00_020e9cc8: - .space 0x4 - .global data_ov00_020e9ccc -data_ov00_020e9ccc: - .space 0x4 - .global data_ov00_020e9cd0 -data_ov00_020e9cd0: - .space 0x4 - .global data_ov00_020e9cd4 -data_ov00_020e9cd4: - .space 0x4 - .global data_ov00_020e9cd8 -data_ov00_020e9cd8: - .space 0x4 - .global data_ov00_020e9cdc -data_ov00_020e9cdc: - .space 0x4 - .global data_ov00_020e9ce0 -data_ov00_020e9ce0: - .space 0x4 - .global data_ov00_020e9ce4 -data_ov00_020e9ce4: - .space 0x4 - .global data_ov00_020e9ce8 -data_ov00_020e9ce8: - .space 0x4 - .global data_ov00_020e9cec -data_ov00_020e9cec: - .space 0x4 - .global data_ov00_020e9cf0 -data_ov00_020e9cf0: - .space 0x4 - .global data_ov00_020e9cf4 -data_ov00_020e9cf4: - .space 0x4 - .global data_ov00_020e9cf8 -data_ov00_020e9cf8: - .space 0x4 - .global data_ov00_020e9cfc -data_ov00_020e9cfc: - .space 0x4 - .global data_ov00_020e9d00 -data_ov00_020e9d00: - .space 0x4 - .global data_ov00_020e9d04 -data_ov00_020e9d04: - .space 0x4 - .global data_ov00_020e9d08 -data_ov00_020e9d08: - .space 0x4 - .global data_ov00_020e9d0c -data_ov00_020e9d0c: - .space 0x4 - .global data_ov00_020e9d10 -data_ov00_020e9d10: - .space 0x4 - .global data_ov00_020e9d14 -data_ov00_020e9d14: - .space 0x4 - .global data_ov00_020e9d18 -data_ov00_020e9d18: - .space 0x4 - .global data_ov00_020e9d1c -data_ov00_020e9d1c: - .space 0x4 - .global data_ov00_020e9d20 -data_ov00_020e9d20: - .space 0x4 - .global data_ov00_020e9d24 -data_ov00_020e9d24: - .space 0x4 - .global data_ov00_020e9d28 -data_ov00_020e9d28: - .space 0x4 - .global data_ov00_020e9d2c -data_ov00_020e9d2c: - .space 0x4 - .global data_ov00_020e9d30 -data_ov00_020e9d30: - .space 0x4 - .global data_ov00_020e9d34 -data_ov00_020e9d34: - .space 0x4 - .global data_ov00_020e9d38 -data_ov00_020e9d38: - .space 0x4 - .global data_ov00_020e9d3c -data_ov00_020e9d3c: - .space 0x4 - .global data_ov00_020e9d40 -data_ov00_020e9d40: - .space 0x4 - .global data_ov00_020e9d44 -data_ov00_020e9d44: - .space 0x4 - .global data_ov00_020e9d48 -data_ov00_020e9d48: - .space 0x4 - .global data_ov00_020e9d4c -data_ov00_020e9d4c: - .space 0x4 - .global data_ov00_020e9d50 -data_ov00_020e9d50: - .space 0x4 - .global data_ov00_020e9d54 -data_ov00_020e9d54: - .space 0x4 - .global data_ov00_020e9d58 -data_ov00_020e9d58: - .space 0x4 - .global data_ov00_020e9d5c -data_ov00_020e9d5c: - .space 0x4 - .global data_ov00_020e9d60 -data_ov00_020e9d60: - .space 0x4 - .global data_ov00_020e9d64 -data_ov00_020e9d64: - .space 0x4 - .global data_ov00_020e9d68 -data_ov00_020e9d68: - .space 0x4 - .global data_ov00_020e9d6c -data_ov00_020e9d6c: - .space 0x4 - .global data_ov00_020e9d70 -data_ov00_020e9d70: - .space 0x4 - .global data_ov00_020e9d74 -data_ov00_020e9d74: - .space 0x4 - .global data_ov00_020e9d78 -data_ov00_020e9d78: - .space 0x4 - .global data_ov00_020e9d7c -data_ov00_020e9d7c: - .space 0x4 - .global data_ov00_020e9d80 -data_ov00_020e9d80: - .space 0x4 - .global data_ov00_020e9d84 -data_ov00_020e9d84: - .space 0x4 - .global data_ov00_020e9d88 -data_ov00_020e9d88: - .space 0x4 - .global data_ov00_020e9d8c -data_ov00_020e9d8c: - .space 0x4 - .global data_ov00_020e9d90 -data_ov00_020e9d90: - .space 0x4 - .global data_ov00_020e9d94 -data_ov00_020e9d94: - .space 0x4 - .global data_ov00_020e9d98 -data_ov00_020e9d98: - .space 0x4 - .global data_ov00_020e9d9c -data_ov00_020e9d9c: - .space 0x4 - .global data_ov00_020e9da0 -data_ov00_020e9da0: - .space 0x4 - .global data_ov00_020e9da4 -data_ov00_020e9da4: - .space 0x4 - .global data_ov00_020e9da8 -data_ov00_020e9da8: - .space 0x4 - .global data_ov00_020e9dac -data_ov00_020e9dac: - .space 0x4 - .global data_ov00_020e9db0 -data_ov00_020e9db0: - .space 0x4 - .global data_ov00_020e9db4 -data_ov00_020e9db4: - .space 0x4 - .global data_ov00_020e9db8 -data_ov00_020e9db8: - .space 0x4 - .global data_ov00_020e9dbc -data_ov00_020e9dbc: - .space 0x4 - .global data_ov00_020e9dc0 -data_ov00_020e9dc0: - .space 0x4 - .global data_ov00_020e9dc4 -data_ov00_020e9dc4: - .space 0x4 - .global data_ov00_020e9dc8 -data_ov00_020e9dc8: - .space 0x4 - .global data_ov00_020e9dcc -data_ov00_020e9dcc: - .space 0x4 - .global data_ov00_020e9dd0 -data_ov00_020e9dd0: - .space 0x4 - .global data_ov00_020e9dd4 -data_ov00_020e9dd4: - .space 0x4 - .global data_ov00_020e9dd8 -data_ov00_020e9dd8: - .space 0x4 - .global data_ov00_020e9ddc -data_ov00_020e9ddc: - .space 0x4 - .global data_ov00_020e9de0 -data_ov00_020e9de0: - .space 0x4 - .global data_ov00_020e9de4 -data_ov00_020e9de4: - .space 0x4 - .global data_ov00_020e9de8 -data_ov00_020e9de8: - .space 0x4 - .global data_ov00_020e9dec -data_ov00_020e9dec: - .space 0x4 - .global data_ov00_020e9df0 -data_ov00_020e9df0: - .space 0x4 - .global data_ov00_020e9df4 -data_ov00_020e9df4: - .space 0x4 - .global data_ov00_020e9df8 -data_ov00_020e9df8: - .space 0x4 - .global data_ov00_020e9dfc -data_ov00_020e9dfc: - .space 0x4 - .global data_ov00_020e9e00 -data_ov00_020e9e00: - .space 0x4 - .global data_ov00_020e9e04 -data_ov00_020e9e04: - .space 0x4 - .global data_ov00_020e9e08 -data_ov00_020e9e08: - .space 0x4 - .global data_ov00_020e9e0c -data_ov00_020e9e0c: - .space 0x4 - .global data_ov00_020e9e10 -data_ov00_020e9e10: - .space 0x4 - .global data_ov00_020e9e14 -data_ov00_020e9e14: - .space 0x4 - .global data_ov00_020e9e18 -data_ov00_020e9e18: - .space 0x4 - .global data_ov00_020e9e1c -data_ov00_020e9e1c: - .space 0x4 - .global data_ov00_020e9e20 -data_ov00_020e9e20: - .space 0x4 - .global data_ov00_020e9e24 -data_ov00_020e9e24: - .space 0x4 - .global data_ov00_020e9e28 -data_ov00_020e9e28: - .space 0x4 - .global data_ov00_020e9e2c -data_ov00_020e9e2c: - .space 0x4 - .global data_ov00_020e9e30 -data_ov00_020e9e30: - .space 0x4 - .global data_ov00_020e9e34 -data_ov00_020e9e34: - .space 0x4 - .global data_ov00_020e9e38 -data_ov00_020e9e38: - .space 0x4 - .global data_ov00_020e9e3c -data_ov00_020e9e3c: - .space 0x4 - .global data_ov00_020e9e40 -data_ov00_020e9e40: - .space 0x4 - .global data_ov00_020e9e44 -data_ov00_020e9e44: - .space 0x4 - .global data_ov00_020e9e48 -data_ov00_020e9e48: - .space 0x4 - .global data_ov00_020e9e4c -data_ov00_020e9e4c: - .space 0x4 - .global data_ov00_020e9e50 -data_ov00_020e9e50: - .space 0x4 - .global data_ov00_020e9e54 -data_ov00_020e9e54: - .space 0x4 - .global data_ov00_020e9e58 -data_ov00_020e9e58: - .space 0x4 - .global data_ov00_020e9e5c -data_ov00_020e9e5c: - .space 0x4 - .global data_ov00_020e9e60 -data_ov00_020e9e60: - .space 0x4 - .global data_ov00_020e9e64 -data_ov00_020e9e64: - .space 0x4 - .global data_ov00_020e9e68 -data_ov00_020e9e68: - .space 0x4 - .global data_ov00_020e9e6c -data_ov00_020e9e6c: - .space 0x4 - .global data_ov00_020e9e70 -data_ov00_020e9e70: - .space 0x4 - .global data_ov00_020e9e74 -data_ov00_020e9e74: - .space 0x4 - .global data_ov00_020e9e78 -data_ov00_020e9e78: - .space 0x4 - .global data_ov00_020e9e7c -data_ov00_020e9e7c: - .space 0x4 - .global data_ov00_020e9e80 -data_ov00_020e9e80: - .space 0x4 - .global data_ov00_020e9e84 -data_ov00_020e9e84: - .space 0x4 - .global data_ov00_020e9e88 -data_ov00_020e9e88: - .space 0x4 - .global data_ov00_020e9e8c -data_ov00_020e9e8c: - .space 0x4 - .global data_ov00_020e9e90 -data_ov00_020e9e90: - .space 0x4 - .global data_ov00_020e9e94 -data_ov00_020e9e94: - .space 0x4 - .global data_ov00_020e9e98 -data_ov00_020e9e98: - .space 0x4 - .global data_ov00_020e9e9c -data_ov00_020e9e9c: - .space 0x4 - .global data_ov00_020e9ea0 -data_ov00_020e9ea0: - .space 0x4 - .global data_ov00_020e9ea4 -data_ov00_020e9ea4: - .space 0x4 - .global data_ov00_020e9ea8 -data_ov00_020e9ea8: - .space 0x4 - .global data_ov00_020e9eac -data_ov00_020e9eac: - .space 0x4 - .global data_ov00_020e9eb0 -data_ov00_020e9eb0: - .space 0x4 - .global data_ov00_020e9eb4 -data_ov00_020e9eb4: - .space 0x4 - .global data_ov00_020e9eb8 -data_ov00_020e9eb8: - .space 0x4 - .global data_ov00_020e9ebc -data_ov00_020e9ebc: - .space 0x4 - .global data_ov00_020e9ec0 -data_ov00_020e9ec0: - .space 0x4 - .global data_ov00_020e9ec4 -data_ov00_020e9ec4: - .space 0x4 - .global data_ov00_020e9ec8 -data_ov00_020e9ec8: - .space 0x4 - .global data_ov00_020e9ecc -data_ov00_020e9ecc: - .space 0x4 - .global data_ov00_020e9ed0 -data_ov00_020e9ed0: - .space 0x4 - .global data_ov00_020e9ed4 -data_ov00_020e9ed4: - .space 0x4 - .global data_ov00_020e9ed8 -data_ov00_020e9ed8: - .space 0x4 - .global data_ov00_020e9edc -data_ov00_020e9edc: - .space 0x4 - .global data_ov00_020e9ee0 -data_ov00_020e9ee0: - .space 0x4 - .global data_ov00_020e9ee4 -data_ov00_020e9ee4: - .space 0x4 - .global data_ov00_020e9ee8 -data_ov00_020e9ee8: - .space 0x4 - .global data_ov00_020e9eec -data_ov00_020e9eec: - .space 0x4 - .global data_ov00_020e9ef0 -data_ov00_020e9ef0: - .space 0x4 - .global data_ov00_020e9ef4 -data_ov00_020e9ef4: - .space 0x4 - .global data_ov00_020e9ef8 -data_ov00_020e9ef8: - .space 0x4 - .global data_ov00_020e9efc -data_ov00_020e9efc: - .space 0x4 - .global data_ov00_020e9f00 -data_ov00_020e9f00: - .space 0x4 - .global data_ov00_020e9f04 -data_ov00_020e9f04: - .space 0x4 - .global data_ov00_020e9f08 -data_ov00_020e9f08: - .space 0x4 - .global data_ov00_020e9f0c -data_ov00_020e9f0c: - .space 0x4 - .global data_ov00_020e9f10 -data_ov00_020e9f10: - .space 0x4 - .global data_ov00_020e9f14 -data_ov00_020e9f14: - .space 0x4 - .global data_ov00_020e9f18 -data_ov00_020e9f18: - .space 0x4 - .global data_ov00_020e9f1c -data_ov00_020e9f1c: - .space 0x4 - .global data_ov00_020e9f20 -data_ov00_020e9f20: - .space 0x4 - .global data_ov00_020e9f24 -data_ov00_020e9f24: - .space 0x4 - .global data_ov00_020e9f28 -data_ov00_020e9f28: - .space 0x4 - .global data_ov00_020e9f2c -data_ov00_020e9f2c: - .space 0x4 - .global data_ov00_020e9f30 -data_ov00_020e9f30: - .space 0x4 - .global data_ov00_020e9f34 -data_ov00_020e9f34: - .space 0x4 - .global data_ov00_020e9f38 -data_ov00_020e9f38: - .space 0x4 - .global data_ov00_020e9f3c -data_ov00_020e9f3c: - .space 0x4 - .global data_ov00_020e9f40 -data_ov00_020e9f40: - .space 0x4 - .global data_ov00_020e9f44 -data_ov00_020e9f44: - .space 0x4 - .global data_ov00_020e9f48 -data_ov00_020e9f48: - .space 0x4 - .global data_ov00_020e9f4c -data_ov00_020e9f4c: - .space 0x4 - .global data_ov00_020e9f50 -data_ov00_020e9f50: - .space 0x4 - .global data_ov00_020e9f54 -data_ov00_020e9f54: - .space 0x4 - .global data_ov00_020e9f58 -data_ov00_020e9f58: - .space 0x4 - .global data_ov00_020e9f5c -data_ov00_020e9f5c: - .space 0x4 - .global data_ov00_020e9f60 -data_ov00_020e9f60: - .space 0x4 - .global data_ov00_020e9f64 -data_ov00_020e9f64: - .space 0x4 - .global data_ov00_020e9f68 -data_ov00_020e9f68: - .space 0x4 - .global data_ov00_020e9f6c -data_ov00_020e9f6c: - .space 0x4 - .global data_ov00_020e9f70 -data_ov00_020e9f70: - .space 0x4 - .global data_ov00_020e9f74 -data_ov00_020e9f74: - .space 0x4 - .global data_ov00_020e9f78 -data_ov00_020e9f78: - .space 0x4 - .global data_ov00_020e9f7c -data_ov00_020e9f7c: - .space 0x4 - .global data_ov00_020e9f80 -data_ov00_020e9f80: - .space 0x4 - .global data_ov00_020e9f84 -data_ov00_020e9f84: - .space 0x4 - .global data_ov00_020e9f88 -data_ov00_020e9f88: - .space 0x4 - .global data_ov00_020e9f8c -data_ov00_020e9f8c: - .space 0x4 - .global data_ov00_020e9f90 -data_ov00_020e9f90: - .space 0x4 - .global data_ov00_020e9f94 -data_ov00_020e9f94: - .space 0x4 - .global data_ov00_020e9f98 -data_ov00_020e9f98: - .space 0x4 - .global data_ov00_020e9f9c -data_ov00_020e9f9c: - .space 0x4 - .global data_ov00_020e9fa0 -data_ov00_020e9fa0: - .space 0x4 - .global data_ov00_020e9fa4 -data_ov00_020e9fa4: - .space 0x4 - .global data_ov00_020e9fa8 -data_ov00_020e9fa8: - .space 0x4 - .global data_ov00_020e9fac -data_ov00_020e9fac: - .space 0x4 - .global data_ov00_020e9fb0 -data_ov00_020e9fb0: - .space 0x4 - .global data_ov00_020e9fb4 -data_ov00_020e9fb4: - .space 0x4 - .global data_ov00_020e9fb8 -data_ov00_020e9fb8: - .space 0x4 - .global data_ov00_020e9fbc -data_ov00_020e9fbc: - .space 0x4 - .global data_ov00_020e9fc0 -data_ov00_020e9fc0: - .space 0x4 - .global data_ov00_020e9fc4 -data_ov00_020e9fc4: - .space 0x4 - .global data_ov00_020e9fc8 -data_ov00_020e9fc8: - .space 0x4 - .global data_ov00_020e9fcc -data_ov00_020e9fcc: - .space 0x4 - .global data_ov00_020e9fd0 -data_ov00_020e9fd0: - .space 0x4 - .global data_ov00_020e9fd4 -data_ov00_020e9fd4: - .space 0x4 - .global data_ov00_020e9fd8 -data_ov00_020e9fd8: - .space 0x4 - .global data_ov00_020e9fdc -data_ov00_020e9fdc: - .space 0x4 - .global data_ov00_020e9fe0 -data_ov00_020e9fe0: - .space 0x4 - .global data_ov00_020e9fe4 -data_ov00_020e9fe4: - .space 0x4 - .global data_ov00_020e9fe8 -data_ov00_020e9fe8: - .space 0x4 - .global data_ov00_020e9fec -data_ov00_020e9fec: - .space 0x4 - .global data_ov00_020e9ff0 -data_ov00_020e9ff0: - .space 0x4 - .global data_ov00_020e9ff4 -data_ov00_020e9ff4: - .space 0x4 - .global data_ov00_020e9ff8 -data_ov00_020e9ff8: - .space 0x4 - .global data_ov00_020e9ffc -data_ov00_020e9ffc: - .space 0x4 - .global data_ov00_020ea000 -data_ov00_020ea000: - .space 0x4 - .global data_ov00_020ea004 -data_ov00_020ea004: - .space 0x4 - .global data_ov00_020ea008 -data_ov00_020ea008: - .space 0x4 - .global data_ov00_020ea00c -data_ov00_020ea00c: - .space 0x4 - .global data_ov00_020ea010 -data_ov00_020ea010: - .space 0x4 - .global data_ov00_020ea014 -data_ov00_020ea014: - .space 0x4 - .global data_ov00_020ea018 -data_ov00_020ea018: - .space 0x4 - .global data_ov00_020ea01c -data_ov00_020ea01c: - .space 0x4 - .global data_ov00_020ea020 -data_ov00_020ea020: - .space 0x4 - .global data_ov00_020ea024 -data_ov00_020ea024: - .space 0x4 - .global data_ov00_020ea028 -data_ov00_020ea028: - .space 0x4 - .global data_ov00_020ea02c -data_ov00_020ea02c: - .space 0x4 - .global data_ov00_020ea030 -data_ov00_020ea030: - .space 0x4 - .global data_ov00_020ea034 -data_ov00_020ea034: - .space 0x4 - .global data_ov00_020ea038 -data_ov00_020ea038: - .space 0x4 - .global data_ov00_020ea03c -data_ov00_020ea03c: - .space 0x4 - .global data_ov00_020ea040 -data_ov00_020ea040: - .space 0x4 - .global data_ov00_020ea044 -data_ov00_020ea044: - .space 0x4 - .global data_ov00_020ea048 -data_ov00_020ea048: - .space 0x4 - .global data_ov00_020ea04c -data_ov00_020ea04c: - .space 0x4 - .global data_ov00_020ea050 -data_ov00_020ea050: - .space 0x4 - .global data_ov00_020ea054 -data_ov00_020ea054: - .space 0x4 - .global data_ov00_020ea058 -data_ov00_020ea058: - .space 0x4 - .global data_ov00_020ea05c -data_ov00_020ea05c: - .space 0x4 - .global data_ov00_020ea060 -data_ov00_020ea060: - .space 0x4 - .global data_ov00_020ea064 -data_ov00_020ea064: - .space 0x4 - .global data_ov00_020ea068 -data_ov00_020ea068: - .space 0x4 - .global data_ov00_020ea06c -data_ov00_020ea06c: - .space 0x4 - .global data_ov00_020ea070 -data_ov00_020ea070: - .space 0x4 - .global data_ov00_020ea074 -data_ov00_020ea074: - .space 0x4 - .global data_ov00_020ea078 -data_ov00_020ea078: - .space 0x4 - .global data_ov00_020ea07c -data_ov00_020ea07c: - .space 0x4 - .global data_ov00_020ea080 -data_ov00_020ea080: - .space 0x4 - .global data_ov00_020ea084 -data_ov00_020ea084: - .space 0x4 - .global data_ov00_020ea088 -data_ov00_020ea088: - .space 0x4 - .global data_ov00_020ea08c -data_ov00_020ea08c: - .space 0x4 - .global data_ov00_020ea090 -data_ov00_020ea090: - .space 0x4 - .global data_ov00_020ea094 -data_ov00_020ea094: - .space 0x4 - .global data_ov00_020ea098 -data_ov00_020ea098: - .space 0x4 - .global data_ov00_020ea09c -data_ov00_020ea09c: - .space 0x4 - .global data_ov00_020ea0a0 -data_ov00_020ea0a0: - .space 0x4 - .global data_ov00_020ea0a4 -data_ov00_020ea0a4: - .space 0x4 - .global data_ov00_020ea0a8 -data_ov00_020ea0a8: - .space 0x4 - .global data_ov00_020ea0ac -data_ov00_020ea0ac: - .space 0x4 - .global data_ov00_020ea0b0 -data_ov00_020ea0b0: - .space 0x4 - .global data_ov00_020ea0b4 -data_ov00_020ea0b4: - .space 0x4 - .global data_ov00_020ea0b8 -data_ov00_020ea0b8: - .space 0x4 - .global data_ov00_020ea0bc -data_ov00_020ea0bc: - .space 0x4 - .global data_ov00_020ea0c0 -data_ov00_020ea0c0: - .space 0x4 - .global data_ov00_020ea0c4 -data_ov00_020ea0c4: - .space 0x4 - .global data_ov00_020ea0c8 -data_ov00_020ea0c8: - .space 0x4 - .global data_ov00_020ea0cc -data_ov00_020ea0cc: - .space 0x4 - .global data_ov00_020ea0d0 -data_ov00_020ea0d0: - .space 0x4 - .global data_ov00_020ea0d4 -data_ov00_020ea0d4: - .space 0x4 - .global data_ov00_020ea0d8 -data_ov00_020ea0d8: - .space 0x4 - .global data_ov00_020ea0dc -data_ov00_020ea0dc: - .space 0x4 - .global data_ov00_020ea0e0 -data_ov00_020ea0e0: - .space 0x4 - .global data_ov00_020ea0e4 -data_ov00_020ea0e4: - .space 0x4 - .global data_ov00_020ea0e8 -data_ov00_020ea0e8: - .space 0x4 - .global data_ov00_020ea0ec -data_ov00_020ea0ec: - .space 0x4 - .global data_ov00_020ea0f0 -data_ov00_020ea0f0: - .space 0x4 - .global data_ov00_020ea0f4 -data_ov00_020ea0f4: - .space 0x4 - .global data_ov00_020ea0f8 -data_ov00_020ea0f8: - .space 0x4 - .global data_ov00_020ea0fc -data_ov00_020ea0fc: - .space 0x4 - .global data_ov00_020ea100 -data_ov00_020ea100: - .space 0x4 - .global data_ov00_020ea104 -data_ov00_020ea104: - .space 0x4 - .global data_ov00_020ea108 -data_ov00_020ea108: - .space 0x4 - .global data_ov00_020ea10c -data_ov00_020ea10c: - .space 0x4 - .global data_ov00_020ea110 -data_ov00_020ea110: - .space 0x4 - .global data_ov00_020ea114 -data_ov00_020ea114: - .space 0x4 - .global data_ov00_020ea118 -data_ov00_020ea118: - .space 0x4 - .global data_ov00_020ea11c -data_ov00_020ea11c: - .space 0x4 - .global data_ov00_020ea120 -data_ov00_020ea120: - .space 0x4 - .global data_ov00_020ea124 -data_ov00_020ea124: - .space 0x4 - .global data_ov00_020ea128 -data_ov00_020ea128: - .space 0x4 - .global data_ov00_020ea12c -data_ov00_020ea12c: - .space 0x4 - .global data_ov00_020ea130 -data_ov00_020ea130: - .space 0x4 - .global data_ov00_020ea134 -data_ov00_020ea134: - .space 0x4 - .global data_ov00_020ea138 -data_ov00_020ea138: - .space 0x4 - .global data_ov00_020ea13c -data_ov00_020ea13c: - .space 0x4 - .global data_ov00_020ea140 -data_ov00_020ea140: - .space 0x4 - .global data_ov00_020ea144 -data_ov00_020ea144: - .space 0x4 - .global data_ov00_020ea148 -data_ov00_020ea148: - .space 0x4 - .global data_ov00_020ea14c -data_ov00_020ea14c: - .space 0x4 - .global data_ov00_020ea150 -data_ov00_020ea150: - .space 0x4 - .global data_ov00_020ea154 -data_ov00_020ea154: - .space 0x4 - .global data_ov00_020ea158 -data_ov00_020ea158: - .space 0x4 - .global data_ov00_020ea15c -data_ov00_020ea15c: - .space 0x4 - .global data_ov00_020ea160 -data_ov00_020ea160: - .space 0x4 - .global data_ov00_020ea164 -data_ov00_020ea164: - .space 0x4 - .global data_ov00_020ea168 -data_ov00_020ea168: - .space 0x4 - .global data_ov00_020ea16c -data_ov00_020ea16c: - .space 0x4 - .global data_ov00_020ea170 -data_ov00_020ea170: - .space 0x4 - .global data_ov00_020ea174 -data_ov00_020ea174: - .space 0x4 - .global data_ov00_020ea178 -data_ov00_020ea178: - .space 0x4 - .global data_ov00_020ea17c -data_ov00_020ea17c: - .space 0x4 - .global data_ov00_020ea180 -data_ov00_020ea180: - .space 0x4 - .global data_ov00_020ea184 -data_ov00_020ea184: - .space 0x4 - .global data_ov00_020ea188 -data_ov00_020ea188: - .space 0x4 - .global data_ov00_020ea18c -data_ov00_020ea18c: - .space 0x4 - .global data_ov00_020ea190 -data_ov00_020ea190: - .space 0x4 - .global data_ov00_020ea194 -data_ov00_020ea194: - .space 0x4 - .global data_ov00_020ea198 -data_ov00_020ea198: - .space 0x4 - .global data_ov00_020ea19c -data_ov00_020ea19c: - .space 0x4 - .global data_ov00_020ea1a0 -data_ov00_020ea1a0: - .space 0x4 - .global data_ov00_020ea1a4 -data_ov00_020ea1a4: - .space 0x4 - .global data_ov00_020ea1a8 -data_ov00_020ea1a8: - .space 0x4 - .global data_ov00_020ea1ac -data_ov00_020ea1ac: - .space 0x4 - .global data_ov00_020ea1b0 -data_ov00_020ea1b0: - .space 0x4 - .global data_ov00_020ea1b4 -data_ov00_020ea1b4: - .space 0x4 - .global data_ov00_020ea1b8 -data_ov00_020ea1b8: - .space 0x4 - .global data_ov00_020ea1bc -data_ov00_020ea1bc: - .space 0x4 - .global data_ov00_020ea1c0 -data_ov00_020ea1c0: - .space 0x4 - .global data_ov00_020ea1c4 -data_ov00_020ea1c4: - .space 0x4 - .global data_ov00_020ea1c8 -data_ov00_020ea1c8: - .space 0x4 - .global data_ov00_020ea1cc -data_ov00_020ea1cc: - .space 0x4 - .global data_ov00_020ea1d0 -data_ov00_020ea1d0: - .space 0x4 - .global data_ov00_020ea1d4 -data_ov00_020ea1d4: - .space 0x4 - .global data_ov00_020ea1d8 -data_ov00_020ea1d8: - .space 0x4 - .global data_ov00_020ea1dc -data_ov00_020ea1dc: - .space 0x4 - .global data_ov00_020ea1e0 -data_ov00_020ea1e0: - .space 0x4 - .global data_ov00_020ea1e4 -data_ov00_020ea1e4: - .space 0x4 - .global data_ov00_020ea1e8 -data_ov00_020ea1e8: - .space 0x4 - .global data_ov00_020ea1ec -data_ov00_020ea1ec: - .space 0x4 - .global data_ov00_020ea1f0 -data_ov00_020ea1f0: - .space 0x4 - .global data_ov00_020ea1f4 -data_ov00_020ea1f4: - .space 0x4 - .global data_ov00_020ea1f8 -data_ov00_020ea1f8: - .space 0x4 - .global data_ov00_020ea1fc -data_ov00_020ea1fc: - .space 0x4 - .global data_ov00_020ea200 -data_ov00_020ea200: - .space 0x4 - .global data_ov00_020ea204 -data_ov00_020ea204: - .space 0x4 - .global data_ov00_020ea208 -data_ov00_020ea208: - .space 0x4 - .global data_ov00_020ea20c -data_ov00_020ea20c: - .space 0x4 - .global data_ov00_020ea210 -data_ov00_020ea210: - .space 0x4 - .global data_ov00_020ea214 -data_ov00_020ea214: - .space 0x4 - .global data_ov00_020ea218 -data_ov00_020ea218: - .space 0x4 - .global data_ov00_020ea21c -data_ov00_020ea21c: - .space 0x4 - .global data_ov00_020ea220 -data_ov00_020ea220: - .space 0x4 - .global data_ov00_020ea224 -data_ov00_020ea224: - .space 0x4 - .global data_ov00_020ea228 -data_ov00_020ea228: - .space 0x4 - .global data_ov00_020ea22c -data_ov00_020ea22c: - .space 0x4 - .global data_ov00_020ea230 -data_ov00_020ea230: - .space 0x4 - .global data_ov00_020ea234 -data_ov00_020ea234: - .space 0x4 - .global data_ov00_020ea238 -data_ov00_020ea238: - .space 0x4 - .global data_ov00_020ea23c -data_ov00_020ea23c: - .space 0x4 - .global data_ov00_020ea240 -data_ov00_020ea240: - .space 0x4 - .global data_ov00_020ea244 -data_ov00_020ea244: - .space 0x4 - .global data_ov00_020ea248 -data_ov00_020ea248: - .space 0x4 - .global data_ov00_020ea24c -data_ov00_020ea24c: - .space 0x4 - .global data_ov00_020ea250 -data_ov00_020ea250: - .space 0x4 - .global data_ov00_020ea254 -data_ov00_020ea254: - .space 0x4 - .global data_ov00_020ea258 -data_ov00_020ea258: - .space 0x4 - .global data_ov00_020ea25c -data_ov00_020ea25c: - .space 0x4 - .global data_ov00_020ea260 -data_ov00_020ea260: - .space 0x4 - .global data_ov00_020ea264 -data_ov00_020ea264: - .space 0x4 - .global data_ov00_020ea268 -data_ov00_020ea268: - .space 0x4 - .global data_ov00_020ea26c -data_ov00_020ea26c: - .space 0x4 - .global data_ov00_020ea270 -data_ov00_020ea270: - .space 0x4 - .global data_ov00_020ea274 -data_ov00_020ea274: - .space 0x4 - .global data_ov00_020ea278 -data_ov00_020ea278: - .space 0x4 - .global data_ov00_020ea27c -data_ov00_020ea27c: - .space 0x4 - .global data_ov00_020ea280 -data_ov00_020ea280: - .space 0x4 - .global data_ov00_020ea284 -data_ov00_020ea284: - .space 0x4 - .global data_ov00_020ea288 -data_ov00_020ea288: - .space 0x4 - .global data_ov00_020ea28c -data_ov00_020ea28c: - .space 0x4 - .global data_ov00_020ea290 -data_ov00_020ea290: - .space 0x4 - .global data_ov00_020ea294 -data_ov00_020ea294: - .space 0x4 - .global data_ov00_020ea298 -data_ov00_020ea298: - .space 0x4 - .global data_ov00_020ea29c -data_ov00_020ea29c: - .space 0x4 - .global data_ov00_020ea2a0 -data_ov00_020ea2a0: - .space 0x4 - .global data_ov00_020ea2a4 -data_ov00_020ea2a4: - .space 0x4 - .global data_ov00_020ea2a8 -data_ov00_020ea2a8: - .space 0x4 - .global data_ov00_020ea2ac -data_ov00_020ea2ac: - .space 0x4 - .global data_ov00_020ea2b0 -data_ov00_020ea2b0: - .space 0x4 - .global data_ov00_020ea2b4 -data_ov00_020ea2b4: - .space 0x4 - .global data_ov00_020ea2b8 -data_ov00_020ea2b8: - .space 0x4 - .global data_ov00_020ea2bc -data_ov00_020ea2bc: - .space 0x4 - .global data_ov00_020ea2c0 -data_ov00_020ea2c0: - .space 0x4 - .global data_ov00_020ea2c4 -data_ov00_020ea2c4: - .space 0x4 - .global data_ov00_020ea2c8 -data_ov00_020ea2c8: - .space 0x4 - .global data_ov00_020ea2cc -data_ov00_020ea2cc: - .space 0x4 - .global data_ov00_020ea2d0 -data_ov00_020ea2d0: - .space 0x4 - .global data_ov00_020ea2d4 -data_ov00_020ea2d4: - .space 0x4 - .global data_ov00_020ea2d8 -data_ov00_020ea2d8: - .space 0x4 - .global data_ov00_020ea2dc -data_ov00_020ea2dc: - .space 0x4 - .global data_ov00_020ea2e0 -data_ov00_020ea2e0: - .space 0x4 - .global data_ov00_020ea2e4 -data_ov00_020ea2e4: - .space 0x4 - .global data_ov00_020ea2e8 -data_ov00_020ea2e8: - .space 0x4 - .global data_ov00_020ea2ec -data_ov00_020ea2ec: - .space 0x4 - .global data_ov00_020ea2f0 -data_ov00_020ea2f0: - .space 0x4 - .global data_ov00_020ea2f4 -data_ov00_020ea2f4: - .space 0x4 - .global data_ov00_020ea2f8 -data_ov00_020ea2f8: - .space 0x4 - .global data_ov00_020ea2fc -data_ov00_020ea2fc: - .space 0x4 - .global data_ov00_020ea300 -data_ov00_020ea300: - .space 0x4 - .global data_ov00_020ea304 -data_ov00_020ea304: - .space 0x4 - .global data_ov00_020ea308 -data_ov00_020ea308: - .space 0x4 - .global data_ov00_020ea30c -data_ov00_020ea30c: - .space 0x4 - .global data_ov00_020ea310 -data_ov00_020ea310: - .space 0x4 - .global data_ov00_020ea314 -data_ov00_020ea314: - .space 0x4 - .global data_ov00_020ea318 -data_ov00_020ea318: - .space 0x4 - .global data_ov00_020ea31c -data_ov00_020ea31c: - .space 0x4 - .global data_ov00_020ea320 -data_ov00_020ea320: - .space 0x4 - .global data_ov00_020ea324 -data_ov00_020ea324: - .space 0x4 - .global data_ov00_020ea328 -data_ov00_020ea328: - .space 0x4 - .global data_ov00_020ea32c -data_ov00_020ea32c: - .space 0x4 - .global data_ov00_020ea330 -data_ov00_020ea330: - .space 0x4 - .global data_ov00_020ea334 -data_ov00_020ea334: - .space 0x4 - .global data_ov00_020ea338 -data_ov00_020ea338: - .space 0x4 - .global data_ov00_020ea33c -data_ov00_020ea33c: - .space 0x4 - .global data_ov00_020ea340 -data_ov00_020ea340: - .space 0x4 - .global data_ov00_020ea344 -data_ov00_020ea344: - .space 0x4 - .global data_ov00_020ea348 -data_ov00_020ea348: - .space 0x4 - .global data_ov00_020ea34c -data_ov00_020ea34c: - .space 0x4 - .global data_ov00_020ea350 -data_ov00_020ea350: - .space 0x4 - .global data_ov00_020ea354 -data_ov00_020ea354: - .space 0x4 - .global data_ov00_020ea358 -data_ov00_020ea358: - .space 0x4 - .global data_ov00_020ea35c -data_ov00_020ea35c: - .space 0x4 - .global data_ov00_020ea360 -data_ov00_020ea360: - .space 0x4 - .global data_ov00_020ea364 -data_ov00_020ea364: - .space 0x4 - .global data_ov00_020ea368 -data_ov00_020ea368: - .space 0x4 - .global data_ov00_020ea36c -data_ov00_020ea36c: - .space 0x4 - .global data_ov00_020ea370 -data_ov00_020ea370: - .space 0x4 - .global data_ov00_020ea374 -data_ov00_020ea374: - .space 0x4 - .global data_ov00_020ea378 -data_ov00_020ea378: - .space 0x4 - .global data_ov00_020ea37c -data_ov00_020ea37c: - .space 0x4 - .global data_ov00_020ea380 -data_ov00_020ea380: - .space 0x4 - .global data_ov00_020ea384 -data_ov00_020ea384: - .space 0x4 - .global data_ov00_020ea388 -data_ov00_020ea388: - .space 0x4 - .global data_ov00_020ea38c -data_ov00_020ea38c: - .space 0x4 - .global data_ov00_020ea390 -data_ov00_020ea390: - .space 0x4 - .global data_ov00_020ea394 -data_ov00_020ea394: - .space 0x4 - .global data_ov00_020ea398 -data_ov00_020ea398: - .space 0x4 - .global data_ov00_020ea39c -data_ov00_020ea39c: - .space 0x4 - .global data_ov00_020ea3a0 -data_ov00_020ea3a0: - .space 0x4 - .global data_ov00_020ea3a4 -data_ov00_020ea3a4: - .space 0x4 - .global data_ov00_020ea3a8 -data_ov00_020ea3a8: - .space 0x4 - .global data_ov00_020ea3ac -data_ov00_020ea3ac: - .space 0x4 - .global data_ov00_020ea3b0 -data_ov00_020ea3b0: - .space 0x4 - .global data_ov00_020ea3b4 -data_ov00_020ea3b4: - .space 0x4 - .global data_ov00_020ea3b8 -data_ov00_020ea3b8: - .space 0x4 - .global data_ov00_020ea3bc -data_ov00_020ea3bc: - .space 0x4 - .global data_ov00_020ea3c0 -data_ov00_020ea3c0: - .space 0x4 - .global data_ov00_020ea3c4 -data_ov00_020ea3c4: - .space 0x4 - .global data_ov00_020ea3c8 -data_ov00_020ea3c8: - .space 0x4 - .global data_ov00_020ea3cc -data_ov00_020ea3cc: - .space 0x4 - .global data_ov00_020ea3d0 -data_ov00_020ea3d0: - .space 0x4 - .global data_ov00_020ea3d4 -data_ov00_020ea3d4: - .space 0x4 - .global data_ov00_020ea3d8 -data_ov00_020ea3d8: - .space 0x4 - .global data_ov00_020ea3dc -data_ov00_020ea3dc: - .space 0x4 - .global data_ov00_020ea3e0 -data_ov00_020ea3e0: - .space 0x4 - .global data_ov00_020ea3e4 -data_ov00_020ea3e4: - .space 0x4 - .global data_ov00_020ea3e8 -data_ov00_020ea3e8: - .space 0x4 - .global data_ov00_020ea3ec -data_ov00_020ea3ec: - .space 0x4 - .global data_ov00_020ea3f0 -data_ov00_020ea3f0: - .space 0x4 - .global data_ov00_020ea3f4 -data_ov00_020ea3f4: - .space 0x4 - .global data_ov00_020ea3f8 -data_ov00_020ea3f8: - .space 0x4 - .global data_ov00_020ea3fc -data_ov00_020ea3fc: - .space 0x4 - .global data_ov00_020ea400 -data_ov00_020ea400: - .space 0x4 - .global data_ov00_020ea404 -data_ov00_020ea404: - .space 0x4 - .global data_ov00_020ea408 -data_ov00_020ea408: - .space 0x4 - .global data_ov00_020ea40c -data_ov00_020ea40c: - .space 0x4 - .global data_ov00_020ea410 -data_ov00_020ea410: - .space 0x4 - .global data_ov00_020ea414 -data_ov00_020ea414: - .space 0x4 - .global data_ov00_020ea418 -data_ov00_020ea418: - .space 0x4 - .global data_ov00_020ea41c -data_ov00_020ea41c: - .space 0x4 - .global data_ov00_020ea420 -data_ov00_020ea420: - .space 0x4 - .global data_ov00_020ea424 -data_ov00_020ea424: - .space 0x4 - .global data_ov00_020ea428 -data_ov00_020ea428: - .space 0x4 - .global data_ov00_020ea42c -data_ov00_020ea42c: - .space 0x4 - .global data_ov00_020ea430 -data_ov00_020ea430: - .space 0x4 - .global data_ov00_020ea434 -data_ov00_020ea434: - .space 0x4 - .global data_ov00_020ea438 -data_ov00_020ea438: - .space 0x4 - .global data_ov00_020ea43c -data_ov00_020ea43c: - .space 0x4 - .global data_ov00_020ea440 -data_ov00_020ea440: - .space 0x4 - .global data_ov00_020ea444 -data_ov00_020ea444: - .space 0x4 - .global data_ov00_020ea448 -data_ov00_020ea448: - .space 0x4 - .global data_ov00_020ea44c -data_ov00_020ea44c: - .space 0x4 - .global data_ov00_020ea450 -data_ov00_020ea450: - .space 0x4 - .global data_ov00_020ea454 -data_ov00_020ea454: - .space 0x4 - .global data_ov00_020ea458 -data_ov00_020ea458: - .space 0x4 - .global data_ov00_020ea45c -data_ov00_020ea45c: - .space 0x4 - .global data_ov00_020ea460 -data_ov00_020ea460: - .space 0x4 - .global data_ov00_020ea464 -data_ov00_020ea464: - .space 0x4 - .global data_ov00_020ea468 -data_ov00_020ea468: - .space 0x4 - .global data_ov00_020ea46c -data_ov00_020ea46c: - .space 0x4 - .global data_ov00_020ea470 -data_ov00_020ea470: - .space 0x4 - .global data_ov00_020ea474 -data_ov00_020ea474: - .space 0x4 - .global data_ov00_020ea478 -data_ov00_020ea478: - .space 0x4 - .global data_ov00_020ea47c -data_ov00_020ea47c: - .space 0x4 - .global data_ov00_020ea480 -data_ov00_020ea480: - .space 0x4 - .global data_ov00_020ea484 -data_ov00_020ea484: - .space 0x4 - .global data_ov00_020ea488 -data_ov00_020ea488: - .space 0x4 - .global data_ov00_020ea48c -data_ov00_020ea48c: - .space 0x4 - .global data_ov00_020ea490 -data_ov00_020ea490: - .space 0x4 - .global data_ov00_020ea494 -data_ov00_020ea494: - .space 0x4 - .global data_ov00_020ea498 -data_ov00_020ea498: - .space 0x4 - .global data_ov00_020ea49c -data_ov00_020ea49c: - .space 0x4 - .global data_ov00_020ea4a0 -data_ov00_020ea4a0: - .space 0x4 - .global data_ov00_020ea4a4 -data_ov00_020ea4a4: - .space 0x4 - .global data_ov00_020ea4a8 -data_ov00_020ea4a8: - .space 0x4 - .global data_ov00_020ea4ac -data_ov00_020ea4ac: - .space 0x4 - .global data_ov00_020ea4b0 -data_ov00_020ea4b0: - .space 0x4 - .global data_ov00_020ea4b4 -data_ov00_020ea4b4: - .space 0x4 - .global data_ov00_020ea4b8 -data_ov00_020ea4b8: - .space 0x4 - .global data_ov00_020ea4bc -data_ov00_020ea4bc: - .space 0x4 - .global data_ov00_020ea4c0 -data_ov00_020ea4c0: - .space 0x4 - .global data_ov00_020ea4c4 -data_ov00_020ea4c4: - .space 0x4 - .global data_ov00_020ea4c8 -data_ov00_020ea4c8: - .space 0x4 - .global data_ov00_020ea4cc -data_ov00_020ea4cc: - .space 0x4 - .global data_ov00_020ea4d0 -data_ov00_020ea4d0: - .space 0x4 - .global data_ov00_020ea4d4 -data_ov00_020ea4d4: - .space 0x4 - .global data_ov00_020ea4d8 -data_ov00_020ea4d8: - .space 0x4 - .global data_ov00_020ea4dc -data_ov00_020ea4dc: - .space 0x4 - .global data_ov00_020ea4e0 -data_ov00_020ea4e0: - .space 0x4 - .global data_ov00_020ea4e4 -data_ov00_020ea4e4: - .space 0x4 - .global data_ov00_020ea4e8 -data_ov00_020ea4e8: - .space 0x4 - .global data_ov00_020ea4ec -data_ov00_020ea4ec: - .space 0x4 - .global data_ov00_020ea4f0 -data_ov00_020ea4f0: - .space 0x4 - .global data_ov00_020ea4f4 -data_ov00_020ea4f4: - .space 0x4 - .global data_ov00_020ea4f8 -data_ov00_020ea4f8: - .space 0x4 - .global data_ov00_020ea4fc -data_ov00_020ea4fc: - .space 0x4 - .global data_ov00_020ea500 -data_ov00_020ea500: - .space 0x4 - .global data_ov00_020ea504 -data_ov00_020ea504: - .space 0x4 - .global data_ov00_020ea508 -data_ov00_020ea508: - .space 0x4 - .global data_ov00_020ea50c -data_ov00_020ea50c: - .space 0x4 - .global data_ov00_020ea510 -data_ov00_020ea510: - .space 0x4 - .global data_ov00_020ea514 -data_ov00_020ea514: - .space 0x4 - .global data_ov00_020ea518 -data_ov00_020ea518: - .space 0x4 - .global data_ov00_020ea51c -data_ov00_020ea51c: - .space 0x4 - .global data_ov00_020ea520 -data_ov00_020ea520: - .space 0x4 - .global data_ov00_020ea524 -data_ov00_020ea524: - .space 0x4 - .global data_ov00_020ea528 -data_ov00_020ea528: - .space 0x4 - .global data_ov00_020ea52c -data_ov00_020ea52c: - .space 0x4 - .global data_ov00_020ea530 -data_ov00_020ea530: - .space 0x4 - .global data_ov00_020ea534 -data_ov00_020ea534: - .space 0x4 - .global data_ov00_020ea538 -data_ov00_020ea538: - .space 0x4 - .global data_ov00_020ea53c -data_ov00_020ea53c: - .space 0x4 - .global data_ov00_020ea540 -data_ov00_020ea540: - .space 0x4 - .global data_ov00_020ea544 -data_ov00_020ea544: - .space 0x4 - .global data_ov00_020ea548 -data_ov00_020ea548: - .space 0x4 - .global data_ov00_020ea54c -data_ov00_020ea54c: - .space 0x4 - .global data_ov00_020ea550 -data_ov00_020ea550: - .space 0x4 - .global data_ov00_020ea554 -data_ov00_020ea554: - .space 0x4 - .global data_ov00_020ea558 -data_ov00_020ea558: - .space 0x4 - .global data_ov00_020ea55c -data_ov00_020ea55c: - .space 0x4 - .global data_ov00_020ea560 -data_ov00_020ea560: - .space 0x4 - .global data_ov00_020ea564 -data_ov00_020ea564: - .space 0x4 - .global data_ov00_020ea568 -data_ov00_020ea568: - .space 0x4 - .global data_ov00_020ea56c -data_ov00_020ea56c: - .space 0x4 - .global data_ov00_020ea570 -data_ov00_020ea570: - .space 0x4 - .global data_ov00_020ea574 -data_ov00_020ea574: - .space 0x4 - .global data_ov00_020ea578 -data_ov00_020ea578: - .space 0x4 - .global data_ov00_020ea57c -data_ov00_020ea57c: - .space 0x4 - .global data_ov00_020ea580 -data_ov00_020ea580: - .space 0x4 - .global data_ov00_020ea584 -data_ov00_020ea584: - .space 0x4 - .global data_ov00_020ea588 -data_ov00_020ea588: - .space 0x4 - .global data_ov00_020ea58c -data_ov00_020ea58c: - .space 0x4 - .global data_ov00_020ea590 -data_ov00_020ea590: - .space 0x4 - .global data_ov00_020ea594 -data_ov00_020ea594: - .space 0x4 - .global data_ov00_020ea598 -data_ov00_020ea598: - .space 0x4 - .global data_ov00_020ea59c -data_ov00_020ea59c: - .space 0x4 - .global data_ov00_020ea5a0 -data_ov00_020ea5a0: - .space 0x4 - .global data_ov00_020ea5a4 -data_ov00_020ea5a4: - .space 0x4 - .global data_ov00_020ea5a8 -data_ov00_020ea5a8: - .space 0x4 - .global data_ov00_020ea5ac -data_ov00_020ea5ac: - .space 0x4 - .global data_ov00_020ea5b0 -data_ov00_020ea5b0: - .space 0x4 - .global data_ov00_020ea5b4 -data_ov00_020ea5b4: - .space 0x4 - .global data_ov00_020ea5b8 -data_ov00_020ea5b8: - .space 0x4 - .global data_ov00_020ea5bc -data_ov00_020ea5bc: - .space 0x4 - .global data_ov00_020ea5c0 -data_ov00_020ea5c0: - .space 0x4 - .global data_ov00_020ea5c4 -data_ov00_020ea5c4: - .space 0x4 - .global data_ov00_020ea5c8 -data_ov00_020ea5c8: - .space 0x4 - .global data_ov00_020ea5cc -data_ov00_020ea5cc: - .space 0x4 - .global data_ov00_020ea5d0 -data_ov00_020ea5d0: - .space 0x4 - .global data_ov00_020ea5d4 -data_ov00_020ea5d4: - .space 0x4 - .global data_ov00_020ea5d8 -data_ov00_020ea5d8: - .space 0x4 - .global data_ov00_020ea5dc -data_ov00_020ea5dc: - .space 0x4 - .global data_ov00_020ea5e0 -data_ov00_020ea5e0: - .space 0x4 - .global data_ov00_020ea5e4 -data_ov00_020ea5e4: - .space 0x4 - .global data_ov00_020ea5e8 -data_ov00_020ea5e8: - .space 0x4 - .global data_ov00_020ea5ec -data_ov00_020ea5ec: - .space 0x4 - .global data_ov00_020ea5f0 -data_ov00_020ea5f0: - .space 0x4 - .global data_ov00_020ea5f4 -data_ov00_020ea5f4: - .space 0x4 - .global data_ov00_020ea5f8 -data_ov00_020ea5f8: - .space 0x4 - .global data_ov00_020ea5fc -data_ov00_020ea5fc: - .space 0x4 - .global data_ov00_020ea600 -data_ov00_020ea600: - .space 0x4 - .global data_ov00_020ea604 -data_ov00_020ea604: - .space 0x4 - .global data_ov00_020ea608 -data_ov00_020ea608: - .space 0x4 - .global data_ov00_020ea60c -data_ov00_020ea60c: - .space 0x4 - .global data_ov00_020ea610 -data_ov00_020ea610: - .space 0x4 - .global data_ov00_020ea614 -data_ov00_020ea614: - .space 0x4 - .global data_ov00_020ea618 -data_ov00_020ea618: - .space 0x4 - .global data_ov00_020ea61c -data_ov00_020ea61c: - .space 0x4 - .global data_ov00_020ea620 -data_ov00_020ea620: - .space 0x4 - .global data_ov00_020ea624 -data_ov00_020ea624: - .space 0x4 - .global data_ov00_020ea628 -data_ov00_020ea628: - .space 0x4 - .global data_ov00_020ea62c -data_ov00_020ea62c: - .space 0x4 - .global data_ov00_020ea630 -data_ov00_020ea630: - .space 0x4 - .global data_ov00_020ea634 -data_ov00_020ea634: - .space 0x4 - .global data_ov00_020ea638 -data_ov00_020ea638: - .space 0x4 - .global data_ov00_020ea63c -data_ov00_020ea63c: - .space 0x4 - .global data_ov00_020ea640 -data_ov00_020ea640: - .space 0x4 - .global data_ov00_020ea644 -data_ov00_020ea644: - .space 0x4 - .global data_ov00_020ea648 -data_ov00_020ea648: - .space 0x4 - .global data_ov00_020ea64c -data_ov00_020ea64c: - .space 0x4 - .global data_ov00_020ea650 -data_ov00_020ea650: - .space 0x4 - .global data_ov00_020ea654 -data_ov00_020ea654: - .space 0x4 - .global data_ov00_020ea658 -data_ov00_020ea658: - .space 0x4 - .global data_ov00_020ea65c -data_ov00_020ea65c: - .space 0x4 - .global data_ov00_020ea660 -data_ov00_020ea660: - .space 0x4 - .global data_ov00_020ea664 -data_ov00_020ea664: - .space 0x4 - .global data_ov00_020ea668 -data_ov00_020ea668: - .space 0x4 - .global data_ov00_020ea66c -data_ov00_020ea66c: - .space 0x4 - .global data_ov00_020ea670 -data_ov00_020ea670: - .space 0x4 - .global data_ov00_020ea674 -data_ov00_020ea674: - .space 0x4 - .global data_ov00_020ea678 -data_ov00_020ea678: - .space 0x4 - .global data_ov00_020ea67c -data_ov00_020ea67c: - .space 0x4 - .global data_ov00_020ea680 -data_ov00_020ea680: - .space 0x4 - .global data_ov00_020ea684 -data_ov00_020ea684: - .space 0x4 - .global data_ov00_020ea688 -data_ov00_020ea688: - .space 0x4 - .global data_ov00_020ea68c -data_ov00_020ea68c: - .space 0x4 - .global data_ov00_020ea690 -data_ov00_020ea690: - .space 0x4 - .global data_ov00_020ea694 -data_ov00_020ea694: - .space 0x4 - .global data_ov00_020ea698 -data_ov00_020ea698: - .space 0x4 - .global data_ov00_020ea69c -data_ov00_020ea69c: - .space 0x4 - .global data_ov00_020ea6a0 -data_ov00_020ea6a0: - .space 0x4 - .global data_ov00_020ea6a4 -data_ov00_020ea6a4: - .space 0x4 - .global data_ov00_020ea6a8 -data_ov00_020ea6a8: - .space 0x4 - .global data_ov00_020ea6ac -data_ov00_020ea6ac: - .space 0x4 - .global data_ov00_020ea6b0 -data_ov00_020ea6b0: - .space 0x4 - .global data_ov00_020ea6b4 -data_ov00_020ea6b4: - .space 0x4 - .global data_ov00_020ea6b8 -data_ov00_020ea6b8: - .space 0x4 - .global data_ov00_020ea6bc -data_ov00_020ea6bc: - .space 0x4 - .global data_ov00_020ea6c0 -data_ov00_020ea6c0: - .space 0x4 - .global data_ov00_020ea6c4 -data_ov00_020ea6c4: - .space 0x4 - .global data_ov00_020ea6c8 -data_ov00_020ea6c8: - .space 0x4 - .global data_ov00_020ea6cc -data_ov00_020ea6cc: - .space 0x4 - .global data_ov00_020ea6d0 -data_ov00_020ea6d0: - .space 0x4 - .global data_ov00_020ea6d4 -data_ov00_020ea6d4: - .space 0x4 - .global data_ov00_020ea6d8 -data_ov00_020ea6d8: - .space 0x4 - .global data_ov00_020ea6dc -data_ov00_020ea6dc: - .space 0x4 - .global data_ov00_020ea6e0 -data_ov00_020ea6e0: - .space 0x4 - .global data_ov00_020ea6e4 -data_ov00_020ea6e4: - .space 0x4 - .global data_ov00_020ea6e8 -data_ov00_020ea6e8: - .space 0x4 - .global data_ov00_020ea6ec -data_ov00_020ea6ec: - .space 0x4 - .global data_ov00_020ea6f0 -data_ov00_020ea6f0: - .space 0x4 - .global data_ov00_020ea6f4 -data_ov00_020ea6f4: - .space 0x4 - .global data_ov00_020ea6f8 -data_ov00_020ea6f8: - .space 0x4 - .global data_ov00_020ea6fc -data_ov00_020ea6fc: - .space 0x4 - .global data_ov00_020ea700 -data_ov00_020ea700: - .space 0x4 - .global data_ov00_020ea704 -data_ov00_020ea704: - .space 0x4 - .global data_ov00_020ea708 -data_ov00_020ea708: - .space 0x4 - .global data_ov00_020ea70c -data_ov00_020ea70c: - .space 0x4 - .global data_ov00_020ea710 -data_ov00_020ea710: - .space 0x4 - .global data_ov00_020ea714 -data_ov00_020ea714: - .space 0x4 - .global data_ov00_020ea718 -data_ov00_020ea718: - .space 0x4 - .global data_ov00_020ea71c -data_ov00_020ea71c: - .space 0x4 - .global data_ov00_020ea720 -data_ov00_020ea720: - .space 0x4 - .global data_ov00_020ea724 -data_ov00_020ea724: - .space 0x4 - .global data_ov00_020ea728 -data_ov00_020ea728: - .space 0x4 - .global data_ov00_020ea72c -data_ov00_020ea72c: - .space 0x4 - .global data_ov00_020ea730 -data_ov00_020ea730: - .space 0x4 - .global data_ov00_020ea734 -data_ov00_020ea734: - .space 0x4 - .global data_ov00_020ea738 -data_ov00_020ea738: - .space 0x4 - .global data_ov00_020ea73c -data_ov00_020ea73c: - .space 0x4 - .global data_ov00_020ea740 -data_ov00_020ea740: - .space 0x4 - .global data_ov00_020ea744 -data_ov00_020ea744: - .space 0x4 - .global data_ov00_020ea748 -data_ov00_020ea748: - .space 0x4 - .global data_ov00_020ea74c -data_ov00_020ea74c: - .space 0x4 - .global data_ov00_020ea750 -data_ov00_020ea750: - .space 0x4 - .global data_ov00_020ea754 -data_ov00_020ea754: - .space 0x4 - .global data_ov00_020ea758 -data_ov00_020ea758: - .space 0x4 - .global data_ov00_020ea75c -data_ov00_020ea75c: - .space 0x4 - .global data_ov00_020ea760 -data_ov00_020ea760: - .space 0x4 - .global data_ov00_020ea764 -data_ov00_020ea764: - .space 0x4 - .global data_ov00_020ea768 -data_ov00_020ea768: - .space 0x4 - .global data_ov00_020ea76c -data_ov00_020ea76c: - .space 0x4 - .global data_ov00_020ea770 -data_ov00_020ea770: - .space 0x4 - .global data_ov00_020ea774 -data_ov00_020ea774: - .space 0x4 - .global data_ov00_020ea778 -data_ov00_020ea778: - .space 0x4 - .global data_ov00_020ea77c -data_ov00_020ea77c: - .space 0x4 - .global data_ov00_020ea780 -data_ov00_020ea780: - .space 0x4 - .global data_ov00_020ea784 -data_ov00_020ea784: - .space 0x4 - .global data_ov00_020ea788 -data_ov00_020ea788: - .space 0x4 - .global data_ov00_020ea78c -data_ov00_020ea78c: - .space 0x4 - .global data_ov00_020ea790 -data_ov00_020ea790: - .space 0x4 - .global data_ov00_020ea794 -data_ov00_020ea794: - .space 0x4 - .global data_ov00_020ea798 -data_ov00_020ea798: - .space 0x4 - .global data_ov00_020ea79c -data_ov00_020ea79c: - .space 0x4 - .global data_ov00_020ea7a0 -data_ov00_020ea7a0: - .space 0x4 - .global data_ov00_020ea7a4 -data_ov00_020ea7a4: - .space 0x4 - .global data_ov00_020ea7a8 -data_ov00_020ea7a8: - .space 0x4 - .global data_ov00_020ea7ac -data_ov00_020ea7ac: - .space 0x4 - .global data_ov00_020ea7b0 -data_ov00_020ea7b0: - .space 0x4 - .global data_ov00_020ea7b4 -data_ov00_020ea7b4: - .space 0x4 - .global data_ov00_020ea7b8 -data_ov00_020ea7b8: - .space 0x4 - .global data_ov00_020ea7bc -data_ov00_020ea7bc: - .space 0x4 - .global data_ov00_020ea7c0 -data_ov00_020ea7c0: - .space 0x4 - .global data_ov00_020ea7c4 -data_ov00_020ea7c4: - .space 0x4 - .global data_ov00_020ea7c8 -data_ov00_020ea7c8: - .space 0x4 - .global data_ov00_020ea7cc -data_ov00_020ea7cc: - .space 0x4 - .global data_ov00_020ea7d0 -data_ov00_020ea7d0: - .space 0x4 - .global data_ov00_020ea7d4 -data_ov00_020ea7d4: - .space 0x4 - .global data_ov00_020ea7d8 -data_ov00_020ea7d8: - .space 0x4 - .global data_ov00_020ea7dc -data_ov00_020ea7dc: - .space 0x4 - .global data_ov00_020ea7e0 -data_ov00_020ea7e0: - .space 0x4 - .global data_ov00_020ea7e4 -data_ov00_020ea7e4: - .space 0x4 - .global data_ov00_020ea7e8 -data_ov00_020ea7e8: - .space 0x4 - .global data_ov00_020ea7ec -data_ov00_020ea7ec: - .space 0x4 - .global data_ov00_020ea7f0 -data_ov00_020ea7f0: - .space 0x4 - .global data_ov00_020ea7f4 -data_ov00_020ea7f4: - .space 0x4 - .global data_ov00_020ea7f8 -data_ov00_020ea7f8: - .space 0x4 - .global data_ov00_020ea7fc -data_ov00_020ea7fc: - .space 0x4 - .global data_ov00_020ea800 -data_ov00_020ea800: - .space 0x4 - .global data_ov00_020ea804 -data_ov00_020ea804: - .space 0x4 - .global data_ov00_020ea808 -data_ov00_020ea808: - .space 0x4 - .global data_ov00_020ea80c -data_ov00_020ea80c: - .space 0x4 - .global data_ov00_020ea810 -data_ov00_020ea810: - .space 0x4 - .global data_ov00_020ea814 -data_ov00_020ea814: - .space 0x4 - .global data_ov00_020ea818 -data_ov00_020ea818: - .space 0x4 - .global data_ov00_020ea81c -data_ov00_020ea81c: - .space 0x4 - .global data_ov00_020ea820 -data_ov00_020ea820: - .space 0x4 - .global data_ov00_020ea824 -data_ov00_020ea824: - .space 0x4 - .global data_ov00_020ea828 -data_ov00_020ea828: - .space 0x4 - .global data_ov00_020ea82c -data_ov00_020ea82c: - .space 0x4 - .global data_ov00_020ea830 -data_ov00_020ea830: - .space 0x4 - .global data_ov00_020ea834 -data_ov00_020ea834: - .space 0x4 - .global data_ov00_020ea838 -data_ov00_020ea838: - .space 0x4 - .global data_ov00_020ea83c -data_ov00_020ea83c: - .space 0x4 - .global data_ov00_020ea840 -data_ov00_020ea840: - .space 0x4 - .global data_ov00_020ea844 -data_ov00_020ea844: - .space 0x4 - .global data_ov00_020ea848 -data_ov00_020ea848: - .space 0x4 - .global data_ov00_020ea84c -data_ov00_020ea84c: - .space 0x4 - .global data_ov00_020ea850 -data_ov00_020ea850: - .space 0x4 - .global data_ov00_020ea854 -data_ov00_020ea854: - .space 0x4 - .global data_ov00_020ea858 -data_ov00_020ea858: - .space 0x4 - .global data_ov00_020ea85c -data_ov00_020ea85c: - .space 0x4 - .global data_ov00_020ea860 -data_ov00_020ea860: - .space 0x4 - .global data_ov00_020ea864 -data_ov00_020ea864: - .space 0x4 - .global data_ov00_020ea868 -data_ov00_020ea868: - .space 0x4 - .global data_ov00_020ea86c -data_ov00_020ea86c: - .space 0x4 - .global data_ov00_020ea870 -data_ov00_020ea870: - .space 0x4 - .global data_ov00_020ea874 -data_ov00_020ea874: - .space 0x4 - .global data_ov00_020ea878 -data_ov00_020ea878: - .space 0x4 - .global data_ov00_020ea87c -data_ov00_020ea87c: - .space 0x4 - .global data_ov00_020ea880 -data_ov00_020ea880: - .space 0x4 - .global data_ov00_020ea884 -data_ov00_020ea884: - .space 0x4 - .global data_ov00_020ea888 -data_ov00_020ea888: - .space 0x4 - .global data_ov00_020ea88c -data_ov00_020ea88c: - .space 0x4 - .global data_ov00_020ea890 -data_ov00_020ea890: - .space 0x4 - .global data_ov00_020ea894 -data_ov00_020ea894: - .space 0x4 - .global data_ov00_020ea898 -data_ov00_020ea898: - .space 0x4 - .global data_ov00_020ea89c -data_ov00_020ea89c: - .space 0x4 - .global data_ov00_020ea8a0 -data_ov00_020ea8a0: - .space 0x4 - .global data_ov00_020ea8a4 -data_ov00_020ea8a4: - .space 0x4 - .global data_ov00_020ea8a8 -data_ov00_020ea8a8: - .space 0x4 - .global data_ov00_020ea8ac -data_ov00_020ea8ac: - .space 0x4 - .global data_ov00_020ea8b0 -data_ov00_020ea8b0: - .space 0x4 - .global data_ov00_020ea8b4 -data_ov00_020ea8b4: - .space 0x4 - .global data_ov00_020ea8b8 -data_ov00_020ea8b8: - .space 0x4 - .global data_ov00_020ea8bc -data_ov00_020ea8bc: - .space 0x4 - .global data_ov00_020ea8c0 -data_ov00_020ea8c0: - .space 0x4 - .global data_ov00_020ea8c4 -data_ov00_020ea8c4: - .space 0x4 - .global data_ov00_020ea8c8 -data_ov00_020ea8c8: - .space 0x4 - .global data_ov00_020ea8cc -data_ov00_020ea8cc: - .space 0x4 - .global data_ov00_020ea8d0 -data_ov00_020ea8d0: - .space 0x4 - .global data_ov00_020ea8d4 -data_ov00_020ea8d4: - .space 0x4 - .global data_ov00_020ea8d8 -data_ov00_020ea8d8: - .space 0x4 - .global data_ov00_020ea8dc -data_ov00_020ea8dc: - .space 0x4 - .global data_ov00_020ea8e0 -data_ov00_020ea8e0: - .space 0x4 - .global data_ov00_020ea8e4 -data_ov00_020ea8e4: - .space 0x4 - .global data_ov00_020ea8e8 -data_ov00_020ea8e8: - .space 0x4 - .global data_ov00_020ea8ec -data_ov00_020ea8ec: - .space 0x4 - .global data_ov00_020ea8f0 -data_ov00_020ea8f0: - .space 0x4 - .global data_ov00_020ea8f4 -data_ov00_020ea8f4: - .space 0x4 - .global data_ov00_020ea8f8 -data_ov00_020ea8f8: - .space 0x4 - .global data_ov00_020ea8fc -data_ov00_020ea8fc: - .space 0x4 - .global data_ov00_020ea900 -data_ov00_020ea900: - .space 0x4 - .global data_ov00_020ea904 -data_ov00_020ea904: - .space 0x4 - .global data_ov00_020ea908 -data_ov00_020ea908: - .space 0x4 - .global data_ov00_020ea90c -data_ov00_020ea90c: - .space 0x4 - .global data_ov00_020ea910 -data_ov00_020ea910: - .space 0x4 - .global data_ov00_020ea914 -data_ov00_020ea914: - .space 0x4 - .global data_ov00_020ea918 -data_ov00_020ea918: - .space 0x4 - .global data_ov00_020ea91c -data_ov00_020ea91c: - .space 0x4 - .global data_ov00_020ea920 -data_ov00_020ea920: - .space 0x4 - .global data_ov00_020ea924 -data_ov00_020ea924: - .space 0x4 - .global data_ov00_020ea928 -data_ov00_020ea928: - .space 0x4 - .global data_ov00_020ea92c -data_ov00_020ea92c: - .space 0x4 - .global data_ov00_020ea930 -data_ov00_020ea930: - .space 0x4 - .global data_ov00_020ea934 -data_ov00_020ea934: - .space 0x4 - .global data_ov00_020ea938 -data_ov00_020ea938: - .space 0x4 - .global data_ov00_020ea93c -data_ov00_020ea93c: - .space 0x4 - .global data_ov00_020ea940 -data_ov00_020ea940: - .space 0x4 - .global data_ov00_020ea944 -data_ov00_020ea944: - .space 0x4 - .global data_ov00_020ea948 -data_ov00_020ea948: - .space 0x4 - .global data_ov00_020ea94c -data_ov00_020ea94c: - .space 0x4 - .global data_ov00_020ea950 -data_ov00_020ea950: - .space 0x4 - .global data_ov00_020ea954 -data_ov00_020ea954: - .space 0x4 - .global data_ov00_020ea958 -data_ov00_020ea958: - .space 0x4 - .global data_ov00_020ea95c -data_ov00_020ea95c: - .space 0x4 - .global data_ov00_020ea960 -data_ov00_020ea960: - .space 0x4 - .global data_ov00_020ea964 -data_ov00_020ea964: - .space 0x4 - .global data_ov00_020ea968 -data_ov00_020ea968: - .space 0x4 - .global data_ov00_020ea96c -data_ov00_020ea96c: - .space 0x4 - .global data_ov00_020ea970 -data_ov00_020ea970: - .space 0x4 - .global data_ov00_020ea974 -data_ov00_020ea974: - .space 0x4 - .global data_ov00_020ea978 -data_ov00_020ea978: - .space 0x4 - .global data_ov00_020ea97c -data_ov00_020ea97c: - .space 0x4 - .global data_ov00_020ea980 -data_ov00_020ea980: - .space 0x4 - .global data_ov00_020ea984 -data_ov00_020ea984: - .space 0x4 - .global data_ov00_020ea988 -data_ov00_020ea988: - .space 0x4 - .global data_ov00_020ea98c -data_ov00_020ea98c: - .space 0x4 - .global data_ov00_020ea990 -data_ov00_020ea990: - .space 0x4 - .global data_ov00_020ea994 -data_ov00_020ea994: - .space 0x4 - .global data_ov00_020ea998 -data_ov00_020ea998: - .space 0x4 - .global data_ov00_020ea99c -data_ov00_020ea99c: - .space 0x4 - .global data_ov00_020ea9a0 -data_ov00_020ea9a0: - .space 0x4 - .global data_ov00_020ea9a4 -data_ov00_020ea9a4: - .space 0x4 - .global data_ov00_020ea9a8 -data_ov00_020ea9a8: - .space 0x4 - .global data_ov00_020ea9ac -data_ov00_020ea9ac: - .space 0x4 - .global data_ov00_020ea9b0 -data_ov00_020ea9b0: - .space 0x4 - .global data_ov00_020ea9b4 -data_ov00_020ea9b4: - .space 0x4 - .global data_ov00_020ea9b8 -data_ov00_020ea9b8: - .space 0x4 - .global data_ov00_020ea9bc -data_ov00_020ea9bc: - .space 0x4 - .global data_ov00_020ea9c0 -data_ov00_020ea9c0: - .space 0x4 - .global data_ov00_020ea9c4 -data_ov00_020ea9c4: - .space 0x4 - .global data_ov00_020ea9c8 -data_ov00_020ea9c8: - .space 0x4 - .global data_ov00_020ea9cc -data_ov00_020ea9cc: - .space 0x4 - .global data_ov00_020ea9d0 -data_ov00_020ea9d0: - .space 0x4 - .global data_ov00_020ea9d4 -data_ov00_020ea9d4: - .space 0x4 - .global data_ov00_020ea9d8 -data_ov00_020ea9d8: - .space 0x4 - .global data_ov00_020ea9dc -data_ov00_020ea9dc: - .space 0x4 - .global data_ov00_020ea9e0 -data_ov00_020ea9e0: - .space 0x4 - .global data_ov00_020ea9e4 -data_ov00_020ea9e4: - .space 0x4 - .global data_ov00_020ea9e8 -data_ov00_020ea9e8: - .space 0x4 - .global data_ov00_020ea9ec -data_ov00_020ea9ec: - .space 0x4 - .global data_ov00_020ea9f0 -data_ov00_020ea9f0: - .space 0x4 - .global data_ov00_020ea9f4 -data_ov00_020ea9f4: - .space 0x4 - .global data_ov00_020ea9f8 -data_ov00_020ea9f8: - .space 0x4 - .global data_ov00_020ea9fc -data_ov00_020ea9fc: - .space 0x4 - .global data_ov00_020eaa00 -data_ov00_020eaa00: - .space 0x4 - .global data_ov00_020eaa04 -data_ov00_020eaa04: - .space 0x4 - .global data_ov00_020eaa08 -data_ov00_020eaa08: - .space 0x4 - .global data_ov00_020eaa0c -data_ov00_020eaa0c: - .space 0x4 - .global data_ov00_020eaa10 -data_ov00_020eaa10: - .space 0x4 - .global data_ov00_020eaa14 -data_ov00_020eaa14: - .space 0x4 - .global data_ov00_020eaa18 -data_ov00_020eaa18: - .space 0x4 - .global data_ov00_020eaa1c -data_ov00_020eaa1c: - .space 0x4 - .global data_ov00_020eaa20 -data_ov00_020eaa20: - .space 0x4 - .global data_ov00_020eaa24 -data_ov00_020eaa24: - .space 0x4 - .global data_ov00_020eaa28 -data_ov00_020eaa28: - .space 0x4 - .global data_ov00_020eaa2c -data_ov00_020eaa2c: - .space 0x4 - .global data_ov00_020eaa30 -data_ov00_020eaa30: - .space 0x4 - .global data_ov00_020eaa34 -data_ov00_020eaa34: - .space 0x4 - .global data_ov00_020eaa38 -data_ov00_020eaa38: - .space 0x4 - .global data_ov00_020eaa3c -data_ov00_020eaa3c: - .space 0x4 - .global data_ov00_020eaa40 -data_ov00_020eaa40: - .space 0x4 - .global data_ov00_020eaa44 -data_ov00_020eaa44: - .space 0x4 - .global data_ov00_020eaa48 -data_ov00_020eaa48: - .space 0x4 - .global data_ov00_020eaa4c -data_ov00_020eaa4c: - .space 0x4 - .global data_ov00_020eaa50 -data_ov00_020eaa50: - .space 0x4 - .global data_ov00_020eaa54 -data_ov00_020eaa54: - .space 0x4 - .global data_ov00_020eaa58 -data_ov00_020eaa58: - .space 0x4 - .global data_ov00_020eaa5c -data_ov00_020eaa5c: - .space 0x4 - .global data_ov00_020eaa60 -data_ov00_020eaa60: - .space 0x4 - .global data_ov00_020eaa64 -data_ov00_020eaa64: - .space 0x4 - .global data_ov00_020eaa68 -data_ov00_020eaa68: - .space 0x4 - .global data_ov00_020eaa6c -data_ov00_020eaa6c: - .space 0x4 - .global data_ov00_020eaa70 -data_ov00_020eaa70: - .space 0x4 - .global data_ov00_020eaa74 -data_ov00_020eaa74: - .space 0x4 - .global data_ov00_020eaa78 -data_ov00_020eaa78: - .space 0x4 - .global data_ov00_020eaa7c -data_ov00_020eaa7c: - .space 0x4 - .global data_ov00_020eaa80 -data_ov00_020eaa80: - .space 0x4 - .global data_ov00_020eaa84 -data_ov00_020eaa84: - .space 0x4 - .global data_ov00_020eaa88 -data_ov00_020eaa88: - .space 0x4 - .global data_ov00_020eaa8c -data_ov00_020eaa8c: - .space 0x4 - .global data_ov00_020eaa90 -data_ov00_020eaa90: - .space 0x4 - .global data_ov00_020eaa94 -data_ov00_020eaa94: - .space 0x4 - .global data_ov00_020eaa98 -data_ov00_020eaa98: - .space 0x4 - .global data_ov00_020eaa9c -data_ov00_020eaa9c: - .space 0x4 - .global data_ov00_020eaaa0 -data_ov00_020eaaa0: - .space 0x4 - .global data_ov00_020eaaa4 -data_ov00_020eaaa4: - .space 0x4 - .global data_ov00_020eaaa8 -data_ov00_020eaaa8: - .space 0x4 - .global data_ov00_020eaaac -data_ov00_020eaaac: - .space 0x4 - .global data_ov00_020eaab0 -data_ov00_020eaab0: - .space 0x4 - .global data_ov00_020eaab4 -data_ov00_020eaab4: - .space 0x4 - .global data_ov00_020eaab8 -data_ov00_020eaab8: - .space 0x4 - .global data_ov00_020eaabc -data_ov00_020eaabc: - .space 0x4 - .global data_ov00_020eaac0 -data_ov00_020eaac0: - .space 0x4 - .sbss - .global data_ov00_020ec718 -data_ov00_020ec718: - .space 0x3c - .global data_ov00_020ec754 -data_ov00_020ec754: - .space 0x4 - .global data_ov00_020ec758 -data_ov00_020ec758: - .space 0x40 - .global data_ov00_020ec798 -data_ov00_020ec798: - .space 0x44 - .global data_ov00_020ec7dc -data_ov00_020ec7dc: - .space 0x12 - .global data_ov00_020ec7ee -data_ov00_020ec7ee: - .space 0x1 - .global data_ov00_020ec7ef -data_ov00_020ec7ef: - .space 0x1 - .global data_ov00_020ec7f0 -data_ov00_020ec7f0: - .space 0x2c - .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 0x4 - .global data_ov00_020ec828 -data_ov00_020ec828: - .space 0x4 - .global data_ov00_020ec82c -data_ov00_020ec82c: - .space 0x4 - .global data_ov00_020ec830 -data_ov00_020ec830: - .space 0x4 - .global data_ov00_020ec834 -data_ov00_020ec834: - .space 0x4 - .global data_ov00_020ec838 -data_ov00_020ec838: - .space 0x4 - .global data_ov00_020ec83c -data_ov00_020ec83c: - .space 0x4 - .global data_ov00_020ec840 -data_ov00_020ec840: - .space 0x4 - .global data_ov00_020ec844 -data_ov00_020ec844: - .space 0x4 - .global data_ov00_020ec848 -data_ov00_020ec848: - .space 0x4 - .global data_ov00_020ec84c -data_ov00_020ec84c: - .space 0x4 - .global data_ov00_020ec850 -data_ov00_020ec850: - .space 0x4 - .global data_ov00_020ec854 -data_ov00_020ec854: - .space 0x4 - .global data_ov00_020ec858 -data_ov00_020ec858: - .space 0x4 - .global data_ov00_020ec85c -data_ov00_020ec85c: - .space 0x4 - .global data_ov00_020ec860 -data_ov00_020ec860: - .space 0x4 - .global data_ov00_020ec864 -data_ov00_020ec864: - .space 0x4 - .global data_ov00_020ec868 -data_ov00_020ec868: - .space 0x4 - .global data_ov00_020ec86c -data_ov00_020ec86c: - .space 0x4 - .global data_ov00_020ec870 -data_ov00_020ec870: - .space 0x4 - .global data_ov00_020ec874 -data_ov00_020ec874: - .space 0x4 - .global data_ov00_020ec878 -data_ov00_020ec878: - .space 0x4 - .global data_ov00_020ec87c -data_ov00_020ec87c: - .space 0x4 - .global data_ov00_020ec880 -data_ov00_020ec880: - .space 0x4 - .global data_ov00_020ec884 -data_ov00_020ec884: - .space 0x4 - .global data_ov00_020ec888 -data_ov00_020ec888: - .space 0x4 - .global data_ov00_020ec88c -data_ov00_020ec88c: - .space 0x4 - .global data_ov00_020ec890 -data_ov00_020ec890: - .space 0x4 - .global data_ov00_020ec894 -data_ov00_020ec894: - .space 0x4 - .global data_ov00_020ec898 -data_ov00_020ec898: - .space 0x4 - .global data_ov00_020ec89c -data_ov00_020ec89c: - .space 0x4 - .global data_ov00_020ec8a0 -data_ov00_020ec8a0: - .space 0x4 - .global data_ov00_020ec8a4 -data_ov00_020ec8a4: - .space 0x4 - .global data_ov00_020ec8a8 -data_ov00_020ec8a8: - .space 0x4 - .global data_ov00_020ec8ac -data_ov00_020ec8ac: - .space 0x4 - .global data_ov00_020ec8b0 -data_ov00_020ec8b0: - .space 0x4 - .global data_ov00_020ec8b4 -data_ov00_020ec8b4: - .space 0x4 - .global data_ov00_020ec8b8 -data_ov00_020ec8b8: - .space 0x4 - .global data_ov00_020ec8bc -data_ov00_020ec8bc: - .space 0x4 - .global data_ov00_020ec8c0 -data_ov00_020ec8c0: - .space 0x4 - .global data_ov00_020ec8c4 -data_ov00_020ec8c4: - .space 0x4 - .global data_ov00_020ec8c8 -data_ov00_020ec8c8: - .space 0x4 - .global data_ov00_020ec8cc -data_ov00_020ec8cc: - .space 0x4 - .global data_ov00_020ec8d0 -data_ov00_020ec8d0: - .space 0x4 - .global data_ov00_020ec8d4 -data_ov00_020ec8d4: - .space 0x4 - .global data_ov00_020ec8d8 -data_ov00_020ec8d8: - .space 0x4 - .global data_ov00_020ec8dc -data_ov00_020ec8dc: - .space 0x4 - .global data_ov00_020ec8e0 -data_ov00_020ec8e0: - .space 0x4 - .global data_ov00_020ec8e4 -data_ov00_020ec8e4: - .space 0x4 - .global data_ov00_020ec8e8 -data_ov00_020ec8e8: - .space 0x4 - .global data_ov00_020ec8ec -data_ov00_020ec8ec: - .space 0x4 - .global data_ov00_020ec8f0 -data_ov00_020ec8f0: - .space 0x4 - .global data_ov00_020ec8f4 -data_ov00_020ec8f4: - .space 0x4 - .global data_ov00_020ec8f8 -data_ov00_020ec8f8: - .space 0x4 - .global data_ov00_020ec8fc -data_ov00_020ec8fc: - .space 0x4 - .global data_ov00_020ec900 -data_ov00_020ec900: - .space 0x4 - .global data_ov00_020ec904 -data_ov00_020ec904: - .space 0x4 - .global data_ov00_020ec908 -data_ov00_020ec908: - .space 0x4 - .global data_ov00_020ec90c -data_ov00_020ec90c: - .space 0x4 - .global data_ov00_020ec910 -data_ov00_020ec910: - .space 0x4 - .global data_ov00_020ec914 -data_ov00_020ec914: - .space 0x4 - .global data_ov00_020ec918 -data_ov00_020ec918: - .space 0x4 - .global data_ov00_020ec91c -data_ov00_020ec91c: - .space 0x4 - .global data_ov00_020ec920 -data_ov00_020ec920: - .space 0x4 - .global data_ov00_020ec924 -data_ov00_020ec924: - .space 0x4 - .global data_ov00_020ec928 -data_ov00_020ec928: - .space 0x4 - .global data_ov00_020ec92c -data_ov00_020ec92c: - .space 0x4 - .global data_ov00_020ec930 -data_ov00_020ec930: - .space 0x4 - .global data_ov00_020ec934 -data_ov00_020ec934: - .space 0x4 - .global data_ov00_020ec938 -data_ov00_020ec938: - .space 0x4 - .global data_ov00_020ec93c -data_ov00_020ec93c: - .space 0x4 - .global data_ov00_020ec940 -data_ov00_020ec940: - .space 0x4 - .global data_ov00_020ec944 -data_ov00_020ec944: - .space 0x4 - .global data_ov00_020ec948 -data_ov00_020ec948: - .space 0x4 - .global data_ov00_020ec94c -data_ov00_020ec94c: - .space 0x4 - .global data_ov00_020ec950 -data_ov00_020ec950: - .space 0x4 - .global data_ov00_020ec954 -data_ov00_020ec954: - .space 0x4 - .global data_ov00_020ec958 -data_ov00_020ec958: - .space 0x4 - .global data_ov00_020ec95c -data_ov00_020ec95c: - .space 0x4 - .global data_ov00_020ec960 -data_ov00_020ec960: - .space 0x4 - .global data_ov00_020ec964 -data_ov00_020ec964: - .space 0x4 - .global data_ov00_020ec968 -data_ov00_020ec968: - .space 0x4 - .global data_ov00_020ec96c -data_ov00_020ec96c: - .space 0x4 - .global data_ov00_020ec970 -data_ov00_020ec970: - .space 0x4 - .global data_ov00_020ec974 -data_ov00_020ec974: - .space 0x4 - .global data_ov00_020ec978 -data_ov00_020ec978: - .space 0x4 - .global data_ov00_020ec97c -data_ov00_020ec97c: - .space 0x4 - .global data_ov00_020ec980 -data_ov00_020ec980: - .space 0x4 - .global data_ov00_020ec984 -data_ov00_020ec984: - .space 0x4 - .global data_ov00_020ec988 -data_ov00_020ec988: - .space 0x4 - .global data_ov00_020ec98c -data_ov00_020ec98c: - .space 0x4 - .global data_ov00_020ec990 -data_ov00_020ec990: - .space 0x4 - .global data_ov00_020ec994 -data_ov00_020ec994: - .space 0x4 - .global data_ov00_020ec998 -data_ov00_020ec998: - .space 0x4 - .global data_ov00_020ec99c -data_ov00_020ec99c: - .space 0x4 - .global data_ov00_020ec9a0 -data_ov00_020ec9a0: - .space 0x4 - .global data_ov00_020ec9a4 -data_ov00_020ec9a4: - .space 0x4 - .global data_ov00_020ec9a8 -data_ov00_020ec9a8: - .space 0x4 - .global data_ov00_020ec9ac -data_ov00_020ec9ac: - .space 0x4 - .global data_ov00_020ec9b0 -data_ov00_020ec9b0: - .space 0x4 - .global data_ov00_020ec9b4 -data_ov00_020ec9b4: - .space 0x4 - .global data_ov00_020ec9b8 -data_ov00_020ec9b8: - .space 0x4 - .global data_ov00_020ec9bc -data_ov00_020ec9bc: - .space 0x4 - .global data_ov00_020ec9c0 -data_ov00_020ec9c0: - .space 0x4 - .global data_ov00_020ec9c4 -data_ov00_020ec9c4: - .space 0x4 - .global data_ov00_020ec9c8 -data_ov00_020ec9c8: - .space 0x4 - .global data_ov00_020ec9cc -data_ov00_020ec9cc: - .space 0x4 - .global data_ov00_020ec9d0 -data_ov00_020ec9d0: - .space 0x4 .global data_ov00_020ec9d4 data_ov00_020ec9d4: .space 0x2 diff --git a/asm/ov00/ov00_020980f4.inc b/asm/ov00/ov00_020980f4.inc index 66c4c9ee..04091b0a 100644 --- a/asm/ov00/ov00_020980f4.inc +++ b/asm/ov00/ov00_020980f4.inc @@ -2,6 +2,23 @@ .extern Approach_thunk .extern Divide .extern FastDivide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_b0Ev +.extern _ZN10MapManager17GetMapData_Unk_06Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02082424Ev +.extern _ZN10MapManager18func_ov00_02082538Ev +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083908EcPi +.extern _ZN10MapManager18func_ov00_02083928EPci +.extern _ZN10MapManager18func_ov00_02083938Ei +.extern _ZN10MapManager18func_ov00_02083978EiP5Vec3p +.extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN10PlayerBase12SetUpdatePosEb .extern _ZN11ItemManager21LoadDungeonItemModelsEv @@ -78,7 +95,6 @@ .extern data_027e0d38 .extern data_027e0db0 .extern data_027e0de4 -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f78 @@ -189,23 +205,6 @@ .extern func_ov00_02080f20 .extern func_ov00_02080f64 .extern func_ov00_02080f94 -.extern func_ov00_02082424 -.extern func_ov00_02082538 -.extern func_ov00_02082638 -.extern func_ov00_02082d08 -.extern func_ov00_020833f4 -.extern func_ov00_02083400 -.extern func_ov00_0208344c -.extern func_ov00_020836dc -.extern func_ov00_020838e8 -.extern func_ov00_02083908 -.extern func_ov00_02083928 -.extern func_ov00_02083938 -.extern func_ov00_02083948 -.extern func_ov00_02083978 -.extern func_ov00_02083ee0 -.extern func_ov00_02084984 -.extern func_ov00_02084b38 .extern func_ov00_02086cd0 .extern func_ov00_02086ed4 .extern func_ov00_0208726c @@ -360,6 +359,7 @@ .extern func_ov40_021833c4 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcat .extern strcmp diff --git a/asm/ov00/ov00_020980f4.s b/asm/ov00/ov00_020980f4.s index 8449e284..bc9cb609 100644 --- a/asm/ov00/ov00_020980f4.s +++ b/asm/ov00/ov00_020980f4.s @@ -301,7 +301,7 @@ _0209848c: sub r2, r3, #2 mov ip, #0x47 mov r1, #0xff - ldr r0, _020985b8 ; =data_027e0e60 + ldr r0, _020985b8 ; =gMapManager str r2, [sp, #0x18] str ip, [sp, #0xc] str r3, [sp, #0x10] @@ -314,7 +314,7 @@ _0209848c: ldrb r1, [r4, #0xe] ldr r0, [r0] add r2, sp, #0xc - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _020985bc ; =data_027e0d38 mov r2, #1 ldr r0, [r0] @@ -354,7 +354,7 @@ _020985a8: .word data_027e0f64 _020985ac: .word data_027e0f90 _020985b0: .word data_027e0c54 _020985b4: .word data_027e0db0 -_020985b8: .word data_027e0e60 +_020985b8: .word gMapManager _020985bc: .word data_027e0d38 .global func_ov00_020985c0 @@ -1469,7 +1469,7 @@ _020993b4: sub r2, r3, #2 mov r4, #0x47 mov r1, #0xff - ldr r0, _020994cc ; =data_027e0e60 + ldr r0, _020994cc ; =gMapManager str r2, [sp, #0x14] str r4, [sp, #8] str r3, [sp, #0xc] @@ -1482,7 +1482,7 @@ _020993b4: ldrb r1, [r6, #0x2b] ldr r0, [r0] add r2, sp, #8 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, r5, r6, pc} @@ -1535,7 +1535,7 @@ _020994bc: .word data_027e0f68 _020994c0: .word data_027e0f64 _020994c4: .word data_027e0c68 _020994c8: .word data_027e0db0 -_020994cc: .word data_027e0e60 +_020994cc: .word gMapManager _020994d0: .word data_027e0d38 _020994d4: .word 0x414e4353 @@ -5632,15 +5632,15 @@ func_ov00_0209c8f4: ; 0x0209c8f4 str r1, [r4, #0xfc] ldmia sp!, {r4, pc} _0209c93c: - ldr r0, _0209c954 ; =data_027e0e60 + ldr r0, _0209c954 ; =gMapManager add r1, r4, #0xf8 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0209c8f4 _0209c950: .word data_027e0f94 -_0209c954: .word data_027e0e60 +_0209c954: .word gMapManager .global func_ov00_0209c958 arm_func_start func_ov00_0209c958 @@ -5743,14 +5743,14 @@ func_ov00_0209ca80: ; 0x0209ca80 bl func_01ffa8d4 ldr r1, _0209cbbc ; =0x04000444 mov r2, #0 - ldr r0, _0209cbc0 ; =data_027e0e60 + ldr r0, _0209cbc0 ; =gMapManager str r2, [r1] ldr r0, [r0] - bl func_ov00_02083400 - ldr r1, _0209cbc0 ; =data_027e0e60 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + ldr r1, _0209cbc0 ; =gMapManager mov r4, r0 ldr r0, [r1] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr ip, _0209cbc4 ; =0x04000470 mov r1, #0 str r0, [ip] @@ -5820,7 +5820,7 @@ func_ov00_0209ca80: ; 0x0209ca80 .align 2, 0 arm_func_end func_ov00_0209ca80 _0209cbbc: .word 0x04000444 -_0209cbc0: .word data_027e0e60 +_0209cbc0: .word gMapManager _0209cbc4: .word 0x04000470 _0209cbc8: .word 0x4210ffff _0209cbcc: .word 0x001f0080 @@ -5830,11 +5830,11 @@ _0209cbd0: .word 0x04000504 arm_func_start func_ov00_0209cbd4 func_ov00_0209cbd4: ; 0x0209cbd4 stmdb sp!, {r3, r4, r5, lr} - ldr r3, _0209cc2c ; =data_027e0e60 + ldr r3, _0209cc2c ; =gMapManager mov r5, r0 ldr r0, [r3] mov r4, r2 - bl func_ov00_02083978 + bl _ZN10MapManager18func_ov00_02083978EiP5Vec3p cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} @@ -5853,7 +5853,7 @@ func_ov00_0209cbd4: ; 0x0209cbd4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_0209cbd4 -_0209cc2c: .word data_027e0e60 +_0209cc2c: .word gMapManager .global func_ov00_0209cc30 arm_func_start func_ov00_0209cc30 @@ -5888,11 +5888,11 @@ func_ov00_0209cc48: ; 0x0209cc48 ldrh r1, [r4, #0x1a] ldr r0, [r0] bl func_ov00_020c4648 - ldr r0, _0209cce0 ; =data_027e0e60 + ldr r0, _0209cce0 ; =gMapManager ldrh r1, [r4, #0x1c] ldrh r2, [r4, #0x1e] ldr r0, [r0] - bl func_ov00_02082638 + bl _ZN10MapManager16MapData_vfunc_b0Ev ldr r0, _0209cce4 ; =data_027e0f68 ldrh r1, [r4, #0x1c] ldr r0, [r0] @@ -5915,7 +5915,7 @@ func_ov00_0209cc48: ; 0x0209cc48 arm_func_end func_ov00_0209cc48 _0209ccd8: .word gItemManager _0209ccdc: .word data_027e0fec -_0209cce0: .word data_027e0e60 +_0209cce0: .word gMapManager _0209cce4: .word data_027e0f68 .global func_ov00_0209cce8 @@ -6642,7 +6642,7 @@ func_ov00_0209d564: ; 0x0209d564 mov r2, #2 str r0, [sp, #0x28] ldr r1, [lr, #0x288] - ldr r0, _0209d6cc ; =data_027e0e60 + ldr r0, _0209d6cc ; =gMapManager str r1, [sp, #0x2c] ldr lr, [lr, #0x28c] add r1, sp, #0x40 @@ -6698,7 +6698,7 @@ _0209d694: arm_func_end func_ov00_0209d564 _0209d6c4: .word 0x0000ffff _0209d6c8: .word 0x00000333 -_0209d6cc: .word data_027e0e60 +_0209d6cc: .word gMapManager .global func_ov00_0209d6d0 arm_func_start func_ov00_0209d6d0 @@ -8276,10 +8276,10 @@ _0209e9c0: strh r2, [r0, #0x18] cmp ip, #2 blo _0209e9c0 - ldr r0, _0209eafc ; =data_027e0e60 + ldr r0, _0209eafc ; =gMapManager add r1, sp, #0xc ldr r0, [r0] - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldrb r0, [sp, #0x10] add r2, r4, #0x168 strb r0, [r4, #0x162] @@ -8290,10 +8290,10 @@ _0209e9c0: moveq r0, #1 movne r0, #0 strb r0, [r4, #0x165] - ldr r0, _0209eafc ; =data_027e0e60 + ldr r0, _0209eafc ; =gMapManager ldrb r1, [r4, #0x163] ldr r0, [r0] - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi ldrh r0, [r4, #0x22] cmp r0, #0 beq _0209ea30 @@ -8357,7 +8357,7 @@ _0209eae4: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0209e994 -_0209eafc: .word data_027e0e60 +_0209eafc: .word gMapManager .global func_ov00_0209eb00 arm_func_start func_ov00_0209eb00 @@ -8448,11 +8448,11 @@ _0209ec14: cmp r2, #0 movne r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _0209ecd0 ; =data_027e0e60 + ldr r0, _0209ecd0 ; =gMapManager ldrb r1, [r4, #0x162] ldr r0, [r0] mov r2, r3 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0209ecd4 ; =data_027e0f64 ldrb r1, [r4, #0x165] ldr r0, [r0] @@ -8479,11 +8479,11 @@ _0209ec80: mov r3, #0 bl func_ov00_02087400 _0209ec9c: - ldr r0, _0209ecd0 ; =data_027e0e60 + ldr r0, _0209ecd0 ; =gMapManager ldrb r1, [r4, #0x16c] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci b _0209ecc8 _0209ecb4: ldr r0, _0209ecd4 ; =data_027e0f64 @@ -8496,7 +8496,7 @@ _0209ecc8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0209ebec -_0209ecd0: .word data_027e0e60 +_0209ecd0: .word gMapManager _0209ecd4: .word data_027e0f64 .global func_ov00_0209ecd8 @@ -8509,11 +8509,11 @@ func_ov00_0209ecd8: ; 0x0209ecd8 cmp r1, #1 b _0209ed08 _0209ecf0: - ldr r2, _0209ed14 ; =data_027e0e60 + ldr r2, _0209ed14 ; =gMapManager ldrb r1, [r0, #0x164] ldr r0, [r2] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii ldmia sp!, {r3, pc} _0209ed08: mov r1, #1 @@ -8521,7 +8521,7 @@ _0209ed08: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_0209ecd8 -_0209ed14: .word data_027e0e60 +_0209ed14: .word gMapManager .global func_ov00_0209ed18 arm_func_start func_ov00_0209ed18 @@ -12501,21 +12501,21 @@ func_ov00_020a1dc8: ; 0x020a1dc8 _020a1de8: cmp r2, #0 bne _020a1e4c - ldr r0, _020a1e54 ; =data_027e0e60 + ldr r0, _020a1e54 ; =gMapManager ldrb r1, [r4, #0x15c] ldrb r2, [r4, #0x29] ldr r0, [r0] mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii b _020a1e4c _020a1e0c: bl func_ov00_020a1e58 - ldr r0, _020a1e54 ; =data_027e0e60 + ldr r0, _020a1e54 ; =gMapManager ldrb r1, [r4, #0x15c] ldrb r2, [r4, #0x29] ldr r0, [r0] mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, [r4, #0x158] cmp r0, #0 bne _020a1e4c @@ -12530,7 +12530,7 @@ _020a1e4c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a1dc8 -_020a1e54: .word data_027e0e60 +_020a1e54: .word gMapManager .global func_ov00_020a1e58 arm_func_start func_ov00_020a1e58 @@ -12611,18 +12611,18 @@ func_ov00_020a1f24: ; 0x020a1f24 ldr r0, [r0, #0x15c] cmp r0, #0x24 bne _020a1f90 - ldr r0, _020a1fc8 ; =data_027e0e60 + ldr r0, _020a1fc8 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082538 + bl _ZN10MapManager18func_ov00_02082538Ev ldr r2, [r0] - ldr r1, _020a1fc8 ; =data_027e0e60 + ldr r1, _020a1fc8 ; =gMapManager str r2, [r4, #0x18] ldr r2, [r0, #4] str r2, [r4, #0x1c] ldr r0, [r0, #8] str r0, [r4, #0x20] ldr r0, [r1] - bl func_ov00_02082538 + bl _ZN10MapManager18func_ov00_02082538Ev ldr r1, [r0] str r1, [r4, #0x24] ldr r1, [r0, #4] @@ -12647,7 +12647,7 @@ _020a1f90: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a1f24 -_020a1fc8: .word data_027e0e60 +_020a1fc8: .word gMapManager _020a1fcc: .word data_027e0f94 .global func_ov00_020a1fd0 @@ -12736,16 +12736,16 @@ func_ov00_020a1fd0: ; 0x020a1fd0 add r5, r0, r2 b _020a21d0 _020a2118: - ldr r0, _020a2224 ; =data_027e0e60 + ldr r0, _020a2224 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev rsb r0, r0, #0 sub r0, r0, #0x4000 cmp r4, r0 blt _020a21d0 - ldr r0, _020a2224 ; =data_027e0e60 + ldr r0, _020a2224 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev add r0, r4, r0 add r0, r0, #0x4000 mov r1, #0x4000 @@ -12806,7 +12806,7 @@ _020a21d0: .align 2, 0 arm_func_end func_ov00_020a1fd0 _020a2220: .word data_027e0fac -_020a2224: .word data_027e0e60 +_020a2224: .word gMapManager .global func_ov00_020a2228 arm_func_start func_ov00_020a2228 @@ -12833,19 +12833,19 @@ func_ov00_020a222c: ; 0x020a222c ldr r0, [r4, #0x28] sub r1, r1, #0x1000 cmp r0, r1 - ldr r0, _020a22b4 ; =data_027e0e60 + ldr r0, _020a22b4 ; =gMapManager strgt r1, [r4, #0x28] ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x1c] ldr r2, [r4, #0x28] add r1, r1, #0x1000 add r0, r1, r0 cmp r2, r0 ldmgeia sp!, {r4, pc} - ldr r0, _020a22b4 ; =data_027e0e60 + ldr r0, _020a22b4 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x1c] add r1, r1, #0x1000 add r0, r1, r0 @@ -12853,7 +12853,7 @@ func_ov00_020a222c: ; 0x020a222c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a222c -_020a22b4: .word data_027e0e60 +_020a22b4: .word gMapManager .global func_ov00_020a22b8 arm_func_start func_ov00_020a22b8 @@ -13107,15 +13107,15 @@ _020a2614: mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 beq _020a2680 - ldr r0, _020a26e0 ; =data_027e0e60 + ldr r0, _020a26e0 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084984 + bl _ZN10MapManager17GetMapData_Unk_06Ev cmp r0, #0 bne _020a2680 - ldr r0, _020a26e0 ; =data_027e0e60 + ldr r0, _020a26e0 ; =gMapManager mov r1, #0 ldr r0, [r0] - bl func_ov00_02083938 + bl _ZN10MapManager18func_ov00_02083938Ei bl func_ov00_02087d84 add r5, sp, #0x4c mov r6, r0 @@ -13157,7 +13157,7 @@ _020a2680: .align 2, 0 arm_func_end func_ov00_020a23a4 _020a26dc: .word data_027e0d38 -_020a26e0: .word data_027e0e60 +_020a26e0: .word gMapManager .global func_ov00_020a26e4 arm_func_start func_ov00_020a26e4 @@ -13180,7 +13180,7 @@ func_ov00_020a26e4: ; 0x020a26e4 stmia sp, {r0, r3} mov r1, #0 str r1, [sp, #8] - ldr r0, _020a2758 ; =data_027e0e60 + ldr r0, _020a2758 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] add r2, sp, #0x18 @@ -13193,7 +13193,7 @@ func_ov00_020a26e4: ; 0x020a26e4 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov00_020a26e4 -_020a2758: .word data_027e0e60 +_020a2758: .word gMapManager .global func_ov00_020a275c arm_func_start func_ov00_020a275c @@ -13216,7 +13216,7 @@ func_ov00_020a275c: ; 0x020a275c stmia sp, {r0, r3} mov r1, #0 str r1, [sp, #8] - ldr r0, _020a27d0 ; =data_027e0e60 + ldr r0, _020a27d0 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] add r2, sp, #0x18 @@ -13229,7 +13229,7 @@ func_ov00_020a275c: ; 0x020a275c ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov00_020a275c -_020a27d0: .word data_027e0e60 +_020a27d0: .word gMapManager .global func_ov00_020a27d4 arm_func_start func_ov00_020a27d4 @@ -13252,7 +13252,7 @@ func_ov00_020a27d4: ; 0x020a27d4 stmia sp, {r0, r3} mov r1, #0 str r1, [sp, #8] - ldr r0, _020a2848 ; =data_027e0e60 + ldr r0, _020a2848 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] add r2, sp, #0x18 @@ -13265,7 +13265,7 @@ func_ov00_020a27d4: ; 0x020a27d4 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov00_020a27d4 -_020a2848: .word data_027e0e60 +_020a2848: .word gMapManager .global func_ov00_020a284c arm_func_start func_ov00_020a284c @@ -13472,11 +13472,11 @@ _020a2b28: add r3, sp, #4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _020a2c04 ; =data_027e0e60 + ldr r0, _020a2c04 ; =gMapManager mov r1, r3 ldr r0, [r0] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #4] ldr r1, [sp, #8] ldr r2, [r2, #0x240] @@ -13522,7 +13522,7 @@ _020a2ba8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a2adc -_020a2c04: .word data_027e0e60 +_020a2c04: .word gMapManager .global func_ov00_020a2c08 arm_func_start func_ov00_020a2c08 @@ -13770,11 +13770,11 @@ _020a2f18: cmp r5, #2 blo _020a2f18 ldr r1, [r4, #4] - ldr r0, _020a2ff0 ; =data_027e0e60 + ldr r0, _020a2ff0 ; =gMapManager ldrb r2, [r1, #0x1b8] ldr r0, [r0] add r1, sp, #0x10 - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r0, [sp, #0x10] bl func_ov00_02087d84 add lr, sp, #0x38 @@ -13822,7 +13822,7 @@ _020a2fac: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020a2e8c -_020a2ff0: .word data_027e0e60 +_020a2ff0: .word gMapManager .global func_ov00_020a2ff4 arm_func_start func_ov00_020a2ff4 @@ -13867,11 +13867,11 @@ _020a3074: cmp r5, #2 blo _020a3074 ldr r1, [r4, #4] - ldr r0, _020a3140 ; =data_027e0e60 + ldr r0, _020a3140 ; =gMapManager ldrb r2, [r1, #0x1b8] ldr r0, [r0] add r1, sp, #0x10 - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r0, [sp, #0x10] bl func_ov00_02087d84 add lr, sp, #0x38 @@ -13916,7 +13916,7 @@ _020a3108: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020a2ff4 -_020a3140: .word data_027e0e60 +_020a3140: .word gMapManager .global func_ov00_020a3144 arm_func_start func_ov00_020a3144 @@ -15289,10 +15289,10 @@ func_ov00_020a41e4: ; 0x020a41e4 mov r5, r2 mov r4, r3 bl func_ov00_020a5e9c - ldr r1, _020a42c8 ; =data_027e0e60 + ldr r1, _020a42c8 ; =gMapManager str r0, [r6] ldr r0, [r1] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev strb r0, [r6, #7] str r7, [r6, #0xc] ldr r0, [r5] @@ -15335,7 +15335,7 @@ func_ov00_020a41e4: ; 0x020a41e4 .align 2, 0 arm_func_end func_ov00_020a41e4 _020a42c4: .word data_027e0d38 -_020a42c8: .word data_027e0e60 +_020a42c8: .word gMapManager .global func_ov00_020a42cc arm_func_start func_ov00_020a42cc @@ -15351,10 +15351,10 @@ func_ov00_020a42cc: ; 0x020a42cc mov r5, r2 mov r4, r3 bl func_ov00_020a5e9c - ldr r1, _020a4344 ; =data_027e0e60 + ldr r1, _020a4344 ; =gMapManager str r0, [r6] ldr r0, [r1] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev strb r0, [r6, #7] str r7, [r6, #0xc] ldr r0, [r5] @@ -15372,7 +15372,7 @@ func_ov00_020a42cc: ; 0x020a42cc .align 2, 0 arm_func_end func_ov00_020a42cc _020a4340: .word data_027e0d38 -_020a4344: .word data_027e0e60 +_020a4344: .word gMapManager .global func_ov00_020a4348 arm_func_start func_ov00_020a4348 @@ -16228,14 +16228,14 @@ func_ov00_020a4dd0: ; 0x020a4dd0 strb r3, [r4, #0x37] str r3, [r4, #0x38] bl func_ov00_020a5508 - ldr r0, _020a4e08 ; =data_027e0e60 + ldr r0, _020a4e08 ; =gMapManager add r1, r4, #0x28 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a4dd0 -_020a4e08: .word data_027e0e60 +_020a4e08: .word gMapManager .global func_ov00_020a4e0c arm_func_start func_ov00_020a4e0c diff --git a/asm/ov00/ov00_020b1498.inc b/asm/ov00/ov00_020b1498.inc index 242ba27c..e01dd528 100644 --- a/asm/ov00/ov00_020b1498.inc +++ b/asm/ov00/ov00_020b1498.inc @@ -1,5 +1,30 @@ #pragma once .extern Divide +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_020833c4Ev +.extern _ZN10MapManager18func_ov00_020833d0Ev +.extern _ZN10MapManager18func_ov00_020833dcEv +.extern _ZN10MapManager18func_ov00_020833e8Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager18func_ov00_0208412cEv +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_020853fcEv .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN10PlayerBase13GetEquipSwordEv .extern _ZN10PlayerBase14GetEquipShieldEv @@ -121,6 +146,8 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN7MapBase18func_ov00_0207e968Ev +.extern _ZN7MapBase18func_ov00_0207e96cEv .extern _ZN9ActorTypeC1EjPFP5ActorvEPv .extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv @@ -158,7 +185,6 @@ .extern data_027e0d84 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f78 @@ -297,35 +323,8 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern func_ov00_0207e968 -.extern func_ov00_0207e96c .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_020833c4 -.extern func_ov00_020833d0 -.extern func_ov00_020833dc -.extern func_ov00_020833e8 -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_020838e8 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083c7c -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_02083fb0 -.extern func_ov00_02084088 -.extern func_ov00_020840a0 -.extern func_ov00_020840c4 -.extern func_ov00_0208412c -.extern func_ov00_02084164 -.extern func_ov00_020853fc .extern func_ov00_020872e8 .extern func_ov00_02087e8c .extern func_ov00_0208b180 @@ -460,5 +459,6 @@ .extern func_ov59_0219b020 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcat diff --git a/asm/ov00/ov00_020b1498.s b/asm/ov00/ov00_020b1498.s index 6170dbc0..fb3f9c8b 100644 --- a/asm/ov00/ov00_020b1498.s +++ b/asm/ov00/ov00_020b1498.s @@ -280,18 +280,18 @@ _020b1788: .word data_027e0f6c func_ov00_020b178c: ; 0x020b178c stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} - ldr r3, _020b17e8 ; =data_027e0e60 + ldr r3, _020b17e8 ; =gMapManager ldrb r1, [sp, #0xc] mov r4, r0 ldrb r2, [sp, #0xd] ldr r0, [r3] - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci cmp r0, r4 bgt _020b17d8 - ldr r0, _020b17e8 ; =data_027e0e60 + ldr r0, _020b17e8 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, lr} @@ -304,7 +304,7 @@ _020b17d8: bx lr .align 2, 0 arm_func_end func_ov00_020b178c -_020b17e8: .word data_027e0e60 +_020b17e8: .word gMapManager .global func_ov00_020b17ec arm_func_start func_ov00_020b17ec @@ -444,16 +444,16 @@ func_ov00_020b199c: ; 0x020b199c mov r5, r1 mov r4, r2 bmi _020b19e4 - ldr r0, _020b1a48 ; =data_027e0e60 + ldr r0, _020b1a48 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev cmp r0, r6 ble _020b19e4 cmp r5, #0 blt _020b19e4 - ldr r0, _020b1a48 ; =data_027e0e60 + ldr r0, _020b1a48 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r0, r5 bgt _020b19f0 _020b19e4: @@ -461,12 +461,12 @@ _020b19e4: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _020b19f0: - ldr r0, _020b1a48 ; =data_027e0e60 + ldr r0, _020b1a48 ; =gMapManager add r1, sp, #0 ldr r0, [r0] strb r6, [sp] strb r5, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _020b1a30 ldr r1, [r0] @@ -478,32 +478,32 @@ _020b19f0: moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} _020b1a30: - ldr r0, _020b1a48 ; =data_027e0e60 + ldr r0, _020b1a48 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020b199c -_020b1a48: .word data_027e0e60 +_020b1a48: .word gMapManager .global func_ov00_020b1a4c arm_func_start func_ov00_020b1a4c func_ov00_020b1a4c: ; 0x020b1a4c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0xc0 - ldr r2, _020b1b48 ; =data_027e0e60 + ldr r2, _020b1b48 ; =gMapManager mov r8, r1 mov r9, r0 ldr r0, [r2] ldr r1, [r8] - bl func_ov00_020839d4 - ldr r1, _020b1b48 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020839d4Ev + ldr r1, _020b1b48 ; =gMapManager mov r5, r0 ldr r0, [r1] ldr r1, [r8, #8] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r6, r0 ldr r0, [r8] ldr r2, _020b1b4c ; =func_ov00_020b1940 @@ -559,7 +559,7 @@ _020b1b34: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov00_020b1a4c -_020b1b48: .word data_027e0e60 +_020b1b48: .word gMapManager _020b1b4c: .word func_ov00_020b1940 _020b1b50: .word data_ov00_020dc704 @@ -568,11 +568,11 @@ _020b1b50: .word data_ov00_020dc704 func_ov00_020b1b54: ; 0x020b1b54 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} - ldr r0, _020b1ba0 ; =data_027e0e60 + ldr r0, _020b1ba0 ; =gMapManager ldrb r1, [sp, #8] ldrb r2, [sp, #9] ldr r0, [r0] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x18 cmpne r0, #0x2c cmpne r0, #0x2d @@ -588,7 +588,7 @@ _020b1b90: bx lr .align 2, 0 arm_func_end func_ov00_020b1b54 -_020b1ba0: .word data_027e0e60 +_020b1ba0: .word gMapManager .global func_ov00_020b1ba4 arm_func_start func_ov00_020b1ba4 @@ -596,7 +596,7 @@ func_ov00_020b1ba4: ; 0x020b1ba4 stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr r2, [r0] - ldr r1, _020b1bf8 ; =data_027e0e60 + ldr r1, _020b1bf8 ; =gMapManager str r2, [sp, #4] ldr r2, [r0, #4] ldr r1, [r1] @@ -605,7 +605,7 @@ func_ov00_020b1ba4: ; 0x020b1ba4 add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x9 and r0, r0, #3 @@ -616,7 +616,7 @@ func_ov00_020b1ba4: ; 0x020b1ba4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_020b1ba4 -_020b1bf8: .word data_027e0e60 +_020b1bf8: .word gMapManager .global func_ov00_020b1bfc arm_func_start func_ov00_020b1bfc @@ -625,12 +625,12 @@ func_ov00_020b1bfc: ; 0x020b1bfc stmdb sp!, {r3, r4, r5, r6, r7, lr} ldrb r5, [sp, #0x1d] ldrb r6, [sp, #0x1c] - ldr r1, _020b1d38 ; =data_027e0e60 + ldr r1, _020b1d38 ; =gMapManager mov r7, r0 ldr r0, [r1] mov r1, r6 mov r2, r5 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci ldrb r2, [sp, #0x1c] add r1, r5, #1 sub r3, sp, #4 @@ -702,7 +702,7 @@ func_ov00_020b1bfc: ; 0x020b1bfc bx lr .align 2, 0 arm_func_end func_ov00_020b1bfc -_020b1d38: .word data_027e0e60 +_020b1d38: .word gMapManager .global func_ov00_020b1d3c arm_func_start func_ov00_020b1d3c @@ -1435,7 +1435,7 @@ func_ov00_020b2598: ; 0x020b2598 mov r3, #0 sub r2, r3, #2 mov r5, #0x47 - ldr r0, _020b2b90 ; =data_027e0e60 + ldr r0, _020b2b90 ; =gMapManager mov r1, #0xff str r2, [sp, #0xc] str r5, [sp] @@ -1449,7 +1449,7 @@ func_ov00_020b2598: ; 0x020b2598 ldr r0, [r0] ldr r1, [r4, #0x5c] add r2, sp, #0 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _020b26b8 ldr r0, _020b2b94 ; =data_027e0d38 @@ -1830,7 +1830,7 @@ _020b2b88: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020b2598 -_020b2b90: .word data_027e0e60 +_020b2b90: .word gMapManager _020b2b94: .word data_027e0d38 _020b2b98: .word data_02052f54 _020b2b9c: .word data_02051f54 @@ -2300,10 +2300,10 @@ func_ov00_020b30e4: ; 0x020b30e4 ldr r0, [r0, #4] cmp r2, r0 bne _020b325c - ldr r0, _020b3270 ; =data_027e0e60 + ldr r0, _020b3270 ; =gMapManager add r2, sp, #0 ldr r0, [r0] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _020b325c str r6, [r7, #0x5c] @@ -2375,7 +2375,7 @@ _020b325c: arm_func_end func_ov00_020b30e4 _020b3268: .word data_027e0d38 _020b326c: .word data_027e077c -_020b3270: .word data_027e0e60 +_020b3270: .word gMapManager _020b3274: .word gAdventureFlags .global func_ov00_020b3278 @@ -3112,12 +3112,12 @@ _020b3ce4: mov r0, r4 str r1, [sp, #8] bl _ZN13LinkStateBase12GetPlayerPosEv - ldr r1, _020b3d68 ; =data_027e0e60 + ldr r1, _020b3d68 ; =gMapManager ldr r5, [r0, #4] ldr r0, [r1] add r1, sp, #0 mov r2, #1 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r6, r0 cmp r6, r5 mov r0, r4 @@ -3137,7 +3137,7 @@ _020b3d58: .word data_027e0618 _020b3d5c: .word data_ov00_020eec9c _020b3d60: .word 0xffffe4cd _020b3d64: .word data_ov00_020e6194 -_020b3d68: .word data_027e0e60 +_020b3d68: .word gMapManager .global func_ov00_020b3d6c arm_func_start func_ov00_020b3d6c @@ -4606,13 +4606,13 @@ _020b4cfc: .word 0xffffb000 func_ov00_020b4d00: ; 0x020b4d00 push {r3, r4, lr} sub sp, #4 - ldr r1, _020b4d24 ; =data_027e0e60 + ldr r1, _020b4d24 ; =gMapManager add r4, r0, #0 add r2, r4, #0 ldr r1, [r1] add r0, sp, #0 add r2, #0x20 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0 ldrb r1, [r0] strb r1, [r4, #0x1c] @@ -4622,7 +4622,7 @@ func_ov00_020b4d00: ; 0x020b4d00 pop {r3, r4, pc} nop thumb_func_end func_ov00_020b4d00 -_020b4d24: .word data_027e0e60 +_020b4d24: .word gMapManager .global func_ov00_020b4d28 arm_func_start func_ov00_020b4d28 @@ -4645,36 +4645,36 @@ func_ov00_020b4d28: ; 0x020b4d28 rsblt r1, r4, #0 cmp r1, r0 ble _020b4ec8 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r2, [r7, #0x20] ldr r1, [r7, #0x2c] ldr r0, [r0] add r1, r2, r1 sub r1, r1, #0x1000 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev ldr r3, [r7, #0x20] ldr r2, [r7, #0x2c] - ldr r1, _020b502c ; =data_027e0e60 + ldr r1, _020b502c ; =gMapManager mov r8, r0 sub r2, r3, r2 ldr r0, [r1] add r1, r2, #0x1000 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev ldr r2, [r9] mov r1, r0 cmp r2, #0 ble _020b4dd0 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 b _020b4e60 _020b4dd0: bge _020b4dec - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager mov r1, r8 ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 b _020b4e60 _020b4dec: @@ -4697,26 +4697,26 @@ _020b4dec: str ip, [r3, #4] adds r0, r2, r0, ror #31 bne _020b4e4c - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 b _020b4e60 _020b4e4c: - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager mov r1, r8 ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 _020b4e60: - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] - bl func_ov00_020833c4 + bl _ZN10MapManager18func_ov00_020833c4Ev cmp r8, r0 ble _020b4e88 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] - bl func_ov00_020833dc + bl _ZN10MapManager18func_ov00_020833dcEv cmp r8, r0 blt _020b4e90 _020b4e88: @@ -4738,36 +4738,36 @@ _020b4e90: str r0, [r6] b _020b501c _020b4ec8: - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r2, [r7, #0x28] ldr r1, [r7, #0x2c] ldr r0, [r0] add r1, r2, r1 sub r1, r1, #0x1000 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev ldr r3, [r7, #0x28] ldr r2, [r7, #0x2c] - ldr r1, _020b502c ; =data_027e0e60 + ldr r1, _020b502c ; =gMapManager mov r8, r0 sub r2, r3, r2 ldr r0, [r1] add r1, r2, #0x1000 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev ldr r2, [r9, #8] mov r1, r0 cmp r2, #0 ble _020b4f28 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 b _020b4fb8 _020b4f28: bge _020b4f44 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager mov r1, r8 ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 b _020b4fb8 _020b4f44: @@ -4790,26 +4790,26 @@ _020b4f44: str ip, [r3, #4] adds r0, r2, r0, ror #31 bne _020b4fa4 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 b _020b4fb8 _020b4fa4: - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager mov r1, r8 ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 _020b4fb8: - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] - bl func_ov00_020833d0 + bl _ZN10MapManager18func_ov00_020833d0Ev cmp r8, r0 ble _020b4fe0 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] - bl func_ov00_020833e8 + bl _ZN10MapManager18func_ov00_020833e8Ev cmp r8, r0 blt _020b4fe8 _020b4fe0: @@ -4836,7 +4836,7 @@ _020b501c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov00_020b4d28 -_020b502c: .word data_027e0e60 +_020b502c: .word gMapManager _020b5030: .word data_027e0764 .global func_ov00_020b5034 @@ -4849,7 +4849,7 @@ func_ov00_020b5034: ; 0x020b5034 ldr r4, [r5, #4] cmp r0, #0 blt _020b50cc - ldr r0, _020b50d4 ; =data_027e0e60 + ldr r0, _020b50d4 ; =gMapManager ldrb r3, [r6, #0x1c] ldrb r2, [r6, #0x1d] ldr r0, [r0] @@ -4857,7 +4857,7 @@ func_ov00_020b5034: ; 0x020b5034 strb r3, [ip] strb r2, [ip, #1] ldr r2, [ip] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r7, [r5, #4] mov r0, r6 mov r1, r5 @@ -4885,7 +4885,7 @@ _020b50cc: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov00_020b5034 -_020b50d4: .word data_027e0e60 +_020b50d4: .word gMapManager _020b50d8: .word 0xfffff333 _020b50dc: .word func_ov00_020b1940 @@ -5024,7 +5024,7 @@ func_ov00_020b5268: ; 0x020b5268 mov r5, r1 str r2, [sp, #0x28] ldr r2, [r4, #4] - ldr r1, _020b5340 ; =data_027e0e60 + ldr r1, _020b5340 ; =gMapManager str r2, [sp, #0x2c] ldr r2, [r4, #8] mov r6, r0 @@ -5032,7 +5032,7 @@ func_ov00_020b5268: ; 0x020b5268 str r2, [sp, #0x30] add r1, sp, #0x28 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #4] ldr r1, _020b5344 ; =0xfffff667 add r1, r2, r1 @@ -5055,7 +5055,7 @@ _020b52d0: add r1, sp, #0x14 str r0, [sp, #0x20] ldr r2, [r4, #8] - ldr r0, _020b5340 ; =data_027e0e60 + ldr r0, _020b5340 ; =gMapManager str r2, [sp, #0x24] ldr r4, [r6, #0x2c] add r2, sp, #0x1c @@ -5075,7 +5075,7 @@ _020b52d0: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020b5268 -_020b5340: .word data_027e0e60 +_020b5340: .word gMapManager _020b5344: .word 0xfffff667 _020b5348: .word data_ov00_020e64a8 @@ -5520,7 +5520,7 @@ _020b5884: add r2, r1, r0, lsl #1 ldrb r4, [r1, r0, lsl #1] ldrb r3, [r2, #1] - ldr r0, _020b5c98 ; =data_027e0e60 + ldr r0, _020b5c98 ; =gMapManager sub r2, sp, #4 ldr r0, [r0] add r1, sp, #0x28 @@ -5529,7 +5529,7 @@ _020b5884: ldr r2, [r2] strb r4, [sp] strb r3, [sp, #1] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r0, [sp, #0x2c] ldr r1, [sp, #0x28] str r0, [sp, #8] @@ -5742,7 +5742,7 @@ _020b5c88: .word data_02050f54 _020b5c8c: .word gAdventureFlags _020b5c90: .word 0x00000ccd _020b5c94: .word data_027e0fc8 -_020b5c98: .word data_027e0e60 +_020b5c98: .word gMapManager _020b5c9c: .word data_027e0f78 _020b5ca0: .word gItemManager _020b5ca4: .word 0x0000019a @@ -5882,7 +5882,7 @@ _020b5e88: str r1, [sp] str r0, [sp, #4] ldrh r2, [r7, #0xa4] - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager add r1, sp, #0x1e4 str r2, [sp, #8] str r7, [sp, #0xc] @@ -5964,7 +5964,7 @@ _020b5f34: str ip, [sp, #0xec] ldrh r11, [r7, #0xa4] add r0, sp, #0x28 - ldr lr, _020b6ac8 ; =data_027e0e60 + ldr lr, _020b6ac8 ; =gMapManager bic r11, r11, #2 mov r11, r11, lsl #0x10 str r9, [sp, #0xf4] @@ -6102,22 +6102,22 @@ _020b61d4: strh r0, [r7, #0x60] _020b61e0: ldr r0, [r7, #0x20] - ldr r1, _020b6ac8 ; =data_027e0e60 + ldr r1, _020b6ac8 ; =gMapManager stmia r10, {r0, r8} ldr r2, [r7, #0x28] add r0, sp, #0x14 str r2, [r10, #8] ldr r1, [r1] add r2, r7, #0x20 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp, #0x14] - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager add r1, r7, #0x1c strb r2, [r7, #0x1c] ldrb r2, [sp, #0x15] strb r2, [r7, #0x1d] ldr r0, [r0] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev ldrb r0, [r7, #0xbc] cmp r0, #0 beq _020b62ec @@ -6214,7 +6214,7 @@ _020b632c: ldmia r8, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0xb4] - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager sub r1, r1, #0x1000 str r1, [sp, #0xb4] ldr r2, [r10] @@ -6226,7 +6226,7 @@ _020b632c: ldr r3, [r10, #8] mov r2, #1 str r3, [sp, #0x7c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcc add r0, r0, #0x1c00 ldr r2, _020b6ac4 ; =0x0000ffff @@ -6265,7 +6265,7 @@ _020b632c: stmib sp, {r0, r1} str r0, [sp, #0xc] str r0, [sp, #0x10] - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager add r1, sp, #0x124 ldr r0, [r0] add r2, sp, #0x68 @@ -6284,14 +6284,14 @@ _020b6494: str r1, [r6, #8] strb r0, [r7, #0x55] _020b64a4: - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager ldr r1, [r10] ldr r8, [r0] mov r0, r8 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r1, r0 mov r0, r8 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei ldr r2, [r10] mov r1, #0 sub r2, r0, r2 @@ -6330,10 +6330,10 @@ _020b6538: subne r0, r8, #1 cmpne r1, r0 beq _020b65c0 - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager add r1, r7, #0xc4 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] mov r9, r0 ldr r1, [r1, #0x54] @@ -6536,7 +6536,7 @@ _020b6830: cmp r1, r0 blt _020b68c0 ldr r1, [r10] - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager str r1, [sp, #0x50] ldr r2, [r10, #4] ldr r1, [r0] @@ -6545,7 +6545,7 @@ _020b6830: add r0, sp, #0x1c add r2, sp, #0x50 str r3, [sp, #0x58] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0x1c] mov r1, r0 mov r0, r0, lsr #0x5 @@ -6705,7 +6705,7 @@ _020b6aa0: arm_func_end func_ov00_020b5cb4 _020b6ac0: .word data_027e0ff8 _020b6ac4: .word 0x0000ffff -_020b6ac8: .word data_027e0e60 +_020b6ac8: .word gMapManager _020b6acc: .word data_027e0d0c _020b6ad0: .word data_ov00_020e64a8 _020b6ad4: .word data_027e0d38 @@ -6721,13 +6721,13 @@ _020b6aec: .word data_ov00_020e647c func_ov00_020b6af0: ; 0x020b6af0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x14 - ldr r0, _020b6b94 ; =data_027e0e60 + ldr r0, _020b6b94 ; =gMapManager mov r5, r1 ldr r0, [r0] ldrb r1, [r0, #9] cmp r1, #0 beq _020b6b84 - bl func_ov00_0208412c + bl _ZN10MapManager18func_ov00_0208412cEv ldr r1, _020b6b98 ; =data_027e0fe4 mov r4, r0 ldr r1, [r1] @@ -6743,7 +6743,7 @@ func_ov00_020b6af0: ; 0x020b6af0 beq _020b6b84 ldrh r1, [r0, #0x20] ldr r2, [r5] - ldr r0, _020b6b94 ; =data_027e0e60 + ldr r0, _020b6b94 ; =gMapManager str r2, [sp, #8] ldr r2, [r5, #4] ldr r0, [r0] @@ -6751,7 +6751,7 @@ func_ov00_020b6af0: ; 0x020b6af0 ldr r3, [r5, #8] add r2, sp, #8 str r3, [sp, #0x10] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addne sp, sp, #0x14 addne r0, r4, r6 @@ -6763,7 +6763,7 @@ _020b6b84: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020b6af0 -_020b6b94: .word data_027e0e60 +_020b6b94: .word gMapManager _020b6b98: .word data_027e0fe4 _020b6b9c: .word 0x574c4354 _020b6ba0: .word 0xfffff666 @@ -6881,7 +6881,7 @@ _020b6c3c: strb r0, [sp, #0xb9] str r1, [sp, #0x1c] ldr r1, [r6, #0x2c] - ldr r4, _020b6e6c ; =data_027e0e60 + ldr r4, _020b6e6c ; =gMapManager str r1, [sp] str r0, [sp, #4] ldrh r3, [r6, #0xa4] @@ -6956,7 +6956,7 @@ _020b6e28: .align 2, 0 arm_func_end func_ov00_020b6ba4 _020b6e68: .word 0x0000ffff -_020b6e6c: .word data_027e0e60 +_020b6e6c: .word gMapManager .global func_ov00_020b6e70 arm_func_start func_ov00_020b6e70 @@ -7002,8 +7002,8 @@ func_ov00_020b6ea0: ; 0x020b6ea0 cmp r5, #1 moveq r0, #1 streqb r0, [r4, #0xce] - ldr r1, _020b7328 ; =func_ov00_0207e968 - ldr r3, _020b732c ; =func_ov00_0207e96c + ldr r1, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r3, _020b732c ; =_ZN7MapBase18func_ov00_0207e96cEv str r1, [sp] add r0, sp, #0x90 mov r1, #3 @@ -7106,7 +7106,7 @@ _020b7000: str ip, [sp, #0x20] str lr, [sp, #0x28] bl func_01ff9e64 - ldr r0, _020b7334 ; =data_027e0e60 + ldr r0, _020b7334 ; =gMapManager ldr r6, [sp, #0x14] ldr r3, [sp, #0x18] ldr r2, [sp, #0x1c] @@ -7116,7 +7116,7 @@ _020b7000: str r6, [sp, #8] str r3, [sp, #0xc] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x24] ldr r1, [r4, #0x2c] sub r1, r2, r1 @@ -7125,7 +7125,7 @@ _020b7000: movlt r0, #0 cmp r0, #0 beq _020b70fc - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x90 mov r1, #3 mov r2, #0x10 @@ -7152,7 +7152,7 @@ _020b70fc: _020b7138: cmp r2, #0 bge _020b7160 - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x90 mov r1, #3 mov r2, #0x10 @@ -7164,7 +7164,7 @@ _020b7160: cmp r5, #2 mov r1, #3 bne _020b7188 - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x90 mov r2, #0x10 bl func_0204f754 @@ -7177,13 +7177,13 @@ _020b7188: add r0, sp, #0x90 mov r2, #0x10 blt _020b71d8 - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev bl func_0204f754 add sp, sp, #0xc4 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _020b71b0: - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev mov r5, #1 add r0, sp, #0x90 mov r1, #3 @@ -7194,7 +7194,7 @@ _020b71b0: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _020b71d8: - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev bl func_0204f754 b _020b7318 _020b71e4: @@ -7207,8 +7207,8 @@ _020b71f0: ldrsh r0, [r4, #0x5a] cmp r0, #4 bne _020b7318 - ldr r1, _020b7328 ; =func_ov00_0207e968 - ldr r3, _020b732c ; =func_ov00_0207e96c + ldr r1, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r3, _020b732c ; =_ZN7MapBase18func_ov00_0207e96cEv str r1, [sp] add r0, sp, #0x44 mov r1, #3 @@ -7270,7 +7270,7 @@ _020b71f0: rsb r6, r0, #0 cmp r6, r5 movle r6, r5 - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x44 mov r1, #3 mov r2, #0x10 @@ -7283,10 +7283,10 @@ _020b7318: .align 2, 0 arm_func_end func_ov00_020b6ea0 _020b7324: .word data_027e0f6c -_020b7328: .word func_ov00_0207e968 -_020b732c: .word func_ov00_0207e96c +_020b7328: .word _ZN7MapBase18func_ov00_0207e968Ev +_020b732c: .word _ZN7MapBase18func_ov00_0207e96cEv _020b7330: .word data_02050f54 -_020b7334: .word data_027e0e60 +_020b7334: .word gMapManager _020b7338: .word 0x00000e66 .global func_ov00_020b733c @@ -7495,7 +7495,7 @@ _020b75b0: str r1, [sp, #4] tst r0, #0x3f bne _020b7714 - ldr r0, _020b7750 ; =data_027e0e60 + ldr r0, _020b7750 ; =gMapManager ldrb r4, [r5, #0x14] ldrb r3, [r5, #0x15] ldr r0, [r0] @@ -7506,12 +7506,12 @@ _020b75b0: add r1, sp, #0x14 strb r4, [sp] strb r3, [sp, #1] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r0, sp, #0x14 add r1, r6, #0x20 mov r2, r0 bl func_01ff9bf8 - ldr r0, _020b7750 ; =data_027e0e60 + ldr r0, _020b7750 ; =gMapManager ldrb r2, [r6, #0xc4] ldrb r1, [r6, #0xc5] ldr r0, [r0] @@ -7520,7 +7520,7 @@ _020b75b0: strb r1, [r3, #1] ldr r2, [r3] add r1, sp, #8 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r0, sp, #8 add r1, r6, #0x20 mov r2, r0 @@ -7581,7 +7581,7 @@ _020b7714: .align 2, 0 arm_func_end func_ov00_020b73b0 _020b774c: .word data_027e0fa0 -_020b7750: .word data_027e0e60 +_020b7750: .word gMapManager .global func_ov00_020b7754 arm_func_start func_ov00_020b7754 @@ -9927,12 +9927,12 @@ _020b9260: _020b9278: mvn r1, #0 str r1, [r9, #0x280] - ldr r0, _020b92d4 ; =data_027e0e60 + ldr r0, _020b92d4 ; =gMapManager str r1, [r9, #0x284] ldr r1, [r0] add r0, sp, #4 add r2, r9, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp, #4] strb r0, [r9, #0x288] ldrb r0, [sp, #5] @@ -9952,7 +9952,7 @@ _020b92b8: arm_func_end func_ov00_020b917c _020b92cc: .word data_ov00_020dc81c _020b92d0: .word data_027e0e58 -_020b92d4: .word data_027e0e60 +_020b92d4: .word gMapManager .global func_ov00_020b92d8 arm_func_start func_ov00_020b92d8 @@ -10135,7 +10135,7 @@ _020b94e8: add r0, r1, r0 str r0, [r7, #0x15c] _020b956c: - ldr r0, _020b9758 ; =data_027e0e60 + ldr r0, _020b9758 ; =gMapManager ldr r3, [sp] ldr r0, [r0] add r1, sp, #8 @@ -10144,7 +10144,7 @@ _020b956c: str r5, [sp, #0xc] str r6, [sp, #0x10] str r3, [sp, #0x14] - bl func_ov00_020853fc + bl _ZN10MapManager18func_ov00_020853fcEv cmp r0, #0 ldrnesb r1, [r0, #0x12] cmpne r1, #1 @@ -10268,7 +10268,7 @@ _020b9748: .word data_027e0fc8 _020b974c: .word data_027e0f94 _020b9750: .word data_027e0fe4 _020b9754: .word data_ov00_020e67d8 -_020b9758: .word data_027e0e60 +_020b9758: .word gMapManager .global func_ov00_020b975c arm_func_start func_ov00_020b975c @@ -11105,7 +11105,7 @@ func_ov00_020ba204: ; 0x020ba204 add r0, sp, #0x2c str r0, [sp, #0xc] str r3, [sp, #0x10] - ldr r0, _020ba34c ; =data_027e0e60 + ldr r0, _020ba34c ; =gMapManager add r1, sp, #0x4c ldr r0, [r0] add r2, sp, #0x20 @@ -11133,7 +11133,7 @@ _020ba32c: _020ba340: .word data_ov00_020e67b8 _020ba344: .word 0x0000ffff _020ba348: .word 0x00000333 -_020ba34c: .word data_027e0e60 +_020ba34c: .word gMapManager .global func_ov00_020ba350 arm_func_start func_ov00_020ba350 @@ -11624,7 +11624,7 @@ _020ba958: cmp r0, #0x31 bne _020baab8 ldr r1, _020bac68 ; =data_027e0f64 - ldr r0, _020bac6c ; =data_027e0e60 + ldr r0, _020bac6c ; =gMapManager ldr r1, [r1] ldr r2, _020bac70 ; =data_02050f54 ldr r1, [r1, #4] @@ -11670,7 +11670,7 @@ _020ba958: str ip, [sp, #0xc] str r3, [sp, #0x10] str r7, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x1c] cmp r1, r0 movlt r0, #1 @@ -11727,7 +11727,7 @@ _020baab8: ldr r7, [sp, #0x18] orr r4, r4, ip, lsl #20 add r7, r7, r4 - ldr r1, _020bac6c ; =data_027e0e60 + ldr r1, _020bac6c ; =gMapManager orr r2, r2, r0, lsl #20 ldr r4, [sp, #0x20] ldr r0, [r1] @@ -11739,7 +11739,7 @@ _020baab8: str r7, [sp] str r3, [sp, #4] str r4, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x1c] cmp r1, r0 movlt r0, #1 @@ -11810,7 +11810,7 @@ _020bac5c: .word data_ov00_020eec9c _020bac60: .word data_027e0f94 _020bac64: .word data_027e0d38 _020bac68: .word data_027e0f64 -_020bac6c: .word data_027e0e60 +_020bac6c: .word gMapManager _020bac70: .word data_02050f54 .global func_ov00_020bac74 @@ -11940,7 +11940,7 @@ _020badf0: mov r0, #0x24 smlabb r3, r1, r0, r2 ldr r1, [r3, #4] - ldr r0, _020baf60 ; =data_027e0e60 + ldr r0, _020baf60 ; =gMapManager str r1, [r6, #0x158] ldr r2, [r3, #8] add r1, sp, #0xc @@ -11955,7 +11955,7 @@ _020badf0: str r3, [sp, #0x10] ldr r3, [r6, #0x160] str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r1, r0, #0x1000 str r1, [r6, #0x15c] mov r0, r6 @@ -12008,7 +12008,7 @@ _020baef0: mov r0, #0x24 smlabb r3, r1, r0, r2 ldr r1, [r3, #4] - ldr r0, _020baf60 ; =data_027e0e60 + ldr r0, _020baf60 ; =gMapManager str r1, [r6, #0x158] ldr r2, [r3, #8] add r1, sp, #0 @@ -12023,7 +12023,7 @@ _020baef0: str r3, [sp, #4] ldr r3, [r6, #0x160] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x1000 str r0, [r6, #0x15c] _020baf50: @@ -12033,7 +12033,7 @@ _020baf50: .align 2, 0 arm_func_end func_ov00_020bad44 _020baf5c: .word data_ov00_020e8b08 -_020baf60: .word data_027e0e60 +_020baf60: .word gMapManager _020baf64: .word 0x00000333 .global func_ov00_020baf68 @@ -12093,7 +12093,7 @@ _020baff8: _020bb020: str r0, [r5, #0x160] ldr r1, [r5, #0x158] - ldr r0, _020bb0a8 ; =data_027e0e60 + ldr r0, _020bb0a8 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x15c] ldr r0, [r0] @@ -12102,7 +12102,7 @@ _020bb020: add r1, sp, #0 mov r2, #1 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x1000 str r0, [r5, #0x15c] ldr r1, [r5, #0x158] @@ -12127,7 +12127,7 @@ _020bb020: .align 2, 0 arm_func_end func_ov00_020baf68 _020bb0a4: .word data_ov00_020e8b08 -_020bb0a8: .word data_027e0e60 +_020bb0a8: .word gMapManager .global func_ov00_020bb0ac arm_func_start func_ov00_020bb0ac @@ -13909,7 +13909,7 @@ _020bc3e0: ldr r0, [r2, #0xc] str r0, [sp, #0x14] _020bc40c: - ldr r0, _020bc464 ; =data_027e0e60 + ldr r0, _020bc464 ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -13919,7 +13919,7 @@ _020bc40c: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p ldr r1, _020bc468 ; =data_027e0fac ldr r3, [sp, #0x10] ldrsh r2, [r1] @@ -13933,7 +13933,7 @@ _020bc40c: .align 2, 0 arm_func_end func_ov00_020bc398 _020bc460: .word data_027e0f94 -_020bc464: .word data_027e0e60 +_020bc464: .word gMapManager _020bc468: .word data_027e0fac .global func_ov00_020bc46c @@ -14298,14 +14298,14 @@ _020bc8b4: .word data_027e0fd0 func_ov00_020bc8b8: ; 0x020bc8b8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 - ldr r3, _020bc908 ; =data_027e0e60 + ldr r3, _020bc908 ; =gMapManager mov r5, r1 ldr r1, [r3] mov r6, r0 mov r4, r2 add r0, sp, #0 mov r2, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r1, [sp] add r2, r6, r4, lsl #1 add r0, r6, r4, lsl #2 @@ -14318,7 +14318,7 @@ func_ov00_020bc8b8: ; 0x020bc8b8 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020bc8b8 -_020bc908: .word data_027e0e60 +_020bc908: .word gMapManager .global func_ov00_020bc90c arm_func_start func_ov00_020bc90c @@ -14326,26 +14326,26 @@ func_ov00_020bc90c: ; 0x020bc90c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r2 - ldr r0, _020bc95c ; =data_027e0e60 + ldr r0, _020bc95c ; =gMapManager add r2, r6, r5, lsl #1 mov r4, r1 ldrb r1, [r2, #0x2c] ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r4] add r0, r6, r5, lsl #2 ldr r0, [r0, #0x30] add r1, r6, r5, lsl #1 str r0, [r4, #4] - ldr r0, _020bc95c ; =data_027e0e60 + ldr r0, _020bc95c ; =gMapManager ldrb r1, [r1, #0x2d] ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [r4, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020bc90c -_020bc95c: .word data_027e0e60 +_020bc95c: .word gMapManager .global func_ov00_020bc960 arm_func_start func_ov00_020bc960 @@ -16474,11 +16474,11 @@ _020be334: _020be338: cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _020be404 ; =data_027e0e60 + ldr r0, _020be404 ; =gMapManager ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r5, #0x2a] @@ -16528,7 +16528,7 @@ _020be3e4: .align 2, 0 arm_func_end func_ov00_020be294 _020be400: .word data_027e0fc8 -_020be404: .word data_027e0e60 +_020be404: .word gMapManager _020be408: .word gAdventureFlags .global func_ov00_020be40c @@ -18103,7 +18103,7 @@ _020bf70c: str r0, [sp, #0xc] mov r1, #0 str r1, [sp, #0x10] - ldr r0, _020bff3c ; =data_027e0e60 + ldr r0, _020bff3c ; =gMapManager add r1, sp, #0x154 ldr r0, [r0] add r2, sp, #0xe4 @@ -18238,7 +18238,7 @@ _020bf794: add r0, sp, #0x14 str r0, [sp, #0xc] str r3, [sp, #0x10] - ldr r0, _020bff3c ; =data_027e0e60 + ldr r0, _020bff3c ; =gMapManager add r1, sp, #0xf4 ldr r0, [r0] add r2, sp, #0x30 @@ -18637,7 +18637,7 @@ _020bff2c: .word data_ov00_020e6f90 _020bff30: .word data_ov00_020dd294 _020bff34: .word data_ov00_020eec9c _020bff38: .word gItemManager -_020bff3c: .word data_027e0e60 +_020bff3c: .word gMapManager _020bff40: .word 0x0000099a _020bff44: .word data_ov00_020dd268 _020bff48: .word data_027e0fe4 diff --git a/asm/ov00/ov00_020c3e54.inc b/asm/ov00/ov00_020c3e54.inc index 50984c89..5f0bb1d2 100644 --- a/asm/ov00/ov00_020c3e54.inc +++ b/asm/ov00/ov00_020c3e54.inc @@ -1,6 +1,26 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_48Ev +.extern _ZN10MapManager17GetMapData_Unk_4cEv +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager18func_ov00_02083588Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840dcEv +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_02084838Ev +.extern _ZN10MapManager18func_ov00_020849c0Ev +.extern _ZN10MapManager20GetCourseData_Unk_1cEv +.extern _ZN10MapManager20GetCourseData_Unk_1dEv .extern _ZN10PlayerBase13GetEquipSwordEv .extern _ZN10PlayerBase14GetEquipShieldEv .extern _ZN11ItemManager15SetEquippedItemEi @@ -119,7 +139,6 @@ .extern data_027e0e28 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f70 @@ -500,26 +519,6 @@ .extern func_ov00_02081ef4 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_02082d28 -.extern func_ov00_02082d34 -.extern func_ov00_0208335c -.extern func_ov00_02083588 -.extern func_ov00_020836dc -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_02083fb0 -.extern func_ov00_020840c4 -.extern func_ov00_020840dc -.extern func_ov00_02084114 -.extern func_ov00_02084120 -.extern func_ov00_02084164 -.extern func_ov00_02084838 -.extern func_ov00_020849c0 .extern func_ov00_02087338 .extern func_ov00_0208766c .extern func_ov00_020876bc @@ -670,6 +669,7 @@ .extern func_ov29_0216d918 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcat .extern strcpy diff --git a/asm/ov00/ov00_020c3e54.s b/asm/ov00/ov00_020c3e54.s index 3c6b2f89..f75eab4c 100644 --- a/asm/ov00/ov00_020c3e54.s +++ b/asm/ov00/ov00_020c3e54.s @@ -296,7 +296,7 @@ _020c40b4: strlt r2, [r0, #0x3c] ldr r2, [r6] ldr r1, [r9, #0x1c] - ldr r0, _020c42d4 ; =data_027e0e60 + ldr r0, _020c42d4 ; =gMapManager str r1, [r2, #0x34] ldr r1, [r9, #0x20] str r1, [r2, #0x38] @@ -320,12 +320,12 @@ _020c40b4: ldr r1, [r10, #8] str r1, [r2, #0x5c] ldr r0, [r0] - bl func_ov00_02082d28 + bl _ZN10MapManager20GetCourseData_Unk_1cEv ldr r2, [r6] - ldr r1, _020c42d4 ; =data_027e0e60 + ldr r1, _020c42d4 ; =gMapManager strb r0, [r2, #0x10] ldr r0, [r1] - bl func_ov00_02082d34 + bl _ZN10MapManager20GetCourseData_Unk_1dEv ldr r2, [r6] add r1, r5, #1 strb r0, [r2, #0x11] @@ -378,7 +378,7 @@ _020c42c4: arm_func_end func_ov00_020c4048 _020c42cc: .word data_027e0fe4 _020c42d0: .word 0x0000ffff -_020c42d4: .word data_027e0e60 +_020c42d4: .word gMapManager .global func_ov00_020c42d8 arm_func_start func_ov00_020c42d8 @@ -923,7 +923,7 @@ _020c498c: ldrb r0, [r6, #6] cmp r0, #0 beq _020c49fc - ldr r0, _020c4ae0 ; =data_027e0e60 + ldr r0, _020c4ae0 ; =gMapManager ldr lr, [sp, #0x20] ldr ip, [sp, #0x24] ldr r3, [sp, #0x28] @@ -933,7 +933,7 @@ _020c498c: str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -1003,7 +1003,7 @@ _020c4ad4: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020c4924 -_020c4ae0: .word data_027e0e60 +_020c4ae0: .word gMapManager _020c4ae4: .word data_027e0ff0 .global func_ov00_020c4ae8 @@ -1605,37 +1605,37 @@ func_ov00_020c51d0: ; 0x020c51d0 arm_func_start func_ov00_020c522c func_ov00_020c522c: ; 0x020c522c stmdb sp!, {r4, r5, r6, lr} - ldr r2, _020c5284 ; =data_027e0e60 + ldr r2, _020c5284 ; =gMapManager mov r6, r0 ldr r4, [r2] mov r5, r1 ldr r1, [r6] mov r0, r4 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r1, r0 mov r0, r4 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r5] ldr r1, [r6, #4] mov r0, r4 str r1, [r5, #4] ldr r1, [r6, #8] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r1, r0 mov r0, r4 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [r5, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020c522c -_020c5284: .word data_027e0e60 +_020c5284: .word gMapManager .global func_ov00_020c5288 arm_func_start func_ov00_020c5288 func_ov00_020c5288: ; 0x020c5288 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 - ldr r1, _020c532c ; =data_027e0e60 + ldr r1, _020c532c ; =gMapManager mov r2, #0 mov r5, r0 ldr r4, [r1] @@ -1643,15 +1643,15 @@ func_ov00_020c5288: ; 0x020c5288 strb r2, [sp, #1] ldr r1, [r5] mov r0, r4 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev strb r0, [sp] ldr r1, [r5, #8] mov r0, r4 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev strb r0, [sp, #1] add r1, sp, #0 mov r0, r4 - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x1e addeq sp, sp, #0x14 moveq r0, #1 @@ -1665,7 +1665,7 @@ func_ov00_020c5288: ; 0x020c5288 ldr r3, [r5, #8] mov r1, r4 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] mov r0, r0, lsr #0x9 and r0, r0, #3 @@ -1676,42 +1676,42 @@ func_ov00_020c5288: ; 0x020c5288 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020c5288 -_020c532c: .word data_027e0e60 +_020c532c: .word gMapManager .global func_ov00_020c5330 arm_func_start func_ov00_020c5330 func_ov00_020c5330: ; 0x020c5330 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 - ldr r0, _020c5370 ; =data_027e0e60 + ldr r0, _020c5370 ; =gMapManager mov r5, r1 ldrb r1, [r6, #1] ldr r0, [r0] - bl func_ov00_02083c50 - ldr r2, _020c5370 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083c50Ei + ldr r2, _020c5370 ; =gMapManager mov r4, r0 ldrb r1, [r6] ldr r0, [r2] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r5] mov r0, #0 stmib r5, {r0, r4} ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020c5330 -_020c5370: .word data_027e0e60 +_020c5370: .word gMapManager .global func_ov00_020c5374 arm_func_start func_ov00_020c5374 func_ov00_020c5374: ; 0x020c5374 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 - ldr r3, _020c53ac ; =data_027e0e60 + ldr r3, _020c53ac ; =gMapManager mov r4, r1 ldr r1, [r3] mov r2, r0 add r0, sp, #0 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp] strb r0, [r4] ldrb r0, [sp, #1] @@ -1720,7 +1720,7 @@ func_ov00_020c5374: ; 0x020c5374 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov00_020c5374 -_020c53ac: .word data_027e0e60 +_020c53ac: .word gMapManager .global func_ov00_020c53b0 arm_func_start func_ov00_020c53b0 @@ -1902,7 +1902,7 @@ func_ov00_020c558c: ; 0x020c558c str r0, [sp, #4] add r1, sp, #0xc str r1, [sp, #8] - ldr r0, _020c5654 ; =data_027e0e60 + ldr r0, _020c5654 ; =gMapManager add r1, sp, #0x1c ldr r0, [r0] add r2, sp, #0x10 @@ -1923,7 +1923,7 @@ _020c5640: .align 2, 0 arm_func_end func_ov00_020c558c _020c5650: .word data_ov00_020e892c -_020c5654: .word data_027e0e60 +_020c5654: .word gMapManager .global func_ov00_020c5658 arm_func_start func_ov00_020c5658 @@ -4549,7 +4549,7 @@ func_ov00_020c7764: ; 0x020c7764 rsb r0, r0, #0 cmp r1, r0 strlt r0, [sp, #0x18] - ldr r0, _020c7e9c ; =data_027e0e60 + ldr r0, _020c7e9c ; =gMapManager ldr ip, [sp, #0x14] ldr r4, [r0] ldr r8, [sp, #0x18] @@ -4560,10 +4560,10 @@ func_ov00_020c7764: ; 0x020c7764 str ip, [sp, #8] str r8, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r8, r0 mov r0, r4 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv add r0, r8, r0 str r0, [sp, #0x18] _020c77e0: @@ -4723,9 +4723,9 @@ _020c79b0: add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, r7, r8, pc} _020c7a38: - ldr r0, _020c7e9c ; =data_027e0e60 + ldr r0, _020c7e9c ; =gMapManager ldr r0, [r0] - bl func_ov00_02084838 + bl _ZN10MapManager18func_ov00_02084838Ev cmp r0, #0 beq _020c7c8c cmp r7, #3 @@ -5018,7 +5018,7 @@ _020c7e94: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_020c7764 -_020c7e9c: .word data_027e0e60 +_020c7e9c: .word gMapManager _020c7ea0: .word data_027e0d38 _020c7ea4: .word data_027e0e58 _020c7ea8: .word 0x000001ee @@ -5100,7 +5100,7 @@ func_ov00_020c7f98: ; 0x020c7f98 movs r5, r3 stmia r4, {r0, r1, r2} beq _020c7ffc - ldr r0, _020c8048 ; =data_027e0e60 + ldr r0, _020c8048 ; =gMapManager ldr ip, [sp, #0x10] ldr r4, [r0] ldr r7, [sp, #0x14] @@ -5111,10 +5111,10 @@ func_ov00_020c7f98: ; 0x020c7f98 str ip, [sp, #4] str r7, [sp, #8] str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r7, r0 mov r0, r4 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv add r0, r7, r0 str r0, [sp, #0x14] _020c7ffc: @@ -5142,7 +5142,7 @@ _020c8040: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov00_020c7f98 -_020c8048: .word data_027e0e60 +_020c8048: .word gMapManager _020c804c: .word 0x00000ccd .global func_ov00_020c8050 @@ -7684,7 +7684,7 @@ func_ov00_020ca094: ; 0x020ca094 cmp r0, #0 beq _020ca108 ldr r1, [r5, #0x48] - ldr r0, _020ca144 ; =data_027e0e60 + ldr r0, _020ca144 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r7, [r0] @@ -7694,10 +7694,10 @@ func_ov00_020ca094: ; 0x020ca094 mov r0, r7 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r6, r0 mov r0, r7 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv add r0, r6, r0 str r0, [r5, #0x4c] _020ca108: @@ -7719,7 +7719,7 @@ _020ca12c: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov00_020ca094 -_020ca144: .word data_027e0e60 +_020ca144: .word gMapManager .global func_ov00_020ca148 arm_func_start func_ov00_020ca148 @@ -8582,10 +8582,10 @@ _020cab14: strb r2, [sp, #4] strb r2, [sp, #5] bl func_ov00_020c5374 - ldr r0, _020cace8 ; =data_027e0e60 + ldr r0, _020cace8 ; =gMapManager add r1, sp, #4 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 beq _020cab8c ldrb r0, [sp, #4] @@ -8692,7 +8692,7 @@ _020cacd8: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020caa90 -_020cace8: .word data_027e0e60 +_020cace8: .word gMapManager _020cacec: .word data_027e0ffc _020cacf0: .word data_027e0f64 @@ -10366,7 +10366,7 @@ func_ov00_020cc180: ; 0x020cc180 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _020cc1f4 ; =data_027e0e60 + ldr r0, _020cc1f4 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -10375,7 +10375,7 @@ func_ov00_020cc180: ; 0x020cc180 add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x4c] cmp r1, r0 movge r0, #1 @@ -10394,7 +10394,7 @@ _020cc1d8: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov00_020cc180 -_020cc1f4: .word data_027e0e60 +_020cc1f4: .word gMapManager .global func_ov00_020cc1f8 arm_func_start func_ov00_020cc1f8 @@ -10456,7 +10456,7 @@ func_ov00_020cc27c: ; 0x020cc27c stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr r2, [r0, #0x48] - ldr r1, _020cc2d0 ; =data_027e0e60 + ldr r1, _020cc2d0 ; =gMapManager str r2, [sp, #4] ldr r2, [r0, #0x4c] ldr r1, [r1] @@ -10465,7 +10465,7 @@ func_ov00_020cc27c: ; 0x020cc27c add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -10476,7 +10476,7 @@ func_ov00_020cc27c: ; 0x020cc27c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_020cc27c -_020cc2d0: .word data_027e0e60 +_020cc2d0: .word gMapManager .global func_ov00_020cc2d4 arm_func_start func_ov00_020cc2d4 @@ -10535,7 +10535,7 @@ func_ov00_020cc308: ; 0x020cc308 add lr, sp, #0x14 str r1, [sp, #0x30] ldr r1, [r4, #0x54] - ldr ip, _020cc3e4 ; =data_027e0e60 + ldr ip, _020cc3e4 ; =gMapManager str r1, [sp, #0x1c] ldr r2, [r4, #0x58] add r1, sp, #0x34 @@ -10557,7 +10557,7 @@ func_ov00_020cc308: ; 0x020cc308 .align 2, 0 arm_func_end func_ov00_020cc308 _020cc3e0: .word 0x0000ffff -_020cc3e4: .word data_027e0e60 +_020cc3e4: .word gMapManager .global func_ov00_020cc3e8 arm_func_start func_ov00_020cc3e8 @@ -11129,7 +11129,7 @@ func_ov00_020cca68: ; 0x020cca68 str ip, [sp, #0x1c] ldrh r0, [r4, #0x9c] ldr r1, [sp, #0x20] - ldr r2, _020ccb00 ; =data_027e0e60 + ldr r2, _020ccb00 ; =gMapManager bic r0, r0, #2 mov r0, r0, lsl #0x10 str r3, [sp, #0xc] @@ -11150,7 +11150,7 @@ func_ov00_020cca68: ; 0x020cca68 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020cca68 -_020ccb00: .word data_027e0e60 +_020ccb00: .word gMapManager .global func_ov00_020ccb04 arm_func_start func_ov00_020ccb04 @@ -12720,7 +12720,7 @@ _020cdec8: str r0, [sp] mov r2, r3 ldrh r3, [r4, #0x9c] - ldr r0, _020cdfc8 ; =data_027e0e60 + ldr r0, _020cdfc8 ; =gMapManager add r1, sp, #0x18 str r3, [sp, #4] ldr r3, [r4, #0xa0] @@ -12742,7 +12742,7 @@ _020cdec8: .align 2, 0 arm_func_end func_ov00_020cde0c _020cdfc4: .word data_02050f54 -_020cdfc8: .word data_027e0e60 +_020cdfc8: .word gMapManager .global func_ov00_020cdfcc arm_func_start func_ov00_020cdfcc @@ -13787,13 +13787,13 @@ _020cecd4: .word 0x000002fd func_ov00_020cecd8: ; 0x020cecd8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 - ldr r4, _020ced5c ; =data_027e0e60 + ldr r4, _020ced5c ; =gMapManager mov r6, r0 ldr r0, [r4] mov r5, r1 mov r4, r2 mov r7, r3 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r2, [sp, #0x20] mov r1, r4 mla r3, r2, r0, r7 @@ -13820,7 +13820,7 @@ func_ov00_020cecd8: ; 0x020cecd8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_020cecd8 -_020ced5c: .word data_027e0e60 +_020ced5c: .word gMapManager _020ced60: .word data_ov00_020eec9c .global func_ov00_020ced64 @@ -13839,12 +13839,12 @@ _020ced78: .word data_ov00_020eec9c arm_func_start func_ov00_020ced7c func_ov00_020ced7c: ; 0x020ced7c stmdb sp!, {r4, r5, r6, lr} - ldr r0, _020cedb4 ; =data_027e0e60 + ldr r0, _020cedb4 ; =gMapManager mov r5, r2 ldr r0, [r0] mov r4, r3 mov r6, r1 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev mla r2, r4, r0, r5 ldr r3, [sp, #0x10] ldr r0, _020cedb8 ; =data_ov00_020eec9c @@ -13854,7 +13854,7 @@ func_ov00_020ced7c: ; 0x020ced7c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020ced7c -_020cedb4: .word data_027e0e60 +_020cedb4: .word gMapManager _020cedb8: .word data_ov00_020eec9c .global func_ov00_020cedbc @@ -14210,9 +14210,9 @@ func_ov00_020cf13c: ; 0x020cf13c blx func_ov00_02078e00 b _020cf184 _020cf168: - ldr r0, _020cf1b0 ; =data_027e0e60 + ldr r0, _020cf1b0 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083588 + bl _ZN10MapManager18func_ov00_02083588Ev mov r2, r0 mov r0, r4 mov r1, r5 @@ -14231,7 +14231,7 @@ _020cf184: .align 2, 0 arm_func_end func_ov00_020cf13c _020cf1ac: .word data_027e0d3c -_020cf1b0: .word data_027e0e60 +_020cf1b0: .word gMapManager _020cf1b4: .word data_027e0c54 .global func_ov00_020cf1b8 @@ -15359,9 +15359,9 @@ _020cfd50: ldreqb r0, [r0, #4] cmpeq r0, #0 bne _020cfdb8 - ldr r0, _020cfde0 ; =data_027e0e60 + ldr r0, _020cfde0 ; =gMapManager ldr r0, [r0] - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} @@ -15378,7 +15378,7 @@ _020cfdd0: .word data_027e0c68 _020cfdd4: .word data_027e0e28 _020cfdd8: .word data_ov09_0211f5b4 _020cfddc: .word data_027e0d04 -_020cfde0: .word data_027e0e60 +_020cfde0: .word gMapManager .global func_ov00_020cfde4 arm_func_start func_ov00_020cfde4 @@ -19103,12 +19103,12 @@ _020d2d34: .word data_ov00_020e8b64 arm_func_start func_ov00_020d2d38 func_ov00_020d2d38: ; 0x020d2d38 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _020d2da8 ; =data_027e0e60 + ldr r2, _020d2da8 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 add r1, r5, #0x20 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] ldr r1, [r1, #0x78] blx r1 @@ -19133,7 +19133,7 @@ _020d2d84: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020d2d38 -_020d2da8: .word data_027e0e60 +_020d2da8: .word gMapManager _020d2dac: .word data_027e0f64 _020d2db0: .word data_027e0c68 @@ -19161,12 +19161,12 @@ _020d2de0: func_ov00_020d2de8: ; 0x020d2de8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 - ldr r2, _020d2f00 ; =data_027e0e60 + ldr r2, _020d2f00 ; =gMapManager mov r6, r0 ldr r0, [r2] mov r5, r1 add r1, r6, #0x20 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r4, r0 add r0, sp, #0 bl func_02037628 @@ -19234,7 +19234,7 @@ _020d2e8c: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020d2de8 -_020d2f00: .word data_027e0e60 +_020d2f00: .word gMapManager _020d2f04: .word data_027e0c68 .global func_ov00_020d2f08 @@ -20208,12 +20208,12 @@ _020d3a00: .word data_027e0d0c func_ov00_020d3a04: ; 0x020d3a04 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 - ldr r0, _020d3b04 ; =data_027e0e60 + ldr r0, _020d3b04 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 ldrh r5, [r4, #0x24] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _020d3afc ldrb r0, [r4, #0x2a] @@ -20276,7 +20276,7 @@ _020d3afc: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020d3a04 -_020d3b04: .word data_027e0e60 +_020d3b04: .word gMapManager _020d3b08: .word gAdventureFlags _020d3b0c: .word data_027e0f90 _020d3b10: .word data_027e077c @@ -21200,7 +21200,7 @@ func_ov00_020d454c: ; 0x020d454c mov r1, r0 bl func_ov00_020b1a4c ldr r1, [r6, #0x158] - ldr r0, _020d4604 ; =data_027e0e60 + ldr r0, _020d4604 ; =gMapManager str r1, [sp] ldr r1, [r6, #0x15c] ldr r0, [r0] @@ -21209,7 +21209,7 @@ func_ov00_020d454c: ; 0x020d454c add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r6, #0x15c] ldr r1, [r6, #0x48] mov r0, r5, lsl #0xc @@ -21232,7 +21232,7 @@ func_ov00_020d454c: ; 0x020d454c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020d454c -_020d4604: .word data_027e0e60 +_020d4604: .word gMapManager .global func_ov00_020d4608 arm_func_start func_ov00_020d4608 @@ -21268,7 +21268,7 @@ _020d4648: str r0, [sp, #0x6c] _020d4660: ldr r1, [sp, #0x68] - ldr r0, _020d484c ; =data_027e0e60 + ldr r0, _020d484c ; =gMapManager add r3, r1, #0x40 ldr r6, [sp, #0x64] ldr r4, [sp, #0x6c] @@ -21278,8 +21278,8 @@ _020d4660: str r6, [sp, #0x58] str r4, [sp, #0x60] str r3, [sp, #0x5c] - bl func_ov00_02083a1c - ldr r0, _020d484c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _020d484c ; =gMapManager ldr r6, [sp, #0x58] ldr r4, [sp, #0x5c] ldr r3, [sp, #0x60] @@ -21289,19 +21289,19 @@ _020d4660: str r6, [sp, #0x2c] str r4, [sp, #0x30] str r3, [sp, #0x34] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [sp, #0x58] ldr r4, [sp, #0x5c] ldr r3, [sp, #0x60] str r2, [sp, #0x20] - ldr r1, _020d484c ; =data_027e0e60 + ldr r1, _020d484c ; =gMapManager mov r8, r0 ldr r0, [r1] add r1, sp, #0x20 mov r2, #0 str r4, [sp, #0x24] str r3, [sp, #0x28] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r4, r0 ldrb r0, [sp, #0x10] ldrb r1, [sp, #0x11] @@ -21359,7 +21359,7 @@ _020d4790: add r0, r1, r4, lsl #12 str r0, [sp] ldr r2, [sp] - ldr r0, _020d484c ; =data_027e0e60 + ldr r0, _020d484c ; =gMapManager str r2, [sp, #0x1c] ldrb r2, [sp, #0x11] ldr r0, [r0] @@ -21367,7 +21367,7 @@ _020d4790: str r2, [sp, #0xc] mov r2, #0 str r8, [sp, #0x18] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p ldr r1, [sp, #0xc] subs r9, r0, r8 str r0, [sp, #4] @@ -21397,7 +21397,7 @@ _020d4834: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_020d4624 -_020d484c: .word data_027e0e60 +_020d484c: .word gMapManager _020d4850: .word func_ov00_020d4608 _020d4854: .word data_ov00_020df2f8 _020d4858: .word func_ov00_020b1940 @@ -21752,7 +21752,7 @@ _020d4d08: cmp r1, r0 blt _020d4da8 ldr r1, [r10, #0x48] - ldr r0, _020d4de0 ; =data_027e0e60 + ldr r0, _020d4de0 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r10, #0x4c] ldr r0, [r0] @@ -21761,7 +21761,7 @@ _020d4d08: add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 cmp r7, #0 beq _020d4d68 @@ -21771,10 +21771,10 @@ _020d4d08: bl func_ov00_020b18d8 b _020d4db8 _020d4d68: - ldr r0, _020d4de0 ; =data_027e0e60 + ldr r0, _020d4de0 ; =gMapManager ldr r5, [r10, #0x4c] ldr r0, [r0] - bl func_ov00_02084114 + bl _ZN10MapManager17GetMapData_Unk_48Ev cmp r0, r5 addlt r0, r4, #0x33 addlt r0, r0, #0x1300 @@ -21805,7 +21805,7 @@ _020d4db8: .align 2, 0 arm_func_end func_ov00_020d4b54 _020d4ddc: .word data_ov00_020ee670 -_020d4de0: .word data_027e0e60 +_020d4de0: .word gMapManager _020d4de4: .word 0x00000333 .global func_ov00_020d4de8 @@ -22568,7 +22568,7 @@ func_ov00_020d573c: ; 0x020d573c cmp r0, #0 beq _020d57b0 ldr r1, [r10, #0x48] - ldr r0, _020d58a8 ; =data_027e0e60 + ldr r0, _020d58a8 ; =gMapManager str r1, [sp, #4] ldr r1, [r10, #0x4c] ldr r5, [r0] @@ -22578,10 +22578,10 @@ func_ov00_020d573c: ; 0x020d573c mov r0, r5 mov r2, #0 str r3, [sp, #0xc] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r4, r0 mov r0, r5 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv add r0, r4, r0 str r0, [r10, #0x4c] _020d57b0: @@ -22654,7 +22654,7 @@ _020d5888: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_020d573c -_020d58a8: .word data_027e0e60 +_020d58a8: .word gMapManager .global func_ov00_020d58ac arm_func_start func_ov00_020d58ac diff --git a/asm/ov02.inc b/asm/ov02.inc index cc4b577f..2ede9c1d 100644 --- a/asm/ov02.inc +++ b/asm/ov02.inc @@ -1,6 +1,7 @@ #pragma once .extern Divide .extern LoadTreasureItemFanfare +.extern _ZN10MapManager18func_ov00_020847e0Ev .extern _ZN11ItemManager13EquipShipPartEjj .extern _ZN14AdventureFlags3GetEj .extern _ZN9SysObjectdlEPv @@ -31,7 +32,6 @@ .extern data_027e0d0c .extern data_027e0d44 .extern data_027e0d78 -.extern data_027e0e60 .extern data_027e0f88 .extern data_027e0f8c .extern data_027e0fbc @@ -115,7 +115,6 @@ .extern func_0204f614 .extern func_0204f754 .extern func_ov00_0207b1fc -.extern func_ov00_020847e0 .extern func_ov00_0208de04 .extern func_ov00_0208dec8 .extern func_ov00_0208def0 @@ -260,3 +259,4 @@ .extern func_ov45_0218db94 .extern gAdventureFlags .extern gItemManager +.extern gMapManager diff --git a/asm/ov02.s b/asm/ov02.s index 780e6a34..f2e646ca 100644 --- a/asm/ov02.s +++ b/asm/ov02.s @@ -6629,9 +6629,9 @@ _020f430c: ldr r0, _020f4ce4 ; =data_027e0f88 ldr r0, [r0] bl func_ov00_020a1abc - ldr r0, _020f4ce8 ; =data_027e0e60 + ldr r0, _020f4ce8 ; =gMapManager ldr r0, [r0] - bl func_ov00_020847e0 + bl _ZN10MapManager18func_ov00_020847e0Ev str r0, [r7, #0x2c] ldr r0, _020f4cec ; =data_027e0f8c ldr r1, _020f4cf0 ; =0x020ecdf6 @@ -7282,7 +7282,7 @@ _020f4cd8: .word data_ov09_0211ee20 _020f4cdc: .word data_ov09_0211ee24 _020f4ce0: .word data_ov09_0211ee28 _020f4ce4: .word data_027e0f88 -_020f4ce8: .word data_027e0e60 +_020f4ce8: .word gMapManager _020f4cec: .word data_027e0f8c _020f4cf0: .word data_ov00_020ecdf6 _020f4cf4: .word data_ov00_020ee0a0 diff --git a/asm/ov03.inc b/asm/ov03.inc index 78b9c3a9..5f7fe179 100644 --- a/asm/ov03.inc +++ b/asm/ov03.inc @@ -93,7 +93,7 @@ .extern data_027e0e28 .extern data_027e0e2c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f7c .extern data_027e0f84 @@ -266,24 +266,24 @@ .extern func_ov00_0207c0ac .extern func_ov00_0207c0cc .extern func_ov00_0207c5b0 -.extern func_ov00_02082614 -.extern func_ov00_02082acc -.extern func_ov00_02082d08 -.extern func_ov00_02082d40 -.extern func_ov00_02082d74 -.extern func_ov00_0208306c -.extern func_ov00_0208315c -.extern func_ov00_02083394 -.extern func_ov00_020833a0 -.extern func_ov00_020833ac -.extern func_ov00_020833b8 -.extern func_ov00_02083588 -.extern func_ov00_020835a4 -.extern func_ov00_020835b4 -.extern func_ov00_020835c4 -.extern func_ov00_020835f4 -.extern func_ov00_020836cc -.extern func_ov00_020849c0 +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager18func_ov00_02082accEv +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02082d40Ev +.extern _ZN10MapManager18func_ov00_02082d74Ei +.extern _ZN10MapManager18func_ov00_0208306cEv +.extern _ZN10MapManager18func_ov00_0208315cEPiS0_ +.extern _ZN10MapManager13GetCourseMinXEv +.extern _ZN10MapManager13GetCourseMinZEv +.extern _ZN10MapManager13GetCourseMaxXEv +.extern _ZN10MapManager13GetCourseMaxZEv +.extern _ZN10MapManager18func_ov00_02083588Ev +.extern _ZN10MapManager18func_ov00_020835a4Ev +.extern _ZN10MapManager18func_ov00_020835b4Ev +.extern _ZN10MapManager18func_ov00_020835c4Eii +.extern _ZN10MapManager18func_ov00_020835f4Ei +.extern _ZN10MapManager18func_ov00_020836ccEjP4AABBj +.extern _ZN10MapManager18func_ov00_020849c0Ev .extern func_ov00_0208b180 .extern func_ov00_0208b694 .extern func_ov00_0208b698 diff --git a/asm/ov03.s b/asm/ov03.s index 6a5f744a..8f95b4b5 100644 --- a/asm/ov03.s +++ b/asm/ov03.s @@ -3622,21 +3622,21 @@ _020f0884: bl func_0202ed14 add r7, r7, r0, lsl #12 _020f08a4: - ldr r0, _020f0aa4 ; =data_027e0e60 + ldr r0, _020f0aa4 ; =gMapManager ldr r5, [r0] mov r0, r5 - bl func_ov00_02083394 + bl _ZN10MapManager13GetCourseMinXEv mov r11, r0 mov r0, r5 - bl func_ov00_020833a0 + bl _ZN10MapManager13GetCourseMinZEv str r0, [sp] mov r0, r5 - bl func_ov00_020833ac + bl _ZN10MapManager13GetCourseMaxXEv sub r0, r0, r11 add r4, r0, r0, lsr #31 mov r0, r5 mov r5, r4, asr #0x1 - bl func_ov00_020833b8 + bl _ZN10MapManager13GetCourseMaxZEv ldr r1, [sp] sub r0, r0, r1 mov r1, r5, asr #0x6 @@ -3755,7 +3755,7 @@ _020f0a30: arm_func_end func_ov03_020f0844 _020f0a9c: .word data_027e0c38 _020f0aa0: .word data_027e080c -_020f0aa4: .word data_027e0e60 +_020f0aa4: .word gMapManager .global func_ov03_020f0aa8 arm_func_start func_ov03_020f0aa8 @@ -3780,23 +3780,23 @@ func_ov03_020f0aa8: ; 0x020f0aa8 ldrb r0, [r1, #0x95] cmp r0, #0 beq _020f0b18 - ldr r0, _020f0b84 ; =data_027e0e60 + ldr r0, _020f0b84 ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r4 - bl func_ov00_0208315c + bl _ZN10MapManager18func_ov00_0208315cEPiS0_ add sp, sp, #0x40 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _020f0b18: - ldr r0, _020f0b84 ; =data_027e0e60 + ldr r0, _020f0b84 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d40 - ldr r1, _020f0b84 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02082d40Ev + ldr r1, _020f0b84 ; =gMapManager mov r2, r0 ldr r0, [r1] add r1, sp, #0 - bl func_ov00_02082614 + bl _ZN10MapManager18func_ov00_02082614Eii ldr r0, _020f0b88 ; =data_027e0d3c add r1, sp, #0 ldr r0, [r0] @@ -3804,11 +3804,11 @@ _020f0b18: bl strcmp cmp r0, #0 bne _020f0b74 - ldr r0, _020f0b84 ; =data_027e0e60 + ldr r0, _020f0b84 ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r4 - bl func_ov00_0208306c + bl _ZN10MapManager18func_ov00_0208306cEv add sp, sp, #0x40 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} @@ -3819,7 +3819,7 @@ _020f0b74: .align 2, 0 arm_func_end func_ov03_020f0aa8 _020f0b80: .word data_027e1054 -_020f0b84: .word data_027e0e60 +_020f0b84: .word gMapManager _020f0b88: .word data_027e0d3c .global func_ov03_020f0b8c @@ -3896,11 +3896,11 @@ _020f0c7c: mov r4, r0 cmp r1, #0 blt _020f0ca4 - ldr r0, _020f0e3c ; =data_027e0e60 + ldr r0, _020f0e3c ; =gMapManager add r2, sp, #0x24 ldr r0, [r0] mov r3, #8 - bl func_ov00_020836cc + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj _020f0ca4: cmp r0, #0 ble _020f0d74 @@ -4011,7 +4011,7 @@ _020f0e2c: .word data_027e0c54 _020f0e30: .word data_027e0d3c _020f0e34: .word data_027e0f94 _020f0e38: .word 0x00001ccd -_020f0e3c: .word data_027e0e60 +_020f0e3c: .word gMapManager _020f0e40: .word 0x00002ccd _020f0e44: .word data_ov03_020fc45c _020f0e48: .word data_ov03_020fc460 @@ -9792,12 +9792,12 @@ func_ov03_020f4778: ; 0x020f4778 sub sp, #0x44 add r6, r0, #0 add r5, r1, #0 - ldr r0, _020f47d8 ; =data_027e0e60 + ldr r0, _020f47d8 ; =gMapManager lsl r2, r5, #0x18 ldr r0, [r0] add r1, sp, #4 lsr r2, r2, #0x18 - blx func_ov00_02082614 + blx _ZN10MapManager18func_ov00_02082614Eii ldr r0, _020f47dc ; =data_027e0d38 mov r4, #4 ldr r0, [r0] @@ -9818,11 +9818,11 @@ func_ov03_020f4778: ; 0x020f4778 _020f47b4: mov r4, #7 _020f47b6: - ldr r0, _020f47d8 ; =data_027e0e60 + ldr r0, _020f47d8 ; =gMapManager lsl r1, r5, #0x18 ldr r0, [r0] lsr r1, r1, #0x18 - blx func_ov00_02082d74 + blx _ZN10MapManager18func_ov00_02082d74Ei add r2, r0, #0 lsl r0, r5, #0x18 asr r0, r0, #0x18 @@ -9835,7 +9835,7 @@ _020f47b6: pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end func_ov03_020f4778 -_020f47d8: .word data_027e0e60 +_020f47d8: .word gMapManager _020f47dc: .word data_027e0d38 _020f47e0: .word data_027e103c @@ -10419,16 +10419,16 @@ _020f4ce4: mov r0, #7 str r0, [r5, #0xc] _020f4ce8: - ldr r0, _020f4d18 ; =data_027e0e60 + ldr r0, _020f4d18 ; =gMapManager add r1, r5, #0 ldr r0, [r0] add r1, #0x50 add r2, r4, #0 - blx func_ov00_02082614 - ldr r0, _020f4d18 ; =data_027e0e60 + blx _ZN10MapManager18func_ov00_02082614Eii + ldr r0, _020f4d18 ; =gMapManager add r1, r4, #0 ldr r0, [r0] - blx func_ov00_02082d74 + blx _ZN10MapManager18func_ov00_02082d74Ei add r5, #0x90 strh r0, [r5] ldr r0, _020f4d1c ; =data_027e077c @@ -10439,7 +10439,7 @@ _020f4ce8: thumb_func_end func_ov03_020f4c94 _020f4d10: .word data_027e0d38 _020f4d14: .word data_027e103c -_020f4d18: .word data_027e0e60 +_020f4d18: .word gMapManager _020f4d1c: .word data_027e077c .global func_ov03_020f4d20 @@ -10552,9 +10552,9 @@ func_ov03_020f4de0: ; 0x020f4de0 add r4, r0, #0 ldr r0, _020f4e48 ; =data_027e0d3c ldr r5, [r0] - ldr r0, _020f4e4c ; =data_027e0e60 + ldr r0, _020f4e4c ; =gMapManager ldr r0, [r0] - blx func_ov00_02083588 + blx _ZN10MapManager18func_ov00_02083588Ev ldr r1, _020f4e50 ; =data_ov00_020d878c add r2, r0, #0 ldr r1, [r1] @@ -10601,7 +10601,7 @@ _020f4e40: .align 2, 0 thumb_func_end func_ov03_020f4de0 _020f4e48: .word data_027e0d3c -_020f4e4c: .word data_027e0e60 +_020f4e4c: .word gMapManager _020f4e50: .word data_ov00_020d878c _020f4e54: .word data_027e0d38 _020f4e58: .word data_027e103c @@ -10613,17 +10613,17 @@ func_ov03_020f4e5c: ; 0x020f4e5c add r4, r0, #0 ldr r0, _020f4f30 ; =data_027e0d3c ldr r5, [r0] - ldr r0, _020f4f34 ; =data_027e0e60 + ldr r0, _020f4f34 ; =gMapManager ldr r0, [r0] - blx func_ov00_02083588 + blx _ZN10MapManager18func_ov00_02083588Ev add r1, r4, #0 add r2, r0, #0 add r0, r5, #0 add r1, #0x10 bl func_ov00_02078e00 - ldr r0, _020f4f34 ; =data_027e0e60 + ldr r0, _020f4f34 ; =gMapManager ldr r0, [r0] - blx func_ov00_02082acc + blx _ZN10MapManager18func_ov00_02082accEv add r0, r4, #0 add r0, #0x99 ldrb r0, [r0] @@ -10715,7 +10715,7 @@ _020f4f20: nop thumb_func_end func_ov03_020f4e5c _020f4f30: .word data_027e0d3c -_020f4f34: .word data_027e0e60 +_020f4f34: .word gMapManager _020f4f38: .word data_027e103c _020f4f3c: .word data_027e0cbc _020f4f40: .word 0x0400100c @@ -10729,9 +10729,9 @@ func_ov03_020f4f4c: ; 0x020f4f4c add r5, r0, #0 ldr r0, _020f4fa8 ; =data_027e0d3c ldr r4, [r0] - ldr r0, _020f4fac ; =data_027e0e60 + ldr r0, _020f4fac ; =gMapManager ldr r0, [r0] - blx func_ov00_02083588 + blx _ZN10MapManager18func_ov00_02083588Ev add r1, r5, #0 add r2, r0, #0 add r0, r4, #0 @@ -10770,7 +10770,7 @@ _020f4f9e: nop thumb_func_end func_ov03_020f4f4c _020f4fa8: .word data_027e0d3c -_020f4fac: .word data_027e0e60 +_020f4fac: .word gMapManager _020f4fb0: .word data_027e103c _020f4fb4: .word data_027e0cbc @@ -10780,12 +10780,12 @@ func_ov03_020f4fb8: ; 0x020f4fb8 push {r3, r4, r5, lr} sub sp, #0x40 add r5, r0, #0 - ldr r0, _020f4ffc ; =data_027e0e60 + ldr r0, _020f4ffc ; =gMapManager mov r1, #0x93 ldrsb r1, [r5, r1] ldr r0, [r0] add r2, sp, #0 - blx func_ov00_020835c4 + blx _ZN10MapManager18func_ov00_020835c4Eii ldr r0, _020f5000 ; =data_027e0d3c mov r2, #0x93 ldrsb r2, [r5, r2] @@ -10795,10 +10795,10 @@ func_ov03_020f4fb8: ; 0x020f4fb8 ldr r0, _020f5004 ; =data_027e103c mov r1, #0x93 ldr r4, [r0] - ldr r0, _020f4ffc ; =data_027e0e60 + ldr r0, _020f4ffc ; =gMapManager ldrsb r1, [r5, r1] ldr r0, [r0] - blx func_ov00_020835f4 + blx _ZN10MapManager18func_ov00_020835f4Ei add r1, r0, #0 add r0, r4, #0 blx func_ov00_020cf414 @@ -10809,7 +10809,7 @@ func_ov03_020f4fb8: ; 0x020f4fb8 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end func_ov03_020f4fb8 -_020f4ffc: .word data_027e0e60 +_020f4ffc: .word gMapManager _020f5000: .word data_027e0d3c _020f5004: .word data_027e103c @@ -12830,9 +12830,9 @@ _020f6578: ldrb r0, [r0, #0x98] cmp r0, #0 bne _020f6600 - ldr r0, _020f670c ; =data_027e0e60 + ldr r0, _020f670c ; =gMapManager ldr r0, [r0] - bl func_ov00_02083588 + bl _ZN10MapManager18func_ov00_02083588Ev cmp r0, #0 subgt r0, r0, #1 mov r4, #0 @@ -12913,7 +12913,7 @@ _020f66fc: .word 0x000004cc _020f6700: .word data_027e077c _020f6704: .word data_02056be4 _020f6708: .word data_027e1054 -_020f670c: .word data_027e0e60 +_020f670c: .word gMapManager _020f6710: .word 0x0000ffff .global func_ov03_020f6714 @@ -14232,9 +14232,9 @@ _020f7760: bl func_ov03_020f4b7c cmp r0, #0 bne _020f7794 - ldr r0, _020f7bb4 ; =data_027e0e60 + ldr r0, _020f7bb4 ; =gMapManager ldr r0, [r0] - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 beq _020f79e0 _020f7794: @@ -14523,7 +14523,7 @@ _020f7ba4: arm_func_end func_ov03_020f7730 _020f7bac: .word data_027e1054 _020f7bb0: .word data_027e0d3c -_020f7bb4: .word data_027e0e60 +_020f7bb4: .word gMapManager _020f7bb8: .word data_027e0f7c _020f7bbc: .word gAdventureFlags _020f7bc0: .word data_027e0618 @@ -14862,18 +14862,18 @@ func_ov03_020f7f6c: ; 0x020f7f6c bl func_ov03_020f74b8 cmp r0, #0 beq _020f7fbc - ldr r0, _020f7fe4 ; =data_027e0e60 + ldr r0, _020f7fe4 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083588 + bl _ZN10MapManager18func_ov00_02083588Ev cmp r0, #0 beq _020f7fbc - ldr r0, _020f7fe4 ; =data_027e0e60 + ldr r0, _020f7fe4 ; =gMapManager ldr r7, [r0] mov r0, r7 - bl func_ov00_020835a4 + bl _ZN10MapManager18func_ov00_020835a4Ev mov r5, r0 mov r0, r7 - bl func_ov00_020835b4 + bl _ZN10MapManager18func_ov00_020835b4Ev cmp r5, r0 movne r6, #1 _020f7fbc: @@ -14890,7 +14890,7 @@ _020f7fdc: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov03_020f7f6c -_020f7fe4: .word data_027e0e60 +_020f7fe4: .word gMapManager _020f7fe8: .word data_027e1054 .global func_ov03_020f7fec @@ -14909,40 +14909,40 @@ func_ov03_020f7fec: ; 0x020f7fec arm_func_start func_ov03_020f8008 func_ov03_020f8008: ; 0x020f8008 stmdb sp!, {r3, lr} - ldr r0, _020f8020 ; =data_027e0e60 + ldr r0, _020f8020 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083588 + bl _ZN10MapManager18func_ov00_02083588Ev bl func_ov03_020f805c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov03_020f8008 -_020f8020: .word data_027e0e60 +_020f8020: .word gMapManager .global func_ov03_020f8024 arm_func_start func_ov03_020f8024 func_ov03_020f8024: ; 0x020f8024 stmdb sp!, {r3, lr} - ldr r0, _020f803c ; =data_027e0e60 + ldr r0, _020f803c ; =gMapManager ldr r0, [r0] - bl func_ov00_020835a4 + bl _ZN10MapManager18func_ov00_020835a4Ev bl func_ov03_020f805c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov03_020f8024 -_020f803c: .word data_027e0e60 +_020f803c: .word gMapManager .global func_ov03_020f8040 arm_func_start func_ov03_020f8040 func_ov03_020f8040: ; 0x020f8040 stmdb sp!, {r3, lr} - ldr r0, _020f8058 ; =data_027e0e60 + ldr r0, _020f8058 ; =gMapManager ldr r0, [r0] - bl func_ov00_020835b4 + bl _ZN10MapManager18func_ov00_020835b4Ev bl func_ov03_020f805c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov03_020f8040 -_020f8058: .word data_027e0e60 +_020f8058: .word gMapManager .global func_ov03_020f805c arm_func_start func_ov03_020f805c @@ -18001,9 +18001,9 @@ func_ov03_020fa528: ; 0x020fa528 bl func_ov00_020a5e9c movs r1, r0 bne _020fa568 - ldr r0, _020fa5c8 ; =data_027e0e60 + ldr r0, _020fa5c8 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev add r0, r0, #0xab mov r1, #1 strb r1, [r4, #0x14] @@ -18037,7 +18037,7 @@ _020fa590: .align 2, 0 arm_func_end func_ov03_020fa528 _020fa5c4: .word data_027e0d38 -_020fa5c8: .word data_027e0e60 +_020fa5c8: .word gMapManager _020fa5cc: .word data_027e0f7c _020fa5d0: .word data_ov03_020ff648 _020fa5d4: .word data_027e0c68 diff --git a/asm/ov04.inc b/asm/ov04.inc index 26b00966..709a24b4 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -1,4 +1,27 @@ #pragma once +.extern _ZN10MapManager10DestroyMapEv +.extern _ZN10MapManager14GetEntrancePosEP5Vec3pi +.extern _ZN10MapManager16MapData_vfunc_44Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_9cEv +.extern _ZN10MapManager17GetCourseFilePathEPcS0_ +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_020825e4Eii +.extern _ZN10MapManager18func_ov00_02082808Ev +.extern _ZN10MapManager18func_ov00_02082914Ei +.extern _ZN10MapManager18func_ov00_02082b3cEi +.extern _ZN10MapManager18func_ov00_02083588Ev +.extern _ZN10MapManager18func_ov00_020838f8EPi +.extern _ZN10MapManager18func_ov00_02083b84Ev +.extern _ZN10MapManager18func_ov00_02083bacEv +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02084838Ev +.extern _ZN10MapManager18func_ov00_02084c6cEi +.extern _ZN10MapManager9CreateMapEiii .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager13UnequipPotionEv .extern _ZN11ItemManager21ClearPrevEquippedItemEv @@ -34,6 +57,26 @@ .extern _ZN14OverlayManager6UnloadEj .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN6Course11FindMapDataEj +.extern _ZN6Course13SetCourseNameEPc +.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j +.extern _ZN6Course14GetMCSFilePathEiii +.extern _ZN6Course14GetMRCFilePathEiii +.extern _ZN6Course15IsMapInMainGridEj +.extern _ZN6Course18FindMapData_Unk_0cEi +.extern _ZN6Course18func_ov00_0207ca78Eici +.extern _ZN6Course18func_ov00_0207ce20EiiPci +.extern _ZN6Course18func_ov00_0207d7bcEv +.extern _ZN7MapBase10AddTriggerEP13TriggerParams +.extern _ZN7MapBase11AddEntranceEP8Entrance +.extern _ZN7MapBase14GetMapFilePathEPcii +.extern _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint +.extern _ZN7MapBase18func_ov00_0207ddf8Eb +.extern _ZN7MapBase18func_ov00_0207dea0Eb +.extern _ZN7MapBase18func_ov00_02080de4Ev +.extern _ZN7MapBase18func_ov00_02080edcEv +.extern _ZN7MapBase7AddExitEP4Exit +.extern _ZN7MapBase9SetBoundsEii .extern _ZN9ActorType13func_0203e7c8Ev .extern _ZN9ActorType4FindEj .extern _ZN9SysObjectdlEPv @@ -84,7 +127,6 @@ .extern data_027e0e28 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -135,7 +177,7 @@ .extern data_ov00_020dc7cc .extern data_ov00_020dc7d0 .extern data_ov00_020e233c -.extern data_ov00_020e2348 +.extern _ZTV7MapBase .extern data_ov00_020e2508 .extern data_ov00_020e250c .extern data_ov00_020e2544 @@ -405,49 +447,6 @@ .extern func_ov00_0207c000 .extern func_ov00_0207c030 .extern func_ov00_0207c074 -.extern func_ov00_0207ca68 -.extern func_ov00_0207ca78 -.extern func_ov00_0207cb7c -.extern func_ov00_0207cc84 -.extern func_ov00_0207cd74 -.extern func_ov00_0207ce20 -.extern func_ov00_0207d4e4 -.extern func_ov00_0207d7a4 -.extern func_ov00_0207d7bc -.extern func_ov00_0207d9cc -.extern func_ov00_0207dce4 -.extern func_ov00_0207dda0 -.extern func_ov00_0207ddf8 -.extern func_ov00_0207dea0 -.extern func_ov00_0207f844 -.extern func_ov00_0207f958 -.extern func_ov00_0208009c -.extern func_ov00_0208046c -.extern func_ov00_02080de4 -.extern func_ov00_02080edc -.extern func_ov00_0208240c -.extern func_ov00_020825c4 -.extern func_ov00_020825e4 -.extern func_ov00_020826c0 -.extern func_ov00_020827c0 -.extern func_ov00_020827f0 -.extern func_ov00_02082808 -.extern func_ov00_02082914 -.extern func_ov00_02082b3c -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_0208344c -.extern func_ov00_02083588 -.extern func_ov00_02083624 -.extern func_ov00_020838f8 -.extern func_ov00_02083b84 -.extern func_ov00_02083bac -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02084838 -.extern func_ov00_02084c6c .extern func_ov00_02086ea0 .extern func_ov00_020872e8 .extern func_ov00_02087d84 @@ -713,6 +712,7 @@ .extern func_ov40_02187ba0 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern gPlayerAnimHandler .extern strcat diff --git a/asm/ov04.s b/asm/ov04.s index f5ef184e..ffab3fa9 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -921,9 +921,9 @@ _0210122a: str r0, [sp] mov r0, #1 str r0, [sp, #4] - ldr r0, _02101388 ; =data_027e0e60 + ldr r0, _02101388 ; =gMapManager ldr r0, [r0] - blx func_ov00_02083588 + blx _ZN10MapManager18func_ov00_02083588Ev str r0, [sp, #8] ldr r0, _02101378 ; =data_027e0d38 ldr r0, [r0] @@ -971,10 +971,10 @@ _02101292: ldr r0, _02101398 ; =data_027e0e58 ldr r0, [r0] bl func_ov04_02107e34 - ldr r0, _02101388 ; =data_027e0e60 + ldr r0, _02101388 ; =gMapManager add r1, r5, #4 ldr r0, [r0] - blx func_ov00_02082b3c + blx _ZN10MapManager18func_ov00_02082b3cEi cmp r6, #0 beq _021012f2 cmp r7, #1 @@ -982,9 +982,9 @@ _02101292: cmp r7, #3 bne _021012d0 _021012b0: - ldr r0, _02101388 ; =data_027e0e60 + ldr r0, _02101388 ; =gMapManager ldr r0, [r0] - blx func_ov00_02083588 + blx _ZN10MapManager18func_ov00_02083588Ev add r1, r0, #0 ldr r0, [sp, #8] cmp r1, r0 @@ -1088,7 +1088,7 @@ _02101378: .word data_027e0d38 _0210137c: .word data_027e0fac _02101380: .word data_027e0f94 _02101384: .word data_027e0618 -_02101388: .word data_027e0e60 +_02101388: .word gMapManager _0210138c: .word data_027e077c _02101390: .word 0x04000304 _02101394: .word 0xffff7fff @@ -2204,10 +2204,10 @@ _02101bce: add r5, #0xc add r7, sp, #4 _02101bda: - ldr r0, _02101c0c ; =data_027e0e60 + ldr r0, _02101c0c ; =gMapManager add r1, r7, #0 ldr r0, [r0] - blx func_ov00_0208344c + blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, r5, #0 add r1, r7, #0 add r2, r5, #0 @@ -2229,7 +2229,7 @@ _02101bf6: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov04_02101bbc -_02101c0c: .word data_027e0e60 +_02101c0c: .word gMapManager _02101c10: .word data_027e0f6c .global func_ov04_02101c14 @@ -2743,7 +2743,7 @@ func_ov04_02101f90: ; 0x02101f90 add r4, r0, #0 blx func_ov00_02095fa4 add r0, r4, #0 - blx func_ov00_020827c0 + blx _ZN10MapManager10DestroyMapEv ldr r5, [r4] cmp r5, #0 beq _02101fb6 @@ -2765,7 +2765,7 @@ _02101fb6: thumb_func_start func_ov04_02101fbc func_ov04_02101fbc: ; 0x02101fbc push {r3, lr} - ldr r0, _02101fe0 ; =data_027e0e60 + ldr r0, _02101fe0 ; =gMapManager ldr r0, [r0] cmp r0, #0 bne _02101fde @@ -2778,20 +2778,20 @@ func_ov04_02101fbc: ; 0x02101fbc beq _02101fda bl func_ov04_02101f54 _02101fda: - ldr r1, _02101fe0 ; =data_027e0e60 + ldr r1, _02101fe0 ; =gMapManager str r0, [r1] _02101fde: pop {r3, pc} .align 2, 0 thumb_func_end func_ov04_02101fbc -_02101fe0: .word data_027e0e60 +_02101fe0: .word gMapManager _02101fe4: .word data_027e0ce0 .global func_ov04_02101fe8 thumb_func_start func_ov04_02101fe8 func_ov04_02101fe8: ; 0x02101fe8 push {r4, lr} - ldr r0, _02102008 ; =data_027e0e60 + ldr r0, _02102008 ; =gMapManager ldr r4, [r0] cmp r4, #0 beq _02102006 @@ -2801,14 +2801,14 @@ func_ov04_02101fe8: ; 0x02101fe8 add r0, r4, #0 blx _ZN9SysObjectdlEPv _02102000: - ldr r0, _02102008 ; =data_027e0e60 + ldr r0, _02102008 ; =gMapManager mov r1, #0 str r1, [r0] _02102006: pop {r4, pc} .align 2, 0 thumb_func_end func_ov04_02101fe8 -_02102008: .word data_027e0e60 +_02102008: .word gMapManager .global func_ov04_0210200c thumb_func_start func_ov04_0210200c @@ -3108,13 +3108,13 @@ func_ov04_02102264: ; 0x02102264 ldrh r2, [r7, #0x24] ldrh r3, [r7, #0x26] ldr r1, [r7, #0x20] - blx func_ov00_020826c0 + blx _ZN10MapManager9CreateMapEiii add r0, r5, #0 - blx func_ov00_020827f0 + blx _ZN10MapManager16MapData_vfunc_44Ev add r0, r5, #0 add r1, r7, #0 add r2, sp, #0x98 - blx func_ov00_020825c4 + blx _ZN10MapManager17GetCourseFilePathEPcS0_ mov r0, #0xf mvn r0, r0 str r0, [sp] @@ -3141,7 +3141,7 @@ func_ov04_02102264: ; 0x02102264 beq _021022fc ldr r1, [r5] add r0, sp, #0x18 - blx func_ov00_0207cb7c + blx _ZN6Course14FindMapGridPosEP5Vec2bPS_j add r0, sp, #0x18 ldrb r2, [r0] ldr r1, [r5] @@ -3190,7 +3190,7 @@ _02102330: str r0, [sp, #8] ldr r1, [sp, #8] add r0, r5, #0 - blx func_ov00_020825e4 + blx _ZN10MapManager18func_ov00_020825e4Eii mov r0, #0xf mvn r0, r0 str r0, [sp] @@ -3221,7 +3221,7 @@ _02102382: ldr r2, [sp, #0x120] add r1, sp, #0xd8 mov r3, #1 - blx func_ov00_0207cc84 + blx _ZN6Course14GetMCSFilePathEiii ldr r0, _021024a8 ; =data_02057878 mov r2, #0 str r0, [sp, #0x84] @@ -3242,7 +3242,7 @@ _02102382: ldr r2, [sp, #0x120] add r1, sp, #0xd8 mov r3, #2 - blx func_ov00_0207cc84 + blx _ZN6Course14GetMCSFilePathEiii mov r2, #0 ldr r0, _021024a8 ; =data_02057878 str r2, [sp, #0x78] @@ -3264,7 +3264,7 @@ _02102382: ldr r2, [sp, #0x120] add r1, sp, #0xd8 mov r3, #2 - blx func_ov00_0207cc84 + blx _ZN6Course14GetMCSFilePathEiii mov r2, #0 ldr r0, _021024a8 ; =data_02057878 str r2, [sp, #0x64] @@ -3286,7 +3286,7 @@ _02102382: ldr r2, [sp, #0x120] add r1, #2 mov r3, #3 - blx func_ov00_0207cc84 + blx _ZN6Course14GetMCSFilePathEiii ldr r0, [r5, #4] add r1, sp, #0x18 ldr r2, [r0] @@ -3308,7 +3308,7 @@ _02102382: cmp r0, #3 bne _02102478 add r0, r5, #0 - blx func_ov00_0208240c + blx _ZN10MapManager16MapData_vfunc_9cEv ldr r0, _021024bc ; =data_027e0f64 mov r2, #0 ldr r0, [r0] @@ -3377,7 +3377,7 @@ func_ov04_021024c4: ; 0x021024c4 blx r7 ldrb r1, [r4, #0x13] add r0, r5, #0 - blx func_ov00_02082914 + blx _ZN10MapManager18func_ov00_02082914Ei ldr r0, _021025b8 ; =data_027e0f6c mov r1, #0 ldr r0, [r0] @@ -3390,7 +3390,7 @@ func_ov04_021024c4: ; 0x021024c4 ldrb r2, [r4, #0x13] add r0, r5, #0 add r1, sp, #0x10 - blx func_ov00_02083624 + blx _ZN10MapManager14GetEntrancePosEP5Vec3pi ldr r0, _021025bc ; =data_027e0f90 ldrb r1, [r4, #0x13] ldr r0, [r0] @@ -3424,7 +3424,7 @@ func_ov04_021024c4: ; 0x021024c4 blx r1 add r0, r5, #0 add r1, r6, #0 - blx func_ov00_02082808 + blx _ZN10MapManager18func_ov00_02082808Ev ldr r0, [r4, #8] cmp r0, #1 bne _02102578 @@ -7455,10 +7455,10 @@ _021045bc: mov r1, #0 strb r1, [r0, #0xa] strb r1, [r0, #0xb] - ldr r0, _021046bc ; =data_027e0e60 + ldr r0, _021046bc ; =gMapManager add r1, sp, #0x30 ldr r0, [r0] - blx func_ov00_0208344c + blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p mov r1, #0 ldr r0, [sp, #0x30] str r1, [sp, #0x1c] @@ -7525,10 +7525,10 @@ _021045bc: ldrb r0, [r0, #0x15] strb r0, [r1, #0x15] _02104682: - ldr r0, _021046bc ; =data_027e0e60 + ldr r0, _021046bc ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] - blx func_ov00_020838f8 + blx _ZN10MapManager18func_ov00_020838f8EPi add r2, sp, #0x54 strb r0, [r2, #0xf] ldr r0, [r6, #0x40] @@ -7554,7 +7554,7 @@ _021046b6: pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov04_0210455c -_021046bc: .word data_027e0e60 +_021046bc: .word gMapManager _021046c0: .word data_ov00_020eab04 _021046c4: .word gAdventureFlags @@ -7868,7 +7868,7 @@ _02104920: ldr r0, _021049fc ; =data_027e0f78 ldr r0, [r0] bl func_ov04_02102e3c - ldr r0, _02104a00 ; =data_027e0e60 + ldr r0, _02104a00 ; =gMapManager ldr r0, [r0] bl func_ov04_02102260 ldr r0, _02104a04 ; =data_027e0f68 @@ -7894,7 +7894,7 @@ _02104920: ldrb r2, [r2] ldr r1, [sp] bl func_ov04_02109b78 - ldr r0, _02104a00 ; =data_027e0e60 + ldr r0, _02104a00 ; =gMapManager ldr r1, [sp] ldr r0, [r0] ldr r2, [sp, #4] @@ -7938,7 +7938,7 @@ _021049f0: .word data_027e0f64 _021049f4: .word data_ov09_0211f5b4 _021049f8: .word data_027e1048 _021049fc: .word data_027e0f78 -_02104a00: .word data_027e0e60 +_02104a00: .word gMapManager _02104a04: .word data_027e0f68 _02104a08: .word data_027e0f90 _02104a0c: .word data_027e0fc0 @@ -7971,7 +7971,7 @@ _02104a3c: ldr r0, _02104adc ; =data_027e0f68 ldr r0, [r0] bl func_ov04_02102ad8 - ldr r0, _02104ae0 ; =data_027e0e60 + ldr r0, _02104ae0 ; =gMapManager ldr r0, [r0] bl func_ov04_021025d8 ldr r0, _02104ae4 ; =data_027e0f64 @@ -8021,7 +8021,7 @@ _02104ad0: .word data_ov09_0211f5b4 _02104ad4: .word data_027e0e28 _02104ad8: .word data_ov00_020ee734 _02104adc: .word data_027e0f68 -_02104ae0: .word data_027e0e60 +_02104ae0: .word gMapManager _02104ae4: .word data_027e0f64 _02104ae8: .word gAdventureFlags _02104aec: .word data_027e0fe4 @@ -9864,9 +9864,9 @@ func_ov04_021058cc: ; 0x021058cc blx func_ov00_02078b40 cmp r0, #2 beq _021058f6 - ldr r0, _02105948 ; =data_027e0e60 + ldr r0, _02105948 ; =gMapManager ldr r0, [r0] - blx func_ov00_02084838 + blx _ZN10MapManager18func_ov00_02084838Ev cmp r0, #0 beq _021058f4 mov r6, #0x40 @@ -9914,7 +9914,7 @@ _02105940: nop thumb_func_end func_ov04_021058cc _02105944: .word data_027e0d38 -_02105948: .word data_027e0e60 +_02105948: .word gMapManager _0210594c: .word 0x00000126 .global func_ov04_02105950 @@ -16511,7 +16511,7 @@ _02108bae: bne _02108bae add r0, r6, #0 add r1, sp, #0 - blx func_ov00_0207f958 + blx _ZN7MapBase10AddTriggerEP13TriggerParams add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -16578,11 +16578,11 @@ _02108c18: strh r1, [r4, #0x1c] ldrh r0, [r0, #0x16] strh r0, [r4, #0x1e] - ldr r0, _02108d20 ; =data_027e0e60 + ldr r0, _02108d20 ; =gMapManager ldrh r1, [r4, #0x14] ldr r0, [r0] lsr r1, r1, #4 - blx func_ov00_02083b84 + blx _ZN10MapManager18func_ov00_02083b84Ev add r7, r0, #0 ldrh r0, [r4, #0x14] lsr r2, r0, #0x1f @@ -16602,10 +16602,10 @@ _02108c18: ldrh r7, [r4, #0x16] lsl r0, r0, #0xc str r0, [sp, #0x3c] - ldr r0, _02108d20 ; =data_027e0e60 + ldr r0, _02108d20 ; =gMapManager lsr r1, r7, #4 ldr r0, [r0] - blx func_ov00_02083bac + blx _ZN10MapManager18func_ov00_02083bacEv str r0, [sp, #0x14] lsr r2, r7, #0x1f lsl r1, r7, #0x1c @@ -16689,7 +16689,7 @@ _02108d0e: .align 2, 0 thumb_func_end func_ov04_02108bd4 _02108d1c: .word data_027e0ff0 -_02108d20: .word data_027e0e60 +_02108d20: .word gMapManager _02108d24: .word 0x0b60b60b _02108d28: .word 0x00000800 @@ -16768,7 +16768,7 @@ _02108d7c: strb r2, [r0, #0x15] add r0, r7, #0 add r1, sp, #0 - blx func_ov00_0208009c + blx _ZN7MapBase7AddExitEP4Exit add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -16792,15 +16792,15 @@ func_ov04_02108de0: ; 0x02108de0 push {r4, r5, r6, r7, lr} sub sp, #0x44 add r4, r0, #0 - ldr r0, _02109090 ; =data_027e0e60 + ldr r0, _02109090 ; =gMapManager add r7, r1, #0 ldr r0, [r0] str r2, [sp, #4] - blx func_ov00_0208335c + blx _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0xc] - ldr r0, _02109090 ; =data_027e0e60 + ldr r0, _02109090 ; =gMapManager ldr r0, [r0] - blx func_ov00_02083368 + blx _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #8] ldrh r0, [r7, #8] mov r5, #0 @@ -17172,7 +17172,7 @@ _0210906c: b _0210909c nop thumb_func_end func_ov04_02108de0 -_02109090: .word data_027e0e60 +_02109090: .word gMapManager _02109094: .word 0x0b60b60b _02109098: .word 0x00000800 _0210909c: @@ -17207,15 +17207,15 @@ func_ov04_021090c8: ; 0x021090c8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x88 add r5, r0, #0 - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager str r1, [sp, #4] ldr r0, [r0] str r2, [sp, #8] - blx func_ov00_0208335c + blx _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x18] - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager ldr r0, [r0] - blx func_ov00_02083368 + blx _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #0x14] ldr r0, [sp, #4] mov r4, #0 @@ -17270,12 +17270,12 @@ _021090f2: _02109148: b _021092ba _0210914a: - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager ldr r1, [r5, #0x10] ldr r0, [r0] lsl r1, r1, #0x10 lsr r1, r1, #0x10 - blx func_ov00_02084c6c + blx _ZN10MapManager18func_ov00_02084c6cEi cmp r0, #0 bne _0210916c add r0, sp, #0x5c @@ -17289,10 +17289,10 @@ _0210914a: _0210916c: b _021092b4 _0210916e: - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager add r1, r7, #0 ldr r0, [r0] - blx func_ov00_02083c24 + blx _ZN10MapManager18func_ov00_02083c24Ei add r7, r0, #0 ldr r0, [sp, #0x10] mov r1, #1 @@ -17301,10 +17301,10 @@ _0210916e: blx func_0200388c add r0, r7, r0 str r0, [sp, #0x7c] - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager add r1, r6, #0 ldr r0, [r0] - blx func_ov00_02083c50 + blx _ZN10MapManager18func_ov00_02083c50Ei add r6, r0, #0 ldr r0, [sp, #0xc] mov r1, #1 @@ -17316,11 +17316,11 @@ _0210916e: mov r0, #5 lsl r0, r0, #0xc str r0, [sp, #0x80] - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager add r1, sp, #0x7c ldr r0, [r0] mov r2, #0 - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [sp, #0x5c] ldr r1, _021092d4 ; =0x414e4353 str r0, [sp, #0x80] @@ -17466,7 +17466,7 @@ _021092ca: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov04_021090c8 -_021092d0: .word data_027e0e60 +_021092d0: .word gMapManager _021092d4: .word 0x414e4353 _021092d8: .word 0x0b60b60b _021092dc: .word 0x00000800 @@ -17553,13 +17553,13 @@ _02109360: beq _02109382 b _0210938a _02109378: - ldr r0, _02109480 ; =data_027e0e60 + ldr r0, _02109480 ; =gMapManager ldr r1, [r0] mov r0, #1 strb r0, [r1, #8] b _0210938a _02109382: - ldr r0, _02109480 ; =data_027e0e60 + ldr r0, _02109480 ; =gMapManager ldr r1, [r0] mov r0, #0 strb r0, [r1, #8] @@ -17704,7 +17704,7 @@ _0210946c: nop thumb_func_end func_ov04_021092e8 _0210947c: .word 0x00001333 -_02109480: .word data_027e0e60 +_02109480: .word gMapManager _02109484: .word data_027e0618 _02109488: .word data_027e0d38 _0210948c: .word gOverlayManager @@ -17763,10 +17763,10 @@ _021094b2: lsr r0, r0, #0x1c add r0, r5, r0 asr r7, r0, #4 - ldr r0, _021095b0 ; =data_027e0e60 + ldr r0, _021095b0 ; =gMapManager add r1, r7, #0 ldr r0, [r0] - blx func_ov00_02083c50 + blx _ZN10MapManager18func_ov00_02083c50Ei str r0, [sp, #0x10] lsr r2, r5, #0x1f lsl r1, r5, #0x1c @@ -17782,15 +17782,15 @@ _021094b2: add r2, r7, #0 add r0, r1, r0 str r0, [sp, #8] - ldr r0, _021095b0 ; =data_027e0e60 + ldr r0, _021095b0 ; =gMapManager ldr r1, [sp, #0xc] ldr r0, [r0] - blx func_ov00_02083e34 + blx _ZN10MapManager18func_ov00_02083e34Ecci add r5, r0, #0 - ldr r0, _021095b0 ; =data_027e0e60 + ldr r0, _021095b0 ; =gMapManager ldr r1, [sp, #0xc] ldr r0, [r0] - blx func_ov00_02083c24 + blx _ZN10MapManager18func_ov00_02083c24Ei add r7, r0, #0 lsr r2, r6, #0x1f lsl r1, r6, #0x1c @@ -17834,7 +17834,7 @@ _021094b2: add r1, sp, #0x14 str r0, [sp, #0x24] ldr r0, [sp, #4] - blx func_ov00_0207f844 + blx _ZN7MapBase11AddEntranceEP8Entrance add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -17848,7 +17848,7 @@ _021095a8: pop {r4, r5, r6, r7, pc} nop thumb_func_end func_ov04_021094a0 -_021095b0: .word data_027e0e60 +_021095b0: .word gMapManager _021095b4: .word 0x0b60b60b _021095b8: .word 0x00000800 @@ -17938,13 +17938,13 @@ _021095ec: lsl r0, r0, #0xa add r0, r1, r0 asr r6, r0, #0xc - ldr r0, _0210974c ; =data_027e0e60 + ldr r0, _0210974c ; =gMapManager asr r1, r6, #3 lsr r1, r1, #0x1c add r1, r6, r1 ldr r0, [r0] asr r1, r1, #4 - blx func_ov00_02083bac + blx _ZN10MapManager18func_ov00_02083bacEv str r0, [sp, #0x10] lsr r2, r6, #0x1f lsl r1, r6, #0x1c @@ -17977,14 +17977,14 @@ _021095ec: mul r1, r2 add r6, r1, r0 ldr r1, [sp, #8] - ldr r0, _0210974c ; =data_027e0e60 + ldr r0, _0210974c ; =gMapManager asr r1, r1, #3 lsr r2, r1, #0x1c ldr r1, [sp, #8] ldr r0, [r0] add r2, r1, r2 asr r1, r2, #4 - blx func_ov00_02083b84 + blx _ZN10MapManager18func_ov00_02083b84Ev add r7, r0, #0 ldr r0, [sp, #8] ldr r1, [sp, #8] @@ -18037,7 +18037,7 @@ _021095ec: strh r1, [r0, #0x1a] ldr r0, [sp, #4] add r1, sp, #0x3c - blx func_ov00_0208046c + blx _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint add r0, r5, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 @@ -18052,7 +18052,7 @@ _02109746: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov04_021095bc -_0210974c: .word data_027e0e60 +_0210974c: .word gMapManager _02109750: .word 0x00001333 _02109754: .word 0x00000133 _02109758: .word 0x0b60b60b @@ -23144,7 +23144,7 @@ func_ov04_0210bde4: ; 0x0210bde4 func_ov04_0210be04: ; 0x0210be04 push {r3, r4, r5, lr} add r4, r0, #0 - ldr r0, _0210bf94 ; =data_ov00_020e2348 + ldr r0, _0210bf94 ; =_ZTV7MapBase mov r3, #0 str r0, [r4] mov r0, #1 @@ -23338,7 +23338,7 @@ _0210bf8e: pop {r3, r4, r5, pc} nop thumb_func_end func_ov04_0210be04 -_0210bf94: .word data_ov00_020e2348 +_0210bf94: .word _ZTV7MapBase _0210bf98: .word 0x00001333 _0210bf9c: .word func_ov04_02101684 - 1 _0210bfa0: .word func_ov04_0210bde4 - 1 @@ -23356,7 +23356,7 @@ func_ov04_0210bfa8: ; 0x0210bfa8 mov r1, #1 strb r1, [r4, #4] strb r2, [r4, #8] - blx func_ov00_02080de4 + blx _ZN7MapBase18func_ov00_02080de4Ev ldr r0, _0210c0f0 ; =data_027e0d38 ldr r2, [r0] ldr r0, [r2, #0x14] @@ -23510,7 +23510,7 @@ _0210c0dc: mov r0, #0 strh r0, [r4, #0x30] add r0, r4, #0 - blx func_ov00_02080edc + blx _ZN7MapBase18func_ov00_02080edcEv add sp, #0x60 pop {r3, r4, r5, pc} .align 2, 0 @@ -23673,7 +23673,7 @@ _0210c218: add r1, #0xc add r2, r6, #0 add r3, sp - blx func_ov00_0207dda0 + blx _ZN7MapBase14GetMapFilePathEPcii mov r0, #0x10 str r0, [sp] mov r0, #1 @@ -23692,14 +23692,14 @@ _0210c218: add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 - blx func_ov00_0207dce4 + blx _ZN7MapBase9SetBoundsEii add r0, r5, #0 mov r1, #0 - blx func_ov00_0207ddf8 + blx _ZN7MapBase18func_ov00_0207ddf8Eb add r0, sp, #8 add r1, r4, #0 add r2, r6, #0 - blx func_ov00_0207cb7c + blx _ZN6Course14FindMapGridPosEP5Vec2bPS_j strb r6, [r5, #0x13] add r0, sp, #8 ldrb r1, [r0, #1] @@ -23719,7 +23719,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20EiiPci add r0, r5, #0 ldr r2, [r0] ldr r1, _0210c3e4 ; =0x000004c0 @@ -23733,7 +23733,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20EiiPci ldr r0, _0210c3ec ; =data_027e0f6c ldr r1, _0210c3e8 ; =0x00000440 ldr r0, [r0] @@ -23750,7 +23750,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20EiiPci mov r0, #0 str r0, [sp, #0xc] ldr r0, _0210c3d8 ; =0x00000540 @@ -23773,7 +23773,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 mov r2, #1 - blx func_ov00_0207ca78 + blx _ZN6Course18func_ov00_0207ca78Eici add r0, r5, #0 ldr r1, [r0] ldr r1, [r1, #0x14] @@ -23802,7 +23802,7 @@ _0210c342: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20EiiPci ldr r0, _0210c3f0 ; =data_027e103c ldr r1, _0210c3d8 ; =0x00000540 ldr r0, [r0] @@ -23814,7 +23814,7 @@ _0210c342: cmp r0, #0 beq _0210c370 add r0, r4, #0 - blx func_ov00_0207d7bc + blx _ZN6Course18func_ov00_0207d7bcEv _0210c370: ldr r0, _0210c3f4 ; =data_027e0d38 ldr r1, [r0] @@ -23859,7 +23859,7 @@ _0210c370: _0210c3c4: add r0, r5, #0 mov r1, #1 - blx func_ov00_0207dea0 + blx _ZN7MapBase18func_ov00_0207dea0Eb add sp, #0x1fc add sp, #0x1fc add sp, #0x1c8 @@ -23906,7 +23906,7 @@ func_ov04_0210c3fc: ; 0x0210c3fc ldr r2, [r5, #0x24] add r0, r6, #0 add r3, sp, #0x2c - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20EiiPci mov r2, #0 ldr r0, _0210c4f8 ; =data_02057878 str r2, [sp, #0x20] @@ -23927,7 +23927,7 @@ func_ov04_0210c3fc: ; 0x0210c3fc ldr r2, [r5, #0x24] add r0, r6, #0 add r3, sp, #0x6c - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20EiiPci mov r1, #0 ldr r0, _0210c4f8 ; =data_02057878 str r1, [sp, #0xc] @@ -24825,10 +24825,10 @@ func_ov04_0210cb38: ; 0x0210cb38 str r0, [sp, #0xa0] add r0, sp, #0x80 blx func_ov00_020c3348 - ldr r0, _0210cc0c ; =data_027e0e60 + ldr r0, _0210cc0c ; =gMapManager add r1, sp, #0x74 ldr r0, [r0] - blx func_ov00_0208344c + blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p mov r0, #0 str r0, [sp] ldr r0, _0210cc10 ; =data_027e0fe8 @@ -24857,10 +24857,10 @@ _0210cb7a: str r0, [sp, #0x68] add r0, sp, #0x48 blx func_ov00_020c3348 - ldr r0, _0210cc0c ; =data_027e0e60 + ldr r0, _0210cc0c ; =gMapManager add r1, sp, #0x3c ldr r0, [r0] - blx func_ov00_0208344c + blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p mov r0, #0 str r0, [sp] ldr r0, _0210cc10 ; =data_027e0fe8 @@ -24886,10 +24886,10 @@ _0210cbc2: str r0, [sp, #0x30] add r0, sp, #0x10 blx func_ov00_020c3348 - ldr r0, _0210cc0c ; =data_027e0e60 + ldr r0, _0210cc0c ; =gMapManager add r1, sp, #4 ldr r0, [r0] - blx func_ov00_0208344c + blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p mov r0, #0 str r0, [sp] ldr r0, _0210cc10 ; =data_027e0fe8 @@ -24904,7 +24904,7 @@ _0210cc04: .align 2, 0 thumb_func_end func_ov04_0210cb38 _0210cc08: .word data_027e0d38 -_0210cc0c: .word data_027e0e60 +_0210cc0c: .word gMapManager _0210cc10: .word data_027e0fe8 _0210cc14: .word 0x49434645 _0210cc18: .word 0x534e4546 @@ -24922,7 +24922,7 @@ func_ov04_0210cc20: ; 0x0210cc20 ldrb r1, [r4, #0x13] ldr r2, [r4, #0x24] add r3, sp, #0x10 - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20EiiPci mov r0, #0 str r0, [sp, #0xc] add r0, sp, #0x10 @@ -24951,7 +24951,7 @@ func_ov04_0210cc58: ; 0x0210cc58 bne _0210cc72 add r0, r1, #0 add r1, r2, #0 - blx func_ov00_0207d7a4 + blx _ZN6Course18FindMapData_Unk_0cEi add r1, r0, #0 ldr r0, _0210cc78 ; =gOverlayManager bl func_ov03_020faa64 @@ -28840,7 +28840,7 @@ func_ov04_0210ee84: ; 0x0210ee84 sub sp, #0xa8 add r4, r1, #0 add r5, r0, #0 - blx func_ov00_0207ca68 + blx _ZN6Course13SetCourseNameEPc ldr r0, [r4, #0x20] mov r2, #0x2c str r0, [r5, #4] @@ -28925,7 +28925,7 @@ _0210ef12: add r0, r5, #0 add r1, sp, #0x28 add r3, r2, #0 - blx func_ov00_0207cc84 + blx _ZN6Course14GetMCSFilePathEiii mov r1, #0 ldr r0, _0210ef88 ; =data_02057878 str r1, [sp, #0x1c] @@ -28973,7 +28973,7 @@ func_ov04_0210ef90: ; 0x0210ef90 mov r3, #0 add r5, r0, #0 add r4, r1, #0 - blx func_ov00_0207cd74 + blx _ZN6Course14GetMRCFilePathEiii mov r1, #0 ldr r0, _0210f004 ; =data_02057878 str r1, [sp, #0x14] @@ -29104,7 +29104,7 @@ func_ov04_0210f07c: ; 0x0210f07c ldrb r1, [r4] cmp r1, #0xff beq _0210f0f4 - blx func_ov00_0207d9cc + blx _ZN6Course11FindMapDataEj cmp r0, #0 bne _0210f0f4 ldr r1, _0210f0f8 ; =data_027e0ce0 @@ -29296,20 +29296,20 @@ _0210f1ea: add r0, #2 add r1, r5, #0 add r2, r7, #0 - blx func_ov00_0207cb7c + blx _ZN6Course14FindMapGridPosEP5Vec2bPS_j add r0, sp, #0x18 ldrb r0, [r0, #2] add r1, r5, #0 add r2, r7, #0 str r0, [sp, #4] add r0, sp, #0x18 - blx func_ov00_0207cb7c + blx _ZN6Course14FindMapGridPosEP5Vec2bPS_j add r0, sp, #0x18 ldrb r0, [r0, #1] add r1, r7, #0 str r0, [sp] add r0, r5, #0 - blx func_ov00_0207d4e4 + blx _ZN6Course15IsMapInMainGridEj cmp r0, #0 beq _0210f284 add r1, r5, #0 diff --git a/asm/ov05.inc b/asm/ov05.inc index ec94b899..1748e50e 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -1,5 +1,28 @@ #pragma once .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager16MapData_vfunc_84Ev +.extern _ZN10MapManager17GetMapData_Unk_0aEv +.extern _ZN10MapManager17GetMapData_Unk_0bEv +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_02082424Ev +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02083664EP5Vec3pi +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_020848b8Ev +.extern _ZN10MapManager18func_ov00_0208527cEv +.extern _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi .extern _ZN10PlayerBase18func_ov00_020a7c00Ei .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager15LoadFanfareItemEj @@ -103,6 +126,12 @@ .extern _ZN13PlayerControl18func_ov00_020b13c4Ev .extern _ZN13PlayerControl20UpdateUsingEquipItemEv .extern _ZN13PlayerControl9SetUnk_80Ev +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097750Ev +.extern _ZN14AdventureFlags18func_ov00_02097bbcEv +.extern _ZN14AdventureFlags18func_ov00_02097ff4Ebb +.extern _ZN14AdventureFlags3GetEj .extern _ZN15LinkStateDamage18func_ov00_020ac9e4Ei .extern _ZN15LinkStateDamage18func_ov00_020acb6cEP5Vec3pi .extern _ZN15LinkStateDamage18func_ov00_020ace90EP5Vec3pi @@ -159,7 +188,6 @@ .extern data_027e0e2c .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -332,32 +360,9 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c358 .extern func_ov00_0207c444 -.extern func_ov00_0207dea0 -.extern func_ov00_02080de8 +.extern _ZN7MapBase18func_ov00_0207dea0Eb +.extern _ZN7MapBase18func_ov00_02080de8Ei .extern func_ov00_02081f4c -.extern func_ov00_02082424 -.extern func_ov00_020828e0 -.extern func_ov00_02082d08 -.extern func_ov00_0208344c -.extern func_ov00_02083664 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083c7c -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_02083fb0 -.extern func_ov00_020840a0 -.extern func_ov00_020840c4 -.extern func_ov00_0208430c -.extern func_ov00_02084318 -.extern func_ov00_02084740 -.extern func_ov00_020848b8 -.extern func_ov00_0208527c -.extern func_ov00_0208583c .extern func_ov00_0208726c .extern func_ov00_020872e8 .extern func_ov00_0208766c @@ -373,12 +378,6 @@ .extern func_ov00_0208cb84 .extern func_ov00_0208df2c .extern func_ov00_02095fe0 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags18func_ov00_02097750Ev -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097bbcEv -.extern _ZN14AdventureFlags18func_ov00_02097ff4Ebb .extern func_ov00_020981b8 .extern func_ov00_02098694 .extern func_ov00_02098890 @@ -577,6 +576,7 @@ .extern func_ov59_021990a4 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcmp .extern strcpy diff --git a/asm/ov05.s b/asm/ov05.s index 9223e162..a5b8179c 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -604,9 +604,9 @@ _02101280: ldr r0, [r1, #4] tst r0, #1 bne _02101338 - ldr r0, _02101420 ; =data_027e0e60 + ldr r0, _02101420 ; =gMapManager ldr r0, [r0] - bl func_ov00_020828e0 + bl _ZN10MapManager16MapData_vfunc_84Ev ldr r3, [r8] ldr r1, [r10, #0x18] ldrb r7, [r3, #0x14] @@ -709,7 +709,7 @@ _021013f4: .align 2, 0 arm_func_end func_ov05_02101230 _0210141c: .word data_027e077c -_02101420: .word data_027e0e60 +_02101420: .word gMapManager .global func_ov05_02101424 arm_func_start func_ov05_02101424 @@ -1340,14 +1340,14 @@ _02101c04: bl func_ov00_020a5e9c cmp r0, #0x12 bne _02101c90 - ldr r0, _021021dc ; =data_027e0e60 + ldr r0, _021021dc ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #2 beq _02101c44 - ldr r0, _021021dc ; =data_027e0e60 + ldr r0, _021021dc ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #3 bne _02101c90 _02101c44: @@ -1561,9 +1561,9 @@ _02101f18: cmp r0, #0 addne sp, sp, #0x58 ldmneia sp!, {r4, r5, r6, pc} - ldr r0, _021021dc ; =data_027e0e60 + ldr r0, _021021dc ; =gMapManager ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r2, [r6, #4] ldr r0, _021021ec ; =data_ov00_020eec68 @@ -1730,7 +1730,7 @@ _02102140: arm_func_end func_ov05_02101b14 _021021d4: .word data_027e0f64 _021021d8: .word data_027e0d38 -_021021dc: .word data_027e0e60 +_021021dc: .word gMapManager _021021e0: .word data_027e0f94 _021021e4: .word data_027e0ffc _021021e8: .word data_ov00_020eec9c @@ -2009,7 +2009,7 @@ _0210259c: mov r1, r8 ldr r0, [r0] bl func_ov05_021017e8 - ldr r0, _021026e0 ; =data_027e0e60 + ldr r0, _021026e0 ; =gMapManager mov r1, r8 ldr r0, [r0] bl func_ov05_0210112c @@ -2081,7 +2081,7 @@ _021026d0: .word data_027e0d04 _021026d4: .word data_027e0f90 _021026d8: .word data_027e0f64 _021026dc: .word data_027e0f78 -_021026e0: .word data_027e0e60 +_021026e0: .word gMapManager _021026e4: .word data_027e0fe4 _021026e8: .word data_027e0f6c _021026ec: .word data_ov12_0213deb0 @@ -2100,7 +2100,7 @@ func_ov05_021026f8: ; 0x021026f8 bl func_ov05_02103df0 cmp r5, #1 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _02102744 ; =data_027e0e60 + ldr r0, _02102744 ; =gMapManager mov r1, r4 ldr r0, [r0] bl func_ov05_021011b4 @@ -2112,7 +2112,7 @@ func_ov05_021026f8: ; 0x021026f8 .align 2, 0 arm_func_end func_ov05_021026f8 _02102740: .word data_027e103c -_02102744: .word data_027e0e60 +_02102744: .word gMapManager _02102748: .word data_027e0fc0 .global func_ov05_0210274c @@ -2164,7 +2164,7 @@ _021027d8: mov r1, r4 ldr r0, [r0] bl func_ov05_02105304 - ldr r0, _02102824 ; =data_027e0e60 + ldr r0, _02102824 ; =gMapManager mov r1, r4 ldr r0, [r0] bl func_ov05_021011cc @@ -2176,7 +2176,7 @@ _02102814: .word data_027e103c _02102818: .word data_027e0c54 _0210281c: .word data_027e0f90 _02102820: .word data_027e0fe4 -_02102824: .word data_027e0e60 +_02102824: .word gMapManager .global func_ov05_02102828 arm_func_start func_ov05_02102828 @@ -2266,7 +2266,7 @@ _0210294c: bl func_ov05_02101804 cmp r7, #0 bne _02102978 - ldr r0, _02102a5c ; =data_027e0e60 + ldr r0, _02102a5c ; =gMapManager mov r1, r8 ldr r0, [r0] bl func_ov05_021011fc @@ -2333,7 +2333,7 @@ _02102a4c: .word data_027e0de4 _02102a50: .word data_027e0de8 _02102a54: .word data_027e0f88 _02102a58: .word data_027e0f64 -_02102a5c: .word data_027e0e60 +_02102a5c: .word gMapManager _02102a60: .word data_027e0f90 _02102a64: .word data_027e0fe4 _02102a68: .word data_027e0618 @@ -2389,7 +2389,7 @@ _02102b08: .word data_027e0cbc arm_func_start func_ov05_02102b0c func_ov05_02102b0c: ; 0x02102b0c stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr ip, _02102c28 ; =data_027e0e60 + ldr ip, _02102c28 ; =gMapManager mov r8, r0 mov r7, r1 mov r4, r2 @@ -2399,7 +2399,7 @@ func_ov05_02102b0c: ; 0x02102b0c mov r2, r7 mov r6, r3 str r5, [r4] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x30 bgt _02102b9c cmp r0, #0x28 @@ -2471,7 +2471,7 @@ _02102c20: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov05_02102b0c -_02102c28: .word data_027e0e60 +_02102c28: .word gMapManager .global func_ov05_02102c2c arm_func_start func_ov05_02102c2c @@ -2588,11 +2588,11 @@ _02102d6c: cmp r0, #0 bne _02102dd8 ldr r0, [sp, #0x44] - bl func_ov00_0208430c + bl _ZN10MapManager17GetMapData_Unk_0aEv cmp r0, #0 bne _02102dd8 ldr r0, [sp, #0x44] - bl func_ov00_02084318 + bl _ZN10MapManager17GetMapData_Unk_0bEv cmp r0, #0 beq _02102de0 _02102dd8: @@ -2608,7 +2608,7 @@ _02102de0: streq r0, [sp, #0x30] beq _02102e0c ldr r0, [sp, #0x44] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev str r0, [sp, #0x30] _02102e0c: ldr r0, [sp, #0x28] @@ -2641,7 +2641,7 @@ _02102e24: ldr r1, [sp, #0x44] add r0, sp, #0x74 add r2, sp, #0x78 - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i add r0, sp, #0x74 bl func_ov05_02103b2c cmp r0, #2 @@ -2659,7 +2659,7 @@ _02102e24: ldr r0, [sp, #0x44] add r1, sp, #0x84 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r6, #0x14] add r0, sp, #0x84 bl func_0202bac0 @@ -2697,11 +2697,11 @@ _02102ee8: bne _0210314c ldr r1, [r7] ldr r0, [sp, #0x44] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r9, r0 ldr r0, [sp, #0x44] ldr r1, [r7, #8] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev str r0, [sp, #0x34] ldr r1, [sp, #0x34] mov r0, r9 @@ -3320,7 +3320,7 @@ func_ov05_0210373c: ; 0x0210373c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x10 ldr r7, [sp, #0x44] - ldr r4, _021038c0 ; =data_027e0e60 + ldr r4, _021038c0 ; =gMapManager ldr r6, [r7, #8] ldr r5, [sp, #0x3c] ldr r4, [r4] @@ -3331,7 +3331,7 @@ func_ov05_0210373c: ; 0x0210373c mov r1, r6 mov r8, r2 mov r11, r3 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev ldr r1, [sp, #0x38] str r0, [sp] cmp r1, r0 @@ -3375,7 +3375,7 @@ func_ov05_0210373c: ; 0x0210373c str r3, [sp, #4] str r7, [sp, #8] str r6, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r8, r0 str r0, [r5, #0x14] mov r2, #1 @@ -3394,7 +3394,7 @@ _02103838: ldr r3, [r7, #8] ldr r2, [sp] str r3, [r5, #0x18] - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r5, #0x14] mov r2, #1 _02103878: @@ -3419,7 +3419,7 @@ _021038b4: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov05_0210373c -_021038c0: .word data_027e0e60 +_021038c0: .word gMapManager _021038c4: .word data_ov05_021122a8 .global func_ov05_021038c8 @@ -3428,7 +3428,7 @@ func_ov05_021038c8: ; 0x021038c8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x18 ldr r7, [sp, #0x4c] - ldr r4, _02103a9c ; =data_027e0e60 + ldr r4, _02103a9c ; =gMapManager ldr r6, [r7] ldr r5, [sp, #0x44] ldr r4, [r4] @@ -3439,7 +3439,7 @@ func_ov05_021038c8: ; 0x021038c8 mov r1, r6 mov r8, r2 mov r5, r3 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r11, r0 cmp r5, r11 beq _02103a90 @@ -3482,7 +3482,7 @@ func_ov05_021038c8: ; 0x021038c8 str r6, [sp, #0xc] str r3, [sp, #0x10] str r4, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r8, r0 str r0, [r5, #0x14] mov r2, #1 @@ -3503,7 +3503,7 @@ _021039c0: str r6, [sp] str r3, [sp, #4] str r4, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev sub r0, r0, r8 str r0, [r5, #0x14] mov r2, #1 @@ -3523,7 +3523,7 @@ _02103a10: ldr r3, [r7, #8] mov r1, r11 str r3, [r5, #0x18] - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r5, #0x14] mov r2, #1 _02103a54: @@ -3548,7 +3548,7 @@ _02103a90: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov05_021038c8 -_02103a9c: .word data_027e0e60 +_02103a9c: .word gMapManager _02103aa0: .word data_ov05_021122a8 .global func_ov05_02103aa4 @@ -3684,12 +3684,12 @@ func_ov05_02103b88: ; 0x02103b88 .global func_ov05_02103ba0 arm_func_start func_ov05_02103ba0 func_ov05_02103ba0: ; 0x02103ba0 - ldr r0, _02103bac ; =data_027e0e60 + ldr r0, _02103bac ; =gMapManager ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov05_02103ba0 -_02103bac: .word data_027e0e60 +_02103bac: .word gMapManager .global func_ov05_02103bb0 arm_func_start func_ov05_02103bb0 @@ -6070,11 +6070,11 @@ _021059f0: add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02105c0c ; =data_027e0e60 + ldr r0, _02105c0c ; =gMapManager mov r1, r3 ldr r0, [r0] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, _02105c08 ; =data_ov05_021124f0 str r0, [r6, #0x3c] ldr r1, [r2, #0x20] @@ -6210,7 +6210,7 @@ _02105bfc: .word 0x00000112 _02105c00: .word 0x00000113 _02105c04: .word 0x00000666 _02105c08: .word data_ov05_021124f0 -_02105c0c: .word data_027e0e60 +_02105c0c: .word gMapManager _02105c10: .word data_02050f54 _02105c14: .word 0x00000266 _02105c18: .word 0x00000115 @@ -7366,7 +7366,7 @@ func_ov05_02106bbc: ; 0x02106bbc mov r0, r5 bl _ZN13LinkStateBase12GetPlayerPosEv ldr r0, [r0, #4] - ldr r1, _02106c70 ; =data_027e0e60 + ldr r1, _02106c70 ; =gMapManager add r0, r0, #0x33 add r0, r0, #0x1300 str r0, [r4, #4] @@ -7378,7 +7378,7 @@ func_ov05_02106bbc: ; 0x02106bbc strb r2, [r1, #1] ldr r2, [r1] mov r1, r4 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02106c64: @@ -7387,7 +7387,7 @@ _02106c64: .align 2, 0 arm_func_end func_ov05_02106bbc _02106c6c: .word data_027e0fb8 -_02106c70: .word data_027e0e60 +_02106c70: .word gMapManager .global func_ov05_02106c74 arm_func_start func_ov05_02106c74 @@ -7700,7 +7700,7 @@ _0210707c: add r3, sp, #0x28 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _021071e8 ; =data_027e0e60 + ldr r0, _021071e8 ; =gMapManager ldr r4, [sp, #0x28] ldr r5, [sp, #0x2c] ldr r2, [sp, #0x30] @@ -7713,7 +7713,7 @@ _0210707c: str r4, [sp, #0x1c] str r6, [sp, #0x24] str r5, [sp, #0x20] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r8, r0 mov r0, r7 bl _ZN13LinkStateBase12GetPlayerPosEv @@ -7721,14 +7721,14 @@ _0210707c: add r0, r0, #0x800 cmp r0, r8 bge _02107148 - ldr r0, _021071e8 ; =data_027e0e60 + ldr r0, _021071e8 ; =gMapManager add r1, sp, #0x10 ldr r0, [r0] mov r2, #1 str r4, [sp, #0x10] str r5, [sp, #0x14] str r6, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r8, r0 _02107148: mov r0, r7 @@ -7775,7 +7775,7 @@ _021071d8: .word data_ov05_021126ac _021071dc: .word data_027e0fb8 _021071e0: .word 0x00000ccd _021071e4: .word data_027e0e58 -_021071e8: .word data_027e0e60 +_021071e8: .word gMapManager _021071ec: .word 0xfffffb33 _021071f0: .word func_ov05_02106c74 _021071f4: .word data_027e103c @@ -8382,14 +8382,14 @@ _02107a18: ldrsh r0, [r4, #0x10] cmp r0, #0 bgt _02107b1c - ldr r1, _02107b68 ; =data_027e0e60 + ldr r1, _02107b68 ; =gMapManager mov r0, r4 ldr r5, [r1] bl _ZN13LinkStateBase12GetPlayerPosEv mov r2, r0 add r0, sp, #2 mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r2, #0 ldrb r1, [sp, #2] ldrb r0, [sp, #3] @@ -8452,7 +8452,7 @@ _02107b1c: _02107b5c: .word data_ov05_021126ac _02107b60: .word data_ov05_021126b4 _02107b64: .word data_027e0fb8 -_02107b68: .word data_027e0e60 +_02107b68: .word gMapManager _02107b6c: .word data_ov05_021122e0 _02107b70: .word data_027e0d0c @@ -10028,9 +10028,9 @@ _02109018: bl func_ov00_020d70a4 b _02109080 _02109060: - ldr r0, _02109294 ; =data_027e0e60 + ldr r0, _02109294 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r0, _0210928c ; =data_ov00_020eec68 mov r2, #0 @@ -10180,7 +10180,7 @@ _02109278: arm_func_end func_ov05_02108f98 _0210928c: .word data_ov00_020eec68 _02109290: .word data_027e071c -_02109294: .word data_027e0e60 +_02109294: .word gMapManager _02109298: .word data_027e0d38 _0210929c: .word data_027e0618 _021092a0: .word data_027e0c54 @@ -10966,11 +10966,11 @@ _02109d0c: str r1, [r7, #0x40] str r3, [r7, #0x44] str r2, [r7, #0x48] - ldr r0, _02109e80 ; =data_027e0e60 + ldr r0, _02109e80 ; =gMapManager add r1, r7, #0x40 ldr r0, [r0] mov r2, #1 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p str r0, [r7, #0x44] mov r0, #0xd str r0, [r7, #4] @@ -11058,7 +11058,7 @@ _02109e74: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov05_02109cd0 -_02109e80: .word data_027e0e60 +_02109e80: .word gMapManager .global func_ov05_02109e84 arm_func_start func_ov05_02109e84 @@ -11801,16 +11801,16 @@ func_ov05_0210a7d4: ; 0x0210a7d4 str r1, [r0, #4] b _0210aa98 _0210a830: - ldr r1, _0210aad8 ; =data_027e0e60 + ldr r1, _0210aad8 ; =gMapManager add r0, sp, #0x14 ldr r1, [r1] add r2, sp, #0x2c - bl func_ov00_02083a1c - ldr r0, _0210aad8 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _0210aad8 ; =gMapManager add r1, sp, #0x14 ldr r0, [r0] mov r5, #0 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0210a904 ldrsb r0, [r0, #0x12] @@ -11829,14 +11829,14 @@ _0210a830: movls r5, #0 cmp r1, r0 bne _0210a904 - ldr r1, _0210aad8 ; =data_027e0e60 + ldr r1, _0210aad8 ; =gMapManager mov r0, r6 ldr r7, [r1] bl _ZN13LinkStateBase15GetGrabActorRefEv ldr r2, [r0] add r1, sp, #0x2c mov r0, r7 - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi cmp r0, #0 blt _0210a904 mov r0, r4 @@ -11867,11 +11867,11 @@ _0210a904: mov r5, #1 cmp r1, r0 beq _0210aa20 - ldr r0, _0210aad8 ; =data_027e0e60 + ldr r0, _0210aad8 ; =gMapManager add r1, sp, #0x2c ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x30] cmp r1, r0 movlt r5, #0 @@ -11906,7 +11906,7 @@ _0210a904: mov ip, #0 str r1, [sp, #0x24] ldr r1, [r0, #8] - ldr r0, _0210aad8 ; =data_027e0e60 + ldr r0, _0210aad8 ; =gMapManager str r1, [sp, #0x28] ldr r2, [r4, #0x98] add r1, sp, #0x38 @@ -11979,7 +11979,7 @@ _0210aac0: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov05_0210a7d4 -_0210aad8: .word data_027e0e60 +_0210aad8: .word gMapManager _0210aadc: .word 0x424f4d42 _0210aae0: .word gItemManager _0210aae4: .word 0x43525953 @@ -12399,7 +12399,7 @@ _0210ae98: movne r1, #1 moveq r1, #0 strb r1, [r5, #0xb1] - ldr r0, _0210b290 ; =data_027e0e60 + ldr r0, _0210b290 ; =gMapManager ldr r7, [sp, #0x28] ldr r6, [sp, #0x2c] ldr r3, [sp, #0x30] @@ -12408,7 +12408,7 @@ _0210ae98: str r7, [sp, #0x10] str r6, [sp, #0x14] str r3, [sp, #0x18] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0xc] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -12514,7 +12514,7 @@ _0210b280: .word data_027e0fe4 _0210b284: .word gAdventureFlags _0210b288: .word data_02050f54 _0210b28c: .word 0x0000ffff -_0210b290: .word data_027e0e60 +_0210b290: .word gMapManager _0210b294: .word data_027e0fb8 _0210b298: .word data_ov05_021128a4 _0210b29c: .word data_ov05_021128b4 @@ -12818,15 +12818,15 @@ _0210b684: ldr r0, _0210b95c ; =data_027e0fb8 ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev - ldr r1, _0210b968 ; =data_027e0e60 + ldr r1, _0210b968 ; =gMapManager add r0, sp, #0x12 ldr r4, [r1] add r2, r5, #0x24 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x12 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _0210b6d0 ldr r1, [r0] @@ -12865,16 +12865,16 @@ _0210b6dc: ldmia sp!, {r3, r4, r5, r6, pc} _0210b73c: mov r1, #2 - ldr r0, _0210b968 ; =data_027e0e60 + ldr r0, _0210b968 ; =gMapManager str r1, [r5, #0xc] ldr r4, [r0] add r0, sp, #0x10 mov r1, r4 add r2, r5, #0x24 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x10 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0210b788 ldr r1, [r0] @@ -12910,23 +12910,23 @@ _0210b7b0: _0210b7dc: mov r0, r5 bl _ZN13LinkStateBase18EquipItem_vfunc_28Ev - ldr r1, _0210b968 ; =data_027e0e60 + ldr r1, _0210b968 ; =gMapManager mov r0, r5 ldr r6, [r1] bl _ZN13LinkStateBase12GetPlayerPosEv mov r4, r0 ldrb r1, [r5, #0x20] mov r0, r6 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r4] - ldr r1, _0210b968 ; =data_027e0e60 + ldr r1, _0210b968 ; =gMapManager mov r0, r5 ldr r6, [r1] bl _ZN13LinkStateBase12GetPlayerPosEv mov r4, r0 ldrb r1, [r5, #0x21] mov r0, r6 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [r4, #8] mov r0, r5 bl _ZN13LinkStateBase12GetPlayerVelEv @@ -13012,7 +13012,7 @@ _0210b954: _0210b95c: .word data_027e0fb8 _0210b960: .word data_ov05_02112984 _0210b964: .word data_ov05_021129f4 -_0210b968: .word data_027e0e60 +_0210b968: .word gMapManager .global func_ov05_0210b96c arm_func_start func_ov05_0210b96c @@ -13064,7 +13064,7 @@ func_ov05_0210b9c4: ; 0x0210b9c4 ldr r1, _0210ba8c ; =data_027e0fe4 str r0, [sp] ldr r2, [r4, #0x28] - ldr r0, _0210ba90 ; =data_027e0e60 + ldr r0, _0210ba90 ; =gMapManager str r2, [sp, #4] ldr r3, [r4, #0x2c] ldr r5, [r1] @@ -13072,7 +13072,7 @@ func_ov05_0210b9c4: ; 0x0210b9c4 add r1, sp, #0 mov r2, #3 str r3, [sp, #8] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi mov r1, r0 mov r0, r5 bl _ZN12ActorManager13FindActorByIdEj @@ -13106,7 +13106,7 @@ _0210ba7c: .align 2, 0 arm_func_end func_ov05_0210b9c4 _0210ba8c: .word data_027e0fe4 -_0210ba90: .word data_027e0e60 +_0210ba90: .word gMapManager _0210ba94: .word data_ov00_020eec9c .global func_ov05_0210ba98 @@ -13135,7 +13135,7 @@ func_ov05_0210babc: ; 0x0210babc cmp r0, #0 beq _0210bb10 ldr r1, [r4, #0x24] - ldr r0, _0210bb48 ; =data_027e0e60 + ldr r0, _0210bb48 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x28] ldr r0, [r0] @@ -13144,7 +13144,7 @@ func_ov05_0210babc: ; 0x0210babc add r1, sp, #0 mov r2, #5 str r3, [sp, #8] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi add sp, sp, #0xc ldmia sp!, {r3, r4, pc} _0210bb10: @@ -13164,7 +13164,7 @@ _0210bb10: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov05_0210babc -_0210bb48: .word data_027e0e60 +_0210bb48: .word gMapManager _0210bb4c: .word data_027e0fb8 .global func_ov05_0210bb50 @@ -13199,15 +13199,15 @@ func_ov05_0210bb98: ; 0x0210bb98 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r1, #0 strb r1, [r0, #0xbc] - ldr r1, _0210bd58 ; =data_027e0e60 + ldr r1, _0210bd58 ; =gMapManager add r0, sp, #0 ldr r4, [r1] add r2, r5, #0x24 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _0210bc04 ldr r0, _0210bd5c ; =gAdventureFlags @@ -13314,7 +13314,7 @@ _0210bd48: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov05_0210bb98 -_0210bd58: .word data_027e0e60 +_0210bd58: .word gMapManager _0210bd5c: .word gAdventureFlags _0210bd60: .word data_027e0fb8 _0210bd64: .word data_ov05_021129d4 @@ -13334,15 +13334,15 @@ func_ov05_0210bd70: ; 0x0210bd70 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r1, #0 strb r1, [r0, #0xbc] - ldr r1, _0210bf40 ; =data_027e0e60 + ldr r1, _0210bf40 ; =gMapManager add r0, sp, #0 ldr r4, [r1] add r2, r5, #0x24 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _0210bdd8 ldr r1, [r0] @@ -13451,7 +13451,7 @@ _0210beb8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov05_0210bd70 -_0210bf40: .word data_027e0e60 +_0210bf40: .word gMapManager _0210bf44: .word data_027e0fb8 _0210bf48: .word gAdventureFlags _0210bf4c: .word 0x00000155 @@ -13662,7 +13662,7 @@ func_ov05_0210c20c: ; 0x0210c20c bl _ZN13PlayerControl18func_ov00_020af01cEPc cmp r0, #0 beq _0210c2a8 - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager ldrb r2, [sp, #8] ldrb r1, [sp, #9] ldr r0, [r0] @@ -13671,7 +13671,7 @@ func_ov05_0210c20c: ; 0x0210c20c strb r1, [r3, #1] ldr r2, [r3] add r1, sp, #0x6c - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r0, r7 bl _ZN13LinkStateBase12GetPlayerPosEv mov r1, r0 @@ -13752,11 +13752,11 @@ _0210c398: ldr r5, [r0, #0xa0] cmp r5, #0 beq _0210c3ec - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] add r2, r7, #0x24 - bl func_ov00_0208527c + bl _ZN10MapManager18func_ov00_0208527cEv mov r6, r0 add r1, sp, #0x54 mov r0, r7 @@ -13841,7 +13841,7 @@ _0210c4d8: ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv ldr r1, [r7, #0x24] - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager str r1, [sp, #0x3c] ldr r1, [r7, #0x28] ldr r0, [r0] @@ -13850,7 +13850,7 @@ _0210c4d8: add r1, sp, #0x3c mov r2, #0xe str r3, [sp, #0x44] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi add sp, sp, #0x78 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} @@ -13863,7 +13863,7 @@ _0210c528: ldmia sp!, {r3, r4, r5, r6, r7, pc} _0210c540: ldr r1, [r7, #0x24] - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager str r1, [sp, #0x30] ldr r1, [r7, #0x28] ldr r0, [r0] @@ -13872,7 +13872,7 @@ _0210c540: add r1, sp, #0x30 mov r2, #4 str r3, [sp, #0x38] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi mov r4, r0 bl func_ov05_0210c980 mov r1, r4 @@ -13953,7 +13953,7 @@ _0210c650: ldmia sp!, {r3, r4, r5, r6, r7, pc} _0210c680: ldr r1, [r7, #0x24] - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager str r1, [sp, #0x24] ldr r1, [r7, #0x28] ldr r0, [r0] @@ -13962,13 +13962,13 @@ _0210c680: add r1, sp, #0x24 mov r2, #7 str r3, [sp, #0x2c] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi str r0, [r7, #0x10] - ldr r1, _0210c950 ; =data_027e0e60 + ldr r1, _0210c950 ; =gMapManager add r0, sp, #6 ldr r1, [r1] add r2, r7, #0x24 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r3, [sp, #6] ldrb r2, [sp, #7] ldr r0, _0210c968 ; =0x00020007 @@ -14049,7 +14049,7 @@ _0210c7cc: cmpne r1, r0 bne _0210c818 ldr r1, [r7, #0x24] - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager str r1, [sp, #0x18] ldr r1, [r7, #0x28] ldr r0, [r0] @@ -14058,7 +14058,7 @@ _0210c7cc: add r1, sp, #0x18 mov r2, #0xb str r3, [sp, #0x20] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi _0210c818: add sp, sp, #0x78 mov r0, #1 @@ -14074,12 +14074,12 @@ _0210c824: mov r1, #0 str r2, [sp, #0x14] bl _ZNK11ItemManager8GetFairyEi - ldr r1, _0210c950 ; =data_027e0e60 + ldr r1, _0210c950 ; =gMapManager mov r4, r0 ldr r0, [r1] add r1, sp, #0xc mov r2, #0xc - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi mov r1, r0 mov r0, r4 ldr r4, [r0] @@ -14143,7 +14143,7 @@ _0210c93c: arm_func_end func_ov05_0210c20c _0210c948: .word data_027e0618 _0210c94c: .word data_027e0fb8 -_0210c950: .word data_027e0e60 +_0210c950: .word gMapManager _0210c954: .word data_ov00_020eec9c _0210c958: .word data_ov05_02112324 _0210c95c: .word data_ov05_02112360 @@ -14195,15 +14195,15 @@ _0210c9d0: _0210c9e4: mov r5, #2 _0210c9e8: - ldr r1, _0210ca7c ; =data_027e0e60 + ldr r1, _0210ca7c ; =gMapManager add r0, sp, #0 ldr r6, [r1] add r2, r4, #0x24 mov r1, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r6 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, r5, r6, pc} @@ -14234,7 +14234,7 @@ _0210c9e8: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov05_0210c990 -_0210ca7c: .word data_027e0e60 +_0210ca7c: .word gMapManager .global func_ov05_0210ca80 arm_func_start func_ov05_0210ca80 @@ -16372,11 +16372,11 @@ _0210e6d8: cmp r0, #0 beq _0210e72c ldr r0, _0210e884 ; =data_027e0fd4 - ldr r1, _0210e894 ; =data_027e0e60 + ldr r1, _0210e894 ; =gMapManager ldr r2, [r0] ldr r0, [r1] add r1, r2, #0xc4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r4, r0 _0210e72c: ldr r1, _0210e884 ; =data_027e0fd4 @@ -16474,7 +16474,7 @@ _0210e884: .word data_027e0fd4 _0210e888: .word data_027e0fa0 _0210e88c: .word data_027e0fd0 _0210e890: .word data_027e0f94 -_0210e894: .word data_027e0e60 +_0210e894: .word gMapManager _0210e898: .word gAdventureFlags _0210e89c: .word 0x66666667 _0210e8a0: .word data_027e0fac @@ -16504,11 +16504,11 @@ func_ov05_0210e8b4: ; 0x0210e8b4 ldr r1, [r1, #0x14] cmp r1, #1 bne _0210e918 - ldr r0, _0210ea8c ; =data_027e0e60 + ldr r0, _0210ea8c ; =gMapManager ldrh r2, [r5, #0xe] ldr r0, [r0] add r1, sp, #4 - bl func_ov00_02083664 + bl _ZN10MapManager18func_ov00_02083664EP5Vec3pi ldr r2, [sp, #0xc] ldr r1, [sp, #8] ldr r0, [sp, #4] @@ -16619,7 +16619,7 @@ _0210ea38: .align 2, 0 arm_func_end func_ov05_0210e8b4 _0210ea88: .word data_027e0d38 -_0210ea8c: .word data_027e0e60 +_0210ea8c: .word gMapManager _0210ea90: .word data_027e0fac _0210ea94: .word data_027e0f94 _0210ea98: .word data_027e0fcc @@ -18859,13 +18859,13 @@ func_ov05_021109c0: ; 0x021109c0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 ldr r1, _02110b38 ; =data_027e0fd4 - ldr r2, _02110b3c ; =data_027e0e60 + ldr r2, _02110b3c ; =gMapManager ldr r1, [r1] mov r6, r0 ldr r0, [r2] add r1, r1, #0x1c mov r4, #0x13 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r5, r0 mov r0, r6 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev @@ -18972,7 +18972,7 @@ _02110b2c: .align 2, 0 arm_func_end func_ov05_021109c0 _02110b38: .word data_027e0fd4 -_02110b3c: .word data_027e0e60 +_02110b3c: .word gMapManager .global func_ov05_02110b40 arm_func_start func_ov05_02110b40 @@ -19393,7 +19393,7 @@ _021110cc: _02111100: bl _ZN13LinkStateBase12GetPlayerPosEv ldr r2, [r0] - ldr r1, _021112e8 ; =data_027e0e60 + ldr r1, _021112e8 ; =gMapManager str r2, [sp, #0xc] ldr r2, [r0, #4] ldr r5, [r1] @@ -19406,7 +19406,7 @@ _02111100: add r1, sp, #0xc mov r0, r5 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #4] mov r5, #0x4000 sub r4, r1, r0 @@ -19522,7 +19522,7 @@ _021112d8: .word data_ov05_02112b34 _021112dc: .word data_027e0e58 _021112e0: .word 0x0000102e _021112e4: .word 0x000001a7 -_021112e8: .word data_027e0e60 +_021112e8: .word gMapManager .global func_ov05_021112ec arm_func_start func_ov05_021112ec @@ -20205,11 +20205,11 @@ func_ov05_02111c00: ; 0x02111c00 ldmeqia sp!, {r4, r5, pc} mov r0, r5 mov r1, r4 - bl func_ov00_02080de8 - ldr r0, _02111c68 ; =data_027e0e60 + bl _ZN7MapBase18func_ov00_02080de8Ei + ldr r0, _02111c68 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, [r5, #0x140] add r1, sp, #0 ldr r2, [r0] @@ -20219,7 +20219,7 @@ func_ov05_02111c00: ; 0x02111c00 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov05_02111c00 -_02111c68: .word data_027e0e60 +_02111c68: .word gMapManager .global func_ov05_02111c6c arm_func_start func_ov05_02111c6c @@ -20446,9 +20446,9 @@ func_ov05_02111f40: ; 0x02111f40 ldr r0, [r5, #0xf0] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _02111fb0 ; =data_027e0e60 + ldr r0, _02111fb0 ; =gMapManager ldr r0, [r0] - bl func_ov00_020848b8 + bl _ZN10MapManager18func_ov00_020848b8Ev cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} bl func_ov15_0215b780 @@ -20466,7 +20466,7 @@ func_ov05_02111f40: ; 0x02111f40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov05_02111f40 -_02111fb0: .word data_027e0e60 +_02111fb0: .word gMapManager _02111fb4: .word data_027e0d3c .global func_ov05_02111fb8 @@ -20607,7 +20607,7 @@ _02112190: blt _021120c8 ldr r0, [r4] mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb ldrh r0, [r4, #0x16] cmp r0, #0 moveq r0, #0 diff --git a/asm/ov09.inc b/asm/ov09.inc index 94a81008..5f97c006 100644 --- a/asm/ov09.inc +++ b/asm/ov09.inc @@ -49,7 +49,7 @@ .extern data_027e0e28 .extern data_027e0e2c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0fbc @@ -230,14 +230,14 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c358 .extern func_ov00_0207c444 -.extern func_ov00_020820ec -.extern func_ov00_020820fc -.extern func_ov00_0208210c -.extern func_ov00_02082614 -.extern func_ov00_02082908 -.extern func_ov00_02082adc -.extern func_ov00_02083ee0 -.extern func_ov00_020848b8 +.extern _ZN10MapManager18func_ov00_020820ecEPi +.extern _ZN10MapManager18func_ov00_020820fcEiii +.extern _ZN10MapManager18func_ov00_0208210cEii +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager20GetCourseData_Unk_b0Ev +.extern _ZN10MapManager18func_ov00_02082adcEv +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_020848b8Ev .extern func_ov00_02087d34 .extern func_ov00_020a5e9c .extern func_ov00_020a61ac diff --git a/asm/ov09.s b/asm/ov09.s index 5bbd7f6a..acb0357c 100644 --- a/asm/ov09.s +++ b/asm/ov09.s @@ -3206,7 +3206,7 @@ func_ov09_02114554: ; 0x02114554 blx _ZN12ActorManager14Actor_vfunc_28Ev mov r0, #0 str r0, [sp, #8] - ldr r0, _021146ac ; =data_027e0e60 + ldr r0, _021146ac ; =gMapManager add r1, sp, #0x14 ldr r7, [r0] ldr r0, [sp, #8] @@ -3218,7 +3218,7 @@ func_ov09_02114554: ; 0x02114554 blx func_020078f4 add r0, r7, #0 add r1, sp, #0x14 - blx func_ov00_020820ec + blx _ZN10MapManager18func_ov00_020820ecEPi ldr r0, _021146b0 ; =data_027e0d38 ldr r0, [r0] add r0, #0xc @@ -3242,7 +3242,7 @@ func_ov09_02114554: ; 0x02114554 str r0, [sp, #8] _021145b6: add r0, r7, #0 - blx func_ov00_02082908 + blx _ZN10MapManager20GetCourseData_Unk_b0Ev add r4, sp, #0x1c str r0, [sp, #0xc] mov r0, #0 @@ -3271,7 +3271,7 @@ _021145f2: add r1, r4, #0 add r2, sp, #0x10 add r3, sp, #0x1c - blx func_ov00_020820fc + blx _ZN10MapManager18func_ov00_020820fcEiii add r0, sp, #0x10 ldrh r1, [r0] cmp r1, #0xcf @@ -3323,7 +3323,7 @@ _02114634: ldr r1, [sp, #4] add r0, r7, #0 add r2, r4, #0 - blx func_ov00_0208210c + blx _ZN10MapManager18func_ov00_0208210cEii mov r0, #0x71 lsl r0, r0, #2 str r0, [sp] @@ -3345,15 +3345,15 @@ _02114688: ldr r1, [sp, #8] add r0, r5, #0 bl func_ov09_02114520 - ldr r0, _021146ac ; =data_027e0e60 + ldr r0, _021146ac ; =gMapManager ldr r0, [r0] - blx func_ov00_02082adc + blx _ZN10MapManager18func_ov00_02082adcEv add sp, #0x1ec pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov09_02114554 _021146a8: .word data_027e0fe4 -_021146ac: .word data_027e0e60 +_021146ac: .word gMapManager _021146b0: .word data_027e0d38 _021146b4: .word data_ov00_020e9f10 _021146b8: .word data_ov00_020ea110 @@ -16510,9 +16510,9 @@ _0211c3d4: .word data_027e0ce0 func_ov09_0211c3d8: ; 0x0211c3d8 push {r3, r4, r5, lr} add r4, r0, #0 - ldr r0, _0211c418 ; =data_027e0e60 + ldr r0, _0211c418 ; =gMapManager ldr r0, [r0] - blx func_ov00_020848b8 + blx _ZN10MapManager18func_ov00_020848b8Ev strb r0, [r4, #0xa] ldr r5, [r4, #4] cmp r5, #0 @@ -16541,7 +16541,7 @@ _0211c416: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end func_ov09_0211c3d8 -_0211c418: .word data_027e0e60 +_0211c418: .word gMapManager .global func_ov09_0211c41c thumb_func_start func_ov09_0211c41c @@ -18378,14 +18378,14 @@ func_ov09_0211d180: ; 0x0211d180 str r2, [sp, #0x94] add r3, r2, r1 ldr r9, [r4, #8] - ldr r1, _0211d658 ; =data_027e0e60 + ldr r1, _0211d658 ; =gMapManager mov r5, r0 ldr r0, [r1] add r1, sp, #0x90 mov r2, r6 str r3, [sp, #0x94] str r9, [sp, #0x98] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x94] cmp r1, r0 movle r6, #1 @@ -18690,7 +18690,7 @@ _0211d628: .align 2, 0 arm_func_end func_ov09_0211d180 _0211d654: .word 0xfffffccd -_0211d658: .word data_027e0e60 +_0211d658: .word gMapManager _0211d65c: .word 0x00000385 _0211d660: .word 0xfffff4a4 _0211d664: .word 0x0000099a @@ -18850,7 +18850,7 @@ func_ov09_0211d860: ; 0x0211d860 push {r3, r4, r5, r6, r7, lr} sub sp, #0x40 add r6, r0, #0 - ldr r0, _0211d89c ; =data_027e0e60 + ldr r0, _0211d89c ; =gMapManager mov r5, #0 ldr r4, [r0] add r7, sp, #0 @@ -18858,7 +18858,7 @@ _0211d86e: add r0, r4, #0 add r1, r7, #0 add r2, r5, #0 - blx func_ov00_02082614 + blx _ZN10MapManager18func_ov00_02082614Eii add r0, r7, #0 add r1, r6, #0 blx strcmp @@ -18879,7 +18879,7 @@ _0211d88a: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov09_0211d860 -_0211d89c: .word data_027e0e60 +_0211d89c: .word gMapManager .global func_ov09_0211d8a0 thumb_func_start func_ov09_0211d8a0 diff --git a/asm/ov12.inc b/asm/ov12.inc index f96d3554..deae5042 100644 --- a/asm/ov12.inc +++ b/asm/ov12.inc @@ -1,6 +1,24 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager17GetMapData_Unk_48Ev +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18func_ov00_02083664EP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_020839b4Ei +.extern _ZN10MapManager18func_ov00_020839c4Ei +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci .extern _ZN10PlayerBase18func_ov00_020a7c00Ei .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN10PlayerBase9AddHealthEs @@ -75,6 +93,26 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si +.extern _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi +.extern _ZN7MapBase8vfunc_18Ev +.extern _ZN7MapBase8vfunc_48Ev +.extern _ZN7MapBase8vfunc_50Ev +.extern _ZN7MapBase8vfunc_64Ev +.extern _ZN7MapBase8vfunc_68Eii +.extern _ZN7MapBase8vfunc_6cEiii +.extern _ZN7MapBase8vfunc_70EP5Vec3p +.extern _ZN7MapBase8vfunc_74EP5Vec3p +.extern _ZN7MapBase8vfunc_84Ei +.extern _ZN7MapBase8vfunc_88Ev +.extern _ZN7MapBase8vfunc_8cEv +.extern _ZN7MapBase8vfunc_90Eiii +.extern _ZN7MapBase8vfunc_9cEv +.extern _ZN7MapBase8vfunc_a0Ev +.extern _ZN7MapBase8vfunc_b0Eii +.extern _ZN7MapBase8vfunc_b4Ev +.extern _ZN7MapBase8vfunc_b8Ev +.extern _ZN7MapBaseD1Ev .extern _ZN9ActorTypeC1EjPFP5ActorvEPv .extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv @@ -110,7 +148,6 @@ .extern data_027e0dcc .extern data_027e0e2c .extern data_027e0e58 -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f84 @@ -336,45 +373,7 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern func_ov00_0207da38 -.extern func_ov00_0207ddf4 -.extern func_ov00_0207e060 -.extern func_ov00_0207e444 -.extern func_ov00_0207e46c -.extern func_ov00_0207e488 -.extern func_ov00_0207e4b0 -.extern func_ov00_0207e4b8 -.extern func_ov00_0207e970 -.extern func_ov00_0207ee14 -.extern func_ov00_0207eff4 -.extern func_ov00_0207f324 -.extern func_ov00_0207f32c -.extern func_ov00_0207f334 -.extern func_ov00_0207f338 -.extern func_ov00_0207f364 -.extern func_ov00_0207f3c4 -.extern func_ov00_0207f4a4 -.extern func_ov00_0207f588 -.extern func_ov00_020807d4 .extern func_ov00_02081f4c -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_020833f4 -.extern func_ov00_02083400 -.extern func_ov00_02083664 -.extern func_ov00_02083770 -.extern func_ov00_020838e8 -.extern func_ov00_020839b4 -.extern func_ov00_020839c4 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02083ef8 -.extern func_ov00_02083fb0 -.extern func_ov00_020840a0 -.extern func_ov00_02084114 .extern func_ov00_020872e8 .extern func_ov00_02087d84 .extern func_ov00_0208819c @@ -759,6 +758,7 @@ .extern func_ov61_02179f88 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern gPlayerAnimHandler .extern strncpy diff --git a/asm/ov12.s b/asm/ov12.s index b564b7f2..ab0603fa 100644 --- a/asm/ov12.s +++ b/asm/ov12.s @@ -931,11 +931,11 @@ _0211371c: .word data_027e0fe0 arm_func_start func_ov12_02113720 func_ov12_02113720: ; 0x02113720 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0211378c ; =data_027e0e60 + ldr r2, _0211378c ; =gMapManager mov r4, r0 ldr r0, [r2] mov r5, r1 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldrb r1, [r4, #1] sub r0, r5, r0 mov r3, r0, asr #0x6 @@ -959,17 +959,17 @@ func_ov12_02113720: ; 0x02113720 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_02113720 -_0211378c: .word data_027e0e60 +_0211378c: .word gMapManager .global func_ov12_02113790 arm_func_start func_ov12_02113790 func_ov12_02113790: ; 0x02113790 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _021137e4 ; =data_027e0e60 + ldr r2, _021137e4 ; =gMapManager mov r4, r0 ldr r0, [r2] mov r5, r1 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldrb r1, [r4, #3] sub r0, r5, r0 mov r2, r0, asr #0x6 @@ -987,7 +987,7 @@ func_ov12_02113790: ; 0x02113790 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_02113790 -_021137e4: .word data_027e0e60 +_021137e4: .word gMapManager .global func_ov12_021137e8 arm_func_start func_ov12_021137e8 @@ -1003,17 +1003,17 @@ func_ov12_021137e8: ; 0x021137e8 add r0, r2, r0, lsr #22 add r0, r0, r1, lsr #20 mov r4, r0, lsl #0x6 - ldr r0, _02113834 ; =data_027e0e60 + ldr r0, _02113834 ; =gMapManager tst r4, #0x20000 orrne r4, r4, #0x3fc0000 ldr r0, [r0] orrne r4, r4, #0xfc000000 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev add r0, r4, r0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov12_021137e8 -_02113834: .word data_027e0e60 +_02113834: .word gMapManager .global func_ov12_02113838 arm_func_start func_ov12_02113838 @@ -1026,17 +1026,17 @@ func_ov12_02113838: ; 0x02113838 mov r0, r0, lsl #0x1a add r0, r1, r0, lsr #20 mov r4, r0, lsl #0x6 - ldr r0, _02113878 ; =data_027e0e60 + ldr r0, _02113878 ; =gMapManager tst r4, #0x20000 orrne r4, r4, #0x3fc0000 ldr r0, [r0] orrne r4, r4, #0xfc000000 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev add r0, r4, r0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov12_02113838 -_02113878: .word data_027e0e60 +_02113878: .word gMapManager .global func_ov12_0211387c arm_func_start func_ov12_0211387c @@ -6736,17 +6736,17 @@ func_ov12_02118428: ; 0x02118428 addeq sp, sp, #0x128 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _02118808 ; =data_027e0e60 + ldr r0, _02118808 ; =gMapManager add r1, sp, #0xbc ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 - ldr r1, _02118808 ; =data_027e0e60 + bl _ZN10MapManager16MapData_vfunc_68Ev + ldr r1, _02118808 ; =gMapManager str r0, [sp, #0x9c] ldr r0, [r1] add r1, sp, #0xbc mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xa8] add r0, sp, #0x8c bl func_01ff9cec @@ -6785,7 +6785,7 @@ _0211857c: cmp r10, #0 stmia r7, {r0, r1, r2} ble _0211877c - ldr r11, _02118808 ; =data_027e0e60 + ldr r11, _02118808 ; =gMapManager add r5, r8, #0x8c add r4, sp, #0x44 mov r6, #0 @@ -6884,7 +6884,7 @@ _02118740: ldr r0, [r11] mov r1, r7 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x68] str r0, [sp, #0x6c] str r0, [sp, #0xa8] @@ -6934,7 +6934,7 @@ _0211877c: _021187fc: .word data_027e0c38 _02118800: .word data_027e0d3c _02118804: .word data_ov12_02137d20 -_02118808: .word data_027e0e60 +_02118808: .word gMapManager _0211880c: .word 0x0000ffff _02118810: .word 0xfffff0f7 @@ -8226,16 +8226,16 @@ func_ov12_021196d4: ; 0x021196d4 bl func_ov00_020bbb64 cmp r0, #0 bne _02119774 - ldr r1, _0211977c ; =data_027e0e60 + ldr r1, _0211977c ; =gMapManager add r0, sp, #0 ldr r1, [r1] mov r2, r4 - bl func_ov00_02083a1c - ldr r0, _0211977c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _0211977c ; =gMapManager ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x18 bgt _0211973c bge _02119754 @@ -8264,7 +8264,7 @@ _02119774: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_021196d4 -_0211977c: .word data_027e0e60 +_0211977c: .word gMapManager .global func_ov12_02119780 arm_func_start func_ov12_02119780 @@ -8361,11 +8361,11 @@ func_ov12_02119840: ; 0x02119840 arm_func_start func_ov12_0211986c func_ov12_0211986c: ; 0x0211986c stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02119964 ; =data_027e0e60 + ldr r2, _02119964 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r2, [r4] ldrb r1, [r5, #0x118] sub r0, r2, r0 @@ -8377,7 +8377,7 @@ func_ov12_0211986c: ; 0x0211986c strb r0, [r5, #0x118] ldrb r2, [r5, #0x119] and r1, r3, #0x1f00 - ldr r0, _02119964 ; =data_027e0e60 + ldr r0, _02119964 ; =gMapManager bic r3, r2, #0x1f and r2, r3, #0xff orr r1, r2, r1, asr #8 @@ -8397,7 +8397,7 @@ func_ov12_0211986c: ; 0x0211986c orr r1, r2, r1, asr #3 strb r1, [r5, #0x11a] ldr r0, [r0] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldr r2, [r4, #8] ldrb r1, [r5, #0x11a] sub r0, r2, r0 @@ -8424,7 +8424,7 @@ func_ov12_0211986c: ; 0x0211986c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_0211986c -_02119964: .word data_027e0e60 +_02119964: .word gMapManager .global func_ov12_02119968 arm_func_start func_ov12_02119968 @@ -8437,12 +8437,12 @@ func_ov12_02119968: ; 0x02119968 mov r0, r0, lsl #0x1b add r0, r2, r0, lsr #19 mov r6, r0, lsl #0x5 - ldr r0, _02119a24 ; =data_027e0e60 + ldr r0, _02119a24 ; =gMapManager tst r6, #0x20000 orrne r6, r6, #0x3fc0000 ldr r0, [r0] orrne r6, r6, #0xfc000000 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev add r0, r6, r0 str r0, [r4] ldrb r1, [r5, #0x119] @@ -8467,18 +8467,18 @@ func_ov12_02119968: ; 0x02119968 add r0, r1, r0, lsr #22 add r0, r0, r2, lsr #19 mov r5, r0, lsl #0x5 - ldr r0, _02119a24 ; =data_027e0e60 + ldr r0, _02119a24 ; =gMapManager tst r5, #0x20000 orrne r5, r5, #0x3fc0000 ldr r0, [r0] orrne r5, r5, #0xfc000000 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev add r0, r5, r0 str r0, [r4, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov12_02119968 -_02119a24: .word data_027e0e60 +_02119a24: .word gMapManager .global func_ov12_02119a28 arm_func_start func_ov12_02119a28 @@ -9488,11 +9488,11 @@ func_ov12_0211a7d0: ; 0x0211a7d0 _0211a830: mov r4, r2 _0211a834: - ldr r0, _0211a948 ; =data_027e0e60 + ldr r0, _0211a948 ; =gMapManager add r1, sp, #8 ldr r0, [r0] mov r2, r4 - bl func_ov00_02083664 + bl _ZN10MapManager18func_ov00_02083664EP5Vec3pi cmp r0, #0 beq _0211a884 mov r0, #1 @@ -9560,7 +9560,7 @@ _0211a884: .align 2, 0 arm_func_end func_ov12_0211a7d0 _0211a944: .word data_ov12_02137c64 -_0211a948: .word data_027e0e60 +_0211a948: .word gMapManager _0211a94c: .word data_027e0f94 _0211a950: .word data_027e0fcc _0211a954: .word data_027e0fd4 @@ -10858,14 +10858,14 @@ func_ov12_0211b9c4: ; 0x0211b9c4 add r4, r0, #0xd8 str r1, [sp] ldr r1, [r7, r8] - ldr r0, _0211ba90 ; =data_027e0e60 + ldr r0, _0211ba90 ; =gMapManager str r1, [sp, #4] ldr r2, [r4, r8] ldr r0, [r0] str r2, [sp, #8] add r1, sp, #0 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r6, r8] add r2, r0, #0x148 cmp r1, r2 @@ -10889,7 +10889,7 @@ _0211ba84: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov12_0211b9c4 -_0211ba90: .word data_027e0e60 +_0211ba90: .word gMapManager .global func_ov12_0211ba94 arm_func_start func_ov12_0211ba94 @@ -27791,13 +27791,13 @@ func_ov12_021296a4: ; 0x021296a4 mov r1, r1, asr #0x5 and r1, r1, #7 bl func_ov12_0212a258 - ldr r0, _0212975c ; =data_027e0e60 + ldr r0, _0212975c ; =gMapManager ldr r0, [r0] - bl func_ov00_020833f4 - ldr r1, _0212975c ; =data_027e0e60 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + ldr r1, _0212975c ; =gMapManager mov r4, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldrb r1, [r5, #0x11b] cmp r1, #0 ldmneia sp!, {r3, r4, r5, pc} @@ -27833,7 +27833,7 @@ func_ov12_021296a4: ; 0x021296a4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_021296a4 -_0212975c: .word data_027e0e60 +_0212975c: .word gMapManager .global func_ov12_02129760 arm_func_start func_ov12_02129760 @@ -28545,9 +28545,9 @@ func_ov12_0212a104: ; 0x0212a104 add r0, r0, #0x1300 cmp r1, r0 bge _0212a15c - ldr r0, _0212a164 ; =data_027e0e60 + ldr r0, _0212a164 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084114 + bl _ZN10MapManager17GetMapData_Unk_48Ev ldr r1, [r5, #0x4c] cmp r1, r0 ble _0212a15c @@ -28561,24 +28561,24 @@ _0212a15c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_0212a104 -_0212a164: .word data_027e0e60 +_0212a164: .word gMapManager .global func_ov12_0212a168 arm_func_start func_ov12_0212a168 func_ov12_0212a168: ; 0x0212a168 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0212a230 ; =data_027e0e60 + ldr r2, _0212a230 ; =gMapManager mov r5, r0 mov r4, r1 ldr r1, [r2] add r0, sp, #0 add r2, r5, #0x48 - bl func_ov00_02083a1c - ldr r0, _0212a230 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _0212a230 ; =gMapManager ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x18 bgt _0212a1e0 cmp r0, #0x17 @@ -28624,7 +28624,7 @@ _0212a220: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_0212a168 -_0212a230: .word data_027e0e60 +_0212a230: .word gMapManager .global func_ov12_0212a234 arm_func_start func_ov12_0212a234 @@ -28870,13 +28870,13 @@ _0212a520: add r1, sp, #0 mov r0, r5 bl func_ov12_0212a234 - ldr r0, _0212a618 ; =data_027e0e60 + ldr r0, _0212a618 ; =gMapManager ldr r0, [r0] - bl func_ov00_020833f4 - ldr r1, _0212a618 ; =data_027e0e60 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + ldr r1, _0212a618 ; =gMapManager mov r4, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldrb r1, [r5, #0x24c] ldr ip, [sp] bic r3, r1, #0xe0 @@ -28925,7 +28925,7 @@ _0212a60c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_0212a4d4 -_0212a618: .word data_027e0e60 +_0212a618: .word gMapManager .global func_ov12_0212a61c arm_func_start func_ov12_0212a61c @@ -29007,7 +29007,7 @@ _0212a6cc: bl func_01ff9bc4 _0212a740: ldr r1, [r6, #0x48] - ldr r0, _0212a9ec ; =data_027e0e60 + ldr r0, _0212a9ec ; =gMapManager str r1, [sp, #0x14] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -29016,7 +29016,7 @@ _0212a740: add r1, sp, #0x14 str r2, [sp, #0x1c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r6, #0x22c] mvn r4, #0 bl func_ov00_02079e3c @@ -29025,16 +29025,16 @@ _0212a740: ldrb r0, [r6, #0x256] cmp r0, #0 beq _0212a8e4 - ldr r1, _0212a9ec ; =data_027e0e60 + ldr r1, _0212a9ec ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r6, #0x48 - bl func_ov00_02083a1c - ldr r0, _0212a9ec ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _0212a9ec ; =gMapManager ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci mov r1, r4 str r1, [r6, #0x238] mov r1, #0 @@ -29073,7 +29073,7 @@ _0212a81c: b _0212a8c0 _0212a830: ldr r1, [r6, #0x48] - ldr r0, _0212a9ec ; =data_027e0e60 + ldr r0, _0212a9ec ; =gMapManager str r1, [sp, #8] ldr r2, [r6, #0x4c] ldr r1, [r0] @@ -29082,7 +29082,7 @@ _0212a830: add r0, sp, #4 add r2, sp, #8 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] mov r0, r0, lsr #0x9 and r0, r0, #3 @@ -29193,7 +29193,7 @@ _0212a9d4: arm_func_end func_ov12_0212a61c _0212a9e4: .word 0x00000555 _0212a9e8: .word 0xc00c00c1 -_0212a9ec: .word data_027e0e60 +_0212a9ec: .word gMapManager _0212a9f0: .word data_ov12_0213dd0c _0212a9f4: .word data_ov12_02137c64 _0212a9f8: .word data_ov00_020eec9c @@ -29254,18 +29254,18 @@ _0212aa88: .word data_ov12_0213dc88 func_ov12_0212aa8c: ; 0x0212aa8c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x30 - ldr r1, _0212ad00 ; =data_027e0e60 + ldr r1, _0212ad00 ; =gMapManager mov r10, r0 ldr r0, [r1] mov r1, #0 str r1, [sp, #8] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev mov r1, #3 mov r7, r0 bl func_01ff9b4c - ldr r0, _0212ad00 ; =data_027e0e60 + ldr r0, _0212ad00 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp] mov r0, #0 ldr r4, _0212ad04 ; =data_027e0764 @@ -29320,13 +29320,13 @@ _0212ab2c: mla r2, r1, r0, r2 mov r9, r2 _0212ab90: - ldr r0, _0212ad00 ; =data_027e0e60 + ldr r0, _0212ad00 ; =gMapManager mov r1, r8 ldr r0, [r0] mov r2, r9 - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci mov r5, r0 - ldr r0, _0212ad00 ; =data_027e0e60 + ldr r0, _0212ad00 ; =gMapManager ldr r2, _0212ad08 ; =func_ov00_020b1940 ldr r6, [r0] mov r0, r8 @@ -29337,7 +29337,7 @@ _0212ab90: mov r0, r6 mov r1, r8 mov r2, r9 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci ldr r1, [r10, #0x18] cmp r0, r1 bne _0212acec @@ -29348,13 +29348,13 @@ _0212ab90: beq _0212acec mov r1, r8 mov r0, r6 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [sp, #0x24] ldr r2, [r10, #0x4c] mov r1, r9 mov r0, r6 str r2, [sp, #0x28] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [sp, #0x2c] mov r0, r10 add r1, sp, #0x24 @@ -29370,18 +29370,18 @@ _0212ab90: mov r0, r6 add r1, sp, #0x18 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r0, [sp, #0x28] ldr r1, [sp, #0x24] str r0, [sp, #0x10] - ldr r0, _0212ad00 ; =data_027e0e60 + ldr r0, _0212ad00 ; =gMapManager str r1, [sp, #0xc] ldr r1, [sp, #0x2c] ldr r0, [r0] str r1, [sp, #0x14] mov r1, #0xe add r2, sp, #0xc - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -29415,7 +29415,7 @@ _0212acec: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov12_0212aa8c -_0212ad00: .word data_027e0e60 +_0212ad00: .word gMapManager _0212ad04: .word data_027e0764 _0212ad08: .word func_ov00_020b1940 @@ -29713,16 +29713,16 @@ _0212b0bc: ldrb r0, [r4, #0x255] cmp r0, #0 beq _0212b11c - ldr r1, _0212b13c ; =data_027e0e60 + ldr r1, _0212b13c ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c - ldr r0, _0212b13c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _0212b13c ; =gMapManager ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x18 cmpne r0, #0x2c cmpne r0, #0x2d @@ -29748,7 +29748,7 @@ _0212b130: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov12_0212b078 -_0212b13c: .word data_027e0e60 +_0212b13c: .word gMapManager _0212b140: .word data_ov12_0213dd0c .global func_ov12_0212b144 @@ -30039,7 +30039,7 @@ _0212b4bc: mov r1, #0 mov r0, r4 str r1, [r4, #0x188] - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 @@ -30083,7 +30083,7 @@ _0212b544: mov r1, #0 mov r0, r4 str r1, [r4, #0x188] - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 @@ -30234,7 +30234,7 @@ _0212b700: mov r3, #0 strb r7, [sp, #8] strb r8, [sp, #9] - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -30251,7 +30251,7 @@ _0212b700: mov r1, r10 mov r2, r5 mov r3, #1 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -30268,7 +30268,7 @@ _0212b700: mov r1, r10 mov r2, r5 mov r3, #2 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -30285,7 +30285,7 @@ _0212b700: mov r1, r10 mov r2, r5 mov r3, #3 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -30364,7 +30364,7 @@ func_ov12_0212b8cc: ; 0x0212b8cc mov r4, r2 mov r6, r0 mov r5, r1 - bl func_ov00_0207f4a4 + bl _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si cmp r4, #0 cmpne r0, #0 mov r0, r6 @@ -30526,23 +30526,23 @@ func_ov12_0212ba84: ; 0x0212ba84 sub sp, sp, #0x1c mov r6, r2 mov r7, r1 - ldr r2, _0212bb9c ; =data_027e0e60 + ldr r2, _0212bb9c ; =gMapManager mov r8, r0 ldrb r1, [r6, #1] ldr r0, [r2] mov r5, r3 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r4, r0 mov r0, r8 ldr r2, [r0] mov r1, r6 ldr r2, [r2, #0x60] blx r2 - ldr r1, _0212bb9c ; =data_027e0e60 + ldr r1, _0212bb9c ; =gMapManager mov r9, r0 ldr r0, [r1] ldrb r1, [r6] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [sp, #0x10] str r9, [sp, #0x14] str r4, [sp, #0x18] @@ -30597,7 +30597,7 @@ _0212bb90: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov12_0212ba84 -_0212bb9c: .word data_027e0e60 +_0212bb9c: .word gMapManager _0212bba0: .word data_027e0f68 .global func_ov12_0212bba4 @@ -33922,13 +33922,13 @@ func_ov12_0212e3e8: ; 0x0212e3e8 mov r0, r5 bl func_ov12_0212e990 _0212e42c: - ldr r0, _0212e4cc ; =data_027e0e60 + ldr r0, _0212e4cc ; =gMapManager ldr r0, [r0] - bl func_ov00_020833f4 - ldr r1, _0212e4cc ; =data_027e0e60 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + ldr r1, _0212e4cc ; =gMapManager mov r4, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldrb r2, [r5, #0x218] ldrb r1, [r5, #0x219] ldrb ip, [r5, #0x21a] @@ -33964,7 +33964,7 @@ _0212e42c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_0212e3e8 -_0212e4cc: .word data_027e0e60 +_0212e4cc: .word gMapManager .global func_ov12_0212e4d0 arm_func_start func_ov12_0212e4d0 @@ -34453,18 +34453,18 @@ _0212eb6c: beq _0212ec88 ldrb r1, [r5, #0x218] ldr r6, [r5, #0x130] - ldr r0, _0212eca8 ; =data_027e0e60 + ldr r0, _0212eca8 ; =gMapManager bic r3, r1, #0x20 and r2, r3, #0xff mov r1, r6, lsl #0x1f orr r1, r2, r1, lsr #26 strb r1, [r5, #0x218] ldr r0, [r0] - bl func_ov00_020833f4 - ldr r1, _0212eca8 ; =data_027e0e60 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + ldr r1, _0212eca8 ; =gMapManager mov r6, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldr r2, [r5, #0x48] ldrb r1, [r5, #0x218] sub r2, r2, r6 @@ -34529,7 +34529,7 @@ _0212ec94: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov12_0212eb14 -_0212eca8: .word data_027e0e60 +_0212eca8: .word gMapManager _0212ecac: .word 0x00001fe0 .global func_ov12_0212ecb0 @@ -34537,14 +34537,14 @@ _0212ecac: .word 0x00001fe0 func_ov12_0212ecb0: ; 0x0212ecb0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 - ldr r1, _0212ed4c ; =data_027e0e60 + ldr r1, _0212ed4c ; =gMapManager mov r4, r0 ldr r1, [r1] add r0, sp, #0 add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r1, [r4, #0x48] - ldr r0, _0212ed4c ; =data_027e0e60 + ldr r0, _0212ed4c ; =gMapManager str r1, [sp, #8] ldr r2, [r4, #0x4c] ldr r1, [r0] @@ -34553,7 +34553,7 @@ func_ov12_0212ecb0: ; 0x0212ecb0 add r0, sp, #4 add r2, sp, #8 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldrb r1, [sp] ldrb r0, [sp, #1] sub r2, sp, #4 @@ -34578,7 +34578,7 @@ _0212ed40: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov12_0212ecb0 -_0212ed4c: .word data_027e0e60 +_0212ed4c: .word gMapManager .global func_ov12_0212ed50 arm_func_start func_ov12_0212ed50 @@ -35599,10 +35599,10 @@ _0212fa88: cmp r5, r4 bne _0212fa88 _0212fa9c: - ldr r0, _0212fb04 ; =data_027e0e60 + ldr r0, _0212fb04 ; =gMapManager add r1, r6, #0x74 ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei mov r0, r6 bl func_ov12_021306ec add r0, r6, #0xd8 @@ -35627,7 +35627,7 @@ _0212fa9c: .align 2, 0 arm_func_end func_ov12_0212fa68 _0212fb00: .word data_ov12_021375ac -_0212fb04: .word data_027e0e60 +_0212fb04: .word gMapManager _0212fb08: .word func_ov12_021194c0 .global func_ov12_0212fb0c @@ -35648,10 +35648,10 @@ _0212fb2c: cmp r5, r4 bne _0212fb2c _0212fb40: - ldr r0, _0212fba0 ; =data_027e0e60 + ldr r0, _0212fba0 ; =gMapManager add r1, r6, #0x74 ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei mov r0, r6 bl func_ov12_021306ec add r0, r6, #0xd8 @@ -35674,7 +35674,7 @@ _0212fb40: .align 2, 0 arm_func_end func_ov12_0212fb0c _0212fb9c: .word data_ov12_021375ac -_0212fba0: .word data_027e0e60 +_0212fba0: .word gMapManager _0212fba4: .word func_ov12_021194c0 .global func_ov12_0212fba8 @@ -35822,14 +35822,14 @@ _0212fc68: mov r2, #0 str r0, [r4, #0x7c] ldr r1, [sp, #0x10] - ldr r0, _0212fe9c ; =data_027e0e60 + ldr r0, _0212fe9c ; =gMapManager str r1, [r4, #0x80] ldr r3, [sp, #0x14] add r1, r4, #0x74 str r3, [r4, #0x84] strb r2, [r4, #0x78] ldr r0, [r0] - bl func_ov00_020839b4 + bl _ZN10MapManager18func_ov00_020839b4Ei mov r0, r4 bl func_ov12_021306b0 ldr r0, _0212fea0 ; =0x0000026e @@ -35878,7 +35878,7 @@ _0212fe78: _0212fe90: .word 0xfffff666 _0212fe94: .word data_02050f54 _0212fe98: .word 0x000004cd -_0212fe9c: .word data_027e0e60 +_0212fe9c: .word gMapManager _0212fea0: .word 0x0000026e .global func_ov12_0212fea4 @@ -36220,7 +36220,7 @@ func_ov12_0213024c: ; 0x0213024c mov r0, #0 str r0, [sp, #0xc] str r0, [sp, #0x10] - ldr r0, _021306a0 ; =data_027e0e60 + ldr r0, _021306a0 ; =gMapManager add r1, sp, #0xa4 ldr r0, [r0] add r2, sp, #0x80 @@ -36458,7 +36458,7 @@ _02130598: .align 2, 0 arm_func_end func_ov12_0213024c _0213069c: .word 0x0000ffff -_021306a0: .word data_027e0e60 +_021306a0: .word gMapManager _021306a4: .word 0x00000d9a _021306a8: .word data_ov12_0213758c _021306ac: .word data_ov12_02137574 @@ -36738,14 +36738,14 @@ _02130990: .word func_ov12_02130994 arm_func_start func_ov12_02130994 func_ov12_02130994: ; 0x02130994 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _02130a90 ; =data_027e0e60 + ldr r1, _02130a90 ; =gMapManager mov r5, r0 ldr r0, [r1] - bl func_ov00_020833f4 - ldr r1, _02130a90 ; =data_027e0e60 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + ldr r1, _02130a90 ; =gMapManager mov r4, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldrb r1, [r5, #0x73a] ldrb r2, [r5, #0x739] mov r1, r1, lsl #0x1c @@ -36809,7 +36809,7 @@ _02130a84: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_02130994 -_02130a90: .word data_027e0e60 +_02130a90: .word gMapManager .global func_ov12_02130a94 arm_func_start func_ov12_02130a94 @@ -37593,7 +37593,7 @@ func_ov12_021314e8: ; 0x021314e8 add r0, r4, #0x48 bl func_ov00_020c70ac ldr r1, [r4, #0x48] - ldr r0, _021315b4 ; =data_027e0e60 + ldr r0, _021315b4 ; =gMapManager str r1, [sp, #0xc] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -37609,7 +37609,7 @@ func_ov12_021314e8: ; 0x021314e8 str ip, [sp, #4] ldr ip, [r4, #0x5c] str ip, [sp, #8] - bl func_ov00_02083ef8 + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ ldr r1, _021315b8 ; =data_ov12_02137680 str r0, [r4, #0x4c] ldr r2, [r1, #0x28] @@ -37621,7 +37621,7 @@ func_ov12_021314e8: ; 0x021314e8 .align 2, 0 arm_func_end func_ov12_021314e8 _021315b0: .word data_ov12_02137d1c -_021315b4: .word data_027e0e60 +_021315b4: .word gMapManager _021315b8: .word data_ov12_02137680 .global func_ov12_021315bc @@ -37905,7 +37905,7 @@ _021318d0: ldr r0, [r10, #8] stmib sp, {r0, r11} str r5, [sp, #0xc] - ldr r0, _02131a28 ; =data_027e0e60 + ldr r0, _02131a28 ; =gMapManager str r5, [sp, #0x10] ldr r0, [r0] bl func_01ffbe78 @@ -37937,7 +37937,7 @@ _02131a00: _02131a1c: .word data_027e0764 _02131a20: .word data_02050f54 _02131a24: .word 0x0000ffff -_02131a28: .word data_027e0e60 +_02131a28: .word gMapManager _02131a2c: .word data_ov12_02137680 .global func_ov12_02131a30 @@ -38132,13 +38132,13 @@ _02131c90: ldrb r0, [r4, #0x754] cmp r0, #0 beq _02131d64 - ldr r0, _02131d78 ; =data_027e0e60 + ldr r0, _02131d78 ; =gMapManager ldr r0, [r0] - bl func_ov00_020833f4 - ldr r1, _02131d78 ; =data_027e0e60 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + ldr r1, _02131d78 ; =gMapManager mov r5, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldr r2, [r4, #0x73c] ldrb r1, [r4, #0x739] sub r2, r2, r5 @@ -38190,7 +38190,7 @@ _02131d64: arm_func_end func_ov12_02131bdc _02131d70: .word data_ov12_02137c64 _02131d74: .word data_027e0f90 -_02131d78: .word data_027e0e60 +_02131d78: .word gMapManager .global func_ov12_02131d7c arm_func_start func_ov12_02131d7c @@ -38691,7 +38691,7 @@ func_ov12_0213234c: ; 0x0213234c moveq r0, #0 ldmeqia sp!, {pc} ldr r2, [r1, #0x48] - ldr r0, _021323c8 ; =data_027e0e60 + ldr r0, _021323c8 ; =gMapManager str r2, [sp] ldr r2, [r1, #0x4c] ldr r0, [r0] @@ -38700,7 +38700,7 @@ func_ov12_0213234c: ; 0x0213234c add r2, sp, #0 str r1, [sp, #8] ldr r1, [r3, #4] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji add sp, sp, #0xc ldmia sp!, {pc} _021323b8: @@ -38710,7 +38710,7 @@ _021323b8: .align 2, 0 arm_func_end func_ov12_0213234c _021323c4: .word 0x42545246 -_021323c8: .word data_027e0e60 +_021323c8: .word gMapManager .global func_ov12_021323cc arm_func_start func_ov12_021323cc @@ -41089,7 +41089,7 @@ func_ov12_02134300: ; 0x02134300 mov lr, #0x47 mov r2, #0xff strb r2, [sp, #0x12] - ldr r1, _02134374 ; =data_027e0e60 + ldr r1, _02134374 ; =gMapManager mov r4, r0 str lr, [sp] str ip, [sp, #4] @@ -41102,7 +41102,7 @@ func_ov12_02134300: ; 0x02134300 ldr r0, [r1] ldr r1, [r4, #0x5c] add r2, sp, #0 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} @@ -41113,7 +41113,7 @@ func_ov12_02134300: ; 0x02134300 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov12_02134300 -_02134374: .word data_027e0e60 +_02134374: .word gMapManager .global func_ov12_02134378 arm_func_start func_ov12_02134378 @@ -48715,7 +48715,7 @@ data_ov12_02136c08: ; 0x02136c08 .word func_ov12_0212b568 .global data_ov12_02136c0c data_ov12_02136c0c: ; 0x02136c0c - .word func_ov00_0207ddf4 + .word _ZN7MapBase8vfunc_18Ev .global data_ov12_02136c10 data_ov12_02136c10: ; 0x02136c10 .word func_ov12_0212b5fc @@ -48751,13 +48751,13 @@ data_ov12_02136c38: ; 0x02136c38 .word func_ov04_0210cb00 ; data_ov07_0210cb00 .global data_ov12_02136c3c data_ov12_02136c3c: ; 0x02136c3c - .word func_ov00_0207e46c + .word _ZN7MapBase8vfunc_48Ev .global data_ov12_02136c40 data_ov12_02136c40: ; 0x02136c40 .word func_ov12_0212bbe8 .global data_ov12_02136c44 data_ov12_02136c44: ; 0x02136c44 - .word func_ov00_0207e488 + .word _ZN7MapBase8vfunc_50Ev .global data_ov12_02136c48 data_ov12_02136c48: ; 0x02136c48 .word func_ov12_0212b908 @@ -48772,19 +48772,19 @@ data_ov12_02136c54: ; 0x02136c54 .word func_ov12_0212b978 .global data_ov12_02136c58 data_ov12_02136c58: ; 0x02136c58 - .word func_ov00_0207e4b0 + .word _ZN7MapBase8vfunc_64Ev .global data_ov12_02136c5c data_ov12_02136c5c: ; 0x02136c5c - .word func_ov00_0207e4b8 + .word _ZN7MapBase8vfunc_68Eii .global data_ov12_02136c60 data_ov12_02136c60: ; 0x02136c60 - .word func_ov00_0207e970 + .word _ZN7MapBase8vfunc_6cEiii .global data_ov12_02136c64 data_ov12_02136c64: ; 0x02136c64 - .word func_ov00_0207ee14 + .word _ZN7MapBase8vfunc_70EP5Vec3p .global data_ov12_02136c68 data_ov12_02136c68: ; 0x02136c68 - .word func_ov00_0207eff4 + .word _ZN7MapBase8vfunc_74EP5Vec3p .global data_ov12_02136c6c data_ov12_02136c6c: ; 0x02136c6c .word func_ov12_0212ba6c @@ -48796,16 +48796,16 @@ data_ov12_02136c74: ; 0x02136c74 .word func_ov12_0212bba4 .global data_ov12_02136c78 data_ov12_02136c78: ; 0x02136c78 - .word func_ov00_0207f364 + .word _ZN7MapBase8vfunc_84Ei .global data_ov12_02136c7c data_ov12_02136c7c: ; 0x02136c7c - .word func_ov00_0207f324 + .word _ZN7MapBase8vfunc_88Ev .global data_ov12_02136c80 data_ov12_02136c80: ; 0x02136c80 - .word func_ov00_0207f32c + .word _ZN7MapBase8vfunc_8cEv .global data_ov12_02136c84 data_ov12_02136c84: ; 0x02136c84 - .word func_ov00_0207f3c4 + .word _ZN7MapBase8vfunc_90Eiii .global data_ov12_02136c88 data_ov12_02136c88: ; 0x02136c88 .word func_ov12_0212b674 @@ -48814,10 +48814,10 @@ data_ov12_02136c8c: ; 0x02136c8c .word func_ov12_0212b9e4 .global data_ov12_02136c90 data_ov12_02136c90: ; 0x02136c90 - .word func_ov00_0207f334 + .word _ZN7MapBase8vfunc_9cEv .global data_ov12_02136c94 data_ov12_02136c94: ; 0x02136c94 - .word func_ov00_0207f338 + .word _ZN7MapBase8vfunc_a0Ev .global data_ov12_02136c98 data_ov12_02136c98: ; 0x02136c98 .word func_ov12_0212b844 @@ -48829,13 +48829,13 @@ data_ov12_02136ca0: ; 0x02136ca0 .word func_ov12_0212b8cc .global data_ov12_02136ca4 data_ov12_02136ca4: ; 0x02136ca4 - .word func_ov00_0207e060 + .word _ZN7MapBase8vfunc_b0Eii .global data_ov12_02136ca8 data_ov12_02136ca8: ; 0x02136ca8 - .word func_ov00_0207e444 + .word _ZN7MapBase8vfunc_b4Ev .global data_ov12_02136cac data_ov12_02136cac: ; 0x02136cac - .word func_ov00_020807d4 + .word _ZN7MapBase8vfunc_b8Ev .global data_ov12_02136cb0 data_ov12_02136cb0: ; 0x02136cb0 .word func_ov12_0212b9c4 diff --git a/asm/ov14/Actor/ActorRupee.inc b/asm/ov14/Actor/ActorRupee.inc index 4e78a6c5..503947b8 100644 --- a/asm/ov14/Actor/ActorRupee.inc +++ b/asm/ov14/Actor/ActorRupee.inc @@ -1,4 +1,5 @@ #pragma once +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i .extern _ZN11ItemManager10GiveRupeesEjj .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p @@ -49,10 +50,13 @@ .extern _ZN5Actor8vfunc_b0Ev .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj +.extern __register_global_object .extern data_027e0764 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0fc8 .extern data_027e0fe0 .extern data_ov00_020e9370 @@ -60,12 +64,8 @@ .extern func_01ff9bc4 .extern func_01fffd04 .extern func_0202bc38 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev -.extern __register_global_object .extern func_ov00_0207a13c .extern func_ov00_0207a1c8 -.extern func_ov00_02083fb0 .extern func_ov00_020bce48 .extern func_ov00_020c5a24 .extern func_ov00_020d7ad4 diff --git a/asm/ov14/Actor/ActorRupee.s b/asm/ov14/Actor/ActorRupee.s index 0b8d0e2b..8a454123 100644 --- a/asm/ov14/Actor/ActorRupee.s +++ b/asm/ov14/Actor/ActorRupee.s @@ -431,7 +431,7 @@ _0213b3cc: cmp r0, #0 beq _0213b4fc ldr r1, [r5, #0x48] - ldr r0, _0213b518 ; =data_027e0e60 + ldr r0, _0213b518 ; =gMapManager str r1, [sp, #4] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -440,7 +440,7 @@ _0213b3cc: add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -517,7 +517,7 @@ _0213b4fc: _0213b50c: .word data_027e0fc8 _0213b510: .word gItemManager _0213b514: .word data_ov00_020eec9c -_0213b518: .word data_027e0e60 +_0213b518: .word gMapManager .global _ZN10ActorRupee8vfunc_14Ej arm_func_start _ZN10ActorRupee8vfunc_14Ej diff --git a/asm/ov14/ov14_0211f640.inc b/asm/ov14/ov14_0211f640.inc index 4b5c9749..8f229369 100644 --- a/asm/ov14/ov14_0211f640.inc +++ b/asm/ov14/ov14_0211f640.inc @@ -1,6 +1,44 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_58Ev +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_6cEv +.extern _ZN10MapManager16MapData_vfunc_70Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager16MapData_vfunc_7cEv +.extern _ZN10MapManager16MapData_vfunc_b4Ev +.extern _ZN10MapManager17GetMapData_Unk_09Ev +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_020823d4Ei +.extern _ZN10MapManager18func_ov00_020823e4Ei +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02083780Ei +.extern _ZN10MapManager18func_ov00_02083978EiP5Vec3p +.extern _ZN10MapManager18func_ov00_020839b4Ei +.extern _ZN10MapManager18func_ov00_020839c4Ei +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager18func_ov00_020840dcEv +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager18func_ov00_02084ac4Ej +.extern _ZN10MapManager18func_ov00_02084c7cEi +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei +.extern _ZN10MapManager18func_ov00_02084ce4Ei +.extern _ZN10MapManager18func_ov00_02084cfcEi +.extern _ZN10MapManager18func_ov00_02084ebcEi +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager12GetItemModelEj @@ -121,7 +159,6 @@ .extern data_027e0d44 .extern data_027e0d78 .extern data_027e0e58 -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -257,44 +294,6 @@ .extern func_ov00_02081f4c .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020823d4 -.extern func_ov00_020823e4 -.extern func_ov00_020823f4 -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_020828c0 -.extern func_ov00_02082d08 -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_02083780 -.extern func_ov00_02083978 -.extern func_ov00_020839b4 -.extern func_ov00_020839c4 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083c7c -.extern func_ov00_02083e34 -.extern func_ov00_02083e58 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f80 -.extern func_ov00_02083f98 -.extern func_ov00_02083fb0 -.extern func_ov00_02084088 -.extern func_ov00_020840a0 -.extern func_ov00_020840c4 -.extern func_ov00_020840dc -.extern func_ov00_0208414c -.extern func_ov00_020843ec -.extern func_ov00_02084a5c -.extern func_ov00_02084ac4 -.extern func_ov00_02084c7c -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 -.extern func_ov00_02084ce4 -.extern func_ov00_02084cfc -.extern func_ov00_02084d18 -.extern func_ov00_02084ebc .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_02088000 @@ -517,5 +516,6 @@ .extern func_ov58_0219ab28 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcmp diff --git a/asm/ov14/ov14_0211f640.s b/asm/ov14/ov14_0211f640.s index 1584d43e..56e7282a 100644 --- a/asm/ov14/ov14_0211f640.s +++ b/asm/ov14/ov14_0211f640.s @@ -322,7 +322,7 @@ func_ov14_0211f980: ; 0x0211f980 ldr r0, _0211faa4 ; =gItemManager mvn r5, #0 ldr r3, _0211faa8 ; =data_027e0d3c - ldr r2, _0211faac ; =data_027e0e60 + ldr r2, _0211faac ; =gMapManager ldr r0, [r0] mov r1, #7 str r5, [sp, #4] @@ -345,11 +345,11 @@ _0211f9f8: ldrb r6, [r0] ldrb r1, [r0, #1] mov r0, r9 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r1, r6 mov r6, r0 mov r0, r9 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [sp, #0x14] mov r0, #0 str r0, [sp, #0x18] @@ -389,7 +389,7 @@ _0211fa8c: arm_func_end func_ov14_0211f980 _0211faa4: .word gItemManager _0211faa8: .word data_027e0d3c -_0211faac: .word data_027e0e60 +_0211faac: .word gMapManager .global func_ov14_0211fab0 arm_func_start func_ov14_0211fab0 @@ -2675,7 +2675,7 @@ _021218e4: add lr, sp, #0x34 str r1, [sp, #0x30] ldr r1, [r5, #0x48] - ldr ip, _021219e0 ; =data_027e0e60 + ldr ip, _021219e0 ; =gMapManager str r1, [sp, #0x1c] ldr r2, [r5, #0x4c] add r1, sp, #0x44 @@ -2705,7 +2705,7 @@ _021219d0: .word data_027e0fb8 _021219d4: .word data_027e0f64 _021219d8: .word 0x0000ffff _021219dc: .word data_ov14_02155aa4 -_021219e0: .word data_027e0e60 +_021219e0: .word gMapManager .global func_ov14_021219e4 arm_func_start func_ov14_021219e4 @@ -3267,7 +3267,7 @@ _02122124: cmp r0, #3 bne _02122420 ldr r1, [r5, #0x248] - ldr r0, _02122acc ; =data_027e0e60 + ldr r0, _02122acc ; =gMapManager str r1, [sp, #0x2c] ldr r1, [r5, #0x24c] ldr r0, [r0] @@ -3276,7 +3276,7 @@ _02122124: add r1, sp, #0x2c add r2, sp, #0x98 str r3, [sp, #0x34] - bl func_ov00_02083978 + bl _ZN10MapManager18func_ov00_02083978EiP5Vec3p cmp r0, #0 beq _02122170 ldr r0, [sp, #0x9c] @@ -3312,7 +3312,7 @@ _02122174: mov r7, #0 str r0, [sp, #0x8c] ldr r1, [r5, #0x4c] - ldr r0, _02122acc ; =data_027e0e60 + ldr r0, _02122acc ; =gMapManager str r1, [sp, #0x90] ldr r8, _02122ad4 ; =0x0000ffff ldr r1, [r5, #0x50] @@ -3337,10 +3337,10 @@ _02122174: strb r7, [sp, #0x100] strb r7, [sp, #0x101] str r3, [sp, #0x94] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #4 mov r0, r6 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 beq _02122358 ldr r1, [r0] @@ -3735,7 +3735,7 @@ _02122820: cmp r0, #0 beq _02122864 ldr r1, [r5, #0x48] - ldr r0, _02122acc ; =data_027e0e60 + ldr r0, _02122acc ; =gMapManager str r1, [sp, #0x14] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -3744,7 +3744,7 @@ _02122820: add r1, sp, #0x14 add r2, sp, #0x5c str r3, [sp, #0x1c] - bl func_ov00_02083978 + bl _ZN10MapManager18func_ov00_02083978EiP5Vec3p cmp r0, #0 movne r6, #1 _02122864: @@ -3913,7 +3913,7 @@ _02122abc: .word 0x0000059a _02122ac0: .word 0x00000333 _02122ac4: .word data_02050f54 _02122ac8: .word 0x000004cd -_02122acc: .word data_027e0e60 +_02122acc: .word gMapManager _02122ad0: .word 0x00000e66 _02122ad4: .word 0x0000ffff _02122ad8: .word data_027e0764 @@ -5961,7 +5961,7 @@ _0212448c: mov r0, r5 bl _ZN5Actor12ApplyGravityEv ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x74] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -5970,7 +5970,7 @@ _0212448c: add r1, sp, #0x74 str r2, [sp, #0x7c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] cmp r0, r1 ble _02124510 @@ -6020,13 +6020,13 @@ _02124580: bl func_ov14_0213ed94 ldrb r2, [r0] ldrb r3, [r0, #1] - ldr r1, _02124c54 ; =data_027e0e60 + ldr r1, _02124c54 ; =gMapManager strb r2, [sp, #0xe] ldr r1, [r1] add r0, sp, #0xc add r2, r5, #0x48 strb r3, [sp, #0xf] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r3, [sp, #0xc] ldrb r1, [sp, #0xe] ldrb r2, [sp, #0xd] @@ -6045,7 +6045,7 @@ _02124580: str r0, [r5, #0x174] b _02124724 _02124608: - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager ldrb r1, [sp, #0xe] ldr r0, [r0] sub r3, sp, #4 @@ -6054,7 +6054,7 @@ _02124608: add r1, sp, #0x98 strb r2, [r3, #1] ldr r2, [r3] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r0, sp, #0x98 add r2, sp, #0x8c add r1, r5, #0x48 @@ -6071,7 +6071,7 @@ _02124608: b _02124724 _02124668: ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x68] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -6080,9 +6080,9 @@ _02124668: add r0, sp, #0x1c add r2, sp, #0x68 str r3, [sp, #0x70] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x5c] ldr r1, [r5, #0x4c] ldr r7, [r0] @@ -6099,12 +6099,12 @@ _02124668: ldr r3, [r5, #0x50] mov r2, r6 str r3, [sp, #0x58] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r8, r0 add r1, sp, #0x50 mov r0, r7 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev cmp r8, r0 bne _02124710 ldr r0, [sp, #0x1c] @@ -6180,7 +6180,7 @@ _021247d8: mov r1, #0 str r1, [r0, #0x34] ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x80] ldr r7, [r5, #0x4c] ldr r0, [r0] @@ -6192,7 +6192,7 @@ _021247d8: mov r2, #1 add r3, r7, r3 str r3, [sp, #0x84] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r5, #0x90] add r1, r6, #0xcc add r2, r2, r0 @@ -6226,7 +6226,7 @@ _021248a8: cmp r0, #0 beq _02124930 ldr r1, [r5, #0xb8] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [r5, #0x48] ldr r2, [r5, #0xbc] add r1, sp, #0x44 @@ -6241,7 +6241,7 @@ _021248a8: str r3, [sp, #0x48] ldr r3, [r5, #0x50] str r3, [sp, #0x4c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] ldrb r0, [r5, #0x112] cmp r0, #0 @@ -6290,7 +6290,7 @@ _02124948: bl func_ov00_0208967c _021249a4: ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x38] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -6299,7 +6299,7 @@ _021249a4: add r1, sp, #0x38 str r2, [sp, #0x40] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x90] ldr r2, [r5, #0x4c] add r0, r1, r0 @@ -6309,7 +6309,7 @@ _021249a4: cmp r0, #0 beq _02124a6c ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x2c] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -6318,7 +6318,7 @@ _021249a4: add r0, sp, #0x10 add r2, sp, #0x2c str r3, [sp, #0x34] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0x10] mov r1, r0 mov r0, r0, lsr #0x5 @@ -6382,7 +6382,7 @@ _02124af0: cmp r0, #0 bne _02124b50 ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x20] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -6391,7 +6391,7 @@ _02124af0: add r1, sp, #0x20 str r2, [sp, #0x28] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] cmp r1, r0 mov r0, r5 @@ -6477,7 +6477,7 @@ _02124c44: .word data_027e077c _02124c48: .word data_02056be4 _02124c4c: .word data_027e0ffc _02124c50: .word 0x000001a1 -_02124c54: .word data_027e0e60 +_02124c54: .word gMapManager _02124c58: .word 0x00000333 _02124c5c: .word data_ov14_02153bfc _02124c60: .word data_ov14_0215ac9c @@ -6866,17 +6866,17 @@ _021250fc: .word data_ov14_02155fd4 arm_func_start func_ov14_02125100 func_ov14_02125100: ; 0x02125100 stmdb sp!, {r3, lr} - ldr r2, _02125124 ; =data_027e0e60 + ldr r2, _02125124 ; =gMapManager ldrsh r1, [r0, #0x34] ldr r0, [r2] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #8 moveq r0, #3 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov14_02125100 -_02125124: .word data_027e0e60 +_02125124: .word gMapManager .global func_ov14_02125128 arm_func_start func_ov14_02125128 @@ -7041,7 +7041,7 @@ func_ov14_021252b8: ; 0x021252b8 cmp r0, #1 bne _02125340 ldr r0, [r5, #0x18] - ldr r1, _02125598 ; =data_027e0e60 + ldr r1, _02125598 ; =gMapManager add r0, r0, #0x3fc add r0, r0, #0x400 str r0, [r5, #0x18] @@ -7052,15 +7052,15 @@ func_ov14_021252b8: ; 0x021252b8 strb r2, [sp, #0xc] mov r2, #1 strb r3, [sp, #0xd] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r2, [sp, #0xc] - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager add r1, sp, #0xc add r3, r2, #1 ldr r0, [r0] mov r2, #1 strb r3, [sp, #0xc] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii _02125340: mov r0, r5 bl func_ov00_0208c214 @@ -7089,38 +7089,38 @@ _02125340: add r1, sp, #0x14 mov r2, r0 bl func_01ff9bc4 - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager ldrb r3, [r5, #0x15] ldrb r2, [r5, #0x14] ldr r0, [r0] add r1, sp, #4 strb r2, [sp, #4] strb r3, [sp, #5] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev mov r4, r0 ldrh r0, [r5, #0x2a] ldrb r1, [r5, #0x14] cmp r0, #1 bne _02125444 - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager ldrb r3, [r5, #0x15] ldr r0, [r0] sub r2, r1, #1 add r1, sp, #0xa strb r3, [sp, #0xb] strb r2, [sp, #0xa] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev cmp r0, r4 ldrgt r0, [sp, #0x50] ldrb r2, [sp, #0xa] subgt r0, r0, #0x800 strgt r0, [sp, #0x50] - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager add r2, r2, #3 ldr r0, [r0] add r1, sp, #0xa strb r2, [sp, #0xa] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev cmp r0, r4 ble _021254a0 ldr r0, [sp, #0x44] @@ -7128,45 +7128,45 @@ _02125340: str r0, [sp, #0x44] b _021254a0 _02125444: - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager ldrb r3, [r5, #0x15] ldr r0, [r0] sub r2, r1, #1 add r1, sp, #8 strb r3, [sp, #9] strb r2, [sp, #8] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x50] ldrb r2, [sp, #8] subeq r0, r0, #0x800 streq r0, [sp, #0x50] - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager add r2, r2, #2 ldr r0, [r0] add r1, sp, #8 strb r2, [sp, #8] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x44] addeq r0, r0, #0x800 streq r0, [sp, #0x44] _021254a0: ldrb r1, [r5, #0x15] - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager ldrb r3, [r5, #0x14] sub r2, r1, #1 ldr r0, [r0] add r1, sp, #6 strb r3, [sp, #6] strb r2, [sp, #7] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 bne _021254ec - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager add r1, sp, #6 ldr r0, [r0] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev cmp r4, r0 ldreq r0, [sp, #0x58] subeq r0, r0, #0x800 @@ -7218,7 +7218,7 @@ _0212553c: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov14_021252b8 -_02125598: .word data_027e0e60 +_02125598: .word gMapManager .global func_ov14_0212559c arm_func_start func_ov14_0212559c @@ -7420,24 +7420,24 @@ _02125864: beq _02125890 cmp r0, #2 ldmneia sp!, {r4, pc} - ldr r0, _021258b0 ; =data_027e0e60 + ldr r0, _021258b0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084ce4 + bl _ZN10MapManager18func_ov00_02084ce4Ei ldmia sp!, {r4, pc} _02125890: - ldr r0, _021258b0 ; =data_027e0e60 + ldr r0, _021258b0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0212559c _021258a8: .word gAdventureFlags _021258ac: .word data_ov14_02153c04 -_021258b0: .word data_027e0e60 +_021258b0: .word gMapManager .global func_ov14_021258b4 arm_func_start func_ov14_021258b4 @@ -7565,13 +7565,13 @@ _021259c4: ldrb r2, [r4, #0x36] strb r2, [sp, #0xc0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei - ldr r1, _02125c18 ; =data_027e0e60 + ldr r1, _02125c18 ; =gMapManager str r0, [r4, #0x68] ldr r0, [r1] add r1, r4, #0x18 mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r4, #0x64] add r0, sp, #0xb0 bl func_ov00_0209a508 @@ -7653,10 +7653,10 @@ _02125b40: ldrb r0, [r4, #0x71] cmp r0, #0 beq _02125b88 - ldr r0, _02125c18 ; =data_027e0e60 + ldr r0, _02125c18 ; =gMapManager ldr r1, [r4, #0x64] ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej mvn r0, #0 str r0, [r4, #0x64] _02125b88: @@ -7686,10 +7686,10 @@ _02125bd8: ldrb r0, [r4, #0x71] cmp r0, #0 beq _02125bfc - ldr r0, _02125c18 ; =data_027e0e60 + ldr r0, _02125c18 ; =gMapManager ldr r1, [r4, #0x64] ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej mvn r0, #0 str r0, [r4, #0x64] _02125bfc: @@ -7703,7 +7703,7 @@ _02125c04: arm_func_end func_ov14_0212595c _02125c10: .word data_ov14_02153c04 _02125c14: .word gAdventureFlags -_02125c18: .word data_027e0e60 +_02125c18: .word gMapManager _02125c1c: .word data_027e0ffc _02125c20: .word 0x000001af @@ -7763,10 +7763,10 @@ _02125cc0: moveq r0, #0 ldmia sp!, {r4, pc} _02125cd8: - ldr r0, _02125d48 ; =data_027e0e60 + ldr r0, _02125d48 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cfc + bl _ZN10MapManager18func_ov00_02084cfcEi cmp r0, #0 movne r0, #8 ldmneia sp!, {r4, pc} @@ -7778,10 +7778,10 @@ _02125cd8: moveq r0, #0 ldmia sp!, {r4, pc} _02125d10: - ldr r0, _02125d48 ; =data_027e0e60 + ldr r0, _02125d48 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #8 ldmneia sp!, {r4, pc} @@ -7794,7 +7794,7 @@ _02125d10: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02125c98 -_02125d48: .word data_027e0e60 +_02125d48: .word gMapManager .global func_ov14_02125d4c arm_func_start func_ov14_02125d4c @@ -8156,17 +8156,17 @@ _02126110: .word data_ov14_021562ac arm_func_start func_ov14_02126114 func_ov14_02126114: ; 0x02126114 stmdb sp!, {r3, lr} - ldr r2, _02126138 ; =data_027e0e60 + ldr r2, _02126138 ; =gMapManager ldrsh r1, [r0, #0x34] ldr r0, [r2] - bl func_ov00_02084cfc + bl _ZN10MapManager18func_ov00_02084cfcEi cmp r0, #0 movne r0, #8 moveq r0, #3 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov14_02126114 -_02126138: .word data_027e0e60 +_02126138: .word gMapManager .global func_ov14_0212613c arm_func_start func_ov14_0212613c @@ -8878,14 +8878,14 @@ _02126898: mov r2, #1 strb r2, [r5, #0x83] ldrb r1, [r5, #0x15] - ldr r0, _02126ab4 ; =data_027e0e60 + ldr r0, _02126ab4 ; =gMapManager ldrb r3, [r5, #0x14] add ip, r1, #1 ldr r0, [r0] add r1, sp, #6 strb r3, [sp, #6] strb ip, [sp, #7] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii b _02126a20 _02126958: ldr r0, [r5, #0x18] @@ -8929,7 +8929,7 @@ _02126958: str r3, [sp, #0x2c] bl func_01ff9bc4 ldrb r1, [r5, #0x14] - ldr r0, _02126ab4 ; =data_027e0e60 + ldr r0, _02126ab4 ; =gMapManager ldrb ip, [r5, #0x15] add r3, r1, #1 ldr r0, [r0] @@ -8937,7 +8937,7 @@ _02126958: mov r2, #1 strb r3, [sp, #4] strb ip, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii _02126a20: ldr r1, [r5, #4] mov r0, r5 @@ -8978,7 +8978,7 @@ _02126a20: .align 2, 0 arm_func_end func_ov14_02126854 _02126ab0: .word 0x0000059a -_02126ab4: .word data_027e0e60 +_02126ab4: .word gMapManager _02126ab8: .word 0x00002666 .global func_ov14_02126abc @@ -9397,11 +9397,11 @@ _02127064: ldmgtia sp!, {r4, pc} mov r1, #1 strb r1, [r4, #0x3c] - ldr r0, _02127180 ; =data_027e0e60 + ldr r0, _02127180 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldmia sp!, {r4, pc} _021270b0: ldrb r1, [r4, #0x7c] @@ -9417,11 +9417,11 @@ _021270b0: ldmgtia sp!, {r4, pc} mov r1, #1 strb r1, [r4, #0x3c] - ldr r0, _02127180 ; =data_027e0e60 + ldr r0, _02127180 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldmia sp!, {r4, pc} _021270fc: ldr r1, [r0] @@ -9434,11 +9434,11 @@ _021270fc: ldmltia sp!, {r4, pc} mov r1, #0 strb r1, [r4, #0x3c] - ldr r0, _02127180 ; =data_027e0e60 + ldr r0, _02127180 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldmia sp!, {r4, pc} _0212713c: ldrb r0, [r4, #0x7c] @@ -9451,16 +9451,16 @@ _0212713c: cmp r0, #0 ldmneia sp!, {r4, pc} mov r1, #1 - ldr r0, _02127180 ; =data_027e0e60 + ldr r0, _02127180 ; =gMapManager strb r1, [r4, #0x3c] ldr r0, [r0] add r1, r4, #0x38 mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02127034 -_02127180: .word data_027e0e60 +_02127180: .word gMapManager _02127184: .word gAdventureFlags .global func_ov14_02127188 @@ -9582,11 +9582,11 @@ _0212731c: _02127338: cmp r4, #0 bne _021276a0 - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #0 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei b _021276a0 _02127358: ldrb r0, [r5, #0x8a] @@ -9609,12 +9609,12 @@ _02127378: b _021276a0 _0212739c: mvn r1, #0 - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager str r1, [r5, #0x64] ldr r0, [r0] add r1, r5, #0x38 mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #1 strb r0, [r5, #0x3c] b _021276a0 @@ -9747,20 +9747,20 @@ _02127548: cmp r0, #0 cmpne r0, #1 bne _021275cc - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager mov r2, r4 ldr r0, [r0] add r1, r5, #0x18 mov r3, #2 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _021276a0 _021275cc: - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager mov r2, r4 ldr r0, [r0] add r1, r5, #0x18 mov r3, #1 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _021276a0 _021275e8: ldrb r1, [r5, #0x7f] @@ -9796,19 +9796,19 @@ _02127644: mov r0, r5 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _02127674: mov r1, #0 - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager strb r1, [r5, #0x3c] ldr r0, [r0] add r1, r5, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #0 strh r0, [r5, #0x7a] mov r0, #0x1000 @@ -9820,7 +9820,7 @@ _021276a0: .align 2, 0 arm_func_end func_ov14_02127188 _021276ac: .word gAdventureFlags -_021276b0: .word data_027e0e60 +_021276b0: .word gMapManager _021276b4: .word data_027e0ffc _021276b8: .word 0x000001b5 _021276bc: .word data_ov14_02153c38 @@ -9834,15 +9834,15 @@ func_ov14_021276c0: ; 0x021276c0 .global func_ov14_021276c4 arm_func_start func_ov14_021276c4 func_ov14_021276c4: ; 0x021276c4 - ldr r2, _021276d8 ; =data_027e0e60 - ldr ip, _021276dc ; =func_ov00_02084cc8 + ldr r2, _021276d8 ; =gMapManager + ldr ip, _021276dc ; =_ZN10MapManager18func_ov00_02084cc8Ei ldrsh r1, [r0, #0x34] ldr r0, [r2] bx ip .align 2, 0 arm_func_end func_ov14_021276c4 -_021276d8: .word data_027e0e60 -_021276dc: .word func_ov00_02084cc8 +_021276d8: .word gMapManager +_021276dc: .word _ZN10MapManager18func_ov00_02084cc8Ei .global func_ov14_021276e0 arm_func_start func_ov14_021276e0 @@ -10057,11 +10057,11 @@ func_ov14_02127984: ; 0x02127984 mov r2, r1 str r3, [r4, #0x64] bl func_ov00_0208ba08 - ldr r0, _021279c8 ; =data_027e0e60 + ldr r0, _021279c8 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldrb r0, [r4, #0x81] cmp r0, #0 ldrneb r0, [r4, #0x7c] @@ -10069,7 +10069,7 @@ func_ov14_02127984: ; 0x02127984 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02127984 -_021279c8: .word data_027e0e60 +_021279c8: .word gMapManager .global func_ov14_021279cc arm_func_start func_ov14_021279cc @@ -10244,7 +10244,7 @@ func_ov14_02127bb0: ; 0x02127bb0 cmp r11, r0 addge sp, sp, #8 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r4, _02127c5c ; =data_027e0e60 + ldr r4, _02127c5c ; =gMapManager add r5, sp, #4 _02127bfc: ldrb r7, [r10, #0x15] @@ -10258,7 +10258,7 @@ _02127c10: mov r2, r9 strb r6, [sp, #4] strb r7, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r10, #0x15] add r7, r7, #1 add r0, r0, r8 @@ -10275,7 +10275,7 @@ _02127c3c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_02127bb0 -_02127c5c: .word data_027e0e60 +_02127c5c: .word gMapManager .global func_ov14_02127c60 arm_func_start func_ov14_02127c60 @@ -10521,15 +10521,15 @@ func_ov14_02127eb8: ; 0x02127eb8 bl _ZN14AdventureFlags3GetEj ldmia sp!, {r3, pc} _02127edc: - ldr r2, _02127ef4 ; =data_027e0e60 + ldr r2, _02127ef4 ; =gMapManager ldrsh r1, [r0, #0x34] ldr r0, [r2] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov14_02127eb8 _02127ef0: .word gAdventureFlags -_02127ef4: .word data_027e0e60 +_02127ef4: .word gMapManager .global func_ov14_02127ef8 arm_func_start func_ov14_02127ef8 @@ -13623,10 +13623,10 @@ func_ov14_0212a758: ; 0x0212a758 ldrh r0, [r4, #0x26] cmp r0, #1 bne _0212a8f4 - ldr r0, _0212a91c ; =data_027e0e60 + ldr r0, _0212a91c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -13657,7 +13657,7 @@ _0212a8f4: arm_func_end func_ov14_0212a758 _0212a914: .word 0x000007fc _0212a918: .word 0x000002cd -_0212a91c: .word data_027e0e60 +_0212a91c: .word gMapManager .global func_ov14_0212a920 arm_func_start func_ov14_0212a920 @@ -13754,11 +13754,11 @@ _0212aa30: mov r0, r4 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _0212aaa4 ; =data_027e0e60 + ldr r0, _0212aaa4 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r0, [r4, #4] orr r0, r0, #4 str r0, [r4, #4] @@ -13771,7 +13771,7 @@ _0212aa8c: _0212aa98: .word data_027e0e58 _0212aa9c: .word 0x000001a1 _0212aaa0: .word data_027e0ffc -_0212aaa4: .word data_027e0e60 +_0212aaa4: .word gMapManager .global func_ov14_0212aaa8 arm_func_start func_ov14_0212aaa8 @@ -14033,21 +14033,21 @@ func_ov14_0212acdc: ; 0x0212acdc blx ip ldrb r1, [r4, #0x14] ldrb r3, [r4, #0x15] - ldr r0, _0212ae9c ; =data_027e0e60 + ldr r0, _0212ae9c ; =gMapManager add r2, r1, #1 strb r2, [sp, #4] ldr r0, [r0] add r1, sp, #4 strb r3, [sp, #5] mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrh r0, [r4, #0x26] cmp r0, #1 bne _0212ae78 - ldr r0, _0212ae9c ; =data_027e0e60 + ldr r0, _0212ae9c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -14077,7 +14077,7 @@ _0212ae78: .align 2, 0 arm_func_end func_ov14_0212acdc _0212ae98: .word 0x0000059a -_0212ae9c: .word data_027e0e60 +_0212ae9c: .word gMapManager .global func_ov14_0212aea0 arm_func_start func_ov14_0212aea0 @@ -14162,11 +14162,11 @@ _0212af98: mov r0, r4 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _0212b00c ; =data_027e0e60 + ldr r0, _0212b00c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r0, [r4, #4] orr r0, r0, #4 str r0, [r4, #4] @@ -14179,7 +14179,7 @@ _0212aff4: _0212b000: .word data_027e0e58 _0212b004: .word 0x000001a1 _0212b008: .word data_027e0ffc -_0212b00c: .word data_027e0e60 +_0212b00c: .word gMapManager .global func_ov14_0212b010 arm_func_start func_ov14_0212b010 @@ -14243,31 +14243,31 @@ func_ov14_0212b0c0: ; 0x0212b0c0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrh r4, [r6, #0x28] - ldr r0, _0212b124 ; =data_027e0e60 + ldr r0, _0212b124 ; =gMapManager ldrh r5, [r6, #0x2a] ldr r0, [r0] mov r1, r4 - bl func_ov00_020823d4 - ldr r1, _0212b124 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823d4Ei + ldr r1, _0212b124 ; =gMapManager str r0, [r6, #0xcc] ldr r0, [r1] mov r1, r4 - bl func_ov00_020823e4 - ldr r1, _0212b124 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823e4Ei + ldr r1, _0212b124 ; =gMapManager str r0, [r6, #0xd0] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823d4 - ldr r1, _0212b124 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823d4Ei + ldr r1, _0212b124 ; =gMapManager str r0, [r6, #0xd4] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei str r0, [r6, #0xd8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_0212b0c0 -_0212b124: .word data_027e0e60 +_0212b124: .word gMapManager .global func_ov14_0212b128 arm_func_start func_ov14_0212b128 @@ -14290,9 +14290,9 @@ func_ov14_0212b128: ; 0x0212b128 mov r0, r5 ldr r1, _0212b1f4 ; =data_ov14_02153cd4 bl func_0201933c - ldr r0, _0212b1f8 ; =data_027e0e60 + ldr r0, _0212b1f8 ; =gMapManager ldr r0, [r0] - bl func_ov00_020823f4 + bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 mov r0, r5 mov r1, r4 @@ -14326,7 +14326,7 @@ _0212b1e8: .word data_ov14_02153c98 _0212b1ec: .word data_ov14_02153cac _0212b1f0: .word data_ov14_02153cc0 _0212b1f4: .word data_ov14_02153cd4 -_0212b1f8: .word data_027e0e60 +_0212b1f8: .word gMapManager .global func_ov14_0212b1fc arm_func_start func_ov14_0212b1fc @@ -14506,18 +14506,18 @@ func_ov14_0212b31c: ; 0x0212b31c strb r0, [r4, #0x3c] ldrb r2, [r4, #0x14] ldrb r3, [r4, #0x15] - ldr r0, _0212b4c0 ; =data_027e0e60 + ldr r0, _0212b4c0 ; =gMapManager add r2, r2, #1 strb r2, [sp, #4] ldr r0, [r0] add r1, sp, #4 mov r2, #1 strb r3, [sp, #5] - bl func_ov00_02082680 - ldr r0, _0212b4c0 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02082680Eii + ldr r0, _0212b4c0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -14538,7 +14538,7 @@ _0212b4a4: .align 2, 0 arm_func_end func_ov14_0212b31c _0212b4bc: .word 0x000002cd -_0212b4c0: .word data_027e0e60 +_0212b4c0: .word gMapManager .global func_ov14_0212b4c4 arm_func_start func_ov14_0212b4c4 @@ -14628,11 +14628,11 @@ _0212b5d8: mov r2, r1 strb r1, [r4, #0x3c] bl func_ov00_0208ba08 - ldr r0, _0212b650 ; =data_027e0e60 + ldr r0, _0212b650 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r0, _0212b654 ; =data_027e0f68 mov r1, #0x19 ldr r0, [r0] @@ -14653,7 +14653,7 @@ _0212b640: .word data_027e0e58 _0212b644: .word 0x000001a1 _0212b648: .word data_027e0ffc _0212b64c: .word 0x00000255 -_0212b650: .word data_027e0e60 +_0212b650: .word gMapManager _0212b654: .word data_027e0f68 .global func_ov14_0212b658 @@ -14893,7 +14893,7 @@ func_ov14_0212b81c: ; 0x0212b81c blx r4 mov r0, #1 mov r5, #0 - ldr r8, _0212b9c8 ; =data_027e0e60 + ldr r8, _0212b9c8 ; =gMapManager strb r0, [r7, #0x3c] add r10, sp, #4 mov r9, r0 @@ -14910,7 +14910,7 @@ _0212b97c: mov r2, r9 strb r3, [sp, #4] strb ip, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add r6, r6, #1 cmp r6, #2 blt _0212b97c @@ -14922,7 +14922,7 @@ _0212b97c: .align 2, 0 arm_func_end func_ov14_0212b81c _0212b9c4: .word 0x00000b34 -_0212b9c8: .word data_027e0e60 +_0212b9c8: .word gMapManager .global func_ov14_0212b9cc arm_func_start func_ov14_0212b9cc @@ -16230,11 +16230,11 @@ _0212c9ec: ; jump table _0212ca00: mov r2, #0 strh r2, [r3, #0x6c] - ldr r0, _0212ca70 ; =data_027e0e60 + ldr r0, _0212ca70 ; =gMapManager str r2, [r3, #0x68] ldr r0, [r0] add r1, r3, #0x38 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0212ca68 _0212ca20: mov r0, #0 @@ -16251,19 +16251,19 @@ _0212ca38: b _0212ca68 _0212ca48: ldr r1, [r3, #4] - ldr r0, _0212ca70 ; =data_027e0e60 + ldr r0, _0212ca70 ; =gMapManager bic r1, r1, #1 str r1, [r3, #4] ldr r0, [r0] add r1, r3, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi _0212ca68: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov14_0212c9d4 -_0212ca70: .word data_027e0e60 +_0212ca70: .word gMapManager .global func_ov14_0212ca74 arm_func_start func_ov14_0212ca74 @@ -16646,13 +16646,13 @@ _0212cf24: ; jump table b _0212cfac ; case 3 _0212cf34: ldr r1, [r4, #4] - ldr r0, _0212cfb4 ; =data_027e0e60 + ldr r0, _0212cfb4 ; =gMapManager orr r1, r1, #4 str r1, [r4, #4] ldr r0, [r0] add r1, r4, #0x38 mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0212cfac _0212cf58: ldr r0, _0212cfb8 ; =data_027e0ffc @@ -16669,11 +16669,11 @@ _0212cf58: str r0, [r4, #4] b _0212cfac _0212cf8c: - ldr r0, _0212cfb4 ; =data_027e0e60 + ldr r0, _0212cfb4 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] @@ -16682,7 +16682,7 @@ _0212cfac: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0212cf0c -_0212cfb4: .word data_027e0e60 +_0212cfb4: .word gMapManager _0212cfb8: .word data_027e0ffc _0212cfbc: .word 0x000001f9 _0212cfc0: .word data_027e1038 @@ -18984,14 +18984,14 @@ func_ov14_0212eca8: ; 0x0212eca8 sub sp, sp, #0x10 mov r4, r0 ldr r1, [r4, #4] - ldr r0, _0212ecf0 ; =data_027e0e60 + ldr r0, _0212ecf0 ; =gMapManager orr r1, r1, #0x200 str r1, [r4, #4] ldr r0, [r0] add r2, sp, #0 add r3, sp, #4 add r1, r4, #0x18 - bl func_ov00_02083f80 + bl _ZN10MapManager16MapData_vfunc_6cEv ldr r1, [sp] mov r0, r4 str r1, [r4, #0x1c] @@ -19000,7 +19000,7 @@ func_ov14_0212eca8: ; 0x0212eca8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0212eca8 -_0212ecf0: .word data_027e0e60 +_0212ecf0: .word gMapManager .global func_ov14_0212ecf4 arm_func_start func_ov14_0212ecf4 @@ -19125,12 +19125,12 @@ func_ov14_0212ee58: ; 0x0212ee58 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x70 mov r5, r0 - ldr r0, _0212f070 ; =data_027e0e60 + ldr r0, _0212f070 ; =gMapManager ldrb r1, [r5, #0x14] ldrb r2, [r5, #0x15] ldr r0, [r0] mov r4, #0 - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci mov r1, #0 cmp r0, #0x30 cmpne r0, #0x40 @@ -19258,7 +19258,7 @@ func_ov14_0212ee58: ; 0x0212ee58 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov14_0212ee58 -_0212f070: .word data_027e0e60 +_0212f070: .word gMapManager _0212f074: .word 0x00000fa5 _0212f078: .word data_ov00_020ec9d6 _0212f07c: .word data_ov00_020ec9d4 @@ -19487,13 +19487,13 @@ _0212f374: ldr r4, _0212f550 ; =0x544d4150 b _0212f458 _0212f380: - ldr r0, _0212f554 ; =data_027e0e60 + ldr r0, _0212f554 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084d18 + bl _ZN10MapManager17GetMapData_Unk_09Ev cmp r0, #0 addeq sp, sp, #0x58 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _0212f554 ; =data_027e0e60 + ldr r0, _0212f554 ; =gMapManager ldrb r4, [r6, #0x15] ldrb r3, [r6, #0x14] ldr r0, [r0] @@ -19501,7 +19501,7 @@ _0212f380: mov r2, #6 strb r3, [sp, #4] strb r4, [sp, #5] - bl func_ov00_0208414c + bl _ZN10MapManager16MapData_vfunc_58Ev cmp r0, #0 addne sp, sp, #0x58 ldmneia sp!, {r4, r5, r6, pc} @@ -19613,7 +19613,7 @@ _0212f544: .word 0x52555059 _0212f548: .word 0x4e4b4559 _0212f54c: .word 0x464f5243 _0212f550: .word 0x544d4150 -_0212f554: .word data_027e0e60 +_0212f554: .word gMapManager _0212f558: .word data_027e0764 _0212f55c: .word 0x48415254 _0212f560: .word 0x00000666 @@ -19961,7 +19961,7 @@ _0212f9fc: add r0, r0, #1 cmp r0, #0 ble _0212fab4 - ldr r5, _0212fb20 ; =data_027e0e60 + ldr r5, _0212fb20 ; =gMapManager mov r11, #1 add r6, sp, #4 add r7, sp, #0x24 @@ -19985,7 +19985,7 @@ _0212fa20: mov r0, r10 mov r2, r6 ldrsh r3, [r4, #0xc] - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv cmp r0, #0 beq _0212faa0 ldrh r0, [r4, #0x24] @@ -19995,7 +19995,7 @@ _0212fa20: bne _0212faa0 ldr r0, [r5] mov r1, r6 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 strneb r11, [r0, #0xa9] _0212faa0: @@ -20037,7 +20037,7 @@ _0212fb04: arm_func_end func_ov14_0212f7b0 _0212fb18: .word 0x00001333 _0212fb1c: .word data_027e0d38 -_0212fb20: .word data_027e0e60 +_0212fb20: .word gMapManager _0212fb24: .word 0x00004e20 .global func_ov14_0212fb28 @@ -20117,13 +20117,13 @@ _0212fb88: add r1, r7, r7, lsl #2 bl func_02002c14 ldrb r3, [r5, #0x14] - ldr r2, _0213011c ; =data_027e0e60 + ldr r2, _0213011c ; =gMapManager add r1, sp, #0xe add r3, r0, r3 ldr r0, [r2] strb r3, [sp, #0xe] strb r6, [sp, #0xf] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 beq _0212fd7c ldr r1, [r0] @@ -20182,13 +20182,13 @@ _0212fc6c: add r1, r7, r7, lsl #2 bl func_02002c14 ldrb r3, [r5, #0x14] - ldr r2, _0213011c ; =data_027e0e60 + ldr r2, _0213011c ; =gMapManager add r1, sp, #0xc add r3, r0, r3 ldr r0, [r2] strb r3, [sp, #0xc] strb r6, [sp, #0xd] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 beq _0212fd7c ldr r1, [r0] @@ -20490,7 +20490,7 @@ _0213010c: _02130114: .word 0x0000ffff .endif _02130118: .word 0x66666667 -_0213011c: .word data_027e0e60 +_0213011c: .word gMapManager _02130120: .word data_027e0ffc _02130124: .word data_027e0f64 _02130128: .word data_027e0e58 @@ -20539,10 +20539,10 @@ _02130198: ldrb r0, [r6, #0xa8] cmp r0, #0 beq _021304ac - ldr r0, _021304bc ; =data_027e0e60 + ldr r0, _021304bc ; =gMapManager ldr r1, [r6, #0x6c] ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej mvn r2, #0 add r1, sp, #0x1c mov r0, r6 @@ -20585,12 +20585,12 @@ _02130268: ldrb r0, [r6, #0xaa] cmp r0, #0 beq _02130290 - ldr r0, _021304bc ; =data_027e0e60 + ldr r0, _021304bc ; =gMapManager add r1, sp, #0x1c ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r6, #0x6c] _02130290: add r0, sp, #0xd8 @@ -20640,10 +20640,10 @@ _02130318: ldrb r0, [r6, #0xa8] cmp r0, #0 beq _021304ac - ldr r0, _021304bc ; =data_027e0e60 + ldr r0, _021304bc ; =gMapManager ldr r1, [r6, #0x6c] ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej mvn r2, #0 add r1, sp, #0x10 mov r0, r6 @@ -20679,12 +20679,12 @@ _021303c0: ldrb r0, [r6, #0xab] cmp r0, #0 beq _021303e8 - ldr r0, _021304bc ; =data_027e0e60 + ldr r0, _021304bc ; =gMapManager add r1, sp, #0x10 ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r6, #0x6c] _021303e8: add r0, sp, #0x28 @@ -20747,7 +20747,7 @@ _021304ac: .align 2, 0 arm_func_end func_ov14_0213012c _021304b8: .word data_027e0e58 -_021304bc: .word data_027e0e60 +_021304bc: .word gMapManager _021304c0: .word gAdventureFlags _021304c4: .word data_027e0ffc _021304c8: .word 0x000002a2 @@ -21175,19 +21175,19 @@ func_ov14_021309bc: ; 0x021309bc ldrb r0, [r10, #0x79] cmp r0, #0 bne _02130a70 - ldr r0, _02130be0 ; =data_027e0e60 + ldr r0, _02130be0 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208335c - ldr r1, _02130be0 ; =data_027e0e60 + bl _ZN10MapManager17Get_MapData_Unk28Ev + ldr r1, _02130be0 ; =gMapManager str r0, [sp] ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r8, r0 ldr r0, [sp] mov r11, #0 cmp r0, #0 ble _02130a70 - ldr r4, _02130be0 ; =data_027e0e60 + ldr r4, _02130be0 ; =gMapManager add r6, sp, #6 _02130a0c: mov r9, #0 @@ -21199,7 +21199,7 @@ _02130a1c: mov r1, r6 strb r7, [sp, #6] strb r9, [sp, #7] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _02130a54 ldr r1, [r0] @@ -21255,7 +21255,7 @@ _02130ae8: add r0, r8, r0 cmp r8, r0 bgt _02130b7c - ldr r9, _02130be0 ; =data_027e0e60 + ldr r9, _02130be0 ; =gMapManager and r6, r7, #0xff add r5, sp, #4 _02130b08: @@ -21263,7 +21263,7 @@ _02130b08: mov r1, r5 strb r6, [sp, #4] strb r8, [sp, #5] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 cmpne r4, r10 beq _02130b64 @@ -21319,7 +21319,7 @@ _02130bc8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_021309bc -_02130be0: .word data_027e0e60 +_02130be0: .word gMapManager _02130be4: .word data_ov14_0215aecc .global func_ov14_02130be8 @@ -21709,14 +21709,14 @@ _02131100: bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x70] mov r1, #0 - ldr r0, _02131410 ; =data_027e0e60 + ldr r0, _02131410 ; =gMapManager strb r1, [r4, #0x78] ldr r0, [r0] - bl func_ov00_0208335c - ldr r1, _02131410 ; =data_027e0e60 + bl _ZN10MapManager17Get_MapData_Unk28Ev + ldr r1, _02131410 ; =gMapManager str r0, [sp, #0xc] ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r10, r0 ldr r0, [sp, #0xc] mov r8, #0 @@ -21727,7 +21727,7 @@ _021311bc: mov r9, #0 cmp r10, #0 ble _02131230 - ldr r11, _02131410 ; =data_027e0e60 + ldr r11, _02131410 ; =gMapManager and r7, r8, #0xff _021311d0: ldrb r0, [r4, #0x14] @@ -21739,7 +21739,7 @@ _021311d0: mov r1, r6 strb r7, [sp, #0x12] strb r9, [sp, #0x13] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _02131224 ldr r1, [r0] @@ -21765,11 +21765,11 @@ _02131240: mvn r0, #0 cmp r1, r0 beq _0213125c - ldr r0, _02131410 ; =data_027e0e60 + ldr r0, _02131410 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej _0213125c: - ldr r0, _02131410 ; =data_027e0e60 + ldr r0, _02131410 ; =gMapManager ldr r5, [r4, #0x88] ldr r3, [r4, #0x84] ldr r2, [r4, #0x80] @@ -21780,7 +21780,7 @@ _0213125c: str r5, [sp, #0x24] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r4, #0x74] add r0, sp, #0x34 bl func_ov00_0209a508 @@ -21810,12 +21810,12 @@ _021312dc: bgt _02131348 and r8, r11, #0xff _021312f4: - ldr r0, _02131410 ; =data_027e0e60 + ldr r0, _02131410 ; =gMapManager mov r1, r7 ldr r0, [r0] strb r8, [sp, #0x10] strb r10, [sp, #0x11] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 beq _02131330 ldr r1, [r0] @@ -21889,7 +21889,7 @@ _02131400: .word data_ov14_02157314 _02131404: .word data_027e0e58 _02131408: .word 0x0000025b _0213140c: .word gAdventureFlags -_02131410: .word data_027e0e60 +_02131410: .word gMapManager _02131414: .word 0xfffff333 .global func_ov14_02131418 @@ -21969,7 +21969,7 @@ func_ov14_021314b8: ; 0x021314b8 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrb r0, [r10, #0x14] - ldr r1, _021316c0 ; =data_027e0e60 + ldr r1, _021316c0 ; =gMapManager str r0, [sp, #4] ldrb r0, [r10, #0x15] str r0, [sp] @@ -21979,30 +21979,30 @@ func_ov14_021314b8: ; 0x021314b8 str r1, [sp, #8] ldr r1, [sp] add r7, r1, #0xa - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r1, [sp, #8] cmp r1, r0 blt _02131520 - ldr r0, _021316c0 ; =data_027e0e60 + ldr r0, _021316c0 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #8] _02131520: - ldr r0, _021316c0 ; =data_027e0e60 + ldr r0, _021316c0 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r7, r0 blt _02131544 - ldr r0, _021316c0 ; =data_027e0e60 + ldr r0, _021316c0 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r7, r0 _02131544: ldr r8, [sp] mov r0, r8 cmp r0, r7 bge _021315cc - ldr r9, _021316c0 ; =data_027e0e60 + ldr r9, _021316c0 ; =gMapManager mov r4, #0 add r6, sp, #0xe _02131560: @@ -22011,7 +22011,7 @@ _02131560: mov r1, r6 strb r2, [sp, #0xe] strb r8, [sp, #0xf] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r5, r0 cmp r5, r10 beq _021315c0 @@ -22058,12 +22058,12 @@ _021315f4: ldr r0, [sp, #4] and r6, r0, #0xff _02131620: - ldr r0, _021316c0 ; =data_027e0e60 + ldr r0, _021316c0 ; =gMapManager mov r1, r11 ldr r0, [r0] strb r6, [sp, #0xc] strb r9, [sp, #0xd] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r5, r0 cmp r5, r10 beq _02131678 @@ -22104,7 +22104,7 @@ _021316b0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_021314b8 -_021316c0: .word data_027e0e60 +_021316c0: .word gMapManager .global func_ov14_021316c4 arm_func_start func_ov14_021316c4 @@ -24728,10 +24728,10 @@ _021338b4: cmp r5, #2 add r6, r6, #0xc blo _021338b4 - ldr r0, _02133924 ; =data_027e0e60 + ldr r0, _02133924 ; =gMapManager add r1, r7, #0x6c ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei ldr r3, _02133928 ; =func_ov14_02121cd8 add r0, r7, #0xac mov r1, #2 @@ -24751,7 +24751,7 @@ _021338b4: arm_func_end func_ov14_02133894 _0213391c: .word data_ov14_021576d4 _02133920: .word data_027e0e58 -_02133924: .word data_027e0e60 +_02133924: .word gMapManager _02133928: .word func_ov14_02121cd8 - 1 .global func_ov14_0213392c @@ -24773,10 +24773,10 @@ _0213394c: cmp r5, #2 add r6, r6, #0xc blo _0213394c - ldr r0, _021339b4 ; =data_027e0e60 + ldr r0, _021339b4 ; =gMapManager add r1, r7, #0x6c ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei ldr r3, _021339b8 ; =func_ov14_02121cd8 add r0, r7, #0xac mov r1, #2 @@ -24794,7 +24794,7 @@ _0213394c: arm_func_end func_ov14_0213392c _021339ac: .word data_ov14_021576d4 _021339b0: .word data_027e0e58 -_021339b4: .word data_027e0e60 +_021339b4: .word gMapManager _021339b8: .word func_ov14_02121cd8 - 1 .global func_ov14_021339bc @@ -24883,7 +24883,7 @@ func_ov14_021339bc: ; 0x021339bc str r3, [sp, #0x28] bl func_01fffbec ldr r1, [sp, #0x20] - ldr r0, _02133c58 ; =data_027e0e60 + ldr r0, _02133c58 ; =gMapManager str r1, [r4, #0x74] ldr r2, [sp, #0x24] add r1, r4, #0x6c @@ -24891,7 +24891,7 @@ func_ov14_021339bc: ; 0x021339bc ldr r2, [sp, #0x28] str r2, [r4, #0x7c] ldr r0, [r0] - bl func_ov00_020839b4 + bl _ZN10MapManager18func_ov00_020839b4Ei mov r0, #0x270 str r0, [r4, #0xb0] mov r1, #4 @@ -24899,19 +24899,19 @@ func_ov14_021339bc: ; 0x021339bc add r0, r0, #1 str r0, [r4, #0xbc] str r1, [r4, #0xc0] - ldr r0, _02133c58 ; =data_027e0e60 + ldr r0, _02133c58 ; =gMapManager add r1, r4, #0x18 ldr r0, [r0] - bl func_ov00_02084ebc + bl _ZN10MapManager18func_ov00_02084ebcEi cmp r0, #0 movne r0, #1 moveq r0, #0 strb r0, [r4, #0x65] - ldr r0, _02133c58 ; =data_027e0e60 + ldr r0, _02133c58 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldrh r0, [r4, #0x28] cmp r0, #1 bne _02133bbc @@ -24973,7 +24973,7 @@ _02133c3c: arm_func_end func_ov14_021339bc _02133c50: .word 0x00002666 _02133c54: .word 0x000004cd -_02133c58: .word data_027e0e60 +_02133c58: .word gMapManager .global func_ov14_02133c5c arm_func_start func_ov14_02133c5c @@ -25723,10 +25723,10 @@ func_ov14_02134554: ; 0x02134554 ldr ip, [ip, #0x14] add r1, sp, #0x20 blx ip - ldr r0, _02134670 ; =data_027e0e60 + ldr r0, _02134670 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -25746,7 +25746,7 @@ _02134658: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02134554 -_02134670: .word data_027e0e60 +_02134670: .word gMapManager .global func_ov14_02134674 arm_func_start func_ov14_02134674 @@ -25767,11 +25767,11 @@ func_ov14_02134678: ; 0x02134678 beq _021346b4 b _021347c0 _0213469c: - ldr r0, _021347cc ; =data_027e0e60 + ldr r0, _021347cc ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _021347c0 _021346b4: cmp r2, #0 @@ -25826,19 +25826,19 @@ _02134770: mov r1, #0 mov r2, #1 bl func_ov00_0208ba08 - ldr r0, _021347cc ; =data_027e0e60 + ldr r0, _021347cc ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r1, [r4, #4] - ldr r0, _021347cc ; =data_027e0e60 + ldr r0, _021347cc ; =gMapManager bic r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] add r1, r4, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] @@ -25848,7 +25848,7 @@ _021347c0: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_02134678 -_021347cc: .word data_027e0e60 +_021347cc: .word gMapManager _021347d0: .word data_027e0ffc _021347d4: .word 0x00000256 _021347d8: .word data_027e0e58 @@ -26007,14 +26007,14 @@ func_ov14_0213497c: ; 0x0213497c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x24 mov r10, r0 - ldr r0, _02134be4 ; =data_027e0e60 + ldr r0, _02134be4 ; =gMapManager ldrb r3, [r10, #0x15] ldrb r2, [r10, #0x14] ldr r0, [r0] add r1, sp, #8 strb r2, [sp, #8] strb r3, [sp, #9] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x14 bgt _021349d0 bge _021349d8 @@ -26044,21 +26044,21 @@ _021349e0: mov r0, #0 strh r0, [r10, #0xc] ldrb r1, [r10, #0x14] - ldr r0, _02134be4 ; =data_027e0e60 + ldr r0, _02134be4 ; =gMapManager ldrb r2, [r10, #0x15] ldr r0, [r0] sub r1, r1, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci b _02134a48 _02134a28: mov r0, #0x4000 strh r0, [r10, #0xc] ldrb r2, [r10, #0x15] - ldr r0, _02134be4 ; =data_027e0e60 + ldr r0, _02134be4 ; =gMapManager ldrb r1, [r10, #0x14] ldr r0, [r0] sub r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci _02134a48: str r0, [r10, #0x1c] ldrh r5, [r10, #0x26] @@ -26104,7 +26104,7 @@ _02134ad4: cmp r0, r1 bge _02134b84 mov r6, #1 - ldr r4, _02134be4 ; =data_027e0e60 + ldr r4, _02134be4 ; =gMapManager add r7, sp, #6 add r5, sp, #4 mov r11, r6 @@ -26122,13 +26122,13 @@ _02134b1c: mov r2, r6 strb r8, [sp, #6] strb r9, [sp, #7] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r5 strb r8, [sp, #4] strb r9, [sp, #5] mov r2, r11 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r10, #0x15] ldrb r0, [r10, #0x3a] add r9, r9, #1 @@ -26171,7 +26171,7 @@ _02134b84: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_0213497c -_02134be4: .word data_027e0e60 +_02134be4: .word gMapManager _02134be8: .word 0x0000099a .global func_ov14_02134bec @@ -27765,16 +27765,16 @@ _02135f4c: .word data_027e0fc8 func_ov14_02135f50: ; 0x02135f50 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 - ldr r1, _02135fec ; =data_027e0e60 + ldr r1, _02135fec ; =gMapManager mov r2, r0 ldr r4, [r1] add r0, sp, #0 mov r1, r4 add r2, r2, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} @@ -27807,21 +27807,21 @@ _02135fd4: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_02135f50 -_02135fec: .word data_027e0e60 +_02135fec: .word gMapManager .global func_ov14_02135ff0 arm_func_start func_ov14_02135ff0 func_ov14_02135ff0: ; 0x02135ff0 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 - ldr r1, _02136074 ; =data_027e0e60 + ldr r1, _02136074 ; =gMapManager mov r2, r0 ldr r1, [r1] add r0, sp, #0 add r2, r2, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp, #1] - ldr r5, _02136074 ; =data_027e0e60 + ldr r5, _02136074 ; =gMapManager mov r4, #0 sub r0, r0, #1 strb r0, [sp, #1] @@ -27833,7 +27833,7 @@ _0213602c: mov r1, r8 sub r2, r2, r4 strb r2, [sp] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 beq _02136060 ldr r1, [r0] @@ -27849,7 +27849,7 @@ _02136060: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov14_02135ff0 -_02136074: .word data_027e0e60 +_02136074: .word gMapManager .global func_ov14_02136078 arm_func_start func_ov14_02136078 @@ -27995,12 +27995,12 @@ _0213625c: bl func_ov14_0213650c cmp r5, #0 beq _021362d0 - ldr r1, _02136350 ; =data_027e0e60 + ldr r1, _02136350 ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c - ldr r0, _02136350 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _02136350 ; =gMapManager ldrb r2, [sp] ldrb r1, [sp, #1] ldr r0, [r0] @@ -28009,7 +28009,7 @@ _0213625c: strb r1, [r3, #1] ldr r2, [r3] add r1, r4, #0x48 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r1, [r4, #0x48] mov r0, r4 str r1, [r4, #0x198] @@ -28057,7 +28057,7 @@ _0213630c: .align 2, 0 arm_func_end func_ov14_0213618c _0213634c: .word data_027e0fc8 -_02136350: .word data_027e0e60 +_02136350: .word gMapManager .global func_ov14_02136354 arm_func_start func_ov14_02136354 @@ -28360,59 +28360,59 @@ func_ov14_021366e4: ; 0x021366e4 str r3, [sp, #0x1c] str ip, [sp, #0x20] bl func_01ff9bc4 - ldr r1, _021368c4 ; =data_027e0e60 + ldr r1, _021368c4 ; =gMapManager add r0, sp, #8 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r1, [sp, #8] - ldr r0, _021368c4 ; =data_027e0e60 + ldr r0, _021368c4 ; =gMapManager ldrb r2, [sp, #9] sub r3, r1, #1 ldr r0, [r0] add r1, sp, #6 strb r3, [sp, #6] strb r2, [sp, #7] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x54] ldrb r1, [sp, #8] subeq r0, r0, #0x800 streq r0, [sp, #0x54] add r3, r1, #1 - ldr r0, _021368c4 ; =data_027e0e60 + ldr r0, _021368c4 ; =gMapManager ldrb r2, [sp, #9] ldr r0, [r0] add r1, sp, #4 strb r3, [sp, #4] strb r2, [sp, #5] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x48] ldrb r1, [sp, #9] addeq r0, r0, #0x800 streq r0, [sp, #0x48] sub r2, r1, #1 - ldr r0, _021368c4 ; =data_027e0e60 + ldr r0, _021368c4 ; =gMapManager ldrb r3, [sp, #8] ldr r0, [r0] add r1, sp, #2 strb r3, [sp, #2] strb r2, [sp, #3] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x5c] ldrb r1, [sp, #9] subeq r0, r0, #0x800 streq r0, [sp, #0x5c] add r2, r1, #1 - ldr r0, _021368c4 ; =data_027e0e60 + ldr r0, _021368c4 ; =gMapManager ldrb r3, [sp, #8] ldr r0, [r0] add r1, sp, #0 strb r3, [sp] strb r2, [sp, #1] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x50] add lr, sp, #0x30 @@ -28450,7 +28450,7 @@ _021368a8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_021366e4 -_021368c4: .word data_027e0e60 +_021368c4: .word gMapManager .global func_ov14_021368c8 arm_func_start func_ov14_021368c8 @@ -28738,7 +28738,7 @@ _02136c04: ldr r1, _02136d08 ; =0x000004cd bl func_01fffbec ldr r1, [sp, #4] - ldr r0, _02136d0c ; =data_027e0e60 + ldr r0, _02136d0c ; =gMapManager str r1, [r4, #0x1d8] ldr r2, [sp, #8] add r1, r4, #0x1d0 @@ -28746,7 +28746,7 @@ _02136c04: ldr r2, [sp, #0xc] str r2, [r4, #0x1e0] ldr r0, [r0] - bl func_ov00_020839b4 + bl _ZN10MapManager18func_ov00_020839b4Ei ldr r0, _02136d10 ; =0x0000026e mov r1, #2 str r0, [r4, #0x214] @@ -28762,7 +28762,7 @@ _02136c04: _02136d00: .word 0xfffff666 _02136d04: .word data_02050f54 _02136d08: .word 0x000004cd -_02136d0c: .word data_027e0e60 +_02136d0c: .word gMapManager _02136d10: .word 0x0000026e .global func_ov14_02136d14 @@ -29006,7 +29006,7 @@ _02136fb8: mov r0, #0 str r0, [sp, #0xc] str r0, [sp, #0x10] - ldr r0, _021373cc ; =data_027e0e60 + ldr r0, _021373cc ; =gMapManager add r1, sp, #0x84 ldr r0, [r0] add r2, sp, #0x6c @@ -29257,7 +29257,7 @@ _021372c8: arm_func_end func_ov14_02136e30 _021373c4: .word 0x0000ffff _021373c8: .word 0xfffff666 -_021373cc: .word data_027e0e60 +_021373cc: .word gMapManager _021373d0: .word data_ov14_02157ecc _021373d4: .word data_ov14_02157eb4 @@ -30799,7 +30799,7 @@ _021386e8: add ip, sp, #0x24 str r1, [sp, #0x4c] ldr r1, [r5, #0x54] - ldr r4, _021389d0 ; =data_027e0e60 + ldr r4, _021389d0 ; =gMapManager str r1, [sp, #0x38] ldr r2, [r5, #0x58] add r1, sp, #0x50 @@ -30826,10 +30826,10 @@ _021386e8: str r1, [sp, #0x20] cmp r0, #0 beq _02138810 - ldr r0, _021389d0 ; =data_027e0e60 + ldr r0, _021389d0 ; =gMapManager add r1, sp, #0xa0 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 bne _021387f0 add r0, sp, #0x24 @@ -30890,10 +30890,10 @@ _02138890: str r1, [sp, #0x1c] cmp r0, #0 beq _021388f8 - ldr r0, _021389d0 ; =data_027e0e60 + ldr r0, _021389d0 ; =gMapManager add r1, sp, #0x9e ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 bne _021388d8 add r0, sp, #0x24 @@ -30973,7 +30973,7 @@ _021389c0: arm_func_end func_ov14_02138568 _021389c8: .word data_027e0fc8 _021389cc: .word data_ov00_020e242c -_021389d0: .word data_027e0e60 +_021389d0: .word gMapManager _021389d4: .word data_027e0f6c .global func_ov14_021389d8 @@ -31105,7 +31105,7 @@ func_ov14_02138b18: ; 0x02138b18 addge sp, sp, #0x68 ldmgeia sp!, {r4, r5, r6, pc} ldr r1, [r6, #0x48] - ldr r0, _02138d50 ; =data_027e0e60 + ldr r0, _02138d50 ; =gMapManager str r1, [sp, #0x1c] ldr r2, [r6, #0x4c] ldr r1, [r0] @@ -31114,7 +31114,7 @@ func_ov14_02138b18: ; 0x02138b18 add r0, sp, #0xc add r2, sp, #0x1c str r3, [sp, #0x24] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0xc] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -31125,7 +31125,7 @@ func_ov14_02138b18: ; 0x02138b18 cmp r4, #0x10 bne _02138c74 ldr r1, [r6, #0x48] - ldr r0, _02138d50 ; =data_027e0e60 + ldr r0, _02138d50 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -31133,7 +31133,7 @@ func_ov14_02138b18: ; 0x02138b18 ldr r2, [r6, #0x50] add r1, sp, #0x10 str r2, [sp, #0x18] - bl func_ov00_02083f98 + bl _ZN10MapManager16MapData_vfunc_70Ev ldr r1, _02138d54 ; =0x0000ffff mov r2, r0 cmp r2, r1 @@ -31171,19 +31171,19 @@ _02138c20: cmp r3, #2 add r1, r1, #1 blo _02138c20 - ldr r1, _02138d50 ; =data_027e0e60 + ldr r1, _02138d50 ; =gMapManager add r0, sp, #4 ldr r5, [r1] add r2, r6, #0x48 mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r4, sp, #0x54 add r2, sp, #4 mov r0, r5 mov r1, #0x1e mov r3, #0 str r4, [sp] - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} _02138c74: @@ -31226,27 +31226,27 @@ _02138cb8: add r3, sp, #0x28 bl func_ov00_020c4048 _02138d08: - ldr r1, _02138d50 ; =data_027e0e60 + ldr r1, _02138d50 ; =gMapManager mov r0, r6 ldr r5, [r1] bl _ZN5Actor18func_ov00_020c1788Ev mov r4, r0 mov r0, r5 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r4, r0 addne sp, sp, #0x68 ldmneia sp!, {r4, r5, r6, pc} add r0, r6, #0x100 - ldr r2, _02138d50 ; =data_027e0e60 + ldr r2, _02138d50 ; =gMapManager ldrsh r1, [r0, #0x70] ldr r0, [r2] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_02138b18 -_02138d50: .word data_027e0e60 +_02138d50: .word gMapManager _02138d54: .word 0x0000ffff _02138d58: .word data_027e0f6c _02138d5c: .word 0x48415254 @@ -31286,25 +31286,25 @@ _02138dbc: .word data_027e0fcc arm_func_start func_ov14_02138dc0 func_ov14_02138dc0: ; 0x02138dc0 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _02138e04 ; =data_027e0e60 + ldr r1, _02138e04 ; =gMapManager mov r6, r0 ldr r5, [r1] bl _ZN5Actor18func_ov00_020c1788Ev mov r4, r0 mov r0, r5 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r4, r0 ldmneia sp!, {r4, r5, r6, pc} add r0, r6, #0x100 - ldr r2, _02138e04 ; =data_027e0e60 + ldr r2, _02138e04 ; =gMapManager ldrsh r1, [r0, #0x70] ldr r0, [r2] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_02138dc0 -_02138e04: .word data_027e0e60 +_02138e04: .word gMapManager .global func_ov14_02138e08 arm_func_start func_ov14_02138e08 @@ -32369,7 +32369,7 @@ _02139af0: ldmia sp!, {r3, r4, pc} _02139b24: ldr r1, [r4, #0x48] - ldr r0, _02139b7c ; =data_027e0e60 + ldr r0, _02139b7c ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -32377,7 +32377,7 @@ _02139b24: ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] - bl func_ov00_02083780 + bl _ZN10MapManager18func_ov00_02083780Ei ldr r2, _02139b80 ; =data_027e0fe4 mov r1, r0 ldr r0, [r2] @@ -32392,7 +32392,7 @@ _02139b24: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_02139a7c -_02139b7c: .word data_027e0e60 +_02139b7c: .word gMapManager _02139b80: .word data_027e0fe4 .global func_ov14_02139b84 @@ -33290,7 +33290,7 @@ _0213a68c: cmp r0, #0 beq _0213a7fc ldr r1, [r5, #0x48] - ldr r0, _0213a81c ; =data_027e0e60 + ldr r0, _0213a81c ; =gMapManager str r1, [sp, #0x38] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -33299,7 +33299,7 @@ _0213a68c: add r0, sp, #0 add r2, sp, #0x38 str r3, [sp, #0x40] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -33364,7 +33364,7 @@ _0213a80c: .word data_027e0f90 _0213a810: .word data_027e0fc8 _0213a814: .word data_ov00_020eec9c _0213a818: .word data_02050f54 -_0213a81c: .word data_027e0e60 +_0213a81c: .word gMapManager .global func_ov14_0213a820 arm_func_start func_ov14_0213a820 @@ -33672,7 +33672,7 @@ _0213ab94: cmp r0, #0 beq _0213ac98 ldr r1, [r5, #0x48] - ldr r0, _0213acb0 ; =data_027e0e60 + ldr r0, _0213acb0 ; =gMapManager str r1, [sp, #4] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -33681,7 +33681,7 @@ _0213ab94: add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -33745,7 +33745,7 @@ _0213ac98: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_0213aaec -_0213acb0: .word data_027e0e60 +_0213acb0: .word gMapManager _0213acb4: .word data_027e0fc8 .global func_ov14_0213acb8 diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index 0c4d8178..ad41220e 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -124,7 +124,7 @@ .extern data_027e0d44 .extern data_027e0d78 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -315,42 +315,42 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_020823c4 -.extern func_ov00_020823d4 -.extern func_ov00_020823e4 -.extern func_ov00_020823f4 -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_02082d08 -.extern func_ov00_02083344 -.extern func_ov00_02083350 -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_0208344c -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_02083790 -.extern func_ov00_02083840 -.extern func_ov00_020838e8 -.extern func_ov00_020839b4 -.extern func_ov00_020839c4 -.extern func_ov00_02083a1c -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02084088 -.extern func_ov00_020840c4 -.extern func_ov00_020840dc -.extern func_ov00_020843ec -.extern func_ov00_02084984 -.extern func_ov00_02084990 -.extern func_ov00_020849c0 -.extern func_ov00_020849dc -.extern func_ov00_02084a5c -.extern func_ov00_02084ac4 -.extern func_ov00_02084c7c -.extern func_ov00_02084c94 -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 +.extern _ZN10MapManager18func_ov00_020823c4EPii +.extern _ZN10MapManager18func_ov00_020823d4Ei +.extern _ZN10MapManager18func_ov00_020823e4Ei +.extern _ZN10MapManager16MapData_vfunc_b4Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager20GetCourseData_Unk_86Ev +.extern _ZN10MapManager20GetCourseData_Unk_87Ev +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083790Ei +.extern _ZN10MapManager18func_ov00_02083840Ei +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_020839b4Ei +.extern _ZN10MapManager18func_ov00_020839c4Ei +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_020840dcEv +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager17GetMapData_Unk_06Ev +.extern _ZN10MapManager17GetMapData_Unk_07Ev +.extern _ZN10MapManager18func_ov00_020849c0Ev +.extern _ZN10MapManager18func_ov00_020849dcEv +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii +.extern _ZN10MapManager18func_ov00_02084ac4Ej +.extern _ZN10MapManager18func_ov00_02084c7cEi +.extern _ZN10MapManager18func_ov00_02084c94Ei +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern func_ov00_0208726c .extern func_ov00_020876bc .extern func_ov00_0208819c diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index 1edeb224..0f633201 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -2764,10 +2764,10 @@ func_ov14_0213d684: ; 0x0213d684 ldreqsh r1, [r0, #0x2e] cmpeq r1, #2 bne _0213d6d4 - ldr r2, _0213d6dc ; =data_027e0e60 + ldr r2, _0213d6dc ; =gMapManager add r1, r0, #0x2c ldr r0, [r2] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0213d6cc ldr r1, [r0] @@ -2784,7 +2784,7 @@ _0213d6d4: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov14_0213d684 -_0213d6dc: .word data_027e0e60 +_0213d6dc: .word gMapManager .global func_ov14_0213d6e0 arm_func_start func_ov14_0213d6e0 @@ -2971,11 +2971,11 @@ func_ov14_0213d91c: ; 0x0213d91c cmp r0, #3 b _0213d990 _0213d944: - ldr r0, _0213d9a8 ; =data_027e0e60 + ldr r0, _0213d9a8 ; =gMapManager add r1, r6, #0x2c ldr r0, [r0] add r1, r1, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 beq _0213d990 ldr r1, [r0] @@ -2999,7 +2999,7 @@ _0213d990: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov14_0213d91c -_0213d9a8: .word data_027e0e60 +_0213d9a8: .word gMapManager .global func_ov14_0213d9ac arm_func_start func_ov14_0213d9ac @@ -3026,10 +3026,10 @@ _0213d9e4: beq _0213da84 b _0213daa4 _0213d9fc: - ldr r0, _0213dad4 ; =data_027e0e60 + ldr r0, _0213dad4 ; =gMapManager mov r1, r8 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _0213daa4 mov r0, r10 @@ -3085,7 +3085,7 @@ _0213dac0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_0213d9ac -_0213dad4: .word data_027e0e60 +_0213dad4: .word gMapManager _0213dad8: .word data_027e0fe4 .global func_ov14_0213dadc @@ -3628,13 +3628,13 @@ func_ov14_0213e20c: ; 0x0213e20c mov r3, #0x1c mul r6, r1, r3 mov r8, r0 - ldr r0, _0213e324 ; =data_027e0e60 + ldr r0, _0213e324 ; =gMapManager add r1, r8, #0x2c ldr r0, [r0] add r1, r1, r6 mov r7, r2 mov r4, #0 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _0213e318 ldr r1, [r0] @@ -3698,7 +3698,7 @@ _0213e318: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov14_0213e20c -_0213e324: .word data_027e0e60 +_0213e324: .word gMapManager .global func_ov14_0213e328 arm_func_start func_ov14_0213e328 @@ -3736,10 +3736,10 @@ _0213e394: cmp r0, #2 movne r0, #0 bne _0213e3b4 - ldr r0, _0213e53c ; =data_027e0e60 + ldr r0, _0213e53c ; =gMapManager mov r1, r7 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev _0213e3b4: cmp r9, #0 ldrne r0, [r9, #0x88] @@ -3852,7 +3852,7 @@ _0213e52c: .align 2, 0 arm_func_end func_ov14_0213e328 _0213e538: .word data_027e0fe4 -_0213e53c: .word data_027e0e60 +_0213e53c: .word gMapManager _0213e540: .word data_027e0fd4 .global func_ov14_0213e544 @@ -5124,10 +5124,10 @@ _0213f378: .word gItemManager arm_func_start func_ov14_0213f37c func_ov14_0213f37c: ; 0x0213f37c stmdb sp!, {r4, lr} - ldr r1, _0213f44c ; =data_027e0e60 + ldr r1, _0213f44c ; =gMapManager mov r4, r0 ldr r0, [r1] - bl func_ov00_02084984 + bl _ZN10MapManager17GetMapData_Unk_06Ev cmp r0, #0 ldreq r0, _0213f450 ; =data_027e077c ldreq r0, [r0] @@ -5178,7 +5178,7 @@ _0213f434: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0213f37c -_0213f44c: .word data_027e0e60 +_0213f44c: .word gMapManager _0213f450: .word data_027e077c _0213f454: .word gAdventureFlags _0213f458: .word data_027e0c68 @@ -6976,7 +6976,7 @@ _021407e0: smull r0, r1, r2, r4 sub r4, r3, r0 ldr r1, _02141134 ; =data_027e0d38 - ldr r0, _02141138 ; =data_027e0e60 + ldr r0, _02141138 ; =gMapManager cmp r4, #0x28 movlt r8, #1 ldr r7, [r1] @@ -7035,7 +7035,7 @@ _021408e0: cmp r1, #0 beq _02140c4c mov r0, r11 - bl func_ov00_020849dc + bl _ZN10MapManager18func_ov00_020849dcEv cmp r0, #0 beq _021409d0 add r1, sp, #0x14 @@ -7091,7 +7091,7 @@ _02140960: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _021409d0: mov r0, r11 - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 beq _02140bdc add r1, sp, #0x14 @@ -7261,7 +7261,7 @@ _02140c4c: cmp r0, #0 mov r0, r11 beq _02140db0 - bl func_ov00_020849dc + bl _ZN10MapManager18func_ov00_020849dcEv cmp r0, #0 beq _02140d2c cmp r8, #0 @@ -7316,7 +7316,7 @@ _02140cc8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02140d2c: mov r0, r11 - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 addne sp, sp, #0x38 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -7349,7 +7349,7 @@ _02140d2c: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02140db0: - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 beq _02140fb0 cmp r8, #0 @@ -7542,7 +7542,7 @@ _0214107c: addeq sp, sp, #0x38 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r11 - bl func_ov00_02084990 + bl _ZN10MapManager17GetMapData_Unk_07Ev cmp r0, #0 add r3, sp, #0x10 mov r1, #0 @@ -7588,7 +7588,7 @@ _0214110c: arm_func_end func_ov14_021407b8 _02141130: .word 0x88888889 _02141134: .word data_027e0d38 -_02141138: .word data_027e0e60 +_02141138: .word gMapManager _0214113c: .word data_027e1054 _02141140: .word data_027e0d3c _02141144: .word data_02063e4c @@ -8082,7 +8082,7 @@ func_ov14_0214178c: ; 0x0214178c ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} add r5, r10, #0xd0 ldr r1, [r5, r8] - ldr r0, _021418e8 ; =data_027e0e60 + ldr r0, _021418e8 ; =gMapManager str r1, [sp] ldr r1, [r7, r8] add r4, r10, #0xd8 @@ -8092,7 +8092,7 @@ func_ov14_0214178c: ; 0x0214178c str r2, [sp, #8] add r1, sp, #0 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r7, r8] add r3, r0, #0xf6 add r0, r1, #0x800 @@ -8153,7 +8153,7 @@ _021418dc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov14_0214178c -_021418e8: .word data_027e0e60 +_021418e8: .word gMapManager .global func_ov14_021418ec arm_func_start func_ov14_021418ec @@ -8181,14 +8181,14 @@ func_ov14_021418ec: ; 0x021418ec add r4, r8, #0xd4 str r1, [sp] ldr r1, [r4, r6] - ldr r0, _021419d4 ; =data_027e0e60 + ldr r0, _021419d4 ; =gMapManager str r1, [sp, #4] ldr r2, [r2, #0xd8] ldr r0, [r0] str r2, [sp, #8] add r1, sp, #0 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, r6] add r3, r0, #0xf6 add r0, r2, #0x800 @@ -8219,7 +8219,7 @@ _021419c8: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov14_021418ec -_021419d4: .word data_027e0e60 +_021419d4: .word gMapManager .global func_ov14_021419d8 arm_func_start func_ov14_021419d8 @@ -8469,11 +8469,11 @@ _02141cdc: rsb r0, r0, #0 strh r0, [r9, #0xc] ldrb r2, [r9, #0x15] - ldr r0, _02142040 ; =data_027e0e60 + ldr r0, _02142040 ; =gMapManager ldrb r1, [r9, #0x14] ldr r0, [r0] add r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r9, #0x1c] mov r4, #1 b _02141d88 @@ -8481,11 +8481,11 @@ _02141d0c: mov r0, r4 strh r0, [r9, #0xc] ldrb r2, [r9, #0x15] - ldr r0, _02142040 ; =data_027e0e60 + ldr r0, _02142040 ; =gMapManager ldrb r1, [r9, #0x14] ldr r0, [r0] sub r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r9, #0x1c] b _02141d88 _02141d34: @@ -8493,11 +8493,11 @@ _02141d34: rsb r0, r0, #0 strh r0, [r9, #0xc] ldrb r1, [r9, #0x14] - ldr r0, _02142040 ; =data_027e0e60 + ldr r0, _02142040 ; =gMapManager ldrb r2, [r9, #0x15] ldr r0, [r0] add r1, r1, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r9, #0x1c] mov r4, #1 b _02141d88 @@ -8505,11 +8505,11 @@ _02141d64: mov r0, #0x4000 strh r0, [r9, #0xc] ldrb r1, [r9, #0x14] - ldr r0, _02142040 ; =data_027e0e60 + ldr r0, _02142040 ; =gMapManager ldrb r2, [r9, #0x15] ldr r0, [r0] sub r1, r1, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r9, #0x1c] _02141d88: ldr r1, [r9, #4] @@ -8527,7 +8527,7 @@ _02141d88: cmp r1, r2 ble _02141f0c mov r5, #1 - ldr r4, _02142040 ; =data_027e0e60 + ldr r4, _02142040 ; =gMapManager add r6, sp, #0xe add r10, sp, #0xc mov r11, r5 @@ -8545,13 +8545,13 @@ _02141df0: mov r2, r5 strb r7, [sp, #0xe] strb r8, [sp, #0xf] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r10 strb r7, [sp, #0xc] strb r8, [sp, #0xd] mov r2, r11 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r9, #0x15] ldrb r0, [r9, #0x39] sub r8, r8, #1 @@ -8576,7 +8576,7 @@ _02141e5c: cmp r1, r2 bge _02141f0c mov r5, #1 - ldr r4, _02142040 ; =data_027e0e60 + ldr r4, _02142040 ; =gMapManager add r6, sp, #0xa add r10, sp, #8 mov r11, r5 @@ -8594,13 +8594,13 @@ _02141ea4: mov r2, r5 strb r7, [sp, #0xa] strb r8, [sp, #0xb] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r10 strb r7, [sp, #8] strb r8, [sp, #9] mov r2, r11 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r9, #0x15] ldrb r0, [r9, #0x39] add r8, r8, #1 @@ -8702,7 +8702,7 @@ _02142004: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_02141c60 -_02142040: .word data_027e0e60 +_02142040: .word gMapManager .global func_ov14_02142044 arm_func_start func_ov14_02142044 @@ -9133,16 +9133,16 @@ _02142634: ldr r1, [r5, #0x48] cmp r1, r0 beq _02142664 - ldr r0, _02142778 ; =data_027e0e60 + ldr r0, _02142778 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej _02142664: - ldr r0, _02142778 ; =data_027e0e60 + ldr r0, _02142778 ; =gMapManager mov r2, #0 ldr r0, [r0] mov r3, r2 add r1, r5, #0x58 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r5, #0x48] mov r0, #0 strb r0, [r5, #0x3b] @@ -9192,16 +9192,16 @@ _02142714: ldr r1, [r5, #0x48] cmp r1, r0 beq _02142744 - ldr r0, _02142778 ; =data_027e0e60 + ldr r0, _02142778 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej _02142744: - ldr r0, _02142778 ; =data_027e0e60 + ldr r0, _02142778 ; =gMapManager mov r2, #0 ldr r0, [r0] mov r3, r2 add r1, r5, #0x58 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r5, #0x48] mov r0, #0 strb r0, [r5, #0x3b] @@ -9212,7 +9212,7 @@ _02142768: .align 2, 0 arm_func_end func_ov14_021424b8 _02142774: .word gAdventureFlags -_02142778: .word data_027e0e60 +_02142778: .word gMapManager .global func_ov14_0214277c arm_func_start func_ov14_0214277c @@ -9255,14 +9255,14 @@ func_ov14_0214278c: ; 0x0214278c bl func_ov00_02078b40 cmp r0, #0 bne _02142818 - ldr r0, _02142908 ; =data_027e0e60 + ldr r0, _02142908 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083344 + bl _ZN10MapManager20GetCourseData_Unk_86Ev cmp r0, #1 bgt _02142814 - ldr r0, _02142908 ; =data_027e0e60 + ldr r0, _02142908 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083350 + bl _ZN10MapManager20GetCourseData_Unk_87Ev cmp r0, #1 ble _02142818 _02142814: @@ -9339,7 +9339,7 @@ _021428d8: .align 2, 0 arm_func_end func_ov14_0214278c _02142904: .word data_027e0d38 -_02142908: .word data_027e0e60 +_02142908: .word gMapManager .global func_ov14_0214290c arm_func_start func_ov14_0214290c @@ -14534,7 +14534,7 @@ _02146548: add lr, r5, #0x8c str r1, [sp, #0x28] ldr r1, [r5, #0x4c] - ldr ip, _02146604 ; =data_027e0e60 + ldr ip, _02146604 ; =gMapManager str r1, [sp, #0x2c] ldr r1, [r5, #0x50] add r2, sp, #0x28 @@ -14578,7 +14578,7 @@ _021465e4: arm_func_end func_ov14_021463e4 _021465fc: .word 0x00000b33 _02146600: .word data_ov14_0215b280 -_02146604: .word data_027e0e60 +_02146604: .word gMapManager .global func_ov14_02146608 arm_func_start func_ov14_02146608 @@ -15149,10 +15149,10 @@ func_ov14_02146d48: ; 0x02146d48 add sp, sp, #0x10 ldmia sp!, {r4, pc} _02146dd8: - ldr r0, _02146e20 ; =data_027e0e60 + ldr r0, _02146e20 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084c94 + bl _ZN10MapManager18func_ov00_02084c94Ei cmp r0, #0 ldrne r0, [r4, #4] bicne r0, r0, #1 @@ -15170,7 +15170,7 @@ _02146df8: arm_func_end func_ov14_02146d48 _02146e18: .word data_027e0f90 _02146e1c: .word 0x00000333 -_02146e20: .word data_027e0e60 +_02146e20: .word gMapManager .global func_ov14_02146e24 arm_func_start func_ov14_02146e24 @@ -15244,11 +15244,11 @@ _02146f08: add r0, r4, #0x38 mov r1, #0 bl func_ov00_02094884 - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _02147084 _02146f2c: cmp r2, #0 @@ -15265,11 +15265,11 @@ _02146f54: add r0, r4, #0x38 mov r1, #2 bl func_ov00_02094884 - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _02147084 _02146f78: bl func_ov14_02147548 @@ -15312,33 +15312,33 @@ _02146ff0: mov r1, r0 mov r0, r4 bl func_ov00_0208c4f8 - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager ldrb r5, [r4, #0x13] ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, r5 bne _02147040 - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi _02147040: - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] b _02147084 _02147064: - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] @@ -15349,7 +15349,7 @@ _02147084: .align 2, 0 arm_func_end func_ov14_02146eb4 _02147090: .word data_027e0ffc -_02147094: .word data_027e0e60 +_02147094: .word gMapManager _02147098: .word data_027e0fe8 _0214709c: .word 0x54534248 @@ -16550,7 +16550,7 @@ func_ov14_02147ee4: ; 0x02147ee4 sub r2, r3, #2 mov ip, #0x47 mov r1, #0xff - ldr r0, _02147fb4 ; =data_027e0e60 + ldr r0, _02147fb4 ; =gMapManager str r2, [sp, #0xc] str ip, [sp] str r3, [sp, #4] @@ -16563,7 +16563,7 @@ func_ov14_02147ee4: ; 0x02147ee4 ldrh r1, [r4, #0x24] ldr r0, [r0] add r2, sp, #0 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02147fb8 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -16578,7 +16578,7 @@ _02147f9c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02147ee4 -_02147fb4: .word data_027e0e60 +_02147fb4: .word gMapManager _02147fb8: .word data_027e0d38 .global func_ov14_02147fbc @@ -16919,26 +16919,26 @@ func_ov14_02148334: ; 0x02148334 func_ov14_02148364: ; 0x02148364 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x128 - ldr r2, _02148644 ; =data_027e0e60 + ldr r2, _02148644 ; =gMapManager mov r10, r0 ldr r0, [r2] mov r2, #0 mov r9, r1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r10, #0x4c] cmp r1, r0 addlt sp, sp, #0x128 movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r1, _02148644 ; =data_027e0e60 + ldr r1, _02148644 ; =gMapManager add r0, sp, #0x14 ldr r1, [r1] mov r2, r9 - bl func_ov00_02083a1c - ldr r0, _02148644 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _02148644 ; =gMapManager add r1, sp, #0x14 ldr r0, [r0] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x5b bgt _021483e4 bge _021483ec @@ -16981,7 +16981,7 @@ _021483f8: add r2, r10, #0x100 str r3, [sp, #0x30] ldr r3, [r10, #0x50] - ldr r4, _02148644 ; =data_027e0e60 + ldr r4, _02148644 ; =gMapManager str r3, [sp, #0x34] str r1, [sp] ldr r3, [r10, #8] @@ -17109,7 +17109,7 @@ _02148638: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_02148364 -_02148644: .word data_027e0e60 +_02148644: .word gMapManager _02148648: .word 0x0000ffff _0214864c: .word data_ov14_02153ed8 _02148650: .word data_027e0fe4 @@ -17495,10 +17495,10 @@ _02148b34: str r0, [r4, #0x50] b _02148c38 _02148b50: - ldr r0, _021497e8 ; =data_027e0e60 + ldr r0, _021497e8 ; =gMapManager add r1, sp, #0x60 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, [sp, #0x60] str r0, [r4, #0x48] ldr r0, [sp, #0x64] @@ -17526,10 +17526,10 @@ _02148bb4: mov r1, #0 strb r1, [r4, #0x1b6] strb r1, [r4, #0x1b7] - ldr r0, _021497e8 ; =data_027e0e60 + ldr r0, _021497e8 ; =gMapManager add r1, sp, #0x54 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, [sp, #0x54] str r0, [r4, #0x48] ldr r0, [sp, #0x58] @@ -17540,10 +17540,10 @@ _02148bb4: _02148bec: mov r1, #0 strb r1, [r4, #0x1b7] - ldr r0, _021497e8 ; =data_027e0e60 + ldr r0, _021497e8 ; =gMapManager add r1, sp, #0x48 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, [sp, #0x48] str r0, [r4, #0x48] ldr r0, [sp, #0x4c] @@ -18373,7 +18373,7 @@ _021497dc: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_021488c0 -_021497e8: .word data_027e0e60 +_021497e8: .word gMapManager _021497ec: .word data_027e0f68 _021497f0: .word data_027e0fec _021497f4: .word gAdventureFlags @@ -18851,7 +18851,7 @@ _02149cec: ldr r4, [r4, #0x14] blx r4 ldr r1, [r5, #0x18] - ldr r0, _02149e8c ; =data_027e0e60 + ldr r0, _02149e8c ; =gMapManager sub r1, r1, #4 str r1, [r5, #0x18] ldr r1, [r5, #0x20] @@ -18859,7 +18859,7 @@ _02149cec: str r1, [r5, #0x20] ldrsh r1, [r5, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r5 mov r2, #1 @@ -18884,7 +18884,7 @@ _02149e7c: .word data_ov14_02153f28 _02149e80: .word data_ov14_02153f3c _02149e84: .word func_ov14_0214a4e4 _02149e88: .word 0x00001333 -_02149e8c: .word data_027e0e60 +_02149e8c: .word gMapManager .global func_ov14_02149e90 arm_func_start func_ov14_02149e90 @@ -19112,12 +19112,12 @@ _0214a194: mov r2, #0 str r2, [r6, #0x78] ldr r1, [r6, #4] - ldr r0, _0214a3b8 ; =data_027e0e60 + ldr r0, _0214a3b8 ; =gMapManager orr r1, r1, #0x14 str r1, [r6, #4] ldr r0, [r0] add r1, r6, #0x38 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0214a3ac _0214a1bc: ldr r0, [r6, #0x74] @@ -19209,9 +19209,9 @@ _0214a2e4: cmp r0, #1 moveq r0, #0 streqb r0, [r6, #0x3c] - ldr r0, _0214a3b8 ; =data_027e0e60 + ldr r0, _0214a3b8 ; =gMapManager ldr r0, [r0] - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r1, [r6, #0x74] ldr r0, _0214a3cc ; =data_ov14_02153f04 add r4, r6, #0xd8 @@ -19247,18 +19247,18 @@ _0214a358: mov r2, #1 bl func_ov00_0208ba08 _0214a398: - ldr r0, _0214a3b8 ; =data_027e0e60 + ldr r0, _0214a3b8 ; =gMapManager ldrsh r1, [r6, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _0214a3ac: mov r0, #1 add sp, sp, #0xc0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov14_0214a160 -_0214a3b8: .word data_027e0e60 +_0214a3b8: .word gMapManager _0214a3bc: .word data_027e0ffc _0214a3c0: .word 0x0000030f _0214a3c4: .word gAdventureFlags @@ -20082,12 +20082,12 @@ _0214adf8: .word 0x534e574d func_ov14_0214adfc: ; 0x0214adfc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - ldr r0, _0214ae84 ; =data_027e0e60 + ldr r0, _0214ae84 ; =gMapManager ldrh r1, [r5, #0x20] ldr r0, [r0] mov r2, #0 ldrh r4, [r5, #0x24] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0214ae7c ldrb r0, [r5, #0x2a] @@ -20119,7 +20119,7 @@ _0214ae7c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov14_0214adfc -_0214ae84: .word data_027e0e60 +_0214ae84: .word gMapManager _0214ae88: .word gAdventureFlags _0214ae8c: .word data_027e0f90 @@ -21484,11 +21484,11 @@ func_ov14_0214c018: ; 0x0214c018 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0214c0a8 ; =data_027e0e60 + ldr r0, _0214c0a8 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0214c09c ldrb r0, [r4, #0x2a] @@ -21512,7 +21512,7 @@ _0214c09c: .align 2, 0 arm_func_end func_ov14_0214c018 _0214c0a4: .word data_027e0f90 -_0214c0a8: .word data_027e0e60 +_0214c0a8: .word gMapManager _0214c0ac: .word data_ov00_020eed2c _0214c0b0: .word 0x00000bb8 @@ -21688,7 +21688,7 @@ func_ov14_0214c274: ; 0x0214c274 mov r2, r0 bl func_01ff9bc4 ldrb r1, [r4, #0x14] - ldr r0, _0214c2e4 ; =data_027e0e60 + ldr r0, _0214c2e4 ; =gMapManager ldrb ip, [r4, #0x15] add r3, r1, #1 ldr r0, [r0] @@ -21696,12 +21696,12 @@ func_ov14_0214c274: ; 0x0214c274 mov r2, #1 strb r3, [sp] strb ip, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0214c274 -_0214c2e4: .word data_027e0e60 +_0214c2e4: .word gMapManager .global func_ov14_0214c2e8 arm_func_start func_ov14_0214c2e8 @@ -21723,31 +21723,31 @@ func_ov14_0214c30c: ; 0x0214c30c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrh r4, [r6, #0x28] - ldr r0, _0214c370 ; =data_027e0e60 + ldr r0, _0214c370 ; =gMapManager ldrh r5, [r6, #0x2a] ldr r0, [r0] mov r1, r4 - bl func_ov00_020823d4 - ldr r1, _0214c370 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823d4Ei + ldr r1, _0214c370 ; =gMapManager str r0, [r6, #0x94] ldr r0, [r1] mov r1, r4 - bl func_ov00_020823e4 - ldr r1, _0214c370 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823e4Ei + ldr r1, _0214c370 ; =gMapManager str r0, [r6, #0x98] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823d4 - ldr r1, _0214c370 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823d4Ei + ldr r1, _0214c370 ; =gMapManager str r0, [r6, #0x9c] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei str r0, [r6, #0xa0] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_0214c30c -_0214c370: .word data_027e0e60 +_0214c370: .word gMapManager .global func_ov14_0214c374 arm_func_start func_ov14_0214c374 @@ -21770,9 +21770,9 @@ func_ov14_0214c374: ; 0x0214c374 mov r0, r5 ldr r1, _0214c440 ; =data_ov14_02153fa0 bl func_0201933c - ldr r0, _0214c444 ; =data_027e0e60 + ldr r0, _0214c444 ; =gMapManager ldr r0, [r0] - bl func_ov00_020823f4 + bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 mov r0, r5 mov r1, r4 @@ -21806,7 +21806,7 @@ _0214c434: .word data_ov14_02153f64 _0214c438: .word data_ov14_02153f78 _0214c43c: .word data_ov14_02153f8c _0214c440: .word data_ov14_02153fa0 -_0214c444: .word data_027e0e60 +_0214c444: .word gMapManager .global func_ov14_0214c448 arm_func_start func_ov14_0214c448 @@ -22077,7 +22077,7 @@ _0214c7d0: sub r0, r11, #0x8000 mov r7, #0 ldr r6, _0214c93c ; =data_02050f54 - ldr r4, _0214c940 ; =data_027e0e60 + ldr r4, _0214c940 ; =gMapManager strh r0, [sp, #0x1a] add r11, sp, #0x1c mov r5, r7 @@ -22152,7 +22152,7 @@ _0214c7ec: ldrb r1, [r10, #0x11] ldr r0, [r4] mov r2, r11 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 bne _0214c92c _0214c910: @@ -22172,7 +22172,7 @@ _0214c92c: arm_func_end func_ov14_0214c678 _0214c938: .word data_027e0764 _0214c93c: .word data_02050f54 -_0214c940: .word data_027e0e60 +_0214c940: .word gMapManager _0214c944: .word 0x0000ffff .global func_ov14_0214c948 @@ -22430,16 +22430,16 @@ _0214cc34: .word gAdventureFlags .global func_ov14_0214cc38 arm_func_start func_ov14_0214cc38 func_ov14_0214cc38: ; 0x0214cc38 - ldr r2, _0214cc50 ; =data_027e0e60 - ldr ip, _0214cc54 ; =func_ov00_020836dc + ldr r2, _0214cc50 ; =gMapManager + ldr ip, _0214cc54 ; =_ZN10MapManager18func_ov00_020836dcEii ldrb r1, [r0, #0x160] ldr r0, [r2] mov r2, #0 bx ip .align 2, 0 arm_func_end func_ov14_0214cc38 -_0214cc50: .word data_027e0e60 -_0214cc54: .word func_ov00_020836dc +_0214cc50: .word gMapManager +_0214cc54: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov14_0214cc58 arm_func_start func_ov14_0214cc58 @@ -22865,10 +22865,10 @@ _0214d134: cmp r5, #2 add r6, r6, #0xc blo _0214d134 - ldr r0, _0214d1b4 ; =data_027e0e60 + ldr r0, _0214d1b4 ; =gMapManager add r1, r7, #0x74 ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei add r0, r7, #0xd8 bl func_020350ac ldr r3, _0214d1b8 ; =func_ov14_02121cd8 @@ -22892,7 +22892,7 @@ _0214d134: arm_func_end func_ov14_0214d114 _0214d1ac: .word data_ov14_0215a1d8 _0214d1b0: .word data_027e0e58 -_0214d1b4: .word data_027e0e60 +_0214d1b4: .word gMapManager _0214d1b8: .word func_ov14_02121cd8 .global func_ov14_0214d1bc @@ -22914,10 +22914,10 @@ _0214d1dc: cmp r5, #2 add r6, r6, #0xc blo _0214d1dc - ldr r0, _0214d254 ; =data_027e0e60 + ldr r0, _0214d254 ; =gMapManager add r1, r7, #0x74 ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei add r0, r7, #0xd8 bl func_020350ac ldr r3, _0214d258 ; =func_ov14_02121cd8 @@ -22939,7 +22939,7 @@ _0214d1dc: arm_func_end func_ov14_0214d1bc _0214d24c: .word data_ov14_0215a1d8 _0214d250: .word data_027e0e58 -_0214d254: .word data_027e0e60 +_0214d254: .word gMapManager _0214d258: .word func_ov14_02121cd8 .global func_ov14_0214d25c @@ -23173,7 +23173,7 @@ _0214d46c: ldr r1, _0214d6ac ; =0x000004cd bl func_01fffbec ldr r1, [sp, #0xc] - ldr r0, _0214d6b0 ; =data_027e0e60 + ldr r0, _0214d6b0 ; =gMapManager str r1, [r4, #0x7c] ldr r2, [sp, #0x10] add r1, r4, #0x74 @@ -23181,7 +23181,7 @@ _0214d46c: ldr r2, [sp, #0x14] str r2, [r4, #0x84] ldr r0, [r0] - bl func_ov00_020839b4 + bl _ZN10MapManager18func_ov00_020839b4Ei mov r0, r4 mov r1, #1 bl func_ov14_0214e134 @@ -23238,7 +23238,7 @@ _0214d6a0: .word 0xfffff666 _0214d6a4: .word data_027e0d38 _0214d6a8: .word data_02050f54 _0214d6ac: .word 0x000004cd -_0214d6b0: .word data_027e0e60 +_0214d6b0: .word gMapManager _0214d6b4: .word 0x0000026e .global func_ov14_0214d6b8 @@ -23757,7 +23757,7 @@ _0214ddcc: mov r1, #0 str r1, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _0214e124 ; =data_027e0e60 + ldr r0, _0214e124 ; =gMapManager add r1, sp, #0x98 ldr r0, [r0] add r2, sp, #0x74 @@ -23985,7 +23985,7 @@ _0214e01c: .align 2, 0 arm_func_end func_ov14_0214dc7c _0214e120: .word 0x0000ffff -_0214e124: .word data_027e0e60 +_0214e124: .word gMapManager _0214e128: .word 0x00000d9a _0214e12c: .word data_ov14_0215a1b8 _0214e130: .word data_ov14_0215a1a0 @@ -23995,15 +23995,15 @@ _0214e130: .word data_ov14_0215a1a0 func_ov14_0214e134: ; 0x0214e134 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xc - ldr r2, _0214e268 ; =data_027e0e60 + ldr r2, _0214e268 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_0208335c - ldr r1, _0214e268 ; =data_027e0e60 + bl _ZN10MapManager17Get_MapData_Unk28Ev + ldr r1, _0214e268 ; =gMapManager mov r6, r0 ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r7, r0 ldrb r0, [r5, #0x15] ldrb r9, [r5, #0x14] @@ -24047,7 +24047,7 @@ _0214e1e4: cmp r9, r0 addgt sp, sp, #0xc ldmgtia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r6, _0214e268 ; =data_027e0e60 + ldr r6, _0214e268 ; =gMapManager add r11, sp, #8 _0214e1fc: ldr r10, [sp] @@ -24059,7 +24059,7 @@ _0214e210: ldr r0, [r6] mov r1, r9 mov r2, r10 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci ldr r1, [r5, #0x1c] cmp r1, r0 bne _0214e244 @@ -24068,7 +24068,7 @@ _0214e210: mov r2, r4 strb r7, [sp, #8] strb r10, [sp, #9] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii _0214e244: add r10, r10, #1 cmp r10, r8 @@ -24082,7 +24082,7 @@ _0214e250: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_0214e134 -_0214e268: .word data_027e0e60 +_0214e268: .word gMapManager .global func_ov14_0214e26c arm_func_start func_ov14_0214e26c @@ -24247,10 +24247,10 @@ func_ov14_0214e38c: ; 0x0214e38c ldrh r0, [r4, #0x24] cmp r0, #0 bne _0214e4d0 - ldr r0, _0214e51c ; =data_027e0e60 + ldr r0, _0214e51c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -24291,7 +24291,7 @@ _0214e504: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0214e38c -_0214e51c: .word data_027e0e60 +_0214e51c: .word gMapManager .global func_ov14_0214e520 arm_func_start func_ov14_0214e520 @@ -24328,11 +24328,11 @@ func_ov14_0214e550: ; 0x0214e550 beq _0214e58c b _0214e6b0 _0214e574: - ldr r0, _0214e6bc ; =data_027e0e60 + ldr r0, _0214e6bc ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0214e6b0 _0214e58c: cmp r2, #0 @@ -24393,20 +24393,20 @@ _0214e654: ldrh r0, [r4, #0x24] cmp r0, #0 bne _0214e684 - ldr r0, _0214e6bc ; =data_027e0e60 + ldr r0, _0214e6bc ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _0214e684: ldr r1, [r4, #4] - ldr r0, _0214e6bc ; =data_027e0e60 + ldr r0, _0214e6bc ; =gMapManager bic r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] add r1, r4, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] @@ -24416,7 +24416,7 @@ _0214e6b0: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_0214e550 -_0214e6bc: .word data_027e0e60 +_0214e6bc: .word gMapManager _0214e6c0: .word data_027e0e58 _0214e6c4: .word 0x000001a1 _0214e6c8: .word data_027e0ffc @@ -24666,26 +24666,26 @@ func_ov14_0214e8f0: ; 0x0214e8f0 blx ip mov r0, #0 strb r0, [r4, #0x3c] - ldr r0, _0214ea70 ; =data_027e0e60 + ldr r0, _0214ea70 ; =gMapManager ldrh r2, [r4, #0x28] ldr r0, [r0] add r1, r4, #0x88 - bl func_ov00_020823c4 + bl _ZN10MapManager18func_ov00_020823c4EPii cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _0214ea70 ; =data_027e0e60 + ldr r0, _0214ea70 ; =gMapManager ldrh r2, [r4, #0x2a] ldr r0, [r0] add r1, r4, #0x80 - bl func_ov00_020823c4 + bl _ZN10MapManager18func_ov00_020823c4EPii cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _0214ea70 ; =data_027e0e60 + ldr r0, _0214ea70 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -24705,7 +24705,7 @@ _0214ea58: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov14_0214e8f0 -_0214ea70: .word data_027e0e60 +_0214ea70: .word gMapManager .global func_ov14_0214ea74 arm_func_start func_ov14_0214ea74 @@ -24726,11 +24726,11 @@ func_ov14_0214ea78: ; 0x0214ea78 beq _0214eac0 b _0214ebb4 _0214ea9c: - ldr r0, _0214ebc0 ; =data_027e0e60 + ldr r0, _0214ebc0 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, r4 mov r1, #1 bl func_ov14_0214ec40 @@ -24781,20 +24781,20 @@ _0214eac0: mov r1, #0x3c bl func_ov00_020ce8e4 _0214eb70: - ldr r0, _0214ebc0 ; =data_027e0e60 + ldr r0, _0214ebc0 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, r4 mov r1, #0 mov r2, #1 bl func_ov00_0208ba08 - ldr r0, _0214ebc0 ; =data_027e0e60 + ldr r0, _0214ebc0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei mov r0, r4 mov r1, #0 bl func_ov14_0214ec40 @@ -24804,7 +24804,7 @@ _0214ebb4: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_0214ea78 -_0214ebc0: .word data_027e0e60 +_0214ebc0: .word gMapManager _0214ebc4: .word data_027e0ffc _0214ebc8: .word 0x00000256 _0214ebcc: .word data_027e0e58 @@ -25420,12 +25420,12 @@ _0214f3c0: ldrb r0, [r5, #0xb0] cmp r0, #0 beq _0214f41c - ldr r0, _0214f500 ; =data_027e0e60 + ldr r0, _0214f500 ; =gMapManager mov r2, #0 ldr r0, [r0] mov r3, r2 add r1, r5, #0x18 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0214f4e8 _0214f41c: ldrsh r0, [r5, #0xc] @@ -25434,18 +25434,18 @@ _0214f41c: cmpne r0, #1 mov r2, #0 bne _0214f44c - ldr r0, _0214f500 ; =data_027e0e60 + ldr r0, _0214f500 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #2 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0214f4e8 _0214f44c: - ldr r0, _0214f500 ; =data_027e0e60 + ldr r0, _0214f500 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #1 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0214f4e8 _0214f464: bl func_ov14_02127188 @@ -25475,10 +25475,10 @@ _0214f4b4: mov r0, r5 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _0214f500 ; =data_027e0e60 + ldr r0, _0214f500 ; =gMapManager ldrh r1, [r5, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei b _0214f4e8 _0214f4dc: mov r0, r5 @@ -25493,7 +25493,7 @@ _0214f4e8: _0214f4f4: .word data_ov14_02153fd4 _0214f4f8: .word gAdventureFlags _0214f4fc: .word data_ov00_020eec68 -_0214f500: .word data_027e0e60 +_0214f500: .word gMapManager .global func_ov14_0214f504 arm_func_start func_ov14_0214f504 @@ -25507,11 +25507,11 @@ func_ov14_0214f504: ; 0x0214f504 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _0214f59c ; =data_027e0e60 + ldr r0, _0214f59c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} @@ -25540,7 +25540,7 @@ _0214f594: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0214f504 -_0214f59c: .word data_027e0e60 +_0214f59c: .word gMapManager _0214f5a0: .word data_027e0fe4 .global func_ov14_0214f5a4 @@ -25563,10 +25563,10 @@ func_ov14_0214f5a4: ; 0x0214f5a4 mov r0, #1 ldmia sp!, {r4, pc} _0214f5e4: - ldr r0, _0214f660 ; =data_027e0e60 + ldr r0, _0214f660 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} @@ -25581,10 +25581,10 @@ _0214f600: cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _0214f660 ; =data_027e0e60 + ldr r0, _0214f660 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei mov r0, #1 ldmia sp!, {r4, pc} _0214f640: @@ -25598,7 +25598,7 @@ _0214f640: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0214f5a4 -_0214f660: .word data_027e0e60 +_0214f660: .word gMapManager _0214f664: .word data_027e0fe4 .global func_ov14_0214f668 @@ -25628,10 +25628,10 @@ func_ov14_0214f668: ; 0x0214f668 mov r0, #0 ldmia sp!, {r4, pc} _0214f6c4: - ldr r0, _0214f76c ; =data_027e0e60 + ldr r0, _0214f76c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} @@ -25656,18 +25656,18 @@ _0214f70c: moveq r0, #0 ldmeqia sp!, {r4, pc} _0214f728: - ldr r0, _0214f76c ; =data_027e0e60 + ldr r0, _0214f76c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0214f76c ; =data_027e0e60 + ldr r0, _0214f76c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083790 + bl _ZN10MapManager18func_ov00_02083790Ei mov r0, #1 ldmia sp!, {r4, pc} _0214f760: @@ -25676,7 +25676,7 @@ _0214f760: .align 2, 0 arm_func_end func_ov14_0214f668 _0214f768: .word data_027e077c -_0214f76c: .word data_027e0e60 +_0214f76c: .word gMapManager _0214f770: .word data_027e0fe4 .global func_ov14_0214f774 @@ -26154,16 +26154,16 @@ _0214fd64: .word data_ov00_020eec9c .global func_ov14_0214fd68 arm_func_start func_ov14_0214fd68 func_ov14_0214fd68: ; 0x0214fd68 - ldr r2, _0214fd80 ; =data_027e0e60 - ldr ip, _0214fd84 ; =func_ov00_020836dc + ldr r2, _0214fd80 ; =gMapManager + ldr ip, _0214fd84 ; =_ZN10MapManager18func_ov00_020836dcEii ldrb r1, [r0, #0x15c] ldr r0, [r2] mov r2, #0 bx ip .align 2, 0 arm_func_end func_ov14_0214fd68 -_0214fd80: .word data_027e0e60 -_0214fd84: .word func_ov00_020836dc +_0214fd80: .word gMapManager +_0214fd84: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov14_0214fd88 arm_func_start func_ov14_0214fd88 @@ -26287,11 +26287,11 @@ _0214fee0: mov r0, #0x4000 strh r0, [r4, #0xc] ldrb r2, [r4, #0x15] - ldr r0, _021500d0 ; =data_027e0e60 + ldr r0, _021500d0 ; =gMapManager ldrb r1, [r4, #0x14] ldr r0, [r0] sub r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r4, #0x1c] mov r0, #0 b _0214ff34 @@ -26299,11 +26299,11 @@ _0214ff0c: mov r0, #0 strh r0, [r4, #0xc] ldrb r1, [r4, #0x14] - ldr r0, _021500d0 ; =data_027e0e60 + ldr r0, _021500d0 ; =gMapManager ldrb r2, [r4, #0x15] ldr r0, [r0] sub r1, r1, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r4, #0x1c] mov r0, #1 _0214ff34: @@ -26351,7 +26351,7 @@ _0214ffc0: cmp r0, r1 bge _02150070 mov r7, #1 - ldr r5, _021500d0 ; =data_027e0e60 + ldr r5, _021500d0 ; =gMapManager add r8, sp, #6 add r6, sp, #4 mov r11, r7 @@ -26369,13 +26369,13 @@ _02150008: mov r2, r7 strb r9, [sp, #6] strb r10, [sp, #7] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r5] mov r1, r6 strb r9, [sp, #4] strb r10, [sp, #5] mov r2, r11 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r4, #0x15] ldrb r0, [r4, #0x39] add r10, r10, #1 @@ -26418,7 +26418,7 @@ _02150070: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_0214fe98 -_021500d0: .word data_027e0e60 +_021500d0: .word gMapManager _021500d4: .word 0x0000099a .global func_ov14_021500d8 @@ -27614,14 +27614,14 @@ _02150d70: mul r0, r1, r0 _02150d88: str r0, [r4, #0x68] - ldr r0, _02150e24 ; =data_027e0e60 + ldr r0, _02150e24 ; =gMapManager ldrb r3, [r4, #0x15] ldrb r2, [r4, #0x14] ldr r0, [r0] add r1, sp, #4 strb r2, [sp, #4] strb r3, [sp, #5] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x14 ldreqsh r0, [r4, #0xc] cmpeq r0, #0 @@ -27656,7 +27656,7 @@ _02150e0c: .align 2, 0 arm_func_end func_ov14_02150bb4 _02150e20: .word 0x00001333 -_02150e24: .word data_027e0e60 +_02150e24: .word gMapManager _02150e28: .word data_027e0d38 .global func_ov14_02150e2c @@ -28191,7 +28191,7 @@ func_ov14_0215141c: ; 0x0215141c str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _02151518 ; =data_027e0e60 + ldr r0, _02151518 ; =gMapManager str r1, [r4, #0x8c] ldr r2, [r4, #0x80] add r1, sp, #0xc @@ -28201,7 +28201,7 @@ func_ov14_0215141c: ; 0x0215141c ldr r2, [r4, #0x88] str r2, [r4, #0x98] ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, [sp, #0xc] str r0, [r4, #0x48] ldr r0, [sp, #0x10] @@ -28249,7 +28249,7 @@ _0215150c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0215141c -_02151518: .word data_027e0e60 +_02151518: .word gMapManager _0215151c: .word data_027e0d38 _02151520: .word data_027e0f68 _02151524: .word data_ov14_0215401c diff --git a/asm/ov15.inc b/asm/ov15.inc index 352eeb8b..78962be4 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -149,7 +149,7 @@ .extern data_027e0e2c .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -419,68 +419,68 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_0207c518 -.extern func_ov00_0207ca78 -.extern func_ov00_0207cb7c -.extern func_ov00_0207ce20 -.extern func_ov00_0207d634 -.extern func_ov00_0207d6ec -.extern func_ov00_0207d7bc -.extern func_ov00_0207da38 -.extern func_ov00_0207dce4 -.extern func_ov00_0207dda0 -.extern func_ov00_0207ddf8 -.extern func_ov00_0207dea0 -.extern func_ov00_0207e46c -.extern func_ov00_0207e498 -.extern func_ov00_0207e4b0 -.extern func_ov00_0207f33c -.extern func_ov00_0207f344 -.extern func_ov00_0207f348 -.extern func_ov00_0207f4a0 -.extern func_ov00_0207fce0 -.extern func_ov00_02080140 -.extern func_ov00_02080d74 -.extern func_ov00_02080d78 -.extern func_ov00_02080d7c +.extern _ZN6Course18func_ov00_0207ca78Eici +.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j +.extern _ZN6Course18func_ov00_0207ce20EiiPci +.extern _ZN6Course23IsAdjacentMapOnMainGridEi +.extern _ZN6Course14GetAdjacentMapEi +.extern _ZN6Course18func_ov00_0207d7bcEv +.extern _ZN7MapBaseD1Ev +.extern _ZN7MapBase9SetBoundsEii +.extern _ZN7MapBase14GetMapFilePathEPcii +.extern _ZN7MapBase18func_ov00_0207ddf8Eb +.extern _ZN7MapBase18func_ov00_0207dea0Eb +.extern _ZN7MapBase8vfunc_48Ev +.extern _ZN7MapBase8vfunc_58Ev +.extern _ZN7MapBase8vfunc_64Ev +.extern _ZN7MapBase8vfunc_a4Ev +.extern _ZN7MapBase8vfunc_a8Ev +.extern _ZN7MapBase8vfunc_acEv +.extern _ZN7MapBase8vfunc_94Ev +.extern _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei +.extern _ZN7MapBase18func_ov00_02080140EP4Exit +.extern _ZN7MapBase8vfunc_bcEv +.extern _ZN7MapBase8vfunc_98Ev +.extern _ZN7MapBase8vfunc_c0Ev .extern func_ov00_02081f4c .extern func_ov00_02081f50 .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020823a4 -.extern func_ov00_020823b4 -.extern func_ov00_02082424 -.extern func_ov00_02082454 -.extern func_ov00_02082494 -.extern func_ov00_020824cc -.extern func_ov00_02082504 -.extern func_ov00_02082594 -.extern func_ov00_020825ac -.extern func_ov00_02082650 -.extern func_ov00_02082660 -.extern func_ov00_02082d08 -.extern func_ov00_02082d40 -.extern func_ov00_02083374 -.extern func_ov00_02083384 -.extern func_ov00_0208340c -.extern func_ov00_0208342c -.extern func_ov00_0208346c -.extern func_ov00_020836bc -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_020838c8 -.extern func_ov00_020838d8 -.extern func_ov00_020838e8 -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083ee0 -.extern func_ov00_020846a4 -.extern func_ov00_020848b8 -.extern func_ov00_02084a5c -.extern func_ov00_02084b38 -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 -.extern func_ov00_02084d4c -.extern func_ov00_02085c60 +.extern _ZN10MapManager18func_ov00_020823a4Ei +.extern _ZN10MapManager18func_ov00_020823b4Ev +.extern _ZN10MapManager18func_ov00_02082424Ev +.extern _ZN10MapManager18func_ov00_02082454Eii +.extern _ZN10MapManager18func_ov00_02082494Ei +.extern _ZN10MapManager18func_ov00_020824ccEi +.extern _ZN10MapManager18func_ov00_02082504Ev +.extern _ZN10MapManager18func_ov00_02082594Ev +.extern _ZN10MapManager18func_ov00_020825acEv +.extern _ZN10MapManager18func_ov00_02082650Eiii +.extern _ZN10MapManager18func_ov00_02082660Eii +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02082d40Ev +.extern _ZN10MapManager18func_ov00_02083374Ev +.extern _ZN10MapManager18func_ov00_02083384Ev +.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p +.extern _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p +.extern _ZN10MapManager18func_ov00_0208346cEP4AABB +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838c8Ei +.extern _ZN10MapManager18func_ov00_020838d8Ei +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_020846a4Ev +.extern _ZN10MapManager18func_ov00_020848b8Ev +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei +.extern _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p +.extern _ZN10MapManager18func_ov00_02085c60Eiiii .extern func_ov00_020872e8 .extern func_ov00_02087584 .extern func_ov00_020875f8 diff --git a/asm/ov15.s b/asm/ov15.s index 4a4e1dc8..ef60bb30 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -70,7 +70,7 @@ func_ov15_0211f69c: ; 0x0211f69c ands r1, r1, #0x3f addeq sp, sp, #0x3c ldmeqia sp!, {r4, r5, r6, r7, pc} - ldr r0, _0211f858 ; =data_027e0e60 + ldr r0, _0211f858 ; =gMapManager mov r7, #0x47 ldr r0, [r0] sub lr, r7, #0x49 @@ -86,7 +86,7 @@ func_ov15_0211f69c: ; 0x0211f69c strb r3, [sp, #0x37] strb r3, [sp, #0x38] strb r3, [sp, #0x39] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 addeq sp, sp, #0x3c moveq r0, #1 @@ -163,7 +163,7 @@ _0211f848: .align 2, 0 arm_func_end func_ov15_0211f69c _0211f854: .word data_027e0f6c -_0211f858: .word data_027e0e60 +_0211f858: .word gMapManager _0211f85c: .word data_02050f54 _0211f860: .word data_027e0d3c @@ -259,9 +259,9 @@ func_ov15_0211f954: ; 0x0211f954 bl func_ov15_0211fd64 bl func_ov15_0213ce4c bl func_ov15_0213d3d4 - ldr r0, _0211f9a4 ; =data_027e0e60 + ldr r0, _0211f9a4 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082594 + bl _ZN10MapManager18func_ov00_02082594Ev ldr r0, _0211f9a8 ; =data_027e0fe4 ldr r0, [r0] bl func_ov15_02184838 @@ -270,7 +270,7 @@ func_ov15_0211f954: ; 0x0211f954 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0211f954 -_0211f9a4: .word data_027e0e60 +_0211f9a4: .word gMapManager _0211f9a8: .word data_027e0fe4 .global func_ov15_0211f9ac @@ -402,12 +402,12 @@ _0211fab4: mov r0, #8 str r0, [sp, #8] ldr r1, _0211fc38 ; =data_ov15_0218ec18 - ldr r0, _0211fc4c ; =data_027e0e60 + ldr r0, _0211fc4c ; =gMapManager str r1, [sp, #0xc] ldr r0, [r0] add r1, sp, #0x18 mov r3, r2 - bl func_ov00_02085c60 + bl _ZN10MapManager18func_ov00_02085c60Eiiii ldr r0, [r5, #0x2c] bl func_ov15_02121998 cmp r0, #0 @@ -427,9 +427,9 @@ _0211fbac: beq _0211fbe8 ldr r0, [r5, #0x2c] bl func_ov15_02121988 - ldr r0, _0211fc4c ; =data_027e0e60 + ldr r0, _0211fc4c ; =gMapManager ldr r0, [r0] - bl func_ov00_020825ac + bl _ZN10MapManager18func_ov00_020825acEv ldr r0, _0211fc54 ; =data_027e0fe4 ldr r0, [r0] bl func_ov15_021848dc @@ -462,7 +462,7 @@ _0211fc3c: .word func_ov15_0211fc58 _0211fc40: .word data_ov15_0218ec0c _0211fc44: .word data_027e0d78 _0211fc48: .word 0x0000ffff -_0211fc4c: .word data_027e0e60 +_0211fc4c: .word gMapManager _0211fc50: .word data_ov00_020eec9c _0211fc54: .word data_027e0fe4 @@ -717,7 +717,7 @@ _0211ff18: mov r2, #0x49 str r0, [sp, #0x3c] ldr r5, [r9, #0x3c] - ldr r0, _021205bc ; =data_027e0e60 + ldr r0, _021205bc ; =gMapManager str r5, [sp, #0x40] str r4, [sp] str r3, [sp, #4] @@ -727,7 +727,7 @@ _0211ff18: add r1, sp, #0x134 add r2, sp, #0x44 add r3, sp, #0x3c - bl func_ov00_02085c60 + bl _ZN10MapManager18func_ov00_02085c60Eiiii cmp r0, #0 beq _02120018 ldr r1, [sp, #0x194] @@ -876,7 +876,7 @@ _02120184: mov r1, #0x49 str r0, [sp, #0x2c] ldr r4, [r9, #0x3c] - ldr r0, _021205bc ; =data_027e0e60 + ldr r0, _021205bc ; =gMapManager str r4, [sp, #0x30] str r3, [sp] str r2, [sp, #4] @@ -886,7 +886,7 @@ _02120184: add r1, sp, #0xcc add r2, sp, #0x34 add r3, sp, #0x2c - bl func_ov00_02085c60 + bl _ZN10MapManager18func_ov00_02085c60Eiiii cmp r0, #0 beq _0212023c ldr r0, [sp, #0x12c] @@ -1039,7 +1039,7 @@ _02120354: mov r2, #0x49 str r1, [sp, #0x1c] ldr ip, [r9, #0x34] - ldr r1, _021205bc ; =data_027e0e60 + ldr r1, _021205bc ; =gMapManager str ip, [sp, #0x20] str r10, [sp] str r3, [sp, #4] @@ -1049,7 +1049,7 @@ _02120354: add r1, sp, #0x64 add r2, sp, #0x24 add r3, sp, #0x1c - bl func_ov00_02085c60 + bl _ZN10MapManager18func_ov00_02085c60Eiiii cmp r0, #0 beq _021204ac ldr r0, [sp, #0xc4] @@ -1129,7 +1129,7 @@ _021205ac: .word data_ov15_0218946c _021205b0: .word func_ov15_0211fc6c _021205b4: .word data_ov15_0218ec34 _021205b8: .word 0x0000ffff -_021205bc: .word data_027e0e60 +_021205bc: .word gMapManager _021205c0: .word data_ov15_02189420 _021205c4: .word data_027e0d3c _021205c8: .word data_027e0c38 @@ -2313,13 +2313,13 @@ _02121550: mov r1, #0x24 bl _ZNK11ItemManager7HasItemEi mov r5, #0 - ldr r1, _021216fc ; =data_027e0e60 + ldr r1, _021216fc ; =gMapManager mov r4, r0 ldr r0, [r1] mov r6, r5 mov r7, r5 mov r8, r5 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #3 addls pc, pc, r0, lsl #2 b _02121638 @@ -2408,7 +2408,7 @@ _021216ec: .word data_027e1054 _021216f0: .word data_027e0d3c _021216f4: .word data_ov15_02185b5c _021216f8: .word gItemManager -_021216fc: .word data_027e0e60 +_021216fc: .word gMapManager .global func_ov15_02121700 arm_func_start func_ov15_02121700 @@ -2501,11 +2501,11 @@ func_ov15_021217e4: ; 0x021217e4 mov r8, #0 bne _021218b0 ldrb r7, [r9, #0x12] - ldr r0, _02121970 ; =data_027e0e60 + ldr r0, _02121970 ; =gMapManager add r1, r7, #0xa6 ldr r0, [r0] add r9, r1, #0x50000 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #3 addls pc, pc, r0, lsl #2 b _02121940 @@ -2605,7 +2605,7 @@ _02121940: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_021217e4 -_02121970: .word data_027e0e60 +_02121970: .word gMapManager _02121974: .word data_027e0f7c _02121978: .word data_027e0fe4 _0212197c: .word 0x000500aa @@ -3597,14 +3597,14 @@ func_ov15_02122674: ; 0x02122674 ldr r3, [sp, #0xd8] ldr r2, [sp, #0xdc] ldr r1, [sp, #0xe0] - ldr r0, _02122da0 ; =data_027e0e60 + ldr r0, _02122da0 ; =gMapManager str r2, [sp, #0x50] str r3, [sp, #0x4c] str r1, [sp, #0x54] ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x4c - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -4047,7 +4047,7 @@ _02122d58: .align 2, 0 arm_func_end func_ov15_02122674 _02122d9c: .word data_027e0f94 -_02122da0: .word data_027e0e60 +_02122da0: .word gMapManager _02122da4: .word data_02050f54 _02122da8: .word data_027e0fe8 _02122dac: .word 0x42554949 @@ -4159,11 +4159,11 @@ _02122edc: cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _021230c8 ; =data_027e0e60 + ldr r0, _021230c8 ; =gMapManager ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} @@ -4260,11 +4260,11 @@ _0212307c: cmp r1, r0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _021230c8 ; =data_027e0e60 + ldr r0, _021230c8 ; =gMapManager ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} @@ -4276,7 +4276,7 @@ _0212307c: arm_func_end func_ov15_02122e34 _021230c0: .word data_027e10a4 _021230c4: .word data_027e0d3c -_021230c8: .word data_027e0e60 +_021230c8: .word gMapManager _021230cc: .word data_027e0fe4 _021230d0: .word 0x53454b45 _021230d4: .word 0x464c5052 @@ -4459,7 +4459,7 @@ func_ov15_021232b4: ; 0x021232b4 str lr, [sp, #0x64] ldrh lr, [r0, #0x20] mov r3, #0xd - ldr r2, _02123460 ; =data_027e0e60 + ldr r2, _02123460 ; =gMapManager ldr ip, [ip, lr, lsl #2] str r5, [sp, #0x4c] str r5, [sp, #0x50] @@ -4523,7 +4523,7 @@ func_ov15_021232b4: ; 0x021232b4 _02123454: .word data_027e0f94 _02123458: .word 0x0000ffff _0212345c: .word data_ov15_02185b60 -_02123460: .word data_027e0e60 +_02123460: .word gMapManager _02123464: .word data_ov15_02189610 _02123468: .word data_027e0fe4 @@ -6170,7 +6170,7 @@ func_ov15_02124a40: ; 0x02124a40 movs r4, r0 beq _02124b9c ldr r1, [r10, #0x48] - ldr r0, _0212502c ; =data_027e0e60 + ldr r0, _0212502c ; =gMapManager str r1, [r10, #0x54] ldr r2, [r10, #0x4c] add r1, sp, #4 @@ -6185,7 +6185,7 @@ func_ov15_02124a40: ; 0x02124a40 str r3, [sp, #8] ldr r3, [r10, #0x50] str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r10, #0x2a8] ldrb r0, [r10, #0x118] cmp r0, #0 @@ -6561,7 +6561,7 @@ _02124ffc: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02124a40 -_0212502c: .word data_027e0e60 +_0212502c: .word gMapManager _02125030: .word 0x00000733 _02125034: .word data_02050f54 _02125038: .word 0xfffffb33 @@ -6580,7 +6580,7 @@ func_ov15_0212504c: ; 0x0212504c add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02125108 ; =data_027e0e60 + ldr r0, _02125108 ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -6590,7 +6590,7 @@ func_ov15_0212504c: ; 0x0212504c str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] add r0, sp, #0x14 mov r1, #0xa00 @@ -6622,7 +6622,7 @@ func_ov15_0212504c: ; 0x0212504c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212504c -_02125108: .word data_027e0e60 +_02125108: .word gMapManager _0212510c: .word data_027e0e58 _02125110: .word 0x000009ec _02125114: .word data_027e0ffc @@ -6637,7 +6637,7 @@ func_ov15_02125118: ; 0x02125118 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _021251d4 ; =data_027e0e60 + ldr r0, _021251d4 ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -6647,7 +6647,7 @@ func_ov15_02125118: ; 0x02125118 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] ldr r1, _021251d8 ; =0x00000333 add r0, sp, #0x14 @@ -6679,7 +6679,7 @@ func_ov15_02125118: ; 0x02125118 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02125118 -_021251d4: .word data_027e0e60 +_021251d4: .word gMapManager _021251d8: .word 0x00000333 _021251dc: .word data_027e0e58 _021251e0: .word 0x00000666 @@ -7350,7 +7350,7 @@ _02125a88: ; jump table b _02125d4c ; case 7 _02125aa8: ldr r1, [r4, #0x48] - ldr r0, _02125dec ; =data_027e0e60 + ldr r0, _02125dec ; =gMapManager str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -7359,7 +7359,7 @@ _02125aa8: add r1, sp, #0x14 mov r2, #0 str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #4] ldrb r1, [r4, #0x2a4] cmp r1, #0 @@ -7496,7 +7496,7 @@ _02125ca8: b _02125d68 _02125cd0: ldr r1, [r4, #0x48] - ldr r0, _02125dec ; =data_027e0e60 + ldr r0, _02125dec ; =gMapManager str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -7505,7 +7505,7 @@ _02125cd0: add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp] ldrb r1, [r4, #0x2a4] cmp r1, #1 @@ -7573,7 +7573,7 @@ _02125ddc: .word data_ov15_02185bc8 _02125de0: .word data_ov15_02185bc8 _02125de4: .word data_027e0ffc _02125de8: .word 0x000001dd -_02125dec: .word data_027e0e60 +_02125dec: .word gMapManager _02125df0: .word data_02050f54 _02125df4: .word 0x00000e39 _02125df8: .word 0x0000019a @@ -7856,11 +7856,11 @@ func_ov15_0212619c: ; 0x0212619c stmdb sp!, {r4, lr} ldr r1, _021261dc ; =data_ov15_02189990 mov r4, r0 - ldr r0, _021261e0 ; =data_027e0e60 + ldr r0, _021261e0 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0xac - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add r0, r4, #0xac bl func_ov00_02095764 add r0, r4, #0x38 @@ -7872,7 +7872,7 @@ func_ov15_0212619c: ; 0x0212619c .align 2, 0 arm_func_end func_ov15_0212619c _021261dc: .word data_ov15_02189990 -_021261e0: .word data_027e0e60 +_021261e0: .word gMapManager .global func_ov15_021261e4 arm_func_start func_ov15_021261e4 @@ -7880,11 +7880,11 @@ func_ov15_021261e4: ; 0x021261e4 stmdb sp!, {r4, lr} ldr r1, _0212622c ; =data_ov15_02189990 mov r4, r0 - ldr r0, _02126230 ; =data_027e0e60 + ldr r0, _02126230 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0xac - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add r0, r4, #0xac bl func_ov00_02095764 add r0, r4, #0x38 @@ -7898,7 +7898,7 @@ func_ov15_021261e4: ; 0x021261e4 .align 2, 0 arm_func_end func_ov15_021261e4 _0212622c: .word data_ov15_02189990 -_02126230: .word data_027e0e60 +_02126230: .word gMapManager .global func_ov15_02126234 arm_func_start func_ov15_02126234 @@ -7906,11 +7906,11 @@ func_ov15_02126234: ; 0x02126234 stmdb sp!, {r4, lr} ldr r1, _02126274 ; =data_ov15_02189990 mov r4, r0 - ldr r0, _02126278 ; =data_027e0e60 + ldr r0, _02126278 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0xac - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add r0, r4, #0xac bl func_ov00_02095764 add r0, r4, #0x38 @@ -7922,7 +7922,7 @@ func_ov15_02126234: ; 0x02126234 .align 2, 0 arm_func_end func_ov15_02126234 _02126274: .word data_ov15_02189990 -_02126278: .word data_027e0e60 +_02126278: .word gMapManager .global func_ov15_0212627c arm_func_start func_ov15_0212627c @@ -7940,17 +7940,17 @@ func_ov15_0212627c: ; 0x0212627c str r1, [ip, #0xc8] ldr r1, _021262cc ; =0x0000399a str r3, [ip, #0xcc] - ldr r0, _021262d0 ; =data_027e0e60 + ldr r0, _021262d0 ; =gMapManager str r1, [ip, #0xd0] ldr r0, [r0] add r1, ip, #0xac - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov15_0212627c _021262cc: .word 0x0000399a -_021262d0: .word data_027e0e60 +_021262d0: .word gMapManager .global func_ov15_021262d4 arm_func_start func_ov15_021262d4 @@ -10308,14 +10308,14 @@ func_ov15_02127d9c: ; 0x02127d9c mov r1, #0x4000 str r0, [r4, #0x70] ldr r2, [sp, #0x2c] - ldr r0, _02127ee8 ; =data_027e0e60 + ldr r0, _02127ee8 ; =gMapManager str r2, [r4, #0x74] ldr r2, [sp, #0x30] str r2, [r4, #0x78] str r1, [r4, #0x7c] ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 beq _02127e38 mov r0, r4 @@ -10373,7 +10373,7 @@ _02127e38: arm_func_end func_ov15_02127d9c _02127ee0: .word data_027e0f68 _02127ee4: .word data_ov15_02185ce8 -_02127ee8: .word data_027e0e60 +_02127ee8: .word gMapManager _02127eec: .word 0xffffd99a _02127ef0: .word 0x00004ccc _02127ef4: .word data_027e0f6c @@ -10560,11 +10560,11 @@ _02128184: mov r3, r2 bl func_ov00_020c75f4 _02128198: - ldr r0, _021281dc ; =data_027e0e60 + ldr r0, _021281dc ; =gMapManager ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r0, [r5, #4] bic r0, r0, #1 bic r0, r0, #8 @@ -10580,7 +10580,7 @@ _021281cc: .word 0x0000020f _021281d0: .word data_027e1038 _021281d4: .word data_ov15_02185cdc _021281d8: .word data_027e0e58 -_021281dc: .word data_027e0e60 +_021281dc: .word gMapManager .global func_ov15_021281e0 arm_func_start func_ov15_021281e0 @@ -10959,12 +10959,12 @@ func_ov15_02128670: ; 0x02128670 ldr r0, [r6, #0x80] cmp r0, #0x20000 bge _02128888 - ldr r0, _021288b4 ; =data_027e0e60 + ldr r0, _021288b4 ; =gMapManager add r1, r6, #0x18 ldr r0, [r0] ldr r7, [r6, #0x1c] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r1, r0 subs r4, r1, r7 rsbmi r4, r4, #0 @@ -11097,7 +11097,7 @@ _02128894: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02128670 -_021288b4: .word data_027e0e60 +_021288b4: .word gMapManager _021288b8: .word 0x0000ffff _021288bc: .word 0x04e20000 _021288c0: .word 0x00001b33 @@ -11240,11 +11240,11 @@ _02128a0c: mov r3, #4 bl func_ov00_0207c1b0 _02128ad8: - ldr r0, _02128b84 ; =data_027e0e60 + ldr r0, _02128b84 ; =gMapManager add r1, r4, #0x18 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x1c] ldr r0, [r4, #0x80] cmp r0, #0x3000 @@ -11287,7 +11287,7 @@ _02128b74: .word 0x43424c53 _02128b78: .word data_027e0ffc _02128b7c: .word 0x0000020e _02128b80: .word data_027e0e58 -_02128b84: .word data_027e0e60 +_02128b84: .word gMapManager _02128b88: .word 0x00001333 .global func_ov15_02128b8c @@ -11583,7 +11583,7 @@ _02128f30: str r0, [r5, #0x198] _02128f38: mov r0, r5 - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 @@ -11647,7 +11647,7 @@ _02128ffc: str r0, [r5, #0x198] _02129004: mov r0, r5 - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r5 bl _ZN9SysObjectdlEPv mov r0, r5 @@ -11681,7 +11681,7 @@ _02129058: mov r0, r7 mov r2, r6 add r1, r4, #0xc - bl func_ov00_0207dda0 + bl _ZN7MapBase14GetMapFilePathEPcii mov r0, #0x10 str r0, [sp] mov r0, #1 @@ -11698,14 +11698,14 @@ _02129058: mov r0, r7 mov r1, r6 mov r2, r4 - bl func_ov00_0207dce4 + bl _ZN7MapBase9SetBoundsEii mov r0, r7 mov r1, #0 - bl func_ov00_0207ddf8 + bl _ZN7MapBase18func_ov00_0207ddf8Eb add r0, sp, #8 mov r1, r4 mov r2, r6 - bl func_ov00_0207cb7c + bl _ZN6Course14FindMapGridPosEP5Vec2bPS_j strb r6, [r7, #0x13] ldrb r3, [sp, #9] ldrb r2, [sp, #8] @@ -11724,7 +11724,7 @@ _02129058: mov r0, r4 mov r1, r6 add r3, r3, #0xa8 - bl func_ov00_0207ce20 + bl _ZN6Course18func_ov00_0207ce20EiiPci mov r0, #0 str r0, [sp, #0xc] add r0, sp, #0x400 @@ -11749,7 +11749,7 @@ _02129058: mov r0, r4 mov r1, r6 add r3, sp, #0x10 - bl func_ov00_0207ce20 + bl _ZN6Course18func_ov00_0207ce20EiiPci ldr r0, _0212923c ; =data_027e0f6c add r1, sp, #0x10 ldr r0, [r0] @@ -11761,7 +11761,7 @@ _02129058: mov r0, r4 mov r1, r6 mov r2, #1 - bl func_ov00_0207ca78 + bl _ZN6Course18func_ov00_0207ca78Eici mov r0, r7 ldr r1, [r0] ldr r1, [r1, #0x14] @@ -11773,7 +11773,7 @@ _02129058: mov r1, r6 mov r0, r4 add r3, r3, #0xa8 - bl func_ov00_0207ce20 + bl _ZN6Course18func_ov00_0207ce20EiiPci ldr r0, _02129240 ; =data_027e103c add r1, sp, #0x400 ldr r0, [r0] @@ -11783,14 +11783,14 @@ _02129058: cmp r0, #0 beq _02129210 mov r0, r4 - bl func_ov00_0207d7bc + bl _ZN6Course18func_ov00_0207d7bcEv _02129210: mov r0, r7 mov r1, r4 bl func_ov15_0212925c mov r0, r7 mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb add sp, sp, #0x128 add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, r7, pc} @@ -11827,23 +11827,23 @@ func_ov15_02129254: ; 0x02129254 func_ov15_0212925c: ; 0x0212925c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x74 - ldr r2, _021296c0 ; =data_027e0e60 + ldr r2, _021296c0 ; =gMapManager mov r9, r0 ldr r0, [r2] mov r8, r1 add r1, sp, #0x68 - bl func_ov00_0208340c - ldr r0, _021296c0 ; =data_027e0e60 + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + ldr r0, _021296c0 ; =gMapManager add r1, sp, #0x5c ldr r0, [r0] - bl func_ov00_0208342c - ldr r0, _021296c0 ; =data_027e0e60 + bl _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p + ldr r0, _021296c0 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083374 - ldr r1, _021296c0 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083374Ev + ldr r1, _021296c0 ; =gMapManager mov r11, r0 ldr r0, [r1] - bl func_ov00_02083384 + bl _ZN10MapManager18func_ov00_02083384Ev ldr r3, [sp, #0x70] ldr r2, [sp, #0x5c] add r3, r3, #0xe800 @@ -11869,7 +11869,7 @@ func_ov15_0212925c: ; 0x0212925c _02129300: mov r0, r8 mov r1, r7 - bl func_ov00_0207d634 + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 beq _021296ac ldr r1, _021296c4 ; =data_027e0ce0 @@ -11895,7 +11895,7 @@ _0212935c: str r0, [r1, #0x188] mov r0, r8 mov r1, r7 - bl func_ov00_0207d6ec + bl _ZN6Course14GetAdjacentMapEi mov r1, #0 str r1, [sp, #0x10] mov r1, #0x47 @@ -11922,7 +11922,7 @@ _0212935c: str r0, [sp, #0x18] mov r0, r8 mov r1, r7 - bl func_ov00_0207d634 + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 beq _021293f8 mov r0, r9 @@ -12044,7 +12044,7 @@ _0212953c: _02129598: mov r0, r8 mov r1, r7 - bl func_ov00_0207d634 + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 beq _021295ec mov r0, r9 @@ -12055,7 +12055,7 @@ _02129598: mov r0, r9 add r1, sp, #0x14 mov r5, #4 - bl func_ov00_02080140 + bl _ZN7MapBase18func_ov00_02080140EP4Exit ldr r1, [sp, #0x10] strb r0, [sp, #0x28] and r0, r0, #0xff @@ -12096,7 +12096,7 @@ _0212960c: bl func_ov00_02093a5c mov r0, r8 mov r1, r7 - bl func_ov00_0207d634 + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 beq _0212969c mov r0, r9 @@ -12122,7 +12122,7 @@ _021296ac: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0212925c -_021296c0: .word data_027e0e60 +_021296c0: .word gMapManager _021296c4: .word data_027e0ce0 _021296c8: .word data_ov00_020e2f04 _021296cc: .word data_ov00_020e2dd8 @@ -12478,23 +12478,23 @@ func_ov15_02129a6c: ; 0x02129a6c sub sp, sp, #0x1c mov r7, r2 mov r8, r1 - ldr r2, _02129b14 ; =data_027e0e60 + ldr r2, _02129b14 ; =gMapManager mov r9, r0 ldrb r1, [r7, #1] ldr r0, [r2] mov r6, r3 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r5, r0 mov r0, r9 ldr r2, [r0] mov r1, r7 ldr r2, [r2, #0x60] blx r2 - ldr r1, _02129b14 ; =data_027e0e60 + ldr r1, _02129b14 ; =gMapManager mov r4, r0 ldr r0, [r1] ldrb r1, [r7] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [sp, #0x10] mvn r0, #0 str r4, [sp, #0x14] @@ -12519,7 +12519,7 @@ _02129b08: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02129a6c -_02129b14: .word data_027e0e60 +_02129b14: .word gMapManager _02129b18: .word data_027e0f68 .global func_ov15_02129b1c @@ -12807,7 +12807,7 @@ _02129df8: mov r3, #0x10 movne r4, #0 str ip, [sp, #0x48] - bl func_ov00_0207fce0 + bl _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei cmp r0, #0 bne _02129e90 ldr r0, [r5, #0x144] @@ -12828,7 +12828,7 @@ _02129df8: bl func_ov15_0212c718 mov r0, r5 mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129e90: @@ -12890,7 +12890,7 @@ _02129eec: bl func_ov15_0212c718 mov r0, r5 mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129f74: @@ -12906,7 +12906,7 @@ _02129f74: bl func_ov15_0212c718 mov r0, r5 mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129fb0: @@ -12922,7 +12922,7 @@ _02129fb0: bl func_ov15_0212c718 mov r0, r5 mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} .align 2, 0 @@ -16449,7 +16449,7 @@ _0212cf44: bl func_ov15_0212d008 _0212cf4c: ldr r1, [r4, #0x48] - ldr r0, _0212cfb8 ; =data_027e0e60 + ldr r0, _0212cfb8 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -16458,7 +16458,7 @@ _0212cf4c: add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, _0212cfbc ; =data_ov15_0218a464 ldr r2, _0212cfc0 ; =data_ov15_0218a470 @@ -16477,7 +16477,7 @@ _0212cfa8: .word data_027e0d38 _0212cfac: .word data_027e10a4 _0212cfb0: .word data_027e0f94 _0212cfb4: .word data_027e0fe4 -_0212cfb8: .word data_027e0e60 +_0212cfb8: .word gMapManager _0212cfbc: .word data_ov15_0218a464 _0212cfc0: .word data_ov15_0218a470 @@ -16748,7 +16748,7 @@ _0212d358: sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _0212d514 ; =data_027e0e60 + ldr r0, _0212d514 ; =gMapManager str r1, [sp, #0x20] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -16757,7 +16757,7 @@ _0212d358: add r1, sp, #0x20 str r2, [sp, #0x28] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] @@ -16803,7 +16803,7 @@ _0212d430: sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _0212d514 ; =data_027e0e60 + ldr r0, _0212d514 ; =gMapManager str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -16812,7 +16812,7 @@ _0212d430: add r1, sp, #0x14 str r2, [sp, #0x1c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] @@ -16851,7 +16851,7 @@ _0212d494: .align 2, 0 arm_func_end func_ov15_0212d29c _0212d510: .word data_ov15_02185d50 -_0212d514: .word data_027e0e60 +_0212d514: .word gMapManager _0212d518: .word data_ov15_0218a464 _0212d51c: .word data_ov15_0218a470 _0212d520: .word data_027e0fe4 @@ -17575,7 +17575,7 @@ _0212df28: sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff - ldr r0, _0212e06c ; =data_027e0e60 + ldr r0, _0212e06c ; =gMapManager str r2, [sp, #0x38] str r5, [sp, #0x2c] str r3, [sp, #0x30] @@ -17588,7 +17588,7 @@ _0212df28: ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x2c - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _0212e03c mov r0, #2 @@ -17639,7 +17639,7 @@ _0212e05c: .word data_027e0fac _0212e060: .word data_02050f54 _0212e064: .word data_027e0c68 _0212e068: .word 0x00050022 -_0212e06c: .word data_027e0e60 +_0212e06c: .word gMapManager _0212e070: .word data_027e10a4 _0212e074: .word gAdventureFlags @@ -18868,7 +18868,7 @@ _0212f13c: ldr r0, [r4, #0x130] cmp r0, #4 bne _0212f1fc - ldr r0, _0212f25c ; =data_027e0e60 + ldr r0, _0212f25c ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -18878,7 +18878,7 @@ _0212f13c: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _0212f260 ; =data_027e0e58 str r0, [sp, #0x10] ldr r0, [r1] @@ -18914,7 +18914,7 @@ _0212f204: arm_func_end func_ov15_0212f0b8 _0212f254: .word data_027e077c _0212f258: .word data_02050f54 -_0212f25c: .word data_027e0e60 +_0212f25c: .word gMapManager _0212f260: .word data_027e0e58 .global func_ov15_0212f264 @@ -18959,7 +18959,7 @@ func_ov15_0212f2c8: ; 0x0212f2c8 mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _0212f340 ; =data_027e0e60 + ldr r0, _0212f340 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -18968,7 +18968,7 @@ func_ov15_0212f2c8: ; 0x0212f2c8 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x184] ldr r1, _0212f344 ; =data_ov15_0218a46c sub r0, r0, r2 @@ -18985,7 +18985,7 @@ func_ov15_0212f2c8: ; 0x0212f2c8 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212f2c8 -_0212f340: .word data_027e0e60 +_0212f340: .word gMapManager _0212f344: .word data_ov15_0218a46c _0212f348: .word data_ov15_0218a468 @@ -19234,10 +19234,10 @@ func_ov15_0212f5f0: ; 0x0212f5f0 cmp r1, r4 moveq r1, #0 streq r1, [r0] - ldr r0, _0212f6b8 ; =data_027e0e60 + ldr r0, _0212f6b8 ; =gMapManager add r1, r4, #0x334 ldr r0, [r0] - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, [r4, #0x130] sub r0, r0, #4 cmp r0, #1 @@ -19278,7 +19278,7 @@ _0212f65c: arm_func_end func_ov15_0212f5f0 _0212f6b0: .word data_ov15_0218a5b8 _0212f6b4: .word data_027e10a0 -_0212f6b8: .word data_027e0e60 +_0212f6b8: .word gMapManager _0212f6bc: .word data_ov00_020eec68 _0212f6c0: .word data_ov15_02190458 @@ -19294,10 +19294,10 @@ func_ov15_0212f6c4: ; 0x0212f6c4 cmp r1, r4 moveq r1, #0 streq r1, [r0] - ldr r0, _0212f794 ; =data_027e0e60 + ldr r0, _0212f794 ; =gMapManager add r1, r4, #0x334 ldr r0, [r0] - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, [r4, #0x130] sub r0, r0, #4 cmp r0, #1 @@ -19340,7 +19340,7 @@ _0212f730: arm_func_end func_ov15_0212f6c4 _0212f78c: .word data_ov15_0218a5b8 _0212f790: .word data_027e10a0 -_0212f794: .word data_027e0e60 +_0212f794: .word gMapManager _0212f798: .word data_ov00_020eec68 _0212f79c: .word data_ov15_02190458 @@ -19508,10 +19508,10 @@ _0212f824: bl _ZN14AdventureFlags3SetEjb mov r1, #4 str r1, [r4, #0x130] - ldr r0, _0212fc24 ; =data_027e0e60 + ldr r0, _0212fc24 ; =gMapManager add r1, r4, #0x334 ldr r0, [r0] - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei mov ip, #5 strb ip, [r4, #0x490] mov r1, #0x5d @@ -19653,7 +19653,7 @@ _0212fc14: .word data_027e10a0 _0212fc18: .word 0x00002666 _0212fc1c: .word 0x00006e67 _0212fc20: .word 0x000024cd -_0212fc24: .word data_027e0e60 +_0212fc24: .word gMapManager .global func_ov15_0212fc28 arm_func_start func_ov15_0212fc28 @@ -19695,7 +19695,7 @@ _0212fc6c: str r0, [r4, #0x330] _0212fcb0: ldr r1, [r4, #0x48] - ldr r0, _0212fd18 ; =data_027e0e60 + ldr r0, _0212fd18 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -19704,7 +19704,7 @@ _0212fcb0: add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, _0212fd1c ; =data_ov15_0218a5a0 ldr r2, _0212fd20 ; =data_ov15_0218a5ac @@ -19722,7 +19722,7 @@ _0212fcb0: _0212fd0c: .word data_027e0fe4 _0212fd10: .word 0x4647474e _0212fd14: .word 0x47534d47 -_0212fd18: .word data_027e0e60 +_0212fd18: .word gMapManager _0212fd1c: .word data_ov15_0218a5a0 _0212fd20: .word data_ov15_0218a5ac @@ -19976,11 +19976,11 @@ _0212fe8c: str r2, [sp, #0x258] strb r11, [sp, #0x1da] bl _ZN14AdventureFlags18func_Ov00_02097810Ei - ldr r1, _02130540 ; =data_027e0e60 + ldr r1, _02130540 ; =gMapManager str r0, [r5, #0x488] ldr r0, [r1] add r1, r5, #0x334 - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei add r0, sp, #0x1c4 bl func_ov00_0209a508 b _02130510 @@ -20011,10 +20011,10 @@ _0213010c: strh r0, [r5, #0x7a] mov r1, #0 strb r1, [r5, #0x490] - ldr r0, _02130540 ; =data_027e0e60 + ldr r0, _02130540 ; =gMapManager add r1, r5, #0x334 ldr r0, [r0] - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei b _02130510 _02130188: add r6, sp, #0x30 @@ -20082,11 +20082,11 @@ _02130220: add r1, r5, #0x48 mov r2, r0 bl func_01ff9bc4 - ldr r0, _02130540 ; =data_027e0e60 + ldr r0, _02130540 ; =gMapManager add r1, sp, #0x24 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] ldr r1, [sp, #0x24] add r0, sp, #0x24 @@ -20122,11 +20122,11 @@ _02130220: add r1, r5, #0x48 mov r2, r0 bl func_01ff9bc4 - ldr r0, _02130540 ; =data_027e0e60 + ldr r0, _02130540 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x18] str r0, [sp, #0x1c] str r1, [r5, #0x4a0] @@ -20260,7 +20260,7 @@ _02130530: .word 0x0000ffff _02130534: .word data_027e0f94 _02130538: .word data_027e0f64 _0213053c: .word gAdventureFlags -_02130540: .word data_027e0e60 +_02130540: .word gMapManager _02130544: .word data_027e10a4 _02130548: .word 0xffffc568 _0213054c: .word 0x00001388 @@ -20365,11 +20365,11 @@ _02130694: movne r0, #0 strneb r0, [r4, #0x118] ldmneia sp!, {r4, pc} - ldr r0, _02130780 ; =data_027e0e60 + ldr r0, _02130780 ; =gMapManager ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02130724 mov r0, r4 @@ -20423,7 +20423,7 @@ _02130724: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02130558 -_02130780: .word data_027e0e60 +_02130780: .word gMapManager _02130784: .word data_ov15_0218a5a0 _02130788: .word data_ov15_0218a5ac _0213078c: .word data_ov15_02185e40 @@ -21602,11 +21602,11 @@ _021317fc: bl func_ov00_020c66e4 b _021318fc _02131840: - ldr r0, _02131930 ; =data_027e0e60 + ldr r0, _02131930 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _021318fc ldr r0, _0213190c ; =data_027e0f94 @@ -21667,7 +21667,7 @@ _02131920: .word gAdventureFlags _02131924: .word data_027e0e2c _02131928: .word func_ov15_0212f3cc _0213192c: .word 0x00050021 -_02131930: .word data_027e0e60 +_02131930: .word gMapManager _02131934: .word 0x00000171 .global func_ov15_02131938 @@ -21903,10 +21903,10 @@ _02131c70: ldr ip, [ip, #0x34] add r1, r4, #0x14 blx ip - ldr r0, _02131f08 ; =data_027e0e60 + ldr r0, _02131f08 ; =gMapManager add r1, r4, #0x334 ldr r0, [r0] - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, [r4, #0x32c] bl func_ov15_0215bacc mov r0, #0 @@ -22066,7 +22066,7 @@ _02131ef8: .word 0x000002e2 _02131efc: .word data_02050f54 _02131f00: .word data_027e0f90 _02131f04: .word data_027e0fac -_02131f08: .word data_027e0e60 +_02131f08: .word gMapManager .global func_ov15_02131f0c arm_func_start func_ov15_02131f0c @@ -22346,7 +22346,7 @@ _021322e8: cmp r0, #0x1000 ldrltb r0, [r4, #0x490] ldr r2, _021325e4 ; =data_02050f54 - ldr r1, _021325e8 ; =data_027e0e60 + ldr r1, _021325e8 ; =gMapManager addlt r0, r0, #1 strltb r0, [r4, #0x490] ldr r0, _021325ec ; =data_027e0fac @@ -22388,7 +22388,7 @@ _021322e8: str r4, [sp, #0x8c] str r6, [sp, #0x40] str r4, [sp, #0x48] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0xa0] ldr r4, [sp, #0x84] orr r2, r1, #1 @@ -22446,7 +22446,7 @@ _0213246c: strh r1, [sp] ldrsh r1, [r4, #0x78] bl func_0202b154 - ldr r0, _021325e8 ; =data_027e0e60 + ldr r0, _021325e8 ; =gMapManager ldr r1, [sp, #0x80] ldrsh r7, [sp] orr r6, r1, #2 @@ -22461,7 +22461,7 @@ _0213246c: str r5, [sp, #0x28] str r4, [sp, #0x2c] str r3, [sp, #0x30] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x80] ldr r4, [sp, #0x64] orr r2, r1, #1 @@ -22486,7 +22486,7 @@ _02132504: sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff - ldr r0, _021325e8 ; =data_027e0e60 + ldr r0, _021325e8 ; =gMapManager str r2, [sp, #0x58] str r5, [sp, #0x4c] str r3, [sp, #0x50] @@ -22499,7 +22499,7 @@ _02132504: ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x4c - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 addeq sp, sp, #0xa4 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} @@ -22538,7 +22538,7 @@ _021325d8: .word data_027e0f94 _021325dc: .word data_027e0c68 _021325e0: .word 0x00050082 _021325e4: .word data_02050f54 -_021325e8: .word data_027e0e60 +_021325e8: .word gMapManager _021325ec: .word data_027e0fac _021325f0: .word data_027e10a4 @@ -22673,9 +22673,9 @@ func_ov15_0213278c: ; 0x0213278c sub r0, r0, #4 cmp r0, #1 bhi _021327d0 - ldr r0, _021327d8 ; =data_027e0e60 + ldr r0, _021327d8 ; =gMapManager ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 movne r0, #0 ldmneia sp!, {r4, pc} @@ -22689,7 +22689,7 @@ _021327d0: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213278c -_021327d8: .word data_027e0e60 +_021327d8: .word gMapManager .global func_ov15_021327dc arm_func_start func_ov15_021327dc @@ -23502,11 +23502,11 @@ _021332ac: ldr r0, [r7, #0x360] cmp r0, #0 beq _02133338 - ldr r0, _02133c9c ; =data_027e0e60 + ldr r0, _02133c9c ; =gMapManager ldrh r1, [r7, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldrne r0, [r7, #0x360] subne r0, r0, #1 @@ -24172,7 +24172,7 @@ _02133c6c: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0213321c -_02133c9c: .word data_027e0e60 +_02133c9c: .word gMapManager _02133ca0: .word data_ov15_02185e74 _02133ca4: .word data_ov15_02185e70 _02133ca8: .word data_ov15_02185e6c @@ -25498,7 +25498,7 @@ _02134e00: ldmia sp!, {r3, r4, pc} _02134e14: ldr r1, [r4, #0x48] - ldr r0, _02135108 ; =data_027e0e60 + ldr r0, _02135108 ; =gMapManager str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -25507,7 +25507,7 @@ _02134e14: add r1, sp, #0x14 str r2, [sp, #0x1c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x4c] cmp r1, r0 movlt r0, #1 @@ -25527,7 +25527,7 @@ _02134e6c: add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02135108 ; =data_027e0e60 + ldr r0, _02135108 ; =gMapManager ldr lr, [sp, #0x20] ldr ip, [sp, #0x24] ldr r3, [sp, #0x28] @@ -25537,7 +25537,7 @@ _02134e6c: str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x24] ldrb r0, [r4, #0x217] cmp r0, #1 @@ -25698,7 +25698,7 @@ _021350e8: .align 2, 0 arm_func_end func_ov15_02134d6c _02135104: .word data_ov15_02185ea0 -_02135108: .word data_027e0e60 +_02135108: .word gMapManager _0213510c: .word data_027e0e58 _02135110: .word 0x00000829 _02135114: .word 0x00000ae1 @@ -26921,12 +26921,12 @@ func_ov15_021360e4: ; 0x021360e4 b _0213618c _02136168: ldr r2, _021363dc ; =data_027e0d78 - ldr r0, _021363e0 ; =data_027e0e60 + ldr r0, _021363e0 ; =gMapManager ldr r1, [r2, #0x24] ldr r0, [r0] ldr r2, [r2, #0x28] add r3, sp, #0xb4 - bl func_ov00_02084d4c + bl _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p cmp r0, #1 movls r4, #2 _0213618c: @@ -27085,7 +27085,7 @@ _021363cc: arm_func_end func_ov15_021360e4 _021363d8: .word data_027e0fe4 _021363dc: .word data_027e0d78 -_021363e0: .word data_027e0e60 +_021363e0: .word gMapManager _021363e4: .word data_027e0f94 _021363e8: .word data_027e10a4 _021363ec: .word data_02050f54 @@ -28127,7 +28127,7 @@ func_ov15_02137138: ; 0x02137138 bl func_ov00_020b7e6c _02137164: ldr r1, _0213725c ; =data_027e0f94 - ldr r0, _02137260 ; =data_027e0e60 + ldr r0, _02137260 ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #8] @@ -28137,7 +28137,7 @@ _02137164: str r2, [sp, #0x10] add r1, sp, #8 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldrb r1, [r4, #0x27c] mov ip, r0 cmp r1, #1 @@ -28191,7 +28191,7 @@ _02137164: arm_func_end func_ov15_02137138 _02137258: .word data_027e0fa0 _0213725c: .word data_027e0f94 -_02137260: .word data_027e0e60 +_02137260: .word gMapManager _02137264: .word 0x000004cd _02137268: .word data_027e0e58 _0213726c: .word data_027e0ffc @@ -29249,7 +29249,7 @@ _02138150: cmp r0, #0x28 blt _02138224 ldr r3, _021382e8 ; =data_027e0f94 - ldr r0, _021382f4 ; =data_027e0e60 + ldr r0, _021382f4 ; =gMapManager ldr r2, [r3] ldr r1, [r3, #4] str r2, [sp, #0x1c] @@ -29260,7 +29260,7 @@ _02138150: add r1, sp, #0x1c mov r2, #0 ldr r5, [r3, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _021382e8 ; =data_027e0f94 str r5, [sp, #0x30] ldr r2, [r1] @@ -29357,7 +29357,7 @@ _021382e4: .word 0xfffff8a4 _021382e8: .word data_027e0f94 _021382ec: .word data_027e0e58 _021382f0: .word 0x0000019a -_021382f4: .word data_027e0e60 +_021382f4: .word gMapManager _021382f8: .word data_027e0fb8 _021382fc: .word data_ov00_020eec9c _02138300: .word 0xfffffa66 @@ -29449,10 +29449,10 @@ func_ov15_02138408: ; 0x02138408 cmp r0, #1 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0213846c ; =data_027e0e60 + ldr r0, _0213846c ; =gMapManager mov r2, #0 ldr r0, [r0] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r3, [r4, #4] ldr r1, _02138470 ; =0xfffffccd add r2, r3, r1 @@ -29470,7 +29470,7 @@ func_ov15_02138408: ; 0x02138408 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02138408 -_0213846c: .word data_027e0e60 +_0213846c: .word gMapManager _02138470: .word 0xfffffccd _02138474: .word 0x00000ccc @@ -29596,7 +29596,7 @@ func_ov15_02138478: ; 0x02138478 cmp r0, #0 bne _021386b0 ldr r1, _02138bb8 ; =data_027e0f94 - ldr r0, _02138bbc ; =data_027e0e60 + ldr r0, _02138bbc ; =gMapManager ldr r2, [r1, #4] ldr r3, [r1] str r2, [sp, #4] @@ -29606,7 +29606,7 @@ func_ov15_02138478: ; 0x02138478 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02138bb8 ; =data_027e0f94 ldr r1, [r1, #4] cmp r1, r0 @@ -29957,7 +29957,7 @@ _02138bac: .word data_027e0fb0 _02138bb0: .word data_02050f54 _02138bb4: .word data_027e0fac _02138bb8: .word data_027e0f94 -_02138bbc: .word data_027e0e60 +_02138bbc: .word gMapManager _02138bc0: .word 0xffffc71c _02138bc4: .word 0x000004cd @@ -30050,7 +30050,7 @@ _02138c30: mov r0, #0xcd str r0, [sp, #8] ldr r1, _02138fac ; =data_ov15_0218eec0 - ldr r0, _02138fb0 ; =data_027e0e60 + ldr r0, _02138fb0 ; =gMapManager str r1, [sp, #0xc] str r2, [sp, #0x10] ldr r0, [r0] @@ -30222,7 +30222,7 @@ _02138fa0: .word data_027e0fa0 _02138fa4: .word data_027e0ff8 _02138fa8: .word 0x0000ffff _02138fac: .word data_ov15_0218eec0 -_02138fb0: .word data_027e0e60 +_02138fb0: .word gMapManager _02138fb4: .word data_027e0fac _02138fb8: .word data_02050f54 _02138fbc: .word data_027e0f6c @@ -30319,12 +30319,12 @@ _02139100: add r0, sp, #0 bl func_ov15_02139164 ldr r1, [sp] - ldr r0, _02139160 ; =data_027e0e60 + ldr r0, _02139160 ; =gMapManager mov r1, r1, lsr #0x10 ldr r0, [r0] and r1, r1, #0x3f add r2, sp, #8 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _02139144 ldr r0, _02139158 ; =data_027e0d38 @@ -30342,7 +30342,7 @@ _02139144: _02139154: .word data_ov15_0218eec0 _02139158: .word data_027e0d38 _0213915c: .word data_027e0e2c -_02139160: .word data_027e0e60 +_02139160: .word gMapManager .global func_ov15_02139164 arm_func_start func_ov15_02139164 @@ -32183,7 +32183,7 @@ _0213aa30: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x48] - ldr r0, _0213abac ; =data_027e0e60 + ldr r0, _0213abac ; =gMapManager str r1, [sp, #8] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -32192,7 +32192,7 @@ _0213aa30: add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x24] add r0, sp, #0x20 mov r1, #0x800 @@ -32280,7 +32280,7 @@ _0213ab94: .align 2, 0 arm_func_end func_ov15_0213a9c8 _0213aba8: .word 0xffffe668 -_0213abac: .word data_027e0e60 +_0213abac: .word gMapManager _0213abb0: .word 0x0000051f _0213abb4: .word data_027e0e58 _0213abb8: .word data_027e0ffc @@ -32298,7 +32298,7 @@ func_ov15_0213abc4: ; 0x0213abc4 subne r0, r0, #1 strne r0, [r5, #0x178] ldr r1, [r5, #0x48] - ldr r0, _0213b120 ; =data_027e0e60 + ldr r0, _0213b120 ; =gMapManager str r1, [sp, #0x9c] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -32307,7 +32307,7 @@ func_ov15_0213abc4: ; 0x0213abc4 add r1, sp, #0x9c str r2, [sp, #0xa4] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x130] cmp r1, #2 strgt r0, [r5, #0x4c] @@ -32618,7 +32618,7 @@ _0213b05c: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x48] - ldr r0, _0213b120 ; =data_027e0e60 + ldr r0, _0213b120 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -32627,7 +32627,7 @@ _0213b05c: add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r2, #0 str r0, [sp, #0xac] ldr r1, _0213b148 ; =0x0000051f @@ -32653,7 +32653,7 @@ _0213b0f8: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213abc4 -_0213b120: .word data_027e0e60 +_0213b120: .word gMapManager _0213b124: .word data_027e0c68 _0213b128: .word 0xffffe668 _0213b12c: .word data_ov00_020e83cc @@ -36692,11 +36692,11 @@ func_ov15_0213e754: ; 0x0213e754 stmdb sp!, {r4, lr} ldr r1, _0213e7d4 ; =data_ov15_0218aeb0 mov r4, r0 - ldr r0, _0213e7d8 ; =data_027e0e60 + ldr r0, _0213e7d8 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0x31c - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, _0213e7dc ; =data_027e103c mov r1, #0 ldr r0, [r0] @@ -36724,7 +36724,7 @@ func_ov15_0213e754: ; 0x0213e754 .align 2, 0 arm_func_end func_ov15_0213e754 _0213e7d4: .word data_ov15_0218aeb0 -_0213e7d8: .word data_027e0e60 +_0213e7d8: .word gMapManager _0213e7dc: .word data_027e103c _0213e7e0: .word func_ov00_020b7d74 @@ -36734,11 +36734,11 @@ func_ov15_0213e7e4: ; 0x0213e7e4 stmdb sp!, {r4, lr} ldr r1, _0213e86c ; =data_ov15_0218aeb0 mov r4, r0 - ldr r0, _0213e870 ; =data_027e0e60 + ldr r0, _0213e870 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0x31c - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, _0213e874 ; =data_027e103c mov r1, #0 ldr r0, [r0] @@ -36768,7 +36768,7 @@ func_ov15_0213e7e4: ; 0x0213e7e4 .align 2, 0 arm_func_end func_ov15_0213e7e4 _0213e86c: .word data_ov15_0218aeb0 -_0213e870: .word data_027e0e60 +_0213e870: .word gMapManager _0213e874: .word data_027e103c _0213e878: .word func_ov00_020b7d74 @@ -37292,7 +37292,7 @@ _0213f03c: add r0, r4, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0213f4b8 ; =data_027e0e60 + ldr r0, _0213f4b8 ; =gMapManager ldr r6, [sp, #0x84] ldr r5, [sp, #0x88] ldr r3, [sp, #0x8c] @@ -37302,7 +37302,7 @@ _0213f03c: str r6, [sp, #0x6c] str r5, [sp, #0x70] str r3, [sp, #0x74] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x88] add r1, sp, #0x84 str r1, [sp] @@ -37332,10 +37332,10 @@ _0213f03c: str r0, [r4, #0x33c] mov r0, #0x14000 str r0, [r4, #0x340] - ldr r0, _0213f4b8 ; =data_027e0e60 + ldr r0, _0213f4b8 ; =gMapManager add r1, r4, #0x31c ldr r0, [r0] - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei add r0, sp, #0x118 bl func_ov00_0209a508 b _0213f47c @@ -37360,11 +37360,11 @@ _0213f110: _0213f154: ldr r1, [r4, #0x1b8] mov r2, #1 - ldr r0, _0213f4b8 ; =data_027e0e60 + ldr r0, _0213f4b8 ; =gMapManager strh r2, [r1, #0xc] ldr r0, [r0] add r1, r4, #0x31c - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, _0213f4c4 ; =data_ov00_020eec68 mov r1, #0x1e bl func_ov00_020d716c @@ -37585,7 +37585,7 @@ _0213f4a8: .word data_027e0f64 _0213f4ac: .word 0x00001388 _0213f4b0: .word gAdventureFlags _0213f4b4: .word data_027e0f94 -_0213f4b8: .word data_027e0e60 +_0213f4b8: .word gMapManager _0213f4bc: .word data_027e0e58 _0213f4c0: .word data_ov15_02190458 _0213f4c4: .word data_ov00_020eec68 @@ -37614,7 +37614,7 @@ func_ov15_0213f4d4: ; 0x0213f4d4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] - ldr r0, _0213f574 ; =data_027e0e60 + ldr r0, _0213f574 ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -37623,7 +37623,7 @@ func_ov15_0213f4d4: ; 0x0213f4d4 add r1, sp, #4 mov r2, #0 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x14] mov ip, #0 add r1, sp, #0x10 @@ -37638,7 +37638,7 @@ func_ov15_0213f4d4: ; 0x0213f4d4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0213f4d4 -_0213f574: .word data_027e0e60 +_0213f574: .word gMapManager .global func_ov15_0213f578 arm_func_start func_ov15_0213f578 @@ -37762,7 +37762,7 @@ _0213f684: add r3, sp, #0x38 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0213f7bc ; =data_027e0e60 + ldr r0, _0213f7bc ; =gMapManager ldr ip, [sp, #0x38] ldr r4, [sp, #0x3c] ldr r3, [sp, #0x40] @@ -37772,7 +37772,7 @@ _0213f684: str ip, [sp, #0xc] str r4, [sp, #0x10] str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x3c] mov r0, #0 str r0, [sp] @@ -37799,7 +37799,7 @@ _0213f7ac: .word data_027e0fe4 _0213f7b0: .word data_ov15_02185fcc _0213f7b4: .word data_ov15_0218ae88 _0213f7b8: .word data_027e0ff8 -_0213f7bc: .word data_027e0e60 +_0213f7bc: .word gMapManager _0213f7c0: .word data_027e0ffc _0213f7c4: .word 0x00000216 _0213f7c8: .word data_027e10a4 @@ -37861,7 +37861,7 @@ func_ov15_0213f80c: ; 0x0213f80c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x94] - ldr r0, _0213fb7c ; =data_027e0e60 + ldr r0, _0213fb7c ; =gMapManager ldr r1, [sp, #0x98] str r2, [sp, #0x88] ldr r2, [sp, #0x9c] @@ -37870,7 +37870,7 @@ func_ov15_0213f80c: ; 0x0213f80c ldr r0, [r0] add r1, sp, #0x88 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [sp, #0x94] str r0, [sp, #0x98] str r0, [sp, #0xa4] @@ -37910,7 +37910,7 @@ _0213f91c: ldr r4, [sp, #0x74] ldr ip, [sp, #0x70] ldr r3, [sp, #0x78] - ldr r0, _0213fb7c ; =data_027e0e60 + ldr r0, _0213fb7c ; =gMapManager add r1, sp, #0x64 ldr r0, [r0] mov r2, #0 @@ -37920,7 +37920,7 @@ _0213f91c: str ip, [sp, #0x64] str r4, [sp, #0x68] str r3, [sp, #0x6c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xb8] ldr r1, _0213fb88 ; =0x00000d9a add r0, sp, #0xb4 @@ -38056,7 +38056,7 @@ _0213facc: .align 2, 0 arm_func_end func_ov15_0213f80c _0213fb78: .word data_027e0f94 -_0213fb7c: .word data_027e0e60 +_0213fb7c: .word gMapManager _0213fb80: .word data_027e0fac _0213fb84: .word data_027e10a4 _0213fb88: .word 0x00000d9a @@ -38701,10 +38701,10 @@ func_ov15_02140424: ; 0x02140424 cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _02140588 ; =data_027e0e60 + ldr r0, _02140588 ; =gMapManager add r1, r4, #0x31c ldr r0, [r0] - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei mov r0, r4 mov r1, #0x3c bl func_ov15_02140cb8 @@ -38772,7 +38772,7 @@ _02140540: .align 2, 0 arm_func_end func_ov15_02140424 _02140584: .word data_ov00_020e83cc -_02140588: .word data_027e0e60 +_02140588: .word gMapManager _0214058c: .word data_027e103c _02140590: .word data_027e10a4 _02140594: .word data_027e0ffc @@ -41768,7 +41768,7 @@ func_ov15_02142ba0: ; 0x02142ba0 ldrb r0, [r4, #0x353] cmp r0, #0 bne _02142c38 - ldr r0, _02142c5c ; =data_027e0e60 + ldr r0, _02142c5c ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -41785,7 +41785,7 @@ func_ov15_02142ba0: ; 0x02142ba0 strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02142c60 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -41810,7 +41810,7 @@ _02142c44: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02142ba0 -_02142c5c: .word data_027e0e60 +_02142c5c: .word gMapManager _02142c60: .word data_027e0d38 _02142c64: .word data_027e1094 @@ -42455,11 +42455,11 @@ _0214352c: ldr r0, [r5, #0x324] cmp r0, #1 bne _02143578 - ldr r0, _021436c0 ; =data_027e0e60 + ldr r0, _021436c0 ; =gMapManager add r2, sp, #0 ldr r0, [r0] add r1, r5, #0x294 - bl func_ov00_02082454 + bl _ZN10MapManager18func_ov00_02082454Eii cmp r0, #0 beq _02143578 ldr r1, [r5, #0x2b8] @@ -42559,7 +42559,7 @@ _021436a4: .align 2, 0 arm_func_end func_ov15_02143408 _021436bc: .word 0x00001ccc -_021436c0: .word data_027e0e60 +_021436c0: .word gMapManager .global func_ov15_021436c4 arm_func_start func_ov15_021436c4 @@ -43543,7 +43543,7 @@ _0214449c: cmp r0, #0 addne sp, sp, #0xc8 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _02144540 ; =data_027e0e60 + ldr r0, _02144540 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -43560,7 +43560,7 @@ _0214449c: strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02144544 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -43583,7 +43583,7 @@ _02144530: .word gAdventureFlags _02144534: .word data_ov15_0218613c _02144538: .word data_ov15_02186130 _0214453c: .word data_027e0ffc -_02144540: .word data_027e0e60 +_02144540: .word gMapManager _02144544: .word data_027e0d38 .global func_ov15_02144548 @@ -43709,7 +43709,7 @@ _021446d8: addne sp, sp, #0xc8 str r0, [r4, #0x378] ldmneia sp!, {r4, pc} - ldr r0, _0214476c ; =data_027e0e60 + ldr r0, _0214476c ; =gMapManager mov ip, #0 ldr r0, [r0] sub r4, ip, #2 @@ -43726,7 +43726,7 @@ _021446d8: strb ip, [sp, #0x13] strb ip, [sp, #0x14] strb ip, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02144770 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -43741,7 +43741,7 @@ _0214475c: .word gAdventureFlags _02144760: .word data_027e0fa0 _02144764: .word data_027e0ffc _02144768: .word 0x000003ea -_0214476c: .word data_027e0e60 +_0214476c: .word gMapManager _02144770: .word data_027e0d38 .global func_ov15_02144774 @@ -44103,7 +44103,7 @@ _02144a40: mov r2, r0 bl func_01ff9bc4 ldr r1, [r9, #0x294] - ldr r0, _021457e0 ; =data_027e0e60 + ldr r0, _021457e0 ; =gMapManager str r1, [r9, #0x4b8] ldr r2, [r9, #0x298] add r1, r9, #0x2a0 @@ -44112,7 +44112,7 @@ _02144a40: mov r2, #0 str r3, [r9, #0x4c0] ldr r0, [r0] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _021457e4 ; =0xfffffe66 mov r2, #0 add r0, r0, r1 @@ -44129,7 +44129,7 @@ _02144d14: add r3, sp, #0xd8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _021457e0 ; =data_027e0e60 + ldr r0, _021457e0 ; =gMapManager ldr r5, [sp, #0xd8] ldr r4, [sp, #0xdc] ldr r3, [sp, #0xe0] @@ -44139,7 +44139,7 @@ _02144d14: str r5, [sp, #0x24] str r4, [sp, #0x28] str r3, [sp, #0x2c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xdc] ldr r0, [r9, #0x298] cmp r0, #0x2b8 @@ -44851,7 +44851,7 @@ _021457d0: .word gAdventureFlags _021457d4: .word data_027e0f94 _021457d8: .word data_027e0fac _021457dc: .word 0xfffffccd -_021457e0: .word data_027e0e60 +_021457e0: .word gMapManager _021457e4: .word 0xfffffe66 _021457e8: .word data_027e0ffc _021457ec: .word 0x000003e2 @@ -45934,14 +45934,14 @@ _02146558: .word data_ov15_0218f42e arm_func_start func_ov15_0214655c func_ov15_0214655c: ; 0x0214655c stmdb sp!, {r3, lr} - ldr r0, _02146574 ; =data_027e0e60 + ldr r0, _02146574 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev rsb r0, r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214655c -_02146574: .word data_027e0e60 +_02146574: .word gMapManager .global func_ov15_02146578 arm_func_start func_ov15_02146578 @@ -46279,17 +46279,17 @@ _02146958: mov r0, r4 bl func_ov15_021469f8 _02146960: - ldr r0, _021469ec ; =data_027e0e60 + ldr r0, _021469ec ; =gMapManager ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x4c] sub r0, r1, r0 cmp r0, #0x2000 addgt sp, sp, #0x18 ldmgtia sp!, {r4, pc} - ldr r0, _021469ec ; =data_027e0e60 + ldr r0, _021469ec ; =gMapManager ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x4c] sub r0, r1, r0 mov r1, r0, lsl #0x5 @@ -46316,7 +46316,7 @@ _02146960: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021468f8 -_021469ec: .word data_027e0e60 +_021469ec: .word gMapManager _021469f0: .word 0x00000333 _021469f4: .word data_ov00_020e9370 @@ -48430,7 +48430,7 @@ func_ov15_021486a0: ; 0x021486a0 movlt r0, #0x400 str r0, [r5, #0x40c] ldr r1, [r5, #0x48] - ldr r0, _02148ac0 ; =data_027e0e60 + ldr r0, _02148ac0 ; =gMapManager str r1, [sp, #0x34] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -48440,7 +48440,7 @@ func_ov15_021486a0: ; 0x021486a0 str r2, [sp, #0x38] str r3, [sp, #0x3c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x3f8] ldrb r0, [r5, #0x438] cmp r0, #4 @@ -48685,7 +48685,7 @@ _02148aa8: .align 2, 0 arm_func_end func_ov15_021486a0 _02148abc: .word data_027e10a4 -_02148ac0: .word data_027e0e60 +_02148ac0: .word gMapManager _02148ac4: .word 0x00000aab _02148ac8: .word data_02050f54 _02148acc: .word data_ov15_0218b59c @@ -54825,7 +54825,7 @@ _0214db1c: mov r6, #4 str r1, [sp, #0x30] ldr r1, [r5, #0x48] - ldr ip, _0214dc04 ; =data_027e0e60 + ldr ip, _0214dc04 ; =gMapManager str r1, [sp, #0x1c] ldr r2, [r5, #0x4c] add r1, sp, #0x34 @@ -54855,7 +54855,7 @@ _0214dbf4: .word data_ov15_0218f65c _0214dbf8: .word func_ov15_0214dc08 _0214dbfc: .word data_ov15_0218f650 _0214dc00: .word 0x0000ffff -_0214dc04: .word data_027e0e60 +_0214dc04: .word gMapManager .global func_ov15_0214dc08 arm_func_start func_ov15_0214dc08 @@ -55882,12 +55882,12 @@ _0214eab8: .word data_027e0ff8 arm_func_start func_ov15_0214eabc func_ov15_0214eabc: ; 0x0214eabc stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0214eb14 ; =data_027e0e60 + ldr r2, _0214eb14 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #4] ldr ip, [r5, #0x15c] sub r3, r1, ip @@ -55905,7 +55905,7 @@ func_ov15_0214eabc: ; 0x0214eabc ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214eabc -_0214eb14: .word data_027e0e60 +_0214eb14: .word gMapManager .global func_ov15_0214eb18 arm_func_start func_ov15_0214eb18 @@ -57644,10 +57644,10 @@ _02150234: add r1, r2, r1 str r1, [r10, #0x1a0] ldr r1, [r0] - ldr r0, _02150858 ; =data_027e0e60 + ldr r0, _02150858 ; =gMapManager ldrb r6, [r1, #0x28] ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev strb r0, [sp, #8] and r0, r0, #0xff strb r0, [r10, #0x29c] @@ -57731,10 +57731,10 @@ _02150460: add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02150858 ; =data_027e0e60 + ldr r0, _02150858 ; =gMapManager add r1, sp, #0x30 ldr r0, [r0] - bl func_ov00_0208346c + bl _ZN10MapManager18func_ov00_0208346cEP4AABB ldr r1, [sp, #0x30] ldr r0, [sp, #0x38] add r1, r1, #0xc000 @@ -58001,7 +58001,7 @@ _02150848: .word data_027e0dbc _0215084c: .word data_027e0dcc _02150850: .word data_027e0fe4 _02150854: .word 0x00000999 -_02150858: .word data_027e0e60 +_02150858: .word gMapManager _0215085c: .word data_027e0ff0 _02150860: .word data_ov15_02186394 _02150864: .word data_ov15_0218bef4 @@ -58022,7 +58022,7 @@ func_ov15_02150874: ; 0x02150874 mov r0, r4 bl func_ov15_02151174 ldr r1, [r4, #0x48] - ldr r0, _021508f4 ; =data_027e0e60 + ldr r0, _021508f4 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -58031,7 +58031,7 @@ func_ov15_02150874: ; 0x02150874 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, _021508f8 ; =data_ov15_0218bef4 ldr r2, _021508fc ; =data_ov15_0218bef8 @@ -58046,7 +58046,7 @@ func_ov15_02150874: ; 0x02150874 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02150874 -_021508f4: .word data_027e0e60 +_021508f4: .word gMapManager _021508f8: .word data_ov15_0218bef4 _021508fc: .word data_ov15_0218bef8 @@ -58607,7 +58607,7 @@ func_ov15_021510c0: ; 0x021510c0 sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _02151164 ; =data_027e0e60 + ldr r0, _02151164 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -58616,7 +58616,7 @@ func_ov15_021510c0: ; 0x021510c0 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] @@ -58637,7 +58637,7 @@ _0215112c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021510c0 -_02151164: .word data_027e0e60 +_02151164: .word gMapManager _02151168: .word data_ov15_0218bef4 _0215116c: .word data_ov15_0218bef8 _02151170: .word data_ov15_021863a4 @@ -59018,7 +59018,7 @@ func_ov15_02151680: ; 0x02151680 mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _021516f8 ; =data_027e0e60 + ldr r0, _021516f8 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -59027,7 +59027,7 @@ func_ov15_02151680: ; 0x02151680 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x184] ldr r1, _021516fc ; =data_ov15_0218bf00 sub r0, r0, r2 @@ -59044,7 +59044,7 @@ func_ov15_02151680: ; 0x02151680 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02151680 -_021516f8: .word data_027e0e60 +_021516f8: .word gMapManager _021516fc: .word data_ov15_0218bf00 _02151700: .word data_ov15_0218befc @@ -59519,11 +59519,11 @@ _02151cf8: .word data_ov15_0218bff8 func_ov15_02151cfc: ; 0x02151cfc stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02151d7c ; =data_027e0e60 + ldr r0, _02151d7c ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _02151d68 ldr r0, _02151d80 ; =data_027e10a4 @@ -59533,9 +59533,9 @@ func_ov15_02151cfc: ; 0x02151cfc ldreqb r0, [r1, #0x4d5] cmpeq r0, #0 bne _02151d68 - ldr r0, _02151d7c ; =data_027e0e60 + ldr r0, _02151d7c ; =gMapManager ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 beq _02151d68 ldr r0, [r4, #0x184] @@ -59552,7 +59552,7 @@ _02151d68: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02151cfc -_02151d7c: .word data_027e0e60 +_02151d7c: .word gMapManager _02151d80: .word data_027e10a4 .global func_ov15_02151d84 @@ -59673,11 +59673,11 @@ _02151ef4: .word data_ov15_0218bff8 func_ov15_02151ef8: ; 0x02151ef8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02151f60 ; =data_027e0e60 + ldr r0, _02151f60 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _02151f4c ldr r0, _02151f64 ; =data_027e10a4 @@ -59687,9 +59687,9 @@ func_ov15_02151ef8: ; 0x02151ef8 ldreqb r0, [r1, #0x4d5] cmpeq r0, #0 bne _02151f4c - ldr r0, _02151f60 ; =data_027e0e60 + ldr r0, _02151f60 ; =gMapManager ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 ldmneia sp!, {r4, pc} _02151f4c: @@ -59700,7 +59700,7 @@ _02151f4c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02151ef8 -_02151f60: .word data_027e0e60 +_02151f60: .word gMapManager _02151f64: .word data_027e10a4 .global func_ov15_02151f68 @@ -60242,7 +60242,7 @@ _02152590: strh r2, [r1, #0x4c] bl func_ov00_0209a508 _021525f4: - ldr r0, _02152688 ; =data_027e0e60 + ldr r0, _02152688 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -60259,7 +60259,7 @@ _021525f4: strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _0215268c ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -60282,7 +60282,7 @@ _0215265c: .align 2, 0 arm_func_end func_ov15_02152560 _02152684: .word gAdventureFlags -_02152688: .word data_027e0e60 +_02152688: .word gMapManager _0215268c: .word data_027e0d38 _02152690: .word data_027e0fa0 @@ -60849,13 +60849,13 @@ _02152e6c: strlt r0, [r5, #0x3ac] ldr r2, [r5, #0x3a0] ldr r1, [r5, #0x3ac] - ldr r0, _02153488 ; =data_027e0e60 + ldr r0, _02153488 ; =gMapManager add r1, r2, r1 str r1, [r5, #0x3a0] ldr r0, [r0] add r1, r5, #0x39c mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x3a0] cmp r1, r0 bge _02152f6c @@ -60864,7 +60864,7 @@ _02152e6c: add r3, sp, #0xd8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02153488 ; =data_027e0e60 + ldr r0, _02153488 ; =gMapManager ldr r7, [sp, #0xd8] ldr r6, [sp, #0xdc] ldr r3, [sp, #0xe0] @@ -60874,7 +60874,7 @@ _02152e6c: str r7, [sp, #0x78] str r6, [sp, #0x7c] str r3, [sp, #0x80] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xdc] ldr r1, _0215348c ; =0x00000266 add r0, sp, #0xd8 @@ -60995,11 +60995,11 @@ _021530c4: ldrb r0, [r5, #0x436] cmp r0, #4 bne _021531b0 - ldr r0, _02153488 ; =data_027e0e60 + ldr r0, _02153488 ; =gMapManager add r1, r5, #0x39c ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x3a0] cmp r1, r0 strlt r0, [r5, #0x3a0] @@ -61247,7 +61247,7 @@ _02153478: .word data_02050f54 _0215347c: .word 0xfffffd9a _02153480: .word 0x000004aa _02153484: .word data_027e0ffc -_02153488: .word data_027e0e60 +_02153488: .word gMapManager _0215348c: .word 0x00000266 _02153490: .word data_027e0e58 _02153494: .word 0x00001002 @@ -61848,7 +61848,7 @@ _02153ce0: strneb r0, [r5, #0x436] b _02153d74 _02153d0c: - ldr r0, _02153f78 ; =data_027e0e60 + ldr r0, _02153f78 ; =gMapManager mov r7, #0 ldr r0, [r0] sub r6, r7, #2 @@ -61865,7 +61865,7 @@ _02153d0c: strb r7, [sp, #0xa3] strb r7, [sp, #0xa4] strb r7, [sp, #0xa5] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02153f7c ; =data_027e0d38 add r1, sp, #0x90 ldr r0, [r0] @@ -62006,7 +62006,7 @@ _02153f68: .word 0x000006f6 _02153f6c: .word 0xffffdf2b _02153f70: .word 0x000004cd _02153f74: .word 0xfffff8e1 -_02153f78: .word data_027e0e60 +_02153f78: .word gMapManager _02153f7c: .word data_027e0d38 _02153f80: .word data_027e0fac _02153f84: .word data_02050f54 @@ -62029,7 +62029,7 @@ func_ov15_02153f94: ; 0x02153f94 mov r0, r5 bl func_ov15_02175ba8 ldr r1, _0215417c ; =data_027e0f94 - ldr r0, _02154180 ; =data_027e0e60 + ldr r0, _02154180 ; =gMapManager ldr r2, [r1, #4] ldr r3, [r1] str r2, [sp, #0x10] @@ -62039,7 +62039,7 @@ func_ov15_02153f94: ; 0x02153f94 add r1, sp, #0xc mov r2, #0 str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _0215417c ; =data_027e0f94 ldr r2, [r1, #4] cmp r2, r0 @@ -62142,7 +62142,7 @@ func_ov15_02153f94: ; 0x02153f94 arm_func_end func_ov15_02153f94 _02154178: .word data_027e0fe4 _0215417c: .word data_027e0f94 -_02154180: .word data_027e0e60 +_02154180: .word gMapManager _02154184: .word 0x000003d7 _02154188: .word data_027e0fac _0215418c: .word data_ov15_021863bc @@ -62223,7 +62223,7 @@ _02154280: ldr r0, [r0, #0x44] cmp r0, #0 beq _02154304 - ldr r0, _02154320 ; =data_027e0e60 + ldr r0, _02154320 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -62240,7 +62240,7 @@ _02154280: strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02154324 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -62259,7 +62259,7 @@ _02154304: _02154314: .word data_027e0fe4 _02154318: .word data_027e1060 _0215431c: .word data_027e0c68 -_02154320: .word data_027e0e60 +_02154320: .word gMapManager _02154324: .word data_027e0d38 .global func_ov15_02154328 @@ -62332,7 +62332,7 @@ _02154404: ldr r0, [r5, #0x3e4] cmp r0, #0 bne _02154490 - ldr r0, _02154624 ; =data_027e0e60 + ldr r0, _02154624 ; =gMapManager mov ip, #0 ldr r0, [r0] sub r4, ip, #2 @@ -62349,7 +62349,7 @@ _02154404: strb ip, [sp, #0x5f] strb ip, [sp, #0x60] strb ip, [sp, #0x61] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02154628 ; =data_027e0d38 add r1, sp, #0x4c ldr r0, [r0] @@ -62431,7 +62431,7 @@ _02154490: ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r2, [sp, #0x28] - ldr r3, _02154624 ; =data_027e0e60 + ldr r3, _02154624 ; =gMapManager ldr r1, [sp, #0x2c] str r2, [sp, #4] ldr r2, [sp, #0x30] @@ -62440,7 +62440,7 @@ _02154490: ldr r0, [r3] add r1, sp, #4 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x2c] mvn r0, #0x80000000 str r0, [sp] @@ -62463,7 +62463,7 @@ _0215460c: arm_func_end func_ov15_02154328 _0215461c: .word data_027e0fe4 _02154620: .word data_ov00_020eec68 -_02154624: .word data_027e0e60 +_02154624: .word gMapManager _02154628: .word data_027e0d38 _0215462c: .word data_02050f54 @@ -62480,7 +62480,7 @@ func_ov15_02154630: ; 0x02154630 beq _021546d0 b _021546e8 _02154654: - ldr r0, _021546f8 ; =data_027e0e60 + ldr r0, _021546f8 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -62497,7 +62497,7 @@ _02154654: strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _021546fc ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -62525,7 +62525,7 @@ _021546e8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02154630 -_021546f8: .word data_027e0e60 +_021546f8: .word gMapManager _021546fc: .word data_027e0d38 _02154700: .word data_ov00_020eec9c @@ -64338,7 +64338,7 @@ _02156084: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02156194 ; =data_027e0e60 + ldr r0, _02156194 ; =gMapManager ldr ip, [sp, #0xc] ldr r4, [sp, #0x10] ldr r3, [sp, #0x14] @@ -64348,7 +64348,7 @@ _02156084: str ip, [sp] str r4, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x10] sub r4, r1, r0 mov r0, r6 @@ -64394,7 +64394,7 @@ _02156184: .word 0x00000171 _02156188: .word data_ov15_0218c0e4 _0215618c: .word data_ov15_0218c0f0 _02156190: .word data_027e0f94 -_02156194: .word data_027e0e60 +_02156194: .word gMapManager _02156198: .word 0x00000333 .global func_ov15_0215619c @@ -65041,7 +65041,7 @@ func_ov15_02156970: ; 0x02156970 mov r4, r1 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02156a2c ; =data_027e0e60 + ldr r0, _02156a2c ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -65051,7 +65051,7 @@ func_ov15_02156970: ; 0x02156970 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] ldr r1, _02156a30 ; =0x00000333 add r0, sp, #0x14 @@ -65083,7 +65083,7 @@ func_ov15_02156970: ; 0x02156970 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02156970 -_02156a2c: .word data_027e0e60 +_02156a2c: .word gMapManager _02156a30: .word 0x00000333 _02156a34: .word data_027e0e58 _02156a38: .word 0x00000666 @@ -65099,7 +65099,7 @@ func_ov15_02156a44: ; 0x02156a44 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02156af0 ; =data_027e0e60 + ldr r0, _02156af0 ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -65109,7 +65109,7 @@ func_ov15_02156a44: ; 0x02156a44 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] add r0, sp, #0x14 mov r1, #0xa00 @@ -65138,7 +65138,7 @@ func_ov15_02156a44: ; 0x02156a44 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02156a44 -_02156af0: .word data_027e0e60 +_02156af0: .word gMapManager _02156af4: .word data_027e0e58 _02156af8: .word 0x000009ec _02156afc: .word data_027e0ffc @@ -66208,7 +66208,7 @@ func_ov15_021578e0: ; 0x021578e0 str r2, [r8] ldrh r1, [r1, #0x10] add r8, sp, #0x38 - ldr r6, _02157c30 ; =data_027e0e60 + ldr r6, _02157c30 ; =gMapManager mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r1, [r5, r1] @@ -66232,7 +66232,7 @@ func_ov15_021578e0: ; 0x021578e0 add r1, sp, #8 mov r2, r7 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x3c] ldr r7, _02157c34 ; =0x000004cd sub r5, r1, r0 @@ -66352,7 +66352,7 @@ _02157c20: .word data_ov15_0218c1d8 _02157c24: .word data_ov15_0218c1e4 _02157c28: .word data_027e0f94 _02157c2c: .word data_02050f54 -_02157c30: .word data_027e0e60 +_02157c30: .word gMapManager _02157c34: .word 0x000004cd _02157c38: .word data_027e0fe4 _02157c3c: .word 0x00001333 @@ -66577,11 +66577,11 @@ _02157ed8: cmp r0, #0 addne sp, sp, #0x5c ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _021583a8 ; =data_027e0e60 + ldr r0, _021583a8 ; =gMapManager ldrh r1, [r10, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 addeq sp, sp, #0x5c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -66897,7 +66897,7 @@ _02158394: .align 2, 0 arm_func_end func_ov15_02157e68 _021583a4: .word data_027e10a4 -_021583a8: .word data_027e0e60 +_021583a8: .word gMapManager _021583ac: .word data_027e0764 _021583b0: .word data_027e0f94 _021583b4: .word data_027e0fe8 @@ -66973,10 +66973,10 @@ func_ov15_0215846c: ; 0x0215846c mov r4, #0 ands r1, r0, #0xff beq _021584f8 - ldr r0, _0215856c ; =data_027e0e60 + ldr r0, _0215856c ; =gMapManager mov r2, r4 ldr r0, [r0] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _021584f8 ldr r6, _02158570 ; =data_027e0fe4 @@ -67005,10 +67005,10 @@ _021584f8: ldrh r0, [r5, #0x26] ands r1, r0, #0xff ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - ldr r0, _0215856c ; =data_027e0e60 + ldr r0, _0215856c ; =gMapManager mov r2, #0 ldr r0, [r0] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} mov r9, #0 @@ -67035,7 +67035,7 @@ _02158554: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0215846c -_0215856c: .word data_027e0e60 +_0215856c: .word gMapManager _02158570: .word data_027e0fe4 .global func_ov15_02158574 @@ -67464,7 +67464,7 @@ _02158b30: b _02158c9c _02158b38: ldr r1, [r5, #0x48] - ldr r0, _02158cc8 ; =data_027e0e60 + ldr r0, _02158cc8 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -67473,7 +67473,7 @@ _02158b38: add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r5, #0x4c] ldr r1, _02158ccc ; =data_ov15_0218c384 sub r0, r0, r2 @@ -67571,7 +67571,7 @@ _02158cb8: .word data_02050f54 _02158cbc: .word data_027e0f94 _02158cc0: .word data_027e0fac _02158cc4: .word data_027e0c68 -_02158cc8: .word data_027e0e60 +_02158cc8: .word gMapManager _02158ccc: .word data_ov15_0218c384 _02158cd0: .word 0x00000ccd _02158cd4: .word data_027e0fe4 @@ -67856,7 +67856,7 @@ _021590c4: str r3, [r4, #0x60] ldrsh r2, [r5, r1] ldr r1, [r4, #0x2e0] - ldr r0, _02159280 ; =data_027e0e60 + ldr r0, _02159280 ; =gMapManager smull r3, r1, r2, r1 adds r2, r3, #0x800 adc r1, r1, #0 @@ -67872,7 +67872,7 @@ _021590c4: ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x1f8] mov r5, r0 cmp r1, #4 @@ -67959,7 +67959,7 @@ _02159270: .word data_027e0d0c _02159274: .word data_02050f54 _02159278: .word data_027e0f94 _0215927c: .word 0x0000019a -_02159280: .word data_027e0e60 +_02159280: .word gMapManager .global func_ov15_02159284 arm_func_start func_ov15_02159284 @@ -68200,7 +68200,7 @@ func_ov15_0215957c: ; 0x0215957c cmp r6, #0x2b000 bge _0215969c ldr r1, [r5, #0x48] - ldr r0, _021597b8 ; =data_027e0e60 + ldr r0, _021597b8 ; =gMapManager str r1, [sp, #0x14] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -68209,7 +68209,7 @@ func_ov15_0215957c: ; 0x0215957c add r1, sp, #0x14 mov r2, #0 str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 cmp r6, #0x2a000 bne _021595fc @@ -68271,7 +68271,7 @@ _0215969c: bne _0215976c bl _ZN5Actor12ApplyGravityEv ldr r1, [r5, #0x48] - ldr r0, _021597b8 ; =data_027e0e60 + ldr r0, _021597b8 ; =gMapManager str r1, [sp, #8] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -68280,7 +68280,7 @@ _0215969c: add r1, sp, #8 str r2, [sp, #0x10] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] mov r4, r0 cmp r1, r4 @@ -68340,7 +68340,7 @@ _0215976c: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215957c -_021597b8: .word data_027e0e60 +_021597b8: .word gMapManager _021597bc: .word data_ov15_0218c384 _021597c0: .word 0x00000d9a _021597c4: .word data_027e0e58 @@ -68621,7 +68621,7 @@ func_ov15_02159b70: ; 0x02159b70 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02159be8 ; =data_027e0e60 + ldr r0, _02159be8 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -68630,7 +68630,7 @@ func_ov15_02159b70: ; 0x02159b70 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x4c] sub r1, r0, #0x800 cmp r2, r1 @@ -68650,7 +68650,7 @@ _02159bd4: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02159b70 -_02159be8: .word data_027e0e60 +_02159be8: .word gMapManager .global func_ov15_02159bec arm_func_start func_ov15_02159bec @@ -68791,7 +68791,7 @@ func_ov15_02159db8: ; 0x02159db8 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02159e34 ; =data_027e0e60 + ldr r0, _02159e34 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -68800,7 +68800,7 @@ func_ov15_02159db8: ; 0x02159db8 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02159e38 ; =0xfffff4cd ldr r2, [r4, #0x4c] add r0, r0, r1 @@ -68821,7 +68821,7 @@ _02159e24: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02159db8 -_02159e34: .word data_027e0e60 +_02159e34: .word gMapManager _02159e38: .word 0xfffff4cd .global func_ov15_02159e3c @@ -68909,7 +68909,7 @@ _02159ea0: str r3, [sp, #0x10] bl func_01ff9bc4 ldr r0, [sp] - ldr r1, _0215a1ac ; =data_027e0e60 + ldr r1, _0215a1ac ; =gMapManager ldr r0, [r0, #0x48] str r0, [sp, #0x24] ldr r0, [sp] @@ -68921,7 +68921,7 @@ _02159ea0: add r1, sp, #0x24 str r2, [sp, #0x2c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x34] mov r0, #0 ldr r7, [sp] @@ -69058,7 +69058,7 @@ _0215a17c: .align 2, 0 arm_func_end func_ov15_02159e3c _0215a1a8: .word data_02050f54 -_0215a1ac: .word data_027e0e60 +_0215a1ac: .word gMapManager _0215a1b0: .word data_ov15_021864ec _0215a1b4: .word data_027e0e58 @@ -69365,11 +69365,11 @@ _0215a500: addlt sp, sp, #0x30 movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _0215a75c ; =data_027e0e60 + ldr r0, _0215a75c ; =gMapManager ldrh r1, [r10, #0x20] ldr r0, [r0] add r2, sp, #0x18 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi str r0, [r10, #0x1ec] ldr r2, [sp, #0x24] ldr r1, [sp, #0x18] @@ -69500,7 +69500,7 @@ _0215a74c: .word data_027e10a8 _0215a750: .word data_ov15_021865c8 _0215a754: .word data_ov15_021865dc _0215a758: .word data_027e0fec -_0215a75c: .word data_027e0e60 +_0215a75c: .word gMapManager _0215a760: .word data_027e0ff0 _0215a764: .word 0x02f44000 @@ -69514,11 +69514,11 @@ func_ov15_0215a768: ; 0x0215a768 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} - ldr r0, _0215a8bc ; =data_027e0e60 + ldr r0, _0215a8bc ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 mov r1, #0x37 beq _0215a820 @@ -69574,9 +69574,9 @@ _0215a858: mov r0, #1 strb r0, [r4, #0x236] _0215a860: - ldr r0, _0215a8bc ; =data_027e0e60 + ldr r0, _0215a8bc ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, pc} @@ -69599,7 +69599,7 @@ _0215a860: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215a768 -_0215a8bc: .word data_027e0e60 +_0215a8bc: .word gMapManager _0215a8c0: .word gAdventureFlags _0215a8c4: .word data_ov15_021865e8 _0215a8c8: .word data_ov15_021865fc @@ -69682,10 +69682,10 @@ func_ov15_0215a970: ; 0x0215a970 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0215a9c0: - ldr r0, _0215b26c ; =data_027e0e60 + ldr r0, _0215b26c ; =gMapManager mov r6, #0 ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev cmp r0, #0 beq _0215a9e4 cmp r0, #1 @@ -69780,20 +69780,20 @@ _0215ab28: mov r5, #0 cmp r1, #0 beq _0215ab4c - ldr r0, _0215b26c ; =data_027e0e60 + ldr r0, _0215b26c ; =gMapManager mov r2, r5 ldr r0, [r0] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii mov r5, r0 _0215ab4c: ldrb r0, [r4, #0x236] cmp r0, #4 beq _0215ab84 - ldr r0, _0215b26c ; =data_027e0e60 + ldr r0, _0215b26c ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _0215ab84 ldrb r0, [r4, #0x236] @@ -70224,9 +70224,9 @@ _0215b164: orr r5, r5, r1, lsl #20 cmpeq r10, #1 bne _0215b240 - ldr r0, _0215b26c ; =data_027e0e60 + ldr r0, _0215b26c ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev cmp r0, #0 bne _0215b238 add r0, r4, #0x200 @@ -70269,7 +70269,7 @@ _0215b248: arm_func_end func_ov15_0215a970 _0215b264: .word data_027e0f94 _0215b268: .word data_027e10a8 -_0215b26c: .word data_027e0e60 +_0215b26c: .word gMapManager _0215b270: .word data_027e0c68 _0215b274: .word 0x0005000f _0215b278: .word data_02050f54 @@ -70513,21 +70513,21 @@ _0215b54c: mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl func_ov00_0209cdbc - ldr r0, _0215b62c ; =data_027e0e60 + ldr r0, _0215b62c ; =gMapManager mov r1, #0 ldr r0, [r0] - bl func_ov00_020823b4 - ldr r0, _0215b62c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823b4Ev + ldr r0, _0215b62c ; =gMapManager mov r1, #0 ldr r0, [r0] - bl func_ov00_020823a4 + bl _ZN10MapManager18func_ov00_020823a4Ei ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215b358 _0215b620: .word data_ov00_020ee0a0 _0215b624: .word data_ov15_021865c8 _0215b628: .word 0x00000249 -_0215b62c: .word data_027e0e60 +_0215b62c: .word gMapManager .global func_ov15_0215b630 arm_func_start func_ov15_0215b630 @@ -70707,11 +70707,11 @@ _0215b848: .word data_027e0f94 arm_func_start func_ov15_0215b84c func_ov15_0215b84c: ; 0x0215b84c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - ldr r1, _0215bac0 ; =data_027e0e60 + ldr r1, _0215bac0 ; =gMapManager mov r4, r0 ldr r0, [r1] mov r1, #1 - bl func_ov00_020823b4 + bl _ZN10MapManager18func_ov00_020823b4Ev ldr r1, [r4, #0x1c4] ldr r0, _0215bac4 ; =data_ov00_020ee0a0 mov r1, r1, asr #0xc @@ -70869,7 +70869,7 @@ _0215ba10: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0215b84c -_0215bac0: .word data_027e0e60 +_0215bac0: .word gMapManager _0215bac4: .word data_ov00_020ee0a0 _0215bac8: .word 0x00000249 @@ -71094,11 +71094,11 @@ _0215bd68: mov r0, #0 strb r0, [r4, #0x1b8] _0215bd70: - ldr r0, _0215bda8 ; =data_027e0e60 + ldr r0, _0215bda8 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 mov r0, r4 beq _0215bd98 @@ -71111,7 +71111,7 @@ _0215bd98: arm_func_end func_ov15_0215bcf4 _0215bda0: .word data_027e0d38 _0215bda4: .word data_027e0e2c -_0215bda8: .word data_027e0e60 +_0215bda8: .word gMapManager .global func_ov15_0215bdac arm_func_start func_ov15_0215bdac @@ -71256,7 +71256,7 @@ _0215bf70: sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff - ldr r0, _0215c340 ; =data_027e0e60 + ldr r0, _0215c340 ; =gMapManager str r2, [sp, #0x48] str r5, [sp, #0x3c] str r3, [sp, #0x40] @@ -71269,7 +71269,7 @@ _0215bf70: ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x3c - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _0215c058 ldr r0, _0215c334 ; =data_027e10a4 @@ -71370,11 +71370,11 @@ _0215c154: add r3, sp, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0215c340 ; =data_027e0e60 + ldr r0, _0215c340 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x18 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi ldr r2, [sp, #0x2c] ldr r1, [sp, #0x38] sub r0, r2, #0x7000 @@ -71495,7 +71495,7 @@ _0215c330: .word gAdventureFlags _0215c334: .word data_027e10a4 _0215c338: .word data_027e0c68 _0215c33c: .word 0x0005004a -_0215c340: .word data_027e0e60 +_0215c340: .word gMapManager _0215c344: .word 0x00000186 _0215c348: .word data_027e0e2c _0215c34c: .word func_ov15_0215bb6c @@ -71583,11 +71583,11 @@ _0215c474: add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0215c578 ; =data_027e0e60 + ldr r0, _0215c578 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi ldr r2, [sp, #0x14] ldr r1, [sp, #0x20] sub r0, r2, #0x7000 @@ -71647,7 +71647,7 @@ _0215c568: .word 0x00050010 _0215c56c: .word func_ov15_0215bb6c _0215c570: .word data_027e103c _0215c574: .word data_027e0f94 -_0215c578: .word data_027e0e60 +_0215c578: .word gMapManager _0215c57c: .word data_027e0f64 _0215c580: .word gAdventureFlags @@ -71657,11 +71657,11 @@ func_ov15_0215c584: ; 0x0215c584 stmdb sp!, {r4, lr} sub sp, sp, #0xb0 mov r4, r0 - ldr r0, _0215c690 ; =data_027e0e60 + ldr r0, _0215c690 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0215c660 ldrb r0, [r4, #0x1bc] @@ -71725,7 +71725,7 @@ _0215c660: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215c584 -_0215c690: .word data_027e0e60 +_0215c690: .word gMapManager _0215c694: .word data_027e0f64 _0215c698: .word gAdventureFlags _0215c69c: .word data_027e10a4 @@ -72459,7 +72459,7 @@ func_ov15_0215d078: ; 0x0215d078 mov r6, #0x47 mov r3, #0xff str r4, [sp, #0x60] - ldr r2, _0215d22c ; =data_027e0e60 + ldr r2, _0215d22c ; =gMapManager str r6, [sp, #0x54] str r5, [sp, #0x58] str r5, [sp, #0x5c] @@ -72472,7 +72472,7 @@ func_ov15_0215d078: ; 0x0215d078 ldrh r1, [r0] ldr r0, [r2] add r2, sp, #0x54 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 addeq sp, sp, #0x6c moveq r0, r5 @@ -72564,7 +72564,7 @@ _0215d1cc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0215d078 -_0215d22c: .word data_027e0e60 +_0215d22c: .word gMapManager _0215d230: .word data_027e0f64 _0215d234: .word data_027e10a4 @@ -73795,10 +73795,10 @@ _0215e0f4: ldrneb r0, [r6, #0x3eb] cmpne r0, #0 beq _0215e558 - ldr r0, _0215e570 ; =data_027e0e60 + ldr r0, _0215e570 ; =gMapManager mov r2, #0 ldr r0, [r0] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _0215e558 ldr r0, _0215e574 ; =data_027e0dbc @@ -74087,7 +74087,7 @@ _0215e558: arm_func_end func_ov15_0215dff8 _0215e568: .word data_027e0d0c _0215e56c: .word data_027e0764 -_0215e570: .word data_027e0e60 +_0215e570: .word gMapManager _0215e574: .word data_027e0dbc _0215e578: .word 0x00000ccc _0215e57c: .word data_027e0f64 @@ -74323,7 +74323,7 @@ func_ov15_0215e890: ; 0x0215e890 add r1, r1, #1 str r1, [r9, #0x3b8] ldrsh r3, [r0, #0xe4] - ldr r2, _0215f7b8 ; =data_027e0e60 + ldr r2, _0215f7b8 ; =gMapManager add r1, sp, #0x4c add r3, r3, #1 strh r3, [r0, #0xe4] @@ -74335,7 +74335,7 @@ func_ov15_0215e890: ; 0x0215e890 str r3, [sp, #0x50] ldr r3, [r9, #0x50] str r3, [sp, #0x54] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r9, #0x130] mov r6, r0 cmp r1, #7 @@ -74351,9 +74351,9 @@ _0215e8f8: ; jump table b _0215f70c ; case 6 b _0215f50c ; case 7 _0215e918: - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 ldr r0, [r9, #0x3b8] subeq r0, r0, #1 @@ -74547,9 +74547,9 @@ _0215ebbc: bl func_ov15_0215fb6c cmp r0, #0 beq _0215ec14 - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 bne _0215ec24 _0215ec14: @@ -74804,7 +74804,7 @@ _0215ef7c: mov r2, r0 bl func_01ff9bc4 ldr r1, [r9, #0x48] - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x40] ldr r1, [r9, #0x4c] ldr r0, [r0] @@ -74813,7 +74813,7 @@ _0215ef7c: add r1, sp, #0x40 str r2, [sp, #0x48] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldrb r1, [r9, #0x3ec] cmp r1, #1 bne _0215f048 @@ -74877,7 +74877,7 @@ _0215f048: mov r0, #1 strb r0, [r9, #0x3ea] ldr r1, [r9, #0x48] - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x34] ldr r3, [r9, #0x4c] ldr r0, [r0] @@ -74885,7 +74885,7 @@ _0215f048: ldr r3, [r9, #0x50] add r1, sp, #0x34 str r3, [sp, #0x3c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _0215f7f8 ; =0xfffffccd ldr r2, [r9, #0x4c] add r0, r0, r1 @@ -74918,7 +74918,7 @@ _0215f158: add r0, r9, #0x200 strh r1, [r0, #0x82] ldr r1, [r9, #0x48] - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x28] ldr r1, [r9, #0x4c] ldr r0, [r0] @@ -74927,7 +74927,7 @@ _0215f158: add r1, sp, #0x28 mov r2, #0 str r3, [sp, #0x30] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 ldr r0, _0215f7f8 ; =0xfffffccd ldr r2, _0215f7e0 ; =0x00000266 @@ -74971,7 +74971,7 @@ _0215f1f4: b _0215f478 _0215f250: ldr r1, [r9, #0x48] - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x1c] ldr r1, [r9, #0x4c] ldr r0, [r0] @@ -74981,7 +74981,7 @@ _0215f250: str r2, [sp, #0x24] mov r2, #0 ldr r4, [r9, #0x50] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r9, #0x48] mov r3, #0 str r0, [sp, #0x80] @@ -75043,7 +75043,7 @@ _0215f350: b _0215f478 _0215f35c: ldr r1, [r9, #0x48] - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r9, #0x4c] ldr r0, [r0] @@ -75052,7 +75052,7 @@ _0215f35c: add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r1, #0x2000 mov r4, r0 ldr r2, _0215f808 ; =0x0000019a @@ -75336,7 +75336,7 @@ _0215f7a8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215e890 -_0215f7b8: .word data_027e0e60 +_0215f7b8: .word gMapManager _0215f7bc: .word data_027e0764 _0215f7c0: .word data_027e0e58 _0215f7c4: .word data_027e0f94 @@ -75413,7 +75413,7 @@ func_ov15_0215f8b0: ; 0x0215f8b0 mov r6, r0 ldr r5, [r6, #0x64] ldr r1, [r6, #0x48] - ldr r0, _0215fa20 ; =data_027e0e60 + ldr r0, _0215fa20 ; =gMapManager str r1, [sp] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -75422,7 +75422,7 @@ func_ov15_0215f8b0: ; 0x0215f8b0 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 mov r0, r6 bl _ZN5Actor12ApplyGravityEv @@ -75505,7 +75505,7 @@ _0215f9e0: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215f8b0 -_0215fa20: .word data_027e0e60 +_0215fa20: .word gMapManager _0215fa24: .word data_027e0ffc _0215fa28: .word 0x00000289 _0215fa2c: .word 0x00000286 @@ -75615,10 +75615,10 @@ func_ov15_0215fb6c: ; 0x0215fb6c ldrh r0, [r4, #0x20] ands r1, r0, #0xff beq _0215fba8 - ldr r0, _0215fc94 ; =data_027e0e60 + ldr r0, _0215fc94 ; =gMapManager mov r2, #0 ldr r0, [r0] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 movne r0, #0 addne sp, sp, #0x18 @@ -75635,11 +75635,11 @@ _0215fba8: addne sp, sp, #0x18 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _0215fc94 ; =data_027e0e60 + ldr r0, _0215fc94 ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 addeq sp, sp, #0x18 @@ -75692,7 +75692,7 @@ _0215fc88: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215fb6c -_0215fc94: .word data_027e0e60 +_0215fc94: .word gMapManager _0215fc98: .word data_027e0dbc _0215fc9c: .word data_027e0dcc @@ -75886,18 +75886,18 @@ func_ov15_0215fefc: ; 0x0215fefc ldrh r0, [r4, #0x24] cmp r0, #3 ldmneia sp!, {r4, pc} - ldr r0, _0215ff58 ; =data_027e0e60 + ldr r0, _0215ff58 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x3ef] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215fefc -_0215ff58: .word data_027e0e60 +_0215ff58: .word gMapManager .global func_ov15_0215ff5c arm_func_start func_ov15_0215ff5c @@ -76903,7 +76903,7 @@ func_ov15_02160c24: ; 0x02160c24 mov r0, r4 bl func_ov15_02161458 ldr r1, [r4, #0x48] - ldr r0, _02160ca4 ; =data_027e0e60 + ldr r0, _02160ca4 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -76912,7 +76912,7 @@ func_ov15_02160c24: ; 0x02160c24 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, _02160ca8 ; =data_ov15_0218caec ldr r2, _02160cac ; =data_ov15_0218caf8 @@ -76927,7 +76927,7 @@ func_ov15_02160c24: ; 0x02160c24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02160c24 -_02160ca4: .word data_027e0e60 +_02160ca4: .word gMapManager _02160ca8: .word data_ov15_0218caec _02160cac: .word data_ov15_0218caf8 @@ -77435,7 +77435,7 @@ func_ov15_021613a4: ; 0x021613a4 sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _02161448 ; =data_027e0e60 + ldr r0, _02161448 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -77444,7 +77444,7 @@ func_ov15_021613a4: ; 0x021613a4 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] @@ -77465,7 +77465,7 @@ _02161410: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021613a4 -_02161448: .word data_027e0e60 +_02161448: .word gMapManager _0216144c: .word data_ov15_0218caec _02161450: .word data_ov15_0218caf8 _02161454: .word data_ov15_0218677c @@ -77789,7 +77789,7 @@ func_ov15_02161880: ; 0x02161880 mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _021618f8 ; =data_027e0e60 + ldr r0, _021618f8 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -77798,7 +77798,7 @@ func_ov15_02161880: ; 0x02161880 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x184] ldr r1, _021618fc ; =data_ov15_0218caf4 sub r0, r0, r2 @@ -77815,7 +77815,7 @@ func_ov15_02161880: ; 0x02161880 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02161880 -_021618f8: .word data_027e0e60 +_021618f8: .word gMapManager _021618fc: .word data_ov15_0218caf4 _02161900: .word data_ov15_0218caf0 @@ -78220,10 +78220,10 @@ _02161cd0: str r1, [r10, #0x278] mov r0, #0xad str r0, [r10, #0x280] - ldr r0, _02162430 ; =data_027e0e60 + ldr r0, _02162430 ; =gMapManager str r1, [r10, #0x284] ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev ldr r1, _02162434 ; =data_027e0d38 ldr r2, _02162438 ; =data_027e0fe4 ldr r1, [r1] @@ -78387,10 +78387,10 @@ _021620bc: add r3, sp, #0x44 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02162430 ; =data_027e0e60 + ldr r0, _02162430 ; =gMapManager add r1, sp, #0x2c ldr r0, [r0] - bl func_ov00_0208346c + bl _ZN10MapManager18func_ov00_0208346cEP4AABB ldr r1, [sp, #0x34] ldr r0, [sp, #0x38] ldr r2, [sp, #0x2c] @@ -78624,7 +78624,7 @@ _021623c4: _02162424: .word gAdventureFlags _02162428: .word data_027e0fec _0216242c: .word 0x00000999 -_02162430: .word data_027e0e60 +_02162430: .word gMapManager _02162434: .word data_027e0d38 _02162438: .word data_027e0fe4 _0216243c: .word data_ov15_0218cc00 @@ -78668,7 +78668,7 @@ func_ov15_02162454: ; 0x02162454 strh r0, [r4, #0x78] _021624c8: ldr r1, [r4, #0x48] - ldr r0, _0216252c ; =data_027e0e60 + ldr r0, _0216252c ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -78677,7 +78677,7 @@ _021624c8: add r1, sp, #4 mov r2, #0 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, _02162530 ; =data_ov15_0218cc00 ldr r2, _02162534 ; =data_ov15_0218cc0c @@ -78694,7 +78694,7 @@ _021624c8: arm_func_end func_ov15_02162454 _02162524: .word data_027e0d38 _02162528: .word data_027e0f94 -_0216252c: .word data_027e0e60 +_0216252c: .word gMapManager _02162530: .word data_ov15_0218cc00 _02162534: .word data_ov15_0218cc0c @@ -78741,7 +78741,7 @@ _021625a0: sub r0, r0, #1 strb r0, [r5, #0x1ac] ldr r1, [r5, #0x48] - ldr r0, _02162678 ; =data_027e0e60 + ldr r0, _02162678 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -78750,7 +78750,7 @@ _021625a0: add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x184] sub r0, r0, r1 str r0, [r5, #0x4c] @@ -78787,7 +78787,7 @@ _02162634: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02162538 -_02162678: .word data_027e0e60 +_02162678: .word gMapManager _0216267c: .word data_ov15_0218cc00 _02162680: .word data_ov15_0218cc0c _02162684: .word data_ov15_021867d4 @@ -79503,11 +79503,11 @@ _021630ec: bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 bne _02163160 - ldr r0, _02163c48 ; =data_027e0e60 + ldr r0, _02163c48 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _02163160 mov r0, r4 @@ -79811,7 +79811,7 @@ _0216346c: mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r1, [ip, r0] - ldr r0, _02163c48 ; =data_027e0e60 + ldr r0, _02163c48 ; =gMapManager ldr r5, [sp, #0x90] mov r1, r1, lsl #0xc add r1, r1, #0x800 @@ -79834,7 +79834,7 @@ _0216346c: str r7, [sp, #0x50] str r3, [sp, #0x94] str r3, [sp, #0x58] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x90] add r0, r4, #0x288 str r0, [sp] @@ -79991,7 +79991,7 @@ _02163854: sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff - ldr r0, _02163c48 ; =data_027e0e60 + ldr r0, _02163c48 ; =gMapManager str r2, [sp, #0x68] str r5, [sp, #0x5c] str r3, [sp, #0x60] @@ -80004,7 +80004,7 @@ _02163854: ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x5c - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _0216391c ldr r0, _02163c44 ; =data_027e10a4 @@ -80210,7 +80210,7 @@ _02163b90: sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _02163c48 ; =data_027e0e60 + ldr r0, _02163c48 ; =gMapManager str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -80219,7 +80219,7 @@ _02163b90: add r1, sp, #8 str r2, [sp, #0x10] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] @@ -80247,7 +80247,7 @@ _02163c38: .word data_027e0fe4 _02163c3c: .word data_ov15_02190458 _02163c40: .word data_ov00_020eec68 _02163c44: .word data_027e10a4 -_02163c48: .word data_027e0e60 +_02163c48: .word gMapManager _02163c4c: .word data_027e0f94 _02163c50: .word data_027e0d0c _02163c54: .word data_027e0764 @@ -80588,7 +80588,7 @@ _021640c4: ldr r3, _021643c4 ; =data_02050f54 str r4, [sp, #0x2c] ldr lr, [r6, #0x4c] - ldr r0, _021643c8 ; =data_027e0e60 + ldr r0, _021643c8 ; =gMapManager str lr, [sp, #0x30] ldr ip, [r6, #0x50] ldr r0, [r0] @@ -80616,7 +80616,7 @@ _021640c4: add r3, ip, r3, asr #12 str r3, [sp, #0x34] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x30] add r0, r6, #0x288 str r0, [sp] @@ -80762,7 +80762,7 @@ _021643b8: .word data_027e10a4 _021643bc: .word data_027e0e2c _021643c0: .word 0x00050017 _021643c4: .word data_02050f54 -_021643c8: .word data_027e0e60 +_021643c8: .word gMapManager _021643cc: .word data_027e0fe8 _021643d0: .word 0x544f5044 _021643d4: .word 0x0000019a @@ -80899,7 +80899,7 @@ _021644d0: str r2, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] - ldr r1, _02164600 ; =data_027e0e60 + ldr r1, _02164600 ; =gMapManager str r0, [sp, #0x10] ldr r0, [r1] add r1, sp, #0x48 @@ -80921,7 +80921,7 @@ _021645f0: .word gAdventureFlags _021645f4: .word data_027e10a4 _021645f8: .word data_027e0f94 _021645fc: .word 0x0000ffff -_02164600: .word data_027e0e60 +_02164600: .word gMapManager .global func_ov15_02164604 arm_func_start func_ov15_02164604 @@ -81663,7 +81663,7 @@ _021650ac: mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _0216511c ; =data_027e0e60 + ldr r0, _0216511c ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -81672,7 +81672,7 @@ _021650ac: add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x184] ldr r1, _02165120 ; =data_ov15_0218cc08 sub r0, r0, r2 @@ -81690,7 +81690,7 @@ _021650ac: .align 2, 0 arm_func_end func_ov15_02165078 _02165118: .word data_ov15_02190458 -_0216511c: .word data_027e0e60 +_0216511c: .word gMapManager _02165120: .word data_ov15_0218cc08 _02165124: .word data_ov15_0218cc04 @@ -82083,7 +82083,7 @@ _02165620: mov r0, #1 str r0, [sp, #4] ldr r1, _02165a18 ; =data_ov15_0218f8cc - ldr r0, _02165a24 ; =data_027e0e60 + ldr r0, _02165a24 ; =gMapManager str r1, [sp, #8] ldr r0, [r0] add r1, sp, #0x18 @@ -82352,7 +82352,7 @@ _02165a14: .word data_ov15_0218cce0 _02165a18: .word data_ov15_0218f8cc _02165a1c: .word func_ov15_02165a34 _02165a20: .word data_ov15_0218f8c0 -_02165a24: .word data_027e0e60 +_02165a24: .word gMapManager _02165a28: .word gAdventureFlags _02165a2c: .word data_ov15_021867d8 _02165a30: .word data_027e0c68 @@ -82586,13 +82586,13 @@ _02165d5c: b _02165e14 _02165d70: ldr r1, [r4, #4] - ldr r0, _02165e54 ; =data_027e0e60 + ldr r0, _02165e54 ; =gMapManager orr r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] mov r2, r3 add r1, r4, #0x18 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii mov r0, r4 mov r1, #1 bl func_ov15_02165e94 @@ -82647,7 +82647,7 @@ _02165e44: .word 0x0b60b60b _02165e48: .word data_027e0c68 _02165e4c: .word 0x0005001a _02165e50: .word 0x00050018 -_02165e54: .word data_027e0e60 +_02165e54: .word gMapManager _02165e58: .word 0x00001770 .global func_ov15_02165e5c @@ -83159,7 +83159,7 @@ func_ov15_0216648c: ; 0x0216648c sub sp, sp, #0x18 mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02166574 ; =data_027e0e60 + ldr r0, _02166574 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -83168,7 +83168,7 @@ func_ov15_0216648c: ; 0x0216648c add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldrb r0, [r4, #0xa4] cmp r0, #0 @@ -83216,7 +83216,7 @@ _02166564: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216648c -_02166574: .word data_027e0e60 +_02166574: .word gMapManager _02166578: .word data_02050f54 _0216657c: .word data_027e0e58 _02166580: .word 0xfffffe66 @@ -83232,7 +83232,7 @@ func_ov15_02166584: ; 0x02166584 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] - ldr r0, _02166678 ; =data_027e0e60 + ldr r0, _02166678 ; =gMapManager str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -83241,7 +83241,7 @@ func_ov15_02166584: ; 0x02166584 add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] mov r1, #0 str r1, [sp] @@ -83288,7 +83288,7 @@ _02166644: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02166584 -_02166678: .word data_027e0e60 +_02166678: .word gMapManager _0216667c: .word data_027e0e58 _02166680: .word 0x000009ec _02166684: .word data_027e0ffc @@ -83905,7 +83905,7 @@ _02166d48: add r2, r5, #0x48 bl func_01ff9bc4 ldr r1, [r5, #0x48] - ldr r0, _02166eec ; =data_027e0e60 + ldr r0, _02166eec ; =gMapManager str r1, [sp, #0x10] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -83914,7 +83914,7 @@ _02166d48: add r1, sp, #0x10 str r2, [sp, #0x18] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] ldr r0, _02166ef0 ; =data_027e0ffc mov r1, #0x1dc @@ -83989,7 +83989,7 @@ _02166ecc: _02166ee0: .word 0x000004cd _02166ee4: .word data_027e0f64 _02166ee8: .word data_027e0f94 -_02166eec: .word data_027e0e60 +_02166eec: .word gMapManager _02166ef0: .word data_027e0ffc _02166ef4: .word 0x00000666 _02166ef8: .word data_027e0e58 @@ -84139,16 +84139,16 @@ func_ov15_021670dc: ; 0x021670dc beq _02167208 b _02167238 _02167114: - ldr r0, _0216728c ; =data_027e0e60 + ldr r0, _0216728c ; =gMapManager ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _0216728c ; =data_027e0e60 + ldr r0, _0216728c ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldreq r0, [r4, #0x284] addeq r0, r0, #1 @@ -84240,7 +84240,7 @@ _0216726c: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021670dc -_0216728c: .word data_027e0e60 +_0216728c: .word gMapManager _02167290: .word data_027e0764 _02167294: .word data_027e0ff4 _02167298: .word data_027e10a4 @@ -85274,7 +85274,7 @@ _02168078: mov r3, #0 bl func_0202b418 _02168098: - ldr r0, _0216834c ; =data_027e0e60 + ldr r0, _0216834c ; =gMapManager ldr r5, [sp, #0x28] ldr r3, [sp, #0x2c] ldr r2, [sp, #0x30] @@ -85284,7 +85284,7 @@ _02168098: str r5, [sp, #4] str r3, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x98] ldr r2, [r4, #0x18c] add r1, r1, r0 @@ -85457,7 +85457,7 @@ _02168338: _02168340: .word data_027e0fac _02168344: .word data_027e0f94 _02168348: .word data_02050f54 -_0216834c: .word data_027e0e60 +_0216834c: .word gMapManager _02168350: .word 0x00000666 _02168354: .word data_027e0d0c @@ -85967,7 +85967,7 @@ _02168a78: mov r3, #0 bl func_0202b418 _02168a9c: - ldr r0, _02168b2c ; =data_027e0e60 + ldr r0, _02168b2c ; =gMapManager ldr ip, [sp, #0x30] ldr r3, [sp, #0x34] ldr r2, [sp, #0x38] @@ -85977,7 +85977,7 @@ _02168a9c: str ip, [sp, #0xc] str r3, [sp, #0x10] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x98] ldr r2, [r5, #0x18c] add r1, r1, r0 @@ -86005,7 +86005,7 @@ _02168a9c: _02168b20: .word data_ov15_0218d094 _02168b24: .word data_027e0f94 _02168b28: .word data_02050f54 -_02168b2c: .word data_027e0e60 +_02168b2c: .word gMapManager .global func_ov15_02168b30 arm_func_start func_ov15_02168b30 @@ -86835,7 +86835,7 @@ _02169594: ldr r3, [r5, r9, lsl #2] str r0, [sp, #8] ldr r1, [r10, #0x4c] - ldr r0, _0216967c ; =data_027e0e60 + ldr r0, _0216967c ; =gMapManager str r1, [sp, #0xc] ldr r2, [r10, #0x50] ldr r0, [r0] @@ -86844,7 +86844,7 @@ _02169594: add r1, sp, #8 mov r2, #0 add r8, r8, r3 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r10, #0x48] ldr r1, [r5, r9, lsl #2] str r0, [sp, #0x18] @@ -86891,7 +86891,7 @@ _0216966c: .word data_ov15_0218d1bc _02169670: .word data_ov15_0218d1c8 _02169674: .word data_027e0ffc _02169678: .word data_ov15_02186918 -_0216967c: .word data_027e0e60 +_0216967c: .word gMapManager _02169680: .word 0x00000359 .global func_ov15_02169684 @@ -88054,9 +88054,9 @@ _0216a680: _0216a6a8: cmp r4, #0 bne _0216a6c4 - ldr r0, _0216a750 ; =data_027e0e60 + ldr r0, _0216a750 ; =gMapManager ldr r0, [r0] - bl func_ov00_020848b8 + bl _ZN10MapManager18func_ov00_020848b8Ev cmp r0, #0 moveq r11, #0 _0216a6c4: @@ -88100,7 +88100,7 @@ _0216a740: .word data_027e0d38 _0216a744: .word data_027e10a4 _0216a748: .word data_027e0d3c _0216a74c: .word data_027e0d04 -_0216a750: .word data_027e0e60 +_0216a750: .word gMapManager .global func_ov15_0216a754 arm_func_start func_ov15_0216a754 @@ -90470,11 +90470,11 @@ func_ov15_0216c650: ; 0x0216c650 arm_func_start func_ov15_0216c664 func_ov15_0216c664: ; 0x0216c664 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0216c6b4 ; =data_027e0e60 + ldr r1, _0216c6b4 ; =gMapManager mov r4, r0 ldr r0, [r1] mov r5, #0 - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x4c] sub r0, r1, r0 cmp r0, #0x2000 @@ -90492,7 +90492,7 @@ _0216c6ac: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216c664 -_0216c6b4: .word data_027e0e60 +_0216c6b4: .word gMapManager .global func_ov15_0216c6b8 arm_func_start func_ov15_0216c6b8 @@ -91813,7 +91813,7 @@ _0216d8c4: .word data_027e0fb8 func_ov15_0216d8c8: ; 0x0216d8c8 stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _0216d95c ; =data_027e0e60 + ldr r1, _0216d95c ; =gMapManager mov r2, #1 strb r2, [r0, #0xc] mov lr, #0 @@ -91832,7 +91832,7 @@ func_ov15_0216d8c8: ; 0x0216d8c8 strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _0216d960 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -91850,7 +91850,7 @@ func_ov15_0216d8c8: ; 0x0216d8c8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216d8c8 -_0216d95c: .word data_027e0e60 +_0216d95c: .word gMapManager _0216d960: .word data_027e0d38 _0216d964: .word gAdventureFlags @@ -91880,7 +91880,7 @@ _0216d9b0: bl func_ov15_0216dd8c cmp r0, #0 beq _0216da38 - ldr r0, _0216da98 ; =data_027e0e60 + ldr r0, _0216da98 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -91897,7 +91897,7 @@ _0216d9b0: strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _0216da9c ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -91938,7 +91938,7 @@ _0216da84: .align 2, 0 arm_func_end func_ov15_0216d968 _0216da94: .word data_027e0c68 -_0216da98: .word data_027e0e60 +_0216da98: .word gMapManager _0216da9c: .word data_027e0d38 _0216daa0: .word gAdventureFlags _0216daa4: .word data_027e0fe4 @@ -94346,12 +94346,12 @@ func_ov15_0216fa98: ; 0x0216fa98 stmdb sp!, {r4, lr} ldr r1, _0216fb48 ; =data_ov15_0218d978 mov r4, r0 - ldr r0, _0216fb4c ; =data_027e0e60 + ldr r0, _0216fb4c ; =gMapManager str r1, [r4] add r1, r4, #0x74 ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add r0, r4, #0xf8 add r0, r0, #0x400 blx func_0202ab64 @@ -94390,7 +94390,7 @@ func_ov15_0216fa98: ; 0x0216fa98 .align 2, 0 arm_func_end func_ov15_0216fa98 _0216fb48: .word data_ov15_0218d978 -_0216fb4c: .word data_027e0e60 +_0216fb4c: .word gMapManager .global func_ov15_0216fb50 arm_func_start func_ov15_0216fb50 @@ -94398,12 +94398,12 @@ func_ov15_0216fb50: ; 0x0216fb50 stmdb sp!, {r4, lr} ldr r1, _0216fc08 ; =data_ov15_0218d978 mov r4, r0 - ldr r0, _0216fc0c ; =data_027e0e60 + ldr r0, _0216fc0c ; =gMapManager str r1, [r4] add r1, r4, #0x74 ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add r0, r4, #0xf8 add r0, r0, #0x400 blx func_0202ab64 @@ -94444,7 +94444,7 @@ func_ov15_0216fb50: ; 0x0216fb50 .align 2, 0 arm_func_end func_ov15_0216fb50 _0216fc08: .word data_ov15_0218d978 -_0216fc0c: .word data_027e0e60 +_0216fc0c: .word gMapManager .global func_ov15_0216fc10 arm_func_start func_ov15_0216fc10 @@ -94627,10 +94627,10 @@ _0216fe54: str r3, [r5, #0x490] str r0, [r5, #0x494] mov r2, #0x14000 - ldr r0, _0217062c ; =data_027e0e60 + ldr r0, _0217062c ; =gMapManager str r2, [r5, #0x498] ldr r0, [r0] - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei add r0, sp, #0x288 bl func_ov00_0209a4f4 ldr r2, _02170630 ; =data_027e0f94 @@ -94994,7 +94994,7 @@ _021703e8: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x48] - ldr r0, _0217062c ; =data_027e0e60 + ldr r0, _0217062c ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -95003,7 +95003,7 @@ _021703e8: add r1, sp, #0 mov r2, r6 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02170634 ; =data_027e0f64 ldr r3, [sp, #0x2c] ldr r2, [sp, #0x34] @@ -95114,7 +95114,7 @@ _0217060c: arm_func_end func_ov15_0216fe00 _02170624: .word 0x0000ffff _02170628: .word data_027e103c -_0217062c: .word data_027e0e60 +_0217062c: .word gMapManager _02170630: .word data_027e0f94 _02170634: .word data_027e0f64 _02170638: .word gAdventureFlags @@ -95252,11 +95252,11 @@ _021707e4: .word data_027e10a4 func_ov15_021707e8: ; 0x021707e8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0217082c ; =data_027e0e60 + ldr r0, _0217082c ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -95269,7 +95269,7 @@ func_ov15_021707e8: ; 0x021707e8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021707e8 -_0217082c: .word data_027e0e60 +_0217082c: .word gMapManager .global func_ov15_02170830 arm_func_start func_ov15_02170830 @@ -96002,7 +96002,7 @@ _021712c8: bl _ZN5Actor12ApplyGravityEv ldr r2, [r4, #0x4c] ldr r1, [r4, #0x64] - ldr r0, _021718f4 ; =data_027e0e60 + ldr r0, _021718f4 ; =gMapManager add r1, r2, r1 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] @@ -96014,7 +96014,7 @@ _021712c8: ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x40] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x4c] mov lr, r0 cmp r1, lr @@ -96085,7 +96085,7 @@ _021713f8: _0217140c: bl func_ov15_02172d18 ldr r1, [r4, #0x4c] - ldr r0, _021718f4 ; =data_027e0e60 + ldr r0, _021718f4 ; =gMapManager add r1, r1, #0x148 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] @@ -96097,7 +96097,7 @@ _0217140c: ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x34] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov ip, r0 ldr r1, [r4, #0x4c] sub r0, ip, #0x1800 @@ -96144,7 +96144,7 @@ _0217140c: ldmia sp!, {r4, pc} _021714f8: ldr r1, [r4, #0x4c] - ldr r0, _021718f4 ; =data_027e0e60 + ldr r0, _021718f4 ; =gMapManager add r1, r1, #0x148 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] @@ -96156,7 +96156,7 @@ _021714f8: ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x28] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x4c] add r0, r0, #0x29 cmp r1, r0 @@ -96221,11 +96221,11 @@ _021715ac: _0217161c: mvn r1, #0 str r1, [r4, #0x53c] - ldr r0, _021718f4 ; =data_027e0e60 + ldr r0, _021718f4 ; =gMapManager add r1, r4, #0x74 ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add sp, sp, #0x1e8 ldmia sp!, {r4, pc} _02171640: @@ -96409,7 +96409,7 @@ _021718ec: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217128c -_021718f4: .word data_027e0e60 +_021718f4: .word gMapManager _021718f8: .word 0x00000d9a _021718fc: .word data_027e0e58 _02171900: .word data_027e0ffc @@ -97826,7 +97826,7 @@ func_ov15_02172d18: ; 0x02172d18 sub sp, sp, #0x18 mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02172d88 ; =data_027e0e60 + ldr r0, _02172d88 ; =gMapManager str r1, [sp, #0xc] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -97841,7 +97841,7 @@ func_ov15_02172d18: ; 0x02172d18 str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02172d8c ; =data_027e0e58 str r0, [sp, #0x10] ldr r0, [r1] @@ -97852,7 +97852,7 @@ func_ov15_02172d18: ; 0x02172d18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02172d18 -_02172d88: .word data_027e0e60 +_02172d88: .word gMapManager _02172d8c: .word data_027e0e58 .global func_ov15_02172d90 @@ -97862,7 +97862,7 @@ func_ov15_02172d90: ; 0x02172d90 sub sp, sp, #0x1c mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02172eec ; =data_027e0e60 + ldr r0, _02172eec ; =gMapManager str r1, [sp, #0x10] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -97877,7 +97877,7 @@ func_ov15_02172d90: ; 0x02172d90 str r3, [sp, #8] ldr r3, [r4, #0x50] str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x14] ldr r1, [r4, #0x4c] sub r0, r1, r0 @@ -97948,7 +97948,7 @@ _02172ecc: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02172d90 -_02172eec: .word data_027e0e60 +_02172eec: .word gMapManager _02172ef0: .word data_02050f54 _02172ef4: .word 0x0000119a _02172ef8: .word data_027e0e58 @@ -98201,7 +98201,7 @@ func_ov15_0217317c: ; 0x0217317c add r0, r1, r0 str r0, [sp, #0x34] ldr r0, [sp, #0x54] - ldr r3, _021733a8 ; =data_027e0e60 + ldr r3, _021733a8 ; =gMapManager mov r0, r0, lsl #0x10 mov r7, r0, lsr #0x10 ldmia r9, {r0, r1, r2} @@ -98215,7 +98215,7 @@ func_ov15_0217317c: ; 0x0217317c ldr r0, [r3] add r1, sp, #0x14 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x9a add r1, r0, #0x900 ldr r0, [sp, #0x24] @@ -98311,7 +98311,7 @@ _02173350: arm_func_end func_ov15_0217317c _021733a0: .word data_027e0f64 _021733a4: .word data_027e0f94 -_021733a8: .word data_027e0e60 +_021733a8: .word gMapManager _021733ac: .word data_02050f54 .global func_ov15_021733b0 @@ -98346,7 +98346,7 @@ func_ov15_021733b0: ; 0x021733b0 str r1, [r4, #0x52c] ldrsh ip, [r0, #0x5e] ldrsh r3, [r0, #0x60] - ldr r2, _0217359c ; =data_027e0e60 + ldr r2, _0217359c ; =gMapManager add r1, sp, #0x20 add r3, ip, r3 strh r3, [r0, #0x5e] @@ -98358,7 +98358,7 @@ func_ov15_021733b0: ; 0x021733b0 str r3, [sp, #0x24] ldr r3, [r4, #0x530] str r3, [sp, #0x28] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x52c] cmp r1, r0 blt _02173474 @@ -98445,7 +98445,7 @@ _021734d0: .align 2, 0 arm_func_end func_ov15_021733b0 _02173598: .word 0x00000133 -_0217359c: .word data_027e0e60 +_0217359c: .word gMapManager _021735a0: .word data_027e10a4 _021735a4: .word data_027e0f64 @@ -98491,7 +98491,7 @@ func_ov15_021735a8: ; 0x021735a8 add r1, sp, #0x30 mov r2, r5 bl func_01ff9bc4 - ldr r3, _02173718 ; =data_027e0e60 + ldr r3, _02173718 ; =gMapManager add r8, sp, #0xc ldmia r5, {r0, r1, r2} stmia r8, {r0, r1, r2} @@ -98504,7 +98504,7 @@ func_ov15_021735a8: ; 0x021735a8 str r7, [sp] str lr, [sp, #4] str ip, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xa4 add r3, r0, #0x800 ldr r0, [r5, #4] @@ -98548,7 +98548,7 @@ _02173708: .word 0x00001770 _0217370c: .word data_027e0fac _02173710: .word 0x000008a4 _02173714: .word 0xfffffae1 -_02173718: .word data_027e0e60 +_02173718: .word gMapManager .global func_ov15_0217371c arm_func_start func_ov15_0217371c @@ -99306,10 +99306,10 @@ func_ov15_021740e4: ; 0x021740e4 func_ov15_02174100: ; 0x02174100 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 - ldr r0, _02174174 ; =data_027e0e60 + ldr r0, _02174174 ; =gMapManager ldrsh r5, [r4, #0x78] ldr r0, [r0] - bl func_ov00_02082504 + bl _ZN10MapManager18func_ov00_02082504Ev sub r0, r5, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -99337,7 +99337,7 @@ _0217414c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02174100 -_02174174: .word data_027e0e60 +_02174174: .word gMapManager .global func_ov15_02174178 arm_func_start func_ov15_02174178 @@ -99359,22 +99359,22 @@ func_ov15_02174188: ; 0x02174188 beq _021741b8 b _021741c8 _021741a4: - ldr r2, _021741d0 ; =data_027e0e60 + ldr r2, _021741d0 ; =gMapManager add r1, r0, #0x160 ldr r0, [r2] - bl func_ov00_02082494 + bl _ZN10MapManager18func_ov00_02082494Ei b _021741c8 _021741b8: - ldr r2, _021741d0 ; =data_027e0e60 + ldr r2, _021741d0 ; =gMapManager add r1, r0, #0x160 ldr r0, [r2] - bl func_ov00_020824cc + bl _ZN10MapManager18func_ov00_020824ccEi _021741c8: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02174188 -_021741d0: .word data_027e0e60 +_021741d0: .word gMapManager .global func_ov15_021741d4 arm_func_start func_ov15_021741d4 @@ -99422,9 +99422,9 @@ _02174268: mov r1, #4 bl func_01fffbec _02174270: - ldr r0, _021742a8 ; =data_027e0e60 + ldr r0, _021742a8 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082504 + bl _ZN10MapManager18func_ov00_02082504Ev mov r1, r0 add r0, sp, #0 bl func_ov00_020a61ac @@ -99438,7 +99438,7 @@ _02174270: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021741d4 -_021742a8: .word data_027e0e60 +_021742a8: .word gMapManager .global func_ov15_021742ac arm_func_start func_ov15_021742ac @@ -99749,9 +99749,9 @@ _0217465c: mov r0, #0x100 _02174660: str r0, [r4, #0x28] - ldr r0, _02174694 ; =data_027e0e60 + ldr r0, _02174694 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev mov r0, #0 str r0, [r4, #0x30] mov r0, #1 @@ -99763,7 +99763,7 @@ _02174660: arm_func_end func_ov15_021745e4 _0217468c: .word 0x0000100a _02174690: .word 0x000001f5 -_02174694: .word data_027e0e60 +_02174694: .word gMapManager .global func_ov15_02174698 arm_func_start func_ov15_02174698 @@ -99893,12 +99893,12 @@ _0217481c: mov r1, #0x3c8 mov r3, #0 bl func_ov00_020ceacc - ldr r0, _02174888 ; =data_027e0e60 + ldr r0, _02174888 ; =gMapManager ldrb r1, [r4, #0x35] ldrb r2, [r4, #0x34] ldr r0, [r0] mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 @@ -99908,7 +99908,7 @@ _02174878: .word data_ov00_020eec9c _0217487c: .word data_027e0e58 _02174880: .word 0x00001009 _02174884: .word data_027e0ffc -_02174888: .word data_027e0e60 +_02174888: .word gMapManager .global func_ov15_0217488c arm_func_start func_ov15_0217488c @@ -103300,11 +103300,11 @@ func_ov15_021776c4: ; 0x021776c4 stmdb sp!, {r4, lr} ldr r1, _021777e8 ; =data_ov15_0218de14 mov r4, r0 - ldr r0, _021777ec ; =data_027e0e60 + ldr r0, _021777ec ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0x374 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, _021777f0 ; =data_027e0f6c add r1, r4, #0x78 ldr r0, [r0] @@ -103375,7 +103375,7 @@ _02177774: .align 2, 0 arm_func_end func_ov15_021776c4 _021777e8: .word data_ov15_0218de14 -_021777ec: .word data_027e0e60 +_021777ec: .word gMapManager _021777f0: .word data_027e0f6c _021777f4: .word data_027e0d38 _021777f8: .word data_027e10b0 @@ -103389,11 +103389,11 @@ func_ov15_02177808: ; 0x02177808 stmdb sp!, {r4, lr} ldr r1, _02177934 ; =data_ov15_0218de14 mov r4, r0 - ldr r0, _02177938 ; =data_027e0e60 + ldr r0, _02177938 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0x374 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, _0217793c ; =data_027e0f6c add r1, r4, #0x78 ldr r0, [r0] @@ -103466,7 +103466,7 @@ _021778b8: .align 2, 0 arm_func_end func_ov15_02177808 _02177934: .word data_ov15_0218de14 -_02177938: .word data_027e0e60 +_02177938: .word gMapManager _0217793c: .word data_027e0f6c _02177940: .word data_027e0d38 _02177944: .word data_027e10b0 @@ -103493,7 +103493,7 @@ func_ov15_02177964: ; 0x02177964 mov r4, r0 str r4, [r1] ldr r1, [r4, #0x48] - ldr r0, _02177ef8 ; =data_027e0e60 + ldr r0, _02177ef8 ; =gMapManager str r1, [sp, #0x38] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -103502,7 +103502,7 @@ func_ov15_02177964: ; 0x02177964 add r1, sp, #0x38 mov r2, #0 str r3, [sp, #0x40] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, _02177efc ; =data_027e0764 str r0, [r4, #0x4c] ldr r1, [r2] @@ -103674,11 +103674,11 @@ _02177c20: str r2, [r4, #0x390] str r0, [r4, #0x394] mov r1, #0x14000 - ldr r0, _02177ef8 ; =data_027e0e60 + ldr r0, _02177ef8 ; =gMapManager str r1, [r4, #0x398] ldr r0, [r0] add r1, r4, #0x374 - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei b _02177c84 _02177c5c: mov r1, #0x69 @@ -103851,7 +103851,7 @@ _02177c84: .align 2, 0 arm_func_end func_ov15_02177964 _02177ef4: .word data_027e10b0 -_02177ef8: .word data_027e0e60 +_02177ef8: .word gMapManager _02177efc: .word data_027e0764 _02177f00: .word 0x0000a332 _02177f04: .word 0x00003666 @@ -104453,7 +104453,7 @@ _021784d0: add r2, sp, #0x2c mov r3, #2 bl func_ov00_0207c1b0 - ldr r0, _021789a0 ; =data_027e0e60 + ldr r0, _021789a0 ; =gMapManager ldr r2, [r5, #0x4c] ldr r4, [r5, #0x50] ldr r3, [r5, #0x48] @@ -104463,7 +104463,7 @@ _021784d0: mov r2, #0 str r3, [sp, #0x50] str r4, [sp, #0x58] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r2, #0 str r0, [sp, #0x54] ldr r1, _021789a4 ; =0x00001ccd @@ -104504,7 +104504,7 @@ _02178810: rsb r4, r2, #0x82 str r1, [sp, #8] ldr r1, [r5, #0x4c] - ldr r0, _021789a0 ; =data_027e0e60 + ldr r0, _021789a0 ; =gMapManager str r1, [sp, #0xc] ldr r3, [r5, #0x50] ldr r0, [r0] @@ -104512,7 +104512,7 @@ _02178810: mov r2, #0 str r3, [sp, #0x10] mov r4, r4, lsl #0xc - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _021789b8 ; =0xffffc4cd cmp r4, #0x1000 add r2, r0, r1 @@ -104605,7 +104605,7 @@ _02178990: .word data_ov15_0218ddc8 _02178994: .word data_ov15_02186d80 _02178998: .word data_027e0e58 _0217899c: .word 0x00001003 -_021789a0: .word data_027e0e60 +_021789a0: .word gMapManager _021789a4: .word 0x00001ccd _021789a8: .word data_ov00_020eec9c _021789ac: .word 0x00000462 @@ -104757,7 +104757,7 @@ func_ov15_02178b7c: ; 0x02178b7c sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff - ldr r0, _02178c68 ; =data_027e0e60 + ldr r0, _02178c68 ; =gMapManager str r2, [sp, #0x24] str r5, [sp, #0x18] str r3, [sp, #0x1c] @@ -104770,7 +104770,7 @@ func_ov15_02178b7c: ; 0x02178b7c ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x18 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _02178c58 ldr r0, _02178c6c ; =data_027e10a4 @@ -104804,7 +104804,7 @@ _02178c58: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02178b7c -_02178c68: .word data_027e0e60 +_02178c68: .word gMapManager _02178c6c: .word data_027e10a4 .global func_ov15_02178c70 @@ -104815,7 +104815,7 @@ func_ov15_02178c70: ; 0x02178c70 mov r4, r0 bl func_ov15_0217aa30 ldr r1, [r4, #0x48] - ldr r0, _02178d64 ; =data_027e0e60 + ldr r0, _02178d64 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -104824,7 +104824,7 @@ func_ov15_02178c70: ; 0x02178c70 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev sub r0, r0, #0x1000 mov r1, #0x1500 str r0, [r4, #0x4c] @@ -104875,7 +104875,7 @@ _02178d40: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02178c70 -_02178d64: .word data_027e0e60 +_02178d64: .word gMapManager _02178d68: .word data_ov15_0218ddcc _02178d6c: .word data_ov15_0218ddc8 _02178d70: .word gAdventureFlags @@ -106304,16 +106304,16 @@ _0217a208: cmp r1, #8 mov r5, r0, lsr #0x10 bne _0217a270 - ldr r0, _0217a550 ; =data_027e0e60 + ldr r0, _0217a550 ; =gMapManager mov r1, #0x11 ldr r0, [r0] sub r2, r1, #0x12 - bl func_ov00_02082650 - ldr r0, _0217a550 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02082650Eiii + ldr r0, _0217a550 ; =gMapManager mov r1, #0x27 ldr r0, [r0] sub r2, r1, #0x28 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii mov r0, #1 strb r0, [r7, #0x474] _0217a270: @@ -106514,7 +106514,7 @@ _0217a52c: arm_func_end func_ov15_0217a0b0 _0217a548: .word 0x00000ccd _0217a54c: .word 0x00000fff -_0217a550: .word data_027e0e60 +_0217a550: .word gMapManager _0217a554: .word data_027e0764 _0217a558: .word data_027e0c68 _0217a55c: .word 0x0005003d @@ -106753,7 +106753,7 @@ func_ov15_0217a850: ; 0x0217a850 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217aa20 ; =data_027e0e60 + ldr r0, _0217aa20 ; =gMapManager ldr r6, [sp, #0xc] ldr r5, [sp, #0x10] ldr r3, [sp, #0x14] @@ -106763,7 +106763,7 @@ func_ov15_0217a850: ; 0x0217a850 str r6, [sp] str r5, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r5, #2 ldr r2, [sp, #0xc] ldr r1, _0217aa24 ; =data_027e0f64 @@ -106862,7 +106862,7 @@ func_ov15_0217a850: ; 0x0217a850 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217a850 -_0217aa20: .word data_027e0e60 +_0217aa20: .word gMapManager _0217aa24: .word data_027e0f64 _0217aa28: .word 0x000024cd _0217aa2c: .word gAdventureFlags @@ -109014,7 +109014,7 @@ func_ov15_0217c67c: ; 0x0217c67c strgeb r0, [r5, #0x118] ldmgeia sp!, {r3, r4, r5, pc} ldr r1, [r5, #0x48] - ldr r0, _0217c7ec ; =data_027e0e60 + ldr r0, _0217c7ec ; =gMapManager str r1, [sp, #4] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -109023,7 +109023,7 @@ func_ov15_0217c67c: ; 0x0217c67c add r1, sp, #4 mov r2, #0 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp] ldrh r0, [r5, #0x20] ldr r2, _0217c7f0 ; =data_ov15_02187018 @@ -109088,7 +109088,7 @@ _0217c7d4: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217c67c -_0217c7ec: .word data_027e0e60 +_0217c7ec: .word gMapManager _0217c7f0: .word data_ov15_02187018 _0217c7f4: .word data_027e0f94 @@ -109421,7 +109421,7 @@ _0217cc78: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] - ldr r0, _0217cec8 ; =data_027e0e60 + ldr r0, _0217cec8 ; =gMapManager str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -109430,7 +109430,7 @@ _0217cc78: add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x30] ldr r0, _0217cecc ; =data_027e0ffc add r2, sp, #0x2c @@ -109563,7 +109563,7 @@ _0217ceb8: .word 0x00000d71 _0217cebc: .word 0xfffffb33 _0217cec0: .word data_027e0e58 _0217cec4: .word 0x00000733 -_0217cec8: .word data_027e0e60 +_0217cec8: .word gMapManager _0217cecc: .word data_027e0ffc _0217ced0: .word 0x00000666 _0217ced4: .word data_027e0764 @@ -109588,7 +109588,7 @@ func_ov15_0217cedc: ; 0x0217cedc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r10, #0x48] - ldr r0, _0217d008 ; =data_027e0e60 + ldr r0, _0217d008 ; =gMapManager str r1, [sp, #8] ldr r1, [r10, #0x4c] ldr r0, [r0] @@ -109597,7 +109597,7 @@ func_ov15_0217cedc: ; 0x0217cedc add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] mov r1, #0 str r1, [sp] @@ -109650,7 +109650,7 @@ _0217cfc0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217cedc -_0217d008: .word data_027e0e60 +_0217d008: .word gMapManager _0217d00c: .word data_027e0e58 _0217d010: .word 0x000009ec _0217d014: .word data_027e0ffc @@ -110238,9 +110238,9 @@ _0217d79c: str r1, [sp, #4] str r0, [sp] _0217d7b0: - ldr r0, _0217d860 ; =data_027e0e60 + ldr r0, _0217d860 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082504 + bl _ZN10MapManager18func_ov00_02082504Ev mov r1, r0 add r0, sp, #0 bl func_ov00_020a61ac @@ -110285,7 +110285,7 @@ _0217d82c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217d740 -_0217d860: .word data_027e0e60 +_0217d860: .word gMapManager _0217d864: .word 0xffffda66 _0217d868: .word data_027e0f68 @@ -110624,7 +110624,7 @@ func_ov15_0217dc4c: ; 0x0217dc4c ldrsh r2, [r3, r2] blx func_01ff8214 ldr r1, [r4, #0x48] - ldr r0, _0217dd0c ; =data_027e0e60 + ldr r0, _0217dd0c ; =gMapManager str r1, [sp, #0xc] ldr r1, [r4, #0x4c] mov r2, #0 @@ -110636,7 +110636,7 @@ func_ov15_0217dc4c: ; 0x0217dc4c str r2, [sp] str r2, [sp, #4] str r1, [sp, #8] - bl func_ov00_02082504 + bl _ZN10MapManager18func_ov00_02082504Ev mov r1, r0 add r0, sp, #0 bl func_ov00_020a61ac @@ -110655,7 +110655,7 @@ func_ov15_0217dc4c: ; 0x0217dc4c .align 2, 0 arm_func_end func_ov15_0217dc4c _0217dd08: .word data_02050f54 -_0217dd0c: .word data_027e0e60 +_0217dd0c: .word gMapManager .global func_ov15_0217dd10 arm_func_start func_ov15_0217dd10 @@ -113042,12 +113042,12 @@ func_ov15_0217fc40: ; 0x0217fc40 stmdb sp!, {r4, lr} ldr r1, _0217fd58 ; =data_ov15_0218e8e8 mov r4, r0 - ldr r0, _0217fd5c ; =data_027e0e60 + ldr r0, _0217fd5c ; =gMapManager str r1, [r4] add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldrb r0, [r4, #0x3a1] cmp r0, #0 beq _0217fc94 @@ -113113,7 +113113,7 @@ _0217fc94: .align 2, 0 arm_func_end func_ov15_0217fc40 _0217fd58: .word data_ov15_0218e8e8 -_0217fd5c: .word data_027e0e60 +_0217fd5c: .word gMapManager _0217fd60: .word data_027e10a4 .global func_ov15_0217fd64 @@ -113122,12 +113122,12 @@ func_ov15_0217fd64: ; 0x0217fd64 stmdb sp!, {r4, lr} ldr r1, _0217fe84 ; =data_ov15_0218e8e8 mov r4, r0 - ldr r0, _0217fe88 ; =data_027e0e60 + ldr r0, _0217fe88 ; =gMapManager str r1, [r4] add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldrb r0, [r4, #0x3a1] cmp r0, #0 beq _0217fdb8 @@ -113195,7 +113195,7 @@ _0217fdb8: .align 2, 0 arm_func_end func_ov15_0217fd64 _0217fe84: .word data_ov15_0218e8e8 -_0217fe88: .word data_027e0e60 +_0217fe88: .word gMapManager _0217fe8c: .word data_027e10a4 .global func_ov15_0217fe90 @@ -113479,7 +113479,7 @@ _02180200: add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei mov r0, #1 strb r0, [r4, #0x474] b _021802e8 @@ -113494,12 +113494,12 @@ _021802a4: b _021802e8 _021802c4: mov r1, #0x1000 - ldr r0, _0218034c ; =data_027e0e60 + ldr r0, _0218034c ; =gMapManager str r1, [r4, #0x37c] add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei mov r0, #1 strb r0, [r4, #0x474] _021802e8: @@ -113531,7 +113531,7 @@ _0218033c: .word 0xcccccccd _02180340: .word 0x00000708 _02180344: .word data_027e0fe8 _02180348: .word 0x4852434e -_0218034c: .word data_027e0e60 +_0218034c: .word gMapManager _02180350: .word 0x0000ffff .global func_ov15_02180354 @@ -114101,22 +114101,22 @@ _02180b9c: bge _02180bd4 cmp r0, #0 beq _02180bf8 - ldr r0, _02180c50 ; =data_027e0e60 + ldr r0, _02180c50 ; =gMapManager add r1, r5, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei mov r0, #0 strb r0, [r5, #0x474] b _02180bf8 _02180bd4: cmp r0, #0 bne _02180bf8 - ldr r0, _02180c50 ; =data_027e0e60 + ldr r0, _02180c50 ; =gMapManager add r1, r5, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei mov r0, #1 strb r0, [r5, #0x474] _02180bf8: @@ -114145,7 +114145,7 @@ _02180c1c: .align 2, 0 arm_func_end func_ov15_02180af0 _02180c4c: .word 0x0000ffff -_02180c50: .word data_027e0e60 +_02180c50: .word gMapManager _02180c54: .word data_ov15_0218e8c8 _02180c58: .word data_ov15_0218e8d4 _02180c5c: .word data_ov15_02190458 @@ -114832,12 +114832,12 @@ func_ov15_021815b0: ; 0x021815b0 ldr r0, [r1] add r1, r5, #0x36c bl _ZN12ActorManager8GetActorEP8ActorRef - ldr r2, _02181610 ; =data_027e0e60 + ldr r2, _02181610 ; =gMapManager mov r4, r0 ldr r0, [r2] ldrh r1, [r5, #0x26] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 cmpne r4, #0 ldmeqia sp!, {r3, r4, r5, pc} @@ -114852,7 +114852,7 @@ func_ov15_021815b0: ; 0x021815b0 .align 2, 0 arm_func_end func_ov15_021815b0 _0218160c: .word data_027e0fe4 -_02181610: .word data_027e0e60 +_02181610: .word gMapManager _02181614: .word data_027e0f94 .global func_ov15_02181618 @@ -115634,11 +115634,11 @@ _0218212c: ; jump table b _021824dc ; case 3 b _0218251c ; case 4 _02182140: - ldr r0, _0218257c ; =data_027e0e60 + ldr r0, _0218257c ; =gMapManager ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02182548 mov r0, r4 @@ -115912,7 +115912,7 @@ _02182548: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02182110 -_0218257c: .word data_027e0e60 +_0218257c: .word gMapManager _02182580: .word data_027e0f94 _02182584: .word data_027e0f64 _02182588: .word gAdventureFlags @@ -116038,7 +116038,7 @@ func_ov15_021826ac: ; 0x021826ac mov r0, r5 mov r2, r5 bl func_01ff9bc4 - ldr r3, _02182808 ; =data_027e0e60 + ldr r3, _02182808 ; =gMapManager add r7, sp, #0xc ldmia r5, {r0, r1, r2} stmia r7, {r0, r1, r2} @@ -116051,7 +116051,7 @@ func_ov15_021826ac: ; 0x021826ac str r6, [sp] str lr, [sp, #4] str ip, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xa4 add r3, r0, #0x800 ldr r0, [r5, #4] @@ -116090,7 +116090,7 @@ _021827f8: .word 0x00001770 _021827fc: .word data_027e0fac _02182800: .word 0x000008a4 _02182804: .word 0xfffffae1 -_02182808: .word data_027e0e60 +_02182808: .word gMapManager _0218280c: .word 0x00001333 .global func_ov15_02182810 @@ -116121,7 +116121,7 @@ func_ov15_02182810: ; 0x02182810 str r1, [r4, #0x334] ldrsh ip, [r0, #0x98] ldrsh r3, [r0, #0x9a] - ldr r2, _021829e4 ; =data_027e0e60 + ldr r2, _021829e4 ; =gMapManager add r1, sp, #0x20 add r3, ip, r3 strh r3, [r0, #0x98] @@ -116133,7 +116133,7 @@ func_ov15_02182810: ; 0x02182810 str r3, [sp, #0x24] ldr r3, [r4, #0x338] str r3, [sp, #0x28] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x334] cmp r1, r0 blt _021828c0 @@ -116218,7 +116218,7 @@ _0218291c: .align 2, 0 arm_func_end func_ov15_02182810 _021829e0: .word 0x00000133 -_021829e4: .word data_027e0e60 +_021829e4: .word gMapManager _021829e8: .word data_027e10a4 _021829ec: .word data_027e0f64 @@ -116758,14 +116758,14 @@ _02182ff0: ldr r0, [sp, #0x28] ldr r1, [sp, #0x24] str r0, [sp, #0x1c] - ldr r0, _02183248 ; =data_027e0e60 + ldr r0, _02183248 ; =gMapManager str r1, [sp, #0x18] ldr r1, [sp, #0x2c] ldr r0, [r0] str r1, [sp, #0x20] add r1, sp, #0x18 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x9a add r1, r0, #0x900 ldr r0, [sp, #0x28] @@ -116878,7 +116878,7 @@ _021831d4: arm_func_end func_ov15_02182fc0 _02183240: .word data_027e0f64 _02183244: .word data_027e0f94 -_02183248: .word data_027e0e60 +_02183248: .word gMapManager _0218324c: .word data_02050f54 .global func_ov15_02183250 @@ -118300,9 +118300,9 @@ func_ov15_02184540: ; 0x02184540 bl func_ov00_020a5e9c cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _021845e4 ; =data_027e0e60 + ldr r0, _021845e4 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev ldrb r1, [r4, #0x54] cmp r1, r0 bne _021845b4 @@ -118328,16 +118328,16 @@ _021845b4: strb r0, [r4, #0x55] mvn r1, #0x80000000 str r1, [r4, #0x48] - ldr r0, _021845e4 ; =data_027e0e60 + ldr r0, _021845e4 ; =gMapManager str r1, [r4, #0x3c] ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev strb r0, [r4, #0x54] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02184540 _021845e0: .word data_027e0d38 -_021845e4: .word data_027e0e60 +_021845e4: .word gMapManager .global func_ov15_021845e8 arm_func_start func_ov15_021845e8 @@ -118350,9 +118350,9 @@ func_ov15_021845e8: ; 0x021845e8 bl func_ov00_020a5e9c cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _02184640 ; =data_027e0e60 + ldr r0, _02184640 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev ldrb r1, [r4, #0x64] cmp r0, r1 ldmeqia sp!, {r4, pc} @@ -118366,7 +118366,7 @@ func_ov15_021845e8: ; 0x021845e8 .align 2, 0 arm_func_end func_ov15_021845e8 _0218463c: .word data_027e0d38 -_02184640: .word data_027e0e60 +_02184640: .word gMapManager .global func_ov15_02184644 arm_func_start func_ov15_02184644 @@ -118379,9 +118379,9 @@ func_ov15_02184644: ; 0x02184644 bl func_ov00_020a5e9c cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _021846f4 ; =data_027e0e60 + ldr r0, _021846f4 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev ldrb r1, [r4, #0xc3] cmp r0, r1 ldmeqia sp!, {r4, pc} @@ -118419,7 +118419,7 @@ _021846c8: .align 2, 0 arm_func_end func_ov15_02184644 _021846f0: .word data_027e0d38 -_021846f4: .word data_027e0e60 +_021846f4: .word gMapManager .global func_ov15_021846f8 arm_func_start func_ov15_021846f8 @@ -130484,7 +130484,7 @@ data_ov15_0218a294: ; 0x0218a294 .word func_ov15_021299a8 .global data_ov15_0218a298 data_ov15_0218a298: ; 0x0218a298 - .word func_ov00_0207e46c + .word _ZN7MapBase8vfunc_48Ev .global data_ov15_0218a29c data_ov15_0218a29c: ; 0x0218a29c .word func_ov15_02129ff4 @@ -130496,7 +130496,7 @@ data_ov15_0218a2a4: ; 0x0218a2a4 .word func_ov15_021299e4 .global data_ov15_0218a2a8 data_ov15_0218a2a8: ; 0x0218a2a8 - .word func_ov00_0207e498 + .word _ZN7MapBase8vfunc_58Ev .global data_ov15_0218a2ac data_ov15_0218a2ac: ; 0x0218a2ac .word func_ov15_021299ec @@ -130505,7 +130505,7 @@ data_ov15_0218a2b0: ; 0x0218a2b0 .word func_ov15_021299f4 .global data_ov15_0218a2b4 data_ov15_0218a2b4: ; 0x0218a2b4 - .word func_ov00_0207e4b0 + .word _ZN7MapBase8vfunc_64Ev .global data_ov15_0218a2b8 data_ov15_0218a2b8: ; 0x0218a2b8 .word func_ov15_021299fc @@ -130541,10 +130541,10 @@ data_ov15_0218a2e0: ; 0x0218a2e0 .word func_ov15_02129b2c .global data_ov15_0218a2e4 data_ov15_0218a2e4: ; 0x0218a2e4 - .word func_ov00_0207f4a0 + .word _ZN7MapBase8vfunc_94Ev .global data_ov15_0218a2e8 data_ov15_0218a2e8: ; 0x0218a2e8 - .word func_ov00_02080d78 + .word _ZN7MapBase8vfunc_98Ev .global data_ov15_0218a2ec data_ov15_0218a2ec: ; 0x0218a2ec .word func_ov15_02129b50 @@ -130553,13 +130553,13 @@ data_ov15_0218a2f0: ; 0x0218a2f0 .word func_ov15_02129c04 .global data_ov15_0218a2f4 data_ov15_0218a2f4: ; 0x0218a2f4 - .word func_ov00_0207f33c + .word _ZN7MapBase8vfunc_a4Ev .global data_ov15_0218a2f8 data_ov15_0218a2f8: ; 0x0218a2f8 - .word func_ov00_0207f344 + .word _ZN7MapBase8vfunc_a8Ev .global data_ov15_0218a2fc data_ov15_0218a2fc: ; 0x0218a2fc - .word func_ov00_0207f348 + .word _ZN7MapBase8vfunc_acEv .global data_ov15_0218a300 data_ov15_0218a300: ; 0x0218a300 .word func_ov15_02129b38 @@ -130571,10 +130571,10 @@ data_ov15_0218a308: ; 0x0218a308 .word func_ov15_02129b30 .global data_ov15_0218a30c data_ov15_0218a30c: ; 0x0218a30c - .word func_ov00_02080d74 + .word _ZN7MapBase8vfunc_bcEv .global data_ov15_0218a310 data_ov15_0218a310: ; 0x0218a310 - .word func_ov00_02080d7c + .word _ZN7MapBase8vfunc_c0Ev .global data_ov15_0218a314 data_ov15_0218a314: ; 0x0218a314 .ascii "M01" diff --git a/asm/ov17.inc b/asm/ov17.inc index 50b401ef..c8e656d3 100644 --- a/asm/ov17.inc +++ b/asm/ov17.inc @@ -90,7 +90,7 @@ .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -207,61 +207,61 @@ .extern func_ov00_0207c358 .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern func_ov00_0207da38 -.extern func_ov00_0207ddf4 -.extern func_ov00_0207e060 -.extern func_ov00_0207e444 -.extern func_ov00_0207e46c -.extern func_ov00_0207e488 -.extern func_ov00_0207e4b0 -.extern func_ov00_0207e4b8 -.extern func_ov00_0207e970 -.extern func_ov00_0207ee14 -.extern func_ov00_0207eff4 -.extern func_ov00_0207f324 -.extern func_ov00_0207f32c -.extern func_ov00_0207f334 -.extern func_ov00_0207f338 -.extern func_ov00_0207f364 -.extern func_ov00_0207f3c4 -.extern func_ov00_0207f4a4 -.extern func_ov00_0207f588 -.extern func_ov00_020807d4 +.extern _ZN7MapBaseD1Ev +.extern _ZN7MapBase8vfunc_18Ev +.extern _ZN7MapBase8vfunc_b0Eii +.extern _ZN7MapBase8vfunc_b4Ev +.extern _ZN7MapBase8vfunc_48Ev +.extern _ZN7MapBase8vfunc_50Ev +.extern _ZN7MapBase8vfunc_64Ev +.extern _ZN7MapBase8vfunc_68Eii +.extern _ZN7MapBase8vfunc_6cEiii +.extern _ZN7MapBase8vfunc_70EP5Vec3p +.extern _ZN7MapBase8vfunc_74EP5Vec3p +.extern _ZN7MapBase8vfunc_88Ev +.extern _ZN7MapBase8vfunc_8cEv +.extern _ZN7MapBase8vfunc_9cEv +.extern _ZN7MapBase8vfunc_a0Ev +.extern _ZN7MapBase8vfunc_84Ei +.extern _ZN7MapBase8vfunc_90Eiii +.extern _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si +.extern _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi +.extern _ZN7MapBase8vfunc_b8Ev .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020823c4 -.extern func_ov00_020823d4 -.extern func_ov00_020823e4 -.extern func_ov00_020823f4 -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_020828c0 -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_02083604 -.extern func_ov00_02083614 -.extern func_ov00_020836dc -.extern func_ov00_02083790 -.extern func_ov00_02083840 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_02083fb0 -.extern func_ov00_020840a0 -.extern func_ov00_020840c4 -.extern func_ov00_020843ec -.extern func_ov00_02084a5c -.extern func_ov00_02084ac4 -.extern func_ov00_02084b20 -.extern func_ov00_02084b2c -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 -.extern func_ov00_02084d24 -.extern func_ov00_0208583c +.extern _ZN10MapManager18func_ov00_020823c4EPii +.extern _ZN10MapManager18func_ov00_020823d4Ei +.extern _ZN10MapManager18func_ov00_020823e4Ei +.extern _ZN10MapManager16MapData_vfunc_b4Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager16MapData_vfunc_7cEv +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_02083604Ei +.extern _ZN10MapManager18func_ov00_02083614Ei +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083790Ei +.extern _ZN10MapManager18func_ov00_02083840Ei +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii +.extern _ZN10MapManager18func_ov00_02084ac4Ej +.extern _ZN10MapManager21SetCourseData_Unk_25cEc +.extern _ZN10MapManager21GetCourseData_Unk_25dEv +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei +.extern _ZN10MapManager18func_ov00_02084d24Ecci +.extern _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi .extern func_ov00_02088130 .extern func_ov00_02088144 .extern func_ov00_02088158 diff --git a/asm/ov17.s b/asm/ov17.s index bc796bdc..cb50764d 100644 --- a/asm/ov17.s +++ b/asm/ov17.s @@ -221,7 +221,7 @@ _0215b64a: lsl r0, r0, #2 str r1, [r5, r0] add r0, r5, #0 - blx func_ov00_0207da38 + blx _ZN7MapBaseD1Ev add r0, r5, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 @@ -298,7 +298,7 @@ _0215b6de: lsl r0, r0, #2 str r1, [r5, r0] add r0, r5, #0 - blx func_ov00_0207da38 + blx _ZN7MapBaseD1Ev add r0, r5, #0 blx _ZN9SysObjectdlEPv add r0, r5, #0 @@ -476,7 +476,7 @@ _0215b850: mov r3, #0 strb r7, [sp, #8] strb r8, [sp, #9] - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -493,7 +493,7 @@ _0215b850: mov r1, r10 mov r2, r5 mov r3, #1 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -510,7 +510,7 @@ _0215b850: mov r1, r10 mov r2, r5 mov r3, #2 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -527,7 +527,7 @@ _0215b850: mov r1, r10 mov r2, r5 mov r3, #3 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -606,7 +606,7 @@ func_ov17_0215ba1c: ; 0x0215ba1c mov r4, r2 mov r6, r0 mov r5, r1 - bl func_ov00_0207f4a4 + bl _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si cmp r4, #0 cmpne r0, #0 mov r0, r6 @@ -768,23 +768,23 @@ func_ov17_0215bbd4: ; 0x0215bbd4 sub sp, sp, #0x1c mov r6, r2 mov r7, r1 - ldr r2, _0215bd28 ; =data_027e0e60 + ldr r2, _0215bd28 ; =gMapManager mov r8, r0 ldrb r1, [r6, #1] ldr r0, [r2] mov r5, r3 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r4, r0 mov r0, r8 ldr r2, [r0] mov r1, r6 ldr r2, [r2, #0x60] blx r2 - ldr r1, _0215bd28 ; =data_027e0e60 + ldr r1, _0215bd28 ; =gMapManager mov r9, r0 ldr r0, [r1] ldrb r1, [r6] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r9, [sp, #0x14] str r4, [sp, #0x18] str r0, [sp, #0x10] @@ -858,7 +858,7 @@ _0215bd1c: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov17_0215bbd4 -_0215bd28: .word data_027e0e60 +_0215bd28: .word gMapManager _0215bd2c: .word data_027e0f68 .global func_ov17_0215bd30 @@ -1139,12 +1139,12 @@ func_ov17_0215bf8c: ; 0x0215bf8c sub r0, r0, #4 str r0, [r4, #0x18] ldr r1, [r4, #0x20] - ldr r0, _0215c0fc ; =data_027e0e60 + ldr r0, _0215c0fc ; =gMapManager sub r1, r1, #4 str r1, [r4, #0x20] ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 mov r2, #1 @@ -1164,7 +1164,7 @@ _0215c0e4: .align 2, 0 arm_func_end func_ov17_0215bf8c _0215c0f8: .word 0x00001333 -_0215c0fc: .word data_027e0e60 +_0215c0fc: .word gMapManager .global func_ov17_0215c100 arm_func_start func_ov17_0215c100 @@ -1324,12 +1324,12 @@ _0215c2f4: mov r0, #0x1f strb r0, [r5, #0xd1] ldr r1, [r5, #4] - ldr r0, _0215c654 ; =data_027e0e60 + ldr r0, _0215c654 ; =gMapManager orr r1, r1, #0x14 str r1, [r5, #4] ldr r0, [r0] add r1, r5, #0x38 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0215c648 _0215c32c: ldr r1, [r5, #4] @@ -1500,11 +1500,11 @@ _0215c598: bic r0, r0, #4 str r0, [r5, #4] strb r1, [r5, #0x3c] - ldr r0, _0215c654 ; =data_027e0e60 + ldr r0, _0215c654 ; =gMapManager add r1, r5, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r1, _0215c670 ; =0xffffed1f mov r0, #0 str r1, [r5, #0x70] @@ -1535,18 +1535,18 @@ _0215c5fc: mov r2, #1 bl func_ov00_0208ba08 _0215c634: - ldr r0, _0215c654 ; =data_027e0e60 + ldr r0, _0215c654 ; =gMapManager ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _0215c648: mov r0, #1 add sp, sp, #0x108 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov17_0215c2bc -_0215c654: .word data_027e0e60 +_0215c654: .word gMapManager _0215c658: .word gAdventureFlags _0215c65c: .word data_027e0e58 _0215c660: .word data_027e0ffc @@ -1821,7 +1821,7 @@ func_ov17_0215c940: ; 0x0215c940 cmp r0, #1 bne _0215c9c4 ldr r0, [r4, #0x18] - ldr r1, _0215ca64 ; =data_027e0e60 + ldr r1, _0215ca64 ; =gMapManager add r0, r0, #0x3fc add r0, r0, #0x400 str r0, [r4, #0x18] @@ -1832,15 +1832,15 @@ func_ov17_0215c940: ; 0x0215c940 strb r2, [sp, #4] mov r2, #1 strb r3, [sp, #5] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r2, [sp, #4] - ldr r0, _0215ca64 ; =data_027e0e60 + ldr r0, _0215ca64 ; =gMapManager add r1, sp, #4 add r3, r2, #1 ldr r0, [r0] mov r2, #1 strb r3, [sp, #4] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii _0215c9c4: ldrh r0, [r4, #0x26] mov r1, #0x24 @@ -1884,7 +1884,7 @@ _0215c9c4: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_0215c940 -_0215ca64: .word data_027e0e60 +_0215ca64: .word gMapManager _0215ca68: .word data_027e0f68 _0215ca6c: .word 0x000004cd @@ -1897,10 +1897,10 @@ func_ov17_0215ca70: ; 0x0215ca70 ldrh r0, [r4, #0x24] cmp r0, #1 bne _0215cabc - ldr r0, _0215cba0 ; =data_027e0e60 + ldr r0, _0215cba0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 bne _0215cabc mov r0, r4 @@ -1965,16 +1965,16 @@ _0215cb6c: mov r2, #1 blx r3 _0215cb84: - ldr r0, _0215cba0 ; =data_027e0e60 + ldr r0, _0215cba0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_0215ca70 -_0215cba0: .word data_027e0e60 +_0215cba0: .word gMapManager _0215cba4: .word data_027e0fe4 .global func_ov17_0215cba8 @@ -2216,12 +2216,12 @@ func_ov17_0215ce24: ; 0x0215ce24 movne r0, #0 ldmneia sp!, {r4, r5, pc} ldr r1, [sp, #4] - ldr r0, _0215cee8 ; =data_027e0e60 + ldr r0, _0215cee8 ; =gMapManager str r1, [r4] ldr r1, [r0] add r0, sp, #0 add r2, r2, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r1, [sp] ldrb r0, [r5, #0x14] cmp r1, r0 @@ -2236,7 +2236,7 @@ func_ov17_0215ce24: ; 0x0215ce24 arm_func_end func_ov17_0215ce24 _0215cee0: .word data_027e0fe4 _0215cee4: .word 0x43525953 -_0215cee8: .word data_027e0e60 +_0215cee8: .word gMapManager .global func_ov17_0215ceec arm_func_start func_ov17_0215ceec @@ -2488,7 +2488,7 @@ _0215d1ec: mov r2, r0 bl func_01ff9bc4 ldr r3, _0215d478 ; =data_027e0d0c - ldr r1, _0215d47c ; =data_027e0e60 + ldr r1, _0215d47c ; =gMapManager ldr r2, [r3] add r0, sp, #0 str r2, [r4, #0x208] @@ -2498,7 +2498,7 @@ _0215d1ec: ldr r3, [r3, #8] str r3, [r4, #0x210] ldr r1, [r1] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, [r4, #0x68] ldr r1, [r4, #0x60] cmp r0, #0 @@ -2653,7 +2653,7 @@ _0215d46c: .word 0x0000019a _0215d470: .word 0xfffffe3d _0215d474: .word 0x000001c3 _0215d478: .word data_027e0d0c -_0215d47c: .word data_027e0e60 +_0215d47c: .word gMapManager _0215d480: .word data_027e0ffc .global func_ov17_0215d484 @@ -2926,7 +2926,7 @@ func_ov17_0215d7bc: ; 0x0215d7bc mov lr, #4 str r1, [sp, #0x24] ldr r1, [r4, #0x50] - ldr ip, _0215d8b0 ; =data_027e0e60 + ldr ip, _0215d8b0 ; =gMapManager str r1, [sp, #0x28] ldr r2, [r4, #0x48] add r1, sp, #0x2c @@ -2960,7 +2960,7 @@ func_ov17_0215d7bc: ; 0x0215d7bc .align 2, 0 arm_func_end func_ov17_0215d7bc _0215d8ac: .word 0x0000ffff -_0215d8b0: .word data_027e0e60 +_0215d8b0: .word gMapManager _0215d8b4: .word data_ov17_0216bc64 .global func_ov17_0215d8b8 @@ -3501,15 +3501,15 @@ _0215dfec: .word func_01ff9bc4 func_ov17_0215dff0: ; 0x0215dff0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #8 - ldr r2, _0215e1b4 ; =data_027e0e60 + ldr r2, _0215e1b4 ; =gMapManager mov r11, r1 ldr r1, [r2] mov r10, r0 add r0, sp, #6 mov r2, r11 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r7, #0 - ldr r4, _0215e1b4 ; =data_027e0e60 + ldr r4, _0215e1b4 ; =gMapManager str r7, [r10, #0x1ec] add r6, sp, #4 _0215e024: @@ -3526,7 +3526,7 @@ _0215e038: mov r1, r6 strb r8, [sp, #4] strb r2, [sp, #5] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _0215e078 ldr r1, [r0] @@ -3618,7 +3618,7 @@ _0215e090: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_0215dff0 -_0215e1b4: .word data_027e0e60 +_0215e1b4: .word gMapManager _0215e1b8: .word data_ov17_0216bc64 _0215e1bc: .word data_027e0e58 @@ -3744,15 +3744,15 @@ _0215e334: .word func_ov00_020b7d74 arm_func_start func_ov17_0215e338 func_ov17_0215e338: ; 0x0215e338 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - ldr r2, _0215e460 ; =data_027e0e60 + ldr r2, _0215e460 ; =gMapManager mov r11, r1 ldr r1, [r2] mov r10, r0 add r0, sp, #2 mov r2, r11 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r7, #0 - ldr r4, _0215e460 ; =data_027e0e60 + ldr r4, _0215e460 ; =gMapManager str r7, [r10, #0x250] add r6, sp, #0 _0215e368: @@ -3769,7 +3769,7 @@ _0215e37c: mov r1, r6 strb r8, [sp] strb r2, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _0215e3bc ldr r1, [r0] @@ -3823,7 +3823,7 @@ _0215e3e4: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_0215e338 -_0215e460: .word data_027e0e60 +_0215e460: .word gMapManager .global func_ov17_0215e464 arm_func_start func_ov17_0215e464 @@ -4848,15 +4848,15 @@ func_ov17_0215f16c: ; 0x0215f16c bl func_ov17_0215f874 b _0215f2b8 _0215f25c: - ldr r1, _0215f2e0 ; =data_027e0e60 + ldr r1, _0215f2e0 ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c - ldr r0, _0215f2e0 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _0215f2e0 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0215f2ac ldr r1, [r0] @@ -4885,7 +4885,7 @@ _0215f2d0: .word gItemManager _0215f2d4: .word data_027e0fc4 _0215f2d8: .word 0x00000733 _0215f2dc: .word data_ov17_0216b0d0 -_0215f2e0: .word data_027e0e60 +_0215f2e0: .word gMapManager .global func_ov17_0215f2e4 arm_func_start func_ov17_0215f2e4 @@ -5302,15 +5302,15 @@ func_ov17_0215f874: ; 0x0215f874 mov r1, #2 mov r4, r0 bl func_ov17_0215f2e4 - ldr r1, _0215f904 ; =data_027e0e60 + ldr r1, _0215f904 ; =gMapManager add r0, sp, #0 ldr r1, [r1] mov r2, r5 - bl func_ov00_02083a1c - ldr r0, _0215f904 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _0215f904 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r0] @@ -5335,7 +5335,7 @@ func_ov17_0215f874: ; 0x0215f874 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_0215f874 -_0215f904: .word data_027e0e60 +_0215f904: .word gMapManager .global func_ov17_0215f908 arm_func_start func_ov17_0215f908 @@ -5397,7 +5397,7 @@ func_ov17_0215f9a0: ; 0x0215f9a0 cmp r0, #2 bne _0215fa00 ldr r1, [r4, #0x48] - ldr r0, _0215fa20 ; =data_027e0e60 + ldr r0, _0215fa20 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -5406,7 +5406,7 @@ func_ov17_0215f9a0: ; 0x0215f9a0 add r1, sp, #0 str r2, [sp, #8] ldr r2, [r4, #8] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi cmp r0, #0 movlt r0, #1 movge r0, #0 @@ -5425,7 +5425,7 @@ _0215fa00: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov17_0215f9a0 -_0215fa20: .word data_027e0e60 +_0215fa20: .word gMapManager .global func_ov17_0215fa24 arm_func_start func_ov17_0215fa24 @@ -5582,13 +5582,13 @@ _0215fb50: cmp r4, r0 bgt _0215fb88 _0215fb5e: - ldr r0, _0215fba4 ; =data_027e0e60 + ldr r0, _0215fba4 ; =gMapManager ldr r7, [r0] add r0, r4, #0 blx func_ov03_020f8068 add r1, r0, #0 add r0, r7, #0 - blx func_ov00_02083614 + blx _ZN10MapManager18func_ov00_02083614Ei cmp r0, #0 beq _0215fb80 cmp r4, r5 @@ -5621,7 +5621,7 @@ _0215fb96: pop {r3, r4, r5, r6, r7, pc} nop thumb_func_end func_ov17_0215faf0 -_0215fba4: .word data_027e0e60 +_0215fba4: .word gMapManager .global func_ov17_0215fba8 arm_func_start func_ov17_0215fba8 @@ -5655,7 +5655,7 @@ func_ov17_0215fbd8: ; 0x0215fbd8 mov r1, #0 movge r6, #6 bl func_ov17_02160274 - ldr r11, _0215fcd0 ; =data_027e0e60 + ldr r11, _0215fcd0 ; =gMapManager mov r4, r7 add r5, r7, #4 mov r9, #0 @@ -5674,7 +5674,7 @@ _0215fc14: bl func_ov03_020f8068 mov r1, r0 mov r0, r10 - bl func_ov00_02083614 + bl _ZN10MapManager18func_ov00_02083614Ei cmp r0, #0 beq _0215fcb4 ldr r10, [r11] @@ -5682,7 +5682,7 @@ _0215fc14: bl func_ov03_020f8068 mov r1, r0 mov r0, r10 - bl func_ov00_02083604 + bl _ZN10MapManager18func_ov00_02083604Ei cmp r0, #0 beq _0215fcb4 _0215fc78: @@ -5711,7 +5711,7 @@ _0215fcb4: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_0215fbd8 -_0215fcd0: .word data_027e0e60 +_0215fcd0: .word gMapManager .global func_ov17_0215fcd4 arm_func_start func_ov17_0215fcd4 @@ -5745,13 +5745,13 @@ _0215fd1c: cmp r7, r6 bgt _0215fd7c _0215fd3c: - ldr r0, _0215ff20 ; =data_027e0e60 + ldr r0, _0215ff20 ; =gMapManager ldr r8, [r0] mov r0, r7 bl func_ov03_020f8068 mov r1, r0 mov r0, r8 - bl func_ov00_02083614 + bl _ZN10MapManager18func_ov00_02083614Ei cmp r0, #0 beq _0215fd70 cmp r5, r7 @@ -5879,7 +5879,7 @@ _0215ff14: .align 2, 0 arm_func_end func_ov17_0215fcd4 _0215ff1c: .word 0x0001869f -_0215ff20: .word data_027e0e60 +_0215ff20: .word gMapManager _0215ff24: .word data_027e1054 _0215ff28: .word data_ov00_020eec9c _0215ff2c: .word data_027e077c @@ -5930,13 +5930,13 @@ _0215ffcc: mov r0, r10 mov r1, r5 bl func_ov17_02160274 - ldr r1, _021600e8 ; =data_027e0e60 + ldr r1, _021600e8 ; =gMapManager mov r4, r0 ldr r6, [r1] bl func_ov03_020f8068 mov r1, r0 mov r0, r6 - bl func_ov00_02083614 + bl _ZN10MapManager18func_ov00_02083614Ei cmp r0, #0 beq _02160088 mov r0, r7 @@ -6002,7 +6002,7 @@ _02160098: arm_func_end func_ov17_0215ff30 _021600e0: .word data_027e0618 _021600e4: .word data_ov17_0216bfb4 -_021600e8: .word data_027e0e60 +_021600e8: .word gMapManager _021600ec: .word data_027e077c .global func_ov17_021600f0 @@ -6724,7 +6724,7 @@ _021608d4: add r1, r4, #0x1b8 bl func_ov00_020c522c ldr r1, [r4, #0x1b8] - ldr r0, _02160950 ; =data_027e0e60 + ldr r0, _02160950 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x1bc] ldr r0, [r0] @@ -6733,7 +6733,7 @@ _021608d4: add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x1bc] ldr r0, [r4, #0x144] cmp r0, #0 @@ -6755,7 +6755,7 @@ _02160934: arm_func_end func_ov17_021607b8 _02160948: .word data_027e0fec _0216094c: .word 0x00000333 -_02160950: .word data_027e0e60 +_02160950: .word gMapManager .global func_ov17_02160954 arm_func_start func_ov17_02160954 @@ -6931,7 +6931,7 @@ _02160b10: addeq sp, sp, #0x20 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r5, #0x48] - ldr r0, _02160e5c ; =data_027e0e60 + ldr r0, _02160e5c ; =gMapManager str r1, [sp, #0x14] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -6940,7 +6940,7 @@ _02160b10: add r0, sp, #4 add r2, sp, #0x14 str r3, [sp, #0x1c] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -7003,7 +7003,7 @@ _02160c28: cmp r0, #0 beq _02160d68 ldr r1, [r5, #0x48] - ldr r0, _02160e5c ; =data_027e0e60 + ldr r0, _02160e5c ; =gMapManager str r1, [sp, #8] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -7012,7 +7012,7 @@ _02160c28: add r0, sp, #0 add r2, sp, #8 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -7139,7 +7139,7 @@ _02160e54: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_02160a78 -_02160e5c: .word data_027e0e60 +_02160e5c: .word gMapManager _02160e60: .word data_027e0ffc _02160e64: .word 0x000001ab _02160e68: .word 0xfffffe66 @@ -7607,18 +7607,18 @@ _02161404: cmpne r0, #1 mov r2, #0 bne _02161468 - ldr r0, _021614f0 ; =data_027e0e60 + ldr r0, _021614f0 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #2 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _021614dc _02161468: - ldr r0, _021614f0 ; =data_027e0e60 + ldr r0, _021614f0 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #1 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _021614dc _02161480: bl func_ov14_02127188 @@ -7638,10 +7638,10 @@ _021614a8: mov r0, r5 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _021614f0 ; =data_027e0e60 + ldr r0, _021614f0 ; =gMapManager ldrh r1, [r5, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei b _021614dc _021614d0: mov r0, r5 @@ -7655,7 +7655,7 @@ _021614dc: arm_func_end func_ov17_021612b0 _021614e8: .word data_ov17_0216b0d8 _021614ec: .word gAdventureFlags -_021614f0: .word data_027e0e60 +_021614f0: .word gMapManager .global func_ov17_021614f4 arm_func_start func_ov17_021614f4 @@ -7746,11 +7746,11 @@ func_ov17_0216161c: ; 0x0216161c cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _02161678 ; =data_027e0e60 + ldr r0, _02161678 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02161670 ldr r0, _0216167c ; =data_027e0fe4 @@ -7766,7 +7766,7 @@ _02161670: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_0216161c -_02161678: .word data_027e0e60 +_02161678: .word gMapManager _0216167c: .word data_027e0fe4 .global func_ov17_02161680 @@ -7774,10 +7774,10 @@ _0216167c: .word data_027e0fe4 func_ov17_02161680: ; 0x02161680 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _021616e8 ; =data_027e0e60 + ldr r0, _021616e8 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} @@ -7792,25 +7792,25 @@ func_ov17_02161680: ; 0x02161680 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _021616e8 ; =data_027e0e60 + ldr r0, _021616e8 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_02161680 -_021616e8: .word data_027e0e60 +_021616e8: .word gMapManager .global func_ov17_021616ec arm_func_start func_ov17_021616ec func_ov17_021616ec: ; 0x021616ec stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0216179c ; =data_027e0e60 + ldr r0, _0216179c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} @@ -7835,23 +7835,23 @@ func_ov17_021616ec: ; 0x021616ec cmp r1, r0 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _0216179c ; =data_027e0e60 + ldr r0, _0216179c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0216179c ; =data_027e0e60 + ldr r0, _0216179c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083790 + bl _ZN10MapManager18func_ov00_02083790Ei mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_021616ec -_0216179c: .word data_027e0e60 +_0216179c: .word gMapManager _021617a0: .word data_027e0d38 _021617a4: .word data_027e077c @@ -9449,7 +9449,7 @@ func_ov17_02162afc: ; 0x02162afc ldr ip, [ip, #0x10] add r1, sp, #8 blx ip - ldr r0, _02162bec ; =data_027e0e60 + ldr r0, _02162bec ; =gMapManager ldr r1, [r0] ldrb r1, [r1, #8] strb r1, [r4, #0x60] @@ -9475,7 +9475,7 @@ _02162bd0: .align 2, 0 arm_func_end func_ov17_02162afc _02162be8: .word 0x00001333 -_02162bec: .word data_027e0e60 +_02162bec: .word gMapManager .global func_ov17_02162bf0 arm_func_start func_ov17_02162bf0 @@ -9494,7 +9494,7 @@ func_ov17_02162bf0: ; 0x02162bf0 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r5, #0x64] - ldr r0, _02162cf4 ; =data_027e0e60 + ldr r0, _02162cf4 ; =gMapManager add r1, r1, #1 str r1, [r5, #0x64] ldr r1, [r5, #0x68] @@ -9520,7 +9520,7 @@ _02162c78: mov r2, #0 blx r3 _02162c88: - ldr r1, _02162cf4 ; =data_027e0e60 + ldr r1, _02162cf4 ; =gMapManager ldr r0, _02162cf8 ; =data_027e0f64 ldr r2, [r1] add r1, sp, #0 @@ -9550,7 +9550,7 @@ _02162ce0: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_02162bf0 -_02162cf4: .word data_027e0e60 +_02162cf4: .word gMapManager _02162cf8: .word data_027e0f64 _02162cfc: .word data_027e0e58 @@ -9628,7 +9628,7 @@ func_ov17_02162dd0: ; 0x02162dd0 cmp r0, #0x19 movlt r0, #1 ldmltia sp!, {r4, pc} - ldr r0, _02162e78 ; =data_027e0e60 + ldr r0, _02162e78 ; =gMapManager mov r3, #0 ldr r1, [r0] add r2, r4, #0x18 @@ -9642,7 +9642,7 @@ func_ov17_02162dd0: ; 0x02162dd0 ldr r1, _02162e80 ; =0x000001a9 str r3, [r4, #0x68] bl func_ov00_020ceacc - ldr r0, _02162e78 ; =data_027e0e60 + ldr r0, _02162e78 ; =gMapManager ldr r0, [r0] ldrb r0, [r0, #8] cmp r0, #0 @@ -9664,7 +9664,7 @@ _02162e70: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_02162dd0 -_02162e78: .word data_027e0e60 +_02162e78: .word gMapManager _02162e7c: .word data_027e0ffc _02162e80: .word 0x000001a9 @@ -10926,18 +10926,18 @@ func_ov17_02163e24: ; 0x02163e24 ldrb r0, [r0, #0x71] cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _02163ecc ; =data_027e0e60 + ldr r0, _02163ecc ; =gMapManager ldr r0, [r0] - bl func_ov00_0208335c - ldr r1, _02163ecc ; =data_027e0e60 + bl _ZN10MapManager17Get_MapData_Unk28Ev + ldr r1, _02163ecc ; =gMapManager mov r11, r0 ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r8, r0 mov r9, #0 cmp r11, #0 ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r4, _02163ecc ; =data_027e0e60 + ldr r4, _02163ecc ; =gMapManager add r6, sp, #0 _02163e68: mov r10, #0 @@ -10949,7 +10949,7 @@ _02163e78: mov r1, r6 strb r7, [sp] strb r10, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _02163eb0 ldr r1, [r0] @@ -10970,7 +10970,7 @@ _02163ebc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_02163e24 -_02163ecc: .word data_027e0e60 +_02163ecc: .word gMapManager .global func_ov17_02163ed0 arm_func_start func_ov17_02163ed0 @@ -11050,33 +11050,33 @@ _02163fbc: strb r0, [r4, #0x3c] mov r2, #0 str r2, [r4, #0x68] - ldr r0, _02164084 ; =data_027e0e60 + ldr r0, _02164084 ; =gMapManager str r2, [r4, #0x6c] ldr r0, [r0] add r1, r4, #0x38 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0216407c _02163fe4: mov r0, #0 strb r0, [r4, #0x3c] ldr r1, _02164088 ; =0xfffff666 str r0, [r4, #0x68] - ldr r0, _02164084 ; =data_027e0e60 + ldr r0, _02164084 ; =gMapManager str r1, [r4, #0x6c] ldr r0, [r0] add r1, r4, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0216407c _02164010: mov r0, #1 strb r0, [r4, #0x3c] mov r2, #0 - ldr r0, _02164084 ; =data_027e0e60 + ldr r0, _02164084 ; =gMapManager str r2, [r4, #0x68] ldr r0, [r0] add r1, r4, #0x38 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi cmp r5, #0 bne _0216407c mov r0, r4 @@ -11086,12 +11086,12 @@ _02164010: _02164048: mov r1, #0 strb r1, [r4, #0x3c] - ldr r0, _02164084 ; =data_027e0e60 + ldr r0, _02164084 ; =gMapManager str r1, [r4, #0x68] ldr r0, [r0] add r1, r4, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi cmp r5, #0 bne _0216407c mov r0, r4 @@ -11102,7 +11102,7 @@ _0216407c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_02163f90 -_02164084: .word data_027e0e60 +_02164084: .word gMapManager _02164088: .word 0xfffff666 .global func_ov17_0216408c @@ -11119,7 +11119,7 @@ func_ov17_0216408c: ; 0x0216408c beq _021640d4 cmp r3, #1 bne _021640d4 - ldr ip, _021640fc ; =data_027e0e60 + ldr ip, _021640fc ; =gMapManager mov r3, #0xc ldr ip, [ip] ldrb ip, [ip, #8] @@ -11127,7 +11127,7 @@ func_ov17_0216408c: ; 0x0216408c movne r1, #0x36 b _021640ec _021640d4: - ldr ip, _021640fc ; =data_027e0e60 + ldr ip, _021640fc ; =gMapManager mov r3, #0xb ldr ip, [ip] ldrb ip, [ip, #8] @@ -11140,7 +11140,7 @@ _021640ec: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov17_0216408c -_021640fc: .word data_027e0e60 +_021640fc: .word gMapManager .global func_ov17_02164100 arm_func_start func_ov17_02164100 @@ -11166,7 +11166,7 @@ func_ov17_02164120: ; 0x02164120 beq _02164178 cmp r1, #1 ldmneia sp!, {r3, pc} - ldr r1, _02164280 ; =data_027e0e60 + ldr r1, _02164280 ; =gMapManager ldr r3, [r0] ldr r1, [r1] ldrb r1, [r1, #8] @@ -11182,7 +11182,7 @@ _02164168: blx r3 ldmia sp!, {r3, pc} _02164178: - ldr r1, _02164280 ; =data_027e0e60 + ldr r1, _02164280 ; =gMapManager ldr r3, [r0] ldr r1, [r1] ldrb r1, [r1, #8] @@ -11202,7 +11202,7 @@ _021641b0: beq _02164220 cmp r1, #1 ldmneia sp!, {r3, pc} - ldr r1, _02164280 ; =data_027e0e60 + ldr r1, _02164280 ; =gMapManager ldr r1, [r1] ldrb r1, [r1, #8] cmp r1, #0 @@ -11228,7 +11228,7 @@ _021641fc: blx r3 ldmia sp!, {r3, pc} _02164220: - ldr r1, _02164280 ; =data_027e0e60 + ldr r1, _02164280 ; =gMapManager ldr r1, [r1] ldrb r1, [r1, #8] cmp r1, #0 @@ -11255,7 +11255,7 @@ _0216425c: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov17_02164120 -_02164280: .word data_027e0e60 +_02164280: .word gMapManager .global func_ov17_02164284 arm_func_start func_ov17_02164284 @@ -11268,7 +11268,7 @@ func_ov17_02164284: ; 0x02164284 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrb r0, [r10, #0x14] - ldr r1, _02164474 ; =data_027e0e60 + ldr r1, _02164474 ; =gMapManager str r0, [sp, #4] ldrb r0, [r10, #0x15] str r0, [sp] @@ -11278,30 +11278,30 @@ func_ov17_02164284: ; 0x02164284 str r1, [sp, #8] ldr r1, [sp] add r7, r1, #0xa - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r1, [sp, #8] cmp r1, r0 blt _021642ec - ldr r0, _02164474 ; =data_027e0e60 + ldr r0, _02164474 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #8] _021642ec: - ldr r0, _02164474 ; =data_027e0e60 + ldr r0, _02164474 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r7, r0 blt _02164310 - ldr r0, _02164474 ; =data_027e0e60 + ldr r0, _02164474 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r7, r0 _02164310: ldr r8, [sp] mov r0, r8 cmp r0, r7 bge _0216438c - ldr r9, _02164474 ; =data_027e0e60 + ldr r9, _02164474 ; =gMapManager mov r4, #0 add r6, sp, #0xe _0216432c: @@ -11310,7 +11310,7 @@ _0216432c: mov r1, r6 strb r2, [sp, #0xe] strb r8, [sp, #0xf] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r5, r0 cmp r5, r10 beq _02164380 @@ -11354,12 +11354,12 @@ _021643b4: ldr r0, [sp, #4] and r6, r0, #0xff _021643e0: - ldr r0, _02164474 ; =data_027e0e60 + ldr r0, _02164474 ; =gMapManager mov r1, r11 ldr r0, [r0] strb r6, [sp, #0xc] strb r9, [sp, #0xd] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r5, r0 cmp r5, r10 beq _0216442c @@ -11397,7 +11397,7 @@ _02164464: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_02164284 -_02164474: .word data_027e0e60 +_02164474: .word gMapManager .global func_ov17_02164478 arm_func_start func_ov17_02164478 @@ -12425,20 +12425,20 @@ _021651b0: movne r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _021651c0: - ldr r0, _02165280 ; =data_027e0e60 + ldr r0, _02165280 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208335c - ldr r1, _02165280 ; =data_027e0e60 + bl _ZN10MapManager17Get_MapData_Unk28Ev + ldr r1, _02165280 ; =gMapManager and r11, r0, #0xff ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r8, #0 strb r8, [sp] strb r8, [sp, #1] cmp r11, #0 and r7, r0, #0xff bls _02165278 - ldr r4, _02165280 ; =data_027e0e60 + ldr r4, _02165280 ; =gMapManager add r6, sp, #0 _021651fc: mov r9, #0 @@ -12449,7 +12449,7 @@ _02165208: mov r1, r6 strb r8, [sp] strb r9, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _02165258 ldr r1, [r0] @@ -12480,7 +12480,7 @@ _02165278: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_0216517c -_02165280: .word data_027e0e60 +_02165280: .word gMapManager .global func_ov17_02165284 arm_func_start func_ov17_02165284 @@ -13051,9 +13051,9 @@ _02165770: add sp, #8 pop {r4, pc} _0216577e: - ldr r0, _021657b8 ; =data_027e0e60 + ldr r0, _021657b8 ; =gMapManager ldr r0, [r0] - blx func_ov00_02084b2c + blx _ZN10MapManager21GetCourseData_Unk_25dEv cmp r0, #0 beq _02165798 add r0, r4, #0 @@ -13080,7 +13080,7 @@ _021657b0: .align 2, 0 thumb_func_end func_ov17_02165700 _021657b4: .word data_027e0e58 -_021657b8: .word data_027e0e60 +_021657b8: .word gMapManager .global func_ov17_021657bc arm_func_start func_ov17_021657bc @@ -13508,10 +13508,10 @@ _02165d80: ldr r0, [r4, #0x15c] cmp r0, #1 bne _02165de8 - ldr r0, _02165e44 ; =data_027e0e60 + ldr r0, _02165e44 ; =gMapManager mov r1, #1 ldr r0, [r0] - bl func_ov00_02084b20 + bl _ZN10MapManager21SetCourseData_Unk_25cEc mov r0, r4 mov r1, #1 bl _ZN5Actor18CollidesWithPlayerEj @@ -13549,7 +13549,7 @@ _02165e2c: _02165e38: .word data_027e0f6c _02165e3c: .word data_027e0e58 _02165e40: .word gAdventureFlags -_02165e44: .word data_027e0e60 +_02165e44: .word gMapManager .global func_ov17_02165e48 arm_func_start func_ov17_02165e48 @@ -13728,14 +13728,14 @@ _02166080: ; jump table b _0216614c ; case 2 b _0216614c ; case 3 _02166090: - ldr r0, _021661e0 ; =data_027e0e60 + ldr r0, _021661e0 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084b2c + bl _ZN10MapManager21GetCourseData_Unk_25dEv ldmia sp!, {r4, pc} _021660a0: - ldr r0, _021661e0 ; =data_027e0e60 + ldr r0, _021661e0 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084b2c + bl _ZN10MapManager21GetCourseData_Unk_25dEv cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} @@ -13824,7 +13824,7 @@ _021661d8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_02166068 -_021661e0: .word data_027e0e60 +_021661e0: .word gMapManager _021661e4: .word gAdventureFlags .global func_ov17_021661e8 @@ -14366,21 +14366,21 @@ func_ov17_02166878: ; 0x02166878 sub sp, sp, #0x54 mov r9, r0 ldr r1, [r9, #4] - ldr r0, _02166a54 ; =data_027e0e60 + ldr r0, _02166a54 ; =gMapManager orr r1, r1, #0x810 str r1, [r9, #4] ldr r5, [r0] ldr r1, [r9, #0x18] mov r0, r5 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r4, r0 ldr r1, [r9, #0x20] mov r0, r5 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r2, r0 mov r0, r5 mov r1, r4 - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci str r0, [r9, #0x70] ldrb r1, [r9, #0x7a] ldr r2, [r9, #0x18] @@ -14450,7 +14450,7 @@ func_ov17_02166878: ; 0x02166878 add r0, r7, #2 cmp r7, r0 bge _02166a38 - ldr r10, _02166a54 ; =data_027e0e60 + ldr r10, _02166a54 ; =gMapManager add r5, sp, #4 mov r4, #1 _021669e4: @@ -14465,7 +14465,7 @@ _021669f8: mov r2, r4 strb r6, [sp, #4] strb r8, [sp, #5] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #2 @@ -14478,16 +14478,16 @@ _02166a24: cmp r7, r0 blt _021669e4 _02166a38: - ldr r0, _02166a54 ; =data_027e0e60 + ldr r0, _02166a54 ; =gMapManager ldrh r2, [r9, #0x2a] ldr r0, [r0] add r1, r9, #0x64 - bl func_ov00_020823c4 + bl _ZN10MapManager18func_ov00_020823c4EPii add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov17_02166878 -_02166a54: .word data_027e0e60 +_02166a54: .word gMapManager .global func_ov17_02166a58 arm_func_start func_ov17_02166a58 @@ -14676,10 +14676,10 @@ _02166cc4: strh r0, [r4, #0x78] cmp r5, #0 bne _02166cec - ldr r0, _02166df4 ; =data_027e0e60 + ldr r0, _02166df4 ; =gMapManager ldr r1, [r4, #0x74] ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej mvn r0, #0 str r0, [r4, #0x74] _02166cec: @@ -14690,13 +14690,13 @@ _02166cec: mov r1, #0 bl func_ov17_021676ac ldr r1, [r4, #4] - ldr r0, _02166df4 ; =data_027e0e60 + ldr r0, _02166df4 ; =gMapManager bic r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] add r1, r4, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _02166de8 _02166d28: mov r1, #1 @@ -14705,12 +14705,12 @@ _02166d28: ldreqh r0, [r4, #0x24] cmpeq r0, #1 bne _02166d5c - ldr r0, _02166df4 ; =data_027e0e60 + ldr r0, _02166df4 ; =gMapManager add r1, r4, #0x18 ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r4, #0x74] _02166d5c: mov r0, r4 @@ -14736,27 +14736,27 @@ _02166d8c: mov r1, #1 bl func_ov17_021676ac ldr r1, [r4, #4] - ldr r0, _02166df4 ; =data_027e0e60 + ldr r0, _02166df4 ; =gMapManager orr r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] add r1, r4, #0x38 mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _02166de8 _02166dd4: - ldr r0, _02166df4 ; =data_027e0e60 + ldr r0, _02166df4 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi _02166de8: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_02166c74 _02166df0: .word data_027e0ffc -_02166df4: .word data_027e0e60 +_02166df4: .word gMapManager _02166df8: .word 0x00003f4a .global func_ov17_02166dfc @@ -15312,7 +15312,7 @@ _021675cc: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrb r1, [r10, #0x7a] - ldr r0, _021676a8 ; =data_027e0e60 + ldr r0, _021676a8 ; =gMapManager ldr r2, [sp, #8] sub r1, r1, #1 sub r1, r2, r1, lsl #11 @@ -15323,19 +15323,19 @@ _021675cc: sub r2, r2, #1 sub r2, r3, r2, lsl #11 str r2, [sp, #0x10] - bl func_ov00_020839d4 - ldr r1, _021676a8 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020839d4Ev + ldr r1, _021676a8 ; =gMapManager mov r5, r0 ldr r0, [r1] ldr r1, [sp, #0x10] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev ldrb r1, [r10, #0x7a] mov r6, r0 mov r7, #0 cmp r1, #0 addle sp, sp, #0x14 ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r4, _021676a8 ; =data_027e0e60 + ldr r4, _021676a8 ; =gMapManager mov r11, #0x14 _02167644: mov r8, #0 @@ -15348,13 +15348,13 @@ _02167650: mov r3, r11 add r1, r5, r7 add r2, r6, r8 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci b _02167680 _02167670: ldr r3, [r10, #0x70] add r1, r5, r7 add r2, r6, r8 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci _02167680: ldrb r1, [r10, #0x7a] add r8, r8, #1 @@ -15369,7 +15369,7 @@ _02167690: .align 2, 0 arm_func_end func_ov17_021674e8 _021676a4: .word data_027e0f6c -_021676a8: .word data_027e0e60 +_021676a8: .word gMapManager .global func_ov17_021676ac arm_func_start func_ov17_021676ac @@ -16330,7 +16330,7 @@ _02168398: add r0, r9, #2 cmp r9, r0 bge _02168428 - ldr r4, _0216845c ; =data_027e0e60 + ldr r4, _0216845c ; =gMapManager and r7, r8, #0xff _021683b0: ldr r0, [r4] @@ -16338,13 +16338,13 @@ _021683b0: mov r2, r5 strb r7, [sp, #6] strb r9, [sp, #7] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldr r0, [r4] strb r7, [sp, #4] strb r9, [sp, #5] mov r1, r11 mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r10, #0x68] cmp r0, #1 ldr r0, [r4] @@ -16352,13 +16352,13 @@ _021683b0: mov r1, r8 mov r2, r9 mov r3, #0x17 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci b _02168414 _02168404: mov r1, r8 mov r2, r9 mov r3, #9 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci _02168414: ldrb r0, [r10, #0x15] add r9, r9, #1 @@ -16382,7 +16382,7 @@ _0216843c: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_0216826c -_0216845c: .word data_027e0e60 +_0216845c: .word gMapManager .global func_ov17_02168460 arm_func_start func_ov17_02168460 @@ -16487,20 +16487,20 @@ func_ov17_0216857c: ; 0x0216857c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrh r4, [r5, #0x2a] - ldr r0, _021685b4 ; =data_027e0e60 + ldr r0, _021685b4 ; =gMapManager ldr r0, [r0] mov r1, r4 - bl func_ov00_020823d4 - ldr r1, _021685b4 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823d4Ei + ldr r1, _021685b4 ; =gMapManager str r0, [r5, #0x6c] ldr r0, [r1] mov r1, r4 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei str r0, [r5, #0x70] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_0216857c -_021685b4: .word data_027e0e60 +_021685b4: .word gMapManager .global func_ov17_021685b8 arm_func_start func_ov17_021685b8 @@ -16522,9 +16522,9 @@ func_ov17_021685b8: ; 0x021685b8 ldr r1, _02168650 ; =data_ov17_0216b1b0 mov r0, r5 bl func_0201933c - ldr r0, _02168654 ; =data_027e0e60 + ldr r0, _02168654 ; =gMapManager ldr r0, [r0] - bl func_ov00_020823f4 + bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 mov r0, r5 mov r1, r4 @@ -16546,7 +16546,7 @@ func_ov17_021685b8: ; 0x021685b8 arm_func_end func_ov17_021685b8 _0216864c: .word data_ov17_0216b19c _02168650: .word data_ov17_0216b1b0 -_02168654: .word data_027e0e60 +_02168654: .word gMapManager .global func_ov17_02168658 arm_func_start func_ov17_02168658 @@ -17303,9 +17303,9 @@ _02168ef8: ; jump table b _02168f70 ; case 2 b _02168f9c ; case 3 _02168f08: - ldr r0, _02169180 ; =data_027e0e60 + ldr r0, _02169180 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev sub r0, r0, #2 cmp r4, r0 addlt r0, r4, #2 @@ -17343,9 +17343,9 @@ _02168f70: str r0, [r6, #0x18] b _02168fd4 _02168f9c: - ldr r0, _02169180 ; =data_027e0e60 + ldr r0, _02169180 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv sub r0, r0, #2 cmp r5, r0 addlt r0, r5, #2 @@ -17468,7 +17468,7 @@ _02169160: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov17_02168ed0 -_02169180: .word data_027e0e60 +_02169180: .word gMapManager _02169184: .word 0x00001333 _02169188: .word data_027e0d38 _0216918c: .word data_027e0fe8 @@ -17554,10 +17554,10 @@ func_ov17_02169278: ; 0x02169278 cmp r1, #2 b _02169338 _0216929c: - ldr r0, _02169340 ; =data_027e0e60 + ldr r0, _02169340 ; =gMapManager add r1, r4, #0x64 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] mov r5, r0 ldr r1, [r1, #0x1c] @@ -17575,10 +17575,10 @@ _021692cc: bl func_ov00_02094884 b _02169338 _021692e8: - ldr r0, _02169340 ; =data_027e0e60 + ldr r0, _02169340 ; =gMapManager add r1, r4, #0x64 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] mov r5, r0 ldr r1, [r1, #0x1c] @@ -17601,7 +17601,7 @@ _02169338: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_02169278 -_02169340: .word data_027e0e60 +_02169340: .word gMapManager .global func_ov17_02169344 arm_func_start func_ov17_02169344 @@ -17886,7 +17886,7 @@ _021696a8: ; jump table b _02169808 ; case 3 _021696b8: ldr r1, [sp, #0x54] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager sub r1, r1, #0x1000 str r1, [sp, #0x54] ldrb r1, [r4, #0x14] @@ -17897,13 +17897,13 @@ _021696b8: add r1, sp, #0x12 strb r3, [sp, #0x13] mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrh r0, [r4, #0x26] cmp r0, #1 bne _02169874 ldrb r2, [r4, #0x15] ldrb r1, [r4, #0x14] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager add ip, r2, #1 sub r3, r1, #1 ldr r0, [r0] @@ -17911,11 +17911,11 @@ _021696b8: mov r2, #1 strb r3, [sp, #0x10] strb ip, [sp, #0x11] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii b _02169874 _02169728: ldr r1, [sp, #0x48] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager add r1, r1, #0x1000 str r1, [sp, #0x48] ldrb r1, [r4, #0x14] @@ -17926,13 +17926,13 @@ _02169728: add r1, sp, #0xe strb r3, [sp, #0xf] mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrh r0, [r4, #0x26] cmp r0, #1 bne _02169874 ldrb r2, [r4, #0x15] ldrb r1, [r4, #0x14] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager add ip, r2, #1 add r3, r1, #1 ldr r0, [r0] @@ -17940,11 +17940,11 @@ _02169728: mov r2, #1 strb r3, [sp, #0xc] strb ip, [sp, #0xd] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii b _02169874 _02169798: ldr r1, [sp, #0x50] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager add r1, r1, #0x1000 str r1, [sp, #0x50] ldrb r1, [r4, #0x15] @@ -17955,13 +17955,13 @@ _02169798: add r1, sp, #0xa strb r3, [sp, #0xb] mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrh r0, [r4, #0x26] cmp r0, #1 bne _02169874 ldrb r2, [r4, #0x15] ldrb r1, [r4, #0x14] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager add ip, r2, #1 add r3, r1, #1 ldr r0, [r0] @@ -17969,11 +17969,11 @@ _02169798: mov r2, #1 strb r3, [sp, #8] strb ip, [sp, #9] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii b _02169874 _02169808: ldr r1, [sp, #0x5c] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager sub r1, r1, #0x1000 str r1, [sp, #0x5c] ldrb r1, [r4, #0x15] @@ -17984,13 +17984,13 @@ _02169808: add r1, sp, #6 strb r3, [sp, #7] mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrh r0, [r4, #0x26] cmp r0, #1 bne _02169874 ldrb r2, [r4, #0x15] ldrb r1, [r4, #0x14] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager sub ip, r2, #1 add r3, r1, #1 ldr r0, [r0] @@ -17998,7 +17998,7 @@ _02169808: mov r2, #1 strb r3, [sp, #4] strb ip, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii _02169874: mov r1, #0 bic r1, r1, #0x6000 @@ -18036,7 +18036,7 @@ _02169874: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_02169598 -_021698fc: .word data_027e0e60 +_021698fc: .word gMapManager .global func_ov17_02169900 arm_func_start func_ov17_02169900 @@ -18069,10 +18069,10 @@ _02169940: b _021699d4 _02169960: mov r1, #0x4000 - ldr r0, _02169a54 ; =data_027e0e60 + ldr r0, _02169a54 ; =gMapManager strh r1, [r4, #0xc] ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldrb r1, [sp, #4] sub r0, r0, #2 cmp r1, r0 @@ -18081,10 +18081,10 @@ _02169960: b _021699d4 _0216998c: mov r1, #0 - ldr r0, _02169a54 ; =data_027e0e60 + ldr r0, _02169a54 ; =gMapManager strh r1, [r4, #0xc] ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv ldrb r1, [sp, #5] sub r0, r0, #2 cmp r1, r0 @@ -18124,19 +18124,19 @@ _02169a0c: blo _02169a0c ldrh r2, [r4, #0x26] add r1, sp, #8 - ldr r0, _02169a54 ; =data_027e0e60 + ldr r0, _02169a54 ; =gMapManager strh r2, [sp, #0xa] str r1, [sp] ldrsh r3, [r4, #0xc] ldr r0, [r0] add r2, sp, #4 mov r1, #0x7e - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov17_02169900 -_02169a54: .word data_027e0e60 +_02169a54: .word gMapManager .global func_ov17_02169a58 arm_func_start func_ov17_02169a58 @@ -18794,18 +18794,18 @@ _0216a250: cmpne r0, #1 mov r2, #0 bne _0216a2b4 - ldr r0, _0216a344 ; =data_027e0e60 + ldr r0, _0216a344 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #2 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0216a330 _0216a2b4: - ldr r0, _0216a344 ; =data_027e0e60 + ldr r0, _0216a344 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #1 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0216a330 _0216a2cc: bl func_ov14_02127188 @@ -18827,10 +18827,10 @@ _0216a2fc: mov r0, r5 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _0216a344 ; =data_027e0e60 + ldr r0, _0216a344 ; =gMapManager ldrh r1, [r5, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei b _0216a330 _0216a324: mov r0, r5 @@ -18844,7 +18844,7 @@ _0216a330: arm_func_end func_ov17_0216a0fc _0216a33c: .word data_ov17_0216b1f8 _0216a340: .word gAdventureFlags -_0216a344: .word data_027e0e60 +_0216a344: .word gMapManager .global func_ov17_0216a348 arm_func_start func_ov17_0216a348 @@ -18858,11 +18858,11 @@ func_ov17_0216a348: ; 0x0216a348 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _0216a3e0 ; =data_027e0e60 + ldr r0, _0216a3e0 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} @@ -18891,7 +18891,7 @@ _0216a3d8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_0216a348 -_0216a3e0: .word data_027e0e60 +_0216a3e0: .word gMapManager _0216a3e4: .word data_027e0fe4 .global func_ov17_0216a3e8 @@ -18914,10 +18914,10 @@ func_ov17_0216a3e8: ; 0x0216a3e8 mov r0, #1 ldmia sp!, {r4, pc} _0216a428: - ldr r0, _0216a4a4 ; =data_027e0e60 + ldr r0, _0216a4a4 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} @@ -18932,10 +18932,10 @@ _0216a444: cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _0216a4a4 ; =data_027e0e60 + ldr r0, _0216a4a4 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei mov r0, #1 ldmia sp!, {r4, pc} _0216a484: @@ -18949,7 +18949,7 @@ _0216a484: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_0216a3e8 -_0216a4a4: .word data_027e0e60 +_0216a4a4: .word gMapManager _0216a4a8: .word data_027e0fe4 .global func_ov17_0216a4ac @@ -18979,10 +18979,10 @@ func_ov17_0216a4ac: ; 0x0216a4ac mov r0, #0 ldmia sp!, {r4, pc} _0216a508: - ldr r0, _0216a5b0 ; =data_027e0e60 + ldr r0, _0216a5b0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} @@ -19007,18 +19007,18 @@ _0216a550: moveq r0, #0 ldmeqia sp!, {r4, pc} _0216a56c: - ldr r0, _0216a5b0 ; =data_027e0e60 + ldr r0, _0216a5b0 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0216a5b0 ; =data_027e0e60 + ldr r0, _0216a5b0 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083790 + bl _ZN10MapManager18func_ov00_02083790Ei mov r0, #1 ldmia sp!, {r4, pc} _0216a5a4: @@ -19027,7 +19027,7 @@ _0216a5a4: .align 2, 0 arm_func_end func_ov17_0216a4ac _0216a5ac: .word data_027e077c -_0216a5b0: .word data_027e0e60 +_0216a5b0: .word gMapManager _0216a5b4: .word data_027e0fe4 .global func_ov17_0216a5b8 @@ -19386,7 +19386,7 @@ func_ov17_0216a9fc: ; 0x0216a9fc str r1, [r4, #4] strb r0, [r4, #0x12] ldr r0, [r4, #0x18] - ldr r2, _0216abf8 ; =data_027e0e60 + ldr r2, _0216abf8 ; =gMapManager add r0, r0, #0x3fc add r0, r0, #0x400 str r0, [r4, #0x18] @@ -19397,7 +19397,7 @@ func_ov17_0216a9fc: ; 0x0216a9fc str r0, [r4, #0x20] ldr r0, [r2] mov r2, #1 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p add r6, r4, #0x18 str r0, [r4, #0x1c] ldmia r6, {r0, r1, r2} @@ -19447,10 +19447,10 @@ func_ov17_0216a9fc: ; 0x0216a9fc ldr ip, [ip, #0x14] add r1, sp, #0x20 blx ip - ldr r0, _0216abf8 ; =data_027e0e60 + ldr r0, _0216abf8 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 beq _0216ab90 mov r0, r4 @@ -19492,7 +19492,7 @@ _0216abd0: arm_func_end func_ov17_0216a9fc _0216abf0: .word data_ov17_0216b20c _0216abf4: .word data_027e0f68 -_0216abf8: .word data_027e0e60 +_0216abf8: .word gMapManager .global func_ov17_0216abfc arm_func_start func_ov17_0216abfc @@ -19707,11 +19707,11 @@ _0216aedc: mov r1, #0 mov r2, #1 bl func_ov00_0208ba08 - ldr r0, _0216af40 ; =data_027e0e60 + ldr r0, _0216af40 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r1, [r4, #4] mov r0, #0 bic r1, r1, #8 @@ -19732,7 +19732,7 @@ _0216af30: .word data_027e0e58 _0216af34: .word data_027e0ffc _0216af38: .word data_ov17_0216b230 _0216af3c: .word data_ov17_0216b224 -_0216af40: .word data_027e0e60 +_0216af40: .word gMapManager .global func_ov17_0216af44 arm_func_start func_ov17_0216af44 @@ -20901,7 +20901,7 @@ data_ov17_0216ba14: ; 0x0216ba14 .word func_ov17_0215b708 + 1 .global data_ov17_0216ba18 data_ov17_0216ba18: ; 0x0216ba18 - .word func_ov00_0207ddf4 + .word _ZN7MapBase8vfunc_18Ev .global data_ov17_0216ba1c data_ov17_0216ba1c: ; 0x0216ba1c .word func_ov17_0215b764 @@ -20937,13 +20937,13 @@ data_ov17_0216ba44: ; 0x0216ba44 .word func_ov04_0210cb00 ; data_ov07_0210cb00 .global data_ov17_0216ba48 data_ov17_0216ba48: ; 0x0216ba48 - .word func_ov00_0207e46c + .word _ZN7MapBase8vfunc_48Ev .global data_ov17_0216ba4c data_ov17_0216ba4c: ; 0x0216ba4c .word func_ov17_0215bd74 .global data_ov17_0216ba50 data_ov17_0216ba50: ; 0x0216ba50 - .word func_ov00_0207e488 + .word _ZN7MapBase8vfunc_50Ev .global data_ov17_0216ba54 data_ov17_0216ba54: ; 0x0216ba54 .word func_ov17_0215ba58 @@ -20958,19 +20958,19 @@ data_ov17_0216ba60: ; 0x0216ba60 .word func_ov17_0215bac8 .global data_ov17_0216ba64 data_ov17_0216ba64: ; 0x0216ba64 - .word func_ov00_0207e4b0 + .word _ZN7MapBase8vfunc_64Ev .global data_ov17_0216ba68 data_ov17_0216ba68: ; 0x0216ba68 - .word func_ov00_0207e4b8 + .word _ZN7MapBase8vfunc_68Eii .global data_ov17_0216ba6c data_ov17_0216ba6c: ; 0x0216ba6c - .word func_ov00_0207e970 + .word _ZN7MapBase8vfunc_6cEiii .global data_ov17_0216ba70 data_ov17_0216ba70: ; 0x0216ba70 - .word func_ov00_0207ee14 + .word _ZN7MapBase8vfunc_70EP5Vec3p .global data_ov17_0216ba74 data_ov17_0216ba74: ; 0x0216ba74 - .word func_ov00_0207eff4 + .word _ZN7MapBase8vfunc_74EP5Vec3p .global data_ov17_0216ba78 data_ov17_0216ba78: ; 0x0216ba78 .word func_ov17_0215bbbc @@ -20982,16 +20982,16 @@ data_ov17_0216ba80: ; 0x0216ba80 .word func_ov17_0215bd30 .global data_ov17_0216ba84 data_ov17_0216ba84: ; 0x0216ba84 - .word func_ov00_0207f364 + .word _ZN7MapBase8vfunc_84Ei .global data_ov17_0216ba88 data_ov17_0216ba88: ; 0x0216ba88 - .word func_ov00_0207f324 + .word _ZN7MapBase8vfunc_88Ev .global data_ov17_0216ba8c data_ov17_0216ba8c: ; 0x0216ba8c - .word func_ov00_0207f32c + .word _ZN7MapBase8vfunc_8cEv .global data_ov17_0216ba90 data_ov17_0216ba90: ; 0x0216ba90 - .word func_ov00_0207f3c4 + .word _ZN7MapBase8vfunc_90Eiii .global data_ov17_0216ba94 data_ov17_0216ba94: ; 0x0216ba94 .word func_ov17_0215b7c4 @@ -21000,10 +21000,10 @@ data_ov17_0216ba98: ; 0x0216ba98 .word func_ov17_0215bb34 .global data_ov17_0216ba9c data_ov17_0216ba9c: ; 0x0216ba9c - .word func_ov00_0207f334 + .word _ZN7MapBase8vfunc_9cEv .global data_ov17_0216baa0 data_ov17_0216baa0: ; 0x0216baa0 - .word func_ov00_0207f338 + .word _ZN7MapBase8vfunc_a0Ev .global data_ov17_0216baa4 data_ov17_0216baa4: ; 0x0216baa4 .word func_ov17_0215b994 @@ -21015,13 +21015,13 @@ data_ov17_0216baac: ; 0x0216baac .word func_ov17_0215ba1c .global data_ov17_0216bab0 data_ov17_0216bab0: ; 0x0216bab0 - .word func_ov00_0207e060 + .word _ZN7MapBase8vfunc_b0Eii .global data_ov17_0216bab4 data_ov17_0216bab4: ; 0x0216bab4 - .word func_ov00_0207e444 + .word _ZN7MapBase8vfunc_b4Ev .global data_ov17_0216bab8 data_ov17_0216bab8: ; 0x0216bab8 - .word func_ov00_020807d4 + .word _ZN7MapBase8vfunc_b8Ev .global data_ov17_0216babc data_ov17_0216babc: ; 0x0216babc .word func_ov17_0215bb14 diff --git a/asm/ov18.inc b/asm/ov18.inc index cdf26420..dbc0595e 100644 --- a/asm/ov18.inc +++ b/asm/ov18.inc @@ -90,7 +90,7 @@ .extern data_027e0dbc .extern data_027e0e28 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -231,57 +231,57 @@ .extern func_ov00_0207c2e8 .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern func_ov00_0207d634 -.extern func_ov00_0207d6ec -.extern func_ov00_0207da38 -.extern func_ov00_0207ddf4 -.extern func_ov00_0207e060 -.extern func_ov00_0207e444 -.extern func_ov00_0207e46c -.extern func_ov00_0207e488 -.extern func_ov00_0207e4b8 -.extern func_ov00_0207e970 -.extern func_ov00_0207ee14 -.extern func_ov00_0207eff4 -.extern func_ov00_0207f324 -.extern func_ov00_0207f32c -.extern func_ov00_0207f334 -.extern func_ov00_0207f338 -.extern func_ov00_0207f344 -.extern func_ov00_0207f348 -.extern func_ov00_0207f364 -.extern func_ov00_0207f3c4 -.extern func_ov00_0207f4a4 -.extern func_ov00_02080140 -.extern func_ov00_020807d4 -.extern func_ov00_02082680 -.extern func_ov00_020828c0 -.extern func_ov00_02082d08 -.extern func_ov00_02082d84 -.extern func_ov00_0208330c -.extern func_ov00_02083318 -.extern func_ov00_02083344 -.extern func_ov00_02083350 -.extern func_ov00_02083374 -.extern func_ov00_02083384 -.extern func_ov00_0208340c -.extern func_ov00_0208342c -.extern func_ov00_0208344c -.extern func_ov00_02083560 -.extern func_ov00_020838e8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083ce8 -.extern func_ov00_02083f80 -.extern func_ov00_02084088 -.extern func_ov00_020843ec -.extern func_ov00_020849c0 -.extern func_ov00_02084be0 -.extern func_ov00_02084c7c -.extern func_ov00_02084c94 -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 +.extern _ZN6Course23IsAdjacentMapOnMainGridEi +.extern _ZN6Course14GetAdjacentMapEi +.extern _ZN7MapBaseD1Ev +.extern _ZN7MapBase8vfunc_18Ev +.extern _ZN7MapBase8vfunc_b0Eii +.extern _ZN7MapBase8vfunc_b4Ev +.extern _ZN7MapBase8vfunc_48Ev +.extern _ZN7MapBase8vfunc_50Ev +.extern _ZN7MapBase8vfunc_68Eii +.extern _ZN7MapBase8vfunc_6cEiii +.extern _ZN7MapBase8vfunc_70EP5Vec3p +.extern _ZN7MapBase8vfunc_74EP5Vec3p +.extern _ZN7MapBase8vfunc_88Ev +.extern _ZN7MapBase8vfunc_8cEv +.extern _ZN7MapBase8vfunc_9cEv +.extern _ZN7MapBase8vfunc_a0Ev +.extern _ZN7MapBase8vfunc_a8Ev +.extern _ZN7MapBase8vfunc_acEv +.extern _ZN7MapBase8vfunc_84Ei +.extern _ZN7MapBase8vfunc_90Eiii +.extern _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si +.extern _ZN7MapBase18func_ov00_02080140EP4Exit +.extern _ZN7MapBase8vfunc_b8Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager16MapData_vfunc_7cEv +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02082d84Ev +.extern _ZN10MapManager21GetCourseData_Unk_25cEv +.extern _ZN10MapManager18func_ov00_02083318Ei +.extern _ZN10MapManager20GetCourseData_Unk_86Ev +.extern _ZN10MapManager20GetCourseData_Unk_87Ev +.extern _ZN10MapManager18func_ov00_02083374Ev +.extern _ZN10MapManager18func_ov00_02083384Ev +.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p +.extern _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083560EiPS_j +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083ce8Ecccci +.extern _ZN10MapManager16MapData_vfunc_6cEv +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager18func_ov00_020849c0Ev +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084c7cEi +.extern _ZN10MapManager18func_ov00_02084c94Ei +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern func_ov00_0208726c .extern func_ov00_020872e8 .extern func_ov00_02087d34 diff --git a/asm/ov18.s b/asm/ov18.s index 0fd5534b..b6f5cf06 100644 --- a/asm/ov18.s +++ b/asm/ov18.s @@ -197,7 +197,7 @@ _0215b734: mov r1, #0 mov r0, r5 str r1, [r5, #0x188] - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 @@ -278,7 +278,7 @@ _0215b840: mov r1, #0 mov r0, r5 str r1, [r5, #0x188] - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r5 bl _ZN9SysObjectdlEPv mov r0, r5 @@ -301,10 +301,10 @@ func_ov18_0215b86c: ; 0x0215b86c mov r8, r3 str r4, [sp, #4] blx func_ov04_0210c1f8 - ldr r0, _0215bd68 ; =data_027e0e60 + ldr r0, _0215bd68 ; =gMapManager add r1, r9, #0x1b0 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldrb r2, [r9, #0x12] ldr r0, _0215bd6c ; =0x00001333 mov r1, #0 @@ -319,21 +319,21 @@ func_ov18_0215b86c: ; 0x0215b86c mov r1, r4, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r9, #0x1b4] - ldr r0, _0215bd68 ; =data_027e0e60 + ldr r0, _0215bd68 ; =gMapManager add r1, sp, #0x64 ldr r0, [r0] - bl func_ov00_0208340c - ldr r0, _0215bd68 ; =data_027e0e60 + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + ldr r0, _0215bd68 ; =gMapManager add r1, sp, #0x58 ldr r0, [r0] - bl func_ov00_0208342c - ldr r0, _0215bd68 ; =data_027e0e60 + bl _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p + ldr r0, _0215bd68 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083374 - ldr r1, _0215bd68 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083374Ev + ldr r1, _0215bd68 ; =gMapManager mov r5, r0 ldr r0, [r1] - bl func_ov00_02083384 + bl _ZN10MapManager18func_ov00_02083384Ev mov r10, #0x4000 rsb r10, r10, #0 mov r6, r0 @@ -345,7 +345,7 @@ func_ov18_0215b86c: ; 0x0215b86c _0215b934: mov r0, r8 mov r1, r7 - bl func_ov00_0207d634 + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 beq _0215bd54 ldr r1, _0215bd74 ; =data_027e0ce0 @@ -371,7 +371,7 @@ _0215b990: str r0, [r1, #0x190] mov r0, r8 mov r1, r7 - bl func_ov00_0207d6ec + bl _ZN6Course14GetAdjacentMapEi mov r1, #0 str r1, [sp, #0xc] mov r1, #0x47 @@ -596,7 +596,7 @@ _0215bcb4: _0215bce4: mov r0, r9 add r1, sp, #0x10 - bl func_ov00_02080140 + bl _ZN7MapBase18func_ov00_02080140EP4Exit strb r0, [sp, #0x24] mov r1, #0 str r1, [sp] @@ -630,7 +630,7 @@ _0215bd54: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov18_0215b86c -_0215bd68: .word data_027e0e60 +_0215bd68: .word gMapManager _0215bd6c: .word 0x00001333 _0215bd70: .word 0xffffd99a _0215bd74: .word data_027e0ce0 @@ -691,9 +691,9 @@ _0215be0c: movne r0, #1 strneb r0, [r9, #0x1cc] bne _0215be5c - ldr r0, _0215beb0 ; =data_027e0e60 + ldr r0, _0215beb0 ; =gMapManager ldr r0, [r0] - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 movne r0, #1 strneb r0, [r9, #0x1cc] @@ -726,7 +726,7 @@ _0215bea8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov18_0215bd84 -_0215beb0: .word data_027e0e60 +_0215beb0: .word gMapManager _0215beb4: .word func_ov18_0215ca24 .global func_ov18_0215beb8 @@ -813,7 +813,7 @@ func_ov18_0215bfc8: ; 0x0215bfc8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 ldr r2, _0215c12c ; =data_027e0f94 - ldr r1, _0215c130 ; =data_027e0e60 + ldr r1, _0215c130 ; =gMapManager ldr r4, [r2] ldr r3, [r2, #4] str r4, [sp, #4] @@ -824,7 +824,7 @@ func_ov18_0215bfc8: ; 0x0215bfc8 add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, r5 ldr r2, [r0] add r1, sp, #0 @@ -909,7 +909,7 @@ _0215c108: .align 2, 0 arm_func_end func_ov18_0215bfc8 _0215c12c: .word data_027e0f94 -_0215c130: .word data_027e0e60 +_0215c130: .word gMapManager _0215c134: .word 0x0000019a _0215c138: .word data_ov18_0216b43c _0215c13c: .word data_ov18_0216b44c @@ -1023,11 +1023,11 @@ func_ov18_0215c27c: ; 0x0215c27c .global func_ov18_0215c284 arm_func_start func_ov18_0215c284 func_ov18_0215c284: ; 0x0215c284 - ldr ip, _0215c28c ; =func_ov00_0207f4a4 + ldr ip, _0215c28c ; =_ZN7MapBase18func_ov00_0207f4a4EP5Vec2si bx ip .align 2, 0 arm_func_end func_ov18_0215c284 -_0215c28c: .word func_ov00_0207f4a4 +_0215c28c: .word _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si .global func_ov18_0215c290 arm_func_start func_ov18_0215c290 @@ -1214,17 +1214,17 @@ func_ov18_0215c460: ; 0x0215c460 sub sp, sp, #0x1c mov r5, r2 mov r6, r1 - ldr r2, _0215c5bc ; =data_027e0e60 + ldr r2, _0215c5bc ; =gMapManager mov r7, r0 ldrb r1, [r5, #1] ldr r0, [r2] mov r4, r3 - bl func_ov00_02083c50 - ldr r2, _0215c5bc ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083c50Ei + ldr r2, _0215c5bc ; =gMapManager mov r8, r0 ldrb r1, [r5] ldr r0, [r2] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei mov r1, #0x5000 str r1, [sp, #0x14] str r0, [sp, #0x10] @@ -1306,7 +1306,7 @@ _0215c5b0: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_0215c460 -_0215c5bc: .word data_027e0e60 +_0215c5bc: .word gMapManager _0215c5c0: .word data_027e0f68 .global func_ov18_0215c5c4 @@ -1338,7 +1338,7 @@ func_ov18_0215c608: ; 0x0215c608 mov r4, r0 mov r6, r1 mov r5, r2 - bl func_ov00_0207e060 + bl _ZN7MapBase8vfunc_b0Eii ldr r0, [r4, #0x1c0] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} @@ -3210,11 +3210,11 @@ func_ov18_0215dec0: ; 0x0215dec0 func_ov18_0215dee4: ; 0x0215dee4 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0215df18 ; =data_027e0e60 + ldr r0, _0215df18 ; =gMapManager ldrb r1, [r4, #0x15c] ldr r0, [r0] add r2, r4, #0x1cc - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -3223,7 +3223,7 @@ func_ov18_0215dee4: ; 0x0215dee4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215dee4 -_0215df18: .word data_027e0e60 +_0215df18: .word gMapManager .global func_ov18_0215df1c arm_func_start func_ov18_0215df1c @@ -3534,13 +3534,13 @@ _0215e300: bl func_ov00_0208edd8 b _0215e3d8 _0215e324: - ldr r1, _0215e49c ; =data_027e0e60 + ldr r1, _0215e49c ; =gMapManager add r0, sp, #4 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp, #4] - ldr r0, _0215e49c ; =data_027e0e60 + ldr r0, _0215e49c ; =gMapManager ldrb r1, [sp, #5] add r3, r2, #2 ldr r0, [r0] @@ -3548,7 +3548,7 @@ _0215e324: add r1, sp, #4 strb r3, [sp, #4] strb r2, [sp, #5] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #6 cmpne r0, #0x37 add r0, sp, #0x54 @@ -3637,7 +3637,7 @@ _0215e480: .align 2, 0 arm_func_end func_ov18_0215e274 _0215e498: .word data_027e0d38 -_0215e49c: .word data_027e0e60 +_0215e49c: .word gMapManager _0215e4a0: .word 0x000013ae _0215e4a4: .word data_027e0f6c @@ -4300,7 +4300,7 @@ _0215ed70: ldr r0, [sp, #4] add r10, r0, r1 bge _0215ee18 - ldr r5, _0215ee8c ; =data_027e0e60 + ldr r5, _0215ee8c ; =gMapManager add r7, sp, #0xc mov r6, #1 _0215edd0: @@ -4315,7 +4315,7 @@ _0215ede4: mov r2, r6 strb r8, [sp, #0xc] strb r9, [sp, #0xd] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add r9, r9, #1 cmp r9, r10 blt _0215ede4 @@ -4357,7 +4357,7 @@ _0215ee7c: .word data_ov18_0216c3a8 _0215ee80: .word data_ov18_0216c3ce _0215ee84: .word data_ov18_0216c3a9 _0215ee88: .word data_ov18_0216c3cf -_0215ee8c: .word data_027e0e60 +_0215ee8c: .word gMapManager .global func_ov18_0215ee90 arm_func_start func_ov18_0215ee90 @@ -5268,11 +5268,11 @@ _0215f9b0: mov r1, #3 str r2, [r4, #4] bl func_ov00_02094884 - ldr r0, _0215fa24 ; =data_027e0e60 + ldr r0, _0215fa24 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #7 strb r0, [r4, #0x12] b _0215fa1c @@ -5283,11 +5283,11 @@ _0215f9e8: mov r1, #1 str r2, [r4, #4] bl func_ov00_02094884 - ldr r0, _0215fa24 ; =data_027e0e60 + ldr r0, _0215fa24 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #1 strb r0, [r4, #0x12] _0215fa1c: @@ -5295,7 +5295,7 @@ _0215fa1c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f990 -_0215fa24: .word data_027e0e60 +_0215fa24: .word gMapManager .global func_ov18_0215fa28 arm_func_start func_ov18_0215fa28 @@ -6411,7 +6411,7 @@ _02160774: ldr r0, [sp, #4] add r10, r0, #3 bgt _021607ec - ldr r4, _0216081c ; =data_027e0e60 + ldr r4, _0216081c ; =gMapManager add r6, sp, #0xc mov r5, #1 _021607a4: @@ -6426,7 +6426,7 @@ _021607b8: mov r2, r5 strb r7, [sp, #0xc] strb r9, [sp, #0xd] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add r9, r9, #1 cmp r9, r10 ble _021607b8 @@ -6450,7 +6450,7 @@ _0216080c: .word data_027e0fe8 _02160810: .word 0x48534b42 _02160814: .word data_027e0fe4 _02160818: .word 0x0000099a -_0216081c: .word data_027e0e60 +_0216081c: .word gMapManager .global func_ov18_02160820 arm_func_start func_ov18_02160820 @@ -6609,16 +6609,16 @@ _021609c0: strh r2, [sp, #8] strh r0, [sp, #0xa] str r1, [sp] - ldr r0, _02160a0c ; =data_027e0e60 + ldr r0, _02160a0c ; =gMapManager add r2, sp, #4 ldr r0, [r0] mov r1, #0x30 - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv add sp, sp, #0x1c ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov18_02160968 -_02160a0c: .word data_027e0e60 +_02160a0c: .word gMapManager .global func_ov18_02160a10 arm_func_start func_ov18_02160a10 @@ -6837,13 +6837,13 @@ _02160c5c: cmp r8, r0 bge _02160c9c _02160c80: - ldr r0, _02160ffc ; =data_027e0e60 + ldr r0, _02160ffc ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r11 strb r6, [sp, #0x14] strb r8, [sp, #0x15] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii _02160c9c: add r8, r8, #1 cmp r8, r10 @@ -6912,13 +6912,13 @@ _02160d6c: cmp r8, r0 bge _02160dac _02160d90: - ldr r0, _02160ffc ; =data_027e0e60 + ldr r0, _02160ffc ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r11 strb r6, [sp, #0x12] strb r8, [sp, #0x13] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii _02160dac: add r8, r8, #1 cmp r8, r10 @@ -6987,13 +6987,13 @@ _02160e7c: cmp r8, r0 bge _02160ebc _02160ea0: - ldr r0, _02160ffc ; =data_027e0e60 + ldr r0, _02160ffc ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r11 strb r6, [sp, #0x10] strb r8, [sp, #0x11] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii _02160ebc: add r8, r8, #1 cmp r8, r10 @@ -7082,7 +7082,7 @@ _02160fb0: .align 2, 0 arm_func_end func_ov18_02160b6c _02160ff8: .word data_027e0f68 -_02160ffc: .word data_027e0e60 +_02160ffc: .word gMapManager .global func_ov18_02161000 arm_func_start func_ov18_02161000 @@ -9039,10 +9039,10 @@ _0216283c: ; jump table b _02162c20 ; case 6 b _02162bac ; case 7 _0216285c: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084c94 + bl _ZN10MapManager18func_ov00_02084c94Ei cmp r0, #0 bne _02162950 add r0, sp, #0x118 @@ -9101,17 +9101,17 @@ _0216285c: add r3, sp, #0x118 bl func_ov00_020c4048 _02162950: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162968: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084c94 + bl _ZN10MapManager18func_ov00_02084c94Ei cmp r0, #0 bne _02162a48 add r0, sp, #0xec @@ -9167,17 +9167,17 @@ _02162a00: add r3, sp, #0xec bl func_ov00_020c4048 _02162a48: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162a60: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084c94 + bl _ZN10MapManager18func_ov00_02084c94Ei cmp r0, #0 bne _02162ab4 add r0, sp, #0xb4 @@ -9196,17 +9196,17 @@ _02162a60: add r3, sp, #0xb4 bl func_ov00_020c4048 _02162ab4: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162acc: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084c94 + bl _ZN10MapManager18func_ov00_02084c94Ei cmp r0, #0 bne _02162b20 add r0, sp, #0x88 @@ -9225,17 +9225,17 @@ _02162acc: add r3, sp, #0x88 bl func_ov00_020c4048 _02162b20: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162b38: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 bne _02162b94 add r0, sp, #0x5c @@ -9256,17 +9256,17 @@ _02162b38: add r3, sp, #0x5c bl func_ov00_020c4048 _02162b94: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei b _02162c90 _02162bac: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 bne _02162c08 add r0, sp, #0x30 @@ -9287,17 +9287,17 @@ _02162bac: add r3, sp, #0x30 bl func_ov00_020c4048 _02162c08: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei b _02162c90 _02162c20: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 bne _02162c7c add r0, sp, #4 @@ -9318,11 +9318,11 @@ _02162c20: add r3, sp, #4 bl func_ov00_020c4048 _02162c7c: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _02162c90: mov r0, #0 str r0, [r4, #0x6c] @@ -9330,7 +9330,7 @@ _02162c90: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021627dc -_02162ca0: .word data_027e0e60 +_02162ca0: .word gMapManager _02162ca4: .word data_027e0fe8 _02162ca8: .word 0x48415254 _02162cac: .word 0x42454548 @@ -17119,15 +17119,15 @@ func_ov18_02169378: ; 0x02169378 func_ov18_021693b0: ; 0x021693b0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c - ldr r2, _02169418 ; =data_027e0e60 + ldr r2, _02169418 ; =gMapManager mov r6, r0 ldr r5, [r2] mov r0, r5 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r4, r0 mov r0, r5 mov r1, r6 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] @@ -17136,7 +17136,7 @@ func_ov18_021693b0: ; 0x021693b0 add r3, sp, #0x10 mov r0, r5 str r4, [sp, #0xc] - bl func_ov00_02083f80 + bl _ZN10MapManager16MapData_vfunc_6cEv ldr r0, [sp, #0x14] cmp r0, #0xf80 movlt r0, #1 @@ -17145,7 +17145,7 @@ func_ov18_021693b0: ; 0x021693b0 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_021693b0 -_02169418: .word data_027e0e60 +_02169418: .word gMapManager .global func_ov18_0216941c arm_func_start func_ov18_0216941c @@ -18333,16 +18333,16 @@ func_ov18_0216a3c8: ; 0x0216a3c8 ldr r0, _0216a5b0 ; =data_ov18_0216b6f4 mov r1, r1, lsl #0x1 ldrh r2, [r0, r1] - ldr r1, _0216a5b4 ; =data_027e0e60 + ldr r1, _0216a5b4 ; =gMapManager add r0, sp, #0x14 strh r2, [r4, #0x10] ldrb r2, [r4, #0x15] ldr r1, [r1] - bl func_ov00_02083560 + bl _ZN10MapManager18func_ov00_02083560EiPS_j ldrb lr, [r4, #0x16] ldrb ip, [r4, #0x17] ldrb r1, [sp, #0x15] - ldr r0, _0216a5b4 ; =data_027e0e60 + ldr r0, _0216a5b4 ; =gMapManager strb lr, [sp, #0x12] str r1, [sp] ldr r0, [r0] @@ -18353,10 +18353,10 @@ func_ov18_0216a3c8: ; 0x0216a3c8 ldrb r3, [sp, #0x14] add r1, sp, #0x18 strb ip, [sp, #0x13] - bl func_ov00_02083ce8 - ldr r0, _0216a5b4 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083ce8Ecccci + ldr r0, _0216a5b4 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208330c + bl _ZN10MapManager21GetCourseData_Unk_25cEv cmp r0, #0 beq _0216a47c add r0, r4, #8 @@ -18372,7 +18372,7 @@ func_ov18_0216a3c8: ; 0x0216a3c8 bl func_ov00_02079470 b _0216a4a4 _0216a47c: - ldr r0, _0216a5b4 ; =data_027e0e60 + ldr r0, _0216a5b4 ; =gMapManager ldrb lr, [r4, #0x17] ldrb ip, [r4, #0x16] ldr r0, [r0] @@ -18381,16 +18381,16 @@ _0216a47c: add r3, r4, #0xc strb ip, [sp, #0x10] strb lr, [sp, #0x11] - bl func_ov00_02082d84 + bl _ZN10MapManager18func_ov00_02082d84Ev _0216a4a4: - ldr r0, _0216a5b4 ; =data_027e0e60 + ldr r0, _0216a5b4 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083344 + bl _ZN10MapManager20GetCourseData_Unk_86Ev cmp r0, #2 bge _0216a4cc - ldr r0, _0216a5b4 ; =data_027e0e60 + ldr r0, _0216a5b4 ; =gMapManager ldr r0, [r0] - bl func_ov00_02083350 + bl _ZN10MapManager20GetCourseData_Unk_87Ev cmp r0, #2 blt _0216a504 _0216a4cc: @@ -18461,7 +18461,7 @@ _0216a5a8: .align 2, 0 arm_func_end func_ov18_0216a3c8 _0216a5b0: .word data_ov18_0216b6f4 -_0216a5b4: .word data_027e0e60 +_0216a5b4: .word gMapManager _0216a5b8: .word data_027e0d3c _0216a5bc: .word data_ov18_0216b710 _0216a5c0: .word data_ov18_0216b748 @@ -18506,10 +18506,10 @@ _0216a63c: cmp r2, #2 cmpne r2, #3 ldmneia sp!, {r4, pc} - ldr r0, _0216a6b0 ; =data_027e0e60 + ldr r0, _0216a6b0 ; =gMapManager ldrb r1, [r4, #0x19] ldr r0, [r0] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x14] @@ -18521,10 +18521,10 @@ _0216a674: cmp r2, #2 cmpne r2, #3 ldmneia sp!, {r4, pc} - ldr r0, _0216a6b0 ; =data_027e0e60 + ldr r0, _0216a6b0 ; =gMapManager ldrb r1, [r4, #0x19] ldr r0, [r0] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x14] @@ -18534,7 +18534,7 @@ _0216a674: .align 2, 0 arm_func_end func_ov18_0216a5c4 _0216a6ac: .word gAdventureFlags -_0216a6b0: .word data_027e0e60 +_0216a6b0: .word gMapManager .global func_ov18_0216a6b4 arm_func_start func_ov18_0216a6b4 @@ -18545,10 +18545,10 @@ func_ov18_0216a6b4: ; 0x0216a6b4 mov r6, r1 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _0216a77c ; =data_027e0e60 + ldr r0, _0216a77c ; =gMapManager ldrb r5, [r4, #0x15] ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, r5 ldmeqia sp!, {r4, r5, r6, pc} ldrh r0, [r6] @@ -18598,7 +18598,7 @@ _0216a770: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0216a6b4 -_0216a77c: .word data_027e0e60 +_0216a77c: .word gMapManager .global func_ov18_0216a780 arm_func_start func_ov18_0216a780 @@ -19094,23 +19094,23 @@ func_ov18_0216adcc: ; 0x0216adcc addhi sp, sp, #8 movhi r0, #0 ldmhiia sp!, {r3, r4, r5, pc} - ldr r0, _0216aed4 ; =data_027e0e60 + ldr r0, _0216aed4 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208330c + bl _ZN10MapManager21GetCourseData_Unk_25cEv cmp r0, #0 beq _0216ae24 - ldr r0, _0216aed4 ; =data_027e0e60 + ldr r0, _0216aed4 ; =gMapManager ldrb r1, [r5, #4] ldr r0, [r0] - bl func_ov00_02083318 + bl _ZN10MapManager18func_ov00_02083318Ei cmp r0, #0 addeq sp, sp, #8 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} _0216ae24: - ldr r0, _0216aed4 ; =data_027e0e60 + ldr r0, _0216aed4 ; =gMapManager ldr r0, [r0] - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 addne sp, sp, #8 movne r0, #1 @@ -19157,7 +19157,7 @@ _0216aec8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0216adcc -_0216aed4: .word data_027e0e60 +_0216aed4: .word gMapManager _0216aed8: .word data_027e0ce0 .global func_ov18_0216aedc @@ -20980,7 +20980,7 @@ data_ov18_0216c0f4: ; 0x0216c0f4 .word func_ov18_0215bd84 .global data_ov18_0216c0f8 data_ov18_0216c0f8: ; 0x0216c0f8 - .word func_ov00_0207ddf4 + .word _ZN7MapBase8vfunc_18Ev .global data_ov18_0216c0fc data_ov18_0216c0fc: ; 0x0216c0fc .word func_ov18_0215beb8 @@ -21016,13 +21016,13 @@ data_ov18_0216c124: ; 0x0216c124 .word func_ov04_0210cb00 ; data_ov07_0210cb00 .global data_ov18_0216c128 data_ov18_0216c128: ; 0x0216c128 - .word func_ov00_0207e46c + .word _ZN7MapBase8vfunc_48Ev .global data_ov18_0216c12c data_ov18_0216c12c: ; 0x0216c12c .word func_ov18_0215caa4 .global data_ov18_0216c130 data_ov18_0216c130: ; 0x0216c130 - .word func_ov00_0207e488 + .word _ZN7MapBase8vfunc_50Ev .global data_ov18_0216c134 data_ov18_0216c134: ; 0x0216c134 .word func_ov18_0215c290 @@ -21040,16 +21040,16 @@ data_ov18_0216c144: ; 0x0216c144 .word func_ov18_0215c32c .global data_ov18_0216c148 data_ov18_0216c148: ; 0x0216c148 - .word func_ov00_0207e4b8 + .word _ZN7MapBase8vfunc_68Eii .global data_ov18_0216c14c data_ov18_0216c14c: ; 0x0216c14c - .word func_ov00_0207e970 + .word _ZN7MapBase8vfunc_6cEiii .global data_ov18_0216c150 data_ov18_0216c150: ; 0x0216c150 - .word func_ov00_0207ee14 + .word _ZN7MapBase8vfunc_70EP5Vec3p .global data_ov18_0216c154 data_ov18_0216c154: ; 0x0216c154 - .word func_ov00_0207eff4 + .word _ZN7MapBase8vfunc_74EP5Vec3p .global data_ov18_0216c158 data_ov18_0216c158: ; 0x0216c158 .word func_ov18_0215c448 @@ -21061,16 +21061,16 @@ data_ov18_0216c160: ; 0x0216c160 .word func_ov18_0215c5c4 .global data_ov18_0216c164 data_ov18_0216c164: ; 0x0216c164 - .word func_ov00_0207f364 + .word _ZN7MapBase8vfunc_84Ei .global data_ov18_0216c168 data_ov18_0216c168: ; 0x0216c168 - .word func_ov00_0207f324 + .word _ZN7MapBase8vfunc_88Ev .global data_ov18_0216c16c data_ov18_0216c16c: ; 0x0216c16c - .word func_ov00_0207f32c + .word _ZN7MapBase8vfunc_8cEv .global data_ov18_0216c170 data_ov18_0216c170: ; 0x0216c170 - .word func_ov00_0207f3c4 + .word _ZN7MapBase8vfunc_90Eiii .global data_ov18_0216c174 data_ov18_0216c174: ; 0x0216c174 .word func_ov18_0215c27c @@ -21079,28 +21079,28 @@ data_ov18_0216c178: ; 0x0216c178 .word func_ov18_0215c3c0 .global data_ov18_0216c17c data_ov18_0216c17c: ; 0x0216c17c - .word func_ov00_0207f334 + .word _ZN7MapBase8vfunc_9cEv .global data_ov18_0216c180 data_ov18_0216c180: ; 0x0216c180 - .word func_ov00_0207f338 + .word _ZN7MapBase8vfunc_a0Ev .global data_ov18_0216c184 data_ov18_0216c184: ; 0x0216c184 .word func_ov18_0215c284 .global data_ov18_0216c188 data_ov18_0216c188: ; 0x0216c188 - .word func_ov00_0207f344 + .word _ZN7MapBase8vfunc_a8Ev .global data_ov18_0216c18c data_ov18_0216c18c: ; 0x0216c18c - .word func_ov00_0207f348 + .word _ZN7MapBase8vfunc_acEv .global data_ov18_0216c190 data_ov18_0216c190: ; 0x0216c190 .word func_ov18_0215c608 .global data_ov18_0216c194 data_ov18_0216c194: ; 0x0216c194 - .word func_ov00_0207e444 + .word _ZN7MapBase8vfunc_b4Ev .global data_ov18_0216c198 data_ov18_0216c198: ; 0x0216c198 - .word func_ov00_020807d4 + .word _ZN7MapBase8vfunc_b8Ev .global data_ov18_0216c19c data_ov18_0216c19c: ; 0x0216c19c .word func_ov18_0215c3a0 diff --git a/asm/ov19.inc b/asm/ov19.inc index 88307a71..7d8152e9 100644 --- a/asm/ov19.inc +++ b/asm/ov19.inc @@ -1,6 +1,14 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083780Ei +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN11ItemManager7AddItemEi @@ -104,7 +112,7 @@ .extern data_027e0d44 .extern data_027e0db0 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -182,14 +190,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_02082680 -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_02083780 -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 -.extern func_ov00_02083fb0 -.extern func_ov00_02084d24 .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_02087df8 diff --git a/asm/ov19.s b/asm/ov19.s index 0cc7f427..627744b2 100644 --- a/asm/ov19.s +++ b/asm/ov19.s @@ -3464,7 +3464,7 @@ _021703a4: ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r2, [sp, #0x30] - ldr r3, _02170564 ; =data_027e0e60 + ldr r3, _02170564 ; =gMapManager ldr r1, [sp, #0x34] str r2, [sp, #0x18] ldr r2, [sp, #0x38] @@ -3473,7 +3473,7 @@ _021703a4: ldr r0, [r3] add r1, sp, #0x18 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x34] ldr r1, [sp, #0x30] ldr r0, _02170568 ; =data_027e0f64 @@ -3557,7 +3557,7 @@ _02170554: .word data_027e0c54 _02170558: .word func_ov05_02102a80 _0217055c: .word data_027e0db0 _02170560: .word data_027e0f90 -_02170564: .word data_027e0e60 +_02170564: .word gMapManager _02170568: .word data_027e0f64 _0217056c: .word 0x00001555 _02170570: .word data_027e0ffc @@ -5453,7 +5453,7 @@ func_ov19_02171e64: ; 0x02171e64 stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr r2, [r0, #0x48] - ldr r1, _02171eb8 ; =data_027e0e60 + ldr r1, _02171eb8 ; =gMapManager str r2, [sp, #4] ldr r2, [r0, #0x4c] ldr r1, [r1] @@ -5462,7 +5462,7 @@ func_ov19_02171e64: ; 0x02171e64 add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -5473,7 +5473,7 @@ func_ov19_02171e64: ; 0x02171e64 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov19_02171e64 -_02171eb8: .word data_027e0e60 +_02171eb8: .word gMapManager .global func_ov19_02171ebc arm_func_start func_ov19_02171ebc @@ -6434,11 +6434,11 @@ _02172adc: .word data_027e0f78 func_ov19_02172ae0: ; 0x02172ae0 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02172b1c ; =data_027e0e60 + ldr r0, _02172b1c ; =gMapManager ldrb r1, [r4, #0x15a] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 streqb r0, [r4, #0x158] @@ -6449,7 +6449,7 @@ func_ov19_02172ae0: ; 0x02172ae0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov19_02172ae0 -_02172b1c: .word data_027e0e60 +_02172b1c: .word gMapManager .global func_ov19_02172b20 arm_func_start func_ov19_02172b20 @@ -7832,7 +7832,7 @@ func_ov19_02173d54: ; 0x02173d54 add r0, r7, #2 cmp r7, r0 bge _02173e1c - ldr r4, _02173ee8 ; =data_027e0e60 + ldr r4, _02173ee8 ; =gMapManager add r5, sp, #2 mov r11, #1 _02173d80: @@ -7849,24 +7849,24 @@ _02173d94: mov r2, r11 strb r6, [sp, #2] strb r8, [sp, #3] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #9 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci b _02173df4 _02173dcc: add r1, sp, #0 mov r2, #0 strb r6, [sp] strb r8, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #0x15 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci _02173df4: ldrb r0, [r10, #0x15] add r8, r8, #1 @@ -7934,7 +7934,7 @@ _02173ea0: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov19_02173d54 -_02173ee8: .word data_027e0e60 +_02173ee8: .word gMapManager _02173eec: .word data_027e0f6c .global func_ov19_02173ef0 @@ -8410,7 +8410,7 @@ _0217448c: ldmneia sp!, {r3, r4, pc} _021744b8: ldr r1, [r4, #0x48] - ldr r0, _0217454c ; =data_027e0e60 + ldr r0, _0217454c ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -8418,7 +8418,7 @@ _021744b8: ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] - bl func_ov00_02083780 + bl _ZN10MapManager18func_ov00_02083780Ei str r0, [r4, #0x354] ldr r1, _02174550 ; =data_ov19_02176b88 mov r0, r4 @@ -8448,7 +8448,7 @@ _021744b8: .align 2, 0 arm_func_end func_ov19_02174454 _02174548: .word gAdventureFlags -_0217454c: .word data_027e0e60 +_0217454c: .word gMapManager _02174550: .word data_ov19_02176b88 .global func_ov19_02174554 @@ -8585,14 +8585,14 @@ _02174710: ldr r3, [r4] ldr r2, [r4, #4] ldr r1, [r4, #8] - ldr r0, _02174798 ; =data_027e0e60 + ldr r0, _02174798 ; =gMapManager str r2, [sp, #0xc] str r3, [sp, #8] str r1, [sp, #0x10] ldrh r1, [r7, #0x20] ldr r0, [r0] add r2, sp, #8 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r5, #1 _02174754: @@ -8616,7 +8616,7 @@ _02174788: .word 0x424f4d42 _0217478c: .word data_027e0f94 _02174790: .word data_027e0fa0 _02174794: .word 0x0000019a -_02174798: .word data_027e0e60 +_02174798: .word gMapManager .global func_ov19_0217479c arm_func_start func_ov19_0217479c @@ -9138,7 +9138,7 @@ _02174e5c: b _021754d0 _02174eb4: ldr r1, [r4, #0x48] - ldr r0, _02175588 ; =data_027e0e60 + ldr r0, _02175588 ; =gMapManager str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -9147,7 +9147,7 @@ _02174eb4: add r2, sp, #0x14 str r1, [sp, #0x1c] ldr r1, [r4, #0x354] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -9603,7 +9603,7 @@ _02175574: arm_func_end func_ov19_02174d7c _02175580: .word data_027e0ffc _02175584: .word 0x0000024a -_02175588: .word data_027e0e60 +_02175588: .word gMapManager _0217558c: .word data_027e0f90 _02175590: .word 0x00000333 _02175594: .word data_027e0fc8 @@ -9892,7 +9892,7 @@ func_ov19_021758c8: ; 0x021758c8 mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv ldr r1, [r5, #0x48] - ldr r0, _02175958 ; =data_027e0e60 + ldr r0, _02175958 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -9901,7 +9901,7 @@ func_ov19_021758c8: ; 0x021758c8 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] add r0, r5, #0x158 bl func_ov00_020c5e20 @@ -9921,7 +9921,7 @@ _02175940: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov19_021758c8 -_02175958: .word data_027e0e60 +_02175958: .word gMapManager .global func_ov19_0217595c arm_func_start func_ov19_0217595c @@ -10071,14 +10071,14 @@ _02175af8: ldrsh r0, [r4, #0x10] cmp r0, #0 bgt _02175be8 - ldr r1, _02175c34 ; =data_027e0e60 + ldr r1, _02175c34 ; =gMapManager mov r0, r4 ldr r5, [r1] bl _ZN13LinkStateBase12GetPlayerPosEv mov r2, r0 add r0, sp, #2 mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r2, #0 ldrb r1, [sp, #2] ldrb r0, [sp, #3] @@ -10139,7 +10139,7 @@ _02175be8: _02175c28: .word data_027e0fb8 _02175c2c: .word 0xb60b60b7 _02175c30: .word data_ov00_020eec9c -_02175c34: .word data_027e0e60 +_02175c34: .word gMapManager _02175c38: .word data_ov19_02175ee0 _02175c3c: .word data_027e0d0c diff --git a/asm/ov20.inc b/asm/ov20.inc index 158fde90..5fc86e7f 100644 --- a/asm/ov20.inc +++ b/asm/ov20.inc @@ -1,6 +1,14 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager7AddItemEi .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList @@ -11,6 +19,13 @@ .extern _ZN13LinkStateBase18func_ov00_020a8a4cEii .extern _ZN13LinkStateBase18func_ov00_020a8d40Ev .extern _ZN13LinkStateBase20GetPlayerControlDataEv +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097968Ei +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bccEv +.extern _ZN14AdventureFlags18func_ov00_0209809cEv +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p @@ -77,9 +92,12 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager19GetActiveFairyLevelEi +.extern __register_global_object .extern data_02050f54 .extern data_02056be4 .extern data_027e0764 @@ -89,7 +107,6 @@ .extern data_027e0d78 .extern data_027e0de4 .extern data_027e0e58 -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f84 @@ -146,14 +163,11 @@ .extern func_02036770 .extern func_02036edc .extern func_020370d0 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_0203eba8 .extern func_0203ebc8 .extern func_02042f68 .extern func_0204f614 .extern func_0204f754 -.extern __register_global_object .extern func_ov00_02079e68 .extern func_ov00_02079eb4 .extern func_ov00_0207a1c8 @@ -167,14 +181,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_020833f4 -.extern func_ov00_02083400 -.extern func_ov00_020836bc -.extern func_ov00_02083770 -.extern func_ov00_02083a1c -.extern func_ov00_02083c7c -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 .extern func_ov00_02087d34 .extern func_ov00_02087d84 .extern func_ov00_02088000 @@ -218,13 +224,6 @@ .extern func_ov00_0208ccdc .extern func_ov00_0208cd0c .extern func_ov00_02094824 -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097968Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bccEv -.extern _ZN14AdventureFlags18func_ov00_0209809cEv .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_020a61ac @@ -426,4 +425,5 @@ .extern func_ov17_021687f0 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern strncpy diff --git a/asm/ov20.s b/asm/ov20.s index b3a2e680..43e594fa 100644 --- a/asm/ov20.s +++ b/asm/ov20.s @@ -830,7 +830,7 @@ _0216e120: add r0, r4, #0x3000 bl func_01ff9e64 ldr r1, [r7, #0xa8c] - ldr r0, _0216e550 ; =data_027e0e60 + ldr r0, _0216e550 ; =gMapManager str r1, [sp, #0x20] ldr r2, [r7, #0xa90] ldr r0, [r0] @@ -839,18 +839,18 @@ _0216e120: mov r1, #2 add r2, sp, #0x20 str r3, [sp, #0x28] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 cmp r0, #0 addeq sp, sp, #0x124 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _0216e550 ; =data_027e0e60 + ldr r0, _0216e550 ; =gMapManager add r2, sp, #0x44 ldr r0, [r0] mov r1, #2 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi ldr r1, [sp, #0x44] ldr r0, [r7, #0xa8c] cmp r0, r1 @@ -1030,7 +1030,7 @@ _0216e540: .word data_027e0ffc _0216e544: .word data_027e0f94 _0216e548: .word data_027e0764 _0216e54c: .word 0x00008001 -_0216e550: .word data_027e0e60 +_0216e550: .word gMapManager _0216e554: .word data_027e0f90 _0216e558: .word data_027e0f64 _0216e55c: .word 0x00001555 @@ -5045,7 +5045,7 @@ _02171ac0: add r3, sp, #0x10 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02171bf8 ; =data_027e0e60 + ldr r0, _02171bf8 ; =gMapManager ldr lr, [sp, #0x10] ldr ip, [sp, #0x14] ldr r3, [sp, #0x18] @@ -5055,7 +5055,7 @@ _02171ac0: str lr, [sp, #4] str ip, [sp, #8] str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x14] ldr r0, [r5, #0x15c] cmp r0, #0 @@ -5126,7 +5126,7 @@ _02171bd8: arm_func_end func_ov20_021719dc _02171bf0: .word data_027e0ffc _02171bf4: .word 0x00000272 -_02171bf8: .word data_027e0e60 +_02171bf8: .word gMapManager .global func_ov20_02171bfc arm_func_start func_ov20_02171bfc @@ -5364,14 +5364,14 @@ _02171e20: ldr r0, [sp, #0x20] ldr r1, [sp, #0x1c] str r0, [sp, #0x14] - ldr r0, _0217209c ; =data_027e0e60 + ldr r0, _0217209c ; =gMapManager str r1, [sp, #0x10] ldr r1, [sp, #0x24] ldr r0, [r0] str r1, [sp, #0x18] add r1, sp, #0x10 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x20] ldr r0, _021720a0 ; =data_027e0ffc ldr r1, _021720a4 ; =0x00000243 @@ -5470,7 +5470,7 @@ _0217208c: .word data_027e0764 _02172090: .word data_02050f54 _02172094: .word data_027e0e58 _02172098: .word 0x00000263 -_0217209c: .word data_027e0e60 +_0217209c: .word gMapManager _021720a0: .word data_027e0ffc _021720a4: .word 0x00000243 _021720a8: .word data_027e0f64 @@ -7621,7 +7621,7 @@ func_ov20_02173ce4: ; 0x02173ce4 mov ip, #5 str r0, [sp, #0x38] ldr r1, [r6, #0x48] - ldr r0, _02173e30 ; =data_027e0e60 + ldr r0, _02173e30 ; =gMapManager str r1, [sp, #0x24] ldr r2, [r6, #0x4c] add r1, sp, #0x48 @@ -7683,7 +7683,7 @@ _02173e20: .align 2, 0 arm_func_end func_ov20_02173ce4 _02173e2c: .word 0x0000ffff -_02173e30: .word data_027e0e60 +_02173e30: .word gMapManager _02173e34: .word data_027e0f94 .global func_ov20_02173e38 @@ -8656,7 +8656,7 @@ _02174a20: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r6, #0x48] - ldr r0, _02174ba0 ; =data_027e0e60 + ldr r0, _02174ba0 ; =gMapManager str r1, [sp, #4] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -8665,7 +8665,7 @@ _02174a20: add r1, sp, #4 mov r2, #1 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r2, r4, r0 ldr r1, [sp, #0x50] ldr r0, [sp, #0x58] @@ -8752,7 +8752,7 @@ _02174b88: _02174b94: .word gItemManager _02174b98: .word 0x000008a4 _02174b9c: .word 0x00000733 -_02174ba0: .word data_027e0e60 +_02174ba0: .word gMapManager _02174ba4: .word data_027e0f94 .global func_ov20_02174ba8 @@ -9874,14 +9874,14 @@ _021759e8: ldr r3, [sp, #0xe0] ldr r2, [sp, #0xe4] ldr r1, [sp, #0xe8] - ldr r0, _02175f14 ; =data_027e0e60 + ldr r0, _02175f14 ; =gMapManager str r2, [sp, #0x40] str r3, [sp, #0x3c] str r1, [sp, #0x44] ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x3c - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addeq sp, sp, #0x19c ldmeqia sp!, {r4, r5, pc} @@ -10010,7 +10010,7 @@ _02175bf4: beq _02175eb8 b _02175ec8 _02175c00: - ldr r0, _02175f14 ; =data_027e0e60 + ldr r0, _02175f14 ; =gMapManager ldr ip, _02175f30 ; =0xfffffe66 ldr r0, [r0] add ip, r2, ip @@ -10024,7 +10024,7 @@ _02175c00: str ip, [sp, #0x30] str r3, [sp, #0x34] str r5, [sp, #0x38] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xa0] mov r1, #0 str r1, [sp] @@ -10037,7 +10037,7 @@ _02175c00: b _02175ec8 _02175c64: ldr r0, _02175f3c ; =0xfffff333 - ldr ip, _02175f14 ; =data_027e0e60 + ldr ip, _02175f14 ; =gMapManager add r5, r2, r0 add r1, r1, #0x33 add lr, r1, #0x300 @@ -10051,7 +10051,7 @@ _02175c64: str r5, [sp, #0x24] str r3, [sp, #0x28] str lr, [sp, #0x2c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x94] mov r1, #0 str r1, [sp] @@ -10063,7 +10063,7 @@ _02175c64: bl func_ov00_020c4048 b _02175ec8 _02175ccc: - ldr r0, _02175f14 ; =data_027e0e60 + ldr r0, _02175f14 ; =gMapManager ldr ip, _02175f30 ; =0xfffffe66 ldr r0, [r0] add lr, r2, ip @@ -10077,7 +10077,7 @@ _02175ccc: str lr, [sp, #0x18] str r3, [sp, #0x1c] str ip, [sp, #0x20] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x88] mov r1, #0 str r1, [sp] @@ -10089,7 +10089,7 @@ _02175ccc: bl func_ov00_020c4048 b _02175ec8 _02175d30: - ldr r0, _02175f14 ; =data_027e0e60 + ldr r0, _02175f14 ; =gMapManager ldr ip, _02175f3c ; =0xfffff333 ldr r0, [r0] add lr, r2, ip @@ -10103,7 +10103,7 @@ _02175d30: str lr, [sp, #0xc] str r3, [sp, #0x10] str ip, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x7c] mov r1, #0 str r1, [sp] @@ -10218,7 +10218,7 @@ _02175ec8: .align 2, 0 arm_func_end func_ov20_02175978 _02175f10: .word data_027e0f94 -_02175f14: .word data_027e0e60 +_02175f14: .word gMapManager _02175f18: .word data_027e077c _02175f1c: .word gAdventureFlags _02175f20: .word data_027e0ffc @@ -11631,7 +11631,7 @@ func_ov20_02176fe8: ; 0x02176fe8 str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _0217705c ; =data_027e0e60 + ldr r0, _0217705c ; =gMapManager str r1, [r4, #0x8c] ldr r1, [r4, #0x80] str r1, [r4, #0x90] @@ -11640,20 +11640,20 @@ func_ov20_02176fe8: ; 0x02176fe8 ldr r1, [r4, #0x88] str r1, [r4, #0x98] ldr r0, [r0] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r1, _02177060 ; =0xffffd99a str r0, [r4, #0x48] - ldr r0, _0217705c ; =data_027e0e60 + ldr r0, _0217705c ; =gMapManager str r1, [r4, #0x4c] ldr r0, [r0] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev str r0, [r4, #0x50] mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov20_02176fe8 -_0217705c: .word data_027e0e60 +_0217705c: .word gMapManager _02177060: .word 0xffffd99a .global func_ov20_02177064 @@ -11898,7 +11898,7 @@ func_ov20_02177300: ; 0x02177300 str r1, [r0, #8] mov r0, r4 bl _ZN13LinkStateBase12GetPlayerPosEv - ldr r1, _021773e0 ; =data_027e0e60 + ldr r1, _021773e0 ; =gMapManager add r3, sp, #0x10 ldr r5, [r1] ldmia r0, {r0, r1, r2} @@ -11908,7 +11908,7 @@ func_ov20_02177300: ; 0x02177300 mov r2, r0 mov r1, r5 add r0, sp, #0xc - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp, #0xc] ldrb r1, [sp, #0xd] sub r3, sp, #4 @@ -11944,7 +11944,7 @@ func_ov20_02177300: ; 0x02177300 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov20_02177300 -_021773e0: .word data_027e0e60 +_021773e0: .word gMapManager _021773e4: .word 0x0000012a _021773e8: .word data_027e0e58 _021773ec: .word data_027e0ffc @@ -11958,11 +11958,11 @@ func_ov20_021773f4: ; 0x021773f4 mov r4, r0 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r2, r0 - ldr r1, _021774dc ; =data_027e0e60 + ldr r1, _021774dc ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r2, #0x20 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp] ldrb r1, [sp, #1] sub r3, sp, #4 @@ -12014,7 +12014,7 @@ _021774c4: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov20_021773f4 -_021774dc: .word data_027e0e60 +_021774dc: .word gMapManager _021774e0: .word 0xfffff99a _021774e4: .word data_ov20_021793bc @@ -12024,7 +12024,7 @@ func_ov20_021774e8: ; 0x021774e8 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x24 - ldr r0, _021775cc ; =data_027e0e60 + ldr r0, _021775cc ; =gMapManager ldrb r1, [sp, #0x4c] ldr r0, [r0] sub r3, sp, #4 @@ -12033,9 +12033,9 @@ func_ov20_021774e8: ; 0x021774e8 add r1, sp, #0x18 strb r2, [r3, #1] ldr r2, [r3] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r8, #0 - ldr r4, _021775cc ; =data_027e0e60 + ldr r4, _021775cc ; =gMapManager mov r9, r8 add r5, sp, #0xc mov r7, r8 @@ -12064,11 +12064,11 @@ _02177538: mov r2, #0 mov r1, r5 bne _0217759c - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r10, r0 b _021775a8 _0217759c: - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p cmp r10, r0 movge r10, r0 _021775a8: @@ -12083,7 +12083,7 @@ _021775a8: bx lr .align 2, 0 arm_func_end func_ov20_021774e8 -_021775cc: .word data_027e0e60 +_021775cc: .word gMapManager .global func_ov20_021775d0 arm_func_start func_ov20_021775d0 diff --git a/asm/ov21.inc b/asm/ov21.inc index 82760e5e..198d1eea 100644 --- a/asm/ov21.inc +++ b/asm/ov21.inc @@ -1,4 +1,9 @@ #pragma once +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase12GetPlayerVelEv .extern _ZN13LinkStateBase15ChangeLinkStateEi @@ -68,7 +73,7 @@ .extern data_027e077c .extern data_027e0d3c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f84 @@ -123,11 +128,6 @@ .extern func_ov00_0207a1c8 .extern func_ov00_0207c1f8 .extern func_ov00_02081f4c -.extern func_ov00_020836dc -.extern func_ov00_02083a1c -.extern func_ov00_02083e58 -.extern func_ov00_02083ee0 -.extern func_ov00_02084088 .extern func_ov00_0208b5a4 .extern func_ov00_0208b5bc .extern func_ov00_0208b694 diff --git a/asm/ov21.s b/asm/ov21.s index 14110fc8..0b89e000 100644 --- a/asm/ov21.s +++ b/asm/ov21.s @@ -514,16 +514,16 @@ _0216dcb0: .word data_027e0f94 .global func_ov21_0216dcb4 arm_func_start func_ov21_0216dcb4 func_ov21_0216dcb4: ; 0x0216dcb4 - ldr r2, _0216dccc ; =data_027e0e60 - ldr ip, _0216dcd0 ; =func_ov00_020836dc + ldr r2, _0216dccc ; =gMapManager + ldr ip, _0216dcd0 ; =_ZN10MapManager18func_ov00_020836dcEii ldrh r1, [r0, #0x22] ldr r0, [r2] mov r2, #0 bx ip .align 2, 0 arm_func_end func_ov21_0216dcb4 -_0216dccc: .word data_027e0e60 -_0216dcd0: .word func_ov00_020836dc +_0216dccc: .word gMapManager +_0216dcd0: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov21_0216dcd4 arm_func_start func_ov21_0216dcd4 @@ -922,11 +922,11 @@ _0216e204: .word data_ov21_021710a0 func_ov21_0216e208: ; 0x0216e208 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0216e238 ; =data_027e0e60 + ldr r0, _0216e238 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -934,7 +934,7 @@ func_ov21_0216e208: ; 0x0216e208 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov21_0216e208 -_0216e238: .word data_027e0e60 +_0216e238: .word gMapManager .global func_ov21_0216e23c arm_func_start func_ov21_0216e23c @@ -2772,7 +2772,7 @@ func_ov21_0216f7c8: ; 0x0216f7c8 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r1, [r10, #0x98] - ldr r0, _0216fb84 ; =data_027e0e60 + ldr r0, _0216fb84 ; =gMapManager str r1, [sp, #0x54] ldr r2, [r10, #0x48] add r1, sp, #0xb8 @@ -2874,7 +2874,7 @@ _0216f9c0: add r0, r0, #0x9a add r0, r0, #0x900 ldr r9, _0216fb90 ; =data_ov21_02171750 - ldr r4, _0216fb84 ; =data_027e0e60 + ldr r4, _0216fb84 ; =gMapManager str r1, [sp, #0x3c] str r0, [sp, #0x40] str r2, [sp, #0x44] @@ -2896,7 +2896,7 @@ _0216fa3c: ldr r1, [r4] add r0, sp, #0x14 mov r2, r7 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp, #0x14] ldrb r1, [sp, #0x15] ldr r2, _0216fbb4 ; =func_ov00_020b1940 @@ -2971,7 +2971,7 @@ _0216fb74: .align 2, 0 arm_func_end func_ov21_0216f7c8 _0216fb80: .word 0x0000ffff -_0216fb84: .word data_027e0e60 +_0216fb84: .word gMapManager _0216fb88: .word data_ov21_02171bb4 _0216fb8c: .word data_ov21_02171750 _0216fb90: .word data_ov21_02171750 @@ -3328,7 +3328,7 @@ func_ov21_02170050: ; 0x02170050 str r3, [sp, #0xc] bl func_ov00_020793b8 ldr r1, [r11, #0x48] - ldr r0, _021701a8 ; =data_027e0e60 + ldr r0, _021701a8 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r11, #0x4c] ldr r0, [r0] @@ -3337,7 +3337,7 @@ func_ov21_02170050: ; 0x02170050 add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r6, #0xc _021700b8: rsb r4, r6, #0 @@ -3408,7 +3408,7 @@ _0217018c: .align 2, 0 arm_func_end func_ov21_02170050 _021701a4: .word data_027e0d3c -_021701a8: .word data_027e0e60 +_021701a8: .word gMapManager _021701ac: .word data_027e103c .global func_ov21_021701b0 @@ -3429,7 +3429,7 @@ func_ov21_021701b0: ; 0x021701b0 str r3, [sp] bl func_ov00_020793b8 ldr r1, [r10, #0x48] - ldr r0, _0217032c ; =data_027e0e60 + ldr r0, _0217032c ; =gMapManager str r1, [sp, #0x10] ldr r1, [r10, #0x4c] ldr r0, [r0] @@ -3438,7 +3438,7 @@ func_ov21_021701b0: ; 0x021701b0 add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r6, #0xf _02170218: rsb r4, r6, #0 @@ -3518,13 +3518,13 @@ _02170310: .align 2, 0 arm_func_end func_ov21_021701b0 _02170328: .word data_027e0d3c -_0217032c: .word data_027e0e60 +_0217032c: .word gMapManager _02170330: .word data_027e103c .global func_ov21_02170334 arm_func_start func_ov21_02170334 func_ov21_02170334: ; 0x02170334 - ldr r1, _02170380 ; =data_027e0e60 + ldr r1, _02170380 ; =gMapManager ldrh r2, [r0, #0x20] ldr r1, [r1] ldrh r0, [r0, #0x22] @@ -3547,7 +3547,7 @@ _02170378: bx lr .align 2, 0 arm_func_end func_ov21_02170334 -_02170380: .word data_027e0e60 +_02170380: .word gMapManager .global func_ov21_02170384 arm_func_start func_ov21_02170384 @@ -3564,23 +3564,23 @@ func_ov21_02170388: ; 0x02170388 add r2, sp, #4 ldr r0, [r0] bl func_ov00_020793b8 - ldr r1, _021703fc ; =data_027e0e60 + ldr r1, _021703fc ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, sp, #4 - bl func_ov00_02083a1c - ldr r0, _021703fc ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _021703fc ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev cmp r0, #0 addgt sp, sp, #0x10 movgt r0, #0 ldmgtia sp!, {r3, pc} - ldr r0, _021703fc ; =data_027e0e60 + ldr r0, _021703fc ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x14 movne r0, #0 moveq r0, #1 @@ -3589,7 +3589,7 @@ func_ov21_02170388: ; 0x02170388 .align 2, 0 arm_func_end func_ov21_02170388 _021703f8: .word data_027e0d3c -_021703fc: .word data_027e0e60 +_021703fc: .word gMapManager .global func_ov21_02170400 arm_func_start func_ov21_02170400 diff --git a/asm/ov22.inc b/asm/ov22.inc index 4169cdbe..c97233e2 100644 --- a/asm/ov22.inc +++ b/asm/ov22.inc @@ -1,6 +1,25 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager16MapData_vfunc_7cEv +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_0208413cEi +.extern _ZN10MapManager18func_ov00_02084ac4Ej +.extern _ZN10MapManager18func_ov00_02084d24Ecci +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j @@ -88,7 +107,7 @@ .extern data_027e0d0c .extern data_027e0d38 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -174,25 +193,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c518 .extern func_ov00_02081f4c -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_020828c0 -.extern func_ov00_0208344c -.extern func_ov00_020836bc -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_020838e8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c7c -.extern func_ov00_02083e34 -.extern func_ov00_02083e58 -.extern func_ov00_02083ee0 -.extern func_ov00_02084088 -.extern func_ov00_020840c4 -.extern func_ov00_0208413c -.extern func_ov00_02084a5c -.extern func_ov00_02084ac4 -.extern func_ov00_02084d24 .extern func_ov00_02087df8 .extern func_ov00_02088000 .extern func_ov00_02088130 diff --git a/asm/ov22.s b/asm/ov22.s index 45adc59a..a61ee8f5 100644 --- a/asm/ov22.s +++ b/asm/ov22.s @@ -481,11 +481,11 @@ _0216dc98: .word data_027e0f78 func_ov22_0216dc9c: ; 0x0216dc9c stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0216dcd8 ; =data_027e0e60 + ldr r0, _0216dcd8 ; =gMapManager ldrb r1, [r4, #0x15a] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 streqb r0, [r4, #0x158] @@ -496,7 +496,7 @@ func_ov22_0216dc9c: ; 0x0216dc9c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov22_0216dc9c -_0216dcd8: .word data_027e0e60 +_0216dcd8: .word gMapManager .global func_ov22_0216dcdc arm_func_start func_ov22_0216dcdc @@ -1056,7 +1056,7 @@ _0216e494: mov r7, #0 cmp r0, #0 ble _0216e52c - ldr r4, _0216e584 ; =data_027e0e60 + ldr r4, _0216e584 ; =gMapManager _0216e4a8: cmp r6, #0 cmpeq r7, #0 @@ -1077,10 +1077,10 @@ _0216e4a8: mov r0, r8 mov r2, r5 ldrsh r3, [r10, #0xc] - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv ldr r0, [r4] mov r1, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0216e51c strb r9, [r0, #0x65] @@ -1119,7 +1119,7 @@ _0216e56c: .align 2, 0 arm_func_end func_ov22_0216e2a8 _0216e580: .word 0x00001334 -_0216e584: .word data_027e0e60 +_0216e584: .word gMapManager .global func_ov22_0216e588 arm_func_start func_ov22_0216e588 @@ -1363,7 +1363,7 @@ _0216e8bc: cmpeq r10, #0 beq _0216e938 ldrb r2, [r4, #0x14] - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager mov r1, r8 add r2, r9, r2 strb r2, [sp, #0xa] @@ -1371,7 +1371,7 @@ _0216e8bc: ldr r0, [r0] add r2, r10, r2 strb r2, [sp, #0xb] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 beq _0216e938 ldr r1, [r0] @@ -1423,16 +1423,16 @@ _0216e958: mvn r0, #0 cmp r1, r0 beq _0216e9bc - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej _0216e9bc: - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager add r1, sp, #0x1c ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r4, #0x74] _0216e9d8: mov r0, #0x3c @@ -1528,7 +1528,7 @@ _0216eb28: cmpeq r10, #0 beq _0216eba4 ldrb r2, [r4, #0x14] - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager mov r1, r8 add r2, r9, r2 strb r2, [sp, #8] @@ -1536,7 +1536,7 @@ _0216eb28: ldr r0, [r0] add r2, r10, r2 strb r2, [sp, #9] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 beq _0216eba4 ldr r1, [r0] @@ -1588,16 +1588,16 @@ _0216ebc4: mvn r0, #0 cmp r1, r0 beq _0216ec28 - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej _0216ec28: - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager add r1, sp, #0x10 ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r4, #0x74] _0216ec44: mov r1, #0 @@ -1621,7 +1621,7 @@ _0216ec74: .align 2, 0 arm_func_end func_ov22_0216e778 _0216ec88: .word gAdventureFlags -_0216ec8c: .word data_027e0e60 +_0216ec8c: .word gMapManager _0216ec90: .word data_027e0ffc _0216ec94: .word 0x00000335 _0216ec98: .word data_027e0e58 @@ -1823,21 +1823,21 @@ _0216eed0: mov r0, #0x4000 strh r0, [r4, #0xc] ldrb r2, [r4, #0x15] - ldr r0, _0216f0b0 ; =data_027e0e60 + ldr r0, _0216f0b0 ; =gMapManager ldrb r1, [r4, #0x14] ldr r0, [r0] sub r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci b _0216ef14 _0216eef4: mov r0, #0 strh r0, [r4, #0xc] ldrb r1, [r4, #0x14] - ldr r0, _0216f0b0 ; =data_027e0e60 + ldr r0, _0216f0b0 ; =gMapManager ldrb r2, [r4, #0x15] ldr r0, [r0] sub r1, r1, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci _0216ef14: str r0, [r4, #0x1c] ldrh r6, [r4, #0x24] @@ -1883,7 +1883,7 @@ _0216efa0: cmp r0, r1 bge _0216f050 mov r7, #1 - ldr r5, _0216f0b0 ; =data_027e0e60 + ldr r5, _0216f0b0 ; =gMapManager add r8, sp, #6 add r6, sp, #4 mov r11, r7 @@ -1901,13 +1901,13 @@ _0216efe8: mov r2, r7 strb r9, [sp, #6] strb r10, [sp, #7] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r5] mov r1, r6 strb r9, [sp, #4] strb r10, [sp, #5] mov r2, r11 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r4, #0x15] ldrb r0, [r4, #0x39] add r10, r10, #1 @@ -1950,7 +1950,7 @@ _0216f050: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov22_0216ee88 -_0216f0b0: .word data_027e0e60 +_0216f0b0: .word gMapManager _0216f0b4: .word 0x0000099a .global func_ov22_0216f0b8 @@ -3085,7 +3085,7 @@ _0216ff6c: str r0, [r6, #0x698] cmp r0, #0x2d bne _0216ffdc - ldr r0, _021701e4 ; =data_027e0e60 + ldr r0, _021701e4 ; =gMapManager mov r8, #0 ldr r0, [r0] sub r7, r8, #2 @@ -3102,7 +3102,7 @@ _0216ff6c: strb r8, [sp, #0x37] strb r8, [sp, #0x38] strb r8, [sp, #0x39] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _021701e8 ; =data_027e0d38 add r1, sp, #0x24 ldr r0, [r0] @@ -3255,7 +3255,7 @@ _021701d4: .word data_027e0e58 _021701d8: .word data_027e0ffc _021701dc: .word 0x00000297 _021701e0: .word 0x00000295 -_021701e4: .word data_027e0e60 +_021701e4: .word gMapManager _021701e8: .word data_027e0d38 _021701ec: .word 0xfffffccd _021701f0: .word data_ov22_021785b8 @@ -4914,7 +4914,7 @@ func_ov22_02171770: ; 0x02171770 tst r0, #0xff beq _021717d8 ldr r1, [r4, #0x48] - ldr r0, _02171930 ; =data_027e0e60 + ldr r0, _02171930 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -4924,7 +4924,7 @@ func_ov22_02171770: ; 0x02171770 str r1, [sp, #8] ldrh r1, [r4, #0x22] and r1, r1, #0xff - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 beq _021717d8 ldr r0, [r4, #0x48] @@ -5026,7 +5026,7 @@ _0217190c: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov22_02171770 -_02171930: .word data_027e0e60 +_02171930: .word gMapManager _02171934: .word data_027e0f94 _02171938: .word 0x0000071c _0217193c: .word data_02050f54 @@ -5446,7 +5446,7 @@ func_ov22_02171dfc: ; 0x02171dfc mov ip, #4 str r1, [sp, #0x28] ldr r1, [r4, #0x54] - ldr r3, _02171fec ; =data_027e0e60 + ldr r3, _02171fec ; =gMapManager str r1, [sp, #0x14] ldr r2, [r4, #0x58] add r1, sp, #0x2c @@ -5535,7 +5535,7 @@ _02171fd8: arm_func_end func_ov22_02171dfc _02171fe4: .word 0x00000b33 _02171fe8: .word 0x0000ffff -_02171fec: .word data_027e0e60 +_02171fec: .word gMapManager .global func_ov22_02171ff0 arm_func_start func_ov22_02171ff0 @@ -5887,7 +5887,7 @@ func_ov22_02172438: ; 0x02172438 tst r0, #0xff beq _021724a4 ldr r1, [r4, #0x48] - ldr r0, _0217250c ; =data_027e0e60 + ldr r0, _0217250c ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -5897,7 +5897,7 @@ func_ov22_02172438: ; 0x02172438 str r1, [sp, #0xc] ldrh r1, [r4, #0x22] and r1, r1, #0xff - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -5936,7 +5936,7 @@ _021724a4: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov22_02172438 -_0217250c: .word data_027e0e60 +_0217250c: .word gMapManager _02172510: .word data_ov22_02179430 .global func_ov22_02172514 @@ -6089,7 +6089,7 @@ func_ov22_021726e8: ; 0x021726e8 tst r0, #0xff beq _02172754 ldr r1, [r4, #0x48] - ldr r0, _021727ec ; =data_027e0e60 + ldr r0, _021727ec ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -6099,7 +6099,7 @@ func_ov22_021726e8: ; 0x021726e8 str r1, [sp, #8] ldrh r1, [r4, #0x22] and r1, r1, #0xff - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -6150,7 +6150,7 @@ _02172754: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov22_021726e8 -_021727ec: .word data_027e0e60 +_021727ec: .word gMapManager _021727f0: .word data_027e0764 _021727f4: .word data_ov22_02179430 @@ -6187,7 +6187,7 @@ func_ov22_0217283c: ; 0x0217283c tst r0, #0xff beq _021728b0 ldr r1, [r4, #0x48] - ldr r0, _02172954 ; =data_027e0e60 + ldr r0, _02172954 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -6197,7 +6197,7 @@ func_ov22_0217283c: ; 0x0217283c str r1, [sp, #8] ldrh r1, [r4, #0x22] and r1, r1, #0xff - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 ldreqb r0, [r4, #0x752] cmpeq r0, #0 @@ -6254,7 +6254,7 @@ _0217290c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov22_0217283c -_02172954: .word data_027e0e60 +_02172954: .word gMapManager _02172958: .word data_027e0764 _0217295c: .word data_ov22_02179430 @@ -8052,11 +8052,11 @@ _021740a4: bl func_0202b154 cmp r0, #0 beq _02174134 - ldr r0, _0217460c ; =data_027e0e60 + ldr r0, _0217460c ; =gMapManager ldrh r1, [r5, #0x20] ldr r0, [r0] ldr r2, [r5, #8] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02174120 ldr r1, _02174610 ; =data_027e0764 @@ -8421,7 +8421,7 @@ _02174604: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov22_0217406c -_0217460c: .word data_027e0e60 +_0217460c: .word gMapManager _02174610: .word data_027e0764 _02174614: .word data_02050f54 _02174618: .word data_027e0f94 @@ -8802,7 +8802,7 @@ func_ov22_02174a80: ; 0x02174a80 cmp r3, #0 beq _02174ae8 ldr r1, [r3, #0x48] - ldr r0, _02174b38 ; =data_027e0e60 + ldr r0, _02174b38 ; =gMapManager str r1, [r4, #0x48] ldr r2, [r3, #0x4c] add r1, sp, #0 @@ -8817,7 +8817,7 @@ func_ov22_02174a80: ; 0x02174a80 str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x9a add r0, r0, #0x900 str r0, [r4, #0x4c] @@ -8847,7 +8847,7 @@ _02174b2c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov22_02174a80 -_02174b38: .word data_027e0e60 +_02174b38: .word gMapManager .global func_ov22_02174b3c arm_func_start func_ov22_02174b3c @@ -8989,7 +8989,7 @@ func_ov22_02174cb0: ; 0x02174cb0 mov r1, r1, lsl #0x2 ldrsh r1, [r0, r1] ldr r2, [sp, #0x24] - ldr lr, _02174db0 ; =data_027e0e60 + ldr lr, _02174db0 ; =gMapManager smulbb r1, r1, ip add r1, r1, #0x800 add r3, r2, r1, asr #12 @@ -9015,7 +9015,7 @@ func_ov22_02174cb0: ; 0x02174cb0 str r3, [sp, #0x18] str r5, [sp, #0x1c] str r6, [sp, #0x20] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] ldr r3, _02174db4 ; =0x0000059a mov r0, #0x1f @@ -9038,7 +9038,7 @@ func_ov22_02174cb0: ; 0x02174cb0 arm_func_end func_ov22_02174cb0 _02174da8: .word data_02050f54 _02174dac: .word 0x00000266 -_02174db0: .word data_027e0e60 +_02174db0: .word gMapManager _02174db4: .word 0x0000059a _02174db8: .word data_ov00_020e9370 @@ -9191,7 +9191,7 @@ _02174f74: strb r0, [sp, #8] cmp r4, r1 bge _02175038 - ldr r7, _0217505c ; =data_027e0e60 + ldr r7, _0217505c ; =gMapManager ldr r6, _02175060 ; =data_027e0764 sub r8, sp, #4 mov r11, #5 @@ -9199,7 +9199,7 @@ _02174f9c: ldr r0, [r7] add r1, sp, #8 strb r4, [sp, #9] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x38 bne _02175028 ldr r1, [r6] @@ -9225,7 +9225,7 @@ _02174f9c: strb r3, [r8] strb r2, [r8, #1] ldr r2, [r8] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r0, _02175064 ; =data_027e0e58 add r1, r5, #0x158 ldr r0, [r0] @@ -9248,7 +9248,7 @@ _02175038: .align 2, 0 arm_func_end func_ov22_02174f00 _02175058: .word data_027e0f64 -_0217505c: .word data_027e0e60 +_0217505c: .word gMapManager _02175060: .word data_027e0764 _02175064: .word data_027e0e58 @@ -9878,15 +9878,15 @@ func_ov22_021757c0: ; 0x021757c0 ldr r3, [r5, #0x298] str r3, [sp, #0x18] bl func_01ff9bf8 - ldr r1, _0217590c ; =data_027e0e60 + ldr r1, _0217590c ; =gMapManager add r0, sp, #0 ldr r5, [r1] add r2, sp, #0x1c mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev ldr r1, [sp, #4] mov r2, #0x19000 ldr ip, [sp, #0xc] @@ -9940,7 +9940,7 @@ func_ov22_021757c0: ; 0x021757c0 .align 2, 0 arm_func_end func_ov22_021757c0 _02175908: .word data_027e0f64 -_0217590c: .word data_027e0e60 +_0217590c: .word gMapManager .global func_ov22_02175910 arm_func_start func_ov22_02175910 @@ -10225,16 +10225,16 @@ func_ov22_02175c44: ; 0x02175c44 str r1, [r9, #0x44] add r1, r2, #0x7800 str r1, [r9, #0x48] - ldr r0, _02175cfc ; =data_027e0e60 + ldr r0, _02175cfc ; =gMapManager add r1, r9, #0x18 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldrb r7, [r9, #0x14] add r0, r7, #2 cmp r7, r0 addge sp, sp, #4 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} - ldr r10, _02175cfc ; =data_027e0e60 + ldr r10, _02175cfc ; =gMapManager add r5, sp, #0 mov r4, #1 _02175ca0: @@ -10249,7 +10249,7 @@ _02175cb4: mov r2, r4 strb r6, [sp] strb r8, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #0x10 @@ -10265,7 +10265,7 @@ _02175ce0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov22_02175c44 -_02175cfc: .word data_027e0e60 +_02175cfc: .word gMapManager .global func_ov22_02175d00 arm_func_start func_ov22_02175d00 @@ -10584,7 +10584,7 @@ _021760b8: cmp r6, r0 addge sp, sp, #0xc ldmgeia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r8, _02176174 ; =data_027e0e60 + ldr r8, _02176174 ; =gMapManager mov r5, #0x45 _0217611c: ldrb r7, [r4, #0x15] @@ -10596,7 +10596,7 @@ _0217612c: mov r1, r6 mov r2, r7 mov r3, r5 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci ldrb r0, [r4, #0x15] add r7, r7, #1 add r0, r0, #0x10 @@ -10613,7 +10613,7 @@ _02176154: .align 2, 0 arm_func_end func_ov22_02176000 _02176170: .word data_027e0f6c -_02176174: .word data_027e0e60 +_02176174: .word gMapManager .global func_ov22_02176178 arm_func_start func_ov22_02176178 @@ -11543,11 +11543,11 @@ func_ov22_02176d6c: ; 0x02176d6c stmdb sp!, {r4, lr} sub sp, sp, #0x48 mov r4, r0 - ldr r0, _02176f78 ; =data_027e0e60 + ldr r0, _02176f78 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x30 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi mov ip, #0 ldr r1, _02176f7c ; =0x00000ccd bic r0, ip, #0x6000 @@ -11585,13 +11585,13 @@ func_ov22_02176d6c: ; 0x02176d6c mov r0, #4 str r1, [r4, #0x2bc] strb r0, [r4, #0x124] - ldr r0, _02176f78 ; =data_027e0e60 + ldr r0, _02176f78 ; =gMapManager strb r2, [r4, #0x125] ldr r0, [r0] add r1, sp, #0x18 - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r1, [sp, #0x18] - ldr r0, _02176f78 ; =data_027e0e60 + ldr r0, _02176f78 ; =gMapManager str r1, [r4, #0x48] ldr r1, [sp, #0x1c] str r1, [r4, #0x4c] @@ -11600,7 +11600,7 @@ func_ov22_02176d6c: ; 0x02176d6c mov r1, #0x5000 ldr r0, [r0] rsb r1, r1, #0 - bl func_ov00_0208413c + bl _ZN10MapManager18func_ov00_0208413cEi add r0, r4, #0x170 ldr r1, [r0] ldr r1, [r1, #8] @@ -11673,7 +11673,7 @@ func_ov22_02176d6c: ; 0x02176d6c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov22_02176d6c -_02176f78: .word data_027e0e60 +_02176f78: .word gMapManager _02176f7c: .word 0x00000ccd _02176f80: .word data_027e0f6c _02176f84: .word data_ov22_021788f4 diff --git a/asm/ov23.inc b/asm/ov23.inc index 6c85c482..114655f7 100644 --- a/asm/ov23.inc +++ b/asm/ov23.inc @@ -1,6 +1,28 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager14GetEntrancePosEP5Vec3pi +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_02083790Ei +.extern _ZN10MapManager18func_ov00_02083840Ei +.extern _ZN10MapManager18func_ov00_02083918EiPi +.extern _ZN10MapManager18func_ov00_02083958Ei +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN11ItemManager12GetItemModelEj .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList @@ -120,7 +142,7 @@ .extern data_027e0db0 .extern data_027e0e2c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -222,28 +244,6 @@ .extern func_ov00_0207c444 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_02082680 -.extern func_ov00_0208344c -.extern func_ov00_02083624 -.extern func_ov00_02083790 -.extern func_ov00_02083840 -.extern func_ov00_02083918 -.extern func_ov00_02083948 -.extern func_ov00_02083958 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083c7c -.extern func_ov00_02083e58 -.extern func_ov00_02083ee0 -.extern func_ov00_02083fb0 -.extern func_ov00_020840a0 -.extern func_ov00_020840c4 -.extern func_ov00_02084740 -.extern func_ov00_02084b38 -.extern func_ov00_02084d24 .extern func_ov00_0208726c .extern func_ov00_0208b5a4 .extern func_ov00_0208b5bc diff --git a/asm/ov23.s b/asm/ov23.s index 3a64ecfd..1d821bf2 100644 --- a/asm/ov23.s +++ b/asm/ov23.s @@ -702,15 +702,15 @@ _0216df74: ldreq r0, [r4, #0x480] cmpeq r0, #1 ldmneia sp!, {r3, r4, r5, pc} - ldr r1, _0216e00c ; =data_027e0e60 + ldr r1, _0216e00c ; =gMapManager add r0, sp, #0 ldr r5, [r1] add r2, r4, #0x48 mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r0] @@ -727,7 +727,7 @@ _0216df74: arm_func_end func_ov23_0216df28 _0216e004: .word data_ov00_020e8b08 _0216e008: .word 0x47524e43 -_0216e00c: .word data_027e0e60 +_0216e00c: .word gMapManager .global func_ov23_0216e010 arm_func_start func_ov23_0216e010 @@ -2277,7 +2277,7 @@ func_ov23_0216f2a4: ; 0x0216f2a4 add r1, r4, #0x48 bl func_ov00_020c5330 ldr r1, [r4, #0x48] - ldr r0, _0216f3ec ; =data_027e0e60 + ldr r0, _0216f3ec ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -2286,7 +2286,7 @@ func_ov23_0216f2a4: ; 0x0216f2a4 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, [r4, #0x48] ldr r3, _0216f3f0 ; =data_ov23_0217ac20 @@ -2337,7 +2337,7 @@ _0216f39c: arm_func_end func_ov23_0216f2a4 _0216f3e4: .word data_ov23_0217a030 _0216f3e8: .word 0x0000059a -_0216f3ec: .word data_027e0e60 +_0216f3ec: .word gMapManager _0216f3f0: .word data_ov23_0217ac20 _0216f3f4: .word data_ov23_0217a0b8 _0216f3f8: .word data_ov23_0217ac5c @@ -2378,7 +2378,7 @@ func_ov23_0216f428: ; 0x0216f428 add r1, sp, #0xbc add r0, r5, #0x3a8 bl func_ov00_020c5330 - ldr r0, _0216f878 ; =data_027e0e60 + ldr r0, _0216f878 ; =gMapManager ldr r1, [sp, #0xbc] ldr r2, [sp, #0xc0] ldr r3, [sp, #0xc4] @@ -2388,19 +2388,19 @@ func_ov23_0216f428: ; 0x0216f428 add r1, sp, #0x74 mov r2, #0 str r3, [sp, #0x7c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 ldr r0, [sp, #0xd0] ldr r1, [sp, #0xc8] str r0, [sp, #0x70] - ldr r0, _0216f878 ; =data_027e0e60 + ldr r0, _0216f878 ; =gMapManager str r1, [sp, #0x68] ldr r1, [sp, #0xcc] ldr r0, [r0] str r1, [sp, #0x6c] add r1, sp, #0x68 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev cmp r4, r0 addne sp, sp, #0x1fc mov r0, #0 @@ -2442,7 +2442,7 @@ func_ov23_0216f428: ; 0x0216f428 str r3, [sp, #0x58] str r2, [sp] ldr r1, [r5, #8] - ldr r4, _0216f878 ; =data_027e0e60 + ldr r4, _0216f878 ; =gMapManager str r1, [sp, #4] ldrh r3, [r5, #0x9c] add r1, sp, #0x19c @@ -2535,10 +2535,10 @@ _0216f630: moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} _0216f6bc: - ldr r0, _0216f878 ; =data_027e0e60 + ldr r0, _0216f878 ; =gMapManager mov r1, r6 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0216f6f4 ldr r1, [r0] @@ -2654,7 +2654,7 @@ _0216f86c: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov23_0216f428 -_0216f878: .word data_027e0e60 +_0216f878: .word gMapManager _0216f87c: .word 0x0000ffff _0216f880: .word 0x00000733 _0216f884: .word data_027e0fe4 @@ -2834,7 +2834,7 @@ _0216fac8: add r1, r7, #0x39c bl func_ov00_020c5330 ldr r1, [r7, #0x39c] - ldr r0, _0216fb1c ; =data_027e0e60 + ldr r0, _0216fb1c ; =gMapManager str r1, [sp, #4] ldr r1, [r7, #0x3a0] ldr r0, [r0] @@ -2843,7 +2843,7 @@ _0216fac8: add r1, sp, #4 str r2, [sp, #0xc] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r7, #0x3a0] mov r1, r7 add r0, r7, #0x398 @@ -2852,7 +2852,7 @@ _0216fac8: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov23_0216f898 -_0216fb1c: .word data_027e0e60 +_0216fb1c: .word gMapManager .global func_ov23_0216fb20 arm_func_start func_ov23_0216fb20 @@ -2976,7 +2976,7 @@ func_ov23_0216fc10: ; 0x0216fc10 add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0216fd84 ; =data_027e0e60 + ldr r0, _0216fd84 ; =gMapManager ldr lr, [sp, #0x20] ldr ip, [sp, #0x24] ldr r3, [sp, #0x28] @@ -2986,7 +2986,7 @@ func_ov23_0216fc10: ; 0x0216fc10 str lr, [sp, #0x14] str ip, [sp, #0x18] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd add r0, r0, #0x400 str r0, [sp, #0x24] @@ -3012,7 +3012,7 @@ func_ov23_0216fc10: ; 0x0216fc10 strb r2, [r4, #0x3a9] bl func_ov00_020c5330 ldr r1, [r4, #0x48] - ldr r0, _0216fd84 ; =data_027e0e60 + ldr r0, _0216fd84 ; =gMapManager str r1, [sp, #8] ldr r2, [r4, #0x4c] ldr r0, [r0] @@ -3021,7 +3021,7 @@ func_ov23_0216fc10: ; 0x0216fc10 add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] mov r0, r4 bl func_ov23_0216fddc @@ -3030,7 +3030,7 @@ func_ov23_0216fc10: ; 0x0216fc10 .align 2, 0 arm_func_end func_ov23_0216fc10 _0216fd80: .word 0x66666667 -_0216fd84: .word data_027e0e60 +_0216fd84: .word gMapManager _0216fd88: .word data_027e0e58 _0216fd8c: .word 0x000001a9 _0216fd90: .word data_027e0ffc @@ -3068,15 +3068,15 @@ func_ov23_0216fda0: ; 0x0216fda0 func_ov23_0216fddc: ; 0x0216fddc stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 - ldr r1, _0216fea4 ; =data_027e0e60 + ldr r1, _0216fea4 ; =gMapManager mov r2, r0 ldr r1, [r1] add r0, sp, #2 add r2, r2, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mvn r4, #0 _0216fe00: - ldr r6, _0216fea4 ; =data_027e0e60 + ldr r6, _0216fea4 ; =gMapManager mvn r5, #0 add r7, sp, #0 _0216fe0c: @@ -3088,7 +3088,7 @@ _0216fe0c: mov r1, r7 strb r3, [sp] strb r2, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r8, r0 beq _0216fe84 ldr r1, [r0] @@ -3123,7 +3123,7 @@ _0216fe84: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov23_0216fddc -_0216fea4: .word data_027e0e60 +_0216fea4: .word gMapManager .global func_ov23_0216fea8 arm_func_start func_ov23_0216fea8 @@ -3454,7 +3454,7 @@ _021702d0: add r1, r5, #0x48 bl func_ov00_020c5330 ldr r1, [r5, #0x48] - ldr r0, _02170670 ; =data_027e0e60 + ldr r0, _02170670 ; =gMapManager str r1, [sp, #0x20] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -3463,7 +3463,7 @@ _021702d0: add r1, sp, #0x20 str r2, [sp, #0x28] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] ldr r1, [r5, #0x48] mov r0, r5 @@ -3621,7 +3621,7 @@ _02170524: strb r2, [r5, #0x3ab] bl func_ov00_020c5330 ldr r1, [r5, #0x39c] - ldr r0, _02170670 ; =data_027e0e60 + ldr r0, _02170670 ; =gMapManager str r1, [sp, #0x14] ldr r1, [r5, #0x3a0] ldr r0, [r0] @@ -3630,7 +3630,7 @@ _02170524: add r1, sp, #0x14 mov r2, #0 str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x3a0] _021705a8: mov r0, r5 @@ -3690,7 +3690,7 @@ _02170658: _02170664: .word data_027e0f94 _02170668: .word data_027e0fe4 _0217066c: .word 0x50534241 -_02170670: .word data_027e0e60 +_02170670: .word gMapManager _02170674: .word data_027e0ffc _02170678: .word 0x00000332 _0217067c: .word 0x00000333 @@ -5842,23 +5842,23 @@ func_ov23_021722d0: ; 0x021722d0 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, _021723c0 ; =data_027e0e60 + ldr r1, _021723c0 ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c - ldr r0, _021723c0 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _021723c0 ; =gMapManager ldrb r1, [sp] ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r4, #0x48] - ldr r0, _021723c0 ; =data_027e0e60 + ldr r0, _021723c0 ; =gMapManager ldrb r1, [sp, #1] ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [r4, #0x50] ldr r1, [r4, #0x48] - ldr r0, _021723c0 ; =data_027e0e60 + ldr r0, _021723c0 ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -5867,7 +5867,7 @@ func_ov23_021722d0: ; 0x021722d0 add r1, sp, #4 str r2, [sp, #0xc] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] add r0, r4, #0x1b4 bl func_ov23_0216f0f4 @@ -5896,7 +5896,7 @@ func_ov23_021722d0: ; 0x021722d0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov23_021722d0 -_021723c0: .word data_027e0e60 +_021723c0: .word gMapManager .global func_ov23_021723c4 arm_func_start func_ov23_021723c4 @@ -6189,12 +6189,12 @@ _02172794: bl func_ov23_02172cac b _021727e0 _021727a0: - ldr r0, _021727f0 ; =data_027e0e60 + ldr r0, _021727f0 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r3, r1 mov r2, #2 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r0, r4 mov r1, #1 bl _ZN5Actor18func_Ov00_020c1bfcEi @@ -6213,7 +6213,7 @@ _021727e0: arm_func_end func_ov23_02172700 _021727e8: .word data_ov23_0217a3e0 _021727ec: .word 0x00000333 -_021727f0: .word data_027e0e60 +_021727f0: .word gMapManager .global func_ov23_021727f4 arm_func_start func_ov23_021727f4 @@ -6453,7 +6453,7 @@ _02172a44: strb r2, [sp, #3] bl func_ov00_020c5374 mvn r7, #0 - ldr r9, _02172b14 ; =data_027e0e60 + ldr r9, _02172b14 ; =gMapManager mov r6, r7 add r10, sp, #0x1c add r5, sp, #0 @@ -6468,7 +6468,7 @@ _02172a78: mov r1, r5 strb r3, [sp] strb r2, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _02172ae4 ldr r1, [r0] @@ -6502,7 +6502,7 @@ _02172ae4: _02172b08: .word data_027e0fe4 _02172b0c: .word 0x00000666 _02172b10: .word 0x424f4d42 -_02172b14: .word data_027e0e60 +_02172b14: .word gMapManager .global func_ov23_02172b18 arm_func_start func_ov23_02172b18 @@ -7119,14 +7119,14 @@ _02173364: _02173388: ldrb r1, [sp, #0x13] ldrb r2, [sp, #0x12] - ldr r0, _021734e0 ; =data_027e0e60 + ldr r0, _021734e0 ; =gMapManager add r1, r1, r5 add r2, r2, r4 strb r1, [sp, #0x11] ldr r0, [r0] add r1, sp, #0x10 strb r2, [sp, #0x10] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r10, r0 beq _021734a8 ldr r1, [r0] @@ -7206,7 +7206,7 @@ _021734d0: .word _ZTV11FilterActor _021734d4: .word 0x424f4d42 _021734d8: .word data_027e0fe4 _021734dc: .word 0x00000733 -_021734e0: .word data_027e0e60 +_021734e0: .word gMapManager .global func_ov23_021734e4 arm_func_start func_ov23_021734e4 @@ -7660,16 +7660,16 @@ _02173b48: ldr r0, _021741a8 ; =data_ov00_020eec68 mov r1, #0xf bl func_ov00_020d716c - ldr r0, _021741ac ; =data_027e0e60 + ldr r0, _021741ac ; =gMapManager mov r1, #1 ldr r0, [r0] - bl func_ov00_02083790 - ldr r0, _021741ac ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083790Ei + ldr r0, _021741ac ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, #2 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii _02173b88: ldr r0, [r4, #0x138] cmp r0, #0x1e @@ -8077,24 +8077,24 @@ _02174120: mov r0, r4 mov r2, r1 bl _ZN5Actor18func_ov00_020c1c20Eiii - ldr r0, _021741ac ; =data_027e0e60 + ldr r0, _021741ac ; =gMapManager ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r0, _021741a8 ; =data_ov00_020eec68 mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 - ldr r0, _021741ac ; =data_027e0e60 + ldr r0, _021741ac ; =gMapManager mov r1, #1 ldr r0, [r0] - bl func_ov00_02083840 - ldr r0, _021741ac ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083840Ei + ldr r0, _021741ac ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, #2 mov r3, r1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii _0217419c: mov r0, #1 add sp, sp, #0xc4 @@ -8102,7 +8102,7 @@ _0217419c: .align 2, 0 arm_func_end func_ov23_021738c0 _021741a8: .word data_ov00_020eec68 -_021741ac: .word data_027e0e60 +_021741ac: .word gMapManager _021741b0: .word data_027e0e58 _021741b4: .word data_027e0ffc _021741b8: .word data_027e103c @@ -10301,7 +10301,7 @@ func_ov23_02175d3c: ; 0x02175d3c str r3, [sp, #8] blx ip ldrb r1, [r4, #0x14] - ldr r0, _02175f08 ; =data_027e0e60 + ldr r0, _02175f08 ; =gMapManager ldrb r4, [r4, #0x15] add r3, r1, #1 ldr r0, [r0] @@ -10309,7 +10309,7 @@ func_ov23_02175d3c: ; 0x02175d3c mov r2, #1 strb r3, [sp, #4] strb r4, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add sp, sp, #0x6c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 @@ -10318,7 +10318,7 @@ _02175ef8: .word 0x000007fc _02175efc: .word data_ov23_0217966c _02175f00: .word data_027e0f68 _02175f04: .word 0x000002cd -_02175f08: .word data_027e0e60 +_02175f08: .word gMapManager .global func_ov23_02175f0c arm_func_start func_ov23_02175f0c @@ -11642,7 +11642,7 @@ func_ov23_02177020: ; 0x02177020 sub sp, sp, #4 mov r9, r0 ldr r1, [r9, #0x18] - ldr r0, _021770e8 ; =data_027e0e60 + ldr r0, _021770e8 ; =gMapManager str r1, [r9, #0x38] ldr r2, [r9, #0x1c] add r1, r9, #0x18 @@ -11656,13 +11656,13 @@ func_ov23_02177020: ; 0x02177020 add r2, r2, #0x1800 str r2, [r9, #0x40] ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldrb r7, [r9, #0x14] add r0, r7, #2 cmp r7, r0 addge sp, sp, #4 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} - ldr r10, _021770e8 ; =data_027e0e60 + ldr r10, _021770e8 ; =gMapManager add r5, sp, #0 mov r4, #1 _0217708c: @@ -11677,7 +11677,7 @@ _021770a0: mov r2, r4 strb r6, [sp] strb r8, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #4 @@ -11693,7 +11693,7 @@ _021770cc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov23_02177020 -_021770e8: .word data_027e0e60 +_021770e8: .word gMapManager .global func_ov23_021770ec arm_func_start func_ov23_021770ec @@ -12254,7 +12254,7 @@ _0217781c: cmp r6, r0 addge sp, sp, #0xc ldmgeia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r8, _021778d8 ; =data_027e0e60 + ldr r8, _021778d8 ; =gMapManager mov r5, #0x15 _02177880: ldrb r7, [r4, #0x15] @@ -12266,7 +12266,7 @@ _02177890: mov r1, r6 mov r2, r7 mov r3, r5 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci ldrb r0, [r4, #0x15] add r7, r7, #1 add r0, r0, #4 @@ -12283,7 +12283,7 @@ _021778b8: .align 2, 0 arm_func_end func_ov23_02177754 _021778d4: .word data_027e0f6c -_021778d8: .word data_027e0e60 +_021778d8: .word gMapManager .global func_ov23_021778dc arm_func_start func_ov23_021778dc @@ -12575,7 +12575,7 @@ func_ov23_02177ba0: ; 0x02177ba0 add r2, r6, #0x2c mov r1, r0, lsl #0x1 add r3, r2, r0, lsl #1 - ldr r0, _02177e10 ; =data_027e0e60 + ldr r0, _02177e10 ; =gMapManager ldrb r2, [r2, r1] ldrb r1, [r3, #1] ldr r0, [r0] @@ -12584,7 +12584,7 @@ func_ov23_02177ba0: ; 0x02177ba0 strb r1, [r3, #1] ldr r2, [r3] add r1, sp, #0x78 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r0, sp, #0x6c add r1, sp, #0x78 bl func_ov00_020b1a4c @@ -12681,14 +12681,14 @@ _02177d24: ldr r0, [sp, #0x74] cmp r0, #0x5000 bge _02177df0 - ldr r0, _02177e10 ; =data_027e0e60 + ldr r0, _02177e10 ; =gMapManager mov r3, #0xff ldr r0, [r0] mov r2, #0 add r1, sp, #0x38 strb r3, [sp, #0x46] str r2, [sp, #0x48] - bl func_ov00_02083624 + bl _ZN10MapManager14GetEntrancePosEP5Vec3pi ldr r0, [sp, #0x40] ldr r2, [sp, #0x38] ldr r1, [sp, #0x3c] @@ -12701,7 +12701,7 @@ _02177da8: ldr r0, [sp, #0x74] cmp r0, #0x5000 blt _02177df0 - ldr r0, _02177e10 ; =data_027e0e60 + ldr r0, _02177e10 ; =gMapManager mov r4, #0xff ldr r0, [r0] mov r3, #0 @@ -12709,7 +12709,7 @@ _02177da8: mov r2, #2 strb r4, [sp, #0x32] str r3, [sp, #0x34] - bl func_ov00_02083624 + bl _ZN10MapManager14GetEntrancePosEP5Vec3pi ldr r2, [sp, #0x24] ldr r1, [sp, #0x28] ldr r0, [sp, #0x2c] @@ -12727,7 +12727,7 @@ _02177df0: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov23_02177ba0 -_02177e10: .word data_027e0e60 +_02177e10: .word gMapManager _02177e14: .word data_027e0fe4 _02177e18: .word 0x504c444d _02177e1c: .word 0x50574253 @@ -12797,23 +12797,23 @@ func_ov23_02177e90: ; 0x02177e90 bl func_ov23_02177e7c mov r6, r0 bl func_ov23_02177e84 - ldr r2, _02178040 ; =data_027e0e60 + ldr r2, _02178040 ; =gMapManager ldr r1, _02178044 ; =data_027e0f94 ldr r8, [r2] mov r5, r0 ldr r1, [r1] mov r0, r8 mov r7, #1 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev ldr r1, _02178044 ; =data_027e0f94 mov r4, r0 ldr r1, [r1, #8] mov r0, r8 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r2, r0 mov r1, r4 mov r0, r8 - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci sub r0, r0, #0x49 cmp r0, #3 addls pc, pc, r0, lsl #2 @@ -12906,7 +12906,7 @@ _02178030: .align 2, 0 arm_func_end func_ov23_02177e90 _0217803c: .word data_027e0d38 -_02178040: .word data_027e0e60 +_02178040: .word gMapManager _02178044: .word data_027e0f94 _02178048: .word data_027e0fa0 _0217804c: .word data_027e0ffc @@ -13052,18 +13052,18 @@ _02178218: strh r1, [r0, #0x18] cmp r3, #2 blo _02178218 - ldr r0, _02178318 ; =data_027e0e60 + ldr r0, _02178318 ; =gMapManager add r2, sp, #0xc ldr r0, [r0] mov r1, #0x5b - bl func_ov00_02083918 + bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _02178298 - ldr r0, _02178318 ; =data_027e0e60 + ldr r0, _02178318 ; =gMapManager ldrb r1, [sp, #0x10] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217831c ; =data_027e0f64 mov r1, #0 ldr r0, [r0] @@ -13071,10 +13071,10 @@ _02178218: bl func_ov00_0208726c b _02178298 _02178274: - ldr r0, _02178318 ; =data_027e0e60 + ldr r0, _02178318 ; =gMapManager mov r1, #0 ldr r0, [r0] - bl func_ov00_02083958 + bl _ZN10MapManager18func_ov00_02083958Ei ldr r0, _0217831c ; =data_027e0f64 mov r1, #0 ldr r0, [r0] @@ -13115,7 +13115,7 @@ _02178308: .word data_027e0fe4 _0217830c: .word 0x504c444d _02178310: .word data_027e0f94 _02178314: .word data_027e0fac -_02178318: .word data_027e0e60 +_02178318: .word gMapManager _0217831c: .word data_027e0f64 _02178320: .word data_027e0fcc _02178324: .word data_027e0fd4 @@ -13530,7 +13530,7 @@ _02178880: _021788b8: bl _ZN13LinkStateBase12GetPlayerPosEv ldr r2, [r0] - ldr r1, _021789f8 ; =data_027e0e60 + ldr r1, _021789f8 ; =gMapManager str r2, [sp, #0xc] ldr r2, [r0, #4] ldr r6, [r1] @@ -13543,7 +13543,7 @@ _021788b8: add r1, sp, #0xc mov r0, r6 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #4] ldr r6, [r4, #0xb0] sub r5, r1, r0 @@ -13614,7 +13614,7 @@ _021789e8: .word data_ov23_0217ab40 _021789ec: .word data_ov00_020eec9c _021789f0: .word data_027e0e58 _021789f4: .word 0x000001a7 -_021789f8: .word data_027e0e60 +_021789f8: .word gMapManager .global func_ov23_021789fc arm_func_start func_ov23_021789fc @@ -13631,7 +13631,7 @@ func_ov23_021789fc: ; 0x021789fc str r1, [r0, #8] mov r0, r5 bl _ZN13LinkStateBase12GetPlayerPosEv - ldr r1, _02178aa4 ; =data_027e0e60 + ldr r1, _02178aa4 ; =gMapManager add r3, sp, #8 ldr r4, [r1] ldmia r0, {r0, r1, r2} @@ -13641,10 +13641,10 @@ func_ov23_021789fc: ; 0x021789fc mov r2, r0 add r0, sp, #4 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, r4 add r1, sp, #4 - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev str r0, [sp, #0xc] mov r0, #1 str r0, [sp] @@ -13663,7 +13663,7 @@ func_ov23_021789fc: ; 0x021789fc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov23_021789fc -_02178aa4: .word data_027e0e60 +_02178aa4: .word gMapManager _02178aa8: .word data_027e0e58 _02178aac: .word data_027e0ffc @@ -13675,15 +13675,15 @@ func_ov23_02178ab0: ; 0x02178ab0 mov r10, r0 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r2, r0 - ldr r1, _02179014 ; =data_027e0e60 + ldr r1, _02179014 ; =gMapManager add r0, sp, #8 ldr r4, [r1] add r2, r2, #0x20 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #8 mov r0, r4 - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev mov r7, #0 ldr r11, _02179018 ; =data_02050f54 str r0, [sp] @@ -13742,21 +13742,21 @@ _02178b10: mov r0, r4 str r3, [sp, #0x34] bl func_01ff9bc4 - ldr r0, _02179014 ; =data_027e0e60 + ldr r0, _02179014 ; =gMapManager mov r2, r4 ldr r9, [r0] add r0, sp, #6 mov r1, r9 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, r9 add r1, sp, #6 - bl func_ov00_02083e58 - ldr r1, _02179014 ; =data_027e0e60 + bl _ZN10MapManager16MapData_vfunc_60Ev + ldr r1, _02179014 ; =gMapManager str r0, [sp, #0x30] ldr r1, [r1] add r0, sp, #0x10 mov r2, r4 - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0x10] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -13888,21 +13888,21 @@ _02178dcc: sublt r0, r0, #0x800 strlt r0, [sp, #0x20] _02178de8: - ldr r1, _02179014 ; =data_027e0e60 + ldr r1, _02179014 ; =gMapManager add r0, sp, #4 ldr r4, [r1] add r2, sp, #0x20 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #4 mov r0, r4 - bl func_ov00_02083e58 - ldr r1, _02179014 ; =data_027e0e60 + bl _ZN10MapManager16MapData_vfunc_60Ev + ldr r1, _02179014 ; =gMapManager str r0, [sp, #0x24] ldr r1, [r1] add r0, sp, #0xc add r2, sp, #0x20 - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0xc] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -14037,7 +14037,7 @@ _02178fd8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov23_02178ab0 -_02179014: .word data_027e0e60 +_02179014: .word gMapManager _02179018: .word data_02050f54 _0217901c: .word 0x00000333 _02179020: .word data_027e0d38 diff --git a/asm/ov24.inc b/asm/ov24.inc index 653183a9..8a711a56 100644 --- a/asm/ov24.inc +++ b/asm/ov24.inc @@ -1,12 +1,29 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_02083908EcPi +.extern _ZN10MapManager18func_ov00_0208412cEv +.extern _ZN10MapManager18func_ov00_0208413cEi +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager18func_ov00_020c3484EP8ActorRefP5Actori .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13PlayerControl13CheckTouchingEj +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bacEv +.extern _ZN14AdventureFlags18func_ov00_02097bbcEv +.extern _ZN14AdventureFlags18func_ov00_02098058Ev .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc @@ -74,9 +91,12 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager19GetActiveFairyLevelEi +.extern __register_global_object .extern data_02050f54 .extern data_02051f54 .extern data_02057200 @@ -84,7 +104,6 @@ .extern data_027e0c68 .extern data_027e0d0c .extern data_027e0e58 -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -149,13 +168,10 @@ .extern func_0202bbbc .extern func_0202e310 .extern func_0202e58c -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_0203eba8 .extern func_0203ebc8 .extern func_0204f614 .extern func_0204f754 -.extern __register_global_object .extern func_ov00_02079e68 .extern func_ov00_0207a188 .extern func_ov00_0207a1c8 @@ -163,18 +179,6 @@ .extern func_ov00_0207c1b0 .extern func_ov00_0207c2e8 .extern func_ov00_02081f4c -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_020833f4 -.extern func_ov00_02083400 -.extern func_ov00_0208344c -.extern func_ov00_02083908 -.extern func_ov00_02083ee0 -.extern func_ov00_0208412c -.extern func_ov00_0208413c -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 -.extern func_ov00_02084d24 .extern func_ov00_020876bc .extern func_ov00_02088158 .extern func_ov00_0208b180 @@ -223,11 +227,6 @@ .extern func_ov00_02093a5c .extern func_ov00_02093af0 .extern func_ov00_02094824 -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bacEv -.extern _ZN14AdventureFlags18func_ov00_02097bbcEv -.extern _ZN14AdventureFlags18func_ov00_02098058Ev .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_020a61ac @@ -425,4 +424,5 @@ .extern func_ov17_0216a734 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern strncpy diff --git a/asm/ov24.s b/asm/ov24.s index ee2347ce..7db058c7 100644 --- a/asm/ov24.s +++ b/asm/ov24.s @@ -164,7 +164,7 @@ _0216d878: add r0, r9, r4 cmp r9, r0 bge _0216d914 - ldr r6, _0216da24 ; =data_027e0e60 + ldr r6, _0216da24 ; =gMapManager add r8, sp, #4 mov r7, #1 _0216d8b4: @@ -180,7 +180,7 @@ _0216d8cc: mov r2, r7 strb r4, [sp, #4] strb r10, [sp, #5] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r5, #0x15] ldrb r0, [r5, #0x65] add r10, r10, #1 @@ -265,7 +265,7 @@ _0216d914: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov24_0216d824 -_0216da24: .word data_027e0e60 +_0216da24: .word gMapManager _0216da28: .word data_027e0f6c .global func_ov24_0216da2c @@ -492,10 +492,10 @@ func_ov24_0216dcac: ; 0x0216dcac func_ov24_0216dcbc: ; 0x0216dcbc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 - ldr r1, _0216dd58 ; =data_027e0e60 + ldr r1, _0216dd58 ; =gMapManager mov r4, r0 ldr r0, [r1] - bl func_ov00_0208412c + bl _ZN10MapManager18func_ov00_0208412cEv ldr r1, _0216dd5c ; =0xfffff667 ldr r2, [r4, #0x6c] add r0, r0, r1 @@ -517,9 +517,9 @@ _0216dd0c: add r1, sp, #0 ldr r2, [r2, #0x2c] blx r2 - ldr r0, _0216dd58 ; =data_027e0e60 + ldr r0, _0216dd58 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208412c + bl _ZN10MapManager18func_ov00_0208412cEv sub r1, r0, #0x800 str r0, [sp, #0x10] str r1, [sp, #4] @@ -533,7 +533,7 @@ _0216dd0c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov24_0216dcbc -_0216dd58: .word data_027e0e60 +_0216dd58: .word gMapManager _0216dd5c: .word 0xfffff667 .global func_ov24_0216dd60 @@ -703,7 +703,7 @@ _0216df44: str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _0216dffc ; =data_027e0e60 + ldr r0, _0216dffc ; =gMapManager str r1, [r4, #0x8c] ldr r1, [r4, #0x80] str r1, [r4, #0x90] @@ -712,13 +712,13 @@ _0216df44: ldr r1, [r4, #0x88] str r1, [r4, #0x98] ldr r0, [r0] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev str r0, [r4, #0x228] mov r1, #0 - ldr r0, _0216dffc ; =data_027e0e60 + ldr r0, _0216dffc ; =gMapManager str r1, [r4, #0x22c] ldr r0, [r0] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev str r0, [r4, #0x230] mov r0, #1 add sp, sp, #0xc @@ -731,7 +731,7 @@ _0216dfec: .word data_ov24_02179224 _0216dff0: .word data_027e0fec _0216dff4: .word data_ov24_02179f04 _0216dff8: .word data_ov24_02179204 -_0216dffc: .word data_027e0e60 +_0216dffc: .word gMapManager .global func_ov24_0216e000 arm_func_start func_ov24_0216e000 @@ -917,10 +917,10 @@ _0216e258: ldr r2, [r0, r2, lsl #2] add r0, r4, #0x16c bl Approach_thunk - ldr r0, _0216e4b0 ; =data_027e0e60 + ldr r0, _0216e4b0 ; =gMapManager ldr r1, [r4, #0x16c] ldr r0, [r0] - bl func_ov00_0208413c + bl _ZN10MapManager18func_ov00_0208413cEi _0216e280: ldr r1, [r4, #0x174] ldr r0, _0216e4b4 ; =data_ov24_021791ec @@ -995,10 +995,10 @@ _0216e378: ldr r2, [r0, r2, lsl #2] add r0, r4, #0x16c bl Approach_thunk - ldr r0, _0216e4b0 ; =data_027e0e60 + ldr r0, _0216e4b0 ; =gMapManager ldr r1, [r4, #0x16c] ldr r0, [r0] - bl func_ov00_0208413c + bl _ZN10MapManager18func_ov00_0208413cEi _0216e3a0: ldr r1, [r4, #0x174] ldr r0, _0216e4c0 ; =data_ov24_021791f4 @@ -1074,7 +1074,7 @@ _0216e4a0: .word data_027e0f64 _0216e4a4: .word data_027e0ffc _0216e4a8: .word 0x00000355 _0216e4ac: .word data_ov24_021791e4 -_0216e4b0: .word data_027e0e60 +_0216e4b0: .word gMapManager _0216e4b4: .word data_ov24_021791ec _0216e4b8: .word data_ov24_021791fc _0216e4bc: .word 0x00000356 @@ -1103,10 +1103,10 @@ _0216e4f4: mov r1, #1 str r2, [r4, #0x16c] bl func_ov24_0216e740 - ldr r0, _0216e6f0 ; =data_027e0e60 + ldr r0, _0216e6f0 ; =gMapManager ldr r1, [r4, #0x16c] ldr r0, [r0] - bl func_ov00_0208413c + bl _ZN10MapManager18func_ov00_0208413cEi mov r2, #0 _0216e520: add r0, r4, r2, lsl #1 @@ -1130,10 +1130,10 @@ _0216e558: mov r1, #0 str r2, [r4, #0x16c] bl func_ov24_0216e740 - ldr r0, _0216e6f0 ; =data_027e0e60 + ldr r0, _0216e6f0 ; =gMapManager ldr r1, [r4, #0x16c] ldr r0, [r0] - bl func_ov00_0208413c + bl _ZN10MapManager18func_ov00_0208413cEi mov r2, #0 mov r1, r2 _0216e588: @@ -1236,7 +1236,7 @@ _0216e6e4: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov24_0216e4c8 -_0216e6f0: .word data_027e0e60 +_0216e6f0: .word gMapManager _0216e6f4: .word gAdventureFlags .global func_ov24_0216e6f8 @@ -1332,11 +1332,11 @@ _0216e810: strh r1, [r0, #0x18] cmp r3, #2 blo _0216e810 - ldr r0, _0216e87c ; =data_027e0e60 + ldr r0, _0216e87c ; =gMapManager ldrb r1, [r5, #0x159] ldr r0, [r0] add r2, sp, #0x18 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 beq _0216e860 ldr r0, [sp, #0x20] @@ -1357,7 +1357,7 @@ _0216e860: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov24_0216e7b8 -_0216e87c: .word data_027e0e60 +_0216e87c: .word gMapManager .global func_ov24_0216e880 arm_func_start func_ov24_0216e880 @@ -1373,13 +1373,13 @@ func_ov24_0216e880: ; 0x0216e880 movne r0, #0 ldmia sp!, {r3, pc} _0216e8a8: - ldr r0, _0216e8b8 ; =data_027e0e60 + ldr r0, _0216e8b8 ; =gMapManager ldr r0, [r0] ldrb r0, [r0, #9] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov24_0216e880 -_0216e8b8: .word data_027e0e60 +_0216e8b8: .word gMapManager .global func_ov24_0216e8bc arm_func_start func_ov24_0216e8bc @@ -1392,7 +1392,7 @@ func_ov24_0216e8bc: ; 0x0216e8bc bl _ZN5Actor18func_Ov00_020c1bfcEi ldmia sp!, {r3, pc} _0216e8d8: - ldr r0, _0216e8f4 ; =data_027e0e60 + ldr r0, _0216e8f4 ; =gMapManager ldr r0, [r0] ldrb r0, [r0, #9] cmp r0, #0 @@ -1401,7 +1401,7 @@ _0216e8d8: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov24_0216e8bc -_0216e8f4: .word data_027e0e60 +_0216e8f4: .word gMapManager .global func_ov24_0216e8f8 arm_func_start func_ov24_0216e8f8 @@ -1692,7 +1692,7 @@ _0216ec38: cmp r1, r0 bne _0216ed20 ldr r0, [r4, #0x48] - ldr r3, _0216eddc ; =data_027e0e60 + ldr r3, _0216eddc ; =gMapManager str r0, [r4, #0x478] ldr r0, [r4, #0x4c] mov r1, #2 @@ -1705,7 +1705,7 @@ _0216ec38: add r0, r0, #0xe00 str r0, [r4, #0x47c] ldr r0, [r3] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 bne _0216ecf4 mov r0, r4 @@ -1782,7 +1782,7 @@ _0216edcc: .word data_ov24_0217922c _0216edd0: .word data_ov24_0217a00c _0216edd4: .word data_ov24_0217a010 _0216edd8: .word func_ov24_0216e960 -_0216eddc: .word data_027e0e60 +_0216eddc: .word gMapManager .global func_ov24_0216ede0 arm_func_start func_ov24_0216ede0 @@ -1874,19 +1874,19 @@ _0216eee4: bne _0216ef1c mov r0, #0 strb r0, [r5, #0x487] - ldr r0, _0216ef28 ; =data_027e0e60 + ldr r0, _0216ef28 ; =gMapManager ldrb r1, [r5, #0x2a] ldr r0, [r0] mov r2, #3 mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii _0216ef1c: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov24_0216ee88 _0216ef24: .word 0x4d55544f -_0216ef28: .word data_027e0e60 +_0216ef28: .word gMapManager .global func_ov24_0216ef2c arm_func_start func_ov24_0216ef2c @@ -2606,7 +2606,7 @@ func_ov24_0216f79c: ; 0x0216f79c ldr ip, [ip, #0x10] add r1, sp, #8 blx ip - ldr r0, _0216f888 ; =data_027e0e60 + ldr r0, _0216f888 ; =gMapManager ldr r1, [r0] ldrb r1, [r1, #9] strb r1, [r4, #0x60] @@ -2632,7 +2632,7 @@ _0216f86c: .align 2, 0 arm_func_end func_ov24_0216f79c _0216f884: .word 0x00001333 -_0216f888: .word data_027e0e60 +_0216f888: .word gMapManager .global func_ov24_0216f88c arm_func_start func_ov24_0216f88c @@ -2662,7 +2662,7 @@ func_ov24_0216f88c: ; 0x0216f88c str r1, [r4, #0x70] ldrsh ip, [r4, #0x74] mov r2, #0 - ldr r1, _0216f9b0 ; =data_027e0e60 + ldr r1, _0216f9b0 ; =gMapManager add ip, ip, #0x3e8 strh ip, [r4, #0x74] ldrh ip, [r4, #0x74] @@ -2704,7 +2704,7 @@ _0216f974: ldr r3, [r3, #0x80] blx r3 _0216f990: - ldr r0, _0216f9b0 ; =data_027e0e60 + ldr r0, _0216f9b0 ; =gMapManager ldr r0, [r0] ldrb r0, [r0, #9] strb r0, [r4, #0x60] @@ -2714,7 +2714,7 @@ _0216f990: _0216f9a4: .word 0x00001555 _0216f9a8: .word data_02050f54 _0216f9ac: .word 0x00000333 -_0216f9b0: .word data_027e0e60 +_0216f9b0: .word gMapManager .global func_ov24_0216f9b4 arm_func_start func_ov24_0216f9b4 @@ -2830,13 +2830,13 @@ func_ov24_0216fa3c: ; 0x0216fa3c cmp r0, #0 ldrneh r1, [r4, #0x24] strneb r1, [r0, #0x159] - ldr r0, _0216fbd0 ; =data_027e0e60 + ldr r0, _0216fbd0 ; =gMapManager ldr r1, [r0] ldrb r0, [r1, #9] cmp r0, #0 moveq r2, #1 movne r2, #0 - ldr r0, _0216fbd0 ; =data_027e0e60 + ldr r0, _0216fbd0 ; =gMapManager strb r2, [r1, #9] ldr r0, [r0] ldrb r0, [r0, #9] @@ -2867,7 +2867,7 @@ _0216fbc0: .word data_027e0fc8 _0216fbc4: .word gAdventureFlags _0216fbc8: .word data_027e0fe4 _0216fbcc: .word 0x574c4354 -_0216fbd0: .word data_027e0e60 +_0216fbd0: .word gMapManager .global func_ov24_0216fbd4 arm_func_start func_ov24_0216fbd4 @@ -5251,7 +5251,7 @@ _02171950: _02171994: ldrh r1, [r4, #0x22] ldr r2, [r4, #0x48] - ldr r0, _02171e54 ; =data_027e0e60 + ldr r0, _02171e54 ; =gMapManager add r6, r2, r1, lsl #12 str r6, [sp, #0x14] ldrh r1, [r4, #0x24] @@ -5265,7 +5265,7 @@ _02171994: str r6, [sp, #8] str r3, [sp, #0xc] str r5, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] add r1, sp, #0x14 mov r0, r4 @@ -5579,7 +5579,7 @@ _02171e40: _02171e48: .word data_027e0fe4 _02171e4c: .word data_027e0e58 _02171e50: .word 0x000001b3 -_02171e54: .word data_027e0e60 +_02171e54: .word gMapManager _02171e58: .word data_027e0764 _02171e5c: .word data_027e0ffc _02171e60: .word 0x0000027d @@ -8619,7 +8619,7 @@ _021745e8: _02174630: ldrh r1, [r4, #0x22] ldr r2, [r4, #0x48] - ldr r0, _02174bb4 ; =data_027e0e60 + ldr r0, _02174bb4 ; =gMapManager add r6, r2, r1, lsl #12 str r6, [sp, #0x14] ldrh r1, [r4, #0x24] @@ -8633,7 +8633,7 @@ _02174630: str r6, [sp, #8] str r3, [sp, #0xc] str r5, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] add r1, sp, #0x14 mov r0, r4 @@ -8996,7 +8996,7 @@ _02174ba0: _02174ba8: .word data_027e0fe4 _02174bac: .word data_027e0e58 _02174bb0: .word 0x000001b3 -_02174bb4: .word data_027e0e60 +_02174bb4: .word gMapManager _02174bb8: .word data_027e0764 _02174bbc: .word data_027e0ffc _02174bc0: .word 0x0000027d @@ -9504,9 +9504,9 @@ _021752ac: ; jump table b _021752c4 ; case 4 b _021752c4 ; case 5 _021752c4: - ldr r0, _02175eb8 ; =data_027e0e60 + ldr r0, _02175eb8 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208412c + bl _ZN10MapManager18func_ov00_0208412cEv ldr r1, [r4, #0x4c] cmp r1, r0 bge _0217537c @@ -9514,9 +9514,9 @@ _021752c4: mov r0, #1 ldmia sp!, {r4, r5, r6, r7, pc} _021752e8: - ldr r0, _02175eb8 ; =data_027e0e60 + ldr r0, _02175eb8 ; =gMapManager ldr r0, [r0] - bl func_ov00_0208412c + bl _ZN10MapManager18func_ov00_0208412cEv ldr r1, [r4, #0x4c] cmp r1, r0 bge _0217537c @@ -9829,7 +9829,7 @@ _021756e8: mov r0, #4 str r0, [sp, #8] str r2, [sp, #0xc] - ldr r0, _02175eb8 ; =data_027e0e60 + ldr r0, _02175eb8 ; =gMapManager str r2, [sp, #0x10] add r3, r4, #0x2a8 add r2, r3, #0x400 @@ -10327,7 +10327,7 @@ _02175eac: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov24_02175290 -_02175eb8: .word data_027e0e60 +_02175eb8: .word gMapManager _02175ebc: .word data_027e0fe4 _02175ec0: .word data_ov24_021792e4 _02175ec4: .word 0x00000b33 @@ -13357,15 +13357,15 @@ _021783f8: str r0, [sp, #0x64] b _0217852c _02178504: - ldr r0, _0217869c ; =data_027e0e60 + ldr r0, _0217869c ; =gMapManager add r1, sp, #0x5c ldr r0, [r0] - bl func_ov00_0208344c - ldr r0, _0217869c ; =data_027e0e60 + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p + ldr r0, _0217869c ; =gMapManager add r1, sp, #0x5c ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x60] _0217852c: ldr r0, _02178694 ; =data_027e0f64 @@ -13463,7 +13463,7 @@ _0217866c: _02178690: .word data_027e0fe4 _02178694: .word data_027e0f64 _02178698: .word 0x57534253 -_0217869c: .word data_027e0e60 +_0217869c: .word gMapManager .global func_ov24_021786a0 arm_func_start func_ov24_021786a0 @@ -14062,7 +14062,7 @@ func_ov24_02178e20: ; 0x02178e20 add r0, r7, #2 cmp r7, r0 bge _02178ee8 - ldr r4, _02179010 ; =data_027e0e60 + ldr r4, _02179010 ; =gMapManager add r5, sp, #2 mov r11, #1 _02178e4c: @@ -14079,24 +14079,24 @@ _02178e60: mov r2, r11 strb r6, [sp, #2] strb r8, [sp, #3] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #9 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci b _02178ec0 _02178e98: add r1, sp, #0 mov r2, #0 strb r6, [sp] strb r8, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #0x35 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci _02178ec0: ldrb r0, [r10, #0x15] add r8, r8, #1 @@ -14187,7 +14187,7 @@ _02178fa4: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov24_02178e20 -_02179010: .word data_027e0e60 +_02179010: .word gMapManager _02179014: .word data_027e0f6c .global func_ov24_02179018 diff --git a/asm/ov25.inc b/asm/ov25.inc index 958be3e3..73781d8b 100644 --- a/asm/ov25.inc +++ b/asm/ov25.inc @@ -1,5 +1,16 @@ #pragma once .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj @@ -97,7 +108,7 @@ .extern data_027e0d38 .extern data_027e0db0 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -173,17 +184,6 @@ .extern func_ov00_0207c444 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_0208344c -.extern func_ov00_020836bc -.extern func_ov00_02083770 -.extern func_ov00_020838e8 -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_020840c4 -.extern func_ov00_02084164 -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_020888e8 diff --git a/asm/ov25.s b/asm/ov25.s index 91cc9863..89154597 100644 --- a/asm/ov25.s +++ b/asm/ov25.s @@ -395,7 +395,7 @@ _0216db80: ldrh r2, [r4, #0x24] ldrh r1, [r4, #0x26] ldr r3, _0216dccc ; =data_027e0f94 - ldr r0, _0216dcd0 ; =data_027e0e60 + ldr r0, _0216dcd0 ; =gMapManager strh r1, [sp, #0x22] strh r2, [sp, #0x20] ldrh r6, [r4, #0x28] @@ -437,7 +437,7 @@ _0216db80: str r3, [sp, #0x18] ldr r3, [r4, #0x1c] str r3, [sp, #0x1c] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p str r0, [r4, #0x18] ldr r0, _0216dcd4 ; =data_027e0fac add r2, r4, #0x14 @@ -456,7 +456,7 @@ _0216db80: arm_func_end func_ov25_0216daa4 _0216dcc8: .word data_027e0fe8 _0216dccc: .word data_027e0f94 -_0216dcd0: .word data_027e0e60 +_0216dcd0: .word gMapManager _0216dcd4: .word data_027e0fac .global func_ov25_0216dcd8 @@ -611,11 +611,11 @@ _0216de80: strh r2, [r0, #0x22] str ip, [r4, #0x674] str r1, [r4, #0x678] - ldr r0, _0216dff0 ; =data_027e0e60 + ldr r0, _0216dff0 ; =gMapManager add r2, sp, #0 ldr r0, [r0] mov r1, #1 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi ldr r1, [sp] add r0, r4, #0x3a4 str r1, [r4, #0x620] @@ -687,7 +687,7 @@ _0216dfd0: arm_func_end func_ov25_0216de38 _0216dfe8: .word gAdventureFlags _0216dfec: .word data_ov25_02179be0 -_0216dff0: .word data_027e0e60 +_0216dff0: .word gMapManager .global func_ov25_0216dff4 arm_func_start func_ov25_0216dff4 @@ -4558,13 +4558,13 @@ _02171504: .word 0x43425333 func_ov25_02171508: ; 0x02171508 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x38 - ldr r2, _021715dc ; =data_027e0e60 + ldr r2, _021715dc ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 mov r1, #1 mov r2, #3 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 addne sp, sp, #0x38 movne r0, #0 @@ -4611,7 +4611,7 @@ func_ov25_02171508: ; 0x02171508 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02171508 -_021715dc: .word data_027e0e60 +_021715dc: .word gMapManager _021715e0: .word data_027e0fe8 _021715e4: .word 0x4e4b4559 _021715e8: .word data_027e0fe4 @@ -7971,7 +7971,7 @@ _021741f4: cmpne r0, #0xa bne _02174248 ldr r1, [r4, #0x48] - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager str r1, [sp, #0xe8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -7980,7 +7980,7 @@ _021741f4: add r2, sp, #0xe8 mov r1, #0xd str r3, [sp, #0xf0] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 beq _02174248 mov r0, r4 @@ -8057,10 +8057,10 @@ _02174328: strb r2, [sp, #0x10] strb r2, [sp, #0x11] bl func_ov00_020c5374 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager add r1, sp, #0x10 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 mov r0, r4 bne _02174368 @@ -8078,10 +8078,10 @@ _02174374: strb r2, [sp, #0xe] strb r2, [sp, #0xf] bl func_ov00_020c5374 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager add r1, sp, #0xe ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _021743d4 ldr r5, [r4, #0x138] @@ -8239,7 +8239,7 @@ _021745a8: bl func_ov25_021732fc _021745e0: ldr r1, _02175088 ; =data_027e0f94 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0xdc] @@ -8306,7 +8306,7 @@ _021746a8: mov r2, #0x7b bl func_ov25_021732fc ldr r1, _02175088 ; =data_027e0f94 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0xc4] @@ -8398,7 +8398,7 @@ _0217480c: mov r0, r4 bl func_ov25_02173250 ldr r1, _02175088 ; =data_027e0f94 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0xac] @@ -8857,7 +8857,7 @@ _02174ee8: ldrh r0, [r4, #0x20] cmp r0, #3 bne _02174f80 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager mov r6, #0 sub r3, r6, #2 mov r7, #0x47 @@ -8875,7 +8875,7 @@ _02174ee8: strb r6, [sp, #0x137] strb r6, [sp, #0x138] strb r6, [sp, #0x139] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _021750b4 ; =data_027e0d38 mov r3, #0x17 ldr r0, [r0] @@ -8953,7 +8953,7 @@ _0217503c: arm_func_end func_ov25_02174100 _02175074: .word gAdventureFlags _02175078: .word 0x00000152 -_0217507c: .word data_027e0e60 +_0217507c: .word gMapManager _02175080: .word 0xb60b60b7 _02175084: .word 0x00000171 _02175088: .word data_027e0f94 @@ -9107,10 +9107,10 @@ _02175278: strb r2, [sp, #0xc] strb r2, [sp, #0xd] bl func_ov00_020c5374 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager add r1, sp, #0xc ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 addeq sp, sp, #0x340 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} @@ -9866,11 +9866,11 @@ func_ov25_02175c54: ; 0x02175c54 ldrsh r1, [r0, #0x78] add r0, sp, #0x18 bl func_ov00_020c5a5c - ldr r0, _02175d18 ; =data_027e0e60 + ldr r0, _02175d18 ; =gMapManager add r2, sp, #0 ldr r0, [r0] mov r1, #1 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi add r4, r11, #0x100 ldrsh r0, [r4, #0x78] ldr r7, [sp] @@ -9911,7 +9911,7 @@ _02175cb0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov25_02175c54 -_02175d18: .word data_027e0e60 +_02175d18: .word gMapManager .global func_ov25_02175d1c arm_func_start func_ov25_02175d1c @@ -10444,12 +10444,12 @@ _021763e4: str r0, [r4, #0x1cc] cmp r0, #0x384 blt _0217641c - ldr r0, _02176954 ; =data_027e0e60 + ldr r0, _02176954 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 mov r1, #5 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii _0217641c: ldr r0, [r4, #0x130] cmp r0, #0xd @@ -10822,7 +10822,7 @@ _0217694c: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov25_021763a4 -_02176954: .word data_027e0e60 +_02176954: .word gMapManager _02176958: .word gAdventureFlags _0217695c: .word data_027e0c68 _02176960: .word data_027e0fe4 @@ -11624,11 +11624,11 @@ func_ov25_021772ec: ; 0x021772ec addne sp, sp, #8 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r1, _02177368 ; =data_027e0e60 + ldr r1, _02177368 ; =gMapManager add r0, sp, #4 ldr r1, [r1] add r2, r2, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r3, [sp, #4] ldrb r1, [r4, #8] ldrb r2, [sp, #5] @@ -11647,7 +11647,7 @@ func_ov25_021772ec: ; 0x021772ec ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021772ec -_02177368: .word data_027e0e60 +_02177368: .word gMapManager .global func_ov25_0217736c arm_func_start func_ov25_0217736c @@ -11925,7 +11925,7 @@ _021775e8: ldr r0, [r0] bl func_ov00_020c47cc ldr r1, [r0, #4] - ldr r3, _021777d8 ; =data_027e0e60 + ldr r3, _021777d8 ; =gMapManager str r1, [r4, #0x48] ldr r2, [r0, #8] add r1, sp, #0 @@ -11940,7 +11940,7 @@ _021775e8: str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x800 str r0, [r4, #0x4c] _021776c0: @@ -12023,7 +12023,7 @@ _021777c8: arm_func_end func_ov25_021775a4 _021777d0: .word data_ov00_020e8398 _021777d4: .word data_027e0ff0 -_021777d8: .word data_027e0e60 +_021777d8: .word gMapManager _021777dc: .word data_027e0ffc _021777e0: .word 0x00000251 @@ -12859,7 +12859,7 @@ _0217831c: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02178500 ; =data_027e0e60 + ldr r0, _02178500 ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -12869,7 +12869,7 @@ _0217831c: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] ldr r0, [r5, #0x178] cmp r0, #0 @@ -12986,7 +12986,7 @@ _021784e8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02178218 -_02178500: .word data_027e0e60 +_02178500: .word gMapManager _02178504: .word gItemManager _02178508: .word 0x66666667 @@ -13313,7 +13313,7 @@ func_ov25_021788a4: ; 0x021788a4 str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _021789b8 ; =data_027e0e60 + ldr r0, _021789b8 ; =gMapManager str r1, [r4, #0x8c] ldr r2, [r4, #0x80] add r1, sp, #0xc @@ -13323,7 +13323,7 @@ func_ov25_021788a4: ; 0x021788a4 ldr r2, [r4, #0x88] str r2, [r4, #0x98] ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r2, [sp, #0x14] ldr r1, [sp, #0x10] ldr r0, [sp, #0xc] @@ -13379,7 +13379,7 @@ _021789ac: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021788a4 -_021789b8: .word data_027e0e60 +_021789b8: .word gMapManager _021789bc: .word data_027e0f68 .global func_ov25_021789c0 diff --git a/asm/ov26.inc b/asm/ov26.inc index 4e19a922..bc9c7cc3 100644 --- a/asm/ov26.inc +++ b/asm/ov26.inc @@ -94,7 +94,7 @@ .extern data_027e0d3c .extern data_027e0d78 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -218,22 +218,22 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 .extern func_ov00_02081f4c -.extern func_ov00_020823d4 -.extern func_ov00_020823e4 -.extern func_ov00_020823f4 -.extern func_ov00_02082614 -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_020836dc -.extern func_ov00_02083a1c -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02084088 -.extern func_ov00_02084164 -.extern func_ov00_02084740 -.extern func_ov00_02084a50 -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 +.extern _ZN10MapManager18func_ov00_020823d4Ei +.extern _ZN10MapManager18func_ov00_020823e4Ei +.extern _ZN10MapManager16MapData_vfunc_b4Ev +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_02084a50Ev +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_02087e8c diff --git a/asm/ov26.s b/asm/ov26.s index 49368125..3d28077e 100644 --- a/asm/ov26.s +++ b/asm/ov26.s @@ -1036,16 +1036,16 @@ func_ov26_0216e11c: ; 0x0216e11c ldrb r2, [r9, #0x15] cmp r0, #0 sub r1, r0, #1 - ldr r0, _0216e320 ; =data_027e0e60 + ldr r0, _0216e320 ; =gMapManager moveq r1, #5 ldr r0, [r0] - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r9, #0x1c] ldrb r7, [r9, #0x14] add r0, r7, #5 cmp r7, r0 bge _0216e1e4 - ldr r10, _0216e320 ; =data_027e0e60 + ldr r10, _0216e320 ; =gMapManager add r5, sp, #4 mov r4, #1 _0216e190: @@ -1060,7 +1060,7 @@ _0216e1a4: mov r2, r4 strb r6, [sp, #4] strb r8, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #2 @@ -1155,7 +1155,7 @@ _0216e308: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov26_0216e11c -_0216e320: .word data_027e0e60 +_0216e320: .word gMapManager _0216e324: .word data_027e0f6c .global func_ov26_0216e328 @@ -1937,9 +1937,9 @@ _0216ebe8: _0216ebec: cmp r0, #0 bne _0216ec8c - ldr r0, _0216ec9c ; =data_027e0e60 + ldr r0, _0216ec9c ; =gMapManager ldr r0, [r0] - bl func_ov00_02084a50 + bl _ZN10MapManager18func_ov00_02084a50Ev cmp r0, #0 ldreq r0, _0216eca0 ; =data_027e0c68 ldreqb r1, [r0, #4] @@ -1983,7 +1983,7 @@ _0216ec94: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov26_0216ebc0 -_0216ec9c: .word data_027e0e60 +_0216ec9c: .word gMapManager _0216eca0: .word data_027e0c68 _0216eca4: .word gAdventureFlags _0216eca8: .word data_027e071c @@ -2278,9 +2278,9 @@ _0216f024: mov r6, #1 cmpne r0, #2 beq _0216f0d4 - ldr r0, _0216f200 ; =data_027e0e60 + ldr r0, _0216f200 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084a50 + bl _ZN10MapManager18func_ov00_02084a50Ev cmp r0, #0 bne _0216f0d4 ldr r0, [r10, #0xb8] @@ -2385,7 +2385,7 @@ _0216f0d4: arm_func_end func_ov26_0216efb4 _0216f1f8: .word data_027e0c38 _0216f1fc: .word data_027e0618 -_0216f200: .word data_027e0e60 +_0216f200: .word gMapManager _0216f204: .word data_027e0fd4 _0216f208: .word data_ov26_0217933c @@ -2491,9 +2491,9 @@ _0216f368: bne _0216f38c cmp r0, #0x1e ble _0216f38c - ldr r0, _0216f39c ; =data_027e0e60 + ldr r0, _0216f39c ; =gMapManager ldr r0, [r0] - bl func_ov00_02084a50 + bl _ZN10MapManager18func_ov00_02084a50Ev cmp r0, #0 beq _0216f394 _0216f38c: @@ -2504,7 +2504,7 @@ _0216f394: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_0216f334 -_0216f39c: .word data_027e0e60 +_0216f39c: .word gMapManager .global func_ov26_0216f3a0 arm_func_start func_ov26_0216f3a0 @@ -2830,7 +2830,7 @@ func_ov26_0216f7c4: ; 0x0216f7c4 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x14] - ldr r0, _0216f820 ; =data_027e0e60 + ldr r0, _0216f820 ; =gMapManager str r1, [r4, #0x48] ldr r2, [r4, #0x18] add r1, sp, #0 @@ -2845,13 +2845,13 @@ func_ov26_0216f7c4: ; 0x0216f7c4 str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216f7c4 -_0216f820: .word data_027e0e60 +_0216f820: .word gMapManager .global func_ov26_0216f824 arm_func_start func_ov26_0216f824 @@ -2866,7 +2866,7 @@ func_ov26_0216f828: ; 0x0216f828 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _0216f8b4 ; =data_027e0e60 + ldr r0, _0216f8b4 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -2875,7 +2875,7 @@ func_ov26_0216f828: ; 0x0216f828 add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd ldr r1, [r4, #0x4c] add r0, r0, #0x400 @@ -2900,7 +2900,7 @@ _0216f88c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216f828 -_0216f8b4: .word data_027e0e60 +_0216f8b4: .word gMapManager .global func_ov26_0216f8b8 arm_func_start func_ov26_0216f8b8 @@ -2909,7 +2909,7 @@ func_ov26_0216f8b8: ; 0x0216f8b8 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _0216f910 ; =data_027e0e60 + ldr r0, _0216f910 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -2918,7 +2918,7 @@ func_ov26_0216f8b8: ; 0x0216f8b8 add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd ldr r1, [r4, #0x4c] add r0, r0, #0x400 @@ -2929,7 +2929,7 @@ func_ov26_0216f8b8: ; 0x0216f8b8 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216f8b8 -_0216f910: .word data_027e0e60 +_0216f910: .word gMapManager .global func_ov26_0216f914 arm_func_start func_ov26_0216f914 @@ -2946,7 +2946,7 @@ func_ov26_0216f920: ; 0x0216f920 sub sp, sp, #0x24 mov r4, r0 ldr lr, [r4, #0x48] - ldr r0, _0216f9f4 ; =data_027e0e60 + ldr r0, _0216f9f4 ; =gMapManager str lr, [sp, #0x18] ldr ip, [r4, #0x4c] ldr r0, [r0] @@ -2958,7 +2958,7 @@ func_ov26_0216f920: ; 0x0216f920 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd add r3, r0, #0x400 add r0, sp, #0x18 @@ -2998,7 +2998,7 @@ _0216f9d8: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216f920 -_0216f9f4: .word data_027e0e60 +_0216f9f4: .word gMapManager .global func_ov26_0216f9f8 arm_func_start func_ov26_0216f9f8 @@ -3059,10 +3059,10 @@ _0216fa94: strb r2, [sp] strb r2, [sp, #1] bl func_ov00_020c5374 - ldr r0, _0216fb18 ; =data_027e0e60 + ldr r0, _0216fb18 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} @@ -3083,7 +3083,7 @@ _0216fa94: arm_func_end func_ov26_0216fa04 _0216fb10: .word data_027e0f94 _0216fb14: .word 0x000004cd -_0216fb18: .word data_027e0e60 +_0216fb18: .word gMapManager .global func_ov26_0216fb1c arm_func_start func_ov26_0216fb1c @@ -3234,10 +3234,10 @@ _0216fc2c: add r0, r5, #0x48 add r1, sp, #0 bl func_ov00_020c5374 - ldr r0, _0216fd94 ; =data_027e0e60 + ldr r0, _0216fd94 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, r5, r6, pc} @@ -3261,7 +3261,7 @@ _0216fd84: .word data_027e0764 _0216fd88: .word 0x00008001 _0216fd8c: .word data_02050f54 _0216fd90: .word data_027e0d0c -_0216fd94: .word data_027e0e60 +_0216fd94: .word gMapManager .global func_ov26_0216fd98 arm_func_start func_ov26_0216fd98 @@ -3295,7 +3295,7 @@ func_ov26_0216fdb0: ; 0x0216fdb0 str r3, [sp, #0x10] bl func_0202da8c ldr r1, [sp, #0xc] - ldr r0, _0216fe84 ; =data_027e0e60 + ldr r0, _0216fe84 ; =gMapManager str r1, [r4, #0x60] ldr r2, [sp, #0x10] add r1, sp, #0 @@ -3310,7 +3310,7 @@ func_ov26_0216fdb0: ; 0x0216fdb0 ldr r0, [r0] str ip, [sp] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x9a add r1, r0, #0x1100 str r1, [sp, #0x1c] @@ -3333,7 +3333,7 @@ _0216fe68: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216fdb0 -_0216fe84: .word data_027e0e60 +_0216fe84: .word gMapManager .global func_ov26_0216fe88 arm_func_start func_ov26_0216fe88 @@ -3405,7 +3405,7 @@ func_ov26_0216ff14: ; 0x0216ff14 mov r0, #0xff strh r0, [r4, #0x9c] ldr r1, [r4, #0x48] - ldr r0, _0216ff68 ; =data_027e0e60 + ldr r0, _0216ff68 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -3414,7 +3414,7 @@ func_ov26_0216ff14: ; 0x0216ff14 add r1, sp, #0 mov r2, #1 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd add r0, r0, #0x400 str r0, [r4, #0x4cc] @@ -3422,7 +3422,7 @@ func_ov26_0216ff14: ; 0x0216ff14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216ff14 -_0216ff68: .word data_027e0e60 +_0216ff68: .word gMapManager .global func_ov26_0216ff6c arm_func_start func_ov26_0216ff6c @@ -3456,7 +3456,7 @@ func_ov26_0216ffb8: ; 0x0216ffb8 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02170010 ; =data_027e0e60 + ldr r0, _02170010 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -3465,7 +3465,7 @@ func_ov26_0216ffb8: ; 0x0216ffb8 add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd ldr r1, [r4, #0x4c] add r0, r0, #0x400 @@ -3476,7 +3476,7 @@ func_ov26_0216ffb8: ; 0x0216ffb8 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216ffb8 -_02170010: .word data_027e0e60 +_02170010: .word gMapManager .global func_ov26_02170014 arm_func_start func_ov26_02170014 @@ -3543,7 +3543,7 @@ func_ov26_02170088: ; 0x02170088 mov r1, #0x148 bl func_0202da8c ldr r1, [r4, #0x48] - ldr r0, _02170130 ; =data_027e0e60 + ldr r0, _02170130 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -3552,7 +3552,7 @@ func_ov26_02170088: ; 0x02170088 add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd ldr r1, [r4, #0x4c] add r0, r0, #0x400 @@ -3574,7 +3574,7 @@ _02170114: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_02170088 -_02170130: .word data_027e0e60 +_02170130: .word gMapManager .global func_ov26_02170134 arm_func_start func_ov26_02170134 @@ -3653,10 +3653,10 @@ func_ov26_02170194: ; 0x02170194 add r1, sp, #0 add r0, r4, #0x48 bl func_ov00_020c5374 - ldr r0, _02170260 ; =data_027e0e60 + ldr r0, _02170260 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, pc} @@ -3677,7 +3677,7 @@ func_ov26_02170194: ; 0x02170194 arm_func_end func_ov26_02170194 _02170258: .word data_027e0f94 _0217025c: .word 0x000004cd -_02170260: .word data_027e0e60 +_02170260: .word gMapManager .global func_ov26_02170264 arm_func_start func_ov26_02170264 @@ -3869,10 +3869,10 @@ func_ov26_02170320: ; 0x02170320 strb r2, [sp, #4] strb r2, [sp, #5] bl func_ov00_020c5374 - ldr r0, _0217058c ; =data_027e0e60 + ldr r0, _0217058c ; =gMapManager add r1, sp, #4 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -3897,7 +3897,7 @@ _0217057c: .word data_02050f54 _02170580: .word 0x0000019a _02170584: .word data_027e0f94 _02170588: .word data_027e0fa0 -_0217058c: .word data_027e0e60 +_0217058c: .word gMapManager .global func_ov26_02170590 arm_func_start func_ov26_02170590 @@ -4020,7 +4020,7 @@ func_ov26_02170704: ; 0x02170704 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217078c ; =data_027e0e60 + ldr r0, _0217078c ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -4030,7 +4030,7 @@ func_ov26_02170704: ; 0x02170704 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] ldr r1, _02170790 ; =data_027e0f94 add r0, r4, #0x14 @@ -4050,7 +4050,7 @@ _02170780: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_02170704 -_0217078c: .word data_027e0e60 +_0217078c: .word gMapManager _02170790: .word data_027e0f94 .global func_ov26_02170794 @@ -5722,16 +5722,16 @@ func_ov26_02171e4c: ; 0x02171e4c cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _02171e94 ; =data_027e0e60 + ldr r0, _02171e94 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_02171e4c _02171e8c: .word gAdventureFlags _02171e90: .word data_ov26_0217944c -_02171e94: .word data_027e0e60 +_02171e94: .word gMapManager .global func_ov26_02171e98 arm_func_start func_ov26_02171e98 @@ -6146,7 +6146,7 @@ func_ov26_021723d4: ; 0x021723d4 cmp r0, #1 bne _02172454 ldr r0, [r4, #0x18] - ldr r1, _021725a0 ; =data_027e0e60 + ldr r1, _021725a0 ; =gMapManager add r0, r0, #0x3fc add r0, r0, #0x400 str r0, [r4, #0x18] @@ -6157,15 +6157,15 @@ func_ov26_021723d4: ; 0x021723d4 strb r2, [sp, #4] mov r2, #1 strb r3, [sp, #5] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r2, [sp, #4] - ldr r0, _021725a0 ; =data_027e0e60 + ldr r0, _021725a0 ; =gMapManager add r1, sp, #4 add r3, r2, #1 ldr r0, [r0] mov r2, #1 strb r3, [sp, #4] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii _02172454: add ip, r4, #0x18 ldmia ip, {r0, r1, r2} @@ -6231,10 +6231,10 @@ _02172454: mov r3, #6 str ip, [sp] bl func_02018c90 - ldr r0, _021725a0 ; =data_027e0e60 + ldr r0, _021725a0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 mov r2, #1 @@ -6253,7 +6253,7 @@ _0217258c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov26_021723d4 -_021725a0: .word data_027e0e60 +_021725a0: .word gMapManager _021725a4: .word data_ov26_02179468 _021725a8: .word func_ov26_021728f8 @@ -6396,11 +6396,11 @@ _0217273c: mov r2, #1 bl func_ov00_0208ba08 _02172788: - ldr r0, _021727b0 ; =data_027e0e60 + ldr r0, _021727b0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _0217279c: mov r0, #1 add sp, sp, #0xb0 @@ -6409,7 +6409,7 @@ _0217279c: arm_func_end func_ov26_02172648 _021727a8: .word gAdventureFlags _021727ac: .word 0xfffff666 -_021727b0: .word data_027e0e60 +_021727b0: .word gMapManager .global func_ov26_021727b4 arm_func_start func_ov26_021727b4 @@ -7919,14 +7919,14 @@ func_ov26_02173b3c: ; 0x02173b3c movne r0, #1 ldmneia sp!, {r4, pc} _02173b64: - ldr r0, _02173b78 ; =data_027e0e60 + ldr r0, _02173b78 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_02173b3c -_02173b78: .word data_027e0e60 +_02173b78: .word gMapManager .global func_ov26_02173b7c thumb_func_start func_ov26_02173b7c @@ -12275,10 +12275,10 @@ func_ov26_02176b44: ; 0x02176b44 mov r2, #4 str r3, [sp, #4] blx ip - ldr r0, _02176cb0 ; =data_027e0e60 + ldr r0, _02176cb0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -12299,7 +12299,7 @@ _02176c94: .align 2, 0 arm_func_end func_ov26_02176b44 _02176cac: .word 0x0000059a -_02176cb0: .word data_027e0e60 +_02176cb0: .word gMapManager .global func_ov26_02176cb4 arm_func_start func_ov26_02176cb4 @@ -12343,11 +12343,11 @@ _02176d0c: mov r0, r4 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _02176d88 ; =data_027e0e60 + ldr r0, _02176d88 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r1, [r4, #4] mov r0, #1 orr r1, r1, #4 @@ -12362,7 +12362,7 @@ _02176d7c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_02176cb4 -_02176d88: .word data_027e0e60 +_02176d88: .word gMapManager .global func_ov26_02176d8c arm_func_start func_ov26_02176d8c @@ -12541,31 +12541,31 @@ func_ov26_02176fc8: ; 0x02176fc8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrh r4, [r6, #0x28] - ldr r0, _0217702c ; =data_027e0e60 + ldr r0, _0217702c ; =gMapManager ldrh r5, [r6, #0x2a] ldr r0, [r0] mov r1, r4 - bl func_ov00_020823d4 - ldr r1, _0217702c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823d4Ei + ldr r1, _0217702c ; =gMapManager str r0, [r6, #0xd4] ldr r0, [r1] mov r1, r4 - bl func_ov00_020823e4 - ldr r1, _0217702c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823e4Ei + ldr r1, _0217702c ; =gMapManager str r0, [r6, #0xd8] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823d4 - ldr r1, _0217702c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020823d4Ei + ldr r1, _0217702c ; =gMapManager str r0, [r6, #0xdc] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei str r0, [r6, #0xe0] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov26_02176fc8 -_0217702c: .word data_027e0e60 +_0217702c: .word gMapManager .global func_ov26_02177030 arm_func_start func_ov26_02177030 @@ -12588,9 +12588,9 @@ func_ov26_02177030: ; 0x02177030 mov r0, r5 ldr r1, _021770fc ; =data_ov26_021795a0 bl func_0201933c - ldr r0, _02177100 ; =data_027e0e60 + ldr r0, _02177100 ; =gMapManager ldr r0, [r0] - bl func_ov00_020823f4 + bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 mov r0, r5 mov r1, r4 @@ -12624,7 +12624,7 @@ _021770f0: .word data_ov26_02179564 _021770f4: .word data_ov26_02179578 _021770f8: .word data_ov26_0217958c _021770fc: .word data_ov26_021795a0 -_02177100: .word data_027e0e60 +_02177100: .word gMapManager .global func_ov26_02177104 arm_func_start func_ov26_02177104 @@ -13237,7 +13237,7 @@ func_ov26_02177878: ; 0x02177878 func_ov26_02177880: ; 0x02177880 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x80 - ldr r5, _021778e0 ; =data_027e0e60 + ldr r5, _021778e0 ; =gMapManager ldr r4, _021778e4 ; =data_027e0d3c mvn r7, #0 mov r8, #0 @@ -13246,7 +13246,7 @@ _0217789c: ldr r0, [r5] mov r1, r6 and r2, r8, #0xff - bl func_ov00_02082614 + bl _ZN10MapManager18func_ov00_02082614Eii ldr r1, [r4] mov r0, r6 add r1, r1, #4 @@ -13263,7 +13263,7 @@ _021778d4: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov26_02177880 -_021778e0: .word data_027e0e60 +_021778e0: .word gMapManager _021778e4: .word data_027e0d3c .global func_ov26_021778e8 @@ -13686,7 +13686,7 @@ func_ov26_02177e14: ; 0x02177e14 mov r2, #0x10000 str r0, [r7, #0x90] ldr r0, [r7, #0x84] - ldr r1, _02177f60 ; =data_027e0e60 + ldr r1, _02177f60 ; =gMapManager str r0, [r7, #0x94] ldr r4, [r7, #0x88] add r0, sp, #4 @@ -13697,9 +13697,9 @@ func_ov26_02177e14: ; 0x02177e14 str r2, [r7, #0xb4] ldr r1, [r1] add r2, r7, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r4, _02177f64 ; =data_ov26_0217af64 - ldr r6, _02177f60 ; =data_027e0e60 + ldr r6, _02177f60 ; =gMapManager add r9, sp, #2 mov r8, #1 _02177e90: @@ -13715,12 +13715,12 @@ _02177e90: mov r2, r8 strb r10, [sp, #2] strb r3, [sp, #3] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii add r5, r5, #1 cmp r5, #0x12 blo _02177e90 mov r0, #0 - ldr r8, _02177f60 ; =data_027e0e60 + ldr r8, _02177f60 ; =gMapManager strb r0, [sp] strb r0, [sp, #1] mov r6, #6 @@ -13739,7 +13739,7 @@ _02177ef4: mov r2, r9 strb ip, [sp] strb r3, [sp, #1] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii add r5, r5, #1 cmp r5, #0x18 blt _02177ef4 @@ -13759,7 +13759,7 @@ _02177ef4: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov26_02177e14 -_02177f60: .word data_027e0e60 +_02177f60: .word gMapManager _02177f64: .word data_ov26_0217af64 _02177f68: .word 0xffffeccd @@ -14004,17 +14004,17 @@ _02178224: .word data_027e103c .global func_ov26_02178228 arm_func_start func_ov26_02178228 func_ov26_02178228: ; 0x02178228 - ldr r1, _02178244 ; =data_027e0e60 + ldr r1, _02178244 ; =gMapManager mov r2, r0 ldr r0, [r1] ldr r1, [r2, #0x15c] - ldr ip, _02178248 ; =func_ov00_020836dc + ldr ip, _02178248 ; =_ZN10MapManager18func_ov00_020836dcEii mov r2, #0 bx ip .align 2, 0 arm_func_end func_ov26_02178228 -_02178244: .word data_027e0e60 -_02178248: .word func_ov00_020836dc +_02178244: .word gMapManager +_02178248: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov26_0217824c thumb_func_start func_ov26_0217824c @@ -14130,9 +14130,9 @@ _02178354: bl func_ov00_020d7180 cmp r0, #0 bne _02178384 - ldr r0, _021783b4 ; =data_027e0e60 + ldr r0, _021783b4 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r0, _021783b0 ; =data_ov00_020eec68 mov r2, #0x3c @@ -14153,7 +14153,7 @@ _02178384: _021783a8: .word data_027e0f64 _021783ac: .word data_ov26_0217968c _021783b0: .word data_ov00_020eec68 -_021783b4: .word data_027e0e60 +_021783b4: .word gMapManager .global func_ov26_021783b8 arm_func_start func_ov26_021783b8 @@ -14307,14 +14307,14 @@ func_ov26_0217855c: ; 0x0217855c sub sp, sp, #0x20 mov r10, r0 ldrb r2, [r10, #0x15] - ldr r0, _021786d4 ; =data_027e0e60 + ldr r0, _021786d4 ; =gMapManager ldrb r1, [r10, #0x14] ldr r0, [r0] sub r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r10, #0x1c] ldr r1, [r10, #0x18] - ldr r0, _021786d4 ; =data_027e0e60 + ldr r0, _021786d4 ; =gMapManager add r1, r1, #0x800 str r1, [r10, #0x18] str r1, [r10, #0x50] @@ -14334,7 +14334,7 @@ func_ov26_0217855c: ; 0x0217855c ldr r0, [r0] strb r2, [sp, #6] strb r3, [sp, #7] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x37 bgt _02178604 bge _0217860c @@ -14363,7 +14363,7 @@ _02178620: cmp r11, r0 add r9, r1, #0xc bge _0217868c - ldr r4, _021786d4 ; =data_027e0e60 + ldr r4, _021786d4 ; =gMapManager add r6, sp, #4 mov r5, #1 _02178648: @@ -14377,7 +14377,7 @@ _02178658: mov r2, r5 strb r7, [sp, #4] strb r8, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add r8, r8, #1 cmp r8, r9 blt _02178658 @@ -14407,7 +14407,7 @@ _0217868c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov26_0217855c -_021786d4: .word data_027e0e60 +_021786d4: .word gMapManager .global func_ov26_021786d8 arm_func_start func_ov26_021786d8 diff --git a/asm/ov27.inc b/asm/ov27.inc index 024fa41f..619f9277 100644 --- a/asm/ov27.inc +++ b/asm/ov27.inc @@ -1,5 +1,10 @@ #pragma once .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020838e8EjPi .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -88,7 +93,7 @@ .extern data_027e0d38 .extern data_027e0dbc .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f84 @@ -175,11 +180,6 @@ .extern func_ov00_02081f50 .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_0208344c -.extern func_ov00_020836bc -.extern func_ov00_020836dc -.extern func_ov00_020838e8 -.extern func_ov00_02083ee0 .extern func_ov00_020872e8 .extern func_ov00_020875f8 .extern func_ov00_02087d34 diff --git a/asm/ov27.s b/asm/ov27.s index d464d6db..62c89b51 100644 --- a/asm/ov27.s +++ b/asm/ov27.s @@ -357,7 +357,7 @@ _0216db58: add r0, r0, #0x800 str r0, [r5, #0x48] ldr r1, [r5, #0x4c] - ldr r0, _0216e91c ; =data_027e0e60 + ldr r0, _0216e91c ; =gMapManager add r1, r1, #0x2800 str r1, [r5, #0x4c] ldr r3, [r5, #0x50] @@ -372,7 +372,7 @@ _0216db58: str r3, [sp, #0x18] ldr r3, [r5, #0x50] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] mov r0, r5 mov r1, #4 @@ -1262,7 +1262,7 @@ _0216e8fc: arm_func_end func_ov27_0216da38 _0216e914: .word 0x00000ccd _0216e918: .word data_027e0d0c -_0216e91c: .word data_027e0e60 +_0216e91c: .word gMapManager _0216e920: .word data_027e0c68 _0216e924: .word 0x00060003 _0216e928: .word gAdventureFlags @@ -1414,10 +1414,10 @@ _0216eadc: bne _0216eb48 mov r1, #2 strb r1, [r4, #0x4ad] - ldr r0, _0216ed44 ; =data_027e0e60 + ldr r0, _0216ed44 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, _0216ed48 ; =data_027e0f64 ldr r1, [sp, #0xc] ldr r2, [r0] @@ -1462,14 +1462,14 @@ _0216eb54: strb r2, [sp, #0x94] ldr r0, [r0, #4] bl func_ov00_02087d34 - ldr r0, _0216ed44 ; =data_027e0e60 + ldr r0, _0216ed44 ; =gMapManager ldr r2, _0216ed4c ; =0x00001333 mov r3, #0xc000 ldr r0, [r0] add r1, sp, #0 str r3, [sp, #0x30] str r2, [sp, #0x38] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, sp, #0 add r1, r4, #0x48 mov r2, r0 @@ -1564,7 +1564,7 @@ _0216ed38: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov27_0216eabc -_0216ed44: .word data_027e0e60 +_0216ed44: .word gMapManager _0216ed48: .word data_027e0f64 _0216ed4c: .word 0x00001333 _0216ed50: .word gAdventureFlags @@ -2094,11 +2094,11 @@ _0216f43c: cmp r0, #4 cmpne r0, #7 bne _0216f4b0 - ldr r0, _0216f574 ; =data_027e0e60 + ldr r0, _0216f574 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0216f4b0 mov r0, r4 @@ -2163,7 +2163,7 @@ _0216f544: _0216f568: .word data_ov00_020eec68 _0216f56c: .word data_027e0f64 _0216f570: .word data_ov27_02178e20 -_0216f574: .word data_027e0e60 +_0216f574: .word gMapManager _0216f578: .word data_027e0ff8 .global func_ov27_0216f57c @@ -2193,11 +2193,11 @@ func_ov27_0216f57c: ; 0x0216f57c func_ov27_0216f5c0: ; 0x0216f5c0 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0216f604 ; =data_027e0e60 + ldr r0, _0216f604 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -2210,7 +2210,7 @@ func_ov27_0216f5c0: ; 0x0216f5c0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov27_0216f5c0 -_0216f604: .word data_027e0e60 +_0216f604: .word gMapManager .global func_ov27_0216f608 arm_func_start func_ov27_0216f608 @@ -2252,7 +2252,7 @@ func_ov27_0216f608: ; 0x0216f608 str r2, [r4, #0x64] str r1, [r4, #0x68] ldr r1, [r4, #0x48] - ldr r0, _0216f8e8 ; =data_027e0e60 + ldr r0, _0216f8e8 ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -2260,7 +2260,7 @@ func_ov27_0216f608: ; 0x0216f608 ldr r3, [r4, #0x50] add r1, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] mov r0, r4 bl func_ov14_02145258 @@ -2406,7 +2406,7 @@ _0216f8a8: arm_func_end func_ov27_0216f608 _0216f8e0: .word data_02050f54 _0216f8e4: .word 0x00000133 -_0216f8e8: .word data_027e0e60 +_0216f8e8: .word gMapManager _0216f8ec: .word 0x00000171 _0216f8f0: .word 0x0000071c _0216f8f4: .word 0x00000333 @@ -3155,7 +3155,7 @@ _021702d0: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] - ldr r0, _02170470 ; =data_027e0e60 + ldr r0, _02170470 ; =gMapManager str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -3164,7 +3164,7 @@ _021702d0: add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] mov r1, #0 str r1, [sp] @@ -3261,7 +3261,7 @@ _02170444: _02170464: .word 0x00000e39 _02170468: .word 0x0000019a _0217046c: .word 0x000004cd -_02170470: .word data_027e0e60 +_02170470: .word gMapManager _02170474: .word data_027e0e58 _02170478: .word 0x00000163 _0217047c: .word data_027e0764 @@ -4000,7 +4000,7 @@ func_ov27_02170e24: ; 0x02170e24 mov r0, #0x3000 str r0, [r4, #0x4c] ldr r1, [r4, #0x48] - ldr r0, _02170f84 ; =data_027e0e60 + ldr r0, _02170f84 ; =gMapManager str r1, [sp, #0xc] ldr r2, [r4, #0x4c] ldr r0, [r0] @@ -4009,7 +4009,7 @@ func_ov27_02170e24: ; 0x02170e24 add r1, sp, #0xc mov r2, r5 str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev cmp r0, #0x2000 addlt sp, sp, #0x18 str r0, [r4, #0x4c] @@ -4034,7 +4034,7 @@ _02170f5c: _02170f78: .word 0x0000071c _02170f7c: .word data_02050f54 _02170f80: .word 0x00000266 -_02170f84: .word data_027e0e60 +_02170f84: .word gMapManager .global func_ov27_02170f88 arm_func_start func_ov27_02170f88 @@ -4914,7 +4914,7 @@ func_ov27_02171b14: ; 0x02171b14 mov ip, #1 str r0, [sp, #0x28] ldr r1, [r6, #0x54] - ldr r0, _02171c9c ; =data_027e0e60 + ldr r0, _02171c9c ; =gMapManager str r1, [sp, #0x14] ldr r2, [r6, #0x58] add r1, r6, #0xb8 @@ -4976,7 +4976,7 @@ _02171c90: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov27_02171b14 -_02171c9c: .word data_027e0e60 +_02171c9c: .word gMapManager .global func_ov27_02171ca0 arm_func_start func_ov27_02171ca0 @@ -5421,7 +5421,7 @@ _02172284: cmp r0, #0 bne _021722d0 ldr r1, [r6, #0x48] - ldr r0, _02172484 ; =data_027e0e60 + ldr r0, _02172484 ; =gMapManager str r1, [sp, #0x18] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -5430,7 +5430,7 @@ _02172284: add r1, sp, #0x18 str r2, [sp, #0x20] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r6, #0x4c] add r0, r0, #0x800 cmp r1, r0 @@ -5456,7 +5456,7 @@ _021722d0: add r0, r6, #0x300 ldrsh r1, [r0, #0x96] mov r2, #0 - ldr r0, _02172484 ; =data_027e0e60 + ldr r0, _02172484 ; =gMapManager add r1, r1, #0x4000 strh r1, [r6, #0x78] str r2, [r6, #0x6c] @@ -5468,7 +5468,7 @@ _021722d0: str r3, [sp, #0x10] ldr r3, [r6, #0x50] str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r5, r0, #0x800 mov r3, #0x3800 str r5, [r6, #0x4c] @@ -5552,7 +5552,7 @@ _0217245c: _02172478: .word gAdventureFlags _0217247c: .word data_02050f54 _02172480: .word 0x0000019a -_02172484: .word data_027e0e60 +_02172484: .word gMapManager _02172488: .word 0x00000b33 _0217248c: .word 0xffff699a _02172490: .word data_027e0d0c @@ -5774,14 +5774,14 @@ func_ov27_02172598: ; 0x02172598 ldr r0, [sp, #0x28] ldr r1, [sp, #0x24] str r0, [sp, #0x1c] - ldr r0, _02172838 ; =data_027e0e60 + ldr r0, _02172838 ; =gMapManager str r1, [sp, #0x18] ldr r1, [sp, #0x2c] ldr r0, [r0] str r1, [sp, #0x20] add r1, sp, #0x18 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr ip, _0217283c ; =0x00000a8f str r0, [sp, #0x28] mov r1, #0 @@ -5811,7 +5811,7 @@ func_ov27_02172598: ; 0x02172598 _0217282c: .word data_02050f54 _02172830: .word 0xfffff99a _02172834: .word 0xfffffa66 -_02172838: .word data_027e0e60 +_02172838: .word gMapManager _0217283c: .word 0x00000a8f _02172840: .word data_ov00_020e9370 @@ -5962,7 +5962,7 @@ func_ov27_0217296c: ; 0x0217296c str r2, [sp, #8] add r1, sp, #0x14 str r1, [sp, #0xc] - ldr r1, _02172aa0 ; =data_027e0e60 + ldr r1, _02172aa0 ; =gMapManager str r0, [sp, #0x10] ldr r0, [r1] add r1, sp, #0x40 @@ -5977,7 +5977,7 @@ func_ov27_0217296c: ; 0x0217296c arm_func_end func_ov27_0217296c _02172a98: .word 0x0000ffff _02172a9c: .word data_ov27_021796d4 -_02172aa0: .word data_027e0e60 +_02172aa0: .word gMapManager .global func_ov27_02172aa4 arm_func_start func_ov27_02172aa4 @@ -6640,11 +6640,11 @@ func_ov27_02173330: ; 0x02173330 ldreqb r0, [r4, #0x5af] cmpeq r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _021733a8 ; =data_027e0e60 + ldr r0, _021733a8 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -6665,7 +6665,7 @@ func_ov27_02173330: ; 0x02173330 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov27_02173330 -_021733a8: .word data_027e0e60 +_021733a8: .word gMapManager _021733ac: .word data_027e0c68 _021733b0: .word 0x00060007 @@ -7017,7 +7017,7 @@ func_ov27_02173830: ; 0x02173830 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _021738d8 ; =data_027e0e60 + ldr r0, _021738d8 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -7034,7 +7034,7 @@ func_ov27_02173830: ; 0x02173830 strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _021738dc ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -7050,7 +7050,7 @@ func_ov27_02173830: ; 0x02173830 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov27_02173830 -_021738d8: .word data_027e0e60 +_021738d8: .word gMapManager _021738dc: .word data_027e0d38 .global func_ov27_021738e0 @@ -7442,7 +7442,7 @@ func_ov27_02173d78: ; 0x02173d78 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x24] - ldr r0, _02173e30 ; =data_027e0e60 + ldr r0, _02173e30 ; =gMapManager ldr r1, [sp, #0x28] str r2, [sp, #0x18] ldr r2, [sp, #0x2c] @@ -7451,7 +7451,7 @@ func_ov27_02173d78: ; 0x02173d78 ldr r0, [r0] add r1, sp, #0x18 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] ldr r3, _02173e34 ; =0x0000099a mov r0, #0 @@ -7470,7 +7470,7 @@ func_ov27_02173d78: ; 0x02173d78 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov27_02173d78 -_02173e30: .word data_027e0e60 +_02173e30: .word gMapManager _02173e34: .word 0x0000099a _02173e38: .word data_ov00_020e9370 @@ -7965,11 +7965,11 @@ func_ov27_0217440c: ; 0x0217440c bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _02174450 ; =data_027e0e60 + ldr r0, _02174450 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x470 @@ -7978,7 +7978,7 @@ func_ov27_0217440c: ; 0x0217440c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov27_0217440c -_02174450: .word data_027e0e60 +_02174450: .word gMapManager .global func_ov27_02174454 arm_func_start func_ov27_02174454 @@ -8033,7 +8033,7 @@ func_ov27_02174454: ; 0x02174454 strb r1, [r4, #0x1c1] bl _ZN5Actor10SetUnk_11cEc ldr r1, [r4, #0x48] - ldr r0, _021746f8 ; =data_027e0e60 + ldr r0, _021746f8 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -8042,7 +8042,7 @@ func_ov27_02174454: ; 0x02174454 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r1, r4, #0x100 ldrsh r2, [r1, #0x1e] mov r1, #0 @@ -8154,7 +8154,7 @@ _021746e8: .word data_027e0fac _021746ec: .word data_02050f54 _021746f0: .word data_027e0c68 _021746f4: .word 0x00060015 -_021746f8: .word data_027e0e60 +_021746f8: .word gMapManager _021746fc: .word data_027e0f64 _02174700: .word gAdventureFlags @@ -8200,7 +8200,7 @@ func_ov27_02174748: ; 0x02174748 mov r0, #0x2000 str r0, [r4, #0x4c] ldr r1, [r4, #0x48] - ldr r0, _021747d0 ; =data_027e0e60 + ldr r0, _021747d0 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -8209,7 +8209,7 @@ func_ov27_02174748: ; 0x02174748 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldrsb r1, [r4, #0x2c] mov r0, r4 @@ -8219,7 +8219,7 @@ func_ov27_02174748: ; 0x02174748 .align 2, 0 arm_func_end func_ov27_02174748 _021747cc: .word data_027e0d0c -_021747d0: .word data_027e0e60 +_021747d0: .word gMapManager .global func_ov27_021747d4 arm_func_start func_ov27_021747d4 @@ -8228,7 +8228,7 @@ func_ov27_021747d4: ; 0x021747d4 sub sp, sp, #0xc mov r5, r0 ldr r1, [r5, #0x48] - ldr r0, _021748d4 ; =data_027e0e60 + ldr r0, _021748d4 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -8237,7 +8237,7 @@ func_ov27_021747d4: ; 0x021747d4 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 mov r0, r5 bl func_ov14_02145508 @@ -8293,7 +8293,7 @@ _021748c8: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov27_021747d4 -_021748d4: .word data_027e0e60 +_021748d4: .word gMapManager _021748d8: .word 0x00000222 _021748dc: .word gAdventureFlags _021748e0: .word 0x00000266 @@ -9142,7 +9142,7 @@ func_ov27_021752a8: ; 0x021752a8 bic r0, r0, #0x1f orr r0, r0, #9 str r0, [sp, #4] - ldr r0, _021753d4 ; =data_027e0e60 + ldr r0, _021753d4 ; =gMapManager str ip, [sp, #8] str r3, [sp, #0xc] ldr r1, [r1, #8] @@ -9153,7 +9153,7 @@ func_ov27_021752a8: ; 0x021752a8 str r1, [sp, #0x1c] ldrh r1, [r4, #0x20] add r2, sp, #8 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi add r0, r4, #0xb8 add r0, r0, #0x400 str r0, [sp] @@ -9177,7 +9177,7 @@ _021753c4: .word func_ov27_02174f08 _021753c8: .word data_ov27_0217903c _021753cc: .word func_ov27_02175048 _021753d0: .word data_027e0d0c -_021753d4: .word data_027e0e60 +_021753d4: .word gMapManager .global func_ov27_021753d8 arm_func_start func_ov27_021753d8 @@ -9236,11 +9236,11 @@ _02175454: mov r2, r1 bl _ZN5Actor18func_ov00_020c243cEiPi _021754a4: - ldr r0, _02175554 ; =data_027e0e60 + ldr r0, _02175554 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _021754cc add r0, r4, #0x470 @@ -9286,7 +9286,7 @@ _02175538: .align 2, 0 arm_func_end func_ov27_021753d8 _02175550: .word data_027e0cbc -_02175554: .word data_027e0e60 +_02175554: .word gMapManager _02175558: .word data_027e0fc8 _0217555c: .word data_027e0f6c @@ -9377,11 +9377,11 @@ func_ov27_02175660: ; 0x02175660 ldrb r0, [r4, #0x285] cmp r0, #0 bne _021757e4 - ldr r0, _02175810 ; =data_027e0e60 + ldr r0, _02175810 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldreqb r0, [r4, #0x4e7] cmpeq r0, #1 @@ -9484,7 +9484,7 @@ _021757e4: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov27_02175660 -_02175810: .word data_027e0e60 +_02175810: .word gMapManager _02175814: .word 0x0000038e _02175818: .word 0x00000e39 _0217581c: .word 0x000078e4 diff --git a/asm/ov28.inc b/asm/ov28.inc index 0a742d5b..a585d5dc 100644 --- a/asm/ov28.inc +++ b/asm/ov28.inc @@ -1,5 +1,15 @@ #pragma once .extern Approach_thunk +.extern _ZN10MapManager17GetMapData_Unk_4cEv +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_02082b3cEi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags18func_Ov00_02097810Ei @@ -92,7 +102,6 @@ .extern data_027e0c68 .extern data_027e0ce0 .extern data_027e0e58 -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -171,16 +180,6 @@ .extern func_ov00_0207c31c .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern func_ov00_02082680 -.extern func_ov00_02082b3c -.extern func_ov00_020836dc -.extern func_ov00_020838e8 -.extern func_ov00_02083f44 -.extern func_ov00_02084120 -.extern func_ov00_020843ec -.extern func_ov00_02084a5c -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 .extern func_ov00_0208726c .extern func_ov00_020876bc .extern func_ov00_02087ab0 @@ -401,6 +400,7 @@ .extern func_ov14_0214aa2c .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcat .extern strcpy diff --git a/asm/ov28.s b/asm/ov28.s index 1526b066..6a48332b 100644 --- a/asm/ov28.s +++ b/asm/ov28.s @@ -3512,12 +3512,12 @@ func_ov28_021704b0: ; 0x021704b0 bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02170524 - ldr r0, _02170630 ; =data_027e0e60 + ldr r0, _02170630 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, r1 mov r3, r1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii b _02170604 _02170524: ldr r0, _02170624 ; =gAdventureFlags @@ -3532,12 +3532,12 @@ _02170524: bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02170570 - ldr r0, _02170630 ; =data_027e0e60 + ldr r0, _02170630 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 mov r1, #2 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii b _02170604 _02170570: ldr r0, _02170624 ; =gAdventureFlags @@ -3552,12 +3552,12 @@ _02170570: bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _021705bc - ldr r0, _02170630 ; =data_027e0e60 + ldr r0, _02170630 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 mov r1, #3 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii b _02170604 _021705bc: ldr r0, _02170624 ; =gAdventureFlags @@ -3572,12 +3572,12 @@ _021705bc: bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02170604 - ldr r0, _02170630 ; =data_027e0e60 + ldr r0, _02170630 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 mov r1, #4 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii _02170604: add r0, r4, #0x74 add r0, r0, #0x400 @@ -3593,7 +3593,7 @@ _02170618: _02170624: .word gAdventureFlags _02170628: .word 0x00000126 _0217062c: .word 0x0000012a -_02170630: .word data_027e0e60 +_02170630: .word gMapManager _02170634: .word 0x00000127 _02170638: .word 0x0000012b _0217063c: .word 0x00000129 @@ -3941,7 +3941,7 @@ _021709a4: mov r2, #0 strb r2, [r4, #0x48d] ldr r1, [r4, #0x48] - ldr r0, _02170a94 ; =data_027e0e60 + ldr r0, _02170a94 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r6, [r0] @@ -3950,10 +3950,10 @@ _021709a4: mov r0, r6 add r1, sp, #0 str r3, [sp, #8] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r5, r0 mov r0, r6 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv add r0, r5, r0 str r0, [r4, #0x4c] ldrsb r0, [r4, #0x2c] @@ -3981,7 +3981,7 @@ _02170a84: .align 2, 0 arm_func_end func_ov28_02170930 _02170a90: .word data_ov28_0217827c -_02170a94: .word data_027e0e60 +_02170a94: .word gMapManager _02170a98: .word 0xffffec78 .global func_ov28_02170a9c @@ -5545,7 +5545,7 @@ func_ov28_02171d10: ; 0x02171d10 add r0, r7, #2 cmp r7, r0 bge _02171f28 - ldr r10, _02171f74 ; =data_027e0e60 + ldr r10, _02171f74 ; =gMapManager add r5, sp, #4 mov r4, #1 _02171ed4: @@ -5560,7 +5560,7 @@ _02171ee8: mov r2, r4 strb r6, [sp, #4] strb r8, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #1 @@ -5595,7 +5595,7 @@ _02171f58: .align 2, 0 arm_func_end func_ov28_02171d10 _02171f70: .word data_027e0f6c -_02171f74: .word data_027e0e60 +_02171f74: .word gMapManager .global func_ov28_02171f78 arm_func_start func_ov28_02171f78 @@ -5660,11 +5660,11 @@ _02172008: add r0, r4, #0x70 mov r1, #3 bl func_ov00_02094884 - ldr r0, _021720d0 ; =data_027e0e60 + ldr r0, _021720d0 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #0xc strb r0, [r4, #0x12] b _021720c4 @@ -5685,11 +5685,11 @@ _02172068: add r0, r4, #0x70 mov r1, #1 bl func_ov00_02094884 - ldr r0, _021720d0 ; =data_027e0e60 + ldr r0, _021720d0 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #1 strb r0, [r4, #0x12] _021720c4: @@ -5698,7 +5698,7 @@ _021720c4: .align 2, 0 arm_func_end func_ov28_02171fe8 _021720cc: .word data_027e0f68 -_021720d0: .word data_027e0e60 +_021720d0: .word gMapManager .global func_ov28_021720d4 arm_func_start func_ov28_021720d4 @@ -5927,7 +5927,7 @@ func_ov28_02172280: ; 0x02172280 add r0, r7, #2 cmp r7, r0 bge _02172404 - ldr r10, _02172450 ; =data_027e0e60 + ldr r10, _02172450 ; =gMapManager add r5, sp, #4 mov r4, #1 _021723b0: @@ -5942,7 +5942,7 @@ _021723c4: mov r2, r4 strb r6, [sp, #4] strb r8, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #1 @@ -5977,7 +5977,7 @@ _02172434: .align 2, 0 arm_func_end func_ov28_02172280 _0217244c: .word 0x0000059a -_02172450: .word data_027e0e60 +_02172450: .word gMapManager .global func_ov28_02172454 arm_func_start func_ov28_02172454 @@ -6061,11 +6061,11 @@ _02172528: add r0, r4, #0x38 mov r1, #0 bl func_ov00_02094884 - ldr r0, _021725e4 ; =data_027e0e60 + ldr r0, _021725e4 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] orr r0, r0, #0x14 str r0, [r4, #4] @@ -6084,11 +6084,11 @@ _02172580: add r0, r4, #0x38 mov r1, #3 bl func_ov00_02094884 - ldr r0, _021725e4 ; =data_027e0e60 + ldr r0, _021725e4 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #4 bic r0, r0, #0x10 @@ -6099,7 +6099,7 @@ _021725d8: .align 2, 0 arm_func_end func_ov28_02172508 _021725e0: .word data_027e0f68 -_021725e4: .word data_027e0e60 +_021725e4: .word gMapManager .global func_ov28_021725e8 arm_func_start func_ov28_021725e8 @@ -6536,11 +6536,11 @@ _02172af4: .word data_ov28_02179274 func_ov28_02172af8: ; 0x02172af8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02172b3c ; =data_027e0e60 + ldr r0, _02172b3c ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -6553,7 +6553,7 @@ func_ov28_02172af8: ; 0x02172af8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov28_02172af8 -_02172b3c: .word data_027e0e60 +_02172b3c: .word gMapManager .global func_ov28_02172b40 arm_func_start func_ov28_02172b40 @@ -6611,11 +6611,11 @@ _02172bc4: .word data_ov28_02179274 func_ov28_02172bc8: ; 0x02172bc8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02172c24 ; =data_027e0e60 + ldr r0, _02172c24 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 @@ -6634,7 +6634,7 @@ func_ov28_02172bc8: ; 0x02172bc8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov28_02172bc8 -_02172c24: .word data_027e0e60 +_02172c24: .word gMapManager .global func_ov28_02172c28 arm_func_start func_ov28_02172c28 @@ -8451,13 +8451,13 @@ func_ov28_021742b0: ; 0x021742b0 strb r2, [sp, #0x10] strb r2, [sp, #0x16] bl _ZN14AdventureFlags18func_Ov00_02097810Ei - ldr r1, _02174384 ; =data_027e0e60 + ldr r1, _02174384 ; =gMapManager str r0, [r4, #0x228] ldr r0, [r1] add r1, r4, #0x48 mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii add r0, sp, #0 bl func_ov00_0209a508 add sp, sp, #0xb0 @@ -8467,7 +8467,7 @@ func_ov28_021742b0: ; 0x021742b0 _02174378: .word 0x00000666 _0217437c: .word data_ov28_021794e4 _02174380: .word gAdventureFlags -_02174384: .word data_027e0e60 +_02174384: .word gMapManager .global func_ov28_02174388 arm_func_start func_ov28_02174388 @@ -8947,7 +8947,7 @@ func_ov28_02174958: ; 0x02174958 func_ov28_0217496c: ; 0x0217496c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 - ldr r1, _02174a0c ; =data_027e0e60 + ldr r1, _02174a0c ; =gMapManager mov lr, #0 mov r4, r0 ldr r0, [r1] @@ -8965,17 +8965,17 @@ func_ov28_0217496c: ; 0x0217496c strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02174a10 ; =gOverlayManager ldr r2, _02174a14 ; =0x00000004 mov r1, #2 blx _ZN14OverlayManager15LoadIfNotLoadedEjj - ldr r0, _02174a0c ; =data_027e0e60 + ldr r0, _02174a0c ; =gMapManager mov r2, #1 ldr r0, [r0] add r1, sp, #0 strb r2, [sp, #0x15] - bl func_ov00_02082b3c + bl _ZN10MapManager18func_ov00_02082b3cEi ldr r0, _02174a10 ; =gOverlayManager ldr r2, _02174a18 ; =0x00000005 mov r1, #2 @@ -8987,7 +8987,7 @@ func_ov28_0217496c: ; 0x0217496c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov28_0217496c -_02174a0c: .word data_027e0e60 +_02174a0c: .word gMapManager _02174a10: .word gOverlayManager _02174a14: .word 0x00000004 _02174a18: .word 0x00000005 @@ -9501,13 +9501,13 @@ _0217504c: bl func_ov28_02174948 ldrb ip, [r4, #0x2a] ldrsb r3, [r0, #0xb] - ldr r1, _0217509c ; =data_027e0e60 + ldr r1, _0217509c ; =gMapManager ldrb r2, [r4, #0x28] ldr r0, [r1] add r1, ip, r3 and r1, r1, #0xff mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r1, #0 str r1, [r4, #0x130] ldr r0, _021750a0 ; =data_ov28_02179684 @@ -9520,7 +9520,7 @@ _0217504c: .align 2, 0 arm_func_end func_ov28_02175028 _02175098: .word data_027e0e58 -_0217509c: .word data_027e0e60 +_0217509c: .word gMapManager _021750a0: .word data_ov28_02179684 .global func_ov28_021750a4 @@ -9617,13 +9617,13 @@ _02175184: bl func_ov28_02174948 ldrsb r1, [r0, #0xb] ldrb r3, [r4, #0x2a] - ldr r0, _0217525c ; =data_027e0e60 + ldr r0, _0217525c ; =gMapManager ldrb r2, [r4, #0x28] add r1, r3, r1 ldr r0, [r0] and r1, r1, #0xff mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02175260 ; =data_ov28_02179684 mov r5, #0 ldr r1, [r0, #0x18] @@ -9662,7 +9662,7 @@ _0217524c: .word 0x000001bd _02175250: .word data_027e0ffc _02175254: .word 0x000001a9 _02175258: .word data_ov28_02178348 -_0217525c: .word data_027e0e60 +_0217525c: .word gMapManager _02175260: .word data_ov28_02179684 _02175264: .word data_ov00_020eec68 _02175268: .word data_027e0c68 @@ -9728,10 +9728,10 @@ _02175308: ldr r0, [r2, #0x44] cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _021753dc ; =data_027e0e60 + ldr r0, _021753dc ; =gMapManager ldrb r2, [r4, #0x29] ldr r0, [r0] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x1bc] @@ -9743,13 +9743,13 @@ _02175364: bl func_ov28_02174948 ldrb ip, [r4, #0x2a] ldrsb r3, [r0, #0xb] - ldr r1, _021753dc ; =data_027e0e60 + ldr r1, _021753dc ; =gMapManager ldrb r2, [r4, #0x28] ldr r0, [r1] add r1, ip, r3 and r1, r1, #0xff mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r0, r4 bl func_ov28_02175028 bl func_ov28_02174948 @@ -9774,7 +9774,7 @@ _021753c0: .align 2, 0 arm_func_end func_ov28_02175274 _021753d8: .word data_027e0c68 -_021753dc: .word data_027e0e60 +_021753dc: .word gMapManager _021753e0: .word data_ov00_020eec9c _021753e4: .word 0x00000403 _021753e8: .word 0x00000404 @@ -9790,13 +9790,13 @@ func_ov28_021753f0: ; 0x021753f0 bl func_ov28_02174948 ldrb ip, [r4, #0x2a] ldrsb r3, [r0, #0xb] - ldr r1, _02175464 ; =data_027e0e60 + ldr r1, _02175464 ; =gMapManager ldrb r2, [r4, #0x28] ldr r0, [r1] add r1, ip, r3 and r1, r1, #0xff mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r1, _02175468 ; =data_ov28_02178348 add r0, r4, #0x1c0 ldr r1, [r1] @@ -9814,7 +9814,7 @@ func_ov28_021753f0: ; 0x021753f0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov28_021753f0 -_02175464: .word data_027e0e60 +_02175464: .word gMapManager _02175468: .word data_ov28_02178348 _0217546c: .word data_ov28_02179684 @@ -12080,11 +12080,11 @@ _021772a0: ; jump table b _02177300 ; case 2 b _021773f8 ; case 3 _021772b0: - ldr r0, _02177478 ; =data_027e0e60 + ldr r0, _02177478 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02177408 mov r0, r4 @@ -12206,7 +12206,7 @@ _02177458: _0217746c: .word data_027e0e58 _02177470: .word data_ov00_020eec9c _02177474: .word 0x0000042a -_02177478: .word data_027e0e60 +_02177478: .word gMapManager _0217747c: .word 0x00000ccd _02177480: .word data_027e0ffc _02177484: .word 0x00000429 diff --git a/asm/ov29.inc b/asm/ov29.inc index fd7cee09..c2e7da92 100644 --- a/asm/ov29.inc +++ b/asm/ov29.inc @@ -1,6 +1,15 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_6cEv +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083908EcPi +.extern _ZN10MapManager18func_ov00_02083928EPci +.extern _ZN10MapManager18func_ov00_02083938Ei +.extern _ZN10MapManager18func_ov00_020846a4Ev +.extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN11ItemManager18func_ov00_020ae4dcEj .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j @@ -81,7 +90,6 @@ .extern data_027e0d38 .extern data_027e0db0 .extern data_027e0e58 -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -185,15 +193,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_02082680 -.extern func_ov00_020836dc -.extern func_ov00_02083908 -.extern func_ov00_02083928 -.extern func_ov00_02083938 -.extern func_ov00_02083948 -.extern func_ov00_02083f80 -.extern func_ov00_020846a4 -.extern func_ov00_02084d24 .extern func_ov00_02087400 .extern func_ov00_0208b5a4 .extern func_ov00_0208b5bc @@ -391,4 +390,5 @@ .extern func_ov38_02185720 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern strcpy diff --git a/asm/ov29.s b/asm/ov29.s index 935b7723..cea23880 100644 --- a/asm/ov29.s +++ b/asm/ov29.s @@ -1502,9 +1502,9 @@ func_ov29_0216ea08: ; 0x0216ea08 ldr r0, [r4, #0x4dc] cmp r0, #2 ldmneia sp!, {r4, pc} - ldr r0, _0216ea68 ; =data_027e0e60 + ldr r0, _0216ea68 ; =gMapManager ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #0xd beq _0216ea48 cmp r0, #0xe @@ -1522,7 +1522,7 @@ _0216ea58: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov29_0216ea08 -_0216ea68: .word data_027e0e60 +_0216ea68: .word gMapManager .global func_ov29_0216ea6c arm_func_start func_ov29_0216ea6c @@ -2282,13 +2282,13 @@ _0216f4b0: _0216f4bc: cmp r3, #2 blo _0216f4b0 - ldr r0, _0216f6a4 ; =data_027e0e60 + ldr r0, _0216f6a4 ; =gMapManager add r1, sp, #4 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldrb r1, [sp, #8] - ldr r0, _0216f6a4 ; =data_027e0e60 + ldr r0, _0216f6a4 ; =gMapManager add r2, r4, #0x1f0 strb r1, [r4, #0x1c7] ldrh r1, [r4, #0x22] @@ -2297,17 +2297,17 @@ _0216f4bc: and r1, r1, #0xff and r5, r3, #0xff mov r6, #1 - bl func_ov00_02083908 - ldr r0, _0216f6a4 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083908EcPi + ldr r0, _0216f6a4 ; =gMapManager mov r1, r5 ldr r0, [r0] add r2, r4, #0x20c - bl func_ov00_02083908 - ldr r0, _0216f6a4 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083908EcPi + ldr r0, _0216f6a4 ; =gMapManager mov r1, r6 ldr r0, [r0] add r2, r4, #0x228 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi ldr r1, _0216f6a8 ; =data_02052f54 add r0, r4, #0x1c8 ldrsh r2, [r1, #2] @@ -2404,7 +2404,7 @@ _0216f4bc: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov29_0216f470 -_0216f6a4: .word data_027e0e60 +_0216f6a4: .word gMapManager _0216f6a8: .word data_02052f54 _0216f6ac: .word data_027e0f68 _0216f6b0: .word data_ov29_0217933c @@ -2645,18 +2645,18 @@ _0216f9a0: mov r3, #0 bl func_ov00_02087400 _0216f9b0: - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r5, [r4, #0x22c] ldr r0, [r0] mov r1, #0 - bl func_ov00_02083938 + bl _ZN10MapManager18func_ov00_02083938Ei cmp r0, r5 beq _0216fbe8 - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r1, [r4, #0x22c] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci b _0216fbe8 _0216f9e4: ldr r0, _0216fbf4 ; =data_027e0f64 @@ -2679,18 +2679,18 @@ _0216fa1c: mov r3, #0 bl func_ov00_02087400 _0216fa2c: - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r5, [r4, #0x1f4] ldr r0, [r0] mov r1, #0 - bl func_ov00_02083938 + bl _ZN10MapManager18func_ov00_02083938Ei cmp r0, r5 beq _0216fbe8 - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r1, [r4, #0x1f4] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci b _0216fbe8 _0216fa60: ldr r0, _0216fbf4 ; =data_027e0f64 @@ -2713,18 +2713,18 @@ _0216fa98: mov r3, #0 bl func_ov00_02087400 _0216faa8: - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r5, [r4, #0x210] ldr r0, [r0] mov r1, #0 - bl func_ov00_02083938 + bl _ZN10MapManager18func_ov00_02083938Ei cmp r0, r5 beq _0216fbe8 - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r1, [r4, #0x210] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci b _0216fbe8 _0216fadc: add r0, r4, #0x250 @@ -2802,7 +2802,7 @@ _0216fbe8: .align 2, 0 arm_func_end func_ov29_0216f918 _0216fbf4: .word data_027e0f64 -_0216fbf8: .word data_027e0e60 +_0216fbf8: .word gMapManager _0216fbfc: .word data_027e0f6c _0216fc00: .word data_027e0e58 _0216fc04: .word data_ov00_020eec9c @@ -2887,15 +2887,15 @@ func_ov29_0216fc94: ; 0x0216fc94 func_ov29_0216fcd4: ; 0x0216fcd4 stmdb sp!, {lr} sub sp, sp, #0x1c - ldr r2, _0216fd78 ; =data_027e0e60 + ldr r2, _0216fd78 ; =gMapManager ldrb r1, [r0, #0x1c6] ldr r0, [r2] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0216fd6c ldr r1, _0216fd7c ; =data_027e0f94 - ldr r0, _0216fd78 ; =data_027e0e60 + ldr r0, _0216fd78 ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0x10] @@ -2906,7 +2906,7 @@ func_ov29_0216fcd4: ; 0x0216fcd4 add r2, sp, #0 add r3, sp, #4 str ip, [sp, #0x18] - bl func_ov00_02083f80 + bl _ZN10MapManager16MapData_vfunc_6cEv ldr r0, [sp, #4] cmp r0, #0 ldreq r0, [sp, #8] @@ -2930,7 +2930,7 @@ _0216fd6c: ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov29_0216fcd4 -_0216fd78: .word data_027e0e60 +_0216fd78: .word gMapManager _0216fd7c: .word data_027e0f94 .global func_ov29_0216fd80 @@ -10598,7 +10598,7 @@ func_ov29_021765f0: ; 0x021765f0 add r0, r7, #2 cmp r7, r0 bge _021766b8 - ldr r4, _02176784 ; =data_027e0e60 + ldr r4, _02176784 ; =gMapManager add r5, sp, #2 mov r11, #1 _0217661c: @@ -10615,24 +10615,24 @@ _02176630: mov r2, r11 strb r6, [sp, #2] strb r8, [sp, #3] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #9 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci b _02176690 _02176668: add r1, sp, #0 mov r2, #0 strb r6, [sp] strb r8, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #0x35 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci _02176690: ldrb r0, [r10, #0x15] add r8, r8, #1 @@ -10700,7 +10700,7 @@ _0217673c: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov29_021765f0 -_02176784: .word data_027e0e60 +_02176784: .word gMapManager _02176788: .word data_027e0f6c .global func_ov29_0217678c diff --git a/asm/ov30.inc b/asm/ov30.inc index 5370e24f..4913a1a2 100644 --- a/asm/ov30.inc +++ b/asm/ov30.inc @@ -84,7 +84,7 @@ .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 @@ -140,14 +140,14 @@ .extern func_ov00_0207c1f8 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_02082d08 -.extern func_ov00_02083770 -.extern func_ov00_02083ee0 -.extern func_ov00_02084324 -.extern func_ov00_0208433c -.extern func_ov00_0208439c -.extern func_ov00_02084740 -.extern func_ov00_02084924 +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_a4Ev +.extern _ZN10MapManager18func_ov00_0208433cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_0208439cEv +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_02084924Ej .extern func_ov00_02087d34 .extern func_ov00_020884b4 .extern func_ov00_02093a1c diff --git a/asm/ov30.s b/asm/ov30.s index 26a4350a..d903a630 100644 --- a/asm/ov30.s +++ b/asm/ov30.s @@ -229,7 +229,7 @@ _0217c050: stmia sp, {r0, r6} mov r0, #0 str r0, [sp, #8] - ldr r0, _0217c104 ; =data_027e0e60 + ldr r0, _0217c104 ; =gMapManager mov r3, r7 ldr r0, [r0] add r1, sp, #0x18 @@ -251,7 +251,7 @@ _0217c0f4: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov30_0217c020 -_0217c104: .word data_027e0e60 +_0217c104: .word gMapManager .global func_ov30_0217c108 arm_func_start func_ov30_0217c108 @@ -1558,7 +1558,7 @@ func_ov30_0217d09c: ; 0x0217d09c addeq sp, sp, #0x58 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldr r0, _0217d390 ; =data_027e0e60 + ldr r0, _0217d390 ; =gMapManager ldr lr, [r4] ldr ip, [r4, #4] ldr r3, [r4, #8] @@ -1568,7 +1568,7 @@ func_ov30_0217d09c: ; 0x0217d09c str lr, [sp, #0x28] str ip, [sp, #0x2c] str r3, [sp, #0x30] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addne sp, sp, #0x58 movne r0, #0 @@ -1722,7 +1722,7 @@ _0217d2cc: str r0, [sp, #4] add r1, sp, #0xc str r1, [sp, #8] - ldr r0, _0217d390 ; =data_027e0e60 + ldr r0, _0217d390 ; =gMapManager add r1, sp, #0x1c ldr r0, [r0] add r2, sp, #0x10 @@ -1745,7 +1745,7 @@ _0217d37c: arm_func_end func_ov30_0217d09c _0217d388: .word data_027e0f90 _0217d38c: .word data_027e0f94 -_0217d390: .word data_027e0e60 +_0217d390: .word gMapManager _0217d394: .word 0xffff8001 _0217d398: .word 0x00002aaa _0217d39c: .word 0x00005555 @@ -1777,7 +1777,7 @@ func_ov30_0217d3b8: ; 0x0217d3b8 addeq sp, sp, #0x20 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _0217d4e0 ; =data_027e0e60 + ldr r0, _0217d4e0 ; =gMapManager ldr lr, [r4] ldr ip, [r4, #4] ldr r3, [r4, #8] @@ -1787,7 +1787,7 @@ func_ov30_0217d3b8: ; 0x0217d3b8 str lr, [sp, #4] str ip, [sp, #8] str r3, [sp, #0xc] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addne sp, sp, #0x20 movne r0, #0 @@ -1840,7 +1840,7 @@ func_ov30_0217d3b8: ; 0x0217d3b8 arm_func_end func_ov30_0217d3b8 _0217d4d8: .word data_027e0f90 _0217d4dc: .word data_027e0f94 -_0217d4e0: .word data_027e0e60 +_0217d4e0: .word gMapManager _0217d4e4: .word 0x0000019a .global func_ov30_0217d4e8 @@ -1857,7 +1857,7 @@ func_ov30_0217d4e8: ; 0x0217d4e8 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r1, [r4] - ldr r0, _0217d684 ; =data_027e0e60 + ldr r0, _0217d684 ; =gMapManager str r1, [sp] ldr r1, [r4, #4] ldr r0, [r0] @@ -1866,7 +1866,7 @@ func_ov30_0217d4e8: ; 0x0217d4e8 add r2, sp, #0 mov r1, #0xff str r3, [sp, #8] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addne sp, sp, #0x18 movne r0, #0 @@ -1956,7 +1956,7 @@ _0217d664: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_0217d4e8 -_0217d684: .word data_027e0e60 +_0217d684: .word gMapManager _0217d688: .word 0xffff8001 _0217d68c: .word 0x00002aaa @@ -1973,7 +1973,7 @@ func_ov30_0217d690: ; 0x0217d690 addne sp, sp, #0x48 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} - ldr r0, _0217d7d0 ; =data_027e0e60 + ldr r0, _0217d7d0 ; =gMapManager ldr ip, [r4] ldr r6, [r4, #4] ldr r3, [r4, #8] @@ -1983,7 +1983,7 @@ func_ov30_0217d690: ; 0x0217d690 str ip, [sp, #0x24] str r6, [sp, #0x28] str r3, [sp, #0x2c] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addne sp, sp, #0x48 movne r0, #0 @@ -2028,7 +2028,7 @@ func_ov30_0217d690: ; 0x0217d690 mov r0, #6 str r0, [sp] ldrh r2, [r5, #0x9c] - ldr r0, _0217d7d0 ; =data_027e0e60 + ldr r0, _0217d7d0 ; =gMapManager add r1, sp, #0x18 str r2, [sp, #4] ldr r3, [r5, #0xa0] @@ -2045,7 +2045,7 @@ func_ov30_0217d690: ; 0x0217d690 .align 2, 0 arm_func_end func_ov30_0217d690 _0217d7cc: .word data_027e0f94 -_0217d7d0: .word data_027e0e60 +_0217d7d0: .word gMapManager _0217d7d4: .word 0x00000333 .global func_ov30_0217d7d8 @@ -2057,7 +2057,7 @@ func_ov30_0217d7d8: ; 0x0217d7d8 mov r11, #0 ldr r5, [r3] ldr r4, [r3, #4] - ldr r2, _0217d98c ; =data_027e0e60 + ldr r2, _0217d98c ; =gMapManager mov r10, r0 ldr r0, [r2] str r1, [sp] @@ -2069,7 +2069,7 @@ func_ov30_0217d7d8: ; 0x0217d7d8 add r1, sp, #0x18 add r2, sp, #0x14 str r3, [sp, #0x20] - bl func_ov00_0208433c + bl _ZN10MapManager18func_ov00_0208433cEP5Vec3pi mov r0, r11 ldrsh r2, [sp, #0x16] ldrsh r1, [sp, #0x14] @@ -2086,7 +2086,7 @@ func_ov30_0217d7d8: ; 0x0217d7d8 mov r4, r2, lsl #0x10 _0217d85c: ldr r0, [sp, #4] - ldr r5, _0217d98c ; =data_027e0e60 + ldr r5, _0217d98c ; =gMapManager mov r0, r0, lsl #0x10 mov r8, #0 mov r7, r0, asr #0x10 @@ -2097,7 +2097,7 @@ _0217d874: strh r0, [sp, #0xe] ldr r0, [r5] mov r1, r6 - bl func_ov00_02084324 + bl _ZN10MapManager16MapData_vfunc_a4Ev cmp r0, #0 beq _0217d934 ldrsh r1, [sp, #0x16] @@ -2114,7 +2114,7 @@ _0217d874: ldr r0, [r5] mov r1, r6 add r2, sp, #0x24 - bl func_ov00_0208439c + bl _ZN10MapManager18func_ov00_0208439cEv ldr r1, [r10, #8] ldr r0, [sp, #0x2c] ldr r3, [r10] @@ -2154,11 +2154,11 @@ _0217d934: blt _0217d85c cmp r11, #0 beq _0217d97c - ldr r0, _0217d98c ; =data_027e0e60 + ldr r0, _0217d98c ; =gMapManager ldr r2, [sp] ldr r0, [r0] add r1, sp, #0x10 - bl func_ov00_0208439c + bl _ZN10MapManager18func_ov00_0208439cEv _0217d97c: mov r0, r11 add sp, sp, #0x30 @@ -2166,7 +2166,7 @@ _0217d97c: .align 2, 0 arm_func_end func_ov30_0217d7d8 _0217d988: .word data_027e0f94 -_0217d98c: .word data_027e0e60 +_0217d98c: .word gMapManager .global func_ov30_0217d990 arm_func_start func_ov30_0217d990 @@ -4030,7 +4030,7 @@ _0217f250: add r3, sp, #0x5c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217f548 ; =data_027e0e60 + ldr r0, _0217f548 ; =gMapManager ldr r2, [sp, #0x5c] ldr r4, [sp, #0x60] ldr r3, [sp, #0x64] @@ -4040,7 +4040,7 @@ _0217f250: mov r2, #1 str r4, [sp, #0x18] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x60] add r0, sp, #0x5c bl func_ov30_0217f088 @@ -4090,7 +4090,7 @@ _0217f2f4: ldr r0, [r0] bl func_ov00_020c47cc ldr r6, [r0, #4] - ldr r2, _0217f548 ; =data_027e0e60 + ldr r2, _0217f548 ; =gMapManager str r6, [sp, #0x50] ldr r4, [r0, #8] add r1, sp, #8 @@ -4102,7 +4102,7 @@ _0217f2f4: str r6, [sp, #8] str r4, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x54] _0217f3b8: ldr r0, _0217f55c ; =data_027e10b4 @@ -4214,7 +4214,7 @@ _0217f53c: .align 2, 0 arm_func_end func_ov30_0217f1c4 _0217f544: .word gAdventureFlags -_0217f548: .word data_027e0e60 +_0217f548: .word gMapManager _0217f54c: .word data_027e0ffc _0217f550: .word data_ov00_020e8398 _0217f554: .word data_027e0ff0 @@ -4296,7 +4296,7 @@ _0217f5f8: add r1, sp, #0x24 ldr r0, [r0] bl func_ov00_020c47cc - ldr r1, _0217f750 ; =data_027e0e60 + ldr r1, _0217f750 ; =gMapManager ldr r5, [r0, #4] ldr r3, [r0, #8] ldr r7, [r0, #0xc] @@ -4306,7 +4306,7 @@ _0217f5f8: str r5, [sp, #0x18] str r3, [sp, #0x1c] str r7, [sp, #0x20] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r6, r0 _0217f69c: str r5, [r4, #0x48] @@ -4360,7 +4360,7 @@ _0217f730: _0217f744: .word data_ov00_020e8398 _0217f748: .word data_027e0ff0 _0217f74c: .word data_027e0f94 -_0217f750: .word data_027e0e60 +_0217f750: .word gMapManager _0217f754: .word data_027e0f64 .global func_ov30_0217f758 @@ -4467,7 +4467,7 @@ _0217f880: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217faa0 ; =data_027e0e60 + ldr r0, _0217faa0 ; =gMapManager ldr r2, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -4477,7 +4477,7 @@ _0217f880: mov r2, #1 str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] add r0, sp, #0xc bl func_ov30_0217f088 @@ -4596,7 +4596,7 @@ _0217fa98: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217f77c -_0217faa0: .word data_027e0e60 +_0217faa0: .word gMapManager _0217faa4: .word data_027e0ffc _0217faa8: .word data_027e10b4 @@ -4701,7 +4701,7 @@ _0217fbb4: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217fd3c ; =data_027e0e60 + ldr r0, _0217fd3c ; =gMapManager ldr r2, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -4711,7 +4711,7 @@ _0217fbb4: mov r2, #1 str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] add r0, sp, #0xc bl func_ov30_0217f088 @@ -4788,7 +4788,7 @@ _0217fcf8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217fb7c -_0217fd3c: .word data_027e0e60 +_0217fd3c: .word gMapManager _0217fd40: .word data_027e0ffc .global func_ov30_0217fd44 @@ -5410,9 +5410,9 @@ func_ov30_02180548: ; 0x02180548 bl func_ov00_020a5e9c cmp r0, #0x25 bne _02180594 - ldr r0, _021805a0 ; =data_027e0e60 + ldr r0, _021805a0 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #7 bne _02180594 ldr r0, _021805a4 ; =gAdventureFlags @@ -5428,7 +5428,7 @@ _02180594: .align 2, 0 arm_func_end func_ov30_02180548 _0218059c: .word data_027e0d38 -_021805a0: .word data_027e0e60 +_021805a0: .word gMapManager _021805a4: .word gAdventureFlags _021805a8: .word data_ov30_021887ac @@ -5442,9 +5442,9 @@ func_ov30_021805ac: ; 0x021805ac bl func_ov00_020a5e9c cmp r0, #0x25 bne _021805f8 - ldr r0, _02180604 ; =data_027e0e60 + ldr r0, _02180604 ; =gMapManager ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #7 bne _021805f8 ldr r0, _02180608 ; =gAdventureFlags @@ -5460,7 +5460,7 @@ _021805f8: .align 2, 0 arm_func_end func_ov30_021805ac _02180600: .word data_027e0d38 -_02180604: .word data_027e0e60 +_02180604: .word gMapManager _02180608: .word gAdventureFlags _0218060c: .word data_ov30_021887b4 @@ -8261,7 +8261,7 @@ func_ov30_021824cc: ; 0x021824cc str r2, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] - ldr r0, _02182628 ; =data_027e0e60 + ldr r0, _02182628 ; =gMapManager str r3, [sp, #0x10] add r2, r4, #0x860 ldr r0, [r0] @@ -8315,7 +8315,7 @@ _02182618: .align 2, 0 arm_func_end func_ov30_021824cc _02182624: .word 0x0000ffff -_02182628: .word data_027e0e60 +_02182628: .word gMapManager _0218262c: .word data_027e0fe4 _02182630: .word 0x424f4d42 @@ -8356,7 +8356,7 @@ func_ov30_02182634: ; 0x02182634 str r0, [sp, #8] str r2, [sp, #0xc] str r2, [sp, #0x10] - ldr r0, _02182ab8 ; =data_027e0e60 + ldr r0, _02182ab8 ; =gMapManager add r2, r4, #0x860 ldr r0, [r0] add r1, sp, #0x13c @@ -8618,7 +8618,7 @@ _02182960: .align 2, 0 arm_func_end func_ov30_02182634 _02182ab4: .word 0x0000ffff -_02182ab8: .word data_027e0e60 +_02182ab8: .word gMapManager _02182abc: .word _ZTV11FilterActor _02182ac0: .word 0x424f4d42 _02182ac4: .word data_027e0fe4 @@ -10040,7 +10040,7 @@ func_ov30_02183ca8: ; 0x02183ca8 ldr r2, [r2, #0x8c] ldr r1, [r0] ldr r4, [r2, #0x98] - ldr r2, _02183d7c ; =data_027e0e60 + ldr r2, _02183d7c ; =gMapManager str r1, [sp, #0x30] ldr r3, [r0, #4] add r1, sp, #0x30 @@ -10049,9 +10049,9 @@ func_ov30_02183ca8: ; 0x02183ca8 ldr r0, [r2] str r3, [sp, #0x38] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r7] - ldr r1, _02183d7c ; =data_027e0e60 + ldr r1, _02183d7c ; =gMapManager str r2, [sp, #0x24] ldr r2, [r7, #4] add r5, r4, r0 @@ -10061,7 +10061,7 @@ func_ov30_02183ca8: ; 0x02183ca8 str r2, [sp, #0x2c] add r1, sp, #0x24 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02183d78 ; =data_ov30_021894a0 add r0, r4, r0 str r0, [sp, #0x10] @@ -10076,7 +10076,7 @@ func_ov30_02183ca8: ; 0x02183ca8 str r1, [sp] str r0, [sp, #4] ldr r1, [r2, #0xa0] - ldr r0, _02183d7c ; =data_027e0e60 + ldr r0, _02183d7c ; =gMapManager str r1, [sp, #8] ldr r0, [r0] add r1, sp, #0x18 @@ -10088,7 +10088,7 @@ func_ov30_02183ca8: ; 0x02183ca8 .align 2, 0 arm_func_end func_ov30_02183ca8 _02183d78: .word data_ov30_021894a0 -_02183d7c: .word data_027e0e60 +_02183d7c: .word gMapManager .global func_ov30_02183d80 arm_func_start func_ov30_02183d80 @@ -10516,18 +10516,18 @@ _021841ec: ldr r0, _02184304 ; =data_ov00_020eec68 mov r1, #0xf bl func_ov00_020d716c - ldr r0, _02184308 ; =data_027e0e60 + ldr r0, _02184308 ; =gMapManager ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r0, _02184304 ; =data_ov00_020eec68 mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 - ldr r0, _02184308 ; =data_027e0e60 + ldr r0, _02184308 ; =gMapManager mov r1, #0 ldr r0, [r0] - bl func_ov00_02084924 + bl _ZN10MapManager18func_ov00_02084924Ej b _02184298 _0218424c: ldr r0, [r10, #0x88] @@ -10545,10 +10545,10 @@ _0218424c: mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 - ldr r0, _02184308 ; =data_027e0e60 + ldr r0, _02184308 ; =gMapManager mov r1, #1 ldr r0, [r0] - bl func_ov00_02084924 + bl _ZN10MapManager18func_ov00_02084924Ej _02184298: ldr r0, [r10, #0x94] cmp r0, #0 @@ -10581,7 +10581,7 @@ _021842d4: _021842fc: .word data_027e0fc8 _02184300: .word data_027e0fe4 _02184304: .word data_ov00_020eec68 -_02184308: .word data_027e0e60 +_02184308: .word gMapManager _0218430c: .word data_ov00_020eec9c .global func_ov30_02184310 @@ -11340,7 +11340,7 @@ _021848f4: ldrh r10, [r4, #0x20] ble _021849cc ldr r9, [sp, #0x18] - ldr r11, _02185254 ; =data_027e0e60 + ldr r11, _02185254 ; =gMapManager ldr r5, _02185250 ; =data_027e0fe4 _02184940: ldr r1, [sp, #0x530] @@ -11362,7 +11362,7 @@ _02184940: ldr r3, [r7, #0x50] add r2, sp, #0x74 str r3, [sp, #0x7c] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _02184998: @@ -11428,7 +11428,7 @@ _02184a34: ldrh r10, [r4, #0x20] ble _02184b10 ldr r9, [sp, #0x14] - ldr r11, _02185254 ; =data_027e0e60 + ldr r11, _02185254 ; =gMapManager ldr r5, _02185250 ; =data_027e0fe4 _02184a84: ldr r1, [sp, #0x4a4] @@ -11450,7 +11450,7 @@ _02184a84: ldr r3, [r7, #0x50] add r2, sp, #0x68 str r3, [sp, #0x70] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _02184adc: @@ -11528,7 +11528,7 @@ _02184ba8: ldrh r10, [r4, #0x20] ble _02184c84 ldr r9, [sp, #0x10] - ldr r11, _02185254 ; =data_027e0e60 + ldr r11, _02185254 ; =gMapManager ldr r5, _02185250 ; =data_027e0fe4 _02184bf8: ldr r1, [sp, #0x3d0] @@ -11550,7 +11550,7 @@ _02184bf8: ldr r3, [r7, #0x50] add r2, sp, #0x5c str r3, [sp, #0x64] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _02184c50: @@ -11626,7 +11626,7 @@ _02184d18: ldrh r10, [r4, #0x20] ble _02184df0 ldr r9, [sp, #0xc] - ldr r11, _02185254 ; =data_027e0e60 + ldr r11, _02185254 ; =gMapManager ldr r5, _02185250 ; =data_027e0fe4 _02184d64: ldr r1, [sp, #0x2fc] @@ -11648,7 +11648,7 @@ _02184d64: ldr r3, [r7, #0x50] add r2, sp, #0x50 str r3, [sp, #0x58] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _02184dbc: @@ -11724,7 +11724,7 @@ _02184e84: ldrh r10, [r4, #0x20] ble _02184f50 ldr r9, [sp, #8] - ldr r5, _02185254 ; =data_027e0e60 + ldr r5, _02185254 ; =gMapManager ldr r6, _02185250 ; =data_027e0fe4 mov r11, r7 _02184ed4: @@ -11747,7 +11747,7 @@ _02184ed4: ldr r3, [r0, #0x50] ldr r0, [r5] str r3, [sp, #0x4c] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _02184f2c: @@ -11819,7 +11819,7 @@ _02184fe4: ldrh r10, [r4, #0x20] ble _021850b0 ldr r9, [sp, #4] - ldr r5, _02185254 ; =data_027e0e60 + ldr r5, _02185254 ; =gMapManager ldr r6, _02185250 ; =data_027e0fe4 mov r11, r7 _02185034: @@ -11842,7 +11842,7 @@ _02185034: ldr r3, [r0, #0x50] ldr r0, [r5] str r3, [sp, #0x40] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _0218508c: @@ -11914,7 +11914,7 @@ _02185144: ldrh r10, [r4, #0x20] ble _02185210 ldr r9, [sp] - ldr r5, _02185254 ; =data_027e0e60 + ldr r5, _02185254 ; =gMapManager ldr r6, _02185250 ; =data_027e0fe4 mov r11, r7 _02185194: @@ -11937,7 +11937,7 @@ _02185194: ldr r3, [r0, #0x50] ldr r0, [r5] str r3, [sp, #0x34] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _021851ec: @@ -11973,7 +11973,7 @@ _02185240: arm_func_end func_ov30_02184868 _0218524c: .word data_ov30_02188b08 _02185250: .word data_027e0fe4 -_02185254: .word data_027e0e60 +_02185254: .word gMapManager _02185258: .word _ZTV11FilterActor _0218525c: .word 0x57544352 _02185260: .word 0x43485352 @@ -14280,7 +14280,7 @@ func_ov30_021872c4: ; 0x021872c4 stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, [r1] - ldr r3, _02187300 ; =data_027e0e60 + ldr r3, _02187300 ; =gMapManager str r2, [sp] ldr ip, [r1, #4] mov r2, r0 @@ -14289,27 +14289,27 @@ func_ov30_021872c4: ; 0x021872c4 ldr r0, [r3] add r1, sp, #0 str ip, [sp, #8] - bl func_ov00_0208433c + bl _ZN10MapManager18func_ov00_0208433cEP5Vec3pi add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov30_021872c4 -_02187300: .word data_027e0e60 +_02187300: .word gMapManager .global func_ov30_02187304 arm_func_start func_ov30_02187304 func_ov30_02187304: ; 0x02187304 - ldr r2, _02187320 ; =data_027e0e60 + ldr r2, _02187320 ; =gMapManager mov r3, r0 ldr r0, [r2] mov r2, r1 - ldr ip, _02187324 ; =func_ov00_0208439c + ldr ip, _02187324 ; =_ZN10MapManager18func_ov00_0208439cEv mov r1, r3 bx ip .align 2, 0 arm_func_end func_ov30_02187304 -_02187320: .word data_027e0e60 -_02187324: .word func_ov00_0208439c +_02187320: .word gMapManager +_02187324: .word _ZN10MapManager18func_ov00_0208439cEv .global func_ov30_02187328 arm_func_start func_ov30_02187328 @@ -14373,11 +14373,11 @@ func_ov30_02187388: ; 0x02187388 func_ov30_021873bc: ; 0x021873bc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 - ldr r2, _02187568 ; =data_027e0e60 + ldr r2, _02187568 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_02084324 + bl _ZN10MapManager16MapData_vfunc_a4Ev cmp r0, #0 addeq sp, sp, #8 moveq r0, #0 @@ -14465,16 +14465,16 @@ _021874e8: sub r0, r0, #1 strh r0, [sp, #2] _02187524: - ldr r0, _02187568 ; =data_027e0e60 + ldr r0, _02187568 ; =gMapManager add r1, sp, #4 ldr r0, [r0] - bl func_ov00_02084324 + bl _ZN10MapManager16MapData_vfunc_a4Ev cmp r0, #0 beq _0218755c - ldr r0, _02187568 ; =data_027e0e60 + ldr r0, _02187568 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084324 + bl _ZN10MapManager16MapData_vfunc_a4Ev cmp r0, #0 addne sp, sp, #8 movne r0, #1 @@ -14485,7 +14485,7 @@ _0218755c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_021873bc -_02187568: .word data_027e0e60 +_02187568: .word gMapManager .global func_ov30_0218756c arm_func_start func_ov30_0218756c @@ -14522,15 +14522,15 @@ _021875d0: .word 0x000016a1 .global func_ov30_021875d4 arm_func_start func_ov30_021875d4 func_ov30_021875d4: ; 0x021875d4 - ldr r2, _021875e8 ; =data_027e0e60 - ldr ip, _021875ec ; =func_ov00_02084324 + ldr r2, _021875e8 ; =gMapManager + ldr ip, _021875ec ; =_ZN10MapManager16MapData_vfunc_a4Ev mov r1, r0 ldr r0, [r2] bx ip .align 2, 0 arm_func_end func_ov30_021875d4 -_021875e8: .word data_027e0e60 -_021875ec: .word func_ov00_02084324 +_021875e8: .word gMapManager +_021875ec: .word _ZN10MapManager16MapData_vfunc_a4Ev .global func_ov30_021875f0 arm_func_start func_ov30_021875f0 @@ -15178,7 +15178,7 @@ func_ov30_02187e18: ; 0x02187e18 mov r7, r3 ldr r6, [sp, #0x60] bl func_ov30_02187dfc - ldr r11, _02187eec ; =data_027e0e60 + ldr r11, _02187eec ; =gMapManager add r5, sp, #0x24 mov r4, #6 _02187e44: @@ -15231,7 +15231,7 @@ func_ov30_02187ee4: ; 0x02187ee4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov30_02187ee4 -_02187eec: .word data_027e0e60 +_02187eec: .word gMapManager .global func_ov30_02187ef0 arm_func_start func_ov30_02187ef0 diff --git a/asm/ov31.inc b/asm/ov31.inc index 8e1593c2..cc14b422 100644 --- a/asm/ov31.inc +++ b/asm/ov31.inc @@ -72,7 +72,7 @@ .extern data_027e0d78 .extern data_027e0dbc .extern data_027e0e28 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f94 .extern data_027e0fc8 @@ -153,7 +153,7 @@ .extern func_ov00_0207b89c .extern func_ov00_0207ba90 .extern func_ov00_0207bc48 -.extern func_ov00_02083918 +.extern _ZN10MapManager18func_ov00_02083918EiPi .extern func_ov00_0208726c .extern func_ov00_02087338 .extern func_ov00_02087400 diff --git a/asm/ov31.s b/asm/ov31.s index d3af2dc4..a230104c 100644 --- a/asm/ov31.s +++ b/asm/ov31.s @@ -269,11 +269,11 @@ _0217c040: mov r2, ip mov r1, #0x44 bl func_ov00_02087338 - ldr r0, _0217c218 ; =data_027e0e60 + ldr r0, _0217c218 ; =gMapManager mov r1, #0x45 ldr r0, [r0] add r2, sp, #0x50 - bl func_ov00_02083918 + bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _0217c0f0 ldr r0, _0217c214 ; =data_027e0f64 @@ -362,7 +362,7 @@ _0217c184: .align 2, 0 arm_func_end func_ov31_0217bfb4 _0217c214: .word data_027e0f64 -_0217c218: .word data_027e0e60 +_0217c218: .word gMapManager _0217c21c: .word 0x0000ffff _0217c220: .word data_027e0fc8 diff --git a/asm/ov32.inc b/asm/ov32.inc index a11b7585..28d66cbe 100644 --- a/asm/ov32.inc +++ b/asm/ov32.inc @@ -1,6 +1,11 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083780Ei +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList @@ -85,7 +90,6 @@ .extern data_027e0d78 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -159,11 +163,6 @@ .extern func_ov00_02081f4c .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020836dc -.extern func_ov00_02083780 -.extern func_ov00_02083ee0 -.extern func_ov00_02084be0 -.extern func_ov00_02084cc8 .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_020888e8 @@ -347,4 +346,5 @@ .extern func_ov14_0213b984 .extern func_ov14_0213d480 .extern gAdventureFlags +.extern gMapManager .extern strncpy diff --git a/asm/ov32.s b/asm/ov32.s index 7d8f21a8..b13b71aa 100644 --- a/asm/ov32.s +++ b/asm/ov32.s @@ -1366,11 +1366,11 @@ func_ov32_0217cdd8: ; 0x0217cdd8 bl func_ov32_0217d354 cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0217ce1c ; =data_027e0e60 + ldr r0, _0217ce1c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x184] @@ -1380,7 +1380,7 @@ func_ov32_0217cdd8: ; 0x0217cdd8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov32_0217cdd8 -_0217ce1c: .word data_027e0e60 +_0217ce1c: .word gMapManager .global func_ov32_0217ce20 arm_func_start func_ov32_0217ce20 @@ -1525,11 +1525,11 @@ _0217cfc4: bl func_ov00_020cca50 cmp r0, #0 beq _0217d030 - ldr r0, _0217d174 ; =data_027e0e60 + ldr r0, _0217d174 ; =gMapManager ldrh r1, [r5, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0217d030 mov r0, r5 @@ -1625,7 +1625,7 @@ _0217d0f8: .align 2, 0 arm_func_end func_ov32_0217cfa4 _0217d170: .word data_027e0f90 -_0217d174: .word data_027e0e60 +_0217d174: .word gMapManager _0217d178: .word 0x0000071c _0217d17c: .word data_027e0764 _0217d180: .word 0x0000038e @@ -1929,7 +1929,7 @@ _0217d500: cmpne r0, #1 bne _0217d570 ldr r1, [r5, #0x48] - ldr r0, _0217d750 ; =data_027e0e60 + ldr r0, _0217d750 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -1938,7 +1938,7 @@ _0217d500: add r1, sp, #0x10 str r2, [sp, #0x18] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] ldr r0, [r5, #0x184] mov r1, #2 @@ -2074,7 +2074,7 @@ _0217d744: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov32_0217d478 -_0217d750: .word data_027e0e60 +_0217d750: .word gMapManager _0217d754: .word func_ov32_0217c850 _0217d758: .word data_027e0e58 _0217d75c: .word 0x00000239 @@ -3065,11 +3065,11 @@ _0217e3e4: bl func_ov00_020cca50 cmp r0, #0 beq _0217e448 - ldr r0, _0217e590 ; =data_027e0e60 + ldr r0, _0217e590 ; =gMapManager ldrh r1, [r5, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0217e448 mov r0, r5 @@ -3166,7 +3166,7 @@ _0217e514: .align 2, 0 arm_func_end func_ov32_0217e3c4 _0217e58c: .word data_027e0f90 -_0217e590: .word data_027e0e60 +_0217e590: .word gMapManager _0217e594: .word 0x0000071c _0217e598: .word data_027e0764 _0217e59c: .word 0x0000038e @@ -5190,7 +5190,7 @@ func_ov32_0217feac: ; 0x0217feac cmp r0, #0 beq _0217ff6c ldr r1, _02180048 ; =data_027e0f94 - ldr r0, _0218004c ; =data_027e0e60 + ldr r0, _0218004c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #8] @@ -5206,11 +5206,11 @@ func_ov32_0217feac: ; 0x0217feac str r2, [sp, #0x18] ldr r2, [r6, #0x50] str r2, [sp, #0x1c] - bl func_ov00_02083780 + bl _ZN10MapManager18func_ov00_02083780Ei mov r7, r0 add r1, sp, #8 mov r0, r5 - bl func_ov00_02083780 + bl _ZN10MapManager18func_ov00_02083780Ei cmp r7, r0 moveq r4, #1 _0217ff6c: @@ -5274,7 +5274,7 @@ _0217ffd0: arm_func_end func_ov32_0217feac _02180044: .word data_027e0f90 _02180048: .word data_027e0f94 -_0218004c: .word data_027e0e60 +_0218004c: .word gMapManager _02180050: .word data_027e0764 _02180054: .word 0x0000ffff _02180058: .word data_02050f54 @@ -6827,10 +6827,10 @@ _0218158c: blx r3 ldmia sp!, {r4, pc} _021815b8: - ldr r0, _02181624 ; =data_027e0e60 + ldr r0, _02181624 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 beq _021815ec @@ -6858,7 +6858,7 @@ _02181614: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov32_02181558 -_02181624: .word data_027e0e60 +_02181624: .word gMapManager .global func_ov32_02181628 arm_func_start func_ov32_02181628 @@ -7977,7 +7977,7 @@ func_ov32_0218252c: ; 0x0218252c add r1, r4, #0x78 mov r2, r0 bl func_01ff9bc4 - ldr r1, _0218269c ; =data_027e0e60 + ldr r1, _0218269c ; =gMapManager mov r0, r4 ldr r5, [r1] bl func_ov00_0208b9cc @@ -8039,7 +8039,7 @@ _02182670: arm_func_end func_ov32_0218252c _02182694: .word 0x0000ffff _02182698: .word data_ov32_02185c24 -_0218269c: .word data_027e0e60 +_0218269c: .word gMapManager _021826a0: .word 0x0000019a _021826a4: .word data_027e0e58 _021826a8: .word data_027e0ffc @@ -8063,14 +8063,14 @@ func_ov32_021826c4: ; 0x021826c4 cmp r1, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} - ldr r0, _021826ec ; =data_027e0e60 + ldr r0, _021826ec ; =gMapManager mov r2, #3 ldr r0, [r0] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov32_021826c4 -_021826ec: .word data_027e0e60 +_021826ec: .word gMapManager .global func_ov32_021826f0 arm_func_start func_ov32_021826f0 @@ -8992,7 +8992,7 @@ func_ov32_0218318c: ; 0x0218318c mov r6, r2, lsr #0xc orr r6, r6, r0, lsl #20 ldr r0, [r4, #0x50] - ldr r5, _02183344 ; =data_027e0e60 + ldr r5, _02183344 ; =gMapManager add r0, r0, r6 str r0, [r4, #0x238] ldr r0, [r5] @@ -9021,7 +9021,7 @@ func_ov32_0218318c: ; 0x0218318c mla r6, r5, r3, r6 mov r2, #1 add r5, r6, #0x800 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, r5 str r0, [r4, #0x234] mov r0, #0 @@ -9037,7 +9037,7 @@ _02183334: .word 0x00000e39 _02183338: .word 0xfffff8e4 _0218333c: .word 0x00001801 _02183340: .word data_02050f54 -_02183344: .word data_027e0e60 +_02183344: .word gMapManager .global func_ov32_02183348 arm_func_start func_ov32_02183348 @@ -9098,7 +9098,7 @@ _02183414: ldr r5, [lr] str r0, [sp, #0xc] ldr r0, [r4, #0x4c] - ldr ip, _0218353c ; =data_027e0e60 + ldr ip, _0218353c ; =gMapManager str r0, [sp, #0x10] ldr r6, [r4, #0x50] ldr r0, [lr, #4] @@ -9122,7 +9122,7 @@ _02183414: mov r2, #1 str r6, [lr, #4] sub r5, r5, #0x400 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x800 add r0, r0, r5 str r0, [r4, #0x234] @@ -9132,7 +9132,7 @@ _02183498: ldr r5, [lr] str r0, [sp] ldr r0, [r4, #0x4c] - ldr ip, _0218353c ; =data_027e0e60 + ldr ip, _0218353c ; =gMapManager str r0, [sp, #4] ldr r6, [r4, #0x50] ldr r0, [lr, #4] @@ -9156,7 +9156,7 @@ _02183498: mov r2, #1 str r6, [lr, #4] sub r5, r5, #0x400 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x800 add r0, r0, r5 str r0, [r4, #0x234] @@ -9172,7 +9172,7 @@ _02183518: arm_func_end func_ov32_02183348 _02183534: .word data_027e0764 _02183538: .word 0x00002001 -_0218353c: .word data_027e0e60 +_0218353c: .word gMapManager .global func_ov32_02183540 arm_func_start func_ov32_02183540 @@ -9384,7 +9384,7 @@ func_ov32_02183818: ; 0x02183818 mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _021838cc ; =data_027e0e60 + ldr r0, _021838cc ; =gMapManager ldr lr, [sp, #0x18] ldr ip, [sp, #0x1c] ldr r3, [sp, #0x20] @@ -9394,7 +9394,7 @@ func_ov32_02183818: ; 0x02183818 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x1c] cmp r1, r0 strlt r0, [sp, #0x1c] @@ -9424,7 +9424,7 @@ func_ov32_02183818: ; 0x02183818 .align 2, 0 arm_func_end func_ov32_02183818 _021838c8: .word data_027e0f94 -_021838cc: .word data_027e0e60 +_021838cc: .word gMapManager _021838d0: .word 0x00000333 .global func_ov32_021838d4 @@ -10633,7 +10633,7 @@ func_ov32_02184890: ; 0x02184890 cmp r3, #0 beq _021848f8 ldr r1, [r3, #0x48] - ldr r0, _02184948 ; =data_027e0e60 + ldr r0, _02184948 ; =gMapManager str r1, [r4, #0x48] ldr r2, [r3, #0x4c] add r1, sp, #0 @@ -10648,7 +10648,7 @@ func_ov32_02184890: ; 0x02184890 str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x9a add r0, r0, #0x900 str r0, [r4, #0x4c] @@ -10678,7 +10678,7 @@ _0218493c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov32_02184890 -_02184948: .word data_027e0e60 +_02184948: .word gMapManager .global func_ov32_0218494c arm_func_start func_ov32_0218494c @@ -10810,7 +10810,7 @@ func_ov32_02184a9c: ; 0x02184a9c mov r1, r1, lsl #0x2 ldrsh r1, [r0, r1] ldr r2, [sp, #0x24] - ldr lr, _02184b9c ; =data_027e0e60 + ldr lr, _02184b9c ; =gMapManager smulbb r1, r1, ip add r1, r1, #0x800 add r3, r2, r1, asr #12 @@ -10836,7 +10836,7 @@ func_ov32_02184a9c: ; 0x02184a9c str r3, [sp, #0x18] str r5, [sp, #0x1c] str r6, [sp, #0x20] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] ldr r3, _02184ba0 ; =0x0000059a mov r0, #0x1f @@ -10859,7 +10859,7 @@ func_ov32_02184a9c: ; 0x02184a9c arm_func_end func_ov32_02184a9c _02184b94: .word data_02050f54 _02184b98: .word 0x00000266 -_02184b9c: .word data_027e0e60 +_02184b9c: .word gMapManager _02184ba0: .word 0x0000059a _02184ba4: .word data_ov00_020e9370 diff --git a/asm/ov33.inc b/asm/ov33.inc index af65f5a6..7170596b 100644 --- a/asm/ov33.inc +++ b/asm/ov33.inc @@ -68,7 +68,7 @@ .extern data_027e0c68 .extern data_027e0e28 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -115,8 +115,8 @@ .extern func_ov00_0207a1c8 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_020836dc -.extern func_ov00_02083ee0 +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager16MapData_vfunc_68Ev .extern func_ov00_0208726c .extern func_ov00_02087338 .extern func_ov00_020876bc diff --git a/asm/ov33.s b/asm/ov33.s index c866e95e..313e96de 100644 --- a/asm/ov33.s +++ b/asm/ov33.s @@ -846,7 +846,7 @@ func_ov33_0217c808: ; 0x0217c808 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _0217c8ec ; =data_027e0e60 + ldr r0, _0217c8ec ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -855,7 +855,7 @@ func_ov33_0217c808: ; 0x0217c808 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r1, r0, #0x800 mov r0, r4 str r1, [r4, #0x4c] @@ -901,7 +901,7 @@ func_ov33_0217c808: ; 0x0217c808 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov33_0217c808 -_0217c8ec: .word data_027e0e60 +_0217c8ec: .word gMapManager _0217c8f0: .word data_02050f54 _0217c8f4: .word 0x00000666 _0217c8f8: .word data_027e0ffc @@ -917,7 +917,7 @@ func_ov33_0217c8fc: ; 0x0217c8fc mov r3, #0 str r0, [sp, #0x18] ldr r1, [r4, #0x4c] - ldr r0, _0217c988 ; =data_027e0e60 + ldr r0, _0217c988 ; =gMapManager str r1, [sp, #0x1c] ldr r2, [r4, #0x50] add r1, sp, #0x18 @@ -947,7 +947,7 @@ _0217c97c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov33_0217c8fc -_0217c988: .word data_027e0e60 +_0217c988: .word gMapManager .global func_ov33_0217c98c arm_func_start func_ov33_0217c98c @@ -1126,11 +1126,11 @@ _0217cb94: ; jump table b _0217cc8c ; case 3 b _0217ccc8 ; case 4 _0217cba8: - ldr r0, _0217cf20 ; =data_027e0e60 + ldr r0, _0217cf20 ; =gMapManager ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0217cf08 mov r0, r5 @@ -1162,7 +1162,7 @@ _0217cc24: mov r0, r5 bl func_ov33_0217c98c ldr r1, [r5, #0x48] - ldr r0, _0217cf20 ; =data_027e0e60 + ldr r0, _0217cf20 ; =gMapManager str r1, [sp, #0x1c] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -1171,7 +1171,7 @@ _0217cc24: add r1, sp, #0x1c str r2, [sp, #0x24] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] add r0, r0, #0x800 cmp r1, r0 @@ -1276,11 +1276,11 @@ _0217cdbc: ; jump table b _0217ceb4 ; case 3 b _0217cef0 ; case 4 _0217cdd0: - ldr r0, _0217cf20 ; =data_027e0e60 + ldr r0, _0217cf20 ; =gMapManager ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0217cf08 mov r0, r5 @@ -1312,7 +1312,7 @@ _0217ce4c: mov r0, r5 bl func_ov33_0217c98c ldr r1, [r5, #0x48] - ldr r0, _0217cf20 ; =data_027e0e60 + ldr r0, _0217cf20 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -1321,7 +1321,7 @@ _0217ce4c: add r1, sp, #0x10 str r2, [sp, #0x18] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] add r0, r0, #0x800 cmp r1, r0 @@ -1368,7 +1368,7 @@ _0217cf08: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov33_0217ca88 -_0217cf20: .word data_027e0e60 +_0217cf20: .word gMapManager _0217cf24: .word data_027e0ffc _0217cf28: .word 0x000001fb diff --git a/asm/ov34.inc b/asm/ov34.inc index 451d7192..bda56769 100644 --- a/asm/ov34.inc +++ b/asm/ov34.inc @@ -71,7 +71,7 @@ .extern data_027e0764 .extern data_027e0d0c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f94 @@ -129,11 +129,11 @@ .extern func_ov00_0207c31c .extern func_ov00_0207c444 .extern func_ov00_02081f4c -.extern func_ov00_02083908 -.extern func_ov00_02083948 -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 -.extern func_ov00_02084088 +.extern _ZN10MapManager18func_ov00_02083908EcPi +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_54Ev .extern func_ov00_02087400 .extern func_ov00_02087d34 .extern func_ov00_02087d84 diff --git a/asm/ov34.s b/asm/ov34.s index 5fbf04f8..0e2e4280 100644 --- a/asm/ov34.s +++ b/asm/ov34.s @@ -1321,7 +1321,7 @@ func_ov34_0217ceb0: ; 0x0217ceb0 func_ov34_0217cf74: ; 0x0217cf74 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c - ldr r0, _0217d008 ; =data_027e0e60 + ldr r0, _0217d008 ; =gMapManager mov r3, #0 mov r1, #0xff strb r1, [sp, #4] @@ -1340,14 +1340,14 @@ _0217cfa4: add r2, sp, #0 mov r0, r4 mov r1, #1 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} mov r0, r4 mov r1, #1 mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217d00c ; =data_027e0f64 add r1, sp, #0 ldr r0, [r0] @@ -1359,7 +1359,7 @@ _0217cfa4: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov34_0217cf74 -_0217d008: .word data_027e0e60 +_0217d008: .word gMapManager _0217d00c: .word data_027e0f64 .global func_ov34_0217d010 @@ -1367,7 +1367,7 @@ _0217d00c: .word data_027e0f64 func_ov34_0217d010: ; 0x0217d010 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c - ldr r0, _0217d0a4 ; =data_027e0e60 + ldr r0, _0217d0a4 ; =gMapManager mov r3, #0 mov r1, #0xff strb r1, [sp, #4] @@ -1386,14 +1386,14 @@ _0217d040: add r2, sp, #0 mov r0, r4 mov r1, #4 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} mov r0, r4 mov r1, #4 mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217d0a8 ; =data_027e0f64 add r1, sp, #0 ldr r0, [r0] @@ -1405,7 +1405,7 @@ _0217d040: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov34_0217d010 -_0217d0a4: .word data_027e0e60 +_0217d0a4: .word gMapManager _0217d0a8: .word data_027e0f64 .global func_ov34_0217d0ac @@ -1413,7 +1413,7 @@ _0217d0a8: .word data_027e0f64 func_ov34_0217d0ac: ; 0x0217d0ac stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c - ldr r0, _0217d140 ; =data_027e0e60 + ldr r0, _0217d140 ; =gMapManager mov r3, #0 mov r1, #0xff strb r1, [sp, #4] @@ -1432,14 +1432,14 @@ _0217d0dc: add r2, sp, #0 mov r0, r4 mov r1, #3 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} mov r0, r4 mov r1, #3 mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217d144 ; =data_027e0f64 add r1, sp, #0 ldr r0, [r0] @@ -1451,7 +1451,7 @@ _0217d0dc: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov34_0217d0ac -_0217d140: .word data_027e0e60 +_0217d140: .word gMapManager _0217d144: .word data_027e0f64 .global func_ov34_0217d148 @@ -2223,11 +2223,11 @@ _0217db48: ldr r0, [r0] ldr r1, _0217decc ; =0x000b00df bl func_ov00_020cfc70 - ldr r0, _0217ded0 ; =data_027e0e60 + ldr r0, _0217ded0 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217de98 ; =data_ov34_021861a0 mov r1, #0 ldr r2, [r0, #0x8c] @@ -2386,7 +2386,7 @@ _0217dec0: .word data_ov34_02186308 _0217dec4: .word data_ov34_02186320 _0217dec8: .word data_027e103c _0217decc: .word 0x000b00df -_0217ded0: .word data_027e0e60 +_0217ded0: .word gMapManager .global func_ov34_0217ded4 arm_func_start func_ov34_0217ded4 @@ -6619,7 +6619,7 @@ _02181b50: add r2, r6, #0x1000 ldrh r4, [r0, #0x86] ldr r3, [r2, #0xd04] - ldr r1, _02181d00 ; =data_027e0e60 + ldr r1, _02181d00 ; =gMapManager str r3, [sp, #0xc] ldr r3, [r2, #0xd08] ldr r0, [r1] @@ -6628,7 +6628,7 @@ _02181b50: add r1, sp, #0xc mov r2, #0 str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r1, r4, asr #0x4 mov r5, r1, lsl #0x1 add r0, r0, #0xcd @@ -6722,7 +6722,7 @@ _02181c8c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov34_02181a00 -_02181d00: .word data_027e0e60 +_02181d00: .word gMapManager _02181d04: .word data_02050f54 _02181d08: .word data_027e0ffc _02181d0c: .word 0x000002fa @@ -10712,16 +10712,16 @@ _021853d8: .word func_ov00_020b7d74 func_ov34_021853dc: ; 0x021853dc stmdb sp!, {r4, lr} sub sp, sp, #0x30 - ldr r1, _02185580 ; =data_027e0e60 + ldr r1, _02185580 ; =gMapManager mov r4, r0 ldr r1, [r1] add r0, sp, #8 add r2, r4, #0x48 - bl func_ov00_02083a1c - ldr r0, _02185580 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldr r0, _02185580 ; =gMapManager add r1, sp, #8 ldr r0, [r0] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #5 cmpne r0, #6 cmpne r0, #0x14 @@ -10821,7 +10821,7 @@ _02185568: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov34_021853dc -_02185580: .word data_027e0e60 +_02185580: .word gMapManager _02185584: .word data_027e0fec _02185588: .word data_027e0f6c _0218558c: .word data_027e0e58 diff --git a/asm/ov35.inc b/asm/ov35.inc index 65396aad..ae55a040 100644 --- a/asm/ov35.inc +++ b/asm/ov35.inc @@ -1,6 +1,8 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_020836bcEjPi .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager7AddItemEi @@ -88,7 +90,7 @@ .extern data_027e0c68 .extern data_027e0d0c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0f94 @@ -164,8 +166,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_020836bc -.extern func_ov00_02083ee0 .extern func_ov00_02087584 .extern func_ov00_020875f8 .extern func_ov00_02087d34 diff --git a/asm/ov35.s b/asm/ov35.s index 4253f687..be34b773 100644 --- a/asm/ov35.s +++ b/asm/ov35.s @@ -2798,7 +2798,7 @@ func_ov35_0217e320: ; 0x0217e320 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x24] - ldr r0, _0217e3d4 ; =data_027e0e60 + ldr r0, _0217e3d4 ; =gMapManager ldr r1, [sp, #0x28] str r2, [sp, #0x18] ldr r2, [sp, #0x2c] @@ -2807,7 +2807,7 @@ func_ov35_0217e320: ; 0x0217e320 ldr r0, [r0] add r1, sp, #0x18 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] mov r3, #0x800 str r3, [sp] @@ -2826,7 +2826,7 @@ func_ov35_0217e320: ; 0x0217e320 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov35_0217e320 -_0217e3d4: .word data_027e0e60 +_0217e3d4: .word gMapManager _0217e3d8: .word data_ov00_020e9370 .global func_ov35_0217e3dc @@ -8082,11 +8082,11 @@ _02182d70: str r1, [sp, #0xac] str r0, [sp, #0xb4] _02182d84: - ldr r0, _02182f94 ; =data_027e0e60 + ldr r0, _02182f94 ; =gMapManager add r2, sp, #0x94 ldr r0, [r0] mov r1, #1 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi ldr r5, [sp, #0xac] ldr r3, [sp, #0xb0] ldr r2, [sp, #0xb4] @@ -8177,7 +8177,7 @@ _02182e40: str r8, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] - ldr r0, _02182f94 ; =data_027e0e60 + ldr r0, _02182f94 ; =gMapManager add r1, sp, #0xb8 ldr r0, [r0] add r2, sp, #0x28 @@ -8217,7 +8217,7 @@ _02182e40: _02182f88: .word data_027e0f64 _02182f8c: .word data_027e0f94 _02182f90: .word data_027e0764 -_02182f94: .word data_027e0e60 +_02182f94: .word gMapManager _02182f98: .word 0x0000ffff _02182f9c: .word 0x0000099a _02182fa0: .word data_027e0fe8 @@ -9242,7 +9242,7 @@ _02183d8c: adc r0, r0, #0 mov r1, r1, lsr #0xc ldr r2, [sp, #0x24] - ldr lr, _02183e90 ; =data_027e0e60 + ldr lr, _02183e90 ; =gMapManager adds r8, ip, #0x800 orr r1, r1, r0, lsl #20 add ip, r2, r1 @@ -9259,7 +9259,7 @@ _02183d8c: str ip, [sp, #0x18] str r3, [sp, #0x1c] str r8, [sp, #0x20] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] str r5, [sp] ldrsh r1, [r7, #0x78] @@ -9293,7 +9293,7 @@ _02183e80: .word 0x0000019a _02183e84: .word 0x00000ccd _02183e88: .word 0x00000555 _02183e8c: .word data_02050f54 -_02183e90: .word data_027e0e60 +_02183e90: .word gMapManager _02183e94: .word data_ov00_020e9370 .global func_ov35_02183e98 diff --git a/asm/ov36.inc b/asm/ov36.inc index daedd1b4..69cbd0f8 100644 --- a/asm/ov36.inc +++ b/asm/ov36.inc @@ -76,7 +76,7 @@ .extern data_027e0d0c .extern data_027e0d3c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 @@ -157,17 +157,17 @@ .extern func_ov00_0207c5d4 .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020833f4 -.extern func_ov00_02083400 -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_02083918 -.extern func_ov00_02083948 -.extern func_ov00_02083958 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083918EiPi +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02083958Ei +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii .extern func_ov00_0208726c .extern func_ov00_02087d34 .extern func_ov00_02088000 diff --git a/asm/ov36.s b/asm/ov36.s index a62b2ce8..57175a4b 100644 --- a/asm/ov36.s +++ b/asm/ov36.s @@ -1824,18 +1824,18 @@ _0217d56c: ldr r1, [r1, #0x28] add r0, r0, #0x1800 bl func_ov17_02168660 - ldr r0, _0217d6b0 ; =data_027e0e60 + ldr r0, _0217d6b0 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, r1 mov r3, #0 - bl func_ov00_02084b38 - ldr r0, _0217d6b0 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02084b38Eiii + ldr r0, _0217d6b0 ; =gMapManager mov r1, #4 ldr r0, [r0] mov r2, #3 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _0217d680 ; =gAdventureFlags mov r1, #0xeb ldr r0, [r0] @@ -1871,7 +1871,7 @@ _0217d6a0: .word data_ov36_0218683e _0217d6a4: .word 0x00000333 _0217d6a8: .word 0x00001610 _0217d6ac: .word data_027e0fec -_0217d6b0: .word data_027e0e60 +_0217d6b0: .word gMapManager _0217d6b4: .word 0x0000011e _0217d6b8: .word 0x0000011f @@ -2371,11 +2371,11 @@ func_ov36_0217dd98: ; 0x0217dd98 moveq r0, #0 streq r0, [r4, #0x138] ldmeqia sp!, {r4, pc} - ldr r0, _0217ddfc ; =data_027e0e60 + ldr r0, _0217ddfc ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0217ddf0 ldr r0, [r4, #0x138] @@ -2391,7 +2391,7 @@ _0217ddf0: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217dd98 -_0217ddfc: .word data_027e0e60 +_0217ddfc: .word gMapManager .global func_ov36_0217de00 arm_func_start func_ov36_0217de00 @@ -3203,7 +3203,7 @@ _0217e970: str r0, [r6, #0x88] _0217e978: ldr r1, [r6, #0x48] - ldr r0, _0217eb4c ; =data_027e0e60 + ldr r0, _0217eb4c ; =gMapManager str r1, [sp, #0xc] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -3213,7 +3213,7 @@ _0217e978: str r1, [sp, #0x14] ldrh r1, [r6, #0x22] ldr r4, _0217eb34 ; =0x00000337 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji ldrh r2, [r6, #0x78] ldr r5, _0217eb50 ; =data_02050f54 mov r1, #0x3800 @@ -3323,7 +3323,7 @@ _0217eb3c: .word data_027e0fc8 _0217eb40: .word data_027e0fe4 _0217eb44: .word 0x504c444d _0217eb48: .word 0x0000219a -_0217eb4c: .word data_027e0e60 +_0217eb4c: .word gMapManager _0217eb50: .word data_02050f54 _0217eb54: .word data_027e0e58 @@ -3510,7 +3510,7 @@ func_ov36_0217ed50: ; 0x0217ed50 b _0217eef8 _0217ede8: ldr r1, [r4, #0x48] - ldr r0, _0217ef0c ; =data_027e0e60 + ldr r0, _0217ef0c ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -3519,31 +3519,31 @@ _0217ede8: add r2, sp, #0 str r1, [sp, #8] ldrh r1, [r4, #0x22] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 cmp r0, #0 beq _0217eee8 - ldr r0, _0217ef0c ; =data_027e0e60 + ldr r0, _0217ef0c ; =gMapManager ldr r1, [r4, #0x54] ldr r0, [r0] - bl func_ov00_020839d4 - ldr r1, _0217ef0c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020839d4Ev + ldr r1, _0217ef0c ; =gMapManager mov r6, r0 ldr r0, [r1] ldr r1, [r4, #0x5c] - bl func_ov00_020839f8 - ldr r1, _0217ef0c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020839f8Ev + ldr r1, _0217ef0c ; =gMapManager mov r7, r0 ldr r0, [r1] ldr r1, [r4, #0x48] - bl func_ov00_020839d4 - ldr r1, _0217ef0c ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_020839d4Ev + ldr r1, _0217ef0c ; =gMapManager mov r5, r0 ldr r0, [r1] ldr r1, [r4, #0x50] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev cmp r6, r5 mov r2, #0 beq _0217ee8c @@ -3589,7 +3589,7 @@ _0217eef8: arm_func_end func_ov36_0217ed50 _0217ef04: .word data_ov36_02186c9c _0217ef08: .word data_027e0d0c -_0217ef0c: .word data_027e0e60 +_0217ef0c: .word gMapManager .global func_ov36_0217ef10 arm_func_start func_ov36_0217ef10 @@ -5422,7 +5422,7 @@ _02180774: str r0, [sp, #0x14] ldr r0, [r7, #8] stmia sp, {r0, r9, r11} - ldr r0, _02180994 ; =data_027e0e60 + ldr r0, _02180994 ; =gMapManager ldr r0, [r0] bl func_01ffe1cc cmp r0, #0 @@ -5518,7 +5518,7 @@ _02180984: .word data_ov36_02186cd4 _02180988: .word data_ov36_02186838 _0218098c: .word data_02050f54 _02180990: .word 0x000004cd -_02180994: .word data_027e0e60 +_02180994: .word gMapManager _02180998: .word data_027e0f64 _0218099c: .word gAdventureFlags _021809a0: .word data_027e0c68 @@ -6914,11 +6914,11 @@ _02181dc8: bl func_0202d7ac cmp r0, #0 bne _02181e34 - ldr r0, _02181f30 ; =data_027e0e60 + ldr r0, _02181f30 ; =gMapManager mov r1, #2 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r3, r4, pc} @@ -6969,26 +6969,26 @@ _02181e34: str r0, [r4, #0x66c] ldr r0, _02181f34 ; =0x0000011e bl func_ov19_0216e7b0 - ldr r0, _02181f30 ; =data_027e0e60 + ldr r0, _02181f30 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, r1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r3, r4, pc} - ldr r0, _02181f30 ; =data_027e0e60 + ldr r0, _02181f30 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, r1 mov r3, #1 - bl func_ov00_02084b38 - ldr r0, _02181f30 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02084b38Eiii + ldr r0, _02181f30 ; =gMapManager mov r1, #4 ldr r0, [r0] mov r2, #3 mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -7003,7 +7003,7 @@ _02181f20: .word data_ov36_02186ce4 _02181f24: .word data_027e0e58 _02181f28: .word 0x000002c7 _02181f2c: .word data_027e071c -_02181f30: .word data_027e0e60 +_02181f30: .word gMapManager _02181f34: .word 0x0000011e _02181f38: .word data_027e0f90 @@ -7016,17 +7016,17 @@ func_ov36_02181f3c: ; 0x02181f3c mov r1, #3 orr r2, r0, #0x100000 str r2, [r4, #0x878] - ldr r0, _02181fc8 ; =data_027e0e60 + ldr r0, _02181fc8 ; =gMapManager mov r2, r1 ldr r0, [r0] mov r3, #0 - bl func_ov00_02084b38 - ldr r0, _02181fc8 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02084b38Eiii + ldr r0, _02181fc8 ; =gMapManager mov r1, #4 ldr r0, [r0] mov r2, #3 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r2, #0 ldr r1, _02181fcc ; =data_027e0f64 strb r2, [r4, #0x8aa] @@ -7047,7 +7047,7 @@ func_ov36_02181f3c: ; 0x02181f3c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_02181f3c -_02181fc8: .word data_027e0e60 +_02181fc8: .word gMapManager _02181fcc: .word data_027e0f64 .global func_ov36_02181fd0 @@ -7658,18 +7658,18 @@ _021828dc: strh r1, [r0, #0x18] cmp r3, #2 blo _021828dc - ldr r0, _0218298c ; =data_027e0e60 + ldr r0, _0218298c ; =gMapManager add r2, sp, #0x2c ldr r0, [r0] mov r1, #0x5b - bl func_ov00_02083918 + bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _02182934 - ldr r0, _0218298c ; =data_027e0e60 + ldr r0, _0218298c ; =gMapManager ldrb r1, [sp, #0x30] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _02182954 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] @@ -7701,18 +7701,18 @@ _0218297c: .word 0x0000199a _02182980: .word 0x00001003 _02182984: .word 0x000002c2 _02182988: .word 0x000002cd -_0218298c: .word data_027e0e60 +_0218298c: .word gMapManager .global func_ov36_02182990 arm_func_start func_ov36_02182990 func_ov36_02182990: ; 0x02182990 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x124 - ldr r1, _02182c64 ; =data_027e0e60 + ldr r1, _02182c64 ; =gMapManager mov r4, r0 ldr r0, [r1] mov r1, #0 - bl func_ov00_02083958 + bl _ZN10MapManager18func_ov00_02083958Ei ldr r0, _02182c68 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] @@ -7892,7 +7892,7 @@ _02182a7c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov36_02182990 -_02182c64: .word data_027e0e60 +_02182c64: .word gMapManager _02182c68: .word data_027e0f64 _02182c6c: .word data_027e0ffc _02182c70: .word data_027e0fc8 @@ -10044,16 +10044,16 @@ _02184a9c: add r1, sp, #0 bl func_ov00_02087d34 mov r1, #0 - ldr r0, _02184de0 ; =data_027e0e60 + ldr r0, _02184de0 ; =gMapManager str r1, [sp, #0x1c] ldr r0, [r0] str r1, [sp, #0x20] str r1, [sp, #0x24] - bl func_ov00_02083400 - ldr r1, _02184de0 ; =data_027e0e60 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + ldr r1, _02184de0 ; =gMapManager mov r4, r0 ldr r0, [r1] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev mov r2, #0 mov r1, r2 cmp r6, #0 @@ -10245,7 +10245,7 @@ _02184dc8: arm_func_end func_ov36_02184a64 _02184dd8: .word gAdventureFlags _02184ddc: .word data_027e0f64 -_02184de0: .word data_027e0e60 +_02184de0: .word gMapManager _02184de4: .word 0x0000038e _02184de8: .word 0x00001e84 @@ -10366,7 +10366,7 @@ func_ov36_02184f44: ; 0x02184f44 mov r4, r0 _02184f6c: ldr r1, [r6, #0x48] - ldr r0, _0218504c ; =data_027e0e60 + ldr r0, _0218504c ; =gMapManager str r1, [sp] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -10375,7 +10375,7 @@ _02184f6c: add r2, sp, #0 str r1, [sp, #8] ldrh r1, [r6, #0x22] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji strb r0, [r5] cmp r4, #0 beq _02185040 @@ -10429,7 +10429,7 @@ _02185040: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_02184f44 -_0218504c: .word data_027e0e60 +_0218504c: .word gMapManager .global func_ov36_02185050 arm_func_start func_ov36_02185050 diff --git a/asm/ov37.inc b/asm/ov37.inc index b704e649..ea051adb 100644 --- a/asm/ov37.inc +++ b/asm/ov37.inc @@ -1,6 +1,9 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02083908EcPi .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN11ItemManager12GetItemModelEj @@ -76,7 +79,6 @@ .extern data_027e0c54 .extern data_027e0d0c .extern data_027e0e58 -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 @@ -145,9 +147,6 @@ .extern func_ov00_02081f4c .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_02083908 -.extern func_ov00_02083948 -.extern func_ov00_02083ee0 .extern func_ov00_02087400 .extern func_ov00_02087d34 .extern func_ov00_02088000 @@ -276,4 +275,5 @@ .extern func_ov17_021687f0 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern strncpy diff --git a/asm/ov37.s b/asm/ov37.s index 13e46b59..ce4eff94 100644 --- a/asm/ov37.s +++ b/asm/ov37.s @@ -3058,18 +3058,18 @@ _0217e78c: strh r1, [r0, #0x18] cmp r3, #2 blo _0217e78c - ldr r0, _0217f0f4 ; =data_027e0e60 + ldr r0, _0217f0f4 ; =gMapManager add r2, sp, #0x7c ldr r0, [r0] mov r1, #3 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 beq _0217e7ec - ldr r0, _0217f0f4 ; =data_027e0e60 + ldr r0, _0217f0f4 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217e334 ; =data_027e0f64 mov r2, #0 ldr r0, [r0] @@ -3171,18 +3171,18 @@ _0217e93c: strh r1, [r0, #0x18] cmp r3, #2 blo _0217e93c - ldr r0, _0217f0f4 ; =data_027e0e60 + ldr r0, _0217f0f4 ; =gMapManager add r2, sp, #0x54 ldr r0, [r0] mov r1, #1 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 beq _0217e99c - ldr r0, _0217f0f4 ; =data_027e0e60 + ldr r0, _0217f0f4 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217e334 ; =data_027e0f64 mov r2, #0 ldr r0, [r0] @@ -3675,7 +3675,7 @@ _0217f0e8: add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0217f0f4: .word data_027e0e60 +_0217f0f4: .word gMapManager _0217f0f8: .word data_027e0e58 _0217f0fc: .word 0x00001020 _0217f100: .word 0x00001021 @@ -3929,7 +3929,7 @@ func_ov37_0217f468: ; 0x0217f468 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217f4d0 ; =data_027e0e60 + ldr r0, _0217f4d0 ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -3939,7 +3939,7 @@ func_ov37_0217f468: ; 0x0217f468 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] add r1, sp, #0xc mov r0, r4 @@ -3948,7 +3948,7 @@ func_ov37_0217f468: ; 0x0217f468 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov37_0217f468 -_0217f4d0: .word data_027e0e60 +_0217f4d0: .word gMapManager .global func_ov37_0217f4d4 arm_func_start func_ov37_0217f4d4 @@ -3962,7 +3962,7 @@ func_ov37_0217f4d4: ; 0x0217f4d4 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217f53c ; =data_027e0e60 + ldr r0, _0217f53c ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -3972,7 +3972,7 @@ func_ov37_0217f4d4: ; 0x0217f4d4 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] add r1, sp, #0xc mov r0, r4 @@ -3981,7 +3981,7 @@ func_ov37_0217f4d4: ; 0x0217f4d4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov37_0217f4d4 -_0217f53c: .word data_027e0e60 +_0217f53c: .word gMapManager .global func_ov37_0217f540 arm_func_start func_ov37_0217f540 @@ -3993,7 +3993,7 @@ func_ov37_0217f540: ; 0x0217f540 mov r5, r0 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217f650 ; =data_027e0e60 + ldr r0, _0217f650 ; =gMapManager ldr lr, [sp, #0x20] ldr ip, [sp, #0x24] ldr r3, [sp, #0x28] @@ -4003,7 +4003,7 @@ func_ov37_0217f540: ; 0x0217f540 str lr, [sp, #0x14] str ip, [sp, #0x18] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x24] ldr r1, [sp, #0x20] add r0, r5, #0x2000 @@ -4056,7 +4056,7 @@ func_ov37_0217f540: ; 0x0217f540 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov37_0217f540 -_0217f650: .word data_027e0e60 +_0217f650: .word gMapManager _0217f654: .word data_027e0e58 _0217f658: .word 0x00001013 _0217f65c: .word 0x00001014 @@ -6741,7 +6741,7 @@ _02181b64: add r3, sp, #0x224 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r6, [sp, #0x224] ldr r4, [sp, #0x228] ldr r3, [sp, #0x22c] @@ -6751,7 +6751,7 @@ _02181b64: str r6, [sp, #0x44] str r4, [sp, #0x48] str r3, [sp, #0x4c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x228] mov r1, #0 str r1, [sp] @@ -6795,7 +6795,7 @@ _02181c30: add r3, sp, #0x218 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r6, [sp, #0x218] ldr r4, [sp, #0x21c] ldr r3, [sp, #0x220] @@ -6805,7 +6805,7 @@ _02181c30: str r6, [sp, #0x38] str r4, [sp, #0x3c] str r3, [sp, #0x40] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x21c] mov r1, #0 str r1, [sp] @@ -6928,7 +6928,7 @@ _02181e2c: add r3, sp, #0x1f4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r2, [sp, #0x1f4] ldr r6, [sp, #0x1f8] ldr r3, [sp, #0x1fc] @@ -6938,7 +6938,7 @@ _02181e2c: mov r2, #1 str r6, [sp, #0x30] str r3, [sp, #0x34] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x1f8] mov r0, #0 str r0, [sp] @@ -6984,7 +6984,7 @@ _02181f24: .word 0x0000100f _02181f28: .word 0x00001010 _02181f2c: .word data_ov37_0218801c _02181f30: .word 0x00001011 -_02181f34: .word data_027e0e60 +_02181f34: .word gMapManager _02181f38: .word 0x00000153 _02181f3c: .word data_ov37_02188028 _02181f40: .word 0x000002ae @@ -7157,7 +7157,7 @@ _0218219c: add r3, sp, #0x1b8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r2, [sp, #0x1b8] ldr r6, [sp, #0x1bc] ldr r3, [sp, #0x1c0] @@ -7167,7 +7167,7 @@ _0218219c: mov r2, #1 str r6, [sp, #0x24] str r3, [sp, #0x28] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x1bc] mov r0, #0 str r0, [sp] @@ -7276,7 +7276,7 @@ _02182368: add r3, sp, #0x194 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r6, [sp, #0x194] ldr r4, [sp, #0x198] ldr r3, [sp, #0x19c] @@ -7286,7 +7286,7 @@ _02182368: str r6, [sp, #0x14] str r4, [sp, #0x18] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x198] mov r1, #0 str r1, [sp] @@ -7331,7 +7331,7 @@ _02182438: add r3, sp, #0x188 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r6, [sp, #0x188] ldr r4, [sp, #0x18c] ldr r3, [sp, #0x190] @@ -7341,7 +7341,7 @@ _02182438: str r6, [sp, #8] str r4, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18c] mov r1, #0 str r1, [sp] @@ -12114,7 +12114,7 @@ func_ov37_02186458: ; 0x02186458 add r1, r4, #0x48 bl func_ov00_020c5330 ldr r1, [r4, #0x48] - ldr r0, _02186670 ; =data_027e0e60 + ldr r0, _02186670 ; =gMapManager str r1, [sp, #8] ldr r2, [r4, #0x4c] ldr r0, [r0] @@ -12123,7 +12123,7 @@ func_ov37_02186458: ; 0x02186458 add r1, sp, #8 mov r2, #1 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, [r4, #0x48] add r0, r4, #0x21c @@ -12153,7 +12153,7 @@ _02186660: .word data_027e0f6c _02186664: .word data_027e0fe8 _02186668: .word 0x57534243 _0218666c: .word data_027e0fe4 -_02186670: .word data_027e0e60 +_02186670: .word gMapManager .global func_ov37_02186674 arm_func_start func_ov37_02186674 @@ -12286,7 +12286,7 @@ func_ov37_02186720: ; 0x02186720 str r1, [sp, #4] str r0, [sp, #8] str r5, [sp, #0xc] - ldr r0, _02186858 ; =data_027e0e60 + ldr r0, _02186858 ; =gMapManager str r5, [sp, #0x10] ldr r0, [r0] add r1, sp, #0x44 @@ -12302,7 +12302,7 @@ func_ov37_02186720: ; 0x02186720 arm_func_end func_ov37_02186720 _02186850: .word data_027e0fe4 _02186854: .word 0x0000ffff -_02186858: .word data_027e0e60 +_02186858: .word gMapManager .global func_ov37_0218685c arm_func_start func_ov37_0218685c @@ -12593,7 +12593,7 @@ func_ov37_02186b68: ; 0x02186b68 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02186cac ; =data_027e0e60 + ldr r0, _02186cac ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -12603,7 +12603,7 @@ func_ov37_02186b68: ; 0x02186b68 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd add r0, r0, #0x400 str r0, [sp, #0x18] @@ -12632,7 +12632,7 @@ func_ov37_02186b68: ; 0x02186b68 .align 2, 0 arm_func_end func_ov37_02186b68 _02186ca8: .word 0x66666667 -_02186cac: .word data_027e0e60 +_02186cac: .word gMapManager _02186cb0: .word data_027e0e58 _02186cb4: .word 0x000001a9 _02186cb8: .word data_027e0ffc @@ -13254,7 +13254,7 @@ _021874d8: add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02187770 ; =data_027e0e60 + ldr r0, _02187770 ; =gMapManager ldr ip, [sp, #0x20] ldr r4, [sp, #0x24] ldr r3, [sp, #0x28] @@ -13264,7 +13264,7 @@ _021874d8: str ip, [sp, #0x14] str r4, [sp, #0x18] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x24] mov r1, #0 str r1, [sp] @@ -13422,7 +13422,7 @@ _02187760: .word 0x000002b9 _02187764: .word 0x00000191 _02187768: .word data_ov00_020eec68 _0218776c: .word 0x00000333 -_02187770: .word data_027e0e60 +_02187770: .word gMapManager _02187774: .word data_027e0e58 _02187778: .word 0x00001011 _0218777c: .word 0x000002ba diff --git a/asm/ov38.inc b/asm/ov38.inc index e834cb13..8ef6b033 100644 --- a/asm/ov38.inc +++ b/asm/ov38.inc @@ -1,6 +1,8 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags18func_Ov00_02097810Ei @@ -60,6 +62,8 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object @@ -75,7 +79,6 @@ .extern data_027e0d0c .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f94 @@ -152,8 +155,6 @@ .extern func_0202e58c .extern func_02036770 .extern func_02036ce4 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_0204f614 .extern func_0204f754 .extern func_ov00_0207a1c8 @@ -162,8 +163,6 @@ .extern func_ov00_0207c358 .extern func_ov00_0207c444 .extern func_ov00_0207c7e8 -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 .extern func_ov00_02087d34 .extern func_ov00_02087d84 .extern func_ov00_02088000 @@ -273,4 +272,5 @@ .extern func_ov57_02199e24 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern strcpy diff --git a/asm/ov38.s b/asm/ov38.s index 05366951..3c3f2290 100644 --- a/asm/ov38.s +++ b/asm/ov38.s @@ -10962,11 +10962,11 @@ _02185790: ldr r0, [r2, #0x78] cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _02185828 ; =data_027e0e60 + ldr r0, _02185828 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 @@ -11002,7 +11002,7 @@ _02185818: .align 2, 0 arm_func_end func_ov38_02185720 _02185824: .word 0x00000708 -_02185828: .word data_027e0e60 +_02185828: .word gMapManager _0218582c: .word data_ov29_0217a4ac .global func_ov38_02185830 @@ -11045,11 +11045,11 @@ _021858ac: ldr r0, [r4, #0x2d8] cmp r0, #0x10 ldmneia sp!, {r4, pc} - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0xff8] @@ -11060,19 +11060,19 @@ _021858ac: bl func_ov29_021772f8 ldmia sp!, {r4, pc} _021858f0: - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r1, #6 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r1, #6 ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02185a68 ; =data_ov29_0217a4ac mov r1, #0 strb r1, [r0, #0x56] @@ -11100,11 +11100,11 @@ _02185968: bl func_ov38_02185720 ldmia sp!, {r4, pc} _02185984: - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r1, #5 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0xff8] @@ -11113,12 +11113,12 @@ _02185984: ldmneia sp!, {r4, pc} mov r1, #0 bl func_ov29_021772f8 - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r1, #5 ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii add r0, r4, #0x1000 ldrsh r1, [r0, #0x9c] sub r1, r1, #1 @@ -11143,12 +11143,12 @@ _021859e4: mov r1, #5 mov r2, #1 bl func_ov38_0217bf0c - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 mov r1, #5 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii add r0, r4, #0x1000 ldrsh r1, [r0, #0x9c] sub r1, r1, #1 @@ -11160,7 +11160,7 @@ _02185a58: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov38_02185830 -_02185a64: .word data_027e0e60 +_02185a64: .word gMapManager _02185a68: .word data_ov29_0217a4ac _02185a6c: .word gItemManager @@ -11493,12 +11493,12 @@ _02185ef8: str r0, [r1, #0x210] cmp r0, #0x82 ble _02185f3c - ldr r0, _02186a14 ; =data_027e0e60 + ldr r0, _02186a14 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, r1 mov r3, r1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02186a10 ; =data_ov38_021891e0 mov r1, #0 ldr r2, [r0, #0x20c] @@ -11738,11 +11738,11 @@ _02186268: add sp, sp, #0x154 ldmia sp!, {r4, r5, pc} _021862c8: - ldr r0, _02186a14 ; =data_027e0e60 + ldr r0, _02186a14 ; =gMapManager mov r1, #2 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _02186304 ldr r0, _02186a20 ; =data_027e0fc8 @@ -12220,7 +12220,7 @@ _021869dc: .align 2, 0 arm_func_end func_ov38_02185ebc _02186a10: .word data_ov38_021891e0 -_02186a14: .word data_027e0e60 +_02186a14: .word gMapManager _02186a18: .word 0x00000ccd _02186a1c: .word data_027e0f94 _02186a20: .word data_027e0fc8 diff --git a/asm/ov39.inc b/asm/ov39.inc index 73a4568b..67243319 100644 --- a/asm/ov39.inc +++ b/asm/ov39.inc @@ -1,6 +1,9 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN10PlayerBase18EquipItem_vfunc_2cEv .extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi .extern _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i @@ -77,7 +80,7 @@ .extern data_027e0c54 .extern data_027e0c68 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0f94 @@ -149,9 +152,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_0207c5d4 -.extern func_ov00_02083ee0 -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 .extern func_ov00_02087584 .extern func_ov00_020875f8 .extern func_ov00_02087d34 diff --git a/asm/ov39.s b/asm/ov39.s index 10f07dd1..f76adc68 100644 --- a/asm/ov39.s +++ b/asm/ov39.s @@ -1767,7 +1767,7 @@ func_ov39_0217d534: ; 0x0217d534 sub sp, sp, #0x14 mov r4, r0 ldr r1, [r4, #0x4c] - ldr r0, _0217d5c4 ; =data_027e0e60 + ldr r0, _0217d5c4 ; =gMapManager add r1, r1, #0x3000 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] @@ -1779,7 +1779,7 @@ func_ov39_0217d534: ; 0x0217d534 ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _0217d5c8 ; =data_027e0f94 mov r3, r0 str r0, [r4, #0x4c] @@ -1801,7 +1801,7 @@ func_ov39_0217d534: ; 0x0217d534 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov39_0217d534 -_0217d5c4: .word data_027e0e60 +_0217d5c4: .word gMapManager _0217d5c8: .word data_027e0f94 _0217d5cc: .word data_027e0fe4 _0217d5d0: .word 0x4e415649 @@ -3453,17 +3453,17 @@ func_ov39_0217ec34: ; 0x0217ec34 ldr r0, _0217ec88 ; =data_027e0c68 add r1, r5, #0xc60 bl func_02036ce4 - ldr r0, _0217ec8c ; =data_027e0e60 + ldr r0, _0217ec8c ; =gMapManager mov r1, r4 ldr r0, [r0] mov r2, #1 mov r3, r2 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov39_0217ec34 _0217ec88: .word data_027e0c68 -_0217ec8c: .word data_027e0e60 +_0217ec8c: .word gMapManager .global func_ov39_0217ec90 arm_func_start func_ov39_0217ec90 @@ -3989,23 +3989,23 @@ _0217f3b8: orr r0, r0, #4 str r0, [r4, #0x158] _0217f3c4: - ldr r0, _0217f47c ; =data_027e0e60 + ldr r0, _0217f47c ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _0217f40c ldr r0, _0217f480 ; =data_ov29_0217bd28 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0217f47c ; =data_027e0e60 + ldr r0, _0217f47c ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldmia sp!, {r4, pc} _0217f40c: ldr r0, _0217f480 ; =data_ov29_0217bd28 @@ -4038,7 +4038,7 @@ _0217f40c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov39_0217f32c -_0217f47c: .word data_027e0e60 +_0217f47c: .word gMapManager _0217f480: .word data_ov29_0217bd28 _0217f484: .word gItemManager @@ -7582,18 +7582,18 @@ func_ov39_021825e8: ; 0x021825e8 add r0, r4, #0x3ec add r0, r0, #0x400 bl func_ov39_0217ca2c - ldr r0, _02182670 ; =data_027e0e60 + ldr r0, _02182670 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, r1 mov r3, #0 - bl func_ov00_02084b38 - ldr r0, _02182670 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02084b38Eiii + ldr r0, _02182670 ; =gMapManager mov r1, #2 ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r0, r4 mov r1, #8 mov r2, #7 @@ -7607,7 +7607,7 @@ func_ov39_021825e8: ; 0x021825e8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov39_021825e8 -_02182670: .word data_027e0e60 +_02182670: .word gMapManager .global func_ov39_02182674 arm_func_start func_ov39_02182674 diff --git a/asm/ov40.inc b/asm/ov40.inc index ad82a2af..6bf49085 100644 --- a/asm/ov40.inc +++ b/asm/ov40.inc @@ -89,7 +89,7 @@ .extern data_027e0de4 .extern data_027e0e2c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f78 @@ -260,12 +260,12 @@ .extern func_ov00_0207c074 .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 -.extern func_ov00_02082650 -.extern func_ov00_02082660 -.extern func_ov00_02082670 -.extern func_ov00_0208344c -.extern func_ov00_020838e8 -.extern func_ov00_020846a4 +.extern _ZN10MapManager18func_ov00_02082650Eiii +.extern _ZN10MapManager18func_ov00_02082660Eii +.extern _ZN10MapManager18func_ov00_02082670Eii +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_020846a4Ev .extern func_ov00_02089b08 .extern func_ov00_02089b50 .extern func_ov00_02089b88 diff --git a/asm/ov40.s b/asm/ov40.s index 9f9050fc..324d5c94 100644 --- a/asm/ov40.s +++ b/asm/ov40.s @@ -4789,10 +4789,10 @@ func_ov40_0217fa44: ; 0x0217fa44 bne _0217fb0c strb r1, [r5, #0xd6] strb r1, [r5, #0xd7] - ldr r0, _0217fbb4 ; =data_027e0e60 + ldr r0, _0217fbb4 ; =gMapManager add r1, sp, #0x70 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, sp, #0x44 bl func_ov00_020c1500 mvn r1, #0 @@ -4849,10 +4849,10 @@ _0217fb0c: ldr r1, [r5, #0xdc] cmp r1, r0 bne _0217fb98 - ldr r0, _0217fbb4 ; =data_027e0e60 + ldr r0, _0217fbb4 ; =gMapManager add r1, sp, #0x38 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, sp, #0xc bl func_ov00_020c1500 mvn r1, #0 @@ -4878,7 +4878,7 @@ _0217fb98: .align 2, 0 arm_func_end func_ov40_0217fa44 _0217fbb0: .word 0x444d4348 -_0217fbb4: .word data_027e0e60 +_0217fbb4: .word gMapManager _0217fbb8: .word 0x444d5452 _0217fbbc: .word 0x444d4b53 _0217fbc0: .word 0x444d5350 @@ -8485,7 +8485,7 @@ func_ov40_02182694: ; 0x02182694 mov r3, #0x47 sub r2, r3, #0x49 mov r1, #0xff - ldr r0, _021827ac ; =data_027e0e60 + ldr r0, _021827ac ; =gMapManager str r2, [sp, #0xc] str r3, [sp] str r4, [sp, #4] @@ -8498,7 +8498,7 @@ func_ov40_02182694: ; 0x02182694 ldrb r1, [r5, #0xf] ldr r0, [r0] add r2, sp, #0 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _02182798 ldr r0, [sp, #4] @@ -8512,7 +8512,7 @@ _02182798: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov40_02182694 -_021827ac: .word data_027e0e60 +_021827ac: .word gMapManager .global func_ov40_021827b0 arm_func_start func_ov40_021827b0 @@ -11718,7 +11718,7 @@ func_ov40_02184fb4: ; 0x02184fb4 str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _02185028 ; =data_027e0e60 + ldr r0, _02185028 ; =gMapManager str r1, [r4, #0x8c] ldr r2, [r4, #0x80] add r1, sp, #0xc @@ -11728,7 +11728,7 @@ func_ov40_02184fb4: ; 0x02184fb4 ldr r2, [r4, #0x88] str r2, [r4, #0x98] ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r1, [sp, #0xc] mov r0, #1 str r1, [r4, #0x48] @@ -11740,7 +11740,7 @@ func_ov40_02184fb4: ; 0x02184fb4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov40_02184fb4 -_02185028: .word data_027e0e60 +_02185028: .word gMapManager .global func_ov40_0218502c arm_func_start func_ov40_0218502c @@ -12505,9 +12505,9 @@ func_ov40_02185878: ; 0x02185878 beq _02185b10 b _02185b38 _021858c8: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev sub r0, r0, #0xd cmp r0, #3 addls pc, pc, r0, lsl #2 @@ -12518,11 +12518,11 @@ _021858e4: ; jump table b _02185994 ; case 2 b _02185994 ; case 3 _021858f4: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0xd - bl func_ov00_02082650 + bl _ZN10MapManager18func_ov00_02082650Eiii ldr r0, _02185b44 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097c08Ev @@ -12542,54 +12542,54 @@ _02185924: ; jump table b _0218594c ; case 8 b _02185964 ; case 9 _0218594c: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x2b - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185964: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x2c - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _0218597c: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x1d - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185994: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0xf - bl func_ov00_02082650 - ldr r0, _02185b40 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02082650Eiii + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #4 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _021859c0: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #6 - bl func_ov00_02082650 - ldr r0, _02185b40 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02082650Eiii + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #4 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _021859ec: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev sub r0, r0, #0xd cmp r0, #3 addls pc, pc, r0, lsl #2 @@ -12600,11 +12600,11 @@ _02185a08: ; jump table b _02185ab8 ; case 2 b _02185ab8 ; case 3 _02185a18: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0xe - bl func_ov00_02082650 + bl _ZN10MapManager18func_ov00_02082650Eiii ldr r0, _02185b44 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097c08Ev @@ -12624,67 +12624,67 @@ _02185a48: ; jump table b _02185a70 ; case 8 b _02185a88 ; case 9 _02185a70: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x25 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185a88: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x2d - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185aa0: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x25 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185ab8: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x10 - bl func_ov00_02082650 - ldr r0, _02185b40 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02082650Eiii + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #2 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185ae4: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #2 - bl func_ov00_02082650 - ldr r0, _02185b40 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02082650Eiii + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #2 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185b10: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #0xe bne _02185b38 - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0xe - bl func_ov00_02082670 + bl _ZN10MapManager18func_ov00_02082670Eii _02185b38: str r4, [r6, #0x158] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov40_02185878 -_02185b40: .word data_027e0e60 +_02185b40: .word gMapManager _02185b44: .word gAdventureFlags .global func_ov40_02185b48 diff --git a/asm/ov41.inc b/asm/ov41.inc index 1cd11506..c4f6c7ce 100644 --- a/asm/ov41.inc +++ b/asm/ov41.inc @@ -1,4 +1,9 @@ #pragma once +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_7cEv +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -74,7 +79,7 @@ .extern data_027e0d04 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f78 @@ -132,11 +137,6 @@ .extern func_ov00_0207c31c .extern func_ov00_0207c7e8 .extern func_ov00_02081f4c -.extern func_ov00_020828c0 -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 .extern func_ov00_0208cd48 .extern func_ov00_02093a5c .extern func_ov00_02094824 diff --git a/asm/ov41.s b/asm/ov41.s index 62ff46e4..d4fa1d52 100644 --- a/asm/ov41.s +++ b/asm/ov41.s @@ -3833,11 +3833,11 @@ _0218c668: str r1, [sp, #0x24] str r0, [sp, #0x1c] _0218c680: - ldr r1, _0218c71c ; =data_027e0e60 + ldr r1, _0218c71c ; =gMapManager add r0, sp, #4 ldr r1, [r1] add r2, sp, #0x1c - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r2, #0 sub r1, r2, #1 mov r0, #1 @@ -3862,11 +3862,11 @@ _0218c6cc: blo _0218c6cc add r1, sp, #8 str r1, [sp] - ldr r0, _0218c71c ; =data_027e0e60 + ldr r0, _0218c71c ; =gMapManager add r2, sp, #4 ldr r0, [r0] mov r1, #2 - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv add r4, r4, #1 cmp r4, #4 blt _0218c608 @@ -3876,7 +3876,7 @@ _0218c6cc: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov41_0218c5e0 -_0218c71c: .word data_027e0e60 +_0218c71c: .word gMapManager .global func_ov41_0218c720 arm_func_start func_ov41_0218c720 @@ -4010,12 +4010,12 @@ func_ov41_0218c834: ; 0x0218c834 add r1, r1, #0x400 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef - ldr r1, _0218cbec ; =data_027e0e60 + ldr r1, _0218cbec ; =gMapManager mov r4, r0 ldr r0, [r1] mov r1, r5 mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _0218ca3c mov r0, r6 @@ -4222,7 +4222,7 @@ _0218cbdc: .word data_027e0f68 _0218cbe0: .word gAdventureFlags _0218cbe4: .word data_027e0fc8 _0218cbe8: .word data_027e0fe4 -_0218cbec: .word data_027e0e60 +_0218cbec: .word gMapManager _0218cbf0: .word data_02050f54 _0218cbf4: .word 0x4b4f4b4f @@ -4742,14 +4742,14 @@ func_ov41_0218d210: ; 0x0218d210 ldr r3, [sp, #0xc] ldr r2, [sp, #0x10] ldr r1, [sp, #0x14] - ldr r0, _0218d31c ; =data_027e0e60 + ldr r0, _0218d31c ; =gMapManager str r2, [sp, #4] str r3, [sp] str r1, [sp, #8] ldr r0, [r0] ldr r1, [r6, #0x514] add r2, sp, #0 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r5, #1 _0218d2b8: @@ -4781,7 +4781,7 @@ _0218d2fc: _0218d310: .word data_027e0f94 _0218d314: .word data_027e0f90 _0218d318: .word data_027e0fac -_0218d31c: .word data_027e0e60 +_0218d31c: .word gMapManager _0218d320: .word 0xffff8001 .global func_ov41_0218d324 @@ -4921,7 +4921,7 @@ _0218d438: ldr r0, [r0] bl func_ov00_020c47cc ldr r1, [r0, #4] - ldr r3, _0218d618 ; =data_027e0e60 + ldr r3, _0218d618 ; =gMapManager str r1, [r4, #0x48] ldr r2, [r0, #8] add r1, sp, #0 @@ -4936,7 +4936,7 @@ _0218d438: str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add sp, sp, #0x3c str r0, [r4, #0x4c] ldmia sp!, {r3, r4, pc} @@ -5006,7 +5006,7 @@ _0218d608: arm_func_end func_ov41_0218d3e0 _0218d610: .word data_ov00_020e8398 _0218d614: .word data_027e0ff0 -_0218d618: .word data_027e0e60 +_0218d618: .word gMapManager .global func_ov41_0218d61c arm_func_start func_ov41_0218d61c @@ -5134,7 +5134,7 @@ _0218d790: b _0218d970 _0218d7c0: ldr r1, [r4, #0x48] - ldr r0, _0218d97c ; =data_027e0e60 + ldr r0, _0218d97c ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -5143,7 +5143,7 @@ _0218d7c0: add r1, sp, #4 str r2, [sp, #0xc] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x4c] cmp r1, r0 movge r0, #1 @@ -5253,7 +5253,7 @@ _0218d970: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov41_0218d668 -_0218d97c: .word data_027e0e60 +_0218d97c: .word gMapManager _0218d980: .word data_027e0ffc _0218d984: .word 0x00000309 _0218d988: .word data_027e103c diff --git a/asm/ov42.inc b/asm/ov42.inc index 6ff28d52..63708d77 100644 --- a/asm/ov42.inc +++ b/asm/ov42.inc @@ -1,4 +1,5 @@ #pragma once +.extern _ZN10MapManager18func_ov00_02083918EiPi .extern _ZN11ItemManager13ForceEquipItemEi .extern _ZN11ItemManager20ClearForcedEquipItemEv .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -61,7 +62,7 @@ .extern data_027e0d44 .extern data_027e0de4 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f78 .extern data_027e0f94 @@ -112,7 +113,6 @@ .extern func_ov00_0207a1c8 .extern func_ov00_0207bb1c .extern func_ov00_0207c1b0 -.extern func_ov00_02083918 .extern func_ov00_0208726c .extern func_ov00_02087400 .extern func_ov00_020a61ac diff --git a/asm/ov42.s b/asm/ov42.s index d1ba68d7..ff2f3570 100644 --- a/asm/ov42.s +++ b/asm/ov42.s @@ -293,11 +293,11 @@ _02189894: strh r1, [r0, #0x18] cmp r3, #2 blo _02189894 - ldr r0, _02189af4 ; =data_027e0e60 + ldr r0, _02189af4 ; =gMapManager add r2, sp, #0x48 ldr r0, [r0] mov r1, #0x42 - bl func_ov00_02083918 + bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _021898e0 ldr r0, _02189af8 ; =data_027e0f64 @@ -308,11 +308,11 @@ _02189894: mov r3, r2 bl func_ov00_02087400 _021898e0: - ldr r0, _02189af4 ; =data_027e0e60 + ldr r0, _02189af4 ; =gMapManager add r2, sp, #0x64 ldr r0, [r0] mov r1, #0x43 - bl func_ov00_02083918 + bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _02189918 ldr r0, _02189af8 ; =data_027e0f64 @@ -447,7 +447,7 @@ _02189a74: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov42_02189834 -_02189af4: .word data_027e0e60 +_02189af4: .word gMapManager _02189af8: .word data_027e0f64 _02189afc: .word gItemManager _02189b00: .word data_027e0fc8 diff --git a/asm/ov43.inc b/asm/ov43.inc index d42e675d..7b5ae442 100644 --- a/asm/ov43.inc +++ b/asm/ov43.inc @@ -62,7 +62,7 @@ .extern data_027e0c68 .extern data_027e0d0c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 @@ -97,8 +97,8 @@ .extern func_ov00_0207c474 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_020836dc -.extern func_ov00_02083770 +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji .extern func_ov00_02087d34 .extern func_ov00_02093a1c .extern _ZN14AdventureFlags18func_Ov00_02097810Ei diff --git a/asm/ov43.s b/asm/ov43.s index 41992889..0539e50f 100644 --- a/asm/ov43.s +++ b/asm/ov43.s @@ -2995,11 +2995,11 @@ _0218bcfc: str r0, [r4, #0x3d4] b _0218c970 _0218bd3c: - ldr r0, _0218c98c ; =data_027e0e60 + ldr r0, _0218c98c ; =gMapManager ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0218c970 ldr r0, [r4, #0x3d4] @@ -3811,11 +3811,11 @@ _0218c920: ldrh r0, [r4, #0x20] cmp r0, #5 bne _0218c950 - ldr r0, _0218c98c ; =data_027e0e60 + ldr r0, _0218c98c ; =gMapManager ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 addeq sp, sp, #0x150 moveq r0, #1 @@ -3839,7 +3839,7 @@ _0218c97c: .word data_027e0fe4 _0218c980: .word 0x0000ffff _0218c984: .word data_027e0fe8 _0218c988: .word 0x50425a4b -_0218c98c: .word data_027e0e60 +_0218c98c: .word gMapManager _0218c990: .word data_027e0d0c _0218c994: .word data_027e0c68 _0218c998: .word 0x00690330 @@ -4213,14 +4213,14 @@ _0218ceac: ldrb r2, [r10, #0x3e6] cmp r2, #0 beq _0218cf04 - ldr r0, _0218cf8c ; =data_027e0e60 + ldr r0, _0218cf8c ; =gMapManager str r11, [sp, #0xc] str r4, [sp, #0x10] str r5, [sp, #0x14] ldrh r1, [r10, #0x26] ldr r0, [r0] add r2, sp, #0xc - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -4230,14 +4230,14 @@ _0218ceac: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0218cf04: - ldr r2, _0218cf8c ; =data_027e0e60 + ldr r2, _0218cf8c ; =gMapManager str r0, [sp] ldr r0, [r2] str r3, [sp, #8] str r1, [sp, #4] ldrh r1, [r10, #0x26] add r2, sp, #0 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -4269,7 +4269,7 @@ _0218cf78: arm_func_end func_ov43_0218cd7c _0218cf84: .word data_027e0fc8 _0218cf88: .word data_027e0f94 -_0218cf8c: .word data_027e0e60 +_0218cf8c: .word gMapManager .global func_ov43_0218cf90 arm_func_start func_ov43_0218cf90 diff --git a/asm/ov44.inc b/asm/ov44.inc index b48c4015..080ba9c4 100644 --- a/asm/ov44.inc +++ b/asm/ov44.inc @@ -68,7 +68,7 @@ .extern data_027e0194 .extern data_027e0764 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f94 .extern data_027e0fe0 .extern data_027e0fe4 @@ -109,8 +109,8 @@ .extern func_ov00_0207c1b0 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_02083a1c -.extern func_ov00_020840c4 +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager16MapData_vfunc_78Ev .extern func_ov00_020a95a4 .extern func_ov00_020a9b6c .extern func_ov00_020a9b78 diff --git a/asm/ov44.s b/asm/ov44.s index b19298c1..1157f439 100644 --- a/asm/ov44.s +++ b/asm/ov44.s @@ -6537,16 +6537,16 @@ _0218e49c: .word 0xfffff852 func_ov44_0218e4a0: ; 0x0218e4a0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x4c - ldr r1, _0218e588 ; =data_027e0e60 + ldr r1, _0218e588 ; =gMapManager mov r4, r0 ldr r5, [r1] add r0, sp, #0 mov r1, r5 add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0218e4ec ldr r0, [r0, #4] @@ -6596,7 +6596,7 @@ _0218e4ec: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov44_0218e4a0 -_0218e588: .word data_027e0e60 +_0218e588: .word gMapManager _0218e58c: .word _ZTV11FilterActor _0218e590: .word 0x5053424c _0218e594: .word data_027e0fe4 diff --git a/asm/ov46.inc b/asm/ov46.inc index 27a26d9c..3a9b4658 100644 --- a/asm/ov46.inc +++ b/asm/ov46.inc @@ -1,5 +1,8 @@ #pragma once .extern Approach_thunk +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i .extern _ZN11ItemManager10GiveRupeesEjj .extern _ZN11ItemManager16SetTreasureCountEjc .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j @@ -55,6 +58,8 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager16GetTreasureCountEj @@ -69,7 +74,6 @@ .extern data_027e0d38 .extern data_027e0dbc .extern data_027e0e58 -.extern data_027e0e60 .extern data_027e0f6c .extern data_027e0f94 .extern data_027e0fc8 @@ -116,16 +120,11 @@ .extern func_02036ce4 .extern func_02036f68 .extern func_02037628 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_ov00_02079e68 .extern func_ov00_0207a1c8 .extern func_ov00_0207ba90 .extern func_ov00_0207c1b0 .extern func_ov00_0207c1f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083fb0 -.extern func_ov00_020840c4 .extern func_ov00_02093a5c .extern func_ov00_02093af0 .extern func_ov00_02094824 @@ -232,3 +231,4 @@ .extern func_ov34_0217bf5c .extern gAdventureFlags .extern gItemManager +.extern gMapManager diff --git a/asm/ov46.s b/asm/ov46.s index 98e030f1..832bdb2e 100644 --- a/asm/ov46.s +++ b/asm/ov46.s @@ -27,16 +27,16 @@ _02190070: .word 0x000004dc func_ov46_02190074: ; 0x02190074 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 - ldr r1, _021901cc ; =data_027e0e60 + ldr r1, _021901cc ; =gMapManager mov r6, r0 ldr r5, [r1] add r0, sp, #0 mov r1, r5 mov r2, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 ldr r4, _021901d0 ; =0x0000036d beq _021900d8 @@ -60,7 +60,7 @@ _021900d8: ldr r3, [r6, #8] mov r1, r5 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] and r0, r0, #0x1f cmp r0, #0xe @@ -129,7 +129,7 @@ _021901b4: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov46_02190074 -_021901cc: .word data_027e0e60 +_021901cc: .word gMapManager _021901d0: .word 0x0000036d _021901d4: .word 0x0000036e _021901d8: .word 0x0000036f @@ -750,16 +750,16 @@ _021909a8: .word 0x000004d8 func_ov46_021909ac: ; 0x021909ac stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 - ldr r1, _02190b04 ; =data_027e0e60 + ldr r1, _02190b04 ; =gMapManager mov r6, r0 ldr r5, [r1] add r0, sp, #0 mov r1, r5 mov r2, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 ldr r4, _02190b08 ; =0x0000036d beq _02190a10 @@ -783,7 +783,7 @@ _02190a10: ldr r3, [r6, #8] mov r1, r5 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] and r0, r0, #0x1f cmp r0, #0xe @@ -852,7 +852,7 @@ _02190aec: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov46_021909ac -_02190b04: .word data_027e0e60 +_02190b04: .word gMapManager _02190b08: .word 0x0000036d _02190b0c: .word 0x0000036e _02190b10: .word 0x0000036f diff --git a/asm/ov47.inc b/asm/ov47.inc index ddc643d0..5fff50a1 100644 --- a/asm/ov47.inc +++ b/asm/ov47.inc @@ -6,7 +6,7 @@ .extern data_02050f54 .extern data_027e0764 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f6c .extern data_027e0f90 .extern data_027e0f94 @@ -51,12 +51,12 @@ .extern func_ov00_0207c444 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_020836dc -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_020840c4 -.extern func_ov00_02084120 -.extern func_ov00_02084740 +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_4cEv +.extern _ZN10MapManager18func_ov00_02084740Ev .extern func_ov00_02093a1c .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 diff --git a/asm/ov47.s b/asm/ov47.s index 32a6ebd1..3e0b40d6 100644 --- a/asm/ov47.s +++ b/asm/ov47.s @@ -1181,10 +1181,10 @@ _02190fdc: str r1, [sp] cmp r0, #0 beq _02191060 - ldr r0, _021910ec ; =data_027e0e60 + ldr r0, _021910ec ; =gMapManager add r1, r5, #0x108 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] ldr r1, [r1, #0x54] blx r1 @@ -1235,7 +1235,7 @@ _021910cc: arm_func_end func_ov47_02190f58 _021910e4: .word data_027e0ffc _021910e8: .word 0x00000397 -_021910ec: .word data_027e0e60 +_021910ec: .word gMapManager _021910f0: .word data_027e0f6c _021910f4: .word data_ov00_020eec9c _021910f8: .word 0x00000393 @@ -1596,7 +1596,7 @@ _02191578: add r1, r4, #0x21c bl func_ov00_020cb140 ldr r1, [r4, #0x14] - ldr r0, _021916c8 ; =data_027e0e60 + ldr r0, _021916c8 ; =gMapManager str r1, [r4, #0x338] ldr r2, [r4, #0x18] add r1, sp, #0 @@ -1619,7 +1619,7 @@ _02191578: str r3, [sp, #4] ldr r3, [r4, #0x340] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x33c] ldrh r0, [r4, #0x20] cmp r0, #4 @@ -1668,7 +1668,7 @@ _021916b8: .align 2, 0 arm_func_end func_ov47_02191548 _021916c4: .word data_ov47_021946d8 -_021916c8: .word data_027e0e60 +_021916c8: .word gMapManager .global func_ov47_021916cc arm_func_start func_ov47_021916cc @@ -2795,7 +2795,7 @@ _02192408: mov r4, #4 str r1, [sp, #0x34] ldr r1, [r6, #0x54] - ldr r3, _02192f7c ; =data_027e0e60 + ldr r3, _02192f7c ; =gMapManager str r1, [sp, #0x20] ldr r2, [r6, #0x58] add r1, sp, #0xe8 @@ -2888,11 +2888,11 @@ _021925ec: cmp r0, #1 bne _02192ecc _0219260c: - ldr r0, _02192f7c ; =data_027e0e60 + ldr r0, _02192f7c ; =gMapManager ldrh r1, [r6, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02192ecc ldrh r0, [r6, #0x20] @@ -3487,9 +3487,9 @@ _02192e70: bl func_ov47_02191a1c cmp r0, #0 beq _02192eb4 - ldr r0, _02192f7c ; =data_027e0e60 + ldr r0, _02192f7c ; =gMapManager ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r0, _02192f80 ; =data_ov00_020eec68 mov r2, #0 @@ -3508,7 +3508,7 @@ _02192ecc: cmpne r0, #2 cmpne r0, #6 bne _02192f68 - ldr r0, _02192f7c ; =data_027e0e60 + ldr r0, _02192f7c ; =gMapManager ldr r4, [r6, #0x48] ldr r8, [r0] ldr r3, [r6, #0x4c] @@ -3519,10 +3519,10 @@ _02192ecc: str r4, [sp, #0x14] str r3, [sp, #0x18] str r5, [sp, #0x1c] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r7, r0 mov r0, r8 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv ldr r1, [r6, #0x344] add r2, r7, r0 cmp r1, #0 @@ -3550,7 +3550,7 @@ _02192f68: arm_func_end func_ov47_02192350 _02192f74: .word 0x55555556 _02192f78: .word 0x0000ffff -_02192f7c: .word data_027e0e60 +_02192f7c: .word gMapManager _02192f80: .word data_ov00_020eec68 _02192f84: .word 0x0000019a _02192f88: .word data_027e0764 @@ -4701,7 +4701,7 @@ func_ov47_02193e80: ; 0x02193e80 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02193f40 ; =data_027e0e60 + ldr r0, _02193f40 ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -4711,7 +4711,7 @@ func_ov47_02193e80: ; 0x02193e80 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] ldr r1, _02193f44 ; =func_ov47_02193e68 str r4, [sp] @@ -4744,7 +4744,7 @@ _02193f20: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov47_02193e80 -_02193f40: .word data_027e0e60 +_02193f40: .word gMapManager _02193f44: .word func_ov47_02193e68 _02193f48: .word data_027e0e58 _02193f4c: .word func_ov47_02193e18 diff --git a/asm/ov48.inc b/asm/ov48.inc index 597d90be..509ffce0 100644 --- a/asm/ov48.inc +++ b/asm/ov48.inc @@ -73,7 +73,7 @@ .extern data_027e0d38 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f90 .extern data_027e0f94 .extern data_027e0fac diff --git a/asm/ov48.s b/asm/ov48.s index d1f2425c..e0ffa4b0 100644 --- a/asm/ov48.s +++ b/asm/ov48.s @@ -2035,7 +2035,7 @@ _021917c4: ldr r0, _02191c1c ; =data_ov48_02195468 add r1, sp, #0xb4 str r0, [sp, #0xc] - ldr r0, _02191c30 ; =data_027e0e60 + ldr r0, _02191c30 ; =gMapManager str r6, [sp, #0x10] ldr r0, [r0] add r2, sp, #0x20 @@ -2296,7 +2296,7 @@ _02191c20: .word func_ov48_02191c60 _02191c24: .word data_ov48_0219545c _02191c28: .word 0x0000ffff _02191c2c: .word 0x00000333 -_02191c30: .word data_027e0e60 +_02191c30: .word gMapManager _02191c34: .word gItemManager _02191c38: .word data_027e0f90 _02191c3c: .word data_027e0fac diff --git a/asm/ov49.inc b/asm/ov49.inc index 2e2b5486..5d574b61 100644 --- a/asm/ov49.inc +++ b/asm/ov49.inc @@ -76,7 +76,7 @@ .extern data_02052f54 .extern data_027e0764 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0f94 @@ -118,11 +118,11 @@ .extern func_ov00_0207c1b0 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_020836dc -.extern func_ov00_020839b4 -.extern func_ov00_020839c4 -.extern func_ov00_02083ee0 -.extern func_ov00_02083fb0 +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020839b4Ei +.extern _ZN10MapManager18func_ov00_020839c4Ei +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i .extern func_ov00_02088000 .extern func_ov00_02094824 .extern func_ov00_0209a4f4 diff --git a/asm/ov49.s b/asm/ov49.s index f0673b70..88f35b27 100644 --- a/asm/ov49.s +++ b/asm/ov49.s @@ -454,7 +454,7 @@ func_ov49_02195930: ; 0x02195930 mov r2, #0 str r0, [r4, #0x570] ldr r1, [sp, #0x20] - ldr r0, _02195b78 ; =data_027e0e60 + ldr r0, _02195b78 ; =gMapManager str r1, [r4, #0x574] ldr r3, [sp, #0x24] add r1, r4, #0x168 @@ -462,7 +462,7 @@ func_ov49_02195930: ; 0x02195930 strb r2, [r4, #0x56c] ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020839b4 + bl _ZN10MapManager18func_ov00_020839b4Ei mov r0, r4 add r1, r4, #0x254 bl func_ov00_020cb140 @@ -477,7 +477,7 @@ _02195b68: .word data_ov49_021986e8 _02195b6c: .word data_ov00_020e2f04 _02195b70: .word data_ov00_020e2dd8 _02195b74: .word 0xfffff666 -_02195b78: .word data_027e0e60 +_02195b78: .word gMapManager .global func_ov49_02195b7c arm_func_start func_ov49_02195b7c @@ -495,12 +495,12 @@ func_ov49_02195b7c: ; 0x02195b7c func_ov49_02195b94: ; 0x02195b94 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x38 - ldr r2, _02195cb4 ; =data_027e0e60 + ldr r2, _02195cb4 ; =gMapManager mov r4, r0 add r1, r4, #0x168 ldr r0, [r2] add r1, r1, #0x400 - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei ldrb r0, [r4, #0x5c8] cmp r0, #0 bne _02195c24 @@ -572,7 +572,7 @@ _02195c84: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov49_02195b94 -_02195cb4: .word data_027e0e60 +_02195cb4: .word gMapManager _02195cb8: .word data_027e0fe8 _02195cbc: .word 0x4e534844 @@ -2528,7 +2528,7 @@ func_ov49_021976bc: ; 0x021976bc b _021977b8 _02197764: ldr r1, [r4, #0x48] - ldr r0, _021977d0 ; =data_027e0e60 + ldr r0, _021977d0 ; =gMapManager str r1, [r4, #0x15c] ldr r2, [r4, #0x4c] add r1, sp, #0 @@ -2543,7 +2543,7 @@ _02197764: str r3, [sp, #4] ldr r3, [r4, #0x164] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x160] mov r0, r4 mov r1, #0 @@ -2557,7 +2557,7 @@ _021977b8: .align 2, 0 arm_func_end func_ov49_021976bc _021977cc: .word 0x000005f3 -_021977d0: .word data_027e0e60 +_021977d0: .word gMapManager .global func_ov49_021977d4 arm_func_start func_ov49_021977d4 @@ -2652,7 +2652,7 @@ _021978a8: cmp r0, #0 beq _021979e0 ldr r1, [r5, #0x48] - ldr r0, _02197b10 ; =data_027e0e60 + ldr r0, _02197b10 ; =gMapManager str r1, [sp, #4] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -2661,7 +2661,7 @@ _021978a8: add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -2805,7 +2805,7 @@ _02197b08: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov49_02197860 -_02197b10: .word data_027e0e60 +_02197b10: .word gMapManager _02197b14: .word data_027e0ffc _02197b18: .word 0x000001ab _02197b1c: .word 0xfffffe66 @@ -3316,16 +3316,16 @@ _02198160: .word 0x0000048e .global func_ov49_02198164 arm_func_start func_ov49_02198164 func_ov49_02198164: ; 0x02198164 - ldr r2, _0219817c ; =data_027e0e60 - ldr ip, _02198180 ; =func_ov00_020836dc + ldr r2, _0219817c ; =gMapManager + ldr ip, _02198180 ; =_ZN10MapManager18func_ov00_020836dcEii ldrb r1, [r0, #0x15c] ldr r0, [r2] mov r2, #0 bx ip .align 2, 0 arm_func_end func_ov49_02198164 -_0219817c: .word data_027e0e60 -_02198180: .word func_ov00_020836dc +_0219817c: .word gMapManager +_02198180: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov49_02198184 arm_func_start func_ov49_02198184 diff --git a/asm/ov50.inc b/asm/ov50.inc index 3f6bd505..39f3d162 100644 --- a/asm/ov50.inc +++ b/asm/ov50.inc @@ -1,6 +1,10 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_020840dcEv .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj @@ -73,7 +77,7 @@ .extern data_027e0194 .extern data_027e0764 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 @@ -119,10 +123,6 @@ .extern func_ov00_02081f50 .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 -.extern func_ov00_020840c4 -.extern func_ov00_020840dc .extern func_ov00_020884b4 .extern func_ov00_02093a1c .extern func_ov00_02093a5c diff --git a/asm/ov50.s b/asm/ov50.s index 56fa69b3..af947e52 100644 --- a/asm/ov50.s +++ b/asm/ov50.s @@ -396,10 +396,10 @@ _02195a34: str r1, [sp, #0x1c] cmp r0, #0 beq _02195a84 - ldr r0, _02195cac ; =data_027e0e60 + ldr r0, _02195cac ; =gMapManager add r1, r6, #0x108 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] ldr r1, [r1, #0x54] blx r1 @@ -563,7 +563,7 @@ _02195c90: .align 2, 0 arm_func_end func_ov50_02195950 _02195ca8: .word data_ov50_021989d0 -_02195cac: .word data_027e0e60 +_02195cac: .word gMapManager _02195cb0: .word data_027e0f6c _02195cb4: .word data_027e0e58 _02195cb8: .word 0x000001a5 @@ -920,7 +920,7 @@ _02196168: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02196184: ldr r1, [r5, #0x48] - ldr r0, _021963e4 ; =data_027e0e60 + ldr r0, _021963e4 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -929,7 +929,7 @@ _02196184: add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] sub r1, r1, r0 mov r0, r5 @@ -1084,7 +1084,7 @@ _021963d4: arm_func_end func_ov50_021960c8 _021963dc: .word data_027e0ffc _021963e0: .word 0x00000396 -_021963e4: .word data_027e0e60 +_021963e4: .word gMapManager _021963e8: .word data_027e0fc8 _021963ec: .word gAdventureFlags @@ -1341,59 +1341,59 @@ func_ov50_02196698: ; 0x02196698 str r3, [sp, #0x10] str ip, [sp, #0x14] bl func_01ff9bc4 - ldr r1, _0219683c ; =data_027e0e60 + ldr r1, _0219683c ; =gMapManager add r0, sp, #8 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r1, [sp, #8] - ldr r0, _0219683c ; =data_027e0e60 + ldr r0, _0219683c ; =gMapManager ldrb r2, [sp, #9] sub r3, r1, #1 ldr r0, [r0] add r1, sp, #6 strb r3, [sp, #6] strb r2, [sp, #7] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x48] ldrb r1, [sp, #8] subeq r0, r0, #0x800 streq r0, [sp, #0x48] add r3, r1, #1 - ldr r0, _0219683c ; =data_027e0e60 + ldr r0, _0219683c ; =gMapManager ldrb r2, [sp, #9] ldr r0, [r0] add r1, sp, #4 strb r3, [sp, #4] strb r2, [sp, #5] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x3c] ldrb r1, [sp, #9] addeq r0, r0, #0x800 streq r0, [sp, #0x3c] sub r2, r1, #1 - ldr r0, _0219683c ; =data_027e0e60 + ldr r0, _0219683c ; =gMapManager ldrb r3, [sp, #8] ldr r0, [r0] add r1, sp, #2 strb r3, [sp, #2] strb r2, [sp, #3] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x50] ldrb r1, [sp, #9] subeq r0, r0, #0x800 streq r0, [sp, #0x50] add r2, r1, #1 - ldr r0, _0219683c ; =data_027e0e60 + ldr r0, _0219683c ; =gMapManager ldrb r3, [sp, #8] ldr r0, [r0] add r1, sp, #0 strb r3, [sp] strb r2, [sp, #1] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x44] addeq r0, r0, #0x800 @@ -1415,7 +1415,7 @@ func_ov50_02196698: ; 0x02196698 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov50_02196698 -_0219683c: .word data_027e0e60 +_0219683c: .word gMapManager .global func_ov50_02196840 arm_func_start func_ov50_02196840 @@ -3024,10 +3024,10 @@ func_ov50_02197d04: ; 0x02197d04 strb r2, [sp] strb r2, [sp, #1] bl func_ov00_020c5374 - ldr r0, _02197dc0 ; =data_027e0e60 + ldr r0, _02197dc0 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _02197da0 ldr r1, [r0] @@ -3059,7 +3059,7 @@ _02197da0: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov50_02197d04 -_02197dc0: .word data_027e0e60 +_02197dc0: .word gMapManager .global func_ov50_02197dc4 arm_func_start func_ov50_02197dc4 diff --git a/asm/ov51.inc b/asm/ov51.inc index 9a208a59..61aea627 100644 --- a/asm/ov51.inc +++ b/asm/ov51.inc @@ -5,7 +5,7 @@ .extern data_02050f54 .extern data_027e0764 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f6c .extern data_027e0f90 .extern data_027e0f94 @@ -52,9 +52,9 @@ .extern func_ov00_02081f4c .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020826a0 -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager16MapData_vfunc_68Ev .extern func_ov00_0208e6b0 .extern func_ov00_0208e82c .extern func_ov00_02093a5c diff --git a/asm/ov51.s b/asm/ov51.s index 6c613bd4..c620ed3a 100644 --- a/asm/ov51.s +++ b/asm/ov51.s @@ -692,7 +692,7 @@ _02195db4: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02195e9c ; =data_027e0e60 + ldr r0, _02195e9c ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -702,7 +702,7 @@ _02195db4: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] ldr r0, [r5, #0x15c] cmp r0, #0 @@ -751,7 +751,7 @@ _02195e80: .align 2, 0 arm_func_end func_ov51_02195c80 _02195e98: .word data_027e0fe4 -_02195e9c: .word data_027e0e60 +_02195e9c: .word gMapManager .global func_ov51_02195ea0 arm_func_start func_ov51_02195ea0 @@ -1993,7 +1993,7 @@ func_ov51_02196e18: ; 0x02196e18 ldmia r1, {r0, r1, r2} mov r9, #0 stmia r8, {r0, r1, r2} - ldr r4, _02196f04 ; =data_027e0e60 + ldr r4, _02196f04 ; =gMapManager mov r5, r9 mov r7, #0xa000 mov r6, #0x800 @@ -2048,7 +2048,7 @@ _02196ee0: .align 2, 0 arm_func_end func_ov51_02196e18 _02196f00: .word data_027e0f94 -_02196f04: .word data_027e0e60 +_02196f04: .word gMapManager .global func_ov51_02196f08 arm_func_start func_ov51_02196f08 @@ -2542,18 +2542,18 @@ _02197588: add r1, r4, #0x100 ldrsh ip, [r1, #0xd0] ldrsh r3, [r1, #0xd2] - ldr r2, _02197634 ; =data_027e0e60 + ldr r2, _02197634 ; =gMapManager add r0, sp, #0xc add r3, ip, r3 strh r3, [r1, #0xd0] ldr r5, [r2] add r2, r4, #0x48 mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0xc mov r0, r5 mov r2, #1 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldr r0, [r4, #0x154] cmp r0, #0 addgt sp, sp, #0x48 @@ -2584,7 +2584,7 @@ _02197588: arm_func_end func_ov51_02197314 _0219762c: .word 0x0000099a _02197630: .word data_ov51_02198280 -_02197634: .word data_027e0e60 +_02197634: .word gMapManager _02197638: .word 0x000007ae _0219763c: .word data_027e0ff8 diff --git a/asm/ov52.inc b/asm/ov52.inc index 8dee865c..68329ec3 100644 --- a/asm/ov52.inc +++ b/asm/ov52.inc @@ -1,4 +1,8 @@ #pragma once +.extern _ZN10MapManager18func_ov00_02082b3cEi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN14AdventureFlags18func_ov00_02097738Ev @@ -69,7 +73,6 @@ .extern data_027e0ce0 .extern data_027e0d3c .extern data_027e0e58 -.extern data_027e0e60 .extern data_027e0f68 .extern data_027e0f78 .extern data_027e0fa0 @@ -126,10 +129,6 @@ .extern func_ov00_0207a1c8 .extern func_ov00_0207b89c .extern func_ov00_0207c1b0 -.extern func_ov00_02082b3c -.extern func_ov00_020836dc -.extern func_ov00_020838e8 -.extern func_ov00_02084b38 .extern func_ov00_0208d01c .extern func_ov00_020a9588 .extern func_ov00_020a95a4 @@ -208,5 +207,6 @@ .extern func_ov14_0214a92c .extern func_ov14_0214aa0c .extern gAdventureFlags +.extern gMapManager .extern gOverlayManager .extern strcpy diff --git a/asm/ov52.s b/asm/ov52.s index c18ed485..70ca8253 100644 --- a/asm/ov52.s +++ b/asm/ov52.s @@ -397,13 +397,13 @@ func_ov52_02195908: ; 0x02195908 mov r2, #1 strb r2, [r4, #0x13] mov r3, #0 - ldr r0, _02195a08 ; =data_027e0e60 + ldr r0, _02195a08 ; =gMapManager strb r3, [r4, #0xc] ldr r0, [r0] mov r1, #0x1e - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r1, #0 - ldr r0, _02195a08 ; =data_027e0e60 + ldr r0, _02195a08 ; =gMapManager str r1, [sp, #4] str r1, [sp, #8] strh r1, [sp, #0x10] @@ -419,15 +419,15 @@ func_ov52_02195908: ; 0x02195908 ldr r0, [r0] add r2, sp, #0 mov r1, #2 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02195a0c ; =gOverlayManager ldr r2, _02195a10 ; =0x00000004 mov r1, #2 blx _ZN14OverlayManager15LoadIfNotLoadedEjj - ldr r0, _02195a08 ; =data_027e0e60 + ldr r0, _02195a08 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02082b3c + bl _ZN10MapManager18func_ov00_02082b3cEi ldr r0, _02195a0c ; =gOverlayManager ldr r2, _02195a14 ; =0x00000005 mov r1, #2 @@ -450,7 +450,7 @@ func_ov52_02195908: ; 0x02195908 .align 2, 0 arm_func_end func_ov52_02195908 _02195a04: .word gAdventureFlags -_02195a08: .word data_027e0e60 +_02195a08: .word gMapManager _02195a0c: .word gOverlayManager _02195a10: .word 0x00000004 _02195a14: .word 0x00000005 @@ -480,7 +480,7 @@ _02195a60: mov r4, #0 strb r4, [r5, #0x13] mov lr, #0x47 - ldr r0, _02195b38 ; =data_027e0e60 + ldr r0, _02195b38 ; =gMapManager sub ip, lr, #0x49 mov r3, #0xff ldr r0, [r0] @@ -495,15 +495,15 @@ _02195a60: strb r4, [sp, #0x13] strb r4, [sp, #0x14] strb r4, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02195b3c ; =gOverlayManager ldr r2, _02195b40 ; =0x00000004 mov r1, #2 blx _ZN14OverlayManager15LoadIfNotLoadedEjj - ldr r0, _02195b38 ; =data_027e0e60 + ldr r0, _02195b38 ; =gMapManager add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02082b3c + bl _ZN10MapManager18func_ov00_02082b3cEi ldr r0, _02195b3c ; =gOverlayManager ldr r2, _02195b44 ; =0x00000005 mov r1, #2 @@ -533,7 +533,7 @@ _02195a60: .align 2, 0 arm_func_end func_ov52_02195a20 _02195b34: .word data_ov52_02197c40 -_02195b38: .word data_027e0e60 +_02195b38: .word gMapManager _02195b3c: .word gOverlayManager _02195b40: .word 0x00000004 _02195b44: .word 0x00000005 @@ -547,19 +547,19 @@ _02195b58: .word data_027e103c arm_func_start func_ov52_02195b5c func_ov52_02195b5c: ; 0x02195b5c stmdb sp!, {r4, lr} - ldr r1, _02195ba8 ; =data_027e0e60 + ldr r1, _02195ba8 ; =gMapManager mov r4, r0 ldr r0, [r1] mov r1, #0x1f mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 - ldr r0, _02195ba8 ; =data_027e0e60 + bl _ZN10MapManager18func_ov00_02084b38Eiii + ldr r0, _02195ba8 ; =gMapManager mov r1, #0x1e ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02195bac ; =data_ov09_0211f5b4 blx func_ov03_020f4048 mov r0, #2 @@ -567,7 +567,7 @@ func_ov52_02195b5c: ; 0x02195b5c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov52_02195b5c -_02195ba8: .word data_027e0e60 +_02195ba8: .word gMapManager _02195bac: .word data_ov09_0211f5b4 .global func_ov52_02195bb0 @@ -594,21 +594,21 @@ _02195be0: ldr r0, _02195d18 ; =data_ov00_020eec9c ldr r1, _02195d1c ; =0x000003fd bl func_ov00_020d77e4 - ldr r0, _02195d20 ; =data_027e0e60 + ldr r0, _02195d20 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 mov r1, #0x1f - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r0, #1 strb r0, [r4, #0xc] b _02195ca4 _02195c20: - ldr r0, _02195d20 ; =data_027e0e60 + ldr r0, _02195d20 ; =gMapManager mov r1, #5 ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02195ca4 ldrb r0, [r4, #0x11] @@ -629,12 +629,12 @@ _02195c5c: bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _02195d20 ; =data_027e0e60 + ldr r0, _02195d20 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 mov r1, #0x1e - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r0, #3 strb r0, [r4, #0xc] _02195ca0: @@ -675,7 +675,7 @@ _02195ce8: _02195d14: .word data_ov52_02197c70 _02195d18: .word data_ov00_020eec9c _02195d1c: .word 0x000003fd -_02195d20: .word data_027e0e60 +_02195d20: .word gMapManager _02195d24: .word gAdventureFlags _02195d28: .word data_ov00_020eec68 diff --git a/asm/ov53.inc b/asm/ov53.inc index 4590adba..58bb5851 100644 --- a/asm/ov53.inc +++ b/asm/ov53.inc @@ -20,7 +20,7 @@ .extern data_02050f54 .extern data_027e0d0c .extern data_027e0de4 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f94 .extern data_027e0fb8 @@ -40,8 +40,8 @@ .extern func_0204f614 .extern func_ov00_0207bb1c .extern func_ov00_02081f4c -.extern func_ov00_02083ee0 -.extern func_ov00_020840c4 +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev .extern func_ov00_02087f08 .extern func_ov00_0208967c .extern func_ov00_020b17ec diff --git a/asm/ov53.s b/asm/ov53.s index f40d9598..61dd8876 100644 --- a/asm/ov53.s +++ b/asm/ov53.s @@ -444,7 +444,7 @@ func_ov53_021991ec: ; 0x021991ec cmp r9, r0 bge _02199280 ldr r8, _02199308 ; =data_ov53_0219a5bc - ldr r4, _0219930c ; =data_027e0e60 + ldr r4, _0219930c ; =gMapManager add r6, sp, #0x20 mov r11, #2 add r7, sp, #4 @@ -456,7 +456,7 @@ _02199220: mov r1, r7 strb r3, [sp, #4] strb r2, [sp, #5] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _02199270 ldr r3, [r0] @@ -514,7 +514,7 @@ _021992ec: arm_func_end func_ov53_021991ec _02199304: .word data_ov53_0219a580 _02199308: .word data_ov53_0219a5bc -_0219930c: .word data_027e0e60 +_0219930c: .word gMapManager _02199310: .word data_ov53_0219a5e4 _02199314: .word data_027e0fe4 @@ -742,7 +742,7 @@ _02199518: str r1, [sp, #0xc] mov r0, #0 str r0, [sp, #0x10] - ldr r0, _021996ec ; =data_027e0e60 + ldr r0, _021996ec ; =gMapManager add r1, sp, #0x60 ldr r0, [r0] add r2, sp, #0x44 @@ -788,7 +788,7 @@ _021996dc: .word 0x0000019f _021996e0: .word 0x0000ffff _021996e4: .word data_ov53_0219a580 _021996e8: .word data_ov53_0219a5bc -_021996ec: .word data_027e0e60 +_021996ec: .word gMapManager _021996f0: .word data_027e0fe4 _021996f4: .word data_ov53_0219a180 _021996f8: .word data_ov53_0219a5e4 @@ -1206,7 +1206,7 @@ func_ov53_02199c48: ; 0x02199c48 mov lr, #0 str r2, [sp, #0x24] ldr r2, [r0, #0x50] - ldr ip, _02199cc4 ; =data_027e0e60 + ldr ip, _02199cc4 ; =gMapManager str r2, [sp, #0x28] ldr r3, [r0, #0x54] add r2, sp, #0x20 @@ -1230,7 +1230,7 @@ func_ov53_02199c48: ; 0x02199c48 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov53_02199c48 -_02199cc4: .word data_027e0e60 +_02199cc4: .word gMapManager .global func_ov53_02199cc8 arm_func_start func_ov53_02199cc8 @@ -1267,7 +1267,7 @@ _02199d28: str r2, [r0, #0x1c] str r2, [r0, #0x18] ldr r1, [r5, #0x48] - ldr r0, _02199f78 ; =data_027e0e60 + ldr r0, _02199f78 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -1275,7 +1275,7 @@ _02199d28: ldr r3, [r5, #0x50] add r1, sp, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] cmp r1, r0 movlt r6, #1 @@ -1417,7 +1417,7 @@ _02199f68: .word data_ov53_0219a680 _02199f6c: .word data_ov53_0219a15c _02199f70: .word func_ov53_02199f88 _02199f74: .word data_ov53_0219a674 -_02199f78: .word data_027e0e60 +_02199f78: .word gMapManager _02199f7c: .word data_027e0ffc _02199f80: .word 0x0000019d _02199f84: .word 0x00000555 diff --git a/asm/ov54.inc b/asm/ov54.inc index 80c6bab4..c0e3c208 100644 --- a/asm/ov54.inc +++ b/asm/ov54.inc @@ -1,4 +1,9 @@ #pragma once +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02084ebcEi +.extern _ZN10MapManager18func_ov00_02085594Ev +.extern _ZN10MapManager18func_ov00_02085a34Eii .extern _ZN11ItemManager12GetItemModelEj .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p @@ -21,11 +26,12 @@ .extern _ZN13PlayerControl20UpdateUsingEquipItemEv .extern _ZNK11ItemManager16GetEquippedFairyEv .extern _ZNK11ItemManager8GetFairyEi +.extern __register_global_object .extern data_02050f54 .extern data_02054654 .extern data_027e0d38 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0fb8 .extern data_027e0fcc .extern data_027e0fd4 @@ -38,14 +44,8 @@ .extern func_01ffa9fc .extern func_01fffcec .extern func_0202af4c -.extern __register_global_object .extern func_ov00_0207c1b0 .extern func_ov00_0207c2e8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c7c -.extern func_ov00_02084ebc -.extern func_ov00_02085594 -.extern func_ov00_02085a34 .extern func_ov00_020a5e9c .extern func_ov00_020a9588 .extern func_ov00_020a95a4 diff --git a/asm/ov54.s b/asm/ov54.s index df1afc4a..646034ae 100644 --- a/asm/ov54.s +++ b/asm/ov54.s @@ -112,31 +112,31 @@ func_ov54_02198e04: ; 0x02198e04 .global func_ov54_02198e08 arm_func_start func_ov54_02198e08 func_ov54_02198e08: ; 0x02198e08 - ldr r0, _02198e1c ; =data_027e0e60 - ldr ip, _02198e20 ; =func_ov00_02085a34 + ldr r0, _02198e1c ; =gMapManager + ldr ip, _02198e20 ; =_ZN10MapManager18func_ov00_02085a34Eii mov r2, #1 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov54_02198e08 -_02198e1c: .word data_027e0e60 -_02198e20: .word func_ov00_02085a34 +_02198e1c: .word gMapManager +_02198e20: .word _ZN10MapManager18func_ov00_02085a34Eii .global func_ov54_02198e24 arm_func_start func_ov54_02198e24 func_ov54_02198e24: ; 0x02198e24 stmdb sp!, {r3, lr} - ldr r0, _02198e48 ; =data_027e0e60 + ldr r0, _02198e48 ; =gMapManager mov r2, #2 ldr r0, [r0] - bl func_ov00_02085a34 + bl _ZN10MapManager18func_ov00_02085a34Eii cmp r0, #0 movgt r0, #1 movle r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov54_02198e24 -_02198e48: .word data_027e0e60 +_02198e48: .word gMapManager .global func_ov54_02198e4c arm_func_start func_ov54_02198e4c @@ -228,11 +228,11 @@ func_ov54_02198efc: ; 0x02198efc mov r6, r5 cmp r4, r0 beq _02198fb4 - ldr r1, _02199290 ; =data_027e0e60 + ldr r1, _02199290 ; =gMapManager add r0, sp, #0xc ldr r1, [r1] add r2, r7, #0x38 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp, #0xc] ldrb r1, [sp, #0xd] mov r0, r7 @@ -315,10 +315,10 @@ _02199050: bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList cmp r0, #0 bgt _021990c4 - ldr r0, _02199290 ; =data_027e0e60 + ldr r0, _02199290 ; =gMapManager add r1, r7, #0x38 ldr r0, [r0] - bl func_ov00_02085594 + bl _ZN10MapManager18func_ov00_02085594Ev mov r4, r0 _021990c4: cmp r4, #1 @@ -446,7 +446,7 @@ _02199284: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov54_02198efc -_02199290: .word data_027e0e60 +_02199290: .word gMapManager _02199294: .word 0x00000333 _02199298: .word data_ov54_02199a00 _0219929c: .word data_027e0fe4 @@ -833,7 +833,7 @@ func_ov54_021997f0: ; 0x021997f0 bl _ZN13PlayerControl18func_ov00_020af01cEPc cmp r0, #0 beq _02199898 - ldr r0, _021998d0 ; =data_027e0e60 + ldr r0, _021998d0 ; =gMapManager ldrb r2, [sp] ldrb r1, [sp, #1] ldr r0, [r0] @@ -842,11 +842,11 @@ func_ov54_021997f0: ; 0x021997f0 strb r1, [r3, #1] ldr r2, [r3] add r1, sp, #0x10 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi cmp r4, #0 mov r4, #1 beq _02199884 - ldr r0, _021998d0 ; =data_027e0e60 + ldr r0, _021998d0 ; =gMapManager ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] ldr r2, [sp, #0x18] @@ -855,7 +855,7 @@ func_ov54_021997f0: ; 0x021997f0 str ip, [sp, #4] str r3, [sp, #8] str r2, [sp, #0xc] - bl func_ov00_02084ebc + bl _ZN10MapManager18func_ov00_02084ebcEi cmp r0, #0 moveq r4, #0 _02199884: @@ -881,7 +881,7 @@ _02199898: .align 2, 0 arm_func_end func_ov54_021997f0 _021998cc: .word data_027e0fb8 -_021998d0: .word data_027e0e60 +_021998d0: .word gMapManager .global func_ov54_021998d4 arm_func_start func_ov54_021998d4 diff --git a/asm/ov55.inc b/asm/ov55.inc index 15e9e682..682fbcf7 100644 --- a/asm/ov55.inc +++ b/asm/ov55.inc @@ -25,7 +25,7 @@ .extern _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p .extern __register_global_object .extern data_027e0c54 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0fb8 @@ -40,7 +40,7 @@ .extern func_01fffcec .extern func_02019570 .extern func_020385b8 -.extern func_ov00_02083f44 +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p .extern func_ov00_02087d34 .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 diff --git a/asm/ov55.s b/asm/ov55.s index ea2867fb..7c50505e 100644 --- a/asm/ov55.s +++ b/asm/ov55.s @@ -585,7 +585,7 @@ func_ov55_021993b8: ; 0x021993b8 mov r5, #0 cmp r0, #0 bne _021994d4 - ldr r0, _02199640 ; =data_027e0e60 + ldr r0, _02199640 ; =gMapManager ldr r9, [sp, #0x1c] ldr r7, [sp, #0x20] ldr r10, [sp, #0x18] @@ -598,10 +598,10 @@ func_ov55_021993b8: ; 0x021993b8 str r10, [sp, #0xc] str r9, [sp, #0x10] str r3, [sp, #0x14] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p cmp r0, r8 bge _021994cc - ldr r0, _02199640 ; =data_027e0e60 + ldr r0, _02199640 ; =gMapManager ldr r10, [sp, #0x18] ldr r0, [r0] add r3, r7, #0x3000 @@ -610,7 +610,7 @@ func_ov55_021993b8: ; 0x021993b8 str r10, [sp] str r9, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p cmp r0, r8 movlt r6, r5 _021994cc: @@ -710,7 +710,7 @@ _021994d4: arm_func_end func_ov55_021993b8 _02199638: .word data_027e0f64 _0219963c: .word data_027e0c54 -_02199640: .word data_027e0e60 +_02199640: .word gMapManager _02199644: .word 0x0000105b _02199648: .word 0x0000038e _0219964c: .word gAdventureFlags diff --git a/asm/ov57.inc b/asm/ov57.inc index 142d8ebb..767a9d3c 100644 --- a/asm/ov57.inc +++ b/asm/ov57.inc @@ -30,7 +30,7 @@ .extern data_027e0d0c .extern data_027e0de4 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f94 @@ -57,7 +57,7 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 .extern func_ov00_02081f4c -.extern func_ov00_020840c4 +.extern _ZN10MapManager16MapData_vfunc_78Ev .extern func_ov00_02087f08 .extern func_ov00_0208967c .extern func_ov00_02093a1c diff --git a/asm/ov57.s b/asm/ov57.s index 5f2ea21c..d0a17125 100644 --- a/asm/ov57.s +++ b/asm/ov57.s @@ -143,10 +143,10 @@ func_ov57_02198e80: ; 0x02198e80 beq _02198f60 b _02198fac _02198ea4: - ldr r0, _02198fb8 ; =data_027e0e60 + ldr r0, _02198fb8 ; =gMapManager add r1, r4, #0x14 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 addeq sp, sp, #0x1c moveq r0, #0 @@ -218,7 +218,7 @@ _02198fac: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov57_02198e80 -_02198fb8: .word data_027e0e60 +_02198fb8: .word gMapManager _02198fbc: .word data_027e0fe4 .global func_ov57_02198fc0 @@ -613,10 +613,10 @@ func_ov57_02199454: ; 0x02199454 beq _02199490 b _021994b0 _02199470: - ldr r0, _021994b8 ; =data_027e0e60 + ldr r0, _021994b8 ; =gMapManager add r1, r1, #0x14 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -635,7 +635,7 @@ _021994b0: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov57_02199454 -_021994b8: .word data_027e0e60 +_021994b8: .word gMapManager _021994bc: .word data_027e0fe4 .global func_ov57_021994c0 @@ -760,7 +760,7 @@ _021995fc: mov r1, #0 str r0, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _021996ac ; =data_027e0e60 + ldr r0, _021996ac ; =gMapManager add r1, sp, #0x48 ldr r0, [r0] add r3, sp, #0x3c @@ -774,7 +774,7 @@ _0219969c: .word 0x0000199a _021996a0: .word 0x0000ffff _021996a4: .word data_ov57_0219ab00 _021996a8: .word data_ov57_0219ab0c -_021996ac: .word data_027e0e60 +_021996ac: .word gMapManager .global func_ov57_021996b0 arm_func_start func_ov57_021996b0 @@ -1189,7 +1189,7 @@ func_ov57_02199c78: ; 0x02199c78 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x20 mov r10, r0 - ldr r11, _02199d4c ; =data_027e0e60 + ldr r11, _02199d4c ; =gMapManager mov r7, r10 add r8, r10, #0x2c add r9, r10, #0x24 @@ -1206,7 +1206,7 @@ _02199ca0: _02199cb8: ldr r0, [r11] mov r1, r8 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _02199d2c ldr r3, [r0] @@ -1245,7 +1245,7 @@ _02199d2c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov57_02199c78 -_02199d4c: .word data_027e0e60 +_02199d4c: .word gMapManager _02199d50: .word data_027e0fe4 .global func_ov57_02199d54 @@ -1988,7 +1988,7 @@ func_ov57_0219a6b8: ; 0x0219a6b8 mov ip, #1 str r1, [sp, #0x2c] ldr r2, [r5, #0x50] - ldr r0, _0219a84c ; =data_027e0e60 + ldr r0, _0219a84c ; =gMapManager str r2, [sp, #0x30] ldr r3, [r5, #0x54] add r1, r5, #0xb8 @@ -2066,7 +2066,7 @@ _0219a830: arm_func_end func_ov57_0219a6b8 _0219a844: .word data_027e0ffc _0219a848: .word data_ov57_0219ab1c -_0219a84c: .word data_027e0e60 +_0219a84c: .word gMapManager .global func_ov57_0219a850 arm_func_start func_ov57_0219a850 diff --git a/asm/ov58.inc b/asm/ov58.inc index b1be52dd..470a005b 100644 --- a/asm/ov58.inc +++ b/asm/ov58.inc @@ -20,7 +20,7 @@ .extern data_027e0d3c .extern data_027e0d78 .extern data_027e0de4 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f6c .extern data_027e0f94 .extern data_027e0fb8 @@ -70,17 +70,17 @@ .extern func_ov00_0207c0ac .extern func_ov00_0207c0cc .extern func_ov00_02081f4c -.extern func_ov00_0208346c -.extern func_ov00_02083a1c -.extern func_ov00_02083c7c -.extern func_ov00_02083e58 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_02083f80 -.extern func_ov00_02083fb0 -.extern func_ov00_02084088 -.extern func_ov00_020840dc -.extern func_ov00_0208499c +.extern _ZN10MapManager18func_ov00_0208346cEP4AABB +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager16MapData_vfunc_6cEv +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager18func_ov00_020840dcEv +.extern _ZN10MapManager18func_ov00_0208499cEv .extern func_ov00_0208e72c .extern func_ov00_020a5e9c .extern func_ov00_020a61ac diff --git a/asm/ov58.s b/asm/ov58.s index 809266de..33b2e70a 100644 --- a/asm/ov58.s +++ b/asm/ov58.s @@ -86,22 +86,22 @@ func_ov58_02198d00: ; 0x02198d00 add r1, sp, #8 mov r2, r0 bl func_01ff9bc4 - ldr r1, _02198ef0 ; =data_027e0e60 + ldr r1, _02198ef0 ; =gMapManager add r0, sp, #4 ldr r6, [r1] add r2, sp, #0x14 mov r1, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #4 mov r0, r6 - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 bne _02198eb4 - ldr r0, _02198ef0 ; =data_027e0e60 + ldr r0, _02198ef0 ; =gMapManager add r1, sp, #0x14 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p ldr r1, [sp, #0x18] add r1, r1, #0xff add r1, r1, #0x1700 @@ -133,7 +133,7 @@ _02198eb4: _02198ee4: .word func_ov58_02198ef4 _02198ee8: .word func_ov58_02198ef8 _02198eec: .word data_027e0f6c -_02198ef0: .word data_027e0e60 +_02198ef0: .word gMapManager .global func_ov58_02198ef4 arm_func_start func_ov58_02198ef4 @@ -592,11 +592,11 @@ _021992c0: .word data_ov58_0219afc0 arm_func_start func_ov58_021992c4 func_ov58_021992c4: ; 0x021992c4 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _021993e8 ; =data_027e0e60 + ldr r2, _021993e8 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_0208499c + bl _ZN10MapManager18func_ov00_0208499cEv cmp r0, #0 beq _0219930c ldr r0, _021993ec ; =data_027e0c54 @@ -676,7 +676,7 @@ _021993e0: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov58_021992c4 -_021993e8: .word data_027e0e60 +_021993e8: .word gMapManager _021993ec: .word data_027e0c54 _021993f0: .word data_027e0d38 _021993f4: .word data_027e0fd4 @@ -786,10 +786,10 @@ _021994ba: mov r0, #0 pop {r4, r5, r6, r7, pc} _021994c2: - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager add r1, sp, #0x1bc ldr r0, [r0] - blx func_ov00_0208346c + blx _ZN10MapManager18func_ov00_0208346cEP4AABB ldr r0, [r4] add r1, sp, #0x128 str r0, [sp, #0x128] @@ -820,12 +820,12 @@ _021994fa: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199502: - ldr r1, _021997f4 ; =data_027e0e60 + ldr r1, _021997f4 ; =gMapManager add r0, sp, #0x58 ldr r1, [r1] add r0, #2 add r2, r4, #0 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, [r4] add r3, sp, #0x58 str r0, [sp, #0x1b0] @@ -835,7 +835,7 @@ _02199502: ldr r0, [r4, #8] mov r2, sp str r0, [sp, #0x1b8] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager ldrb r6, [r3] ldr r0, [r0] sub r2, r2, #4 @@ -844,7 +844,7 @@ _02199502: add r1, sp, #0x1b0 strb r3, [r2, #1] ldr r2, [r2] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r0, [r4, #4] str r0, [sp, #0x1b4] ldr r1, [r5, #0x18] @@ -882,7 +882,7 @@ _02199502: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199580: - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager add r3, sp, #0x24 mov r2, sp ldrb r6, [r3, #6] @@ -893,7 +893,7 @@ _02199580: add r1, sp, #0x1a4 strb r3, [r2, #1] ldr r2, [r2] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r1, [r4] ldr r0, [sp, #0x1a4] sub r1, r1, r0 @@ -946,9 +946,9 @@ _021995e2: str r0, [sp, #0x120] ldr r0, [sp, #0x1b8] str r0, [sp, #0x124] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager ldr r0, [r0] - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x1b4] _02199606: ldr r1, [sp, #0x198] @@ -1030,11 +1030,11 @@ _0219968e: ldr r1, [sp, #0x190] ldr r0, [sp, #0x14] add r0, r0, r1 - ldr r1, _021997f4 ; =data_027e0e60 + ldr r1, _021997f4 ; =gMapManager str r0, [sp, #0x1b8] ldr r1, [r1] add r0, sp, #0x58 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x58 ldrb r1, [r0] add r7, sp, #0x58 @@ -1044,7 +1044,7 @@ _0219968e: mov r3, sp sub r3, r3, #4 strb r0, [r7, #1] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager ldrb r2, [r7] ldr r0, [r0] add r1, sp, #0x1b0 @@ -1052,7 +1052,7 @@ _0219968e: ldrb r2, [r7, #1] strb r2, [r3, #1] ldr r2, [r3] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r1, [sp, #0x1b4] ldr r0, _021997fc ; =0x00000999 mov r2, #0 @@ -1063,10 +1063,10 @@ _0219968e: ldr r0, [sp, #0x1b8] str r1, [sp, #0x108] str r0, [sp, #0x10c] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager add r1, sp, #0x104 ldr r0, [r0] - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x198] str r0, [sp, #0x1b4] add r0, r0, r1 @@ -1148,23 +1148,23 @@ _02199750: add r6, r0, #0 _02199796: ldr r2, [r5, #0x18] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager sub r2, r2, #1 ldr r1, [r5, #0x1c] lsl r2, r2, #1 ldr r0, [r0] add r1, r1, r2 - blx func_ov00_02084088 + blx _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x19 bne _021997ec ldr r1, [r5, #0x18] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager sub r1, r1, #1 ldr r2, [r5, #0x1c] lsl r1, r1, #1 ldr r0, [r0] add r1, r2, r1 - blx func_ov00_02083e58 + blx _ZN10MapManager16MapData_vfunc_60Ev ldr r1, [sp, #0x18] mov r2, #0 str r1, [sp, #0xf8] @@ -1174,9 +1174,9 @@ _02199796: ldr r0, [sp, #0x14] add r1, sp, #0xf8 str r0, [sp, #0x100] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager ldr r0, [r0] - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev add r6, r0, #0 ldr r0, [sp, #0x1b4] sub r1, r0, r6 @@ -1193,7 +1193,7 @@ _021997ec: .align 2, 0 thumb_func_end func_ov58_02199498 _021997f0: .word data_ov58_0219aec0 -_021997f4: .word data_027e0e60 +_021997f4: .word gMapManager _021997f8: .word data_027e0f94 _021997fc: .word 0x00000999 _02199800: .word 0x00001333 @@ -1233,11 +1233,11 @@ _0219983e: ldr r0, [sp, #0x14] add r2, sp, #0x64 str r0, [sp, #0xf4] - ldr r0, _02199b44 ; =data_027e0e60 + ldr r0, _02199b44 ; =gMapManager add r3, sp, #0x17c ldr r0, [r0] str r6, [sp, #0xf0] - blx func_ov00_02083f80 + blx _ZN10MapManager16MapData_vfunc_6cEv ldr r0, [sp, #0x17c] cmp r0, #0 bne _02199862 @@ -1283,7 +1283,7 @@ _02199872: str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] - ldr r0, _02199b44 ; =data_027e0e60 + ldr r0, _02199b44 ; =gMapManager ldr r0, [r0] blx func_01ffbe78 ldr r1, _02199b4c ; =data_ov58_0219b100 @@ -1311,12 +1311,12 @@ _021998c8: str r1, [sp, #0x1b4] str r0, [sp, #0x1b8] ldr r0, [r5, #0x24] - ldr r1, _02199b44 ; =data_027e0e60 + ldr r1, _02199b44 ; =gMapManager str r0, [sp, #0x1b4] add r0, sp, #0x54 ldr r1, [r1] add r0, #2 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x54 add r1, #2 ldrb r2, [r1] @@ -1362,7 +1362,7 @@ _02199932: pop {r4, r5, r6, r7, pc} _02199940: ldr r0, [sp, #0x1d4] - ldr r1, _02199b44 ; =data_027e0e60 + ldr r1, _02199b44 ; =gMapManager str r0, [sp, #0x170] ldr r0, [sp, #0x1d8] ldr r1, [r1] @@ -1371,7 +1371,7 @@ _02199940: add r2, sp, #0x170 str r0, [sp, #0x178] add r0, sp, #0x54 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x54 ldrb r1, [r0] add r2, sp, #0x58 @@ -1396,7 +1396,7 @@ _02199940: pop {r4, r5, r6, r7, pc} _02199986: add r7, sp, #0x58 - ldr r0, _02199b44 ; =data_027e0e60 + ldr r0, _02199b44 ; =gMapManager add r7, #2 mov r3, sp ldrb r2, [r7] @@ -1407,7 +1407,7 @@ _02199986: add r1, sp, #0x170 strb r2, [r3, #1] ldr r2, [r3] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r0, r7, #0 ldrb r2, [r0] add r1, sp, #0x24 @@ -1488,12 +1488,12 @@ _02199a30: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199a38: - ldr r1, _02199b44 ; =data_027e0e60 + ldr r1, _02199b44 ; =gMapManager add r0, sp, #0x50 ldr r1, [r1] add r0, #2 add r2, sp, #0x170 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x50 add r0, #2 ldrb r1, [r0] @@ -1539,7 +1539,7 @@ _02199a76: str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] - ldr r0, _02199b44 ; =data_027e0e60 + ldr r0, _02199b44 ; =gMapManager add r3, sp, #0xb0 ldr r0, [r0] blx func_01ffbe78 @@ -1554,11 +1554,11 @@ _02199a76: _02199aba: cmp r0, #0 bne _02199b30 - ldr r1, _02199b44 ; =data_027e0e60 + ldr r1, _02199b44 ; =gMapManager add r0, sp, #0x50 ldr r1, [r1] add r2, sp, #0x170 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x50 ldrb r2, [r1] add r0, sp, #0x58 @@ -1597,7 +1597,7 @@ _02199aba: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199b14: - ldr r0, _02199b44 ; =data_027e0e60 + ldr r0, _02199b44 ; =gMapManager add r7, sp, #0x24 mov r3, sp ldrb r2, [r7, #4] @@ -1608,7 +1608,7 @@ _02199b14: add r1, sp, #0x170 strb r2, [r3, #1] ldr r2, [r3] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi b _02199bde _02199b30: add r0, sp, #0x214 @@ -1616,11 +1616,11 @@ _02199b30: cmp r0, #0 beq _02199bd6 ldr r0, [sp, #0x1d4] - ldr r1, _02199b44 ; =data_027e0e60 + ldr r1, _02199b44 ; =gMapManager b _02199b58 nop _02199b40: .word 0x00000999 -_02199b44: .word data_027e0e60 +_02199b44: .word gMapManager _02199b48: .word 0x0000099a _02199b4c: .word data_ov58_0219b100 _02199b50: .word data_ov58_0219b0f0 @@ -1635,7 +1635,7 @@ _02199b58: str r0, [sp, #0x178] add r0, sp, #0x4c add r0, #2 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x4c add r1, #2 ldrb r2, [r1] @@ -1675,7 +1675,7 @@ _02199b58: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199bba: - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r7, sp, #0x24 mov r3, sp ldrb r2, [r7, #2] @@ -1686,7 +1686,7 @@ _02199bba: add r1, sp, #0x170 strb r2, [r3, #1] ldr r2, [r3] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi b _02199bde _02199bd6: add sp, #0x1fc @@ -1700,7 +1700,7 @@ _02199bde: ldr r1, _02199ee8 ; =0x00000999 str r0, [sp, #0x1b0] str r0, [sp, #0xa4] - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r1, r3, r1 str r3, [sp, #0x1b4] ldr r0, [r0] @@ -1710,7 +1710,7 @@ _02199bde: str r1, [sp, #0xa8] add r1, sp, #0xa4 mov r2, #0 - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x198] str r0, [sp, #0x1b4] add r0, r0, r1 @@ -1727,7 +1727,7 @@ _02199c18: cmp r0, #0 beq _02199cc8 ldr r0, [sp, #0x1d4] - ldr r1, _02199ee4 ; =data_027e0e60 + ldr r1, _02199ee4 ; =gMapManager str r0, [sp, #0x158] ldr r0, [sp, #0x1d8] ldr r1, [r1] @@ -1736,7 +1736,7 @@ _02199c18: add r2, sp, #0x158 str r0, [sp, #0x160] add r0, sp, #0x4c - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x4c ldrb r2, [r1] add r0, sp, #0x58 @@ -1775,7 +1775,7 @@ _02199c18: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199c80: - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r7, sp, #0x24 mov r3, sp ldrb r2, [r7] @@ -1786,14 +1786,14 @@ _02199c80: add r1, sp, #0x158 strb r2, [r3, #1] ldr r2, [r3] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r0, [sp, #0x158] ldr r2, [sp, #0x160] ldr r3, [sp, #0x15c] ldr r1, _02199ee8 ; =0x00000999 str r0, [sp, #0x1b0] str r0, [sp, #0x98] - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r1, r3, r1 str r3, [sp, #0x1b4] ldr r0, [r0] @@ -1803,7 +1803,7 @@ _02199c80: str r1, [sp, #0x9c] add r1, sp, #0x98 mov r2, #0 - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x198] str r0, [sp, #0x1b4] add r0, r0, r1 @@ -1815,28 +1815,28 @@ _02199cc8: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199cd0: - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r2, sp, #0x1b0 ldr r7, [r0] add r0, sp, #0x48 add r0, #2 add r1, r7, #0 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x48 add r0, r7, #0 add r1, #2 - blx func_ov00_02084088 + blx _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x19 bne _02199d0c - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r2, sp, #0x1b0 ldr r7, [r0] add r0, sp, #0x48 add r1, r7, #0 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, r7, #0 add r1, sp, #0x48 - blx func_ov00_02083e58 + blx _ZN10MapManager16MapData_vfunc_60Ev ldr r1, _02199eec ; =0x00001333 str r0, [sp, #0x1b4] sub r0, r0, r1 @@ -1850,9 +1850,9 @@ _02199d0c: str r0, [sp, #0x90] ldr r0, [sp, #0x1b8] str r0, [sp, #0x94] - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager ldr r0, [r0] - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x1b4] _02199d26: ldr r0, [sp, #0x18] @@ -1877,11 +1877,11 @@ _02199d3e: beq _02199d50 mov r6, #0 _02199d50: - ldr r1, _02199ee4 ; =data_027e0e60 + ldr r1, _02199ee4 ; =gMapManager add r0, sp, #0x60 ldr r1, [r1] add r2, r7, #0 - blx func_ov00_02083fb0 + blx _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r1, [sp, #0x60] ldr r0, [sp, #0x60] lsr r2, r1, #5 @@ -1901,7 +1901,7 @@ _02199d50: ldr r3, [sp, #0x140] str r0, [sp, #0x1b4] str r0, [sp, #0x84] - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager str r1, [sp, #0x1b8] str r1, [sp, #0x88] ldr r0, [r0] @@ -1909,13 +1909,13 @@ _02199d50: mov r2, #0 str r3, [sp, #0x1b0] str r3, [sp, #0x80] - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x198] str r0, [sp, #0x1b4] add r0, r0, r1 str r0, [sp, #0x1b4] ldr r0, [sp, #0x1b0] - ldr r1, _02199ee4 ; =data_027e0e60 + ldr r1, _02199ee4 ; =gMapManager str r0, [r4] ldr r0, [sp, #0x1b4] add r2, sp, #0x1b0 @@ -1925,7 +1925,7 @@ _02199d50: add r0, sp, #0x44 ldr r1, [r1] add r0, #2 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x44 add r0, #2 ldrb r2, [r0] @@ -1983,11 +1983,11 @@ _02199e0c: blx func_ov58_0219a3b4 cmp r0, #0 beq _02199e54 - ldr r1, _02199ee4 ; =data_027e0e60 + ldr r1, _02199ee4 ; =gMapManager add r0, sp, #0x44 ldr r1, [r1] add r2, sp, #0x1b0 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x44 mov r3, sp ldrb r2, [r1] @@ -2005,7 +2005,7 @@ _02199e0c: b _02199e8a _02199e54: ldr r0, [sp, #0x1b0] - ldr r1, _02199ee4 ; =data_027e0e60 + ldr r1, _02199ee4 ; =gMapManager str r0, [sp, #0x74] ldr r0, [sp, #0x1b4] ldr r1, [r1] @@ -2014,7 +2014,7 @@ _02199e54: add r2, sp, #0x74 str r0, [sp, #0x7c] add r0, sp, #0x5c - blx func_ov00_02083fb0 + blx _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0x5c] ldr r2, [sp, #0x5c] lsr r1, r0, #5 @@ -2077,7 +2077,7 @@ _02199eda: add sp, #0x38 pop {r4, r5, r6, r7, pc} .align 2, 0 -_02199ee4: .word data_027e0e60 +_02199ee4: .word gMapManager _02199ee8: .word 0x00000999 _02199eec: .word 0x00001333 @@ -2087,7 +2087,7 @@ func_ov58_02199ef0: ; 0x02199ef0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x24 - ldr r0, _02199fd4 ; =data_027e0e60 + ldr r0, _02199fd4 ; =gMapManager ldrb r1, [sp, #0x4c] ldr r0, [r0] sub r3, sp, #4 @@ -2096,9 +2096,9 @@ func_ov58_02199ef0: ; 0x02199ef0 add r1, sp, #0x18 strb r2, [r3, #1] ldr r2, [r3] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r8, #0 - ldr r4, _02199fd4 ; =data_027e0e60 + ldr r4, _02199fd4 ; =gMapManager mov r9, r8 add r5, sp, #0xc mov r7, r8 @@ -2127,11 +2127,11 @@ _02199f40: mov r2, #0 mov r1, r5 bne _02199fa4 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r10, r0 b _02199fb0 _02199fa4: - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p cmp r10, r0 movle r10, r0 _02199fb0: @@ -2146,7 +2146,7 @@ _02199fb0: bx lr .align 2, 0 arm_func_end func_ov58_02199ef0 -_02199fd4: .word data_027e0e60 +_02199fd4: .word gMapManager .global func_ov58_02199fd8 arm_func_start func_ov58_02199fd8 @@ -2204,7 +2204,7 @@ func_ov58_0219a084: ; 0x0219a084 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xcc - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager ldrb r1, [sp, #0xf4] ldr r0, [r0] sub r3, sp, #4 @@ -2213,9 +2213,9 @@ func_ov58_0219a084: ; 0x0219a084 add r1, sp, #0x30 strb r2, [r3, #1] ldr r2, [r3] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r8, #0 - ldr r4, _0219a3a8 ; =data_027e0e60 + ldr r4, _0219a3a8 ; =gMapManager add r10, sp, #0x3c mov r9, r8 mov r7, r8 @@ -2243,7 +2243,7 @@ _0219a0d8: ldr r0, [r4] mov r1, r10 mov r2, r11 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p str r0, [r10, #4] add r9, r9, #0x4000 add r10, r10, #0xc @@ -2285,7 +2285,7 @@ _0219a0d8: add r1, sp, #0x6c str r0, [sp, #0xc] str r2, [sp, #0x10] - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager add r2, sp, #0x3c ldr r0, [r0] add r3, sp, #0x54 @@ -2306,7 +2306,7 @@ _0219a0d8: mov r1, #0 str r0, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager add r1, sp, #0x6c ldr r0, [r0] add r2, sp, #0x48 @@ -2328,7 +2328,7 @@ _0219a0d8: mov r1, #0 str r0, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager add r1, sp, #0x6c ldr r0, [r0] add r2, sp, #0x54 @@ -2350,7 +2350,7 @@ _0219a0d8: mov r1, #0 str r0, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager add r1, sp, #0x6c ldr r0, [r0] add r2, sp, #0x60 @@ -2390,12 +2390,12 @@ _0219a338: add sp, sp, #0x10 bx lr _0219a368: - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager add r1, sp, #0x30 ldr r0, [r0] add r2, sp, #0x14 add r3, sp, #0x18 - bl func_ov00_02083f80 + bl _ZN10MapManager16MapData_vfunc_6cEv ldr r0, [sp, #0x18] cmp r0, #0 ldreq r0, [sp, #0x20] @@ -2408,7 +2408,7 @@ _0219a368: bx lr .align 2, 0 arm_func_end func_ov58_0219a084 -_0219a3a8: .word data_027e0e60 +_0219a3a8: .word gMapManager _0219a3ac: .word 0x0000ffff _0219a3b0: .word data_ov58_0219b0f0 @@ -2529,7 +2529,7 @@ func_ov58_0219a47c: ; 0x0219a47c add lr, sp, #4 ldmia r0, {r0, r1, r2} stmia lr, {r0, r1, r2} - ldr r3, _0219a5b0 ; =data_027e0e60 + ldr r3, _0219a5b0 ; =gMapManager sub ip, sp, #4 ldr r0, [r3] mov r1, lr @@ -2538,7 +2538,7 @@ func_ov58_0219a47c: ; 0x0219a47c ldr r2, [ip] strb r7, [sp] strb r6, [sp, #1] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi bl func_020385b8 add r1, sp, #4 bl _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p @@ -2569,7 +2569,7 @@ _0219a59c: arm_func_end func_ov58_0219a47c _0219a5a8: .word data_027e077c _0219a5ac: .word data_027e103c -_0219a5b0: .word data_027e0e60 +_0219a5b0: .word gMapManager _0219a5b4: .word data_027e0fb8 .global func_ov58_0219a5b8 diff --git a/asm/ov59.inc b/asm/ov59.inc index 2a3e99cf..b1008d20 100644 --- a/asm/ov59.inc +++ b/asm/ov59.inc @@ -1,4 +1,7 @@ #pragma once +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020858b0Ev .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase12GetPlayerPosEv @@ -15,7 +18,7 @@ .extern data_02050f54 .extern data_027e0d38 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f94 .extern data_027e0fb8 .extern data_027e0fc8 @@ -43,9 +46,6 @@ .extern func_ov00_02078b40 .extern func_ov00_0207c1b0 .extern func_ov00_0207c358 -.extern func_ov00_02083ee0 -.extern func_ov00_02083fb0 -.extern func_ov00_020858b0 .extern func_ov00_020a5e9c .extern func_ov00_020b853c .extern func_ov00_020b8c50 diff --git a/asm/ov59.s b/asm/ov59.s index 79b12542..894f00e9 100644 --- a/asm/ov59.s +++ b/asm/ov59.s @@ -212,10 +212,10 @@ func_ov59_02198f10: ; 0x02198f10 str r0, [sp, #8] ldr r0, [r5, #0x20] cmp r0, #0 - ldr r0, _02198fa4 ; =data_027e0e60 + ldr r0, _02198fa4 ; =gMapManager moveq r2, #1 ldr r0, [r0] - bl func_ov00_020858b0 + bl _ZN10MapManager18func_ov00_020858b0Ev _02198f88: mov r0, #0 strb r0, [r5, #0x1c] @@ -226,7 +226,7 @@ _02198f88: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov59_02198f10 -_02198fa4: .word data_027e0e60 +_02198fa4: .word gMapManager .global func_ov59_02198fa8 arm_func_start func_ov59_02198fa8 @@ -749,7 +749,7 @@ _02199620: mov r7, #0 str r0, [r4, #0x50] ldr r0, [r2, #4] - ldr r1, _0219a088 ; =data_027e0e60 + ldr r1, _0219a088 ; =gMapManager add r0, r0, #0x99 add r0, r0, #0x900 str r0, [r4, #0x4c] @@ -971,7 +971,7 @@ _02199968: ldr r0, [sp, #0x5c] orr ip, ip, r6, lsl #20 add r6, r0, ip - ldr r3, _0219a088 ; =data_027e0e60 + ldr r3, _0219a088 ; =gMapManager orr r5, r5, r1, lsl #20 ldr r0, [sp, #0x64] ldr r1, [r3] @@ -982,7 +982,7 @@ _02199968: str r6, [sp, #0x38] str r5, [sp, #0x64] str r5, [sp, #0x40] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i bl func_ov59_02198e2c ldrb r1, [r0, #0x27] mov r2, #0 @@ -1089,7 +1089,7 @@ _02199bcc: bl func_ov00_020ceb24 b _02199fa4 _02199bdc: - ldr r0, _0219a088 ; =data_027e0e60 + ldr r0, _0219a088 ; =gMapManager ldr r6, [sp, #0x5c] ldr r5, [sp, #0x60] ldr r3, [sp, #0x64] @@ -1099,7 +1099,7 @@ _02199bdc: str r6, [sp, #0x2c] str r5, [sp, #0x30] str r3, [sp, #0x34] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x99 ldr r1, [sp, #0x60] add r0, r0, #0x900 @@ -1108,7 +1108,7 @@ _02199bdc: movgt r0, #0 cmp r0, #0 beq _02199f70 - ldr r0, _0219a088 ; =data_027e0e60 + ldr r0, _0219a088 ; =gMapManager ldr r6, [sp, #0x5c] ldr r5, [sp, #0x60] ldr r3, [sp, #0x64] @@ -1118,7 +1118,7 @@ _02199bdc: str r6, [sp, #0x20] str r5, [sp, #0x24] str r3, [sp, #0x28] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x60] ldr r1, [sp, #0x1c] ldr r2, [r4, #0x344] @@ -1408,7 +1408,7 @@ _0219a078: .word data_02050f54 _0219a07c: .word data_027e0e58 _0219a080: .word data_027e0ffc _0219a084: .word 0x0000ffff -_0219a088: .word data_027e0e60 +_0219a088: .word gMapManager _0219a08c: .word 0xfffff999 _0219a090: .word 0x00000666 _0219a094: .word data_027e0fe4 @@ -1543,7 +1543,7 @@ _0219a24c: stmia r6, {r0, r1, r2} ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0219a9fc ; =data_027e0e60 + ldr r0, _0219a9fc ; =gMapManager ldr r4, [r10, #8] ldr r0, [r0] ldr r2, [r10, #0x98] @@ -1618,7 +1618,7 @@ _0219a24c: strh r7, [r0, #0x6e] mov r6, #0 strh r6, [r0, #0x70] - ldr r11, _0219a9fc ; =data_027e0e60 + ldr r11, _0219a9fc ; =gMapManager strb r6, [sp, #0x1ae] strb r6, [sp, #0x1af] strb r6, [sp, #0x1b0] @@ -1832,7 +1832,7 @@ _0219a668: mov r8, r3 ldmia r0, {r0, r1, r2} stmia r8, {r0, r1, r2} - ldr r0, _0219a9fc ; =data_027e0e60 + ldr r0, _0219a9fc ; =gMapManager ldr r8, [r10, #8] ldr r0, [r0] ldr r2, [r10, #0x98] @@ -1967,7 +1967,7 @@ _0219a8c8: mov ip, r3 ldmia r5, {r0, r1, r2} stmia ip, {r0, r1, r2} - ldr r0, _0219a9fc ; =data_027e0e60 + ldr r0, _0219a9fc ; =gMapManager ldr r2, [r10, #8] ldr r0, [r0] ldr ip, [r10, #0x98] @@ -2034,7 +2034,7 @@ _0219a9ec: .word data_ov59_0219b110 _0219a9f0: .word data_027e0f94 _0219a9f4: .word 0x00000666 _0219a9f8: .word data_02050f54 -_0219a9fc: .word data_027e0e60 +_0219a9fc: .word gMapManager _0219aa00: .word 0xfffff99a _0219aa04: .word 0x0000ffff @@ -2203,7 +2203,7 @@ _0219abcc: str r7, [sp, #0x3c] str r8, [sp, #0x40] ldr r1, [r5, #0x98] - ldr r0, _0219af00 ; =data_027e0e60 + ldr r0, _0219af00 ; =gMapManager str r1, [sp] ldr r2, [r5, #8] add r1, sp, #0xc8 @@ -2298,7 +2298,7 @@ _0219ad18: str lr, [sp, #0x18] str r7, [sp, #0x1c] ldr r1, [r5, #0x98] - ldr r0, _0219af00 ; =data_027e0e60 + ldr r0, _0219af00 ; =gMapManager stmia sp, {r1, ip} ldrh r7, [r5, #0x9c] add r1, sp, #0x68 @@ -2375,7 +2375,7 @@ _0219aebc: _0219aef4: .word data_027e0fd4 _0219aef8: .word data_027e0f94 _0219aefc: .word 0x0000ffff -_0219af00: .word data_027e0e60 +_0219af00: .word gMapManager _0219af04: .word data_027e0fb8 _0219af08: .word gItemManager _0219af0c: .word data_ov00_020dc7d0 diff --git a/docs/courses.md b/docs/courses.md new file mode 100644 index 00000000..2a73d15b --- /dev/null +++ b/docs/courses.md @@ -0,0 +1,81 @@ +# Courses +Courses are collections of maps in the same area. This file documents what is known about courses in the game. +- [List of courses](#list-of-courses) + +## List of courses +This table shows data about all courses. Much of this data can be found in `Map/courselist.clb` in the assets. Feel free to +contribute to this list! + +Index | Name | Type | Internal Name | Description +------|----------------|------|---------------|------ +0 | `sea` | 2 | `*ウミ` | Sea +1 | `sea_minigame` | 2 | `*ミニゲームウミ` | Cannon Game +2 | `sea_fishing` | 2 | `*ツリ` | Fishing +3 | `sea_salvage` | 2 | `*サルベージ` | Salvage +4 | `ship` | 0 | `*フネ` | S.S. Linebeck +5 | `ship_terry` | 0 | `*テリーセン` | Beedle's Shop Ship +6 | `ship_wonder` | 0 | `*フシギフネ` | Man of Smiles's Boat +7 | `ship_flink` | 0 | `*ニセリンクフネ` | Prince of Red Lions Ship +8 | `ship_fisher` | 0 | `*リョウシフネ` | S.S. Wayfarer +9 | `ship_hoho` | 0 | `*ホーホーフネ` | Ho Ho Tribe +10 | `ship_guard` | 0 | `*ケイビインフネ` | Nyave's Boat +11 | `isle_main` | 0 | `*メインジマ` | Mercay Island +12 | `isle_pluck` | 0 | `*ユウキジマ` | Molida Island +13 | `isle_flame` | 0 | `*ヒシマ` | Isle of Ember +14 | `isle_wind` | 0 | `*カゼジマ` | Isle of Gust +15 | `isle_water` | 0 | `*コオリシマ` | Isle of Frost +16 | `isle_power` | 0 | `*チカラシマ` | Goron Island +17 | `isle_wisdom` | 0 | `*チエジマ` | Isle of Ruins (High Water) +18 | `isle_wisdom2` | 0 | `*チエジマ2` | Isle of Ruins (Low Water) +19 | `isle_torii` | 0 | `*トリイシマ` | Cannon Island +20 | `isle_hidari` | 0 | `*ヒダリダイシマ` | Bannan Island +21 | `isle_myou` | 0 | `*ミョウジマ` | Isle of the Dead +22 | `isle_wizard` | 0 | `*センニンジマ` | Zauz's Island +23 | `isle_shrine` | 0 | `*ホコラジマ` | Spirit Island +24 | `isle_small1` | 0 | `*コジマ1` | Harrow Island +25 | `isle_small2` | 0 | `*コジマ2` | Maze Island +26 | `isle_small3` | 0 | `*コジマ3` | Uncharted Island +27 | `isle_small5` | 0 | `*コジマ5` | Dee Ess Island +28 | `dngn_flame` | 1 | `*ヒシンデン` | Temple of Fire +29 | `dngn_wind` | 1 | `*カゼシンデン` | Temple of Wind +30 | `dngn_pluck` | 1 | `*ユウキシンデン` | Temple of Courage +31 | `dngn_water` | 1 | `*コオリシンデン` | Temple of Ice +32 | `dngn_power` | 1 | `*チカラシンデン` | Goron Temple +33 | `dngn_wisdom` | 1 | `*チエシンデン` | Mutoh's Temple +34 | `dngn_wisdom2` | 1 | `*チエシンデン2` | Doylan's Temple +35 | `dngn_wisdom3` | 1 | `*チエシンデン3` | Max's Temple +36 | `dngn_wisdom4` | 1 | `*チエシンデン4` | Bremeur's Temple +37 | `dngn_main` | 3 | `*メインダン` | Temple of the Ocean King +38 | `dngn_main_f` | 1 | `*メインゼンシツ` | Temple of the Ocean King Lobby +39 | `dngn_first` | 1 | `*チュートリアル` | Mountain Passage +40 | `dngn_torii` | 1 | `*トリイダン` | Cannon Island Cave +41 | `dngn_ghost` | 1 | `*ユウレイセン` | Ghost Ship +42 | `boss_wind` | 1 | `*カゼボス` | Cyclok +43 | `boss_flame` | 1 | `*ヒボス` | Blaaz +44 | `boss_pluck` | 1 | `*ユウキボス` | Crayk +45 | `boss_water` | 1 | `*コオリボス` | Gleeok +46 | `boss_power` | 1 | `*チカラボス` | Dongorongo +47 | `boss_wisdom` | 1 | `*チエボス` | Eox +48 | `boss_ghost` | 1 | `*ユウレイボス` | Diabolical Cubus Sisters +49 | `boss_last1` | 1 | `*ラスボス1` | Bellum +50 | `boss_last2` | 2 | `*ラスボス2` | Bellum's Ghost Ship +51 | `boss_last3` | 1 | `*ラスボス3` | Bellumbeck +52 | `demo_op` | 0 | `*オープニング` +53 | `demo_title` | 0 | `*キャクマチ` +54 | `demo_end` | 0 | `*エンディング` +55 | `demo_chase` | 0 | `*デモ26_03` +56 | `seatest` | 2 | `Sea Test` +57 | `wmtest2` | 1 | `MapTest` +58 | `player_dngn` | 1 | `Player Dngn` +59 | `enemytest` | 0 | `Enemy Test` +60 | `eventtest` | 1 | `Event Test` +61 | `roomtest` | 0 | `RoomTest` +62 | `battle00` | 4 | `*Battle 0` +63 | `battle01` | 4 | `*Battle 1` +64 | `battle02` | 4 | `*Battle 2` +65 | `battle03` | 4 | `*Battle 3` +66 | `battle04` | 4 | `*Battle 4` +67 | `battle05` | 4 | `*Battle 5` +68 | `battle06` | 4 | `*Battle 6` +69 | `battle07` | 4 | `*Battle 7` +70 | `battle11` | 4 | `*バトル11` diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 44defa6f..7acaf4a3 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -6,6 +6,7 @@ #include "Actor/ActorNavi.hpp" #include "Item/Item.hpp" +#include "Map/MapManager.hpp" #include "Player/EquipItem.hpp" #include "System/SysNew.hpp" #include "System/OverlayManager.hpp" diff --git a/include/Map/CameraViewpoint.hpp b/include/Map/CameraViewpoint.hpp new file mode 100644 index 00000000..c952078b --- /dev/null +++ b/include/Map/CameraViewpoint.hpp @@ -0,0 +1,19 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "lib/math.h" + +#include "System/SysNew.hpp" + +class CameraViewpoint : public SysObject { + /* 00 */ unk32 mUnk_00; + /* 04 */ unk8 mUnk_04; + /* 05 */ unk8 mUnk_05[3]; + /* 08 */ Vec3p mPos; + /* 14 */ unk16 mUnk_14; + /* 16 */ unk16 mUnk_16; + /* 18 */ unk16 mUnk_18[2]; + /* 1c */ +}; diff --git a/include/Map/Course.hpp b/include/Map/Course.hpp new file mode 100644 index 00000000..1768ae85 --- /dev/null +++ b/include/Map/Course.hpp @@ -0,0 +1,112 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Map/Course_Unk_c8.hpp" +#include "Map/MapData.hpp" +#include "Physics/AABB.hpp" +#include "System/SysNew.hpp" + +typedef unk32 CourseType; +enum CourseType_ { + CourseType_Normal = 0, + CourseType_Dungeon = 1, + CourseType_Sea = 2, + CourseType_TempleOfTheOceanKing = 3, + CourseType_Battle = 4, +}; + +struct CourseProgress { + /* 0 */ unk32 flags; + /* 4 */ s8 numKeys; + /* 5 */ bool blueWarpOpen; + /* 6 */ +}; + +class Course : public SysObject { + /* 000 */ unk32 mIndex; + /* 004 */ CourseType mType; + /* 008 */ unk32 mUnk_008; + /* 00c */ char mName[0x10]; + /* 01c */ Vec2b mCurrMapPos; // position in the map grid + /* 01e */ unk8 mUnk_01e; + /* 01f */ unk8 mUnk_01f; + /* 020 */ unk8 mMapGrid[10][10]; + /* 084 */ Vec2b mMainGrid; // part of the grid where you can walk off screen to another map + /* 086 */ Vec2b mMainGridSize; + /* 088 */ s32 mScreenMapOffsetX; + /* 08c */ s32 mScreenMapOffsetY; + /* 090 */ unk32 mUnk_090; + /* 094 */ unk32 mUnk_094; + /* 098 */ AABB mBounds; + /* 0b0 */ s8 mNumMaps; + /* 0b1 */ unk8 mUnk_0b1; + /* 0b2 */ unk8 mUnk_0b2; + /* 0b3 */ unk8 mUnk_0b3; + /* 0b4 */ unk32 mUnk_0b4; + /* 0b8 */ unk32 mUnk_0b8; + /* 0bc */ unk32 mUnk_0bc; + /* 0c0 */ unk32 mUnk_0c0; + /* 0c4 */ unk32 mUnk_0c4; + /* 0c8 */ Course_Unk_c8 *mUnk_0c8; + /* 0cc */ MapData *mMapData[100]; + /* 25c */ bool mUnk_25c; + /* 25d */ bool mBlueWarpOpen; + /* 25e */ unk8 mUnk_25e; + /* 25f */ unk8 mUnk_25f; + /* 260 */ unk32 mNumKeys; + /* 260 */ unk32 mFlags0[1]; + /* 268 */ unk32 mFlags1[1]; // knows which doors are open in a dungeon + /* 26c */ + + void GetDungeonProgress(CourseProgress *param_2); + void func_ov00_0207ca28(s32 param_2, unk32 param_3, unk32 param_4); + char* SetCourseName(char *src); + void func_ov00_0207ca78(unk32 param_2, unk8 param_3, unk32 param_4); + bool func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4); + unk32 func_ov00_0207cb30(s32 param_2); + static void FindMapGridPos(Vec2b *pos, Course *param_2, u32 map); + Vec3p* FindMapCenter(unk32 map); + void func_ov00_0207cbe8(s32 param_2); + unk8 func_ov00_0207cc24(s32 param_2); + unk32 FindMapData_Unk_08(unk32 map); + void GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType); + void GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4); + void func_ov00_0207ce20(unk32 param_2, unk32 param_3, char *param_4, unk32 param_5); + void func_ov00_0207ce4c(s32 param_2, s32 param_3, unk32 param_4, char *param_5, unk32 param_6); + bool func_ov00_0207d404(s32 param_2, unk32 param_3, unk32 param_4); + bool IsCurrentMapInMainGrid(); + bool IsInMainGrid(s32 x, s32 y); + bool IsMapInMainGrid(u32 map); + bool GetMapScreenPos(s32 map, s32 *x, s32 *y); + u32 GetScreenMapCellSizeX(); + u32 GetScreenMapCellSizeY(); + unk32 Get_Unk_c8_00(); + unk32 Get_Unk_c8_04(); + bool IsAdjacentMapOnMainGrid(unk32 dir); + bool HasGridMap(s32 x, s32 y); + unk8 GetAdjacentMap(unk32 dir); + u32 GetAdjacentMapX(s32 ir); + u32 GetAdjacentMapY(s32 dir); + u16 FindCurrentMapData_Unk_04(); + u32 FindMapData_Unk_04(unk32 param_2); + unk32 FindMapData_Unk_0c(unk32 map); + void func_ov00_0207d7bc(); + void SetFlag0(u32 index, bool value); + bool GetFlag0(u32 index); + void SetFlag1(u32 index, bool value); + bool SetFlag1(u32 index); + void SetMapDataFlag0(unk32 index, bool value); + bool GetMapDataFlag0(unk32 param_2); + void SetMapDataFlag1(unk32 param_2, bool param_3); + bool GetMapDataFlag1(unk32 param_2); + void SetMapDataFlag2(unk32 param_2, bool param_3); + bool GetMapDataFlag2(unk32 param_2); + void SetMapDataFlag3(unk32 param_2, bool param_3); + bool GetMapDataFlag3(unk32 param_2); + void SetMapDataFlag4(unk32 param_2, unk32 param_3); + bool GetMapDataFlag4(unk32 param_2); + MapData* FindMapData(u32 map); + MapData* FindCurrentMapData(); +}; diff --git a/include/Map/Course_Unk_c8.hpp b/include/Map/Course_Unk_c8.hpp new file mode 100644 index 00000000..317f2b70 --- /dev/null +++ b/include/Map/Course_Unk_c8.hpp @@ -0,0 +1,19 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" + +class Course_Unk_c8 : public SysObject { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk8 mUnk_0c; + /* 0d */ unk8 mUnk_0d[3]; + /* 10 */ void *mUnk_10; + /* 14 */ s32 mUnk_14; + /* 18 */ u32 mUnk_18; + /* 1c */ +}; diff --git a/include/Map/Entrance.hpp b/include/Map/Entrance.hpp new file mode 100644 index 00000000..d9bea6ef --- /dev/null +++ b/include/Map/Entrance.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "lib/math.h" + +#include "System/SysNew.hpp" + +class Entrance : public SysObject { + /* 00 */ Vec3p mPos; + /* 0c */ unk16 mAngle; + /* 0e */ s8 mUnk_0e; + /* 0f */ unk8 mUnk_0f; + /* 10 */ s32 mUnk_10; + /* 14 */ +}; diff --git a/include/Map/Exit.hpp b/include/Map/Exit.hpp new file mode 100644 index 00000000..d9fda9bd --- /dev/null +++ b/include/Map/Exit.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" + +class Exit : public SysObject { + /* 00 */ unk32 mDestCourse; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk16 mUnk_10; + /* 12 */ unk8 mDestMap; + /* 13 */ unk8 mDestEntrance; + /* 14 */ unk8 mUnk_14; + /* 15 */ unk8 mUnk_15; + /* 16 */ unk8 mUnk_16; + /* 17 */ unk8 mUnk_17; + /* 18 */ +}; diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp new file mode 100644 index 00000000..c9497a0a --- /dev/null +++ b/include/Map/MapBase.hpp @@ -0,0 +1,237 @@ +#pragma once + +#include + +#include "global.h" +#include "types.h" + +#include "lib/math.h" + +#include "Map/Course.hpp" +#include "Map/Entrance.hpp" +#include "Map/TriggerBase.hpp" +#include "Map/Exit.hpp" +#include "Map/CameraViewpoint.hpp" +#include "System/SysNew.hpp" + +#define MAX_ENTRANCES 0x40 +#define MAX_TRIGGERS 0x40 +#define MAX_EXITS 0x40 +#define MAX_VIEWPOINTS 8 +#define MAX_MAP_UNK_130 0x20 + +struct MapBase_Unk_180 { + /* 0 */ unk32 mUnk_0; + /* 4 */ + + ~MapBase_Unk_180(); +}; + +struct MapBase_Unk1 { + /* 00 */ s32 mUnk_00; + /* 04 */ Exit mExit_04; + /* 1c */ Exit mExit_1c; + /* 34 */ + + void func_ov00_02080324(s32 param_2, s32 param_3, s32 param_4); +}; + +struct MapBase_Unk2 { + /* 00 */ TriggerBase **mTrigger; + /* 04 */ Vec3p mVec; + /* 10 */ + + void func_ov00_02080ad0(TriggerBase **param_2, TriggerBase **param_3); +}; + +class MapBase : public SysObject { +public: + /* 000 (vtable) */ + /* 004 */ unk8 mUnk_004; + /* 005 */ unk8 mUnk_005; + /* 006 */ unk8 mUnk_006; + /* 007 */ unk8 mUnk_007; + /* 008 */ unk8 mUnk_008; + /* 009 */ unk8 mUnk_009; + /* 00a */ unk8 mUnk_00a; + /* 00b */ unk8 mUnk_00b; + /* 00c */ unk8 mUnk_00c; + /* 00d */ unk8 mUnk_00d; + /* 00e */ unk8 mUnk_00e; + /* 00f */ unk8 mUnk_00f; + /* 010 */ unk8 mUnk_010; + /* 011 */ unk8 mUnk_011; + /* 012 */ unk8 mUnk_012; + /* 013 */ unk8 mUnk_013; + /* 014 */ unk8 mUnk_014; + /* 015 */ unk8 mUnk_015; + /* 016 */ unk8 mUnk_016[2]; + /* 018 */ unk8 mUnk_018[2]; + /* 01a */ unk8 mUnk_01a; + /* 01b */ unk8 mUnk_01b; + /* 01c */ unk8 mUnk_01c; + /* 01d */ unk8 mUnk_01d; + /* 01e */ unk8 mUnk_01e; + /* 01f */ unk8 mUnk_01f; + /* 020 */ unk32 mUnk_020; + /* 024 */ unk32 mUnk_024; + /* 028 */ s16 mUnk_028; + /* 02a */ s16 mUnk_02a; + /* 02c */ unk16 mUnk_02c; + /* 02e */ unk16 mUnk_02e; + /* 030 */ s16 mUnk_030; + /* 032 */ unk8 mUnk_032[2]; + /* 034 */ unk32 mUnk_034; + /* 038 */ unk32 mUnk_038; + /* 03c */ unk32 mUnk_03c; + /* 040 */ unk32 mUnk_040; + /* 044 */ unk32 mUnk_044; + /* 048 */ u32 mUnk_048; + /* 04c */ unk32 mUnk_04c; + /* 050 */ unk8 mUnk_050[0x80]; + /* 0d0 */ Vec3p mUnk_0d0; + /* 0dc */ Vec3p mUnk_0dc; + /* 0e8 */ Vec3p mUnk_0e8; + /* 0f4 */ Vec3p mUnk_0f4; + /* 100 */ std::vector mEntrances; + /* 10c */ std::vector mTriggers; + /* 118 */ std::vector mExits; + /* 124 */ std::vector mViewpoints; + /* 130 */ std::vector mUnk_130; + /* 13c */ unk32 mUnk_13c; + /* 140 */ unk32 mUnk_140; + /* 144 */ void *mUnk_144; + /* 148 */ s32 mUnk_148; + /* 14c */ s32 mUnk_14c; + /* 150 */ unk32 mUnk_150; + /* 154 */ unk32 mUnk_154; + /* 158 */ unk8 mUnk_158[8]; + /* 160 */ unk32 mUnk_160; + /* 164 */ unk8 mUnk_164[0x1c]; + /* 180 */ MapBase_Unk_180 mUnk_180[2]; + /* 188 */ unk8 mUnk_188[0x14]; + /* 19c */ unk32 mUnk_19c; + /* 1a0 */ unk8 mUnk_1a0[0xc]; + /* 1ac */ s16 mUnk_1ac; + /* 1ae */ unk8 mUnk_1ae[2]; + /* 1b0 */ + + /* 00 */ virtual ~MapBase(); + /* 08 */ virtual void vfunc_08(u32 param_2, u32 param_3, Course *param_4); + /* 0c */ virtual void vfunc_0c(Course *param_2); + /* 10 */ virtual void vfunc_10(); + /* 14 */ virtual void vfunc_14(); + /* 18 */ virtual void vfunc_18(); + /* 1c */ virtual void vfunc_1c(bool param_2); + /* 20 */ virtual void vfunc_20(s32 param_2); + /* 24 */ virtual void vfunc_24(); + /* 28 */ virtual void vfunc_28(s32 param_2); + /* 2c */ virtual void vfunc_2c(); + /* 30 */ virtual void vfunc_30(s32 param_2); + /* 34 */ virtual bool vfunc_34(char *param_2); + /* 38 */ virtual void vfunc_38(); + /* 3c */ virtual void vfunc_3c(); + /* 40 */ virtual void vfunc_40(); + /* 44 */ virtual void vfunc_44(); + /* 48 */ virtual void vfunc_48(); + /* 4c */ virtual void vfunc_4c() = 0; + /* 50 */ virtual unk32 vfunc_50(); + /* 54 */ virtual unk32 vfunc_54(); + /* 58 */ virtual unk32 vfunc_58(); + /* 5c */ virtual unk32 vfunc_5c(); + /* 60 */ virtual unk32 vfunc_60(); + /* 64 */ virtual unk32 vfunc_64(); + /* 68 */ virtual unk8 vfunc_68(unk32 param_2, unk32 param_3); + /* 6c */ virtual unk8 vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4); + /* 70 */ virtual unk32 vfunc_70(Vec3p *param_2); + /* 74 */ virtual s32* vfunc_74(Vec3p *param_2); + /* 78 */ virtual unk32 vfunc_78(); + /* 7c */ virtual unk32 vfunc_7c(); + /* 80 */ virtual unk32 vfunc_80(); + /* 84 */ virtual void vfunc_84(unk32 param_2); + /* 88 */ virtual unk32 vfunc_88(); + /* 8c */ virtual unk32 vfunc_8c(); + /* 90 */ virtual unk8 vfunc_90(unk32 param_2, unk32 param_3, unk32 param_4); + /* 94 */ virtual void vfunc_94(); + /* 98 */ virtual void vfunc_98(); + /* 9c */ virtual void vfunc_9c(); + /* a0 */ virtual void vfunc_a0(); + /* a4 */ virtual unk32 vfunc_a4(); + /* a8 */ virtual void vfunc_a8(); + /* ac */ virtual void vfunc_ac(); + /* b0 */ virtual unk8 vfunc_b0(unk32 param_2, unk32 param_3); + /* b4 */ virtual void vfunc_b4(); + /* b8 */ virtual unk32 vfunc_b8(); + /* bc */ virtual void vfunc_bc(); + /* c0 */ virtual void vfunc_c0(); + /* c4 */ + + void SetBounds(unk32 map, unk32 course); + void GetMapFilePath(char *courseName, unk32 num1, unk32 buf); + void func_ov00_0207ddf8(bool param_2); + void func_ov00_0207de68(unk32 param_2); + void func_ov00_0207de88(); + void func_ov00_0207dea0(bool param_2); + bool func_ov00_0207e08c(unk32 param_2, unk32 param_3); + s32 func_ov00_0207e0f0(unk32 param_2); + s32 func_ov00_0207e28c(unk32 param_2); + static unk8 func_ov00_0207e940(unk8 *param_1); + static unk8 func_ov00_0207e968(); + static unk8 func_ov00_0207e96c(); + static unk8 func_ov00_0207f100(); + bool func_ov00_0207f104(unk32 param_2, unk32 param_3); + unk32 func_ov00_0207f1f4(Vec3p *param_2, unk32 *param_3); + unk8 func_ov00_0207f38c(unk32 param_2); + void func_ov00_0207f4a4(Vec2s *param_2, unk32 param_3); + static void func_ov00_0207f53c(Vec2s *param_1, MapBase *param_2, Vec3p *param_3); + static void func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, Vec2b *param_3, unk32 param_4); + void func_ov00_0207f630(Vec2s *param_2, Vec3p *param_3); + unk8 GetTileStartX(unk32 x); + unk8 GetTileStartZ(unk32 z); + s32 GetTileEndX(unk32 x); + s32 GetTileEndZ(unk32 z); + void GetTileBounds(Vec2b *tilePos, AABB *bounds); + unk8 GetClampedTileX(unk32 worldX); + unk8 GetClampedTileY(unk32 worldZ); + unk8 GetTileX(unk32 worldX); + unk8 GetTileY(unk32 worldZ); + bool IsInBounds(Vec3p *tileWorldPos); + s32 AddEntrance(Entrance *param_2); + unk8 FindEntrance(unk32 id); + unk8 func_ov00_0207f924(unk32 param_2); + unk8 func_ov00_0207f934(); + unk8 func_ov00_0207f948(unk32 param_2); + void AddTrigger(TriggerParams *param_2); + s32 GetTriggerBoundingBox(unk32 param_2, AABB *param_3); + unk8 GetTriggerBoundingBoxes(unk32 param_2, AABB *param_3, unk32 param_4); + unk32 GetOverlappingTrigger(Vec3p *param_2); + unk8 FindTrigger(unk32 type); + unk8 GetOverlappingTriggers(Vec3p *param_2, TriggerBase * *triggers, unk32 capacity); + bool IsTriggerTypeOverlapped(unk32 type, Vec3p *param_3); + bool AnyTrigger_func_0c(unk32 type); + unk8 Trigger_vfunc_08(); + bool AddTrigger(unk32 param_2); + bool func_ov00_0207ff88(unk32 param_2); + void func_ov00_0208005c(s32 param_2, s32 param_3, unk32 param_4); + void func_ov00_0208006c(unk32 param_2, s32 param_3); + void func_ov00_0208007c(s32 param_2, s32 param_3); + void func_ov00_0208008c(u32 param_2); + unk8 AddExit(Exit *param_2); + unk8 func_ov00_02080140(Exit *param_2); + bool FindExit(unk32 param_2, Exit *param_3); + unk8 AddCameraViewpoint(CameraViewpoint *param_2); + bool FindViewpoint_Unk_4(unk8 id, CameraViewpoint *param_3); + bool FindViewpoint_Unk_0(unk32 param_2, CameraViewpoint *param_3); + void GetCurrentViewpoint(CameraViewpoint *param_2, unk32 param_3); + unk8 GetCurrentViewpoint_Unk_00(s32 param_2); + bool func_ov00_02080824(unk32 param_2, unk32 param_3); + bool AddUnk_130(unk32 param_2); + bool func_ov00_020809b8(unk32 param_2); + unk8 func_ov00_02080a78(Vec3p *param_2); + unk8 func_ov00_02080b24(Vec2b *param_2); + void func_ov00_02080d08(unk32 param_2); + bool TriggerOfType_vfunc_10(unk32 type); + void func_ov00_02080de4(); + unk8 func_ov00_02080de8(unk32 param_2); + void func_ov00_02080edc(); +}; diff --git a/include/Map/MapData.hpp b/include/Map/MapData.hpp new file mode 100644 index 00000000..be4b691f --- /dev/null +++ b/include/Map/MapData.hpp @@ -0,0 +1,28 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "lib/math.h" + +#include "System/SysNew.hpp" + +class MapData : public SysObject { +public: + /* 00 */ char mUnk_00; + /* 01 */ s8 mMap; + /* 02 */ unk16 mUnk_02; + /* 04 */ u16 mUnk_04; + /* 06 */ unk8 mUnk_06[2]; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk8 mUnk_10[4]; + /* 14 */ Vec3p mCenter; + /* 20 */ unk32 mFlags0[1]; + /* 24 */ unk32 mFlags1[8]; + /* 44 */ unk32 mFlags2[2]; + /* 4c */ unk32 mFlags3[1]; + /* 50 */ unk32 mUnk_50; + /* 54 */ unk32 mUnk_54; + /* 58 */ +}; diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp new file mode 100644 index 00000000..e773ef19 --- /dev/null +++ b/include/Map/MapManager.hpp @@ -0,0 +1,243 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "lib/math.h" + +#include "Map/Course.hpp" +#include "Map/MapBase.hpp" +#include "Physics/AABB.hpp" +#include "System/SysNew.hpp" + +struct MapManager_Unk1 { + /* 0 */ unk32 mUnk_0; + /* 4 */ unk32 mUnk_4; + /* 8 */ + + ~MapManager_Unk1(); +}; + +struct MapManager_Unk2 { + /* 0 */ unk32 mUnk_0; + /* 4 */ unk32 mUnk_4; + /* 8 */ + + ~MapManager_Unk2(); +}; + +class MapManager : public SysObject { +public: + /* 00 */ Course *mCourse; + /* 04 */ MapBase *mMap; + /* 08 */ unk8 mUnk_08; + /* 09 */ unk8 mUnk_09; + /* 0a */ unk8 mUnk_0a; + /* 0b */ unk8 mUnk_0b; + /* 0c */ unk8 mUnk_0c; + /* 0d */ unk8 mUnk_0d; + /* 0e */ unk8 mUnk_0e; + /* 0f */ unk8 mUnk_0f; + /* 10 */ + + void func_ov00_020820ec(unk32 *param_2); + void func_ov00_020820fc(s32 param_2, unk32 param_3, unk32 param_4); + unk8 func_ov00_0208210c(unk32 param_2, unk32 param_3); + unk8 func_ov00_0208230c(unk32 param_2); + unk8 func_ov00_02082348(unk32 param_2); + void func_ov00_020823a4(unk32 param_2); + unk8 func_ov00_020823b4(); + bool func_ov00_020823c4(unk32 *param_2, s32 param_3); + s32 func_ov00_020823d4(s32 param_2); + s32 func_ov00_020823e4(s32 param_2); + unk8 MapData_vfunc_b4(); + unk8 MapData_vfunc_9c(); + s32 func_ov00_02082424(); + unk8 func_ov00_02082454(unk32 param_2, unk32 param_3); + unk8 func_ov00_02082494(unk32 param_2); + unk8 func_ov00_020824cc(unk32 param_2); + unk8 func_ov00_02082504(); + unk8 * func_ov00_02082538(); + void func_ov00_02082594(); + void func_ov00_020825ac(); + s32 GetCourseFilePath(char *courseName, char *buf); + unk8 func_ov00_020825e4(unk32 param_2, unk32 param_3); + unk8 func_ov00_02082614(unk32 param_2, unk32 param_3); + unk8 MapData_vfunc_b0(); + void func_ov00_02082650(s32 param_2, s32 param_3, unk32 param_4); + void func_ov00_02082660(s32 param_2, s32 param_3); + void func_ov00_02082670(unk32 param_2, s32 param_3); + void func_ov00_02082680(unk32 param_2, unk32 param_3); + unk8 func_ov00_020826a0(unk32 param_2, unk32 param_3, unk32 param_4); + unk8 CreateMap(unk32 mapType, unk32 param_3, unk32 param_4); + unk8 DestroyMap(); + unk8 MapData_vfunc_44(); + static unk8 func_ov00_02082808(); + unk8 MapData_vfunc_7c(); + unk8 MapData_vfunc_84(); + bool func_ov00_020828f8(s32 *param_2); + unk8 GetCourseData_Unk_b0(); + s32 func_ov00_02082914(unk32 param_2); + unk8 func_ov00_02082acc(); + unk32 * func_ov00_02082adc(); + unk8 func_ov00_02082af4(); + bool func_ov00_02082b3c(s32 param_2); + unk8 func_ov00_02082d08(); + unk8 GetCourseData_Unk_1c(); + unk8 GetCourseData_Unk_1d(); + unk8 func_ov00_02082d40(); + u32 func_ov00_02082d74(unk32 param_2); + static unk8 func_ov00_02082d84(); + bool func_ov00_02082e1c(s32 *param_2, s32 *param_3); + static unk8 func_ov00_0208306c(); + void func_ov00_0208315c(s32 *param_2, s32 *param_3); + void func_ov00_02083244(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5); + void func_ov00_02083298(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5); + unk8 GetCourseData_Unk_25c(); + bool func_ov00_02083318(unk32 param_2); + static unk8 func_ov00_02083328(); + unk8 GetCourseData_Unk_86(); + unk8 GetCourseData_Unk_87(); + unk8 Get_MapData_Unk28(); + unk8 Get_MapData_Unk2a(); + static unk8 func_ov00_02083374(); + static unk8 func_ov00_02083384(); + unk8 GetCourseMinX(); + unk8 GetCourseMinZ(); + unk8 GetCourseMaxX(); + unk8 GetCourseMaxZ(); + unk8 func_ov00_020833c4(); + unk8 func_ov00_020833d0(); + unk8 func_ov00_020833dc(); + unk8 func_ov00_020833e8(); + unk8 Get_MapData_Unk_d0(); + unk8 Get_MapData_Unk_d8(); + unk8 GetMapData_Unk_dc(Vec3p *param_2); + unk8 GetMapData_Unk_e8(Vec3p *param_2); + unk8 GetMapData_Unk_d0(Vec3p *param_2); + unk8 func_ov00_0208346c(AABB *param_2); + unk8 func_ov00_020834bc(Vec3p *param_2, unk32 param_3, unk32 param_4); + unk8 func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 param_4); + static void func_ov00_02083560(unk32 param_1, MapManager *param_2, u32 param_3); + unk8 func_ov00_02083570(unk32 param_2, unk32 param_3); + unk32 func_ov00_02083588(); + unk32 func_ov00_020835a4(); + unk32 func_ov00_020835b4(); + unk8 func_ov00_020835c4(unk32 param_2, unk32 param_3); + bool func_ov00_020835e4(s32 param_2, unk32 *param_3, unk32 *param_4); + unk32 func_ov00_020835f4(s32 param_2); + void func_ov00_02083604(s32 param_2); + unk8 func_ov00_02083614(s32 param_2); + bool GetEntrancePos(Vec3p *param_2, unk32 entranceId); + bool func_ov00_02083664(Vec3p *param_2, unk32 entranceId); + s32 func_ov00_020836bc(u32 param_2, unk32 *param_3); + u32 func_ov00_020836cc(u32 param_2, AABB *param_3, u32 param_4); + unk8 func_ov00_020836dc(unk32 param_2, unk32 param_3); + bool func_ov00_02083770(u32 param_2, unk32 param_3); + bool func_ov00_02083780(unk32 param_2); + bool func_ov00_02083790(unk32 param_2); + unk8 func_ov00_02083840(unk32 param_2); + bool func_ov00_020838c8(s32 param_2); + bool func_ov00_020838d8(s32 param_2); + bool func_ov00_020838e8(u32 param_2, unk32 *param_3); + char func_ov00_020838f8(unk32 *param_2); + bool func_ov00_02083908(char param_2, unk32 *param_3); + void func_ov00_02083918(s32 param_2, s32 *param_3); + void func_ov00_02083928(unk8 *param_2, s32 param_3); + unk32 func_ov00_02083938(s32 param_2); + unk8 Set_MapData_Unk_16(unk8 value, unk32 index); + void func_ov00_02083958(s32 param_2); + void func_ov00_02083968(u32 param_2, unk8 *param_3); + bool func_ov00_02083978(unk32 param_2, Vec3p *param_3); + bool func_ov00_020839b4(s32 param_2); + bool func_ov00_020839c4(s32 param_2); + static unk8 func_ov00_020839d4(); + static unk8 func_ov00_020839f8(); + static void func_ov00_02083a1c(unk32 param_1, MapManager *param_2, Vec3p *param_3); + static unk8 func_ov00_02083a54(unk32 param_1, MapManager *param_2, unk32 param_3, unk32 param_4, unk32 param_5); + static unk8 func_ov00_02083b84(); + static unk8 func_ov00_02083bac(); + static unk8 func_ov00_02083bd4(); + static unk8 func_ov00_02083bfc(); + unk8 func_ov00_02083c24(unk32 param_2); + unk8 func_ov00_02083c50(unk32 param_2); + unk8 func_ov00_02083c7c(Vec3p *param_2, unk32 param_3); + static unk8 func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5); + unk8 func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4); + unk8 MapData_vfunc_60(); + static unk8 func_ov00_02083e70(); + unk8 MapData_vfunc_68(); + void func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3); + void func_ov00_02083f44(Vec3p *param_2); + unk8 MapData_vfunc_6c(); + unk8 MapData_vfunc_70(); + static unk8 func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3); + void func_ov00_02084024(unk32 param_2, AABB *param_3); + unk8 MapData_vfunc_54(); + unk8 func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4); + unk8 MapData_vfunc_78(); + static unk8 func_ov00_020840dc(); + static unk8 func_ov00_02084100(unk32 param_1, MapManager *param_2); + unk8 GetMapData_Unk_48(); + unk8 GetMapData_Unk_4c(); + unk32 func_ov00_0208412c(); + void func_ov00_0208413c(unk32 param_2); + unk8 MapData_vfunc_58(); + static unk8 func_ov00_02084164(); + unk8 GetMapData_Unk_0a(); + unk8 GetMapData_Unk_0b(); + unk8 MapData_vfunc_a4(); + unk8 func_ov00_0208433c(Vec3p *param_2, unk32 param_3); + static unk8 func_ov00_0208439c(); + void func_ov00_020843ec(s32 *param_2); + unk8 GetMapData_Unk_38(); + unk8 func_ov00_020846a4(); + static unk8 func_ov00_02084700(); + unk8 func_ov00_02084740(); + unk8 func_ov00_020847e0(); + unk8 func_ov00_020847f0(); + bool func_ov00_02084838(); + bool func_ov00_020848b8(); + void func_ov00_02084924(u32 param_2); + static unk8 func_ov00_02084934(); + unk8 GetMapData_Unk_06(); + unk8 GetMapData_Unk_07(); + unk8 func_ov00_0208499c(); + unk8 func_ov00_020849c0(); + unk8 func_ov00_020849dc(); + static bool func_ov00_020849f8(unk32 param_1); + unk8 func_ov00_02084a50(); + void SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4); + bool func_ov00_02084ac4(u32 actorId); + unk8 SetNumKeys(unk32 keys); + unk8 GetNumKeys(); + unk8 SetCourseData_Unk_25c(unk8 param_2); + unk8 GetCourseData_Unk_25d(); + unk8 func_ov00_02084b38(unk32 param_2, unk32 param_3, unk32 param_4); + bool func_ov00_02084be0(unk32 param_2, unk32 param_3); + void func_ov00_02084c5c(unk32 param_2, unk32 param_3); + bool func_ov00_02084c6c(unk32 param_2); + unk8 func_ov00_02084c7c(unk32 param_2); + unk8 func_ov00_02084c94(unk32 param_2); + unk8 func_ov00_02084cb0(unk32 param_2); + unk8 func_ov00_02084cc8(unk32 param_2); + unk8 func_ov00_02084ce4(unk32 param_2); + unk8 func_ov00_02084cfc(unk32 param_2); + unk8 GetMapData_Unk_09(); + unk8 func_ov00_02084d24(unk8 param_2, unk8 param_3, unk32 param_4); + s32 func_ov00_02084d4c(unk32 param_2, unk32 param_3, Vec3p *param_4); + unk8 func_ov00_02084ebc(unk32 param_2); + s32 func_ov00_02085108(s32 *param_2); + static unk8 func_ov00_0208527c(); + static unk8 func_ov00_020853fc(); + static unk8 func_ov00_02085594(); + static void func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3); + static unk8 func_ov00_020858b0(); + s32 func_ov00_02085a34(unk32 param_2, unk32 param_3); + unk8 func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + unk8 func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4); + bool func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7, Vec3p *param_8); + bool func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7, Vec3p *param_8, Vec3p *param_9); +}; + +extern MapManager *gMapManager; diff --git a/include/Map/TriggerAABB.hpp b/include/Map/TriggerAABB.hpp new file mode 100644 index 00000000..19ac0f55 --- /dev/null +++ b/include/Map/TriggerAABB.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Physics/AABB.hpp" +#include "Map/TriggerBase.hpp" + +class TriggerAABB : public TriggerBase { + /* 00 (base) */ + /* 14 */ AABB mAABB; + /* 2c */ +}; diff --git a/include/Map/TriggerAABB_Unk1.hpp b/include/Map/TriggerAABB_Unk1.hpp new file mode 100644 index 00000000..55edbfca --- /dev/null +++ b/include/Map/TriggerAABB_Unk1.hpp @@ -0,0 +1,20 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Map/TriggerAABB.hpp" + +class TriggerAABB_Unk1 : public TriggerAABB { + /* 00 (base) */ + /* 2c */ unk8 mUnk_2c; + /* 2d */ unk8 mUnk_2d[3]; + /* 30 */ void *mUnk_30; + /* 34 */ unk8 mUnk_34; + /* 35 */ unk8 mUnk_35; + /* 36 */ unk8 mUnk_36[2]; + /* 38 */ unk32 mUnk_38; + /* 3c */ unk32 mUnk_3c; + /* 40 */ unk32 mUnk_40; + /* 44 */ +}; diff --git a/include/Map/TriggerAABB_Unk2.hpp b/include/Map/TriggerAABB_Unk2.hpp new file mode 100644 index 00000000..c87c34ba --- /dev/null +++ b/include/Map/TriggerAABB_Unk2.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Map/TriggerAABB.hpp" + +class TriggerAABB_Unk2 : public TriggerAABB { + /* 00 (base) */ + /* 2c */ unk32 mUnk_2c; + /* 30 */ unk8 mUnk_30[0x2c][4]; // non-documented class which inherits from base class + /* e0 */ +}; diff --git a/include/Map/TriggerBase.hpp b/include/Map/TriggerBase.hpp new file mode 100644 index 00000000..03046e71 --- /dev/null +++ b/include/Map/TriggerBase.hpp @@ -0,0 +1,40 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" + +struct TriggerParams { + /* 0 */ s8 id; + /* 1 */ unk8 zMin; + /* 2 */ unk8 zMax; + /* 3 */ unk8 xMin; + /* 4 */ unk8 xMax; + /* 5 */ bool isAABB_Unk1; + /* 6 */ s8 mUnk_6; + /* 7 */ s8 mUnk_7; + /* 8 */ s8 mUnk_8; + /* 9 */ bool isAABB_Unk2; + /* a */ bool isSphere; + /* b */ +}; + +class TriggerBase : public SysObject { + /* 00 (vtable) */ + /* 04 */ unk8 mUnk_04; + /* 05 */ u8 mId; + /* 06 */ unk8 mUnk_06[2]; + /* 08 */ u32 mUnk_08; + /* 0c */ u32 mUnk_0c; + /* 10 */ u32 mUnk_10; + /* 14 */ + + /* 00 */ virtual ~TriggerBase(); + /* 08 */ void vfunc_08(); + /* 0c */ unk32 vfunc_0c(); + /* 10 */ unk32 vfunc_10(); + /* 14 */ bool Overlaps(); + /* 18 */ bool GetBoundingBox(); + /* 1c */ +}; diff --git a/include/Map/TriggerSphere.hpp b/include/Map/TriggerSphere.hpp new file mode 100644 index 00000000..e6bb6b39 --- /dev/null +++ b/include/Map/TriggerSphere.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Physics/Sphere.hpp" +#include "Map/TriggerBase.hpp" + +class TriggerSphere : public TriggerBase { + /* 00 (base) */ + /* 14 */ Sphere mSphere; + /* 24 */ s32 mHeight; + /* 28 */ +}; diff --git a/include/Player/TouchControl.hpp b/include/Player/TouchControl.hpp index 804078c9..b5c79750 100644 --- a/include/Player/TouchControl.hpp +++ b/include/Player/TouchControl.hpp @@ -42,4 +42,5 @@ public: bool func_ov00_0207aeac(); void UpdateConditionally(TouchState *state, u16 speed); void func_ov00_0207af38(u16 speed, bool param2); + ~TouchControl(); }; diff --git a/include/lib/math.h b/include/lib/math.h index 8790c9f6..a8951eb4 100644 --- a/include/lib/math.h +++ b/include/lib/math.h @@ -13,6 +13,18 @@ typedef s16 q4; #define ROUND_Q20(n) (((s32)(n) + 0x800) >> 12) +typedef struct { + /* 0 */ s8 x; + /* 1 */ s8 y; + /* 2 */ +} Vec2b; + +typedef struct { + /* 0 */ s16 x; + /* 1 */ s16 y; + /* 2 */ +} Vec2s; + typedef struct { /* 0 */ q20 x; /* 4 */ q20 y; diff --git a/libs/cpp/include/vector b/libs/cpp/include/vector new file mode 100644 index 00000000..e775aba0 --- /dev/null +++ b/libs/cpp/include/vector @@ -0,0 +1,11 @@ +#pragma once + +namespace std { + template + class vector { + public: + T *elements; + int size; + int capacity; + }; +} diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 614f9a50..a9c5ae5d 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -235,8 +235,7 @@ extern "C" unk32 func_ov00_02078b40(UnkStruct_027e0d38 *param1); extern void *data_027e10a4; extern "C" bool func_ov15_02136670(void *param1); extern unk8 data_ov29_0217a4ac[]; -extern void *data_027e0e60; -extern "C" bool func_ov00_020849f8(void *param1); +extern "C" bool _ZN10MapManager18func_ov00_020849f8Ei(void *param1); extern unk32 data_027e0fc8; extern "C" bool func_ov00_020bbd80(unk32 param1, unk32 param2); extern "C" bool _ZNK11ItemManager7HasItemEi(); @@ -254,7 +253,7 @@ ARM bool NONMATCH(ItemManager::func_ov00_020ad790)(unk32 param1) { } ItemFlag equipId = mForcedItem; - bool unk2 = !func_ov00_020849f8(data_027e0e60); + bool unk2 = !gMapManager->func_ov00_020849f8(); if ( mEquippedItem != ItemFlag_None && (unk2 || (u32) mEquippedItem - 9 <= 1) && diff --git a/src/00_Core/Map/Course.cpp b/src/00_Core/Map/Course.cpp new file mode 100644 index 00000000..560169e8 --- /dev/null +++ b/src/00_Core/Map/Course.cpp @@ -0,0 +1,55 @@ +#include "Map/Course.hpp" + +#ifdef STUBS + +void Course::GetDungeonProgress(CourseProgress *param_2) {} +void Course::func_ov00_0207ca28(s32 param_2, unk32 param_3, unk32 param_4) {} +char* Course::SetCourseName(char *src) {} +void Course::func_ov00_0207ca78(unk32 param_2, unk8 param_3, unk32 param_4) {} +bool Course::func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4) {} +unk32 Course::func_ov00_0207cb30(s32 param_2) {} +void Course::FindMapGridPos(Vec2b *pos, Course *param_2, u32 map) {} +Vec3p* Course::FindMapCenter(unk32 map) {} +void Course::func_ov00_0207cbe8(s32 param_2) {} +unk8 Course::func_ov00_0207cc24(s32 param_2) {} +unk32 Course::FindMapData_Unk_08(unk32 map) {} +void Course::GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType) {} +void Course::GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4) {} +void Course::func_ov00_0207ce20(unk32 param_2, unk32 param_3, char *param_4, unk32 param_5) {} +void Course::func_ov00_0207ce4c(s32 param_2, s32 param_3, unk32 param_4, char *param_5, unk32 param_6) {} +bool Course::func_ov00_0207d404(s32 param_2, unk32 param_3, unk32 param_4) {} +bool Course::IsCurrentMapInMainGrid() {} +bool Course::IsInMainGrid(s32 x, s32 y) {} +bool Course::IsMapInMainGrid(u32 map) {} +bool Course::GetMapScreenPos(s32 map, s32 *x, s32 *y) {} +u32 Course::GetScreenMapCellSizeX() {} +u32 Course::GetScreenMapCellSizeY() {} +unk32 Course::Get_Unk_c8_00() {} +unk32 Course::Get_Unk_c8_04() {} +bool Course::IsAdjacentMapOnMainGrid(unk32 dir) {} +bool Course::HasGridMap(s32 x, s32 y) {} +unk8 Course::GetAdjacentMap(unk32 dir) {} +u32 Course::GetAdjacentMapX(s32 ir) {} +u32 Course::GetAdjacentMapY(s32 dir) {} +u16 Course::FindCurrentMapData_Unk_04() {} +u32 Course::FindMapData_Unk_04(unk32 param_2) {} +unk32 Course::FindMapData_Unk_0c(unk32 map) {} +void Course::func_ov00_0207d7bc() {} +void Course::SetFlag0(u32 index, bool value) {} +bool Course::GetFlag0(u32 index) {} +void Course::SetFlag1(u32 index, bool value) {} +bool Course::SetFlag1(u32 index) {} +void Course::SetMapDataFlag0(unk32 index, bool value) {} +bool Course::GetMapDataFlag0(unk32 param_2) {} +void Course::SetMapDataFlag1(unk32 param_2, bool param_3) {} +bool Course::GetMapDataFlag1(unk32 param_2) {} +void Course::SetMapDataFlag2(unk32 param_2, bool param_3) {} +bool Course::GetMapDataFlag2(unk32 param_2) {} +void Course::SetMapDataFlag3(unk32 param_2, bool param_3) {} +bool Course::GetMapDataFlag3(unk32 param_2) {} +void Course::SetMapDataFlag4(unk32 param_2, unk32 param_3) {} +bool Course::GetMapDataFlag4(unk32 param_2) {} +MapData* Course::FindMapData(u32 map) {} +MapData* Course::FindCurrentMapData() {} + +#endif diff --git a/src/00_Core/Map/MapBase.cpp b/src/00_Core/Map/MapBase.cpp new file mode 100644 index 00000000..5a5ed636 --- /dev/null +++ b/src/00_Core/Map/MapBase.cpp @@ -0,0 +1,116 @@ +#include "Map/MapBase.hpp" +#include "Map/MapManager.hpp" + +#ifdef STUBS + +MapBase::~MapBase() {} +MapBase_Unk_180::~MapBase_Unk_180() {} +void MapBase::SetBounds(unk32 map, unk32 course) {} +MapManager_Unk2::~MapManager_Unk2() {} +void MapBase::GetMapFilePath(char *courseName, unk32 num1, unk32 buf) {} +void MapBase::vfunc_18() {} +void MapBase::func_ov00_0207ddf8(bool param_2) {} +void MapBase::func_ov00_0207de68(unk32 param_2) {} +void MapBase::func_ov00_0207de88() {} +void MapBase::func_ov00_0207dea0(bool param_2) {} +unk8 MapBase::vfunc_b0(unk32 param_2, unk32 param_3) {} +bool MapBase::func_ov00_0207e08c(unk32 param_2, unk32 param_3) {} +s32 MapBase::func_ov00_0207e0f0(unk32 param_2) {} +s32 MapBase::func_ov00_0207e28c(unk32 param_2) {} +void MapBase::vfunc_b4() {} +void MapBase::vfunc_48() {} +unk32 MapBase::vfunc_50() {} +unk32 MapBase::vfunc_54() {} +unk32 MapBase::vfunc_58() {} +unk32 MapBase::vfunc_5c() {} +unk32 MapBase::vfunc_60() {} +unk32 MapBase::vfunc_64() {} +unk8 MapBase::vfunc_68(unk32 param_2, unk32 param_3) {} +unk8 MapBase::func_ov00_0207e940(unk8 *param_1) {} +unk8 MapBase::func_ov00_0207e968() {} +unk8 MapBase::func_ov00_0207e96c() {} +unk8 MapBase::vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4) {} +unk32 MapBase::vfunc_70(Vec3p *param_2) {} +s32* MapBase::vfunc_74(Vec3p *param_2) {} +unk8 MapBase::func_ov00_0207f100() {} +bool MapBase::func_ov00_0207f104(unk32 param_2, unk32 param_3) {} +unk32 MapBase::func_ov00_0207f1f4(Vec3p *param_2, unk32 *param_3) {} +unk32 MapBase::vfunc_88() {} +unk32 MapBase::vfunc_8c() {} +void MapBase::vfunc_9c() {} +void MapBase::vfunc_a0() {} +unk32 MapBase::vfunc_a4() {} +void MapBase::vfunc_a8() {} +void MapBase::vfunc_ac() {} +unk32 MapBase::vfunc_78() {} +unk32 MapBase::vfunc_7c() {} +unk32 MapBase::vfunc_80() {} +void MapBase::vfunc_84(unk32 param_2) {} +unk8 MapBase::func_ov00_0207f38c(unk32 param_2) {} +unk8 MapBase::vfunc_90(unk32 param_2, unk32 param_3, unk32 param_4) {} +void MapBase::vfunc_94() {} +void MapBase::func_ov00_0207f4a4(Vec2s *param_2, unk32 param_3) {} +void MapBase::func_ov00_0207f53c(Vec2s *param_1, MapBase *param_2, Vec3p *param_3) {} +void MapBase::func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, Vec2b *param_3, unk32 param_4) {} +void MapBase::func_ov00_0207f630(Vec2s *param_2, Vec3p *param_3) {} +unk8 MapBase::GetTileStartX(unk32 x) {} +unk8 MapBase::GetTileStartZ(unk32 z) {} +s32 MapBase::GetTileEndX(unk32 x) {} +s32 MapBase::GetTileEndZ(unk32 z) {} +void MapBase::GetTileBounds(Vec2b *tilePos, AABB *bounds) {} +unk8 MapBase::GetClampedTileX(unk32 worldX) {} +unk8 MapBase::GetClampedTileY(unk32 worldZ) {} +unk8 MapBase::GetTileX(unk32 worldX) {} +unk8 MapBase::GetTileY(unk32 worldZ) {} +bool MapBase::IsInBounds(Vec3p *tileWorldPos) {} +s32 MapBase::AddEntrance(Entrance *param_2) {} +unk8 MapBase::FindEntrance(unk32 id) {} +unk8 MapBase::func_ov00_0207f924(unk32 param_2) {} +unk8 MapBase::func_ov00_0207f934() {} +unk8 MapBase::func_ov00_0207f948(unk32 param_2) {} +void MapBase::AddTrigger(TriggerParams *param_2) {} +void TriggerBase::vfunc_08() {} +s32 MapBase::GetTriggerBoundingBox(unk32 param_2, AABB *param_3) {} +bool TriggerBase::GetBoundingBox() {} +unk8 MapBase::GetTriggerBoundingBoxes(unk32 param_2, AABB *param_3, unk32 param_4) {} +unk32 MapBase::GetOverlappingTrigger(Vec3p *param_2) {} +bool TriggerBase::Overlaps() {} +unk8 MapBase::FindTrigger(unk32 type) {} +unk8 MapBase::GetOverlappingTriggers(Vec3p *param_2, TriggerBase * *triggers, unk32 capacity) {} +bool MapBase::IsTriggerTypeOverlapped(unk32 type, Vec3p *param_3) {} +bool MapBase::AnyTrigger_func_0c(unk32 type) {} +unk32 TriggerBase::vfunc_0c() {} +unk8 MapBase::Trigger_vfunc_08() {} +bool MapBase::AddTrigger(unk32 param_2) {} +bool MapBase::func_ov00_0207ff88(unk32 param_2) {} +void MapBase::func_ov00_0208005c(s32 param_2, s32 param_3, unk32 param_4) {} +void MapBase::func_ov00_0208006c(unk32 param_2, s32 param_3) {} +void MapBase::func_ov00_0208007c(s32 param_2, s32 param_3) {} +void MapBase::func_ov00_0208008c(u32 param_2) {} +unk8 MapBase::AddExit(Exit *param_2) {} +unk8 MapBase::func_ov00_02080140(Exit *param_2) {} +void MapBase_Unk1::func_ov00_02080324(s32 param_2, s32 param_3, s32 param_4) {} +bool MapBase::FindExit(unk32 param_2, Exit *param_3) {} +unk8 MapBase::AddCameraViewpoint(CameraViewpoint *param_2) {} +bool MapBase::FindViewpoint_Unk_4(unk8 id, CameraViewpoint *param_3) {} +bool MapBase::FindViewpoint_Unk_0(unk32 param_2, CameraViewpoint *param_3) {} +void MapBase::GetCurrentViewpoint(CameraViewpoint *param_2, unk32 param_3) {} +unk8 MapBase::GetCurrentViewpoint_Unk_00(s32 param_2) {} +unk32 MapBase::vfunc_b8() {} +bool MapBase::func_ov00_02080824(unk32 param_2, unk32 param_3) {} +bool MapBase::AddUnk_130(unk32 param_2) {} +bool MapBase::func_ov00_020809b8(unk32 param_2) {} +unk8 MapBase::func_ov00_02080a78(Vec3p *param_2) {} +void MapBase_Unk2::func_ov00_02080ad0(TriggerBase * *param_2, TriggerBase * *param_3) {} +unk8 MapBase::func_ov00_02080b24(Vec2b *param_2) {} +void MapBase::func_ov00_02080d08(unk32 param_2) {} +void MapBase::vfunc_bc() {} +void MapBase::vfunc_98() {} +void MapBase::vfunc_c0() {} +bool MapBase::TriggerOfType_vfunc_10(unk32 type) {} +unk32 TriggerBase::vfunc_10() {} +void MapBase::func_ov00_02080de4() {} +unk8 MapBase::func_ov00_02080de8(unk32 param_2) {} +void MapBase::func_ov00_02080edc() {} + +#endif diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp new file mode 100644 index 00000000..802043ac --- /dev/null +++ b/src/00_Core/Map/MapManager.cpp @@ -0,0 +1,204 @@ +#include "Map/MapManager.hpp" + +#ifdef STUBS + +void MapManager::func_ov00_020820ec(unk32 *param_2) {} +void MapManager::func_ov00_020820fc(s32 param_2, unk32 param_3, unk32 param_4) {} +unk8 MapManager::func_ov00_0208210c(unk32 param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_0208230c(unk32 param_2) {} +unk8 MapManager::func_ov00_02082348(unk32 param_2) {} +void MapManager::func_ov00_020823a4(unk32 param_2) {} +unk8 MapManager::func_ov00_020823b4() {} +bool MapManager::func_ov00_020823c4(unk32 *param_2, s32 param_3) {} +s32 MapManager::func_ov00_020823d4(s32 param_2) {} +s32 MapManager::func_ov00_020823e4(s32 param_2) {} +unk8 MapManager::MapData_vfunc_b4() {} +unk8 MapManager::MapData_vfunc_9c() {} +s32 MapManager::func_ov00_02082424() {} +unk8 MapManager::func_ov00_02082454(unk32 param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_02082494(unk32 param_2) {} +unk8 MapManager::func_ov00_020824cc(unk32 param_2) {} +unk8 MapManager::func_ov00_02082504() {} +unk8 * MapManager::func_ov00_02082538() {} +void MapManager::func_ov00_02082594() {} +void MapManager::func_ov00_020825ac() {} +s32 MapManager::GetCourseFilePath(char *courseName, char *buf) {} +unk8 MapManager::func_ov00_020825e4(unk32 param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_02082614(unk32 param_2, unk32 param_3) {} +unk8 MapManager::MapData_vfunc_b0() {} +void MapManager::func_ov00_02082650(s32 param_2, s32 param_3, unk32 param_4) {} +void MapManager::func_ov00_02082660(s32 param_2, s32 param_3) {} +void MapManager::func_ov00_02082670(unk32 param_2, s32 param_3) {} +void MapManager::func_ov00_02082680(unk32 param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_020826a0(unk32 param_2, unk32 param_3, unk32 param_4) {} +unk8 MapManager::CreateMap(unk32 mapType, unk32 param_3, unk32 param_4) {} +unk8 MapManager::DestroyMap() {} +unk8 MapManager::MapData_vfunc_44() {} +unk8 MapManager::func_ov00_02082808() {} +unk8 MapManager::MapData_vfunc_7c() {} +unk8 MapManager::MapData_vfunc_84() {} +bool MapManager::func_ov00_020828f8(s32 *param_2) {} +unk8 MapManager::GetCourseData_Unk_b0() {} +s32 MapManager::func_ov00_02082914(unk32 param_2) {} +unk8 MapManager::func_ov00_02082acc() {} +unk32 * MapManager::func_ov00_02082adc() {} +unk8 MapManager::func_ov00_02082af4() {} +bool MapManager::func_ov00_02082b3c(s32 param_2) {} +unk8 MapManager::func_ov00_02082d08() {} +unk8 MapManager::GetCourseData_Unk_1c() {} +unk8 MapManager::GetCourseData_Unk_1d() {} +unk8 MapManager::func_ov00_02082d40() {} +u32 MapManager::func_ov00_02082d74(unk32 param_2) {} +unk8 MapManager::func_ov00_02082d84() {} +bool MapManager::func_ov00_02082e1c(s32 *param_2, s32 *param_3) {} +unk8 MapManager::func_ov00_0208306c() {} +void MapManager::func_ov00_0208315c(s32 *param_2, s32 *param_3) {} +void MapManager::func_ov00_02083244(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5) {} +void MapManager::func_ov00_02083298(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5) {} +unk8 MapManager::GetCourseData_Unk_25c() {} +bool MapManager::func_ov00_02083318(unk32 param_2) {} +unk8 MapManager::func_ov00_02083328() {} +unk8 MapManager::GetCourseData_Unk_86() {} +unk8 MapManager::GetCourseData_Unk_87() {} +unk8 MapManager::Get_MapData_Unk28() {} +unk8 MapManager::Get_MapData_Unk2a() {} +unk8 MapManager::func_ov00_02083374() {} +unk8 MapManager::func_ov00_02083384() {} +unk8 MapManager::GetCourseMinX() {} +unk8 MapManager::GetCourseMinZ() {} +unk8 MapManager::GetCourseMaxX() {} +unk8 MapManager::GetCourseMaxZ() {} +unk8 MapManager::func_ov00_020833c4() {} +unk8 MapManager::func_ov00_020833d0() {} +unk8 MapManager::func_ov00_020833dc() {} +unk8 MapManager::func_ov00_020833e8() {} +unk8 MapManager::Get_MapData_Unk_d0() {} +unk8 MapManager::Get_MapData_Unk_d8() {} +unk8 MapManager::GetMapData_Unk_dc(Vec3p *param_2) {} +unk8 MapManager::GetMapData_Unk_e8(Vec3p *param_2) {} +unk8 MapManager::GetMapData_Unk_d0(Vec3p *param_2) {} +unk8 MapManager::func_ov00_0208346c(AABB *param_2) {} +unk8 MapManager::func_ov00_020834bc(Vec3p *param_2, unk32 param_3, unk32 param_4) {} +unk8 MapManager::func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 param_4) {} +void MapManager::func_ov00_02083560(unk32 param_1, MapManager *param_2, u32 param_3) {} +unk8 MapManager::func_ov00_02083570(unk32 param_2, unk32 param_3) {} +unk32 MapManager::func_ov00_02083588() {} +unk32 MapManager::func_ov00_020835a4() {} +unk32 MapManager::func_ov00_020835b4() {} +unk8 MapManager::func_ov00_020835c4(unk32 param_2, unk32 param_3) {} +bool MapManager::func_ov00_020835e4(s32 param_2, unk32 *param_3, unk32 *param_4) {} +unk32 MapManager::func_ov00_020835f4(s32 param_2) {} +void MapManager::func_ov00_02083604(s32 param_2) {} +unk8 MapManager::func_ov00_02083614(s32 param_2) {} +bool MapManager::GetEntrancePos(Vec3p *param_2, unk32 entranceId) {} +bool MapManager::func_ov00_02083664(Vec3p *param_2, unk32 entranceId) {} +s32 MapManager::func_ov00_020836bc(u32 param_2, unk32 *param_3) {} +u32 MapManager::func_ov00_020836cc(u32 param_2, AABB *param_3, u32 param_4) {} +unk8 MapManager::func_ov00_020836dc(unk32 param_2, unk32 param_3) {} +bool MapManager::func_ov00_02083770(u32 param_2, unk32 param_3) {} +bool MapManager::func_ov00_02083780(unk32 param_2) {} +bool MapManager::func_ov00_02083790(unk32 param_2) {} +unk8 MapManager::func_ov00_02083840(unk32 param_2) {} +bool MapManager::func_ov00_020838c8(s32 param_2) {} +bool MapManager::func_ov00_020838d8(s32 param_2) {} +bool MapManager::func_ov00_020838e8(u32 param_2, unk32 *param_3) {} +char MapManager::func_ov00_020838f8(unk32 *param_2) {} +bool MapManager::func_ov00_02083908(char param_2, unk32 *param_3) {} +void MapManager::func_ov00_02083918(s32 param_2, s32 *param_3) {} +void MapManager::func_ov00_02083928(unk8 *param_2, s32 param_3) {} +unk32 MapManager::func_ov00_02083938(s32 param_2) {} +unk8 MapManager::Set_MapData_Unk_16(unk8 value, unk32 index) {} +void MapManager::func_ov00_02083958(s32 param_2) {} +void MapManager::func_ov00_02083968(u32 param_2, unk8 *param_3) {} +bool MapManager::func_ov00_02083978(unk32 param_2, Vec3p *param_3) {} +bool MapManager::func_ov00_020839b4(s32 param_2) {} +bool MapManager::func_ov00_020839c4(s32 param_2) {} +unk8 MapManager::func_ov00_020839d4() {} +unk8 MapManager::func_ov00_020839f8() {} +void MapManager::func_ov00_02083a1c(unk32 param_1, MapManager *param_2, Vec3p *param_3) {} +unk8 MapManager::func_ov00_02083a54(unk32 param_1, MapManager *param_2, unk32 param_3, unk32 param_4, unk32 param_5) {} +unk8 MapManager::func_ov00_02083b84() {} +unk8 MapManager::func_ov00_02083bac() {} +unk8 MapManager::func_ov00_02083bd4() {} +unk8 MapManager::func_ov00_02083bfc() {} +unk8 MapManager::func_ov00_02083c24(unk32 param_2) {} +unk8 MapManager::func_ov00_02083c50(unk32 param_2) {} +unk8 MapManager::func_ov00_02083c7c(Vec3p *param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5) {} +unk8 MapManager::func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4) {} +unk8 MapManager::MapData_vfunc_60() {} +unk8 MapManager::func_ov00_02083e70() {} +unk8 MapManager::MapData_vfunc_68() {} +void MapManager::func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3) {} +void MapManager::func_ov00_02083f44(Vec3p *param_2) {} +unk8 MapManager::MapData_vfunc_6c() {} +unk8 MapManager::MapData_vfunc_70() {} +unk8 MapManager::func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3) {} +void MapManager::func_ov00_02084024(unk32 param_2, AABB *param_3) {} +unk8 MapManager::MapData_vfunc_54() {} +unk8 MapManager::func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4) {} +unk8 MapManager::MapData_vfunc_78() {} +unk8 MapManager::func_ov00_020840dc() {} +unk8 MapManager::func_ov00_02084100(unk32 param_1, MapManager *param_2) {} +unk8 MapManager::GetMapData_Unk_48() {} +unk8 MapManager::GetMapData_Unk_4c() {} +unk32 MapManager::func_ov00_0208412c() {} +void MapManager::func_ov00_0208413c(unk32 param_2) {} +unk8 MapManager::MapData_vfunc_58() {} +unk8 MapManager::func_ov00_02084164() {} +unk8 MapManager::GetMapData_Unk_0a() {} +unk8 MapManager::GetMapData_Unk_0b() {} +unk8 MapManager::MapData_vfunc_a4() {} +unk8 MapManager::func_ov00_0208433c(Vec3p *param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_0208439c() {} +void MapManager::func_ov00_020843ec(s32 *param_2) {} +unk8 MapManager::GetMapData_Unk_38() {} +unk8 MapManager::func_ov00_020846a4() {} +unk8 MapManager::func_ov00_02084700() {} +unk8 MapManager::func_ov00_02084740() {} +unk8 MapManager::func_ov00_020847e0() {} +unk8 MapManager::func_ov00_020847f0() {} +bool MapManager::func_ov00_02084838() {} +bool MapManager::func_ov00_020848b8() {} +void MapManager::func_ov00_02084924(u32 param_2) {} +unk8 MapManager::func_ov00_02084934() {} +unk8 MapManager::GetMapData_Unk_06() {} +unk8 MapManager::GetMapData_Unk_07() {} +unk8 MapManager::func_ov00_0208499c() {} +unk8 MapManager::func_ov00_020849c0() {} +unk8 MapManager::func_ov00_020849dc() {} +bool MapManager::func_ov00_020849f8(unk32 param_1) {} +unk8 MapManager::func_ov00_02084a50() {} +void MapManager::SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4) {} +bool MapManager::func_ov00_02084ac4(u32 actorId) {} +unk8 MapManager::SetNumKeys(unk32 keys) {} +unk8 MapManager::GetNumKeys() {} +unk8 MapManager::SetCourseData_Unk_25c(unk8 param_2) {} +unk8 MapManager::GetCourseData_Unk_25d() {} +unk8 MapManager::func_ov00_02084b38(unk32 param_2, unk32 param_3, unk32 param_4) {} +bool MapManager::func_ov00_02084be0(unk32 param_2, unk32 param_3) {} +void MapManager::func_ov00_02084c5c(unk32 param_2, unk32 param_3) {} +bool MapManager::func_ov00_02084c6c(unk32 param_2) {} +unk8 MapManager::func_ov00_02084c7c(unk32 param_2) {} +unk8 MapManager::func_ov00_02084c94(unk32 param_2) {} +unk8 MapManager::func_ov00_02084cb0(unk32 param_2) {} +unk8 MapManager::func_ov00_02084cc8(unk32 param_2) {} +unk8 MapManager::func_ov00_02084ce4(unk32 param_2) {} +unk8 MapManager::func_ov00_02084cfc(unk32 param_2) {} +unk8 MapManager::GetMapData_Unk_09() {} +unk8 MapManager::func_ov00_02084d24(unk8 param_2, unk8 param_3, unk32 param_4) {} +s32 MapManager::func_ov00_02084d4c(unk32 param_2, unk32 param_3, Vec3p *param_4) {} +unk8 MapManager::func_ov00_02084ebc(unk32 param_2) {} +s32 MapManager::func_ov00_02085108(s32 *param_2) {} +unk8 MapManager::func_ov00_0208527c() {} +unk8 MapManager::func_ov00_020853fc() {} +unk8 MapManager::func_ov00_02085594() {} +void MapManager::func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_020858b0() {} +s32 MapManager::func_ov00_02085a34(unk32 param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5) {} +unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4) {} +bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7, Vec3p *param_8) {} +bool MapManager::func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7, Vec3p *param_8, Vec3p *param_9) {} + +#endif diff --git a/src/00_Core/Player/TouchControl.cpp b/src/00_Core/Player/TouchControl.cpp index 6eba289c..df8bbfe0 100644 --- a/src/00_Core/Player/TouchControl.cpp +++ b/src/00_Core/Player/TouchControl.cpp @@ -10,5 +10,6 @@ void TouchControl::Update(TouchState *state, u16 speed) {} bool TouchControl::func_ov00_0207aeac() {} void TouchControl::UpdateConditionally(TouchState *state, u16 speed) {} void TouchControl::func_ov00_0207af38(u16 speed, bool param2) {} +TouchControl::~TouchControl() {} #endif diff --git a/tools/lcf.py b/tools/lcf.py index 869f1cc5..f0fc74d8 100644 --- a/tools/lcf.py +++ b/tools/lcf.py @@ -37,7 +37,19 @@ ov00 = Overlay(name='ov00', after='ARM9', objects=[ 'src/00_Core/Player/TouchControl.cpp', 'asm/ov00/Player/TouchControl.s', - 'asm/ov00/ov00_0207af9c.s', + 'asm/ov00/ov00_0207afa0.s', + + 'asm/ov00/Map/Course.s', + 'src/00_Core/Map/Course.cpp', + 'asm/ov00/Map/MapBase.s', + 'src/00_Core/Map/MapBase.cpp', + + 'asm/ov00/ov00_0207da38.s', + + 'asm/ov00/Map/MapManager.s', + 'src/00_Core/Map/MapManager.cpp', + + 'asm/ov00/ov00_02086cd0.s', 'src/00_Core/Save/AdventureFlags.cpp', 'asm/ov00/Save/AdventureFlags.s', diff --git a/tools/mangle.py b/tools/mangle.py index 50bf9538..a9bfcadf 100644 --- a/tools/mangle.py +++ b/tools/mangle.py @@ -12,6 +12,9 @@ tools_dir = Path(os.path.dirname(os.path.realpath(__file__))) cc_path = tools_dir / 'mwccarm' / '2.0' / 'sp1p5' / 'mwccarm.exe' root_dir = tools_dir.parent include_dir = root_dir / 'include' +libs_dir = root_dir / 'libs' +libc_include_dir = libs_dir / 'c' / 'include' +libcpp_include_dir = libs_dir / 'cpp' / 'include' if platform.system() == 'Windows': cc = [str(cc_path)] else: cc = ['wine', str(cc_path)] @@ -19,13 +22,22 @@ else: cc = ['wine', str(cc_path)] args = parser.parse_args() cc.extend([ - '-nolink', - '-proc', 'arm946e', - '-interworking', + '-enum', 'int', '-char', 'signed', + '-proc', 'arm946e', + '-gccext,on', + '-fp', 'soft', + '-inline', 'on,noauto', + '-Cpp_exceptions', 'off', + '-RTTI', 'off', + '-interworking', + '-nolink', '-msgstyle', 'gcc', '-dis', - f'-I{include_dir}', + '-gccinc', + '-i', include_dir, + '-i', libc_include_dir, + '-i', libcpp_include_dir, '-DSTUBS', args.file ])