diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index b3b1875c..00000000
--- a/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.s encoding=sjis diff=sjis
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index b63315e9..a0a106e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ ph_*/
*bios.bin
/m2ctx
*.sav
+*.xMAP
diff --git a/Makefile b/Makefile
index ec88dbc5..0dc3c52a 100644
--- a/Makefile
+++ b/Makefile
@@ -49,8 +49,8 @@ LCF_FILE := $(ROOT)/$(BUILD_DIR)/arm9_linker_script.lcf
OBJS_FILE := $(ROOT)/$(BUILD_DIR)/arm9_objects.txt
ASM_FLAGS := -proc arm5te -d $(REGION) -i asm -msgstyle gcc
-CC_FLAGS := -proc arm946e -interworking -O4,p -enum int -i include -i- -i libs/c/include -i libs/cpp/include -nolink -d $(REGION) -char signed -sym on -msgstyle gcc -RTTI off
-C_FLAGS := -lang=c
+CC_FLAGS := -O4,p -enum int -char signed -str noreuse -proc arm946e -gccext,on -fp soft -inline on,noauto -Cpp_exceptions off -RTTI off -interworking -sym on -gccinc -i include -i libs/c/include -i libs/cpp/include -nolink -d $(REGION) -msgstyle gcc
+C_FLAGS := -lang=c
CXX_FLAGS := -lang=c++
LD_FLAGS := -proc arm946e -nostdlib -interworking -nodead -m Entry -map closure,unused -o main.bin -msgstyle gcc
@@ -85,6 +85,7 @@ all: tools rom
tools:
cd $(TOOLS_DIR)/compress && $(MAKE)
cd $(TOOLS_DIR)/rom && $(MAKE)
+ cd $(TOOLS_DIR)/elf && $(MAKE)
.PHONY: rom
rom: arm9
@@ -126,10 +127,12 @@ $(ASM_OBJS): $(TARGET_DIR)/%.o: %
$(CXX_OBJS): $(TARGET_DIR)/%.o: %
mkdir -p $(dir $@)
LM_LICENSE_FILE=$(MW_LICENSE) $(WINE) $(MW_CC) $(CC_FLAGS) $(CXX_FLAGS) $< -o $@
+ $(TOOLS_DIR)/elf/elfkill -s $< -e $@
$(C_OBJS): $(TARGET_DIR)/%.o: %
mkdir -p $(dir $@)
LM_LICENSE_FILE=$(MW_LICENSE) $(WINE) $(MW_CC) $(CC_FLAGS) $(C_FLAGS) $< -o $@
+ $(TOOLS_DIR)/elf/elfkill -s $< -e $@
.PHONY: link
link: lcf $(ASM_OBJS) $(CXX_OBJS) $(C_OBJS)
diff --git a/asm/dtcm.s b/asm/dtcm.s
index b3664d47..92fc93a3 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:
@@ -4001,8 +4001,8 @@ gItemManager:
.global data_027e0fb8
data_027e0fb8:
.space 0x4
- .global data_027e0fbc
-data_027e0fbc:
+ .global gHealthManager
+gHealthManager:
.space 0x4
.global data_027e0fc0
data_027e0fc0:
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..f9d8e1ce 100644
--- a/asm/main/main_02000000.inc
+++ b/asm/main/main_02000000.inc
@@ -1,6 +1,10 @@
#pragma once
.extern Divide
-.extern _ZN11ItemManager10GiveRupeesEjj
+.extern _ZN10MapManager18func_ov00_02082614Eii
+.extern _ZN10MapManager18func_ov00_020838e8EjPi
+.extern _ZN10MapManager18func_ov00_02084740Ev
+.extern _ZN10MapManager18func_ov00_02086044Eiii
+.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager7AddItemEi
.extern _ZN11ItemManager8GiveKeysEj
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
@@ -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..c514ec88 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
@@ -76814,7 +76814,7 @@ _0203826c:
ldr r1, [r4, #4]
ldr r0, [r0]
mov r2, #1
- bl _ZN11ItemManager10GiveRupeesEjj
+ bl _ZN11ItemManager10GiveRupeesEsb
add sp, sp, #0x18
mov r0, #2
ldmia sp!, {r3, r4, r5, pc}
@@ -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
@@ -113908,19 +113908,23 @@ data_02057664: ; 0x02057664
.byte 0x00
.global data_02057670
data_02057670: ; 0x02057670
- .ascii "KiC.file"
+ ; string "γ‘γ’γͺγ¬γγ€.file"
+ .byte 0x83, 0x81, 0x83, 0x82, 0x83, 0x8a, 0x83, 0x4b, 0x83, 0x69, 0x83, 0x43, 0x2e, 0x66, 0x69, 0x6c, 0x65
.byte 0x00, 0x00, 0x00
.global data_02057684
data_02057684: ; 0x02057684
- .ascii "Vj"
+ ; string "γ·γ"
+ .byte 0x83, 0x56, 0x83, 0x6a
.byte 0x00, 0x00, 0x00, 0x00
.global data_0205768c
data_0205768c: ; 0x0205768c
- .ascii "IL"
+ ; string "γͺγ"
+ .byte 0x83, 0x49, 0x83, 0x4c
.byte 0x00, 0x00, 0x00, 0x00
.global data_02057694
data_02057694: ; 0x02057694
- .ascii "l"
+ ; string "γγ«"
+ .byte 0x83, 0x6c, 0x83, 0x8b
.byte 0x00, 0x00, 0x00, 0x00
.global data_0205769c
data_0205769c: ; 0x0205769c
@@ -113940,7 +113944,8 @@ data_020576e4: ; 0x020576e4
.byte 0x00, 0x00
.global data_020576f0
data_020576f0: ; 0x020576f0
- .ascii "KiC.%s"
+ ; string "γ‘γ’γͺγ¬γγ€.%s"
+ .byte 0x83, 0x81, 0x83, 0x82, 0x83, 0x8a, 0x83, 0x4b, 0x83, 0x69, 0x83, 0x43, 0x2e, 0x25, 0x73
.byte 0x00
.global data_02057700
data_02057700: ; 0x02057700
@@ -113959,11 +113964,13 @@ data_02057710: ; 0x02057710
.byte 0x00, 0x00, 0x00
.global data_02057718
data_02057718: ; 0x02057718
- .ascii "R[X:"
+ ; string "γ³γΌγΉ:"
+ .byte 0x83, 0x52, 0x81, 0x5b, 0x83, 0x58, 0x3a
.byte 0x00
.global data_02057720
data_02057720: ; 0x02057720
- .ascii "R[XiV"
+ ; string "γ³γΌγΉγγ·"
+ .byte 0x83, 0x52, 0x81, 0x5b, 0x83, 0x58, 0x83, 0x69, 0x83, 0x56
.byte 0x00, 0x00
.global data_0205772c
data_0205772c: ; 0x0205772c
@@ -113983,11 +113990,13 @@ data_02057744: ; 0x02057744
.byte 0x00, 0x00
.global data_02057750
data_02057750: ; 0x02057750
- .ascii "CKC`
E(%d,%d)"
+ ; string "γ¬γ€γ¬γ€γγ₯γ¦(%d,%d)"
+ .byte 0x83, 0x8c, 0x83, 0x43, 0x83, 0x4b, 0x83, 0x43, 0x83, 0x60, 0x83, 0x85, 0x83, 0x45, 0x28, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x29
.byte 0x00, 0x00, 0x00
.global data_02057768
data_02057768: ; 0x02057768
- .ascii "CKC nbZC"
+ ; string "γ¬γ€γ¬γ€ γγγ»γ€"
+ .byte 0x83, 0x8c, 0x83, 0x43, 0x83, 0x4b, 0x83, 0x43, 0x20, 0x83, 0x6e, 0x83, 0x62, 0x83, 0x5a, 0x83, 0x43
.byte 0x00, 0x00, 0x00
.global data_0205777c
data_0205777c: ; 0x0205777c
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
deleted file mode 100644
index 871cc044..00000000
--- a/asm/ov00/Item/ItemManager.inc
+++ /dev/null
@@ -1,26 +0,0 @@
-#pragma once
-.extern LoadTreasureItemFanfare
-.extern _ZN11ItemManager12GetEquipItemEi
-.extern _ZNK11ItemManager10GetMaxAmmoEi
-.extern data_027e0e60
-.extern gAdventureFlags
-.extern data_027e0f78
-.extern data_027e0fbc
-.extern data_027e103c
-.extern data_027e1058
-.extern data_027e105c
-.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 gItemManager
diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s
deleted file mode 100644
index ccf8fb70..00000000
--- a/asm/ov00/Item/ItemManager.s
+++ /dev/null
@@ -1,2316 +0,0 @@
- .include "macros/function.inc"
- .include "ov00/Item/ItemManager.inc"
-
- .text
-
- .global _ZN11ItemManager15LoadFanfareItemEj
- thumb_func_start _ZN11ItemManager15LoadFanfareItemEj
-_ZN11ItemManager15LoadFanfareItemEj: ; 0x020adb30
- push {r4, r5, lr}
- sub sp, #0x10c
- add r5, r0, #0
- mov r0, #0x46
- lsl r0, r0, #2
- str r1, [r5, r0]
- cmp r1, #0x2b
- beq _020adb54
- cmp r1, #0x25
- beq _020adb54
- cmp r1, #0x79
- blt _020adb4c
- cmp r1, #0x7c
- ble _020adb54
-_020adb4c:
- cmp r1, #0x7e
- beq _020adb54
- cmp r1, #0x85
- bne _020adb5c
-_020adb54:
- ldr r0, _020adc8c ; =data_027e1058
- ldr r0, [r0]
- ldr r1, [r0]
- b _020adc7c
-_020adb5c:
- cmp r1, #0x30
- blt _020adb76
- cmp r1, #0x37
- bgt _020adb76
- ldr r0, _020adc90 ; =data_027e105c
- sub r1, #0x30
- ldr r0, [r0]
- mov r2, #1
- mov r3, #0
- bl LoadTreasureItemFanfare
- add r1, r0, #0
- b _020adc7c
-_020adb76:
- cmp r1, #0x7d
- bne _020adb82
- ldr r0, _020adc90 ; =data_027e105c
- ldr r0, [r0]
- ldr r1, [r0]
- b _020adc7c
-_020adb82:
- add r3, sp, #0x8c
- mov r2, #0x80
- mov r0, #0
-_020adb88:
- strb r0, [r3]
- add r3, r3, #1
- sub r2, r2, #1
- bne _020adb88
- add r3, sp, #0xc
- mov r2, #0x80
- mov r0, #0
-_020adb96:
- strb r0, [r3]
- add r3, r3, #1
- sub r2, r2, #1
- bne _020adb96
- mov r4, #0
- cmp r1, #0x28
- bne _020adbb4
- add r0, r5, #0
- add r0, #0xb4
- ldrh r0, [r0]
- cmp r0, #1
- blt _020adbb4
- ldr r0, _020adc94 ; =data_ov00_020e5df8
- ldr r4, [r0, #4]
- b _020adc22
-_020adbb4:
- cmp r1, #0x29
- bne _020adbc8
- add r0, r5, #0
- add r0, #0xb6
- ldrh r0, [r0]
- cmp r0, #1
- blt _020adbc8
- ldr r0, _020adc94 ; =data_ov00_020e5df8
- ldr r4, [r0, #8]
- b _020adc22
-_020adbc8:
- cmp r1, #0x2a
- bne _020adbdc
- add r0, r5, #0
- add r0, #0xb8
- ldrh r0, [r0]
- cmp r0, #1
- blt _020adbdc
- ldr r0, _020adc94 ; =data_ov00_020e5df8
- ldr r4, [r0, #0xc]
- b _020adc22
-_020adbdc:
- cmp r1, #0x3e
- bne _020adbe6
- ldr r0, _020adc98 ; =data_ov00_020e5c78
- ldr r4, [r0, #0x2c]
- b _020adc22
-_020adbe6:
- cmp r1, #0x46
- bge _020adbf2
- ldr r0, _020adc9c ; =data_ov00_020e5c9c
- lsl r1, r1, #2
- ldr r4, [r0, r1]
- b _020adc22
-_020adbf2:
- cmp r1, #0x71
- blt _020adc04
- cmp r1, #0x79
- bge _020adc04
- sub r1, #0x71
- ldr r0, _020adca0 ; =data_ov00_020e5db4
- lsl r1, r1, #2
- ldr r4, [r0, r1]
- b _020adc22
-_020adc04:
- cmp r1, #0x7f
- blt _020adc16
- cmp r1, #0x88
- bge _020adc16
- sub r1, #0x7f
- ldr r0, _020adca4 ; =data_ov00_020e5dd4
- lsl r1, r1, #2
- ldr r4, [r0, r1]
- b _020adc22
-_020adc16:
- cmp r1, #0x4b
- blt _020adc22
- cmp r1, #0x6a
- bgt _020adc22
- ldr r0, _020adc94 ; =data_ov00_020e5df8
- ldr r4, [r0]
-_020adc22:
- cmp r4, #0
- bne _020adc2a
- ldr r0, _020adc98 ; =data_ov00_020e5c78
- ldr r4, [r0, #0x20]
-_020adc2a:
- ldr r1, _020adc94 ; =data_ov00_020e5df8
- add r0, sp, #0x8c
- ldr r1, [r1, #0x10]
- blx strcat
- add r0, sp, #0x8c
- add r1, r4, #0
- blx strcat
- ldr r1, _020adc94 ; =data_ov00_020e5df8
- add r0, sp, #0x8c
- ldr r1, [r1, #0x14]
- blx strcat
- ldr r1, _020adc94 ; =data_ov00_020e5df8
- add r0, sp, #0xc
- ldr r1, [r1, #0x10]
- blx strcat
- add r0, sp, #0xc
- add r1, r4, #0
- blx strcat
- ldr r1, _020adc94 ; =data_ov00_020e5df8
- add r0, sp, #0xc
- ldr r1, [r1, #0x18]
- blx strcat
- mov r3, #0
- str r3, [sp]
- str r3, [sp, #4]
- mov r0, #1
- str r0, [sp, #8]
- mov r0, #0x12
- lsl r0, r0, #4
- ldr r0, [r5, r0]
- add r1, sp, #0x8c
- add r2, sp, #0xc
- bl func_ov00_02079ffc
- add r1, r0, #0
-_020adc7c:
- mov r0, #0x45
- lsl r0, r0, #2
- ldr r0, [r5, r0]
- ldr r2, [r0]
- ldr r2, [r2, #0xc]
- blx r2
- add sp, #0x10c
- pop {r4, r5, pc}
- .align 2, 0
- thumb_func_end _ZN11ItemManager15LoadFanfareItemEj
-_020adc8c: .word data_027e1058
-_020adc90: .word data_027e105c
-_020adc94: .word data_ov00_020e5df8
-_020adc98: .word data_ov00_020e5c78
-_020adc9c: .word data_ov00_020e5c9c
-_020adca0: .word data_ov00_020e5db4
-_020adca4: .word data_ov00_020e5dd4
-
- .global _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p
- thumb_func_start _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p
-_ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p: ; 0x020adca8
- mov r2, #0x46
- lsl r2, r2, #2
- ldr r0, [r0, r2]
- cmp r0, #0x1b
- bgt _020adcc4
- cmp r0, #0x1a
- blt _020adcbe
- beq _020adcc8
- cmp r0, #0x1b
- beq _020adcc8
- b _020adcd4
-_020adcbe:
- cmp r0, #9
- beq _020adcc8
- b _020adcd4
-_020adcc4:
- cmp r0, #0x82
- bne _020adcd4
-_020adcc8:
- ldr r0, _020adcd8 ; =0x00001666
- str r0, [r1]
- str r0, [r1, #4]
- str r0, [r1, #8]
- mov r0, #1
- bx lr
-_020adcd4:
- mov r0, #0
- bx lr
- .align 2, 0
- thumb_func_end _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p
-_020adcd8: .word 0x00001666
-
- .global _ZN11ItemManager8GiveItemEjjj
- thumb_func_start _ZN11ItemManager8GiveItemEjjj
-_ZN11ItemManager8GiveItemEjjj: ; 0x020adcdc
- push {r3, r4, r5, lr}
- cmp r1, #0x76
- bgt _020addd2
- blt _020adce6
- b _020ae128
-_020adce6:
- cmp r1, #0x6f
- bgt _020adda0
- blt _020adcee
- b _020ae0ec
-_020adcee:
- cmp r1, #0x6c
- bgt _020add8e
- blt _020adcf6
- b _020ae0bc
-_020adcf6:
- cmp r1, #0x3d
- bgt _020add86
- cmp r1, #0
- blt _020add8c
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_020add0a: ; jump table
- .short _020ae222 - _020add0a - 2 ; case 0
- .short _020ade36 - _020add0a - 2 ; case 1
- .short _020ade3e - _020add0a - 2 ; case 2
- .short _020ade7c - _020add0a - 2 ; case 3
- .short _020ade98 - _020add0a - 2 ; case 4
- .short _020ae222 - _020add0a - 2 ; case 5
- .short _020ae1fe - _020add0a - 2 ; case 6
- .short _020adeb4 - _020add0a - 2 ; case 7
- .short _020adec8 - _020add0a - 2 ; case 8
- .short _020ade5c - _020add0a - 2 ; case 9
- .short _020ae1fe - _020add0a - 2 ; case 10
- .short _020ae1fe - _020add0a - 2 ; case 11
- .short _020aded2 - _020add0a - 2 ; case 12
- .short _020adedc - _020add0a - 2 ; case 13
- .short _020adebe - _020add0a - 2 ; case 14
- .short _020ae1fe - _020add0a - 2 ; case 15
- .short _020ae222 - _020add0a - 2 ; case 16
- .short _020ae1fe - _020add0a - 2 ; case 17
- .short _020adefa - _020add0a - 2 ; case 18
- .short _020adf12 - _020add0a - 2 ; case 19
- .short _020adf2c - _020add0a - 2 ; case 20
- .short _020adf46 - _020add0a - 2 ; case 21
- .short _020adf60 - _020add0a - 2 ; case 22
- .short _020ae1fe - _020add0a - 2 ; case 23
- .short _020ade48 - _020add0a - 2 ; case 24
- .short _020ade52 - _020add0a - 2 ; case 25
- .short _020ade66 - _020add0a - 2 ; case 26
- .short _020ade70 - _020add0a - 2 ; case 27
- .short _020ae1fe - _020add0a - 2 ; case 28
- .short _020ae1fe - _020add0a - 2 ; case 29
- .short _020ae1fe - _020add0a - 2 ; case 30
- .short _020adee6 - _020add0a - 2 ; case 31
- .short _020adef0 - _020add0a - 2 ; case 32
- .short _020ae1fe - _020add0a - 2 ; case 33
- .short _020ae1fe - _020add0a - 2 ; case 34
- .short _020ae1fe - _020add0a - 2 ; case 35
- .short _020adf7a - _020add0a - 2 ; case 36
- .short _020adf96 - _020add0a - 2 ; case 37
- .short _020adfbe - _020add0a - 2 ; case 38
- .short _020adfd8 - _020add0a - 2 ; case 39
- .short _020adff2 - _020add0a - 2 ; case 40
- .short _020adff8 - _020add0a - 2 ; case 41
- .short _020adffe - _020add0a - 2 ; case 42
- .short _020ae1fe - _020add0a - 2 ; case 43
- .short _020ae004 - _020add0a - 2 ; case 44
- .short _020ae024 - _020add0a - 2 ; case 45
- .short _020ae032 - _020add0a - 2 ; case 46
- .short _020ae040 - _020add0a - 2 ; case 47
- .short _020ae1fe - _020add0a - 2 ; case 48
- .short _020ae1fe - _020add0a - 2 ; case 49
- .short _020ae1fe - _020add0a - 2 ; case 50
- .short _020ae1fe - _020add0a - 2 ; case 51
- .short _020ae1fe - _020add0a - 2 ; case 52
- .short _020ae1fe - _020add0a - 2 ; case 53
- .short _020ae1fe - _020add0a - 2 ; case 54
- .short _020ae1fe - _020add0a - 2 ; case 55
- .short _020ae014 - _020add0a - 2 ; case 56
- .short _020ae1fe - _020add0a - 2 ; case 57
- .short _020ae1fe - _020add0a - 2 ; case 58
- .short _020ae1fe - _020add0a - 2 ; case 59
- .short _020ae1fe - _020add0a - 2 ; case 60
- .short _020ae04e - _020add0a - 2 ; case 61
-_020add86:
- cmp r1, #0x6b
- bne _020add8c
- b _020ae0ac
-_020add8c:
- b _020ae1fe
-_020add8e:
- cmp r1, #0x6d
- bgt _020add98
- bne _020add96
- b _020ae0cc
-_020add96:
- b _020ae1fe
-_020add98:
- cmp r1, #0x6e
- bne _020add9e
- b _020ae0dc
-_020add9e:
- b _020ae1fe
-_020adda0:
- cmp r1, #0x72
- bgt _020addba
- blt _020adda8
- b _020ae082
-_020adda8:
- cmp r1, #0x70
- bgt _020addb2
- bne _020addb0
- b _020ae0fc
-_020addb0:
- b _020ae1fe
-_020addb2:
- cmp r1, #0x71
- bne _020addb8
- b _020ae072
-_020addb8:
- b _020ae1fe
-_020addba:
- cmp r1, #0x74
- bgt _020addca
- blt _020addc2
- b _020ae09e
-_020addc2:
- cmp r1, #0x73
- bne _020addc8
- b _020ae090
-_020addc8:
- b _020ae1fe
-_020addca:
- cmp r1, #0x75
- bne _020addd0
- b _020ae10c
-_020addd0:
- b _020ae1fe
-_020addd2:
- cmp r1, #0x7c
- bgt _020ade06
- blt _020addda
- b _020ae1b0
-_020addda:
- cmp r1, #0x79
- bgt _020addf4
- blt _020adde2
- b _020ae16c
-_020adde2:
- cmp r1, #0x77
- bgt _020addec
- bne _020addea
- b _020ae144
-_020addea:
- b _020ae1fe
-_020addec:
- cmp r1, #0x78
- bne _020addf2
- b _020ae160
-_020addf2:
- b _020ae1fe
-_020addf4:
- cmp r1, #0x7a
- bgt _020addfe
- bne _020addfc
- b _020ae182
-_020addfc:
- b _020ae1fe
-_020addfe:
- cmp r1, #0x7b
- bne _020ade04
- thumb_func_end _ZN11ItemManager8GiveItemEjjj
-_020ade02:
- b _020ae198
-_020ade04:
- b _020ae1fe
-_020ade06:
- cmp r1, #0x81
- bgt _020ade20
- blt _020ade0e
- b _020ae1e6
-_020ade0e:
- cmp r1, #0x7f
- bgt _020ade18
- bne _020ade16
- b _020ae1c6
-_020ade16:
- b _020ae1fe
-_020ade18:
- cmp r1, #0x80
- bne _020ade1e
- b _020ae1d6
-_020ade1e:
- b _020ae1fe
-_020ade20:
- cmp r1, #0x83
- bgt _020ade2e
- bge _020ade32
- cmp r1, #0x82
- bne _020ade2c
- b _020ae1f2
-_020ade2c:
- b _020ae1fe
-_020ade2e:
- cmp r1, #0x84
- bne _020ade34
-_020ade32:
- b _020ae222
-_020ade34:
- b _020ae1fe
-_020ade36:
- mov r1, #1
- bl _ZN11ItemManager8GiveKeysEj
- b _020ae222
-_020ade3e:
- mov r1, #1
- add r2, r1, #0
- blx _ZN11ItemManager10GiveRupeesEjj
- b _020ae222
-_020ade48:
- mov r1, #5
- mov r2, #1
- blx _ZN11ItemManager10GiveRupeesEjj
- b _020ae222
-_020ade52:
- mov r1, #0x14
- mov r2, #1
- blx _ZN11ItemManager10GiveRupeesEjj
- b _020ae222
-_020ade5c:
- mov r1, #0x64
- mov r2, #1
- blx _ZN11ItemManager10GiveRupeesEjj
- b _020ae222
-_020ade66:
- mov r1, #0xc8
- mov r2, #1
- blx _ZN11ItemManager10GiveRupeesEjj
- b _020ae222
-_020ade70:
- mov r1, #0x4b
- lsl r1, r1, #2
- mov r2, #1
- blx _ZN11ItemManager10GiveRupeesEjj
- b _020ae222
-_020ade7c:
- mov r2, #0x4a
- lsl r2, r2, #2
- ldr r3, [r0, r2]
- mov r1, #1
- orr r1, r3
- str r1, [r0, r2]
- mov r1, #0
- blx _ZN11ItemManager12GetEquipItemEi
- ldr r2, [r0]
- mov r1, #1
- ldr r2, [r2, #0x20]
- blx r2
- b _020ae222
-_020ade98:
- mov r2, #0x4a
- lsl r2, r2, #2
- ldr r3, [r0, r2]
- mov r1, #2
- orr r1, r3
- str r1, [r0, r2]
- mov r1, #1
- blx _ZN11ItemManager12GetEquipItemEi
- ldr r2, [r0]
- mov r1, #1
- ldr r2, [r2, #0x20]
- blx r2
- b _020ae222
-_020adeb4:
- mov r1, #4
- mov r2, #0xa
- bl _ZN11ItemManager13GiveEquipItemEij
- b _020ae222
-_020adebe:
- mov r1, #7
- mov r2, #0xa
- bl _ZN11ItemManager13GiveEquipItemEij
- b _020ae222
-_020adec8:
- mov r1, #5
- mov r2, #0x14
- bl _ZN11ItemManager13GiveEquipItemEij
- b _020ae222
-_020aded2:
- mov r1, #2
- mov r2, #1
- bl _ZN11ItemManager13GiveEquipItemEij
- b _020ae222
-_020adedc:
- mov r1, #3
- mov r2, #1
- bl _ZN11ItemManager13GiveEquipItemEij
- b _020ae222
-_020adee6:
- mov r1, #8
- mov r2, #1
- bl _ZN11ItemManager13GiveEquipItemEij
- b _020ae222
-_020adef0:
- mov r1, #6
- mov r2, #1
- bl _ZN11ItemManager13GiveEquipItemEij
- b _020ae222
-_020adefa:
- mov r1, #0x4b
- lsl r1, r1, #2
- ldr r3, [r0, r1]
- mov r2, #1
- orr r3, r2
- str r3, [r0, r1]
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x13
- ldr r0, [r0]
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020adf12:
- mov r2, #0x4b
- lsl r2, r2, #2
- ldr r3, [r0, r2]
- mov r1, #2
- orr r1, r3
- str r1, [r0, r2]
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #9
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020adf2c:
- mov r2, #0x4b
- lsl r2, r2, #2
- ldr r3, [r0, r2]
- mov r1, #4
- orr r1, r3
- str r1, [r0, r2]
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0xa
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020adf46:
- mov r2, #0x4b
- lsl r2, r2, #2
- ldr r3, [r0, r2]
- mov r1, #8
- orr r1, r3
- str r1, [r0, r2]
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0xb
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020adf60:
- mov r2, #0x4b
- lsl r2, r2, #2
- ldr r3, [r0, r2]
- mov r1, #0x10
- orr r1, r3
- str r1, [r0, r2]
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0xc
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020adf7a:
- mov r2, #0x4b
- lsl r2, r2, #2
- add r1, r2, #0
- ldr r3, [r0, r2]
- sub r1, #0x2c
- orr r1, r3
- str r1, [r0, r2]
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x2b
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020adf96:
- mov r2, #0x4b
- lsl r2, r2, #2
- add r1, r2, #0
- ldr r3, [r0, r2]
- add r1, #0xd4
- orr r1, r3
- str r1, [r0, r2]
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x30
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- mov r0, #3
- mov r1, #0
- bl func_ov09_0211ca20
- bl func_ov09_0211c700
- b _020ae222
-_020adfbe:
- mov r2, #0x4b
- lsl r2, r2, #2
- ldr r3, [r0, r2]
- mov r1, #0x40
- orr r1, r3
- str r1, [r0, r2]
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x16
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020adfd8:
- mov r2, #0x4b
- lsl r2, r2, #2
- ldr r3, [r0, r2]
- mov r1, #0x80
- orr r1, r3
- str r1, [r0, r2]
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x17
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020adff2:
- bl _ZN11ItemManager13UpgradeQuiverEv
- b _020ae222
-_020adff8:
- bl _ZN11ItemManager14UpgradeBombBagEv
- b _020ae222
-_020adffe:
- bl _ZN11ItemManager17UpgradeBombchuBagEv
- b _020ae222
-_020ae004:
- mov r2, #0x4b
- lsl r2, r2, #2
- mov r1, #1
- ldr r3, [r0, r2]
- lsl r1, r1, #0xa
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae014:
- mov r2, #0x4b
- lsl r2, r2, #2
- mov r1, #2
- ldr r3, [r0, r2]
- lsl r1, r1, #0xa
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae024:
- add r1, r0, #0
- add r1, #0x25
- ldrb r1, [r1]
- add r0, #0x25
- add r1, r1, #1
- strb r1, [r0]
- b _020ae222
-_020ae032:
- add r1, r0, #0
- add r1, #0x26
- ldrb r1, [r1]
- add r0, #0x26
- add r1, r1, #1
- strb r1, [r0]
- b _020ae222
-_020ae040:
- add r1, r0, #0
- add r1, #0x24
- ldrb r1, [r1]
- add r0, #0x24
- add r1, r1, #1
- strb r1, [r0]
- b _020ae222
-_020ae04e:
- mov r2, #0x4b
- lsl r2, r2, #2
- mov r1, #1
- ldr r3, [r0, r2]
- lsl r1, r1, #0xc
- orr r1, r3
- str r1, [r0, r2]
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x8c
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- ldr r0, _020ae248 ; =data_027e0fbc
- mov r1, #5
- ldr r0, [r0]
- strh r1, [r0, #8]
- b _020ae222
-_020ae072:
- mov r2, #0x4b
- lsl r2, r2, #2
- mov r1, #2
- ldr r3, [r0, r2]
- lsl r1, r1, #0xc
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae082:
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x7e
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020ae090:
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x7d
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020ae09e:
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x7f
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- b _020ae222
-_020ae0ac:
- mov r2, #0x4a
- lsl r2, r2, #2
- mov r1, #1
- ldr r3, [r0, r2]
- lsl r1, r1, #0x18
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae0bc:
- mov r2, #0x4a
- lsl r2, r2, #2
- mov r1, #2
- ldr r3, [r0, r2]
- lsl r1, r1, #0x18
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae0cc:
- mov r2, #0x4a
- lsl r2, r2, #2
- mov r1, #2
- ldr r3, [r0, r2]
- lsl r1, r1, #0x16
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae0dc:
- mov r2, #0x4a
- lsl r2, r2, #2
- mov r1, #2
- ldr r3, [r0, r2]
- lsl r1, r1, #0x1a
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae0ec:
- mov r2, #0x4a
- lsl r2, r2, #2
- mov r1, #1
- ldr r3, [r0, r2]
- lsl r1, r1, #0x1c
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae0fc:
- mov r2, #0x4a
- lsl r2, r2, #2
- mov r1, #1
- ldr r3, [r0, r2]
- lsl r1, r1, #0x1a
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae10c:
- mov r1, #0
-_020ae10e:
- add r2, r0, r1
- add r2, #0xbc
- ldrb r2, [r2]
- cmp r2, #0
- bne _020ae120
- mov r2, #1
- blx _ZN11ItemManager9SetPotionEjj
- b _020ae222
-_020ae120:
- add r1, r1, #1
- cmp r1, #2
- blt _020ae10e
- b _020ae222
-_020ae128:
- mov r1, #0
-_020ae12a:
- add r2, r0, r1
- add r2, #0xbc
- ldrb r2, [r2]
- cmp r2, #0
- bne _020ae13c
- mov r2, #2
- blx _ZN11ItemManager9SetPotionEjj
- b _020ae222
-_020ae13c:
- add r1, r1, #1
- cmp r1, #2
- blt _020ae12a
- b _020ae222
-_020ae144:
- mov r1, #0
-_020ae146:
- add r2, r0, r1
- add r2, #0xbc
- ldrb r2, [r2]
- cmp r2, #0
- bne _020ae158
- mov r2, #3
- blx _ZN11ItemManager9SetPotionEjj
- b _020ae222
-_020ae158:
- add r1, r1, #1
- cmp r1, #2
- blt _020ae146
- b _020ae222
-_020ae160:
- mov r1, #0xe1
- ldr r2, [r0, #0xc]
- lsl r1, r1, #4
- add r1, r2, r1
- str r1, [r0, #0xc]
- b _020ae222
-_020ae16c:
- ldr r0, _020ae244 ; =gAdventureFlags
- ldr r1, _020ae24c ; =0x00000126
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- mov r0, #6
- mov r1, #8
- bl func_ov09_0211ca20
- b _020ae222
-_020ae182:
- ldr r0, _020ae244 ; =gAdventureFlags
- ldr r1, _020ae250 ; =0x00000127
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- mov r0, #4
- mov r1, #8
- bl func_ov09_0211ca20
- b _020ae222
-_020ae198:
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x4a
- ldr r0, [r0]
- lsl r1, r1, #2
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- mov r0, #3
- mov r1, #8
- bl func_ov09_0211ca20
- b _020ae222
-_020ae1b0:
- ldr r0, _020ae244 ; =gAdventureFlags
- ldr r1, _020ae254 ; =0x00000129
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
- mov r0, #2
- mov r1, #8
- bl func_ov09_0211ca20
- b _020ae222
-_020ae1c6:
- mov r2, #0x4b
- lsl r2, r2, #2
- mov r1, #1
- ldr r3, [r0, r2]
- lsl r1, r1, #0xe
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae1d6:
- mov r2, #0x4b
- lsl r2, r2, #2
- mov r1, #2
- ldr r3, [r0, r2]
- lsl r1, r1, #0xe
- orr r1, r3
- str r1, [r0, r2]
- b _020ae222
-_020ae1e6:
- mov r1, #9
- mvn r1, r1
- mov r2, #1
- blx _ZN11ItemManager10GiveRupeesEjj
- b _020ae222
-_020ae1f2:
- mov r1, #0x31
- mvn r1, r1
- mov r2, #1
- blx _ZN11ItemManager10GiveRupeesEjj
- b _020ae222
-_020ae1fe:
- cmp r1, #0x4b
- blt _020ae222
- cmp r1, #0x6a
- bgt _020ae222
- mov r2, #0x4a
- lsl r2, r2, #2
- add r1, #0x15
- add r3, r0, r2
- lsr r0, r1, #5
- mov r4, #0x1f
- lsl r2, r0, #2
- mov r5, #1
- and r1, r4
- add r4, r5, #0
- ldr r0, [r3, r2]
- lsl r4, r1
- orr r0, r4
- str r0, [r3, r2]
-_020ae222:
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x7d
- ldr r0, [r0]
- blx _ZN14AdventureFlags3GetEj
- cmp r0, #0
- beq _020ae270
- ldr r0, _020ae244 ; =gAdventureFlags
- mov r1, #0x7e
- ldr r0, [r0]
- blx _ZN14AdventureFlags3GetEj
- cmp r0, #0
- beq _020ae270
- ldr r0, _020ae244 ; =gAdventureFlags
- b _020ae258
- nop
-_020ae244: .word gAdventureFlags
-_020ae248: .word data_027e0fbc
-_020ae24c: .word 0x00000126
-_020ae250: .word 0x00000127
-_020ae254: .word 0x00000129
-_020ae258:
- mov r1, #0x7f
- ldr r0, [r0]
- blx _ZN14AdventureFlags3GetEj
- cmp r0, #0
- beq _020ae270
- ldr r0, _020ae274 ; =gAdventureFlags
- mov r1, #0x80
- ldr r0, [r0]
- mov r2, #1
- blx _ZN14AdventureFlags3SetEjb
-_020ae270:
- pop {r3, r4, r5, pc}
- nop
-_020ae274: .word gAdventureFlags
-
- .global _ZN11ItemManager13GiveEquipItemEij
- thumb_func_start _ZN11ItemManager13GiveEquipItemEij
-_ZN11ItemManager13GiveEquipItemEij: ; 0x020ae278
- push {r3, r4, r5, r6, r7, lr}
- add r6, r1, #0
- str r2, [sp]
- lsl r2, r6, #0x10
- lsr r5, r2, #0x10
- mov r2, #0x4a
- lsr r3, r5, #5
- add r4, r0, #0
- lsl r2, r2, #2
- add r2, r4, r2
- lsl r7, r3, #2
- ldr r3, [r2, r7]
- mov ip, r3
- mov r3, #0x1f
- and r5, r3
- mov r3, #1
- lsl r3, r5
- mov r5, ip
- orr r3, r5
- str r3, [r2, r7]
- blx _ZN11ItemManager12GetEquipItemEi
- ldr r2, [r0]
- ldr r1, [sp]
- ldr r2, [r2, #0x20]
- blx r2
- mov r0, #0
- ldr r1, [r4]
- mvn r0, r0
- cmp r1, r0
- bne _020ae2bc
- str r6, [r4]
- mov r0, #1
- strh r0, [r4, #0x20]
-_020ae2bc:
- pop {r3, r4, r5, r6, r7, pc}
- .align 2, 0
- thumb_func_end _ZN11ItemManager13GiveEquipItemEij
-
- .global _ZN11ItemManager13UnequipPotionEv
- thumb_func_start _ZN11ItemManager13UnequipPotionEv
-_ZN11ItemManager13UnequipPotionEv: ; 0x020ae2c0
- push {r3, lr}
- ldr r1, [r0]
- cmp r1, #9
- beq _020ae2cc
- cmp r1, #0xa
- bne _020ae2d0
-_020ae2cc:
- blx _ZN11ItemManager17EquipPreviousItemEv
-_020ae2d0:
- pop {r3, pc}
- .align 2, 0
- thumb_func_end _ZN11ItemManager13UnequipPotionEv
-
- .global _ZNK11ItemManager12GetMaxRupeesEv
- arm_func_start _ZNK11ItemManager12GetMaxRupeesEv
-_ZNK11ItemManager12GetMaxRupeesEv: ; 0x020ae2d4
- ldr r0, _020ae2dc ; =0x0000270f
- bx lr
- .align 2, 0
- arm_func_end _ZNK11ItemManager12GetMaxRupeesEv
-_020ae2dc: .word 0x0000270f
-
- .global _ZN11ItemManager10GiveRupeesEjj
- arm_func_start _ZN11ItemManager10GiveRupeesEjj
-_ZN11ItemManager10GiveRupeesEjj: ; 0x020ae2e0
- stmdb sp!, {r4, r5, r6, lr}
- mov r6, r0
- ldrh r3, [r6, #0x22]
- mov r5, r2
- add r4, r3, r1
- bl _ZNK11ItemManager12GetMaxRupeesEv
- cmp r4, r0
- ble _020ae310
- mov r0, r6
- bl _ZNK11ItemManager12GetMaxRupeesEv
- mov r4, r0
- b _020ae318
-_020ae310:
- cmp r4, #0
- movlt r4, #0
-_020ae318:
- ldr r0, _020ae34c ; =data_027e103c
- mov r1, #1
- ldr r0, [r0]
- bl func_ov00_020cf374
- cmp r5, #0
- ldrneh r0, [r6, #0x22]
- cmpne r0, r4
- beq _020ae344
- ldr r0, _020ae34c ; =data_027e103c
- ldr r0, [r0]
- bl func_ov05_02104004
-_020ae344:
- strh r4, [r6, #0x22]
- ldmia sp!, {r4, r5, r6, pc}
- .align 2, 0
- arm_func_end _ZN11ItemManager10GiveRupeesEjj
-_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, [r0]
- bx ip
- .align 2, 0
- arm_func_end _ZNK11ItemManager18func_ov00_020ae350Ev
-_020ae360: .word data_027e0e60
-_020ae364: .word func_ov00_02084b14
-
- .global _ZN11ItemManager8GiveKeysEj
- thumb_func_start _ZN11ItemManager8GiveKeysEj
-_ZN11ItemManager8GiveKeysEj: ; 0x020ae368
- push {r4, lr}
- ldr r0, _020ae38c ; =data_027e0e60
- add r4, r1, #0
- ldr r0, [r0]
- blx func_ov00_02084b14
- add r1, r4, r0
- cmp r1, #8
- blt _020ae37c
- mov r1, #8
-_020ae37c:
- cmp r1, #0
- bgt _020ae382
- mov r1, #0
-_020ae382:
- ldr r0, _020ae38c ; =data_027e0e60
- ldr r0, [r0]
- blx func_ov00_02084b08
- pop {r4, pc}
- .align 2, 0
- thumb_func_end _ZN11ItemManager8GiveKeysEj
-_020ae38c: .word data_027e0e60
-
- .global _ZNK11ItemManager15GetEquippedItemEv
- arm_func_start _ZNK11ItemManager15GetEquippedItemEv
-_ZNK11ItemManager15GetEquippedItemEv: ; 0x020ae390
- ldr r2, [r0, #8]
- mvn r1, #0
- cmp r2, r1
- ldreq r2, [r0]
- mov r0, r2
- bx lr
- arm_func_end _ZNK11ItemManager15GetEquippedItemEv
-
- .global _ZN11ItemManager15SetEquippedItemEi
- arm_func_start _ZN11ItemManager15SetEquippedItemEi
-_ZN11ItemManager15SetEquippedItemEi: ; 0x020ae3a8
- ldr r3, [r0]
- mov r2, #2
- stmia r0, {r1, r3}
- strh r2, [r0, #0x20]
- mov r0, #1
- bx lr
- arm_func_end _ZN11ItemManager15SetEquippedItemEi
-
- .global _ZN11ItemManager17EquipPreviousItemEv
- arm_func_start _ZN11ItemManager17EquipPreviousItemEv
-_ZN11ItemManager17EquipPreviousItemEv: ; 0x020ae3c0
- ldr ip, _020ae3cc ; =_ZN11ItemManager15SetEquippedItemEi
- ldr r1, [r0, #4]
- bx ip
- .align 2, 0
- arm_func_end _ZN11ItemManager17EquipPreviousItemEv
-_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEi - 1
-
- .global _ZN11ItemManager13ForceEquipItemEi
- thumb_func_start _ZN11ItemManager13ForceEquipItemEi
-_ZN11ItemManager13ForceEquipItemEi: ; 0x020ae3d0
- push {r3, r4, r5, r6, r7, lr}
- mov r4, #0
- add r6, r0, #0
- add r7, r1, #0
- add r5, r4, #0
-_020ae3da:
- cmp r4, r7
- beq _020ae3ee
- add r0, r6, #0
- add r0, #0xac
- ldr r0, [r0]
- mov r1, #0
- ldr r0, [r0, r5]
- ldr r2, [r0]
- ldr r2, [r2, #0x28]
- blx r2
-_020ae3ee:
- add r4, r4, #1
- add r5, r5, #4
- cmp r4, #0xb
- blt _020ae3da
- str r7, [r6, #8]
- mov r0, #1
- strh r0, [r6, #0x20]
- pop {r3, r4, r5, r6, r7, pc}
- .align 2, 0
- thumb_func_end _ZN11ItemManager13ForceEquipItemEi
-
- .global _ZN11ItemManager20ClearForcedEquipItemEv
- thumb_func_start _ZN11ItemManager20ClearForcedEquipItemEv
-_ZN11ItemManager20ClearForcedEquipItemEv: ; 0x020ae400
- push {r3, lr}
- mov r2, #0
- mvn r2, r2
- str r2, [r0, #8]
- ldr r1, [r0]
- cmp r1, r2
- beq _020ae414
- blx _ZN11ItemManager15SetEquippedItemEi
- pop {r3, pc}
-_020ae414:
- mov r0, #0
- pop {r3, pc}
- thumb_func_end _ZN11ItemManager20ClearForcedEquipItemEv
-
- .global _ZN11ItemManager22UpdateSwordShieldInUseEv
- arm_func_start _ZN11ItemManager22UpdateSwordShieldInUseEv
-_ZN11ItemManager22UpdateSwordShieldInUseEv: ; 0x020ae418
- stmdb sp!, {r4, lr}
- mov r1, #0
- mov r4, r0
- bl _ZN11ItemManager12GetEquipItemEi
- ldr r2, [r0]
- mov r1, #1
- ldr r2, [r2, #0x28]
- blx r2
- mov r0, r4
- mov r1, #1
- bl _ZN11ItemManager12GetEquipItemEi
- ldr r2, [r0]
- mov r1, #1
- ldr r2, [r2, #0x28]
- blx r2
- ldmia sp!, {r4, pc}
- arm_func_end _ZN11ItemManager22UpdateSwordShieldInUseEv
-
- .global _ZN11ItemManager13UpgradeQuiverEv
- thumb_func_start _ZN11ItemManager13UpgradeQuiverEv
-_ZN11ItemManager13UpgradeQuiverEv: ; 0x020ae458
- push {r4, lr}
- add r4, r0, #0
- add r0, #0xb4
- ldrh r0, [r0]
- cmp r0, #2
- bhs _020ae472
- add r0, r4, #0
- add r0, #0xb4
- ldrh r0, [r0]
- add r1, r0, #1
- add r0, r4, #0
- add r0, #0xb4
- strh r1, [r0]
-_020ae472:
- add r0, r4, #0
- mov r1, #5
- bl _ZNK11ItemManager10GetMaxAmmoEi
- add r4, #0xb0
- ldr r1, [r4]
- strh r0, [r1, #0xa]
- pop {r4, pc}
- .align 2, 0
- thumb_func_end _ZN11ItemManager13UpgradeQuiverEv
-
- .global _ZN11ItemManager14UpgradeBombBagEv
- thumb_func_start _ZN11ItemManager14UpgradeBombBagEv
-_ZN11ItemManager14UpgradeBombBagEv: ; 0x020ae484
- push {r4, lr}
- add r4, r0, #0
- add r0, #0xb6
- ldrh r0, [r0]
- cmp r0, #2
- bhs _020ae49e
- add r0, r4, #0
- add r0, #0xb6
- ldrh r0, [r0]
- add r1, r0, #1
- add r0, r4, #0
- add r0, #0xb6
- strh r1, [r0]
-_020ae49e:
- add r0, r4, #0
- mov r1, #4
- bl _ZNK11ItemManager10GetMaxAmmoEi
- add r4, #0xb0
- ldr r1, [r4]
- strh r0, [r1, #8]
- pop {r4, pc}
- .align 2, 0
- thumb_func_end _ZN11ItemManager14UpgradeBombBagEv
-
- .global _ZN11ItemManager17UpgradeBombchuBagEv
- thumb_func_start _ZN11ItemManager17UpgradeBombchuBagEv
-_ZN11ItemManager17UpgradeBombchuBagEv: ; 0x020ae4b0
- push {r4, lr}
- add r4, r0, #0
- add r0, #0xb8
- ldrh r0, [r0]
- cmp r0, #2
- bhs _020ae4ca
- add r0, r4, #0
- add r0, #0xb8
- ldrh r0, [r0]
- add r1, r0, #1
- add r0, r4, #0
- add r0, #0xb8
- strh r1, [r0]
-_020ae4ca:
- add r0, r4, #0
- mov r1, #7
- bl _ZNK11ItemManager10GetMaxAmmoEi
- add r4, #0xb0
- ldr r1, [r4]
- strh r0, [r1, #0xe]
- pop {r4, pc}
- .align 2, 0
- thumb_func_end _ZN11ItemManager17UpgradeBombchuBagEv
-
- .global _ZN11ItemManager18func_ov00_020ae4dcEj
- arm_func_start _ZN11ItemManager18func_ov00_020ae4dcEj
-_ZN11ItemManager18func_ov00_020ae4dcEj: ; 0x020ae4dc
- ldrh r3, [r0, #0xba]
- add r2, r3, r1
- cmp r2, #9
- movgt r1, #9
- strgth r1, [r0, #0xba]
- bxgt lr
- rsb r1, r1, #0
- cmp r3, r1
- movlt r1, #0
- strlth r1, [r0, #0xba]
- strgeh r2, [r0, #0xba]
- bx lr
- arm_func_end _ZN11ItemManager18func_ov00_020ae4dcEj
-
- .global _ZN11ItemManager9SetPotionEjj
- arm_func_start _ZN11ItemManager9SetPotionEjj
-_ZN11ItemManager9SetPotionEjj: ; 0x020ae50c
- add r3, r0, r1
- strb r2, [r3, #0xbc]
- cmp r2, #0
- add r1, r1, #9
- bne _020ae544
- add r3, r0, #0x128
- 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
-_020ae544:
- add ip, r0, #0x128
- 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
- arm_func_end _ZN11ItemManager9SetPotionEjj
-
- .global _ZNK11ItemManager9HasPotionEj
- arm_func_start _ZNK11ItemManager9HasPotionEj
-_ZNK11ItemManager9HasPotionEj: ; 0x020ae564
- add r0, r0, r1
- ldrb r0, [r0, #0xbc]
- cmp r0, #3
- addls pc, pc, r0, lsl #2
- b _020ae590
-_020ae578: ; jump table
- b _020ae590 ; case 0
- b _020ae588 ; case 1
- b _020ae588 ; case 2
- b _020ae588 ; case 3
-_020ae588:
- mov r0, #1
- bx lr
-_020ae590:
- mov r0, #0
- bx lr
- arm_func_end _ZNK11ItemManager9HasPotionEj
-
- .global _ZNK11ItemManager13HasAllPotionsEv
- arm_func_start _ZNK11ItemManager13HasAllPotionsEv
-_ZNK11ItemManager13HasAllPotionsEv: ; 0x020ae598
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, #0
-_020ae5a4:
- mov r0, r5
- mov r1, r4
- bl _ZNK11ItemManager9HasPotionEj
- cmp r0, #0
- moveq r0, #0
- ldmeqia sp!, {r3, r4, r5, pc}
- add r4, r4, #1
- cmp r4, #2
- blt _020ae5a4
- mov r0, #1
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end _ZNK11ItemManager13HasAllPotionsEv
-
- .global _ZNK11ItemManager15HasPurplePotionEv
- arm_func_start _ZNK11ItemManager15HasPurplePotionEv
-_ZNK11ItemManager15HasPurplePotionEv: ; 0x020ae5d0
- mov r2, #0
-_020ae5d4:
- add r1, r0, r2
- ldrb r1, [r1, #0xbc]
- cmp r1, #2
- moveq r0, #1
- bxeq lr
- add r2, r2, #1
- cmp r2, #2
- blt _020ae5d4
- mov r0, #0
- bx lr
- arm_func_end _ZNK11ItemManager15HasPurplePotionEv
-
- .global _ZN11ItemManager21LoadDungeonItemModelsEv
- thumb_func_start _ZN11ItemManager21LoadDungeonItemModelsEv
-_ZN11ItemManager21LoadDungeonItemModelsEv: ; 0x020ae5fc
- push {r3, r4, r5, r6, r7, lr}
- ldr r7, _020ae644 ; =data_027e0f78
- add r5, r0, #0
- mov r4, #0
-_020ae604:
- mov r0, #1
- lsl r0, r0, #8
- ldr r0, [r5, r0]
- cmp r0, #0
- beq _020ae638
- cmp r4, #2
- beq _020ae61a
- cmp r4, #3
- beq _020ae61a
- cmp r4, #4
- bne _020ae622
-_020ae61a:
- ldr r2, [r7]
- ldrh r1, [r2, #0x1e]
- ldrh r6, [r2, #0x1c]
- b _020ae628
-_020ae622:
- ldr r2, [r7]
- ldrh r1, [r2, #0x1a]
- ldrh r6, [r2, #0x18]
-_020ae628:
- blx func_020196bc
- mov r0, #1
- lsl r0, r0, #8
- ldr r0, [r5, r0]
- add r1, r6, #0
- blx func_020196fc
-_020ae638:
- add r4, r4, #1
- add r5, r5, #4
- cmp r4, #5
- blt _020ae604
- pop {r3, r4, r5, r6, r7, pc}
- nop
- thumb_func_end _ZN11ItemManager21LoadDungeonItemModelsEv
-_020ae644: .word data_027e0f78
-
- .global _ZN11ItemManager18func_ov00_020ae648Ejjj
- thumb_func_start _ZN11ItemManager18func_ov00_020ae648Ejjj
-_ZN11ItemManager18func_ov00_020ae648Ejjj: ; 0x020ae648
- push {r3, lr}
- ldr r1, _020ae6e8 ; =gItemManager
- ldr r2, [r1]
- mov r1, #0x53
- lsl r1, r1, #2
- ldrb r3, [r2, r1]
- cmp r3, #1
- bne _020ae65e
- mov r0, #0
- strb r0, [r2, r1]
- pop {r3, pc}
-_020ae65e:
- cmp r0, #0x2d
- bgt _020ae692
- bge _020ae6b4
- cmp r0, #0x18
- bgt _020ae684
- bge _020ae6bc
- cmp r0, #2
- bgt _020ae67e
- cmp r0, #0
- blt _020ae6cc
- beq _020ae6c4
- cmp r0, #1
- beq _020ae6bc
- cmp r0, #2
- beq _020ae6bc
- b _020ae6cc
-_020ae67e:
- cmp r0, #0xa
- beq _020ae6c8
- b _020ae6cc
-_020ae684:
- cmp r0, #0x19
- bgt _020ae68c
- beq _020ae6bc
- b _020ae6cc
-_020ae68c:
- cmp r0, #0x1b
- beq _020ae6b8
- b _020ae6cc
-_020ae692:
- cmp r0, #0x3e
- bgt _020ae6a6
- bge _020ae6c4
- cmp r0, #0x2e
- bgt _020ae6a0
- beq _020ae6b4
- b _020ae6cc
-_020ae6a0:
- cmp r0, #0x2f
- beq _020ae6b4
- b _020ae6cc
-_020ae6a6:
- cmp r0, #0x81
- bgt _020ae6ae
- beq _020ae6c0
- b _020ae6cc
-_020ae6ae:
- cmp r0, #0x82
- beq _020ae6c0
- b _020ae6cc
-_020ae6b4:
- mov r1, #0x2e
- b _020ae6ce
-_020ae6b8:
- mov r1, #0x2a
- b _020ae6ce
-_020ae6bc:
- mov r1, #0x29
- b _020ae6ce
-_020ae6c0:
- mov r1, #0x2b
- b _020ae6ce
-_020ae6c4:
- mov r1, #0x2c
- b _020ae6ce
-_020ae6c8:
- mov r1, #0x2d
- b _020ae6ce
-_020ae6cc:
- mov r1, #0x28
-_020ae6ce:
- mov r0, #0x47
- lsl r0, r0, #2
- ldr r3, [r2, r0]
- cmp r3, #0
- beq _020ae6de
- add r1, r3, #0
- mov r3, #0
- str r3, [r2, r0]
-_020ae6de:
- ldr r0, _020ae6ec ; =data_ov00_020eec68
- blx func_ov00_020d73bc
- pop {r3, pc}
- nop
- thumb_func_end _ZN11ItemManager18func_ov00_020ae648Ejjj
-_020ae6e8: .word gItemManager
-_020ae6ec: .word data_ov00_020eec68
-
- .global _ZNK11ItemManager18IsTreasureSalvagedEjj
- thumb_func_start _ZNK11ItemManager18IsTreasureSalvagedEjj
-_ZNK11ItemManager18IsTreasureSalvagedEjj: ; 0x020ae6f0
- push {r3, r4}
- lsl r3, r1, #3
- add r1, r1, r3
- add r4, r2, r1
- mov r2, #1
- mov r1, #0x1f
- add r3, r4, #0
- and r3, r1
- add r1, r2, #0
- lsl r1, r3
- lsr r3, r4, #5
- lsl r3, r3, #2
- add r3, r0, r3
- mov r0, #0x4f
- lsl r0, r0, #2
- ldr r0, [r3, r0]
- tst r0, r1
- bne _020ae716
- mov r2, #0
-_020ae716:
- add r0, r2, #0
- pop {r3, r4}
- bx lr
- thumb_func_end _ZNK11ItemManager18IsTreasureSalvagedEjj
-
- .global _ZN11ItemManager19SetTreasureSalvagedEjj
- thumb_func_start _ZN11ItemManager19SetTreasureSalvagedEjj
-_ZN11ItemManager19SetTreasureSalvagedEjj: ; 0x020ae71c
- push {r4, r5}
- lsl r3, r1, #3
- add r1, r1, r3
- add r2, r2, r1
- mov r1, #0x4f
- lsl r1, r1, #2
- add r1, r0, r1
- lsr r0, r2, #5
- lsl r0, r0, #2
- mov r3, #0x1f
- mov r4, #1
- and r2, r3
- add r3, r4, #0
- ldr r5, [r1, r0]
- lsl r3, r2
- add r2, r5, #0
- orr r2, r3
- str r2, [r1, r0]
- pop {r4, r5}
- bx lr
- thumb_func_end _ZN11ItemManager19SetTreasureSalvagedEjj
-
- .global _ZNK11ItemManager21HasTreasurePriceShownEj
- thumb_func_start _ZNK11ItemManager21HasTreasurePriceShownEj
-_ZNK11ItemManager21HasTreasurePriceShownEj: ; 0x020ae744
- push {r3, r4}
- add r4, r1, #0
- lsr r1, r1, #5
- lsl r1, r1, #2
- mov r2, #0x1f
- add r1, r0, r1
- mov r0, #0x52
- lsl r0, r0, #2
- mov r3, #1
- and r4, r2
- add r2, r3, #0
- lsl r2, r4
- ldr r0, [r1, r0]
- tst r0, r2
- bne _020ae764
- mov r3, #0
-_020ae764:
- add r0, r3, #0
- pop {r3, r4}
- bx lr
- .align 2, 0
- thumb_func_end _ZNK11ItemManager21HasTreasurePriceShownEj
-
- .global _ZN11ItemManager21AddTreasurePriceShownEj
- thumb_func_start _ZN11ItemManager21AddTreasurePriceShownEj
-_ZN11ItemManager21AddTreasurePriceShownEj: ; 0x020ae76c
- push {r4, r5}
- mov r2, #0x52
- lsl r2, r2, #2
- add r2, r0, r2
- lsr r0, r1, #5
- lsl r0, r0, #2
- mov r3, #0x1f
- mov r4, #1
- and r1, r3
- add r3, r4, #0
- ldr r5, [r2, r0]
- lsl r3, r1
- add r1, r5, #0
- orr r1, r3
- str r1, [r2, r0]
- pop {r4, r5}
- bx lr
- .align 2, 0
- thumb_func_end _ZN11ItemManager21AddTreasurePriceShownEj
-
- .rodata
-
- .data
- .global data_ov00_020e5c58
-data_ov00_020e5c58: ; 0x020e5c58
- .ascii "brg"
- .byte 0x00
- .global data_ov00_020e5c5c
-data_ov00_020e5c5c: ; 0x020e5c5c
- .ascii "fnl"
- .byte 0x00
- .global data_ov00_020e5c60
-data_ov00_020e5c60: ; 0x020e5c60
- .ascii "pdl"
- .byte 0x00
- .global data_ov00_020e5c64
-data_ov00_020e5c64: ; 0x020e5c64
- .ascii "dco"
- .byte 0x00
- .global data_ov00_020e5c68
-data_ov00_020e5c68: ; 0x020e5c68
- .ascii "can"
- .byte 0x00
- .global data_ov00_020e5c6c
-data_ov00_020e5c6c: ; 0x020e5c6c
- .ascii "hul"
- .byte 0x00
- .global data_ov00_020e5c70
-data_ov00_020e5c70: ; 0x020e5c70
- .ascii "bow"
- .byte 0x00
- .global data_ov00_020e5c74
-data_ov00_020e5c74: ; 0x020e5c74
- .ascii "anc"
- .byte 0x00
- .global data_ov00_020e5c78
-data_ov00_020e5c78: ; 0x020e5c78
- .word data_ov00_020e5c74
- .global data_ov00_020e5c7c
-data_ov00_020e5c7c: ; 0x020e5c7c
- .word data_ov00_020e5c70
- .global data_ov00_020e5c80
-data_ov00_020e5c80: ; 0x020e5c80
- .word data_ov00_020e5c6c
- .global data_ov00_020e5c84
-data_ov00_020e5c84: ; 0x020e5c84
- .word data_ov00_020e5c68
- .global data_ov00_020e5c88
-data_ov00_020e5c88: ; 0x020e5c88
- .word data_ov00_020e5c64
- .global data_ov00_020e5c8c
-data_ov00_020e5c8c: ; 0x020e5c8c
- .word data_ov00_020e5c60
- .global data_ov00_020e5c90
-data_ov00_020e5c90: ; 0x020e5c90
- .word data_ov00_020e5c5c
- .global data_ov00_020e5c94
-data_ov00_020e5c94: ; 0x020e5c94
- .word data_ov00_020e5c58
- .global data_ov00_020e5c98
-data_ov00_020e5c98: ; 0x020e5c98
- .word data_ov00_020e5e14
- .global data_ov00_020e5c9c
-data_ov00_020e5c9c: ; 0x020e5c9c
- .word data_ov00_020e5e18
- .global data_ov00_020e5ca0
-data_ov00_020e5ca0: ; 0x020e5ca0
- .word data_ov00_020e5e1c
- .global data_ov00_020e5ca4
-data_ov00_020e5ca4: ; 0x020e5ca4
- .word data_ov00_020e5e20
- .global data_ov00_020e5ca8
-data_ov00_020e5ca8: ; 0x020e5ca8
- .word data_ov00_020e5e28
- .global data_ov00_020e5cac
-data_ov00_020e5cac: ; 0x020e5cac
- .word data_ov00_020e5e2c
- .global data_ov00_020e5cb0
-data_ov00_020e5cb0: ; 0x020e5cb0
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5cb4
-data_ov00_020e5cb4: ; 0x020e5cb4
- .word data_ov00_020e5e30
- .global data_ov00_020e5cb8
-data_ov00_020e5cb8: ; 0x020e5cb8
- .word data_ov00_020e5e38
- .global data_ov00_020e5cbc
-data_ov00_020e5cbc: ; 0x020e5cbc
- .word data_ov00_020e5e40
- .global data_ov00_020e5cc0
-data_ov00_020e5cc0: ; 0x020e5cc0
- .word data_ov00_020e5e44
- .global data_ov00_020e5cc4
-data_ov00_020e5cc4: ; 0x020e5cc4
- .word data_ov00_020e5e4c
- .global data_ov00_020e5cc8
-data_ov00_020e5cc8: ; 0x020e5cc8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5ccc
-data_ov00_020e5ccc: ; 0x020e5ccc
- .word data_ov00_020e5e58
- .global data_ov00_020e5cd0
-data_ov00_020e5cd0: ; 0x020e5cd0
- .word data_ov00_020e5e64
- .global data_ov00_020e5cd4
-data_ov00_020e5cd4: ; 0x020e5cd4
- .word data_ov00_020e5e68
- .global data_ov00_020e5cd8
-data_ov00_020e5cd8: ; 0x020e5cd8
- .word data_ov00_020e5e70
- .global data_ov00_020e5cdc
-data_ov00_020e5cdc: ; 0x020e5cdc
- .word data_ov00_020e5e78
- .global data_ov00_020e5ce0
-data_ov00_020e5ce0: ; 0x020e5ce0
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5ce4
-data_ov00_020e5ce4: ; 0x020e5ce4
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5ce8
-data_ov00_020e5ce8: ; 0x020e5ce8
- .word data_ov00_020e5e80
- .global data_ov00_020e5cec
-data_ov00_020e5cec: ; 0x020e5cec
- .word data_ov00_020e5e88
- .global data_ov00_020e5cf0
-data_ov00_020e5cf0: ; 0x020e5cf0
- .word data_ov00_020e5e90
- .global data_ov00_020e5cf4
-data_ov00_020e5cf4: ; 0x020e5cf4
- .word data_ov00_020e5e98
- .global data_ov00_020e5cf8
-data_ov00_020e5cf8: ; 0x020e5cf8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5cfc
-data_ov00_020e5cfc: ; 0x020e5cfc
- .word data_ov00_020e5ea0
- .global data_ov00_020e5d00
-data_ov00_020e5d00: ; 0x020e5d00
- .word data_ov00_020e5ea8
- .global data_ov00_020e5d04
-data_ov00_020e5d04: ; 0x020e5d04
- .word data_ov00_020e5eb0
- .global data_ov00_020e5d08
-data_ov00_020e5d08: ; 0x020e5d08
- .word data_ov00_020e5eb8
- .global data_ov00_020e5d0c
-data_ov00_020e5d0c: ; 0x020e5d0c
- .word data_ov00_020e5ec4
- .global data_ov00_020e5d10
-data_ov00_020e5d10: ; 0x020e5d10
- .word data_ov00_020e5ecc
- .global data_ov00_020e5d14
-data_ov00_020e5d14: ; 0x020e5d14
- .word data_ov00_020e5ed4
- .global data_ov00_020e5d18
-data_ov00_020e5d18: ; 0x020e5d18
- .word data_ov00_020e5edc
- .global data_ov00_020e5d1c
-data_ov00_020e5d1c: ; 0x020e5d1c
- .word data_ov00_020e5ee0
- .global data_ov00_020e5d20
-data_ov00_020e5d20: ; 0x020e5d20
- .word data_ov00_020e5ee8
- .global data_ov00_020e5d24
-data_ov00_020e5d24: ; 0x020e5d24
- .word data_ov00_020e5ef0
- .global data_ov00_020e5d28
-data_ov00_020e5d28: ; 0x020e5d28
- .word data_ov00_020e5ef8
- .global data_ov00_020e5d2c
-data_ov00_020e5d2c: ; 0x020e5d2c
- .word data_ov00_020e5f00
- .global data_ov00_020e5d30
-data_ov00_020e5d30: ; 0x020e5d30
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d34
-data_ov00_020e5d34: ; 0x020e5d34
- .word data_ov00_020e5f04
- .global data_ov00_020e5d38
-data_ov00_020e5d38: ; 0x020e5d38
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d3c
-data_ov00_020e5d3c: ; 0x020e5d3c
- .word data_ov00_020e5f0c
- .global data_ov00_020e5d40
-data_ov00_020e5d40: ; 0x020e5d40
- .word data_ov00_020e5f18
- .global data_ov00_020e5d44
-data_ov00_020e5d44: ; 0x020e5d44
- .word data_ov00_020e5f20
- .global data_ov00_020e5d48
-data_ov00_020e5d48: ; 0x020e5d48
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d4c
-data_ov00_020e5d4c: ; 0x020e5d4c
- .word data_ov00_020e5f28
- .global data_ov00_020e5d50
-data_ov00_020e5d50: ; 0x020e5d50
- .word data_ov00_020e5f30
- .global data_ov00_020e5d54
-data_ov00_020e5d54: ; 0x020e5d54
- .word data_ov00_020e5f38
- .global data_ov00_020e5d58
-data_ov00_020e5d58: ; 0x020e5d58
- .word data_ov00_020e5f40
- .global data_ov00_020e5d5c
-data_ov00_020e5d5c: ; 0x020e5d5c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d60
-data_ov00_020e5d60: ; 0x020e5d60
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d64
-data_ov00_020e5d64: ; 0x020e5d64
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d68
-data_ov00_020e5d68: ; 0x020e5d68
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d6c
-data_ov00_020e5d6c: ; 0x020e5d6c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d70
-data_ov00_020e5d70: ; 0x020e5d70
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d74
-data_ov00_020e5d74: ; 0x020e5d74
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d78
-data_ov00_020e5d78: ; 0x020e5d78
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d7c
-data_ov00_020e5d7c: ; 0x020e5d7c
- .word data_ov00_020e5f48
- .global data_ov00_020e5d80
-data_ov00_020e5d80: ; 0x020e5d80
- .word data_ov00_020e5f50
- .global data_ov00_020e5d84
-data_ov00_020e5d84: ; 0x020e5d84
- .word data_ov00_020e5f5c
- .global data_ov00_020e5d88
-data_ov00_020e5d88: ; 0x020e5d88
- .word data_ov00_020e5f68
- .global data_ov00_020e5d8c
-data_ov00_020e5d8c: ; 0x020e5d8c
- .word data_ov00_020e5f74
- .global data_ov00_020e5d90
-data_ov00_020e5d90: ; 0x020e5d90
- .word data_ov00_020e5f7c
- .global data_ov00_020e5d94
-data_ov00_020e5d94: ; 0x020e5d94
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5d98
-data_ov00_020e5d98: ; 0x020e5d98
- .word data_ov00_020e5f84
- .global data_ov00_020e5d9c
-data_ov00_020e5d9c: ; 0x020e5d9c
- .word data_ov00_020e5f90
- .global data_ov00_020e5da0
-data_ov00_020e5da0: ; 0x020e5da0
- .word data_ov00_020e5f9c
- .global data_ov00_020e5da4
-data_ov00_020e5da4: ; 0x020e5da4
- .word data_ov00_020e5fa4
- .global data_ov00_020e5da8
-data_ov00_020e5da8: ; 0x020e5da8
- .word data_ov00_020e5fac
- .global data_ov00_020e5dac
-data_ov00_020e5dac: ; 0x020e5dac
- .word data_ov00_020e5fb4
- .global data_ov00_020e5db0
-data_ov00_020e5db0: ; 0x020e5db0
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5db4
-data_ov00_020e5db4: ; 0x020e5db4
- .word data_ov00_020e5fbc
- .global data_ov00_020e5db8
-data_ov00_020e5db8: ; 0x020e5db8
- .word data_ov00_020e5fc8
- .global data_ov00_020e5dbc
-data_ov00_020e5dbc: ; 0x020e5dbc
- .word data_ov00_020e5fd0
- .global data_ov00_020e5dc0
-data_ov00_020e5dc0: ; 0x020e5dc0
- .word data_ov00_020e5fd8
- .global data_ov00_020e5dc4
-data_ov00_020e5dc4: ; 0x020e5dc4
- .word data_ov00_020e5fe0
- .global data_ov00_020e5dc8
-data_ov00_020e5dc8: ; 0x020e5dc8
- .word data_ov00_020e5fe8
- .global data_ov00_020e5dcc
-data_ov00_020e5dcc: ; 0x020e5dcc
- .word data_ov00_020e5ff4
- .global data_ov00_020e5dd0
-data_ov00_020e5dd0: ; 0x020e5dd0
- .word data_ov00_020e6000
- .global data_ov00_020e5dd4
-data_ov00_020e5dd4: ; 0x020e5dd4
- .word data_ov00_020e6008
- .global data_ov00_020e5dd8
-data_ov00_020e5dd8: ; 0x020e5dd8
- .word data_ov00_020e6010
- .global data_ov00_020e5ddc
-data_ov00_020e5ddc: ; 0x020e5ddc
- .word data_ov00_020e6018
- .global data_ov00_020e5de0
-data_ov00_020e5de0: ; 0x020e5de0
- .word data_ov00_020e6024
- .global data_ov00_020e5de4
-data_ov00_020e5de4: ; 0x020e5de4
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5de8
-data_ov00_020e5de8: ; 0x020e5de8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5dec
-data_ov00_020e5dec: ; 0x020e5dec
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5df0
-data_ov00_020e5df0: ; 0x020e5df0
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5df4
-data_ov00_020e5df4: ; 0x020e5df4
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5df8
-data_ov00_020e5df8: ; 0x020e5df8
- .word data_ov00_020e6030
- .global data_ov00_020e5dfc
-data_ov00_020e5dfc: ; 0x020e5dfc
- .word data_ov00_020e603c
- .global data_ov00_020e5e00
-data_ov00_020e5e00: ; 0x020e5e00
- .word data_ov00_020e6048
- .global data_ov00_020e5e04
-data_ov00_020e5e04: ; 0x020e5e04
- .word data_ov00_020e6050
- .global data_ov00_020e5e08
-data_ov00_020e5e08: ; 0x020e5e08
- .word data_ov00_020e6058
- .global data_ov00_020e5e0c
-data_ov00_020e5e0c: ; 0x020e5e0c
- .word data_ov00_020e6068
- .global data_ov00_020e5e10
-data_ov00_020e5e10: ; 0x020e5e10
- .word data_ov00_020e6070
- .global data_ov00_020e5e14
-data_ov00_020e5e14: ; 0x020e5e14
- .ascii "key"
- .byte 0x00
- .global data_ov00_020e5e18
-data_ov00_020e5e18: ; 0x020e5e18
- .ascii "key"
- .byte 0x00
- .global data_ov00_020e5e1c
-data_ov00_020e5e1c: ; 0x020e5e1c
- .ascii "key"
- .byte 0x00
- .global data_ov00_020e5e20
-data_ov00_020e5e20: ; 0x020e5e20
- .ascii "rupee_g"
- .byte 0x00
- .global data_ov00_020e5e28
-data_ov00_020e5e28: ; 0x020e5e28
- .ascii "swA"
- .byte 0x00
- .global data_ov00_020e5e2c
-data_ov00_020e5e2c: ; 0x020e5e2c
- .ascii "shA"
- .byte 0x00
- .global data_ov00_020e5e30
-data_ov00_020e5e30: ; 0x020e5e30
- .ascii "force_y"
- .byte 0x00
- .global data_ov00_020e5e38
-data_ov00_020e5e38: ; 0x020e5e38
- .ascii "bomb"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5e40
-data_ov00_020e5e40: ; 0x020e5e40
- .ascii "bow"
- .byte 0x00
- .global data_ov00_020e5e44
-data_ov00_020e5e44: ; 0x020e5e44
- .ascii "rupee_g"
- .byte 0x00
- .global data_ov00_020e5e4c
-data_ov00_020e5e4c: ; 0x020e5e4c
- .ascii "heart_utu"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5e58
-data_ov00_020e5e58: ; 0x020e5e58
- .ascii "boomerang"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5e64
-data_ov00_020e5e64: ; 0x020e5e64
- .ascii "scp"
- .byte 0x00
- .global data_ov00_020e5e68
-data_ov00_020e5e68: ; 0x020e5e68
- .ascii "bomchu"
- .byte 0x00, 0x00
- .global data_ov00_020e5e70
-data_ov00_020e5e70: ; 0x020e5e70
- .ascii "bosskey"
- .byte 0x00
- .global data_ov00_020e5e78
-data_ov00_020e5e78: ; 0x020e5e78
- .ascii "rev_bin"
- .byte 0x00
- .global data_ov00_020e5e80
-data_ov00_020e5e80: ; 0x020e5e80
- .ascii "mapSea"
- .byte 0x00, 0x00
- .global data_ov00_020e5e88
-data_ov00_020e5e88: ; 0x020e5e88
- .ascii "mapSea"
- .byte 0x00, 0x00
- .global data_ov00_020e5e90
-data_ov00_020e5e90: ; 0x020e5e90
- .ascii "mapSea"
- .byte 0x00, 0x00
- .global data_ov00_020e5e98
-data_ov00_020e5e98: ; 0x020e5e98
- .ascii "mapSea"
- .byte 0x00, 0x00
- .global data_ov00_020e5ea0
-data_ov00_020e5ea0: ; 0x020e5ea0
- .ascii "rupee_b"
- .byte 0x00
- .global data_ov00_020e5ea8
-data_ov00_020e5ea8: ; 0x020e5ea8
- .ascii "rupee_r"
- .byte 0x00
- .global data_ov00_020e5eb0
-data_ov00_020e5eb0: ; 0x020e5eb0
- .ascii "rupee_r"
- .byte 0x00
- .global data_ov00_020e5eb8
-data_ov00_020e5eb8: ; 0x020e5eb8
- .ascii "rupee_go"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5ec4
-data_ov00_020e5ec4: ; 0x020e5ec4
- .ascii "force_y"
- .byte 0x00
- .global data_ov00_020e5ecc
-data_ov00_020e5ecc: ; 0x020e5ecc
- .ascii "force_r"
- .byte 0x00
- .global data_ov00_020e5ed4
-data_ov00_020e5ed4: ; 0x020e5ed4
- .ascii "force_b"
- .byte 0x00
- .global data_ov00_020e5edc
-data_ov00_020e5edc: ; 0x020e5edc
- .ascii "ham"
- .byte 0x00
- .global data_ov00_020e5ee0
-data_ov00_020e5ee0: ; 0x020e5ee0
- .ascii "rope"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5ee8
-data_ov00_020e5ee8: ; 0x020e5ee8
- .ascii "cstl_c"
- .byte 0x00, 0x00
- .global data_ov00_020e5ef0
-data_ov00_020e5ef0: ; 0x020e5ef0
- .ascii "cstl_s"
- .byte 0x00, 0x00
- .global data_ov00_020e5ef8
-data_ov00_020e5ef8: ; 0x020e5ef8
- .ascii "cstl_t"
- .byte 0x00, 0x00
- .global data_ov00_020e5f00
-data_ov00_020e5f00: ; 0x020e5f00
- .ascii "fp"
- .byte 0x00, 0x00
- .global data_ov00_020e5f04
-data_ov00_020e5f04: ; 0x020e5f04
- .ascii "key_su"
- .byte 0x00, 0x00
- .global data_ov00_020e5f0c
-data_ov00_020e5f0c: ; 0x020e5f0c
- .ascii "arrowpod"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5f18
-data_ov00_020e5f18: ; 0x020e5f18
- .ascii "bmbagM"
- .byte 0x00, 0x00
- .global data_ov00_020e5f20
-data_ov00_020e5f20: ; 0x020e5f20
- .ascii "bcbagM"
- .byte 0x00, 0x00
- .global data_ov00_020e5f28
-data_ov00_020e5f28: ; 0x020e5f28
- .ascii "key_ki"
- .byte 0x00, 0x00
- .global data_ov00_020e5f30
-data_ov00_020e5f30: ; 0x020e5f30
- .ascii "minaP"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5f38
-data_ov00_020e5f38: ; 0x020e5f38
- .ascii "minaC"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5f40
-data_ov00_020e5f40: ; 0x020e5f40
- .ascii "minaY"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5f48
-data_ov00_020e5f48: ; 0x020e5f48
- .ascii "key_gh"
- .byte 0x00, 0x00
- .global data_ov00_020e5f50
-data_ov00_020e5f50: ; 0x020e5f50
- .ascii "tic_tada"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5f5c
-data_ov00_020e5f5c: ; 0x020e5f5c
- .ascii "tic_ohome"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5f68
-data_ov00_020e5f68: ; 0x020e5f68
- .ascii "tic_rare"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5f74
-data_ov00_020e5f74: ; 0x020e5f74
- .ascii "neckl"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5f7c
-data_ov00_020e5f7c: ; 0x020e5f7c
- .ascii "slvarm"
- .byte 0x00, 0x00
- .global data_ov00_020e5f84
-data_ov00_020e5f84: ; 0x020e5f84
- .ascii "telescope"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5f90
-data_ov00_020e5f90: ; 0x020e5f90
- .ascii "notebook"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5f9c
-data_ov00_020e5f9c: ; 0x020e5f9c
- .ascii "letter"
- .byte 0x00, 0x00
- .global data_ov00_020e5fa4
-data_ov00_020e5fa4: ; 0x020e5fa4
- .ascii "card"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5fac
-data_ov00_020e5fac: ; 0x020e5fac
- .ascii "marron"
- .byte 0x00, 0x00
- .global data_ov00_020e5fb4
-data_ov00_020e5fb4: ; 0x020e5fb4
- .ascii "swBedge"
- .byte 0x00
- .global data_ov00_020e5fbc
-data_ov00_020e5fbc: ; 0x020e5fbc
- .ascii "makimono"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5fc8
-data_ov00_020e5fc8: ; 0x020e5fc8
- .ascii "hagaH"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5fd0
-data_ov00_020e5fd0: ; 0x020e5fd0
- .ascii "hagaK"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5fd8
-data_ov00_020e5fd8: ; 0x020e5fd8
- .ascii "hagaS"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e5fe0
-data_ov00_020e5fe0: ; 0x020e5fe0
- .ascii "rev_bin"
- .byte 0x00
- .global data_ov00_020e5fe8
-data_ov00_020e5fe8: ; 0x020e5fe8
- .ascii "rev_binP"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5ff4
-data_ov00_020e5ff4: ; 0x020e5ff4
- .ascii "rev_binY"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e6000
-data_ov00_020e6000: ; 0x020e6000
- .ascii "sand_m"
- .byte 0x00, 0x00
- .global data_ov00_020e6008
-data_ov00_020e6008: ; 0x020e6008
- .ascii "compass"
- .byte 0x00
- .global data_ov00_020e6010
-data_ov00_020e6010: ; 0x020e6010
- .ascii "lure"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e6018
-data_ov00_020e6018: ; 0x020e6018
- .ascii "rupee_bb"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e6024
-data_ov00_020e6024: ; 0x020e6024
- .ascii "rupee_bb"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e6030
-data_ov00_020e6030: ; 0x020e6030
- .ascii "mapTakara"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e603c
-data_ov00_020e603c: ; 0x020e603c
- .ascii "arrowpodL"
- .byte 0x00, 0x00, 0x00
- .global data_ov00_020e6048
-data_ov00_020e6048: ; 0x020e6048
- .ascii "bmbagL"
- .byte 0x00, 0x00
- .global data_ov00_020e6050
-data_ov00_020e6050: ; 0x020e6050
- .ascii "bcbagL"
- .byte 0x00, 0x00
- .global data_ov00_020e6058
-data_ov00_020e6058: ; 0x020e6058
- .ascii "Player/get/gd_"
- .byte 0x00, 0x00
- .global data_ov00_020e6068
-data_ov00_020e6068: ; 0x020e6068
- .ascii ".nsbmd"
- .byte 0x00, 0x00
- .global data_ov00_020e6070
-data_ov00_020e6070: ; 0x020e6070
- .ascii ".nsbtx"
- .byte 0x00, 0x00
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/LinkStateDamage.s b/asm/ov00/Player/LinkStateDamage.s
index 717c8f2a..89e6fc59 100644
--- a/asm/ov00/Player/LinkStateDamage.s
+++ b/asm/ov00/Player/LinkStateDamage.s
@@ -1496,33 +1496,41 @@ _ZTV15LinkStateDamage: ; 0x020e5b68
.word func_ov05_0210f6dc
.global data_ov00_020e5bac
data_ov00_020e5bac: ; 0x020e5bac
- .ascii "O¬_ΔΆ¬x"
+ ; string "εε°γγ‘εηιεΊ¦"
+ .byte 0x91, 0x4f, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8d, 0xc4, 0x90, 0xb6, 0x91, 0xac, 0x93, 0x78
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e5bc0
data_ov00_020e5bc0: ; 0x020e5bc0
- .ascii "O¬_Jnt["
+ ; string "εε°γγ‘ιε§γγ¬γΌγ "
+ .byte 0x91, 0x4f, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8a, 0x4a, 0x8e, 0x6e, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e5bd8
data_ov00_020e5bd8: ; 0x020e5bd8
- .ascii "O¬_IΉt["
+ ; string "εε°γγ‘η΅δΊγγ¬γΌγ "
+ .byte 0x91, 0x4f, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8f, 0x49, 0x97, 0xb9, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e5bf0
data_ov00_020e5bf0: ; 0x020e5bf0
- .ascii "γ¬_ΔΆ¬x"
+ ; string "εΎε°γγ‘εηιεΊ¦"
+ .byte 0x8c, 0xe3, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8d, 0xc4, 0x90, 0xb6, 0x91, 0xac, 0x93, 0x78
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e5c04
data_ov00_020e5c04: ; 0x020e5c04
- .ascii "γ¬_Jnt["
+ ; string "εΎε°γγ‘ιε§γγ¬γΌγ "
+ .byte 0x8c, 0xe3, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8a, 0x4a, 0x8e, 0x6e, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e5c1c
data_ov00_020e5c1c: ; 0x020e5c1c
- .ascii "γ¬_IΉt["
+ ; string "εΎε°γγ‘η΅δΊγγ¬γΌγ "
+ .byte 0x8c, 0xe3, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8f, 0x49, 0x97, 0xb9, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e5c34
data_ov00_020e5c34: ; 0x020e5c34
- .ascii "rrρ"
+ ; string "γγͺγγͺεζ°"
+ .byte 0x83, 0x72, 0x83, 0x8a, 0x83, 0x72, 0x83, 0x8a, 0x89, 0xf1, 0x90, 0x94
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e5c44
data_ov00_020e5c44: ; 0x020e5c44
- .ascii "rrΔΆ¬x"
+ ; string "γγͺγγͺεηιεΊ¦"
+ .byte 0x83, 0x72, 0x83, 0x8a, 0x83, 0x72, 0x83, 0x8a, 0x8d, 0xc4, 0x90, 0xb6, 0x91, 0xac, 0x93, 0x78
.byte 0x00, 0x00, 0x00, 0x00
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..691ece6b 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
@@ -2200,29 +2200,36 @@ _ZTV17LinkStateInteract: ; 0x020e5974
.word func_ov05_0210f71c
.global data_ov00_020e59b8
data_ov00_020e59b8: ; 0x020e59b8
- .ascii "Ώγ°ΔΆ¬x"
+ ; string "ζγ‘δΈγεηιεΊ¦"
+ .byte 0x8e, 0x9d, 0x82, 0xbf, 0x8f, 0xe3, 0x82, 0xb0, 0x8d, 0xc4, 0x90, 0xb6, 0x91, 0xac, 0x93, 0x78
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e59cc
data_ov00_020e59cc: ; 0x020e59cc
- .ascii "Ώγ°Jnt["
+ ; string "ζγ‘δΈγιε§γγ¬γΌγ "
+ .byte 0x8e, 0x9d, 0x82, 0xbf, 0x8f, 0xe3, 0x82, 0xb0, 0x8a, 0x4a, 0x8e, 0x6e, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e59e4
data_ov00_020e59e4: ; 0x020e59e4
- .ascii "Ώγ°IΉt["
+ ; string "ζγ‘δΈγη΅δΊγγ¬γΌγ "
+ .byte 0x8e, 0x9d, 0x82, 0xbf, 0x8f, 0xe3, 0x82, 0xb0, 0x8f, 0x49, 0x97, 0xb9, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e59fc
data_ov00_020e59fc: ; 0x020e59fc
- .ascii "°ΔΆ¬x"
+ ; string "ζγεηιεΊ¦"
+ .byte 0x93, 0x8a, 0x82, 0xb0, 0x8d, 0xc4, 0x90, 0xb6, 0x91, 0xac, 0x93, 0x78
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e5a0c
data_ov00_020e5a0c: ; 0x020e5a0c
- .ascii "°Jnt["
+ ; string "ζγιε§γγ¬γΌγ "
+ .byte 0x93, 0x8a, 0x82, 0xb0, 0x8a, 0x4a, 0x8e, 0x6e, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e5a20
data_ov00_020e5a20: ; 0x020e5a20
- .ascii "°IΉt["
+ ; string "ζγη΅δΊγγ¬γΌγ "
+ .byte 0x93, 0x8a, 0x82, 0xb0, 0x8f, 0x49, 0x97, 0xb9, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov00_020e5a34
data_ov00_020e5a34: ; 0x020e5a34
- .ascii "β~Τ"
+ ; string "εζ’ζι"
+ .byte 0x92, 0xe2, 0x8e, 0x7e, 0x8e, 0x9e, 0x8a, 0xd4
.byte 0x00, 0x00, 0x00, 0x00
diff --git a/asm/ov00/Player/LinkStateMove.s b/asm/ov00/Player/LinkStateMove.s
index 0ca3780b..f5084504 100644
--- a/asm/ov00/Player/LinkStateMove.s
+++ b/asm/ov00/Player/LinkStateMove.s
@@ -220,5 +220,6 @@ data_ov00_020e5740: ; 0x020e5740
.word func_ov05_0210f71c
.global data_ov00_020e5744
data_ov00_020e5744: ; 0x020e5744
- .ascii "§«{
[αΊ¦"
+ ; string "ζ―εΉγγγͺγ₯γΌγ δ½δΈη"
+ .byte 0x91, 0xa7, 0x90, 0x81, 0x82, 0xab, 0x83, 0x7b, 0x83, 0x8a, 0x83, 0x85, 0x81, 0x5b, 0x83, 0x80, 0x92, 0xe1, 0x89, 0xba, 0x97, 0xa6
.byte 0x00, 0x00
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..a9e87b3c 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
@@ -8,7 +33,7 @@
.extern _ZN10PlayerBase8TeleportEP5Vec3psibb
.extern _ZN10PlayerBase8vfunc_04Ev
.extern _ZN10PlayerBase9AddHealthEs
-.extern _ZN11ItemManager10GiveRupeesEjj
+.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager12GetEquipItemEi
.extern _ZN11ItemManager12GetItemModelEj
.extern _ZN11ItemManager13UnequipPotionEv
@@ -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
@@ -167,7 +193,7 @@
.extern data_027e0fa0
.extern data_027e0fac
.extern data_027e0fb8
-.extern data_027e0fbc
+.extern gHealthManager
.extern data_027e0fc4
.extern data_027e0fc8
.extern data_027e0fcc
@@ -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..07ecf977 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
@@ -12594,13 +12594,13 @@ func_ov00_020bb44c: ; 0x020bb44c
ldrb r0, [r0, #0x12]
cmp r0, #0
movne r0, #0xc
- ldreq r0, _020bb468 ; =data_027e0fbc
+ ldreq r0, _020bb468 ; =gHealthManager
ldreq r0, [r0]
ldreqsh r0, [r0]
bx lr
.align 2, 0
arm_func_end func_ov00_020bb44c
-_020bb468: .word data_027e0fbc
+_020bb468: .word gHealthManager
.global func_ov00_020bb46c
arm_func_start func_ov00_020bb46c
@@ -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
@@ -15332,7 +15332,7 @@ func_ov00_020bd510: ; 0x020bd510
ldmltia sp!, {r3, r4, r5, pc}
rsb r1, r2, #0
mov r2, #0
- bl _ZN11ItemManager10GiveRupeesEjj
+ bl _ZN11ItemManager10GiveRupeesEsb
mvn lr, #0
mov r3, #0
str r3, [sp, #0xc]
@@ -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..840dc10a 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
@@ -129,7 +148,6 @@
.extern data_027e0f94
.extern data_027e0fac
.extern data_027e0fb8
-.extern data_027e0fbc
.extern data_027e0fc8
.extern data_027e0fd4
.extern data_027e0fe0
@@ -500,26 +518,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
@@ -669,7 +667,9 @@
.extern func_ov26_021767ec
.extern func_ov29_0216d918
.extern gAdventureFlags
+.extern gHealthManager
.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..7236a01d 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
@@ -18659,7 +18659,7 @@ _020d274c:
mov r1, #0x3c
bl func_01ff9b4c
sub r0, r4, r0
- ldr r2, _020d27e8 ; =data_027e0fbc
+ ldr r2, _020d27e8 ; =gHealthManager
ldr r1, _020d27ec ; =0x00007fff
mov r0, r0, lsl #0x10
and r1, r1, r0, lsr #16
@@ -18688,7 +18688,7 @@ _020d27d8: .word gItemManager
_020d27dc: .word data_027e0f64
_020d27e0: .word data_ov00_020df294
_020d27e4: .word data_027e103c
-_020d27e8: .word data_027e0fbc
+_020d27e8: .word gHealthManager
_020d27ec: .word 0x00007fff
.global func_ov00_020d27f0
@@ -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
@@ -24429,9 +24429,9 @@ _020d73b0:
ldmia sp!, {r4, pc}
arm_func_end func_ov00_020d7394
- .global func_ov00_020d73bc
- arm_func_start func_ov00_020d73bc
-func_ov00_020d73bc: ; 0x020d73bc
+ .global PlaySoundEffect
+ arm_func_start PlaySoundEffect
+PlaySoundEffect: ; 0x020d73bc
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
mov r5, r0
@@ -24445,7 +24445,7 @@ func_ov00_020d73bc: ; 0x020d73bc
str ip, [sp]
bl func_ov00_020d6d30
ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020d73bc
+ arm_func_end PlaySoundEffect
.global func_ov00_020d73f0
arm_func_start func_ov00_020d73f0
diff --git a/asm/ov02.inc b/asm/ov02.inc
index cc4b577f..afd888d4 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
@@ -11,8 +12,8 @@
.extern _ZNK11ItemManager13GetFairyLevelEi
.extern _ZNK11ItemManager16GetShipPartCountEjj
.extern _ZNK11ItemManager18GetUnk_09e_DividedEj
-.extern _ZNK11ItemManager18IsTreasureSalvagedEjj
.extern _ZNK11ItemManager19GetEquippedShipPartEj
+.extern _ZNK11ItemManager21HasShipPartPriceShownEjj
.extern _ZNK11ItemManager21HasTreasurePriceShownEj
.extern _ZNK11ItemManager7HasItemEi
.extern __register_global_object
@@ -31,10 +32,8 @@
.extern data_027e0d0c
.extern data_027e0d44
.extern data_027e0d78
-.extern data_027e0e60
.extern data_027e0f88
.extern data_027e0f8c
-.extern data_027e0fbc
.extern data_027e1044
.extern data_027e1050
.extern data_027e1058
@@ -115,7 +114,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
@@ -259,4 +257,6 @@
.extern func_ov45_0218a284
.extern func_ov45_0218db94
.extern gAdventureFlags
+.extern gHealthManager
.extern gItemManager
+.extern gMapManager
diff --git a/asm/ov02.s b/asm/ov02.s
index 780e6a34..ff23da1d 100644
--- a/asm/ov02.s
+++ b/asm/ov02.s
@@ -1497,7 +1497,7 @@ _020f01e4:
mov r1, #9
str r6, [sp]
bl func_0203493c
- ldr r0, _020f0730 ; =data_027e0fbc
+ ldr r0, _020f0730 ; =gHealthManager
ldr r0, [r0]
ldrb r0, [r0, #0xe]
cmp r0, #0
@@ -1508,7 +1508,7 @@ _020f01e4:
mov r1, #0xa
str r6, [sp]
bl func_0203493c
- ldr r0, _020f0730 ; =data_027e0fbc
+ ldr r0, _020f0730 ; =gHealthManager
mov r1, #0x3c
ldr r0, [r0]
ldrh r6, [r0, #0xc]
@@ -1842,7 +1842,7 @@ _020f0720: .word gItemManager
_020f0724: .word gAdventureFlags
_020f0728: .word 0x91a2b3c5
_020f072c: .word 0x88888889
-_020f0730: .word data_027e0fbc
+_020f0730: .word gHealthManager
.global func_ov02_020f0734
arm_func_start func_ov02_020f0734
@@ -2883,7 +2883,7 @@ _020f1424:
mov r1, r0
ldr r2, [r5, #0x1c]
mov r0, r6
- blx _ZNK11ItemManager18IsTreasureSalvagedEjj
+ blx _ZNK11ItemManager21HasShipPartPriceShownEjj
cmp r0, #0
beq _020f14f4
add ip, sp, #0x28
@@ -5052,10 +5052,10 @@ func_ov02_020f2e84: ; 0x020f2e84
bl func_ov00_020d77e4
mov r0, #1
blx func_ov09_0211bf3c
- ldr r0, _020f2f18 ; =data_027e0fbc
+ ldr r0, _020f2f18 ; =gHealthManager
ldr r0, [r0]
blx func_ov00_020b8060
- ldr r0, _020f2f18 ; =data_027e0fbc
+ ldr r0, _020f2f18 ; =gHealthManager
ldr r1, [r0]
ldrsh r0, [r1, #4]
strh r0, [r1, #6]
@@ -5065,7 +5065,7 @@ func_ov02_020f2e84: ; 0x020f2e84
_020f2f0c: .word gItemManager
_020f2f10: .word data_ov02_020f6c80
_020f2f14: .word data_ov00_020eec9c
-_020f2f18: .word data_027e0fbc
+_020f2f18: .word gHealthManager
.global func_ov02_020f2f1c
arm_func_start func_ov02_020f2f1c
@@ -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..826e9d78 100644
--- a/asm/ov03.inc
+++ b/asm/ov03.inc
@@ -56,7 +56,7 @@
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager15GetEquippedItemEv
.extern _ZNK11ItemManager16GetEquippedFairyEv
-.extern _ZNK11ItemManager18func_ov00_020ae350Ev
+.extern _ZNK11ItemManager10GetNumKeysEv
.extern _ZNK11ItemManager7HasItemEi
.extern __register_global_object
.extern data_02050f54
@@ -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..86db22ed 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
@@ -12689,7 +12689,7 @@ func_ov03_020f63d4: ; 0x020f63d4
bl func_ov03_020f5d48
ldr r0, _020f6414 ; =gItemManager
ldr r0, [r0]
- blx _ZNK11ItemManager18func_ov00_020ae350Ev
+ blx _ZNK11ItemManager10GetNumKeysEv
mov r1, #0x79
lsl r1, r1, #2
str r0, [r4, r1]
@@ -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
@@ -13183,7 +13183,7 @@ func_ov03_020f6a88: ; 0x020f6a88
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, _020f6b10 ; =gItemManager
ldr r0, [r0]
- bl _ZNK11ItemManager18func_ov00_020ae350Ev
+ bl _ZNK11ItemManager10GetNumKeysEv
ldr r1, [r5, #0x1e4]
mov r4, r0
subs r0, r4, r1
@@ -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
@@ -43632,279 +43632,348 @@ data_ov03_02100260: ; 0x02100260
.byte 0x00, 0x00, 0x00
.global data_ov03_02100264
data_ov03_02100264: ; 0x02100264
- .ascii "Ύ"
+ ; string "γ "
+ .byte 0x82, 0xbe
.byte 0x00, 0x00
.global data_ov03_02100268
data_ov03_02100268: ; 0x02100268
- .ascii "έ"
+ ; string "γΏ"
+ .byte 0x82, 0xdd
.byte 0x00, 0x00
.global data_ov03_0210026c
data_ov03_0210026c: ; 0x0210026c
- .ascii "ΐ"
+ ; string "γ’"
+ .byte 0x82, 0xc0
.byte 0x00, 0x00
.global data_ov03_02100270
data_ov03_02100270: ; 0x02100270
- .ascii "Γ"
+ ; string "γ₯"
+ .byte 0x82, 0xc3
.byte 0x00, 0x00
.global data_ov03_02100274
data_ov03_02100274: ; 0x02100274
- .ascii "ΰ"
+ ; string "γ"
+ .byte 0x82, 0xe0
.byte 0x00, 0x00
.global data_ov03_02100278
data_ov03_02100278: ; 0x02100278
- .ascii "β"
+ ; string "γ"
+ .byte 0x82, 0xe2
.byte 0x00, 0x00
.global data_ov03_0210027c
data_ov03_0210027c: ; 0x0210027c
- .ascii "Ε"
+ ; string "γ§"
+ .byte 0x82, 0xc5
.byte 0x00, 0x00
.global data_ov03_02100280
data_ov03_02100280: ; 0x02100280
- .ascii "δ"
+ ; string "γ"
+ .byte 0x82, 0xe4
.byte 0x00, 0x00
.global data_ov03_02100284
data_ov03_02100284: ; 0x02100284
- .ascii "Η"
+ ; string "γ©"
+ .byte 0x82, 0xc7
.byte 0x00, 0x00
.global data_ov03_02100288
data_ov03_02100288: ; 0x02100288
- .ascii "ο"
+ ; string "γ"
+ .byte 0x82, 0xef
.byte 0x00, 0x00
.global data_ov03_0210028c
data_ov03_0210028c: ; 0x0210028c
- .ascii "ζ"
+ ; string "γ"
+ .byte 0x82, 0xe6
.byte 0x00, 0x00
.global data_ov03_02100290
data_ov03_02100290: ; 0x02100290
- .ascii "ξ"
+ ; string "γ"
+ .byte 0x82, 0xee
.byte 0x00, 0x00
.global data_ov03_02100294
data_ov03_02100294: ; 0x02100294
- .ascii "Ξ"
+ ; string "γ°"
+ .byte 0x82, 0xce
.byte 0x00, 0x00
.global data_ov03_02100298
data_ov03_02100298: ; 0x02100298
- .ascii "η"
+ ; string "γ"
+ .byte 0x82, 0xe7
.byte 0x00, 0x00
.global data_ov03_0210029c
data_ov03_0210029c: ; 0x0210029c
- .ascii "ί"
+ ; string "γ"
+ .byte 0x82, 0xdf
.byte 0x00, 0x00
.global data_ov03_021002a0
data_ov03_021002a0: ; 0x021002a0
- .ascii "ή"
+ ; string "γ"
+ .byte 0x82, 0xde
.byte 0x00, 0x00
.global data_ov03_021002a4
data_ov03_021002a4: ; 0x021002a4
- .ascii "θ"
+ ; string "γ"
+ .byte 0x82, 0xe8
.byte 0x00, 0x00
.global data_ov03_021002a8
data_ov03_021002a8: ; 0x021002a8
- .ascii "ά"
+ ; string "γΎ"
+ .byte 0x82, 0xdc
.byte 0x00, 0x00
.global data_ov03_021002ac
data_ov03_021002ac: ; 0x021002ac
- .ascii "Ω"
+ ; string "γ»"
+ .byte 0x82, 0xd9
.byte 0x00, 0x00
.global data_ov03_021002b0
data_ov03_021002b0: ; 0x021002b0
- .ascii "Φ"
+ ; string "γΈ"
+ .byte 0x82, 0xd6
.byte 0x00, 0x00
.global data_ov03_021002b4
data_ov03_021002b4: ; 0x021002b4
- .ascii "Ρ"
+ ; string "γ³"
+ .byte 0x82, 0xd1
.byte 0x00, 0x00
.global data_ov03_021002b8
data_ov03_021002b8: ; 0x021002b8
- .ascii "ι"
+ ; string "γ"
+ .byte 0x82, 0xe9
.byte 0x00, 0x00
.global data_ov03_021002bc
data_ov03_021002bc: ; 0x021002bc
- .ascii "κ"
+ ; string "γ"
+ .byte 0x82, 0xea
.byte 0x00, 0x00
.global data_ov03_021002c0
data_ov03_021002c0: ; 0x021002c0
- .ascii "Τ"
+ ; string "γΆ"
+ .byte 0x82, 0xd4
.byte 0x00, 0x00
.global data_ov03_021002c4
data_ov03_021002c4: ; 0x021002c4
- .ascii "λ"
+ ; string "γ"
+ .byte 0x82, 0xeb
.byte 0x00, 0x00
.global data_ov03_021002c8
data_ov03_021002c8: ; 0x021002c8
- .ascii "ν"
+ ; string "γ"
+ .byte 0x82, 0xed
.byte 0x00, 0x00
.global data_ov03_021002cc
data_ov03_021002cc: ; 0x021002cc
- .ascii "Χ"
+ ; string "γΉ"
+ .byte 0x82, 0xd7
.byte 0x00, 0x00
.global data_ov03_021002d0
data_ov03_021002d0: ; 0x021002d0
- .ascii "π"
+ ; string "γ"
+ .byte 0x82, 0xf0
.byte 0x00, 0x00
.global data_ov03_021002d4
data_ov03_021002d4: ; 0x021002d4
- .ascii "¦"
+ ; string "γ"
+ .byte 0x82, 0xa6
.byte 0x00, 0x00
.global data_ov03_021002d8
data_ov03_021002d8: ; 0x021002d8
- .ascii "ρ"
+ ; string "γ"
+ .byte 0x82, 0xf1
.byte 0x00, 0x00
.global data_ov03_021002dc
data_ov03_021002dc: ; 0x021002dc
- .ascii "Ϊ"
+ ; string "γΌ"
+ .byte 0x82, 0xda
.byte 0x00, 0x00
.global data_ov03_021002e0
data_ov03_021002e0: ; 0x021002e0
- .ascii ""
+ ; string "β"
+ .byte 0x81, 0x99
.byte 0x00, 0x00
.global data_ov03_021002e4
data_ov03_021002e4: ; 0x021002e4
- .ascii ""
+ ; string "β"
+ .byte 0x81, 0x87
.byte 0x00, 0x00
.global data_ov03_021002e8
data_ov03_021002e8: ; 0x021002e8
- .ascii "Ο"
+ ; string "γ±"
+ .byte 0x82, 0xcf
.byte 0x00, 0x00
.global data_ov03_021002ec
data_ov03_021002ec: ; 0x021002ec
- .ascii "±"
+ ; string "γ"
+ .byte 0x82, 0xb1
.byte 0x00, 0x00
.global data_ov03_021002f0
data_ov03_021002f0: ; 0x021002f0
- .ascii "ͺ"
+ ; string "γ"
+ .byte 0x82, 0xaa
.byte 0x00, 0x00
.global data_ov03_021002f4
data_ov03_021002f4: ; 0x021002f4
- .ascii "³"
+ ; string "γ"
+ .byte 0x82, 0xb3
.byte 0x00, 0x00
.global data_ov03_021002f8
data_ov03_021002f8: ; 0x021002f8
- .ascii "΅"
+ ; string "γ"
+ .byte 0x82, 0xb5
.byte 0x00, 0x00
.global data_ov03_021002fc
data_ov03_021002fc: ; 0x021002fc
- .ascii "¬"
+ ; string "γ"
+ .byte 0x82, 0xac
.byte 0x00, 0x00
.global data_ov03_02100300
data_ov03_02100300: ; 0x02100300
- .ascii "―"
+ ; string "γ"
+ .byte 0x82, 0xaf
.byte 0x00, 0x00
.global data_ov03_02100304
data_ov03_02100304: ; 0x02100304
- .ascii ""
+ ; string "γ"
+ .byte 0x82, 0xad
.byte 0x00, 0x00
.global data_ov03_02100308
data_ov03_02100308: ; 0x02100308
- .ascii "«"
+ ; string "γ"
+ .byte 0x82, 0xab
.byte 0x00, 0x00
.global data_ov03_0210030c
data_ov03_0210030c: ; 0x0210030c
- .ascii "©"
+ ; string "γ"
+ .byte 0x82, 0xa9
.byte 0x00, 0x00
.global data_ov03_02100310
data_ov03_02100310: ; 0x02100310
- .ascii "¨"
+ ; string "γ"
+ .byte 0x82, 0xa8
.byte 0x00, 0x00
.global data_ov03_02100314
data_ov03_02100314: ; 0x02100314
- .ascii ""
+ ; string "γ΄"
+ .byte 0x82, 0xd2
.byte 0x00, 0x00
.global data_ov03_02100318
data_ov03_02100318: ; 0x02100318
- .ascii "€"
+ ; string "γ"
+ .byte 0x82, 0xa4
.byte 0x00, 0x00
.global data_ov03_0210031c
data_ov03_0210031c: ; 0x0210031c
- .ascii "’"
+ ; string "γ"
+ .byte 0x82, 0xa2
.byte 0x00, 0x00
.global data_ov03_02100320
data_ov03_02100320: ; 0x02100320
- .ascii " "
+ ; string "γ"
+ .byte 0x82, 0xa0
.byte 0x00, 0x00
.global data_ov03_02100324
data_ov03_02100324: ; 0x02100324
- .ascii "·"
+ ; string "γ"
+ .byte 0x82, 0xb7
.byte 0x00, 0x00
.global data_ov03_02100328
data_ov03_02100328: ; 0x02100328
- .ascii "Ή"
+ ; string "γ"
+ .byte 0x82, 0xb9
.byte 0x00, 0x00
.global data_ov03_0210032c
data_ov03_0210032c: ; 0x0210032c
- .ascii ""
+ ; string "γ"
+ .byte 0x82, 0xae
.byte 0x00, 0x00
.global data_ov03_02100330
data_ov03_02100330: ; 0x02100330
- .ascii "»"
+ ; string "γ"
+ .byte 0x82, 0xbb
.byte 0x00, 0x00
.global data_ov03_02100334
data_ov03_02100334: ; 0x02100334
- .ascii "½"
+ ; string "γ"
+ .byte 0x82, 0xbd
.byte 0x00, 0x00
.global data_ov03_02100338
data_ov03_02100338: ; 0x02100338
- .ascii "°"
+ ; string "γ"
+ .byte 0x82, 0xb0
.byte 0x00, 0x00
.global data_ov03_0210033c
data_ov03_0210033c: ; 0x0210033c
- .ascii "Υ"
+ ; string "γ·"
+ .byte 0x82, 0xd5
.byte 0x00, 0x00
.global data_ov03_02100340
data_ov03_02100340: ; 0x02100340
- .ascii "Ώ"
+ ; string "γ‘"
+ .byte 0x82, 0xbf
.byte 0x00, 0x00
.global data_ov03_02100344
data_ov03_02100344: ; 0x02100344
- .ascii "Β"
+ ; string "γ€"
+ .byte 0x82, 0xc2
.byte 0x00, 0x00
.global data_ov03_02100348
data_ov03_02100348: ; 0x02100348
- .ascii "²"
+ ; string "γ"
+ .byte 0x82, 0xb2
.byte 0x00, 0x00
.global data_ov03_0210034c
data_ov03_0210034c: ; 0x0210034c
- .ascii "Δ"
+ ; string "γ¦"
+ .byte 0x82, 0xc4
.byte 0x00, 0x00
.global data_ov03_02100350
data_ov03_02100350: ; 0x02100350
- .ascii "Ζ"
+ ; string "γ¨"
+ .byte 0x82, 0xc6
.byte 0x00, 0x00
.global data_ov03_02100354
data_ov03_02100354: ; 0x02100354
- .ascii "΄"
+ ; string "γ"
+ .byte 0x82, 0xb4
.byte 0x00, 0x00
.global data_ov03_02100358
data_ov03_02100358: ; 0x02100358
- .ascii "Ψ"
+ ; string "γΊ"
+ .byte 0x82, 0xd8
.byte 0x00, 0x00
.global data_ov03_0210035c
data_ov03_0210035c: ; 0x0210035c
- .ascii "Θ"
+ ; string "γͺ"
+ .byte 0x82, 0xc8
.byte 0x00, 0x00
.global data_ov03_02100360
data_ov03_02100360: ; 0x02100360
- .ascii "Ι"
+ ; string "γ«"
+ .byte 0x82, 0xc9
.byte 0x00, 0x00
.global data_ov03_02100364
data_ov03_02100364: ; 0x02100364
- .ascii "Ά"
+ ; string "γ"
+ .byte 0x82, 0xb6
.byte 0x00, 0x00
.global data_ov03_02100368
data_ov03_02100368: ; 0x02100368
- .ascii "Κ"
+ ; string "γ¬"
+ .byte 0x82, 0xca
.byte 0x00, 0x00
.global data_ov03_0210036c
data_ov03_0210036c: ; 0x0210036c
- .ascii "Έ"
+ ; string "γ"
+ .byte 0x82, 0xb8
.byte 0x00, 0x00
.global data_ov03_02100370
data_ov03_02100370: ; 0x02100370
- .ascii "Ϋ"
+ ; string "γ½"
+ .byte 0x82, 0xdb
.byte 0x00, 0x00
.global data_ov03_02100374
data_ov03_02100374: ; 0x02100374
- .ascii "Ί"
+ ; string "γ"
+ .byte 0x82, 0xba
.byte 0x00, 0x00
.global data_ov03_02100378
data_ov03_02100378: ; 0x02100378
@@ -43912,27 +43981,33 @@ data_ov03_02100378: ; 0x02100378
.byte 0x00, 0x00
.global data_ov03_0210037c
data_ov03_0210037c: ; 0x0210037c
- .ascii "Ν"
+ ; string "γ―"
+ .byte 0x82, 0xcd
.byte 0x00, 0x00
.global data_ov03_02100380
data_ov03_02100380: ; 0x02100380
- .ascii "Λ"
+ ; string "γ"
+ .byte 0x82, 0xcb
.byte 0x00, 0x00
.global data_ov03_02100384
data_ov03_02100384: ; 0x02100384
- .ascii "Π"
+ ; string "γ²"
+ .byte 0x82, 0xd0
.byte 0x00, 0x00
.global data_ov03_02100388
data_ov03_02100388: ; 0x02100388
- .ascii "Σ"
+ ; string "γ΅"
+ .byte 0x82, 0xd3
.byte 0x00, 0x00
.global data_ov03_0210038c
data_ov03_0210038c: ; 0x0210038c
- .ascii "Ό"
+ ; string "γ"
+ .byte 0x82, 0xbc
.byte 0x00, 0x00
.global data_ov03_02100390
data_ov03_02100390: ; 0x02100390
- .ascii "Μ"
+ ; string "γ"
+ .byte 0x82, 0xcc
.byte 0x00, 0x00
.global data_ov03_02100394
data_ov03_02100394: ; 0x02100394
diff --git a/asm/ov04.inc b/asm/ov04.inc
index 26b00966..4b0d0081 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
@@ -95,7 +137,7 @@
.extern data_027e0f94
.extern data_027e0fac
.extern data_027e0fb8
-.extern data_027e0fbc
+.extern gHealthManager
.extern data_027e0fc0
.extern data_027e0fc4
.extern data_027e0fc8
@@ -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..efeb9f7d 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
@@ -7771,7 +7771,7 @@ _0210482c:
_02104840:
bl func_ov04_02105a64
bl func_ov04_021084e8
- ldr r0, _021049b0 ; =data_027e0fbc
+ ldr r0, _021049b0 ; =gHealthManager
ldr r1, [sp, #8]
ldr r0, [r0]
bl func_ov04_02107f48
@@ -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]
@@ -7918,7 +7918,7 @@ _021049a0: .word data_ov12_02137c64
_021049a4: .word data_027e077c
_021049a8: .word 0x04000304
_021049ac: .word 0xffff7fff
-_021049b0: .word data_027e0fbc
+_021049b0: .word gHealthManager
_021049b4: .word data_ov00_020e9360
_021049b8: .word data_027e0e5c
_021049bc: .word data_027e0d04
@@ -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
@@ -8001,7 +8001,7 @@ _02104a3c:
ldr r0, _02104afc ; =data_ov00_020e9370
bl func_ov04_0210694c
bl func_ov00_02079df0
- ldr r0, _02104b00 ; =data_027e0fbc
+ ldr r0, _02104b00 ; =gHealthManager
ldr r0, [r0]
bl func_ov04_02108008
bl func_ov04_02105a8c
@@ -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
@@ -8029,7 +8029,7 @@ _02104af0: .word data_027e0c68
_02104af4: .word data_027e103c
_02104af8: .word data_02068e64
_02104afc: .word data_ov00_020e9370
-_02104b00: .word data_027e0fbc
+_02104b00: .word gHealthManager
_02104b04: .word data_027e0cbc
.global func_ov04_02104b08
@@ -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
@@ -14886,19 +14886,19 @@ func_ov04_02107e54: ; 0x02107e54
beq _02107e6a
bl func_ov04_02107e9c
_02107e6a:
- ldr r1, _02107e74 ; =data_027e0fbc
+ ldr r1, _02107e74 ; =gHealthManager
str r0, [r1]
pop {r3, pc}
.align 2, 0
thumb_func_end func_ov04_02107e54
_02107e70: .word data_027e0ce0
-_02107e74: .word data_027e0fbc
+_02107e74: .word gHealthManager
.global func_ov04_02107e78
thumb_func_start func_ov04_02107e78
func_ov04_02107e78: ; 0x02107e78
push {r4, lr}
- ldr r0, _02107e98 ; =data_027e0fbc
+ ldr r0, _02107e98 ; =gHealthManager
ldr r4, [r0]
cmp r4, #0
beq _02107e8e
@@ -14907,13 +14907,13 @@ func_ov04_02107e78: ; 0x02107e78
add r0, r4, #0
blx _ZN9SysObjectdlEPv
_02107e8e:
- ldr r0, _02107e98 ; =data_027e0fbc
+ ldr r0, _02107e98 ; =gHealthManager
mov r1, #0
str r1, [r0]
pop {r4, pc}
nop
thumb_func_end func_ov04_02107e78
-_02107e98: .word data_027e0fbc
+_02107e98: .word gHealthManager
.global func_ov04_02107e9c
thumb_func_start func_ov04_02107e9c
@@ -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
@@ -30708,379 +30708,473 @@ data_ov04_0210fee0: ; 0x0210fee0
.byte 0x00
.global data_ov04_0210fef0
data_ov04_0210fef0: ; 0x0210fef0
- .ascii "J²"
+ ; string "γ«γ‘γ©θͺΏζ΄"
+ .byte 0x83, 0x4a, 0x83, 0x81, 0x83, 0x89, 0x92, 0xb2, 0x90, 0xae
.byte 0x00, 0x00
.global data_ov04_0210fefc
data_ov04_0210fefc: ; 0x0210fefc
- .ascii "tB[h"
+ ; string "γγ£γΌγ«γ"
+ .byte 0x83, 0x74, 0x83, 0x42, 0x81, 0x5b, 0x83, 0x8b, 0x83, 0x68
.byte 0x00, 0x00
.global data_ov04_0210ff08
data_ov04_0210ff08: ; 0x0210ff08
- .ascii "HμDtB[h"
+ ; string "εΉ½ιθΉγγ£γΌγ«γ"
+ .byte 0x97, 0x48, 0x97, 0xec, 0x91, 0x44, 0x83, 0x74, 0x83, 0x42, 0x81, 0x5b, 0x83, 0x8b, 0x83, 0x68
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0210ff1c
data_ov04_0210ff1c: ; 0x0210ff1c
- .ascii "Ω±ηtB[h"
+ ; string "γ»γγγγ£γΌγ«γ"
+ .byte 0x82, 0xd9, 0x82, 0xb1, 0x82, 0xe7, 0x83, 0x74, 0x83, 0x42, 0x81, 0x5b, 0x83, 0x8b, 0x83, 0x68
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0210ff30
data_ov04_0210ff30: ; 0x0210ff30
- .ascii "f"
+ ; string "γγ’"
+ .byte 0x83, 0x66, 0x83, 0x82
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0210ff38
data_ov04_0210ff38: ; 0x0210ff38
- .ascii "Ϊ"
+ ; string "注η"
+ .byte 0x92, 0x8d, 0x96, 0xda
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0210ff40
data_ov04_0210ff40: ; 0x0210ff40
- .ascii "Ϊ2"
+ ; string "注η2"
+ .byte 0x92, 0x8d, 0x96, 0xda, 0x32
.byte 0x00, 0x00, 0x00
.global data_ov04_0210ff48
data_ov04_0210ff48: ; 0x0210ff48
- .ascii "οb"
+ ; string "δΌθ©±"
+ .byte 0x89, 0xef, 0x98, 0x62
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0210ff50
data_ov04_0210ff50: ; 0x0210ff50
- .ascii "ΕΒ"
+ ; string "ηζΏ"
+ .byte 0x8a, 0xc5, 0x94, 0xc2
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0210ff58
data_ov04_0210ff58: ; 0x0210ff58
- .ascii "οb(Ίΰ)"
+ ; string "δΌθ©±(ε€ε
)"
+ .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x8e, 0xba, 0x93, 0xe0, 0x29
.byte 0x00, 0x00
.global data_ov04_0210ff64
data_ov04_0210ff64: ; 0x0210ff64
- .ascii "ΕΒ(Ίΰ)"
+ ; string "ηζΏ(ε€ε
)"
+ .byte 0x8a, 0xc5, 0x94, 0xc2, 0x28, 0x8e, 0xba, 0x93, 0xe0, 0x29
.byte 0x00, 0x00
.global data_ov04_0210ff70
data_ov04_0210ff70: ; 0x0210ff70
- .ascii "Qbg"
+ ; string "γ²γγ"
+ .byte 0x83, 0x51, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00
.global data_ov04_0210ff78
data_ov04_0210ff78: ; 0x0210ff78
- .ascii "Q[I[o[(S)"
+ ; string "γ²γΌγ γͺγΌγγΌ(ζ»δΊ‘)"
+ .byte 0x83, 0x51, 0x81, 0x5b, 0x83, 0x80, 0x83, 0x49, 0x81, 0x5b, 0x83, 0x6f, 0x81, 0x5b, 0x28, 0x8e, 0x80, 0x96, 0x53, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0210ff90
data_ov04_0210ff90: ; 0x0210ff90
- .ascii "Q[I[o[(|κι)"
+ ; string "γ²γΌγ γͺγΌγγΌ(εγγ)"
+ .byte 0x83, 0x51, 0x81, 0x5b, 0x83, 0x80, 0x83, 0x49, 0x81, 0x5b, 0x83, 0x6f, 0x81, 0x5b, 0x28, 0x93, 0x7c, 0x82, 0xea, 0x82, 0xe9, 0x29
.byte 0x00, 0x00
.global data_ov04_0210ffa8
data_ov04_0210ffa8: ; 0x0210ffa8
- .ascii "ς"
+ ; string "εΎ©ζ΄»θ¬"
+ .byte 0x95, 0x9c, 0x8a, 0x88, 0x96, 0xf2
.byte 0x00, 0x00
.global data_ov04_0210ffb0
data_ov04_0210ffb0: ; 0x0210ffb0
- .ascii "D"
+ ; string "θΉηηΊ"
+ .byte 0x91, 0x44, 0x94, 0x9a, 0x94, 0xad
.byte 0x00, 0x00
.global data_ov04_0210ffb8
data_ov04_0210ffb8: ; 0x0210ffb8
- .ascii "DQ[I[o["
+ ; string "θΉγ²γΌγ γͺγΌγγΌ"
+ .byte 0x91, 0x44, 0x83, 0x51, 0x81, 0x5b, 0x83, 0x80, 0x83, 0x49, 0x81, 0x5b, 0x83, 0x6f, 0x81, 0x5b
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0210ffcc
data_ov04_0210ffcc: ; 0x0210ffcc
- .ascii "D"
+ ; string "θΉ"
+ .byte 0x91, 0x44
.byte 0x00, 0x00
.global data_ov04_0210ffd0
data_ov04_0210ffd0: ; 0x0210ffd0
- .ascii "(Εθ)"
+ ; string "ι¨ε±(εΊε)"
+ .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x8c, 0xc5, 0x92, 0xe8, 0x29
.byte 0x00, 0x00
.global data_ov04_0210ffdc
data_ov04_0210ffdc: ; 0x0210ffdc
- .ascii "(Gέ)"
+ ; string "ι¨ε±(ι貨ε±)"
+ .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x8e, 0x47, 0x89, 0xdd, 0x89, 0xae, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0210ffec
data_ov04_0210ffec: ; 0x0210ffec
- .ascii "(e[D)"
+ ; string "ι¨ε±(γγͺγΌθΉ)"
+ .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x83, 0x65, 0x83, 0x8a, 0x81, 0x5b, 0x91, 0x44, 0x29
.byte 0x00, 0x00
.global data_ov04_0210fffc
data_ov04_0210fffc: ; 0x0210fffc
- .ascii "(eͺ©¦ι)"
+ ; string "ι¨ε±(θ¦ͺεγγγ)"
+ .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x90, 0x65, 0x95, 0xaa, 0x82, 0xa9, 0x82, 0xa6, 0x82, 0xe9, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110010
data_ov04_02110010: ; 0x02110010
- .ascii "(X{XO)"
+ ; string "ι¨ε±(γ©γΉγγΉε)"
+ .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x91, 0x4f, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110024
data_ov04_02110024: ; 0x02110024
- .ascii "(X{XOKi)"
+ ; string "ι¨ε±(γ©γΉγγΉειζ΅)"
+ .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x91, 0x4f, 0x8a, 0x4b, 0x92, 0x69, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0211003c
data_ov04_0211003c: ; 0x0211003c
- .ascii "θ"
+ ; string "ζε"
+ .byte 0x8e, 0xe8, 0x93, 0xae
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110044
data_ov04_02110044: ; 0x02110044
- .ascii "Dθ"
+ ; string "θΉζε"
+ .byte 0x91, 0x44, 0x8e, 0xe8, 0x93, 0xae
.byte 0x00, 0x00
.global data_ov04_0211004c
data_ov04_0211004c: ; 0x0211004c
- .ascii "DεC"
+ ; string "θΉε€§η ²"
+ .byte 0x91, 0x44, 0x91, 0xe5, 0x96, 0x43
.byte 0x00, 0x00
.global data_ov04_02110054
data_ov04_02110054: ; 0x02110054
- .ascii "DεC(~jQ[)"
+ ; string "θΉε€§η ²(γγγ²γΌγ )"
+ .byte 0x91, 0x44, 0x91, 0xe5, 0x96, 0x43, 0x28, 0x83, 0x7e, 0x83, 0x6a, 0x83, 0x51, 0x81, 0x5b, 0x83, 0x80, 0x29
.byte 0x00, 0x00
.global data_ov04_02110068
data_ov04_02110068: ; 0x02110068
- .ascii "L’(Εθ)"
+ ; string "εΊγι¨ε±(εΊε)"
+ .byte 0x8d, 0x4c, 0x82, 0xa2, 0x95, 0x94, 0x89, 0xae, 0x28, 0x8c, 0xc5, 0x92, 0xe8, 0x29
.byte 0x00, 0x00
.global data_ov04_02110078
data_ov04_02110078: ; 0x02110078
- .ascii "ogΗΥΐ±"
+ ; string "γγγ«θΏ½θ·‘θ
ει¨"
+ .byte 0x83, 0x6f, 0x83, 0x67, 0x83, 0x8b, 0x92, 0xc7, 0x90, 0xd5, 0x8e, 0xd2, 0x8e, 0xc0, 0x8c, 0xb1
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0211008c
data_ov04_0211008c: ; 0x0211008c
- .ascii "{X(C)"
+ ; string "ι’¨γγΉ(γ‘γ€γ³)"
+ .byte 0x95, 0x97, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00
.global data_ov04_0211009c
data_ov04_0211009c: ; 0x0211009c
- .ascii "{X(Tu)"
+ ; string "ι’¨γγΉ(γ΅γ)"
+ .byte 0x95, 0x97, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021100ac
data_ov04_021100ac: ; 0x021100ac
- .ascii "ogΗΥΐ±P"
+ ; string "γγγ«θΏ½θ·‘θ
ει¨P"
+ .byte 0x83, 0x6f, 0x83, 0x67, 0x83, 0x8b, 0x92, 0xc7, 0x90, 0xd5, 0x8e, 0xd2, 0x8e, 0xc0, 0x8c, 0xb1, 0x50
.byte 0x00, 0x00, 0x00
.global data_ov04_021100c0
data_ov04_021100c0: ; 0x021100c0
- .ascii "irBοb"
+ ; string "γγγ£δΌθ©±"
+ .byte 0x83, 0x69, 0x83, 0x72, 0x83, 0x42, 0x89, 0xef, 0x98, 0x62
.byte 0x00, 0x00
.global data_ov04_021100cc
data_ov04_021100cc: ; 0x021100cc
- .ascii "irBοb2"
+ ; string "γγγ£δΌθ©±2"
+ .byte 0x83, 0x69, 0x83, 0x72, 0x83, 0x42, 0x89, 0xef, 0x98, 0x62, 0x32
.byte 0x00
.global data_ov04_021100d8
data_ov04_021100d8: ; 0x021100d8
- .ascii "irBοb(Ίΰ)"
+ ; string "γγγ£δΌθ©±(ε€ε
)"
+ .byte 0x83, 0x69, 0x83, 0x72, 0x83, 0x42, 0x89, 0xef, 0x98, 0x62, 0x28, 0x8e, 0xba, 0x93, 0xe0, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021100ec
data_ov04_021100ec: ; 0x021100ec
- .ascii "Tx[W(C)"
+ ; string "γ΅γ«γγΌγΈ(γ‘γ€γ³)"
+ .byte 0x83, 0x54, 0x83, 0x8b, 0x83, 0x78, 0x81, 0x5b, 0x83, 0x57, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00
.global data_ov04_02110100
data_ov04_02110100: ; 0x02110100
- .ascii "Tx[W(Tu)"
+ ; string "γ΅γ«γγΌγΈ(γ΅γ)"
+ .byte 0x83, 0x54, 0x83, 0x8b, 0x83, 0x78, 0x81, 0x5b, 0x83, 0x57, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110114
data_ov04_02110114: ; 0x02110114
- .ascii "ήθ(C)"
+ ; string "ι£γ(γ‘γ€γ³)"
+ .byte 0x92, 0xde, 0x82, 0xe8, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110124
data_ov04_02110124: ; 0x02110124
- .ascii "ήθ(Tu)"
+ ; string "ι£γ(γ΅γ)"
+ .byte 0x92, 0xde, 0x82, 0xe8, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00, 0x00
.global data_ov04_02110130
data_ov04_02110130: ; 0x02110130
- .ascii "ήΑ½(C)"
+ ; string "ιι£γ£γ(γ‘γ€γ³)"
+ .byte 0x8b, 0x9b, 0x92, 0xde, 0x82, 0xc1, 0x82, 0xbd, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110144
data_ov04_02110144: ; 0x02110144
- .ascii "ήΑ½(Tu)"
+ ; string "ιι£γ£γ(γ΅γ)"
+ .byte 0x8b, 0x9b, 0x92, 0xde, 0x82, 0xc1, 0x82, 0xbd, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00, 0x00
.global data_ov04_02110154
data_ov04_02110154: ; 0x02110154
- .ascii "εήΑ½(C)"
+ ; string "ε€§ιι£γ£γ(γ‘γ€γ³)"
+ .byte 0x91, 0xe5, 0x8b, 0x9b, 0x92, 0xde, 0x82, 0xc1, 0x82, 0xbd, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00
.global data_ov04_02110168
data_ov04_02110168: ; 0x02110168
- .ascii "εήΑ½(Tu)"
+ ; string "ε€§ιι£γ£γ(γ΅γ)"
+ .byte 0x91, 0xe5, 0x8b, 0x9b, 0x92, 0xde, 0x82, 0xc1, 0x82, 0xbd, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0211017c
data_ov04_0211017c: ; 0x0211017c
- .ascii "Tx[Wσ J"
+ ; string "γ΅γ«γγΌγΈεη±ιγ"
+ .byte 0x83, 0x54, 0x83, 0x8b, 0x83, 0x78, 0x81, 0x5b, 0x83, 0x57, 0x95, 0xf3, 0x94, 0xa0, 0x8a, 0x4a, 0x82, 0xad
.byte 0x00, 0x00
.global data_ov04_02110190
data_ov04_02110190: ; 0x02110190
- .ascii "hAJ«"
+ ; string "γγ’ιγ"
+ .byte 0x83, 0x68, 0x83, 0x41, 0x8a, 0x4a, 0x82, 0xab
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0211019c
data_ov04_0211019c: ; 0x0211019c
- .ascii "hAΒΆ"
+ ; string "γγ’ιγ"
+ .byte 0x83, 0x68, 0x83, 0x41, 0x95, 0xc2, 0x82, 0xb6
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021101a8
data_ov04_021101a8: ; 0x021101a8
- .ascii "εC(©γ°)"
+ ; string "ε€§η ²(θ¦δΈγ)"
+ .byte 0x91, 0xe5, 0x96, 0x43, 0x28, 0x8c, 0xa9, 0x8f, 0xe3, 0x82, 0xb0, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021101b8
data_ov04_021101b8: ; 0x021101b8
- .ascii "ό`"
+ ; string "ε
₯ζΈ―"
+ .byte 0x93, 0xfc, 0x8d, 0x60
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021101c0
data_ov04_021101c0: ; 0x021101c0
- .ascii "o`"
+ ; string "εΊζΈ―"
+ .byte 0x8f, 0x6f, 0x8d, 0x60
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021101c8
data_ov04_021101c8: ; 0x021101c8
- .ascii "mb{X(C)"
+ ; string "η₯ζ΅γγΉ(γ‘γ€γ³)"
+ .byte 0x92, 0x6d, 0x8c, 0x62, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021101dc
data_ov04_021101dc: ; 0x021101dc
- .ascii "mb{X(Tu)"
+ ; string "η₯ζ΅γγΉ(γ΅γ)"
+ .byte 0x92, 0x6d, 0x8c, 0x62, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00, 0x00
.global data_ov04_021101ec
data_ov04_021101ec: ; 0x021101ec
- .ascii "mb{X2(C)"
+ ; string "η₯ζ΅γγΉ2(γ‘γ€γ³)"
+ .byte 0x92, 0x6d, 0x8c, 0x62, 0x83, 0x7b, 0x83, 0x58, 0x32, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00, 0x00
.global data_ov04_02110200
data_ov04_02110200: ; 0x02110200
- .ascii "|ξ"
+ ; string "εΌη’"
+ .byte 0x8b, 0x7c, 0x96, 0xee
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110208
data_ov04_02110208: ; 0x02110208
- .ascii "u["
+ ; string "γγΌγ‘γ©γ³"
+ .byte 0x83, 0x75, 0x81, 0x5b, 0x83, 0x81, 0x83, 0x89, 0x83, 0x93
.byte 0x00, 0x00
.global data_ov04_02110214
data_ov04_02110214: ; 0x02110214
- .ascii "{`
E"
+ ; string "γγ γγ₯γ¦"
+ .byte 0x83, 0x7b, 0x83, 0x80, 0x83, 0x60, 0x83, 0x85, 0x83, 0x45
.byte 0x00, 0x00
.global data_ov04_02110220
data_ov04_02110220: ; 0x02110220
- .ascii "{`
E(όψ«)"
+ ; string "γγ γγ₯γ¦(η·εΌγ)"
+ .byte 0x83, 0x7b, 0x83, 0x80, 0x83, 0x60, 0x83, 0x85, 0x83, 0x45, 0x28, 0x90, 0xfc, 0x88, 0xf8, 0x82, 0xab, 0x29
.byte 0x00, 0x00
.global data_ov04_02110234
data_ov04_02110234: ; 0x02110234
- .ascii "SVbv"
+ ; string "γ΄γ·γγ"
+ .byte 0x83, 0x53, 0x83, 0x56, 0x83, 0x62, 0x83, 0x76
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110240
data_ov04_02110240: ; 0x02110240
- .ascii "SVbv(οb)"
+ ; string "γ΄γ·γγ(δΌθ©±)"
+ .byte 0x83, 0x53, 0x83, 0x56, 0x83, 0x62, 0x83, 0x76, 0x28, 0x89, 0xef, 0x98, 0x62, 0x29
.byte 0x00, 0x00
.global data_ov04_02110250
data_ov04_02110250: ; 0x02110250
- .ascii "[h"
+ ; string "γ¬γ€γΌγ"
+ .byte 0x83, 0x8c, 0x83, 0x84, 0x81, 0x5b, 0x83, 0x68
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0211025c
data_ov04_0211025c: ; 0x0211025c
- .ascii "οb(ί)"
+ ; string "δΌθ©±(ι γ)"
+ .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x89, 0x93, 0x82, 0xdf, 0x29
.byte 0x00, 0x00
.global data_ov04_02110268
data_ov04_02110268: ; 0x02110268
- .ascii "οb(ίί)"
+ ; string "δΌθ©±(θΏγ)"
+ .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x8b, 0xdf, 0x82, 0xdf, 0x29
.byte 0x00, 0x00
.global data_ov04_02110274
data_ov04_02110274: ; 0x02110274
- .ascii "οb(‘)"
+ ; string "δΌθ©±(ζ¨ͺ)"
+ .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x89, 0xa1, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110280
data_ov04_02110280: ; 0x02110280
- .ascii "οb(l)"
+ ; string "δΌθ©±(δΊΊι)"
+ .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x90, 0x6c, 0x8b, 0x9b, 0x29
.byte 0x00, 0x00
.global data_ov04_0211028c
data_ov04_0211028c: ; 0x0211028c
- .ascii "οb(g[)"
+ ; string "δΌθ©±(γ γγΌ)"
+ .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x83, 0x80, 0x83, 0x67, 0x81, 0x5b, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0211029c
data_ov04_0211029c: ; 0x0211029c
- .ascii "οb(μ°Rm)"
+ ; string "δΌθ©±(ιιι¨ε£«)"
+ .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x97, 0xec, 0x8d, 0xb0, 0x8b, 0x52, 0x8e, 0x6d, 0x29
.byte 0x00, 0x00
.global data_ov04_021102ac
data_ov04_021102ac: ; 0x021102ac
- .ascii "οb(JG)"
+ ; string "δΌθ©±(γ«γ¨γ«)"
+ .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x83, 0x4a, 0x83, 0x47, 0x83, 0x8b, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021102bc
data_ov04_021102bc: ; 0x021102bc
- .ascii "IΔ(C)"
+ ; string "ηε½γ¦ε±(γ‘γ€γ³)"
+ .byte 0x93, 0x49, 0x93, 0x96, 0x82, 0xc4, 0x89, 0xae, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021102d0
data_ov04_021102d0: ; 0x021102d0
- .ascii "IΔ(Tu)"
+ ; string "ηε½γ¦ε±(γ΅γ)"
+ .byte 0x93, 0x49, 0x93, 0x96, 0x82, 0xc4, 0x89, 0xae, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00, 0x00
.global data_ov04_021102e0
data_ov04_021102e0: ; 0x021102e0
- .ascii "Gέ(l)"
+ ; string "ι貨ε±(δΊΊ)"
+ .byte 0x8e, 0x47, 0x89, 0xdd, 0x89, 0xae, 0x28, 0x90, 0x6c, 0x29
.byte 0x00, 0x00
.global data_ov04_021102ec
data_ov04_021102ec: ; 0x021102ec
- .ascii "Gέ(€i)"
+ ; string "ι貨ε±(εε)"
+ .byte 0x8e, 0x47, 0x89, 0xdd, 0x89, 0xae, 0x28, 0x8f, 0xa4, 0x95, 0x69, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021102fc
data_ov04_021102fc: ; 0x021102fc
- .ascii "HμD{X(C)"
+ ; string "εΉ½ιθΉγγΉ(γ‘γ€γ³)"
+ .byte 0x97, 0x48, 0x97, 0xec, 0x91, 0x44, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00
.global data_ov04_02110310
data_ov04_02110310: ; 0x02110310
- .ascii "HμD{X(Tu)"
+ ; string "εΉ½ιθΉγγΉ(γ΅γ)"
+ .byte 0x97, 0x48, 0x97, 0xec, 0x91, 0x44, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110324
data_ov04_02110324: ; 0x02110324
- .ascii "ΒΞΊθ’"
+ ; string "γ€γ°γγεγ"
+ .byte 0x82, 0xc2, 0x82, 0xce, 0x82, 0xba, 0x82, 0xe8, 0x8d, 0x87, 0x82, 0xa2
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110334
data_ov04_02110334: ; 0x02110334
- .ascii "οbJ(ηAbv)"
+ ; string "δΌθ©±γ«γ‘γ©(ι‘γ’γγ)"
+ .byte 0x89, 0xef, 0x98, 0x62, 0x83, 0x4a, 0x83, 0x81, 0x83, 0x89, 0x28, 0x8a, 0xe7, 0x83, 0x41, 0x83, 0x62, 0x83, 0x76, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0211034c
data_ov04_0211034c: ; 0x0211034c
- .ascii "οbJ(ηAbvΏε’)"
+ ; string "δΌθ©±γ«γ‘γ©(ι‘γ’γγγ‘γγ)"
+ .byte 0x89, 0xef, 0x98, 0x62, 0x83, 0x4a, 0x83, 0x81, 0x83, 0x89, 0x28, 0x8a, 0xe7, 0x83, 0x41, 0x83, 0x62, 0x83, 0x76, 0x82, 0xbf, 0x82, 0xe5, 0x82, 0xa2, 0x29
.byte 0x00, 0x00
.global data_ov04_02110368
data_ov04_02110368: ; 0x02110368
- .ascii "’D(l)"
+ ; string "ι θΉζ(δΊΊ)"
+ .byte 0x91, 0xa2, 0x91, 0x44, 0x8f, 0x8a, 0x28, 0x90, 0x6c, 0x29
.byte 0x00, 0x00
.global data_ov04_02110374
data_ov04_02110374: ; 0x02110374
- .ascii "Σθ(l)"
+ ; string "ιεε±(δΊΊ)"
+ .byte 0x8a, 0xd3, 0x92, 0xe8, 0x89, 0xae, 0x28, 0x90, 0x6c, 0x29
.byte 0x00, 0x00
.global data_ov04_02110380
data_ov04_02110380: ; 0x02110380
- .ascii "X{X(C)"
+ ; string "ζ°·γγΉ(γ‘γ€γ³)"
+ .byte 0x95, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00
.global data_ov04_02110390
data_ov04_02110390: ; 0x02110390
- .ascii "X{X(Tu)"
+ ; string "ζ°·γγΉ(γ΅γ)"
+ .byte 0x95, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021103a0
data_ov04_021103a0: ; 0x021103a0
- .ascii "C{X"
+ ; string "ζ΅·γγΉ"
+ .byte 0x8a, 0x43, 0x83, 0x7b, 0x83, 0x58
.byte 0x00, 0x00
.global data_ov04_021103a8
data_ov04_021103a8: ; 0x021103a8
- .ascii "X{X1(C)"
+ ; string "γ©γΉγγΉ1(γ‘γ€γ³)"
+ .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x31, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00, 0x00
.global data_ov04_021103bc
data_ov04_021103bc: ; 0x021103bc
- .ascii "X{X1(Tu)"
+ ; string "γ©γΉγγΉ1(γ΅γ)"
+ .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x31, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00
.global data_ov04_021103cc
data_ov04_021103cc: ; 0x021103cc
- .ascii "X{X1(C)"
+ ; string "γ©γΉγγΉ1δΈε€(γ‘γ€γ³)"
+ .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x31, 0x92, 0x86, 0x89, 0x9b, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00, 0x00
.global data_ov04_021103e4
data_ov04_021103e4: ; 0x021103e4
- .ascii "X{X1Ί(C)"
+ ; string "γ©γΉγγΉ1δΈε€δΈ(γ‘γ€γ³)"
+ .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x31, 0x92, 0x86, 0x89, 0x9b, 0x89, 0xba, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00
.global data_ov04_021103fc
data_ov04_021103fc: ; 0x021103fc
- .ascii "X{X3(C)"
+ ; string "γ©γΉγγΉ3(γ‘γ€γ³)"
+ .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x33, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00, 0x00
.global data_ov04_02110410
data_ov04_02110410: ; 0x02110410
- .ascii "X{X3(Tu)"
+ ; string "γ©γΉγγΉ3(γ΅γ)"
+ .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x33, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29
.byte 0x00
.global data_ov04_02110420
data_ov04_02110420: ; 0x02110420
- .ascii "X{X3(Tu2)"
+ ; string "γ©γΉγγΉ3(γ΅γ2)"
+ .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x33, 0x28, 0x83, 0x54, 0x83, 0x75, 0x32, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110434
data_ov04_02110434: ; 0x02110434
- .ascii "X{X3(CA{[ζθ)"
+ ; string "γ©γΉγγΉ3(γ‘γ€γ³γγγΌγ«εγ)"
+ .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x33, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x81, 0x41, 0x83, 0x7b, 0x81, 0x5b, 0x83, 0x8b, 0x8e, 0xe6, 0x82, 0xe8, 0x29
.byte 0x00, 0x00, 0x00
.global data_ov04_02110454
data_ov04_02110454: ; 0x02110454
- .ascii "X{XO(C)"
+ ; string "ζ°·γγΉε(γ‘γ€γ³)"
+ .byte 0x95, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x91, 0x4f, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110468
data_ov04_02110468: ; 0x02110468
- .ascii "X{XΓg(C)"
+ ; string "ζ°·γγΉζ΄₯ζ³’(γ‘γ€γ³)"
+ .byte 0x95, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x92, 0xc3, 0x94, 0x67, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29
.byte 0x00, 0x00
.global data_ov04_0211047c
data_ov04_0211047c: ; 0x0211047c
- .ascii "Ξ{X"
+ ; string "η«γγΉ"
+ .byte 0x89, 0xce, 0x83, 0x7b, 0x83, 0x58
.byte 0x00, 0x00
.global data_ov04_02110484
data_ov04_02110484: ; 0x02110484
- .ascii "Ν{X"
+ ; string "εγγΉ"
+ .byte 0x97, 0xcd, 0x83, 0x7b, 0x83, 0x58
.byte 0x00, 0x00
.global data_ov04_0211048c
data_ov04_0211048c: ; 0x0211048c
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110498
data_ov04_02110498: ; 0x02110498
@@ -31222,11 +31316,13 @@ data_ov04_02110507: ; 0x02110507
.byte 0x00
.global data_ov04_02110508
data_ov04_02110508: ; 0x02110508
- .ascii "bZ[W}l[W["
+ ; string "γ‘γγ»γΌγΈγγγΌγΈγ£γΌ"
+ .byte 0x83, 0x81, 0x83, 0x62, 0x83, 0x5a, 0x81, 0x5b, 0x83, 0x57, 0x83, 0x7d, 0x83, 0x6c, 0x81, 0x5b, 0x83, 0x57, 0x83, 0x83, 0x81, 0x5b
.byte 0x00, 0x00
.global data_ov04_02110520
data_ov04_02110520: ; 0x02110520
- .ascii "ACe}l[W["
+ ; string "γ’γ€γγ γγγΌγΈγ£γΌ"
+ .byte 0x83, 0x41, 0x83, 0x43, 0x83, 0x65, 0x83, 0x80, 0x83, 0x7d, 0x83, 0x6c, 0x81, 0x5b, 0x83, 0x57, 0x83, 0x83, 0x81, 0x5b
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110538
data_ov04_02110538: ; 0x02110538
@@ -31582,203 +31678,253 @@ data_ov04_02110934: ; 0x02110934
.byte 0x00, 0x00
.global data_ov04_02110948
data_ov04_02110948: ; 0x02110948
- .ascii "N[V"
+ ; string "γͺγ³γ―γ’γΌγ·γ§γ³"
+ .byte 0x83, 0x8a, 0x83, 0x93, 0x83, 0x4e, 0x83, 0x82, 0x81, 0x5b, 0x83, 0x56, 0x83, 0x87, 0x83, 0x93
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_0211095c
data_ov04_0211095c: ; 0x0211095c
- .ascii "SΚ"
+ ; string "ε
¨θ¬"
+ .byte 0x91, 0x53, 0x94, 0xca
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110964
data_ov04_02110964: ; 0x02110964
- .ascii "EFCg"
+ ; string "γ¦γ§γ€γ"
+ .byte 0x83, 0x45, 0x83, 0x46, 0x83, 0x43, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110970
data_ov04_02110970: ; 0x02110970
- .ascii "Ϊ"
+ ; string "η§»ε"
+ .byte 0x88, 0xda, 0x93, 0xae
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110978
data_ov04_02110978: ; 0x02110978
- .ascii "O]"
+ ; string "εθ»’"
+ .byte 0x91, 0x4f, 0x93, 0x5d
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110980
data_ov04_02110980: ; 0x02110980
- .ascii "I[gWv"
+ ; string "γͺγΌγγΈγ£γ³γ"
+ .byte 0x83, 0x49, 0x81, 0x5b, 0x83, 0x67, 0x83, 0x57, 0x83, 0x83, 0x83, 0x93, 0x83, 0x76
.byte 0x00, 0x00
.global data_ov04_02110990
data_ov04_02110990: ; 0x02110990
- .ascii "Uθ"
+ ; string "ε£ζ―γ"
+ .byte 0x8c, 0x95, 0x90, 0x55, 0x82, 0xe8
.byte 0x00, 0x00
.global data_ov04_02110998
data_ov04_02110998: ; 0x02110998
- .ascii "cΨθ"
+ ; string "ηΈ¦εγ"
+ .byte 0x8f, 0x63, 0x90, 0xd8, 0x82, 0xe8
.byte 0x00, 0x00
.global data_ov04_021109a0
data_ov04_021109a0: ; 0x021109a0
- .ascii "‘Ψθ"
+ ; string "ζ¨ͺεγ"
+ .byte 0x89, 0xa1, 0x90, 0xd8, 0x82, 0xe8
.byte 0x00, 0x00
.global data_ov04_021109a8
data_ov04_021109a8: ; 0x021109a8
- .ascii "Λ«"
+ ; string "ηͺγ"
+ .byte 0x93, 0xcb, 0x82, 0xab
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021109b0
data_ov04_021109b0: ; 0x021109b0
- .ascii "ρ]Ψθ"
+ ; string "εθ»’εγ"
+ .byte 0x89, 0xf1, 0x93, 0x5d, 0x90, 0xd8, 0x82, 0xe8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021109bc
data_ov04_021109bc: ; 0x021109bc
- .ascii "½"
+ ; string "εε"
+ .byte 0x94, 0xbd, 0x93, 0xae
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021109c4
data_ov04_021109c4: ; 0x021109c4
- .ascii "WvΨθ"
+ ; string "γΈγ£γ³γεγ"
+ .byte 0x83, 0x57, 0x83, 0x83, 0x83, 0x93, 0x83, 0x76, 0x90, 0xd8, 0x82, 0xe8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021109d4
data_ov04_021109d4: ; 0x021109d4
- .ascii "hδ"
+ ; string "ι²εΎ‘"
+ .byte 0x96, 0x68, 0x8c, 0xe4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021109dc
data_ov04_021109dc: ; 0x021109dc
- .ascii "_[W"
+ ; string "γγ‘γΌγΈ"
+ .byte 0x83, 0x5f, 0x83, 0x81, 0x81, 0x5b, 0x83, 0x57
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021109e8
data_ov04_021109e8: ; 0x021109e8
- .ascii "Ώγ°"
+ ; string "ζγ‘δΈγ"
+ .byte 0x8e, 0x9d, 0x82, 0xbf, 0x8f, 0xe3, 0x82, 0xb0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_021109f4
data_ov04_021109f4: ; 0x021109f4
- .ascii "΅ψ«"
+ ; string "ζΌγεΌγ"
+ .byte 0x89, 0x9f, 0x82, 0xb5, 0x88, 0xf8, 0x82, 0xab
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110a00
data_ov04_02110a00: ; 0x02110a00
- .ascii "ACeQbg"
+ ; string "γ’γ€γγ γ²γγ"
+ .byte 0x83, 0x41, 0x83, 0x43, 0x83, 0x65, 0x83, 0x80, 0x83, 0x51, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00
.global data_ov04_02110a10
data_ov04_02110a10: ; 0x02110a10
- .ascii "Έμ"
+ ; string "η²Ύι"
+ .byte 0x90, 0xb8, 0x97, 0xec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110a18
data_ov04_02110a18: ; 0x02110a18
- .ascii "|ξ"
+ ; string "εΌη’"
+ .byte 0x8b, 0x7c, 0x96, 0xee
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110a20
data_ov04_02110a20: ; 0x02110a20
- .ascii "u["
+ ; string "γγΌγ‘γ©γ³"
+ .byte 0x83, 0x75, 0x81, 0x5b, 0x83, 0x81, 0x83, 0x89, 0x83, 0x93
.byte 0x00, 0x00
.global data_ov04_02110a2c
data_ov04_02110a2c: ; 0x02110a2c
- .ascii "n}["
+ ; string "γγ³γγΌ"
+ .byte 0x83, 0x6e, 0x83, 0x93, 0x83, 0x7d, 0x81, 0x5b
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110a38
data_ov04_02110a38: ; 0x02110a38
- .ascii "[v"
+ ; string "γγΌγ"
+ .byte 0x83, 0x8d, 0x81, 0x5b, 0x83, 0x76
.byte 0x00, 0x00
.global data_ov04_02110a40
data_ov04_02110a40: ; 0x02110a40
- .ascii "XRbv"
+ ; string "γΉγ³γγ"
+ .byte 0x83, 0x58, 0x83, 0x52, 0x83, 0x62, 0x83, 0x76
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110a4c
data_ov04_02110a4c: ; 0x02110a4c
- .ascii "ΌΜACe"
+ ; string "δ»γγ’γ€γγ "
+ .byte 0x91, 0xbc, 0x82, 0xcc, 0x83, 0x41, 0x83, 0x43, 0x83, 0x65, 0x83, 0x80
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110a5c
data_ov04_02110a5c: ; 0x02110a5c
- .ascii "σΤΩν"
+ ; string "ηΆζ
η°εΈΈ"
+ .byte 0x8f, 0xf3, 0x91, 0xd4, 0x88, 0xd9, 0x8f, 0xed
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110a68
data_ov04_02110a68: ; 0x02110a68
- .ascii "»ΜΌ"
+ ; string "γγδ»"
+ .byte 0x82, 0xbb, 0x82, 0xcc, 0x91, 0xbc
.byte 0x00, 0x00
.global data_ov04_02110a70
data_ov04_02110a70: ; 0x02110a70
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110a7c
data_ov04_02110a7c: ; 0x02110a7c
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110a88
data_ov04_02110a88: ; 0x02110a88
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110a94
data_ov04_02110a94: ; 0x02110a94
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110aa0
data_ov04_02110aa0: ; 0x02110aa0
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110aac
data_ov04_02110aac: ; 0x02110aac
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110ab8
data_ov04_02110ab8: ; 0x02110ab8
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110ac4
data_ov04_02110ac4: ; 0x02110ac4
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110ad0
data_ov04_02110ad0: ; 0x02110ad0
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110adc
data_ov04_02110adc: ; 0x02110adc
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110ae8
data_ov04_02110ae8: ; 0x02110ae8
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110af4
data_ov04_02110af4: ; 0x02110af4
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b00
data_ov04_02110b00: ; 0x02110b00
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b0c
data_ov04_02110b0c: ; 0x02110b0c
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b18
data_ov04_02110b18: ; 0x02110b18
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b24
data_ov04_02110b24: ; 0x02110b24
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b30
data_ov04_02110b30: ; 0x02110b30
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b3c
data_ov04_02110b3c: ; 0x02110b3c
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b48
data_ov04_02110b48: ; 0x02110b48
- .ascii "Ηέέ"
+ ; string "θͺγΏθΎΌγΏ"
+ .byte 0x93, 0xc7, 0x82, 0xdd, 0x8d, 0x9e, 0x82, 0xdd
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b54
data_ov04_02110b54: ; 0x02110b54
- .ascii "κ²"
+ ; string "δΈζθͺΏζ΄"
+ .byte 0x88, 0xea, 0x8e, 0x9e, 0x92, 0xb2, 0x90, 0xae
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b60
data_ov04_02110b60: ; 0x02110b60
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b6c
data_ov04_02110b6c: ; 0x02110b6c
- .ascii "GtFNg"
+ ; string "γ¨γγ§γ―γ"
+ .byte 0x83, 0x47, 0x83, 0x74, 0x83, 0x46, 0x83, 0x4e, 0x83, 0x67
.byte 0x00, 0x00
.global data_ov04_02110b78
data_ov04_02110b78: ; 0x02110b78
- .ascii "Zbg"
+ ; string "γͺγ»γγ"
+ .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110b84
data_ov04_02110b84: ; 0x02110b84
@@ -31934,7 +32080,8 @@ data_ov04_02110cb4: ; 0x02110cb4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110cb8
data_ov04_02110cb8: ; 0x02110cb8
- .ascii "GbW}[LO"
+ ; string "γ¨γγΈγγΌγγ³γ°"
+ .byte 0x83, 0x47, 0x83, 0x62, 0x83, 0x57, 0x83, 0x7d, 0x81, 0x5b, 0x83, 0x4c, 0x83, 0x93, 0x83, 0x4f
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov04_02110ccc
data_ov04_02110ccc: ; 0x02110ccc
diff --git a/asm/ov05.inc b/asm/ov05.inc
index ec94b899..901ca129 100644
--- a/asm/ov05.inc
+++ b/asm/ov05.inc
@@ -1,10 +1,34 @@
#pragma once
.extern Divide
+.extern GiveShipPart
+.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
-.extern _ZN11ItemManager18func_ov00_020ae648Ejjj
-.extern _ZN11ItemManager8GiveItemEjjj
+.extern _ZN11ItemManager15LoadFanfareItemEi
+.extern _ZN11ItemManager18PlayItemFanfareSfxEi
+.extern _ZN11ItemManager8GiveItemEi
.extern _ZN12ActorManager11DeleteActorEjb
.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList
.extern _ZN12ActorManager13FindActorByIdEj
@@ -103,6 +127,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
@@ -119,6 +149,8 @@
.extern _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p
.extern _ZN4Item18func_ov00_020ad020Ei
.extern _ZN5Actor9GetHitboxEP8Cylinder
+.extern _ZN7MapBase18func_ov00_0207dea0Eb
+.extern _ZN7MapBase18func_ov00_02080de8Ei
.extern _ZN9SysObjectdlEPv
.extern _ZNK11ItemManager13HasAllPotionsEv
.extern _ZNK11ItemManager15HasPurplePotionEv
@@ -159,7 +191,6 @@
.extern data_027e0e2c
.extern data_027e0e58
.extern data_027e0e5c
-.extern data_027e0e60
.extern data_027e0f64
.extern data_027e0f68
.extern data_027e0f6c
@@ -173,7 +204,6 @@
.extern data_027e0fac
.extern data_027e0fb0
.extern data_027e0fb8
-.extern data_027e0fbc
.extern data_027e0fc0
.extern data_027e0fc8
.extern data_027e0fcc
@@ -332,32 +362,7 @@
.extern func_ov00_0207c1f8
.extern func_ov00_0207c358
.extern func_ov00_0207c444
-.extern func_ov00_0207dea0
-.extern func_ov00_02080de8
.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
@@ -510,7 +509,6 @@
.extern func_ov09_02118cd4
.extern func_ov09_0211c724
.extern func_ov09_0211c808
-.extern func_ov09_0211ca20
.extern func_ov09_0211cac0
.extern func_ov12_02134208
.extern func_ov14_02127df4
@@ -576,7 +574,9 @@
.extern func_ov59_0219907c
.extern func_ov59_021990a4
.extern gAdventureFlags
+.extern gHealthManager
.extern gItemManager
+.extern gMapManager
.extern gOverlayManager
.extern strcmp
.extern strcpy
diff --git a/asm/ov05.s b/asm/ov05.s
index 9223e162..cd59e77b 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
@@ -9487,7 +9487,7 @@ func_ov05_021088c8: ; 0x021088c8
bl func_020385d0
cmp r0, #0
beq _0210899c
- ldr r1, _021089a8 ; =data_027e0fbc
+ ldr r1, _021089a8 ; =gHealthManager
ldr r4, _021089ac ; =0x88888889
ldr r1, [r1]
mov ip, #0x3c
@@ -9534,7 +9534,7 @@ _0210899c:
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov05_021088c8
-_021089a8: .word data_027e0fbc
+_021089a8: .word gHealthManager
_021089ac: .word 0x88888889
_021089b0: .word 0x66666667
_021089b4: .word 0x00007fff
@@ -9681,7 +9681,7 @@ _02108b9c:
str r0, [r4, #0x74]
ldr r0, [sp, #4]
ldr r1, [sp]
- blx func_ov09_0211ca20
+ blx GiveShipPart
b _02108be8
_02108bb4:
ldr r0, _02108cf0 ; =gItemManager
@@ -9726,7 +9726,7 @@ _02108c34:
ldr r0, _02108cf0 ; =gItemManager
ldr r1, [r4, #0x74]
ldr r0, [r0]
- blx _ZN11ItemManager15LoadFanfareItemEj
+ blx _ZN11ItemManager15LoadFanfareItemEi
ldr r0, [r4, #0x74]
mov r2, #1
cmp r0, #0x81
@@ -9884,7 +9884,7 @@ _02108e44:
ldr r0, _02108e88 ; =gItemManager
mov r1, r4
ldr r0, [r0]
- blx _ZN11ItemManager15LoadFanfareItemEj
+ blx _ZN11ItemManager15LoadFanfareItemEi
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov05_02108e08
@@ -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
@@ -10245,7 +10245,7 @@ _02109354:
cmp r0, #0
beq _02109380
ldr r0, [r5, #0x74]
- blx _ZN11ItemManager18func_ov00_020ae648Ejjj
+ blx _ZN11ItemManager18PlayItemFanfareSfxEi
_02109380:
mov r0, r5
bl _ZN13LinkStateBase18func_ov00_020a8d50Ev
@@ -10610,11 +10610,11 @@ _02109828:
bl _ZN13LinkStateBase18func_ov00_020a8360Ei
b _021098bc
_02109834:
- ldr r0, _021099bc ; =data_027e0fbc
+ ldr r0, _021099bc ; =gHealthManager
mov r1, #4
ldr r0, [r0]
blx func_ov00_020b804c
- ldr r1, _021099bc ; =data_027e0fbc
+ ldr r1, _021099bc ; =gHealthManager
mov r0, r5
ldr r1, [r1]
ldrsh r1, [r1]
@@ -10646,7 +10646,7 @@ _0210989c:
ldr r0, _021099cc ; =gItemManager
ldr r1, [r5, #0x74]
ldr r0, [r0]
- blx _ZN11ItemManager8GiveItemEjjj
+ blx _ZN11ItemManager8GiveItemEi
_021098bc:
mov r0, r4
blx _ZN4Item18func_ov00_020ad020Ei
@@ -10719,7 +10719,7 @@ _021099a4:
.align 2, 0
arm_func_end func_ov05_021097b0
_021099b8: .word 0x464f5243
-_021099bc: .word data_027e0fbc
+_021099bc: .word gHealthManager
_021099c0: .word data_027e103c
_021099c4: .word 0x424b4559
_021099c8: .word 0x43525953
@@ -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..261c1337 100644
--- a/asm/ov09.inc
+++ b/asm/ov09.inc
@@ -1,6 +1,6 @@
#pragma once
.extern Divide
-.extern _ZN11ItemManager10GiveRupeesEjj
+.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager13EquipShipPartEjj
.extern _ZN11ItemManager16SetShipPartCountEjjc
.extern _ZN11ItemManager16SetTreasureCountEjc
@@ -49,10 +49,9 @@
.extern data_027e0e28
.extern data_027e0e2c
.extern data_027e0e58
-.extern data_027e0e60
+.extern gMapManager
.extern data_027e0f64
.extern data_027e0f90
-.extern data_027e0fbc
.extern data_027e0fe4
.extern data_027e0ffc
.extern data_027e103c
@@ -230,14 +229,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
@@ -451,6 +450,7 @@
.extern func_ov18_02160a74
.extern func_ov29_0216dcf4
.extern gAdventureFlags
+.extern gHealthManager
.extern gItemManager
.extern gOverlayManager
.extern strcat
diff --git a/asm/ov09.s b/asm/ov09.s
index 5bbd7f6a..5b47a4cd 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
@@ -3580,7 +3580,7 @@ _0211483a:
strb r0, [r1]
add r0, sp, #0x48
bl func_ov00_0207a38c
- ldr r0, _02114988 ; =data_027e0fbc
+ ldr r0, _02114988 ; =gHealthManager
add r1, sp, #0x48
ldr r0, [r0]
bl func_ov00_020b7ffc
@@ -3706,7 +3706,7 @@ _02114960:
thumb_func_end func_ov09_02114810
_02114980: .word data_027e0dbc
_02114984: .word data_ov00_020e9ec0
-_02114988: .word data_027e0fbc
+_02114988: .word gHealthManager
_0211498c: .word data_ov00_020e9e18
_02114990: .word data_ov09_0211f5b4
_02114994: .word data_ov00_020e9f08
@@ -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
@@ -16992,9 +16992,9 @@ _0211c6f2:
thumb_func_end func_ov09_0211c6b4
_0211c6fc: .word gItemManager
- .global func_ov09_0211c700
- thumb_func_start func_ov09_0211c700
-func_ov09_0211c700: ; 0x0211c700
+ .global EquipLinebeckCannon
+ thumb_func_start EquipLinebeckCannon
+EquipLinebeckCannon: ; 0x0211c700
push {r3, lr}
ldr r0, _0211c720 ; =gItemManager
mov r1, #3
@@ -17010,7 +17010,7 @@ func_ov09_0211c700: ; 0x0211c700
_0211c71c:
pop {r3, pc}
nop
- thumb_func_end func_ov09_0211c700
+ thumb_func_end EquipLinebeckCannon
_0211c720: .word gItemManager
.global func_ov09_0211c724
@@ -17414,7 +17414,7 @@ func_ov09_0211c9a8: ; 0x0211c9a8
add r1, r0, #0
add r0, r6, #0
mov r2, #1
- blx _ZN11ItemManager10GiveRupeesEjj
+ blx _ZN11ItemManager10GiveRupeesEsb
ldr r0, _0211c9e4 ; =gItemManager
add r1, r5, #0
ldr r6, [r0]
@@ -17445,7 +17445,7 @@ func_ov09_0211c9e8: ; 0x0211c9e8
add r1, r0, #0
add r0, r4, #0
mov r2, #1
- blx _ZN11ItemManager10GiveRupeesEjj
+ blx _ZN11ItemManager10GiveRupeesEsb
ldr r0, _0211ca1c ; =gItemManager
add r1, r5, #0
ldr r4, [r0]
@@ -17463,9 +17463,9 @@ func_ov09_0211c9e8: ; 0x0211c9e8
thumb_func_end func_ov09_0211c9e8
_0211ca1c: .word gItemManager
- .global func_ov09_0211ca20
- thumb_func_start func_ov09_0211ca20
-func_ov09_0211ca20: ; 0x0211ca20
+ .global GiveShipPart
+ thumb_func_start GiveShipPart
+GiveShipPart: ; 0x0211ca20
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
@@ -17538,7 +17538,7 @@ _0211ca94:
add sp, #4
pop {r3, r4, r5, r6, pc}
.align 2, 0
- thumb_func_end func_ov09_0211ca20
+ thumb_func_end GiveShipPart
_0211caa8: .word gItemManager
_0211caac: .word data_ov09_0211f294
_0211cab0: .word data_ov09_0211f298
@@ -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/ov11.s b/asm/ov11.s
index 30752ac9..b11c19de 100644
--- a/asm/ov11.s
+++ b/asm/ov11.s
@@ -60915,7 +60915,8 @@ data_ov11_0212e2e7: ; 0x0212e2e7
.byte 0x00
.global data_ov11_0212e2e8
data_ov11_0212e2e8: ; 0x0212e2e8
- .ascii ""
+ ; string "ο½"
+ .byte 0x82, 0x83
.byte 0x00, 0x00
.global data_ov11_0212e2ec
data_ov11_0212e2ec: ; 0x0212e2ec
diff --git a/asm/ov12.inc b/asm/ov12.inc
index f96d3554..0303dc97 100644
--- a/asm/ov12.inc
+++ b/asm/ov12.inc
@@ -1,6 +1,25 @@
#pragma once
.extern Approach_thunk
.extern Divide
+.extern PlaySoundEffect
+.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 +94,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 +149,6 @@
.extern data_027e0dcc
.extern data_027e0e2c
.extern data_027e0e58
-.extern data_027e0e60
.extern data_027e0f64
.extern data_027e0f68
.extern data_027e0f84
@@ -336,45 +374,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
@@ -633,7 +633,6 @@
.extern func_ov00_020d70a4
.extern func_ov00_020d716c
.extern func_ov00_020d7180
-.extern func_ov00_020d73bc
.extern func_ov00_020d7404
.extern func_ov00_020d77e4
.extern func_ov00_020d7a84
@@ -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..70704064 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
@@ -20651,7 +20651,7 @@ _021239cc:
bl func_ov12_02124dfc
mov r1, r0
ldr r0, _02123a20 ; =data_ov00_020eec68
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
b _02123a04
_021239ec:
ldrb r0, [r6, #0x370]
@@ -20659,7 +20659,7 @@ _021239ec:
beq _02123a04
ldr r0, _02123a20 ; =data_ov00_020eec68
mov r1, #0x2b
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
_02123a04:
mov r0, #7
str r0, [r6, #0xc]
@@ -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/ov13.s b/asm/ov13.s
index bc8923e1..7ae9d385 100644
--- a/asm/ov13.s
+++ b/asm/ov13.s
@@ -4263,11 +4263,13 @@ data_ov13_02116124: ; 0x02116124
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov13_02116128
data_ov13_02116128: ; 0x02116128
- .ascii ""
+ ; string "γ€γ‘γ«"
+ .byte 0x83, 0x84, 0x83, 0x81, 0x83, 0x8b
.byte 0x00, 0x00
.global data_ov13_02116130
data_ov13_02116130: ; 0x02116130
- .ascii "REJ X"
+ ; string "γ³γ¦γ«γ³ γΉγ«"
+ .byte 0x83, 0x52, 0x83, 0x45, 0x83, 0x4a, 0x83, 0x93, 0x20, 0x83, 0x58, 0x83, 0x8b
.byte 0x00, 0x00, 0x00
.global data_ov13_02116140
data_ov13_02116140: ; 0x02116140
diff --git a/asm/ov14/ov14_0211f640.inc b/asm/ov14/ov14_0211f640.inc
index 4b5c9749..f23b93a8 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
@@ -99,9 +137,9 @@
.extern _ZN9ActorTypeD1Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
+.extern _ZNK11ItemManager10GetNumKeysEv
.extern _ZNK11ItemManager15GetEquippedItemEv
.extern _ZNK11ItemManager18func_ov00_020ad560Ei
-.extern _ZNK11ItemManager18func_ov00_020ae350Ev
.extern _ZNK11ItemManager7HasItemEi
.extern __register_global_object
.extern data_02050f54
@@ -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..21002b8b 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
@@ -10454,7 +10454,7 @@ func_ov14_02127df4: ; 0x02127df4
ldmneia sp!, {r3, pc}
ldr r0, _02127e24 ; =gItemManager
ldr r0, [r0]
- bl _ZNK11ItemManager18func_ov00_020ae350Ev
+ bl _ZNK11ItemManager10GetNumKeysEv
cmp r0, #0
movgt r0, #1
movle r0, #0
@@ -10474,7 +10474,7 @@ func_ov14_02127e28: ; 0x02127e28
ldmneia sp!, {r4, pc}
ldr r0, _02127eb4 ; =gItemManager
ldr r0, [r0]
- bl _ZNK11ItemManager18func_ov00_020ae350Ev
+ bl _ZNK11ItemManager10GetNumKeysEv
cmp r0, #0
mvnle r0, #0
ldmleia sp!, {r4, pc}
@@ -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..eaf3fe77 100644
--- a/asm/ov14/ov14_0213b778.inc
+++ b/asm/ov14/ov14_0213b778.inc
@@ -1,19 +1,55 @@
#pragma once
.extern Approach_thunk
.extern Divide
+.extern _ZN10MapManager16MapData_vfunc_54Ev
+.extern _ZN10MapManager16MapData_vfunc_68Ev
+.extern _ZN10MapManager16MapData_vfunc_78Ev
+.extern _ZN10MapManager16MapData_vfunc_b4Ev
+.extern _ZN10MapManager17GetMapData_Unk_06Ev
+.extern _ZN10MapManager17GetMapData_Unk_07Ev
+.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p
+.extern _ZN10MapManager17Get_MapData_Unk28Ev
+.extern _ZN10MapManager17Get_MapData_Unk2aEv
+.extern _ZN10MapManager18func_ov00_020823c4EPii
+.extern _ZN10MapManager18func_ov00_020823d4Ei
+.extern _ZN10MapManager18func_ov00_020823e4Ei
+.extern _ZN10MapManager18func_ov00_02082680Eii
+.extern _ZN10MapManager18func_ov00_020826a0Eiii
+.extern _ZN10MapManager18func_ov00_02082d08Ev
+.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 _ZN10MapManager18func_ov00_020840dcEv
+.extern _ZN10MapManager18func_ov00_020843ecEPi
+.extern _ZN10MapManager18func_ov00_020849c0Ev
+.extern _ZN10MapManager18func_ov00_020849dcEv
+.extern _ZN10MapManager18func_ov00_02084ac4Ej
+.extern _ZN10MapManager18func_ov00_02084c7cEi
+.extern _ZN10MapManager18func_ov00_02084c94Ei
+.extern _ZN10MapManager18func_ov00_02084cb0Ei
+.extern _ZN10MapManager18func_ov00_02084cc8Ei
+.extern _ZN10MapManager20GetCourseData_Unk_86Ev
+.extern _ZN10MapManager20GetCourseData_Unk_87Ev
+.extern _ZN10MapManager8SpawnNPCEP5Vec3pii
.extern _ZN10PlayerBase18func_ov00_020a7c00Ei
.extern _ZN10PlayerBase9AddHealthEs
.extern _ZN10PlayerBase9SetHealthEs
.extern _ZN11ItemManager12GetEquipItemEi
.extern _ZN11ItemManager12GetItemModelEj
.extern _ZN11ItemManager13TickEquipItemEv
-.extern _ZN11ItemManager15LoadFanfareItemEj
+.extern _ZN11ItemManager15LoadFanfareItemEi
.extern _ZN11ItemManager15SetEquippedItemEi
.extern _ZN11ItemManager17EquipPreviousItemEv
.extern _ZN11ItemManager18EquipItem_vfunc_38Ei
-.extern _ZN11ItemManager18func_ov00_020ae648Ejjj
-.extern _ZN11ItemManager8GiveItemEjjj
-.extern _ZN11ItemManager9SetPotionEjj
+.extern _ZN11ItemManager18PlayItemFanfareSfxEi
+.extern _ZN11ItemManager8GiveItemEi
+.extern _ZN11ItemManager9SetPotionEjh
.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList
.extern _ZN12ActorManager13FindActorByIdEj
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
@@ -91,6 +127,8 @@
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
+.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
+.extern _ZN9ActorTypeD1Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager10GetMaxAmmoEi
@@ -124,7 +162,6 @@
.extern data_027e0d44
.extern data_027e0d78
.extern data_027e0e58
-.extern data_027e0e60
.extern data_027e0f64
.extern data_027e0f68
.extern data_027e0f6c
@@ -133,7 +170,6 @@
.extern data_027e0f94
.extern data_027e0fa0
.extern data_027e0fb8
-.extern data_027e0fbc
.extern data_027e0fc0
.extern data_027e0fc4
.extern data_027e0fc8
@@ -289,8 +325,6 @@
.extern func_020386c4
.extern func_020386cc
.extern func_0203d7e0
-.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
-.extern _ZN9ActorTypeD1Ev
.extern func_0203eb0c
.extern func_0203eba8
.extern func_0203ebc8
@@ -315,42 +349,6 @@
.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 func_ov00_0208726c
.extern func_ov00_020876bc
.extern func_ov00_0208819c
@@ -851,7 +849,9 @@
.extern func_ov59_02198fc8
.extern func_ov59_02198fcc
.extern gAdventureFlags
+.extern gHealthManager
.extern gItemManager
+.extern gMapManager
.extern gOverlayManager
.extern gPlayerAnimHandler
.extern strcat
diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s
index 1edeb224..c98d4af6 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
@@ -4744,7 +4744,7 @@ func_ov14_0213ef2c: ; 0x0213ef2c
add r0, r4, #0
add r0, #0x80
strb r1, [r0]
- ldr r0, _0213ef5c ; =data_027e0fbc
+ ldr r0, _0213ef5c ; =gHealthManager
ldr r1, [r0]
mov r0, #2
ldrsh r0, [r1, r0]
@@ -4754,7 +4754,7 @@ func_ov14_0213ef2c: ; 0x0213ef2c
nop
thumb_func_end func_ov14_0213ef2c
_0213ef58: .word data_ov14_02159084
-_0213ef5c: .word data_027e0fbc
+_0213ef5c: .word gHealthManager
.global func_ov14_0213ef60
thumb_func_start func_ov14_0213ef60
@@ -4768,7 +4768,7 @@ func_ov14_0213ef60: ; 0x0213ef60
bl func_0202e7fc
mov r0, #0xa
ldrsh r1, [r4, r0]
- ldr r0, _0213ef90 ; =data_027e0fbc
+ ldr r0, _0213ef90 ; =gHealthManager
ldr r0, [r0]
strh r1, [r0, #2]
add r0, r4, #0
@@ -4780,7 +4780,7 @@ func_ov14_0213ef60: ; 0x0213ef60
_0213ef84: .word data_ov14_02159084
_0213ef88: .word data_ov14_0215b248
_0213ef8c: .word data_027e077c
-_0213ef90: .word data_027e0fbc
+_0213ef90: .word gHealthManager
.global func_ov14_0213ef94
thumb_func_start func_ov14_0213ef94
@@ -4794,7 +4794,7 @@ func_ov14_0213ef94: ; 0x0213ef94
bl func_0202e7fc
mov r0, #0xa
ldrsh r1, [r4, r0]
- ldr r0, _0213efcc ; =data_027e0fbc
+ ldr r0, _0213efcc ; =gHealthManager
ldr r0, [r0]
strh r1, [r0, #2]
add r0, r4, #0
@@ -4808,7 +4808,7 @@ func_ov14_0213ef94: ; 0x0213ef94
_0213efc0: .word data_ov14_02159084
_0213efc4: .word data_ov14_0215b248
_0213efc8: .word data_027e077c
-_0213efcc: .word data_027e0fbc
+_0213efcc: .word gHealthManager
.global func_ov14_0213efd0
thumb_func_start func_ov14_0213efd0
@@ -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
@@ -5280,7 +5280,7 @@ _0213f516:
ldr r0, _0213f598 ; =gItemManager
mov r2, #0
ldr r0, [r0]
- blx _ZN11ItemManager9SetPotionEjj
+ blx _ZN11ItemManager9SetPotionEjh
b _0213f534
_0213f52c:
add r1, r1, #1
@@ -5365,14 +5365,14 @@ func_ov14_0213f5dc: ; 0x0213f5dc
stmdb sp!, {r4, lr}
mov r4, r0
bl _ZN10PlayerBase9AddHealthEs
- ldr r0, _0213f5fc ; =data_027e0fbc
+ ldr r0, _0213f5fc ; =gHealthManager
ldrsh r1, [r4, #0xa]
ldr r0, [r0]
strh r1, [r0, #2]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov14_0213f5dc
-_0213f5fc: .word data_027e0fbc
+_0213f5fc: .word gHealthManager
.global func_ov14_0213f600
arm_func_start func_ov14_0213f600
@@ -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
@@ -26937,7 +26937,7 @@ _021506e6:
ldr r0, _02150764 ; =gItemManager
add r1, r4, #0
ldr r0, [r0]
- bl _ZN11ItemManager8GiveItemEjjj
+ bl _ZN11ItemManager8GiveItemEi
ldr r2, _02150760 ; =data_027e1058
add r0, r5, #0
ldr r2, [r2]
@@ -26978,12 +26978,12 @@ _02150742:
ldr r0, _02150764 ; =gItemManager
add r1, r4, #0
ldr r0, [r0]
- bl _ZN11ItemManager8GiveItemEjjj
+ bl _ZN11ItemManager8GiveItemEi
_0215074c:
ldr r0, _02150764 ; =gItemManager
add r1, r4, #0
ldr r0, [r0]
- bl _ZN11ItemManager15LoadFanfareItemEj
+ bl _ZN11ItemManager15LoadFanfareItemEi
add r0, r5, #0
mov r1, #0
bl func_ov14_02150848
@@ -27197,7 +27197,7 @@ _021508ce:
ldr r0, [r4, #8]
blx func_ov03_020fc10c
ldr r0, [r4, #8]
- bl _ZN11ItemManager18func_ov00_020ae648Ejjj
+ bl _ZN11ItemManager18PlayItemFanfareSfxEi
pop {r4, pc}
.align 2, 0
thumb_func_end func_ov14_021508b8
@@ -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
@@ -34356,7 +34356,8 @@ data_ov14_0215923c: ; 0x0215923c
.byte 0x00, 0x00
.global data_ov14_02159244
data_ov14_02159244: ; 0x02159244
- .ascii "¬x"
+ ; string "ιεΊ¦"
+ .byte 0x91, 0xac, 0x93, 0x78
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov14_0215924c
data_ov14_0215924c: ; 0x0215924c
diff --git a/asm/ov15.inc b/asm/ov15.inc
index 352eeb8b..769579e3 100644
--- a/asm/ov15.inc
+++ b/asm/ov15.inc
@@ -1,6 +1,43 @@
#pragma once
.extern Approach_thunk
.extern Divide
+.extern GiveShipPart
+.extern PlaySoundEffect
+.extern _ZN10MapManager16MapData_vfunc_68Ev
+.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p
+.extern _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p
+.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 _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 _ZN10MapManager18func_ov00_020846a4Ev
+.extern _ZN10MapManager18func_ov00_020848b8Ev
+.extern _ZN10MapManager18func_ov00_02084b38Eiii
+.extern _ZN10MapManager18func_ov00_02084cb0Ei
+.extern _ZN10MapManager18func_ov00_02084cc8Ei
+.extern _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p
+.extern _ZN10MapManager18func_ov00_02085c60Eiiii
+.extern _ZN10MapManager8SpawnNPCEP5Vec3pii
.extern _ZN10PlayerBase10GetEquipIdEv
.extern _ZN10PlayerBase18TeleportToEntranceEib
.extern _ZN10PlayerBase18func_ov00_020a7c00Ei
@@ -9,13 +46,13 @@
.extern _ZN10PlayerBase8TeleportEP5Vec3psibb
.extern _ZN10PlayerBase8vfunc_04Ev
.extern _ZN10PlayerBase9AddHealthEs
-.extern _ZN11ItemManager10GiveRupeesEjj
+.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager10SetUnk_09eEjt
-.extern _ZN11ItemManager15LoadFanfareItemEj
+.extern _ZN11ItemManager15LoadFanfareItemEi
+.extern _ZN11ItemManager18PlayItemFanfareSfxEi
.extern _ZN11ItemManager18func_ov00_020ad528Ev
-.extern _ZN11ItemManager18func_ov00_020ae648Ejjj
.extern _ZN11ItemManager19SetTreasureSalvagedEj
-.extern _ZN11ItemManager8GiveItemEjjj
+.extern _ZN11ItemManager8GiveItemEi
.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList
.extern _ZN12ActorManager13FindActorByIdEj
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
@@ -106,6 +143,31 @@
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
+.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j
+.extern _ZN6Course14GetAdjacentMapEi
+.extern _ZN6Course18func_ov00_0207ca78Eici
+.extern _ZN6Course18func_ov00_0207ce20EiiPci
+.extern _ZN6Course18func_ov00_0207d7bcEv
+.extern _ZN6Course23IsAdjacentMapOnMainGridEi
+.extern _ZN7MapBase14GetMapFilePathEPcii
+.extern _ZN7MapBase18func_ov00_0207ddf8Eb
+.extern _ZN7MapBase18func_ov00_0207dea0Eb
+.extern _ZN7MapBase18func_ov00_02080140EP4Exit
+.extern _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei
+.extern _ZN7MapBase8vfunc_48Ev
+.extern _ZN7MapBase8vfunc_58Ev
+.extern _ZN7MapBase8vfunc_64Ev
+.extern _ZN7MapBase8vfunc_94Ev
+.extern _ZN7MapBase8vfunc_98Ev
+.extern _ZN7MapBase8vfunc_a4Ev
+.extern _ZN7MapBase8vfunc_a8Ev
+.extern _ZN7MapBase8vfunc_acEv
+.extern _ZN7MapBase8vfunc_bcEv
+.extern _ZN7MapBase8vfunc_c0Ev
+.extern _ZN7MapBase9SetBoundsEii
+.extern _ZN7MapBaseD1Ev
+.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
+.extern _ZN9ActorTypeD1Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager10GetUnk_098Ej
@@ -149,7 +211,6 @@
.extern data_027e0e2c
.extern data_027e0e58
.extern data_027e0e5c
-.extern data_027e0e60
.extern data_027e0f64
.extern data_027e0f68
.extern data_027e0f6c
@@ -162,7 +223,6 @@
.extern data_027e0fac
.extern data_027e0fb0
.extern data_027e0fb8
-.extern data_027e0fbc
.extern data_027e0fc4
.extern data_027e0fe0
.extern data_027e0fe4
@@ -377,8 +437,6 @@
.extern func_02036da8
.extern func_020370d0
.extern func_0203d7e0
-.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
-.extern _ZN9ActorTypeD1Ev
.extern func_0203eba8
.extern func_0203ebc8
.extern func_02042f68
@@ -419,68 +477,10 @@
.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 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 func_ov00_020872e8
.extern func_ov00_02087584
.extern func_ov00_020875f8
@@ -723,7 +723,6 @@
.extern func_ov00_020d70a4
.extern func_ov00_020d716c
.extern func_ov00_020d71a0
-.extern func_ov00_020d73bc
.extern func_ov00_020d7424
.extern func_ov00_020d74bc
.extern func_ov00_020d77e4
@@ -892,7 +891,6 @@
.extern func_ov09_0211c6b4
.extern func_ov09_0211c724
.extern func_ov09_0211c808
-.extern func_ov09_0211ca20
.extern func_ov09_0211cac0
.extern func_ov09_0211cc74
.extern func_ov09_0211cc98
@@ -908,6 +906,8 @@
.extern func_ov09_0211d668
.extern func_ov09_0211d794
.extern gAdventureFlags
+.extern gHealthManager
.extern gItemManager
+.extern gMapManager
.extern strcat
.extern strncpy
diff --git a/asm/ov15.s b/asm/ov15.s
index 4a4e1dc8..305cfb66 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
@@ -30916,7 +30916,7 @@ _021398f0:
str r0, [r4, #0xa4]
str r0, [r4, #0xa8]
str r0, [r4, #0xac]
- ldr ip, _02139a70 ; =data_027e0fbc
+ ldr ip, _02139a70 ; =gHealthManager
add r3, r4, #0x300
ldr r2, [ip]
add r1, r4, #0x60
@@ -30958,7 +30958,7 @@ _02139a60: .word func_ov15_02139a80
_02139a64: .word func_ov15_02139a94
_02139a68: .word func_020350ac
_02139a6c: .word func_02035064
-_02139a70: .word data_027e0fbc
+_02139a70: .word gHealthManager
_02139a74: .word data_027e10a4
_02139a78: .word data_027e0d38
_02139a7c: .word data_027e0ce0
@@ -30994,7 +30994,7 @@ func_ov15_02139ab4: ; 0x02139ab4
ldr r1, _02139cb8 ; =data_ov15_0218aaac
mov r4, r0
str r1, [r4]
- ldr r1, _02139cbc ; =data_027e0fbc
+ ldr r1, _02139cbc ; =gHealthManager
ldrsh r3, [r4, #0xa]
ldr r2, [r1]
add r0, r4, #0x300
@@ -31123,7 +31123,7 @@ _02139af4:
.align 2, 0
arm_func_end func_ov15_02139ab4
_02139cb8: .word data_ov15_0218aaac
-_02139cbc: .word data_027e0fbc
+_02139cbc: .word gHealthManager
_02139cc0: .word data_027e10a4
_02139cc4: .word func_020350ac
_02139cc8: .word func_ov15_02139a80
@@ -31136,7 +31136,7 @@ func_ov15_02139cd0: ; 0x02139cd0
ldr r1, _02139edc ; =data_ov15_0218aaac
mov r4, r0
str r1, [r4]
- ldr r1, _02139ee0 ; =data_027e0fbc
+ ldr r1, _02139ee0 ; =gHealthManager
ldrsh r3, [r4, #0xa]
ldr r2, [r1]
add r0, r4, #0x300
@@ -31267,7 +31267,7 @@ _02139d10:
.align 2, 0
arm_func_end func_ov15_02139cd0
_02139edc: .word data_ov15_0218aaac
-_02139ee0: .word data_027e0fbc
+_02139ee0: .word gHealthManager
_02139ee4: .word data_027e10a4
_02139ee8: .word func_020350ac
_02139eec: .word func_ov15_02139a80
@@ -31827,13 +31827,13 @@ func_ov15_0213a5e8: ; 0x0213a5e8
.global func_ov15_0213a604
arm_func_start func_ov15_0213a604
func_ov15_0213a604: ; 0x0213a604
- ldr r0, _0213a614 ; =data_027e0fbc
+ ldr r0, _0213a614 ; =gHealthManager
ldr r0, [r0]
ldrsh r0, [r0, #4]
bx lr
.align 2, 0
arm_func_end func_ov15_0213a604
-_0213a614: .word data_027e0fbc
+_0213a614: .word gHealthManager
.global func_ov15_0213a618
arm_func_start func_ov15_0213a618
@@ -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
@@ -42710,7 +42710,7 @@ _0214389c:
ldr r0, _02143a38 ; =data_ov00_020eec68
mov r1, #0xda
str r2, [r7, #0x378]
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
_021438f4:
ldr r0, [r7, #0x20]
bl func_ov15_02149acc
@@ -43237,7 +43237,7 @@ _02144020:
bl func_ov00_020d716c
ldr r0, _0214415c ; =data_ov00_020eec68
mov r1, #0xdb
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
add r0, sp, #0
bl func_ov00_0209a4f4
mov r2, #0
@@ -43346,7 +43346,7 @@ _021441a8:
bl func_ov00_020d716c
ldr r0, _021442d8 ; =data_ov00_020eec68
mov r1, #0xdb
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
add r0, sp, #0
bl func_ov00_0209a4f4
mov r2, #0
@@ -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
@@ -44522,7 +44522,7 @@ _021452d4:
bl func_ov15_0214651c
mov r1, r0
mov r0, r4
- blx func_ov09_0211ca20
+ blx GiveShipPart
b _02145334
_02145300:
cmp r5, #0x30
@@ -44538,12 +44538,12 @@ _0214531c:
ldr r0, _0214581c ; =gItemManager
mov r1, r5
ldr r0, [r0]
- blx _ZN11ItemManager8GiveItemEjjj
+ blx _ZN11ItemManager8GiveItemEi
_02145334:
ldr r0, _0214581c ; =gItemManager
mov r1, r5
ldr r0, [r0]
- blx _ZN11ItemManager15LoadFanfareItemEj
+ blx _ZN11ItemManager15LoadFanfareItemEi
mov r0, r6
mov r1, #1
bl func_ov15_0216e168
@@ -44561,7 +44561,7 @@ _02145370:
mov r4, r0
bl func_ov03_020fc10c
mov r0, r4
- blx _ZN11ItemManager18func_ov00_020ae648Ejjj
+ blx _ZN11ItemManager18PlayItemFanfareSfxEi
mov r0, #0x10
strb r0, [r9, #0x34d]
b _02145420
@@ -44602,7 +44602,7 @@ _021453f8:
ldr r0, _0214581c ; =gItemManager
mov r1, #0x26
ldr r0, [r0]
- blx _ZN11ItemManager8GiveItemEjjj
+ blx _ZN11ItemManager8GiveItemEi
_0214541c:
bl func_ov15_021465e8
_02145420:
@@ -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
@@ -54185,7 +54185,7 @@ func_ov15_0214d358: ; 0x0214d358
mov r1, r0
mov r0, r5
mov r2, #0
- bl _ZN11ItemManager10GiveRupeesEjj
+ bl _ZN11ItemManager10GiveRupeesEsb
ldr r1, [r4, #0x158]
ldr r0, _0214d3dc ; =data_ov00_020eec9c
add r1, r1, #0xfa
@@ -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
@@ -61729,7 +61729,7 @@ _02153b28:
bl func_ov15_02153938
ldr r0, [r4, #0x41c]
add r0, r0, #0x46
- blx _ZN11ItemManager18func_ov00_020ae648Ejjj
+ blx _ZN11ItemManager18PlayItemFanfareSfxEi
mov r0, #5
strb r0, [r5, #0x436]
b _02153d74
@@ -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
@@ -62211,7 +62211,7 @@ _02154254:
bl func_ov15_02153938
ldr r0, [r5, #0x41c]
add r0, r0, #0x46
- blx _ZN11ItemManager18func_ov00_020ae648Ejjj
+ blx _ZN11ItemManager18PlayItemFanfareSfxEi
mov r0, #5
strb r0, [r4, #0x436]
b _02154304
@@ -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
@@ -62311,7 +62311,7 @@ _02154374:
bl func_ov00_020d716c
ldr r0, _02154620 ; =data_ov00_020eec68
mov r1, #0xde
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
mov r0, #1
strb r0, [r5, #0x436]
mov r0, #0
@@ -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
@@ -88224,7 +88224,7 @@ _0216a8a8:
bl func_ov15_0214651c
mov r1, r0
mov r0, r6
- blx func_ov09_0211ca20
+ blx GiveShipPart
b _0216a8f8
_0216a8cc:
cmp r4, #0x30
@@ -88238,7 +88238,7 @@ _0216a8e8:
ldr r0, _0216a95c ; =gItemManager
mov r1, r4
ldr r0, [r0]
- blx _ZN11ItemManager8GiveItemEjjj
+ blx _ZN11ItemManager8GiveItemEi
_0216a8f8:
bl func_ov15_02146578
mov r1, r0
@@ -88262,7 +88262,7 @@ _0216a93c:
ldr r0, _0216a95c ; =gItemManager
mov r1, r4
ldr r0, [r0]
- blx _ZN11ItemManager15LoadFanfareItemEj
+ blx _ZN11ItemManager15LoadFanfareItemEi
mov r0, r5
bl func_ov15_0216a968
add sp, sp, #4
@@ -88292,7 +88292,7 @@ _0216a994:
bl func_ov03_020fc10c
ldr r0, _0216aa24 ; =data_ov00_020eec68
mov r1, #0x28
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
mov r1, #0
sub r0, r1, #0x1000
str r0, [sp, #0x18]
@@ -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
@@ -99853,7 +99853,7 @@ func_ov15_02174794: ; 0x02174794
mov r1, r0
mov r0, r5
mov r2, #0
- bl _ZN11ItemManager10GiveRupeesEjj
+ bl _ZN11ItemManager10GiveRupeesEsb
ldr r1, [r4, #0x2c]
ldr r0, _02174878 ; =data_ov00_020eec9c
add r1, r1, #0xfa
@@ -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..694a2f3f 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
@@ -457,7 +457,7 @@
.extern func_ov00_020d1980
.extern func_ov00_020d70a4
.extern func_ov00_020d716c
-.extern func_ov00_020d73bc
+.extern PlaySoundEffect
.extern func_ov00_020d77e4
.extern func_ov00_020d7a84
.extern func_ov00_020d7b20
diff --git a/asm/ov23.s b/asm/ov23.s
index 3a64ecfd..4e6986ee 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
@@ -1892,14 +1892,14 @@ _0216ee88:
_0216eea4:
ldr r0, _0216eeec ; =data_ov00_020eec68
mov r1, #0xc2
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
add sp, sp, #8
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
_0216eebc:
ldr r0, _0216eeec ; =data_ov00_020eec68
mov r1, #0xc4
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
add sp, sp, #8
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
@@ -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..4d0b53c4 100644
--- a/asm/ov26.inc
+++ b/asm/ov26.inc
@@ -2,6 +2,23 @@
.extern Approach_thunk
.extern Divide
.extern FastDivide
+.extern PlaySoundEffect
+.extern _ZN10MapManager16MapData_vfunc_54Ev
+.extern _ZN10MapManager16MapData_vfunc_68Ev
+.extern _ZN10MapManager16MapData_vfunc_b4Ev
+.extern _ZN10MapManager18func_ov00_020823d4Ei
+.extern _ZN10MapManager18func_ov00_020823e4Ei
+.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 _ZN10MapManager18func_ov00_02084164Ev
+.extern _ZN10MapManager18func_ov00_02084740Ev
+.extern _ZN10MapManager18func_ov00_02084a50Ev
+.extern _ZN10MapManager18func_ov00_02084cb0Ei
+.extern _ZN10MapManager18func_ov00_02084cc8Ei
.extern _ZN10PlayerBase10SetVisibleEb
.extern _ZN11ItemManager7AddItemEi
.extern _ZN12ActorManager13FindActorByIdEj
@@ -69,6 +86,8 @@
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
+.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
+.extern _ZN9ActorTypeD1Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager18IsTreasureSalvagedEj
@@ -94,7 +113,6 @@
.extern data_027e0d3c
.extern data_027e0d78
.extern data_027e0e58
-.extern data_027e0e60
.extern data_027e0f64
.extern data_027e0f68
.extern data_027e0f6c
@@ -104,7 +122,6 @@
.extern data_027e0f94
.extern data_027e0fa0
.extern data_027e0fac
-.extern data_027e0fbc
.extern data_027e0fc8
.extern data_027e0fd4
.extern data_027e0fe0
@@ -196,8 +213,6 @@
.extern func_020352d8
.extern func_02035370
.extern func_020370d0
-.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
-.extern _ZN9ActorTypeD1Ev
.extern func_0203eba8
.extern func_0203ebc8
.extern func_0203fe60
@@ -218,22 +233,6 @@
.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 func_ov00_020875f8
.extern func_ov00_02087d34
.extern func_ov00_02087e8c
@@ -406,7 +405,6 @@
.extern func_ov00_020d70a4
.extern func_ov00_020d716c
.extern func_ov00_020d7180
-.extern func_ov00_020d73bc
.extern func_ov00_020d73f0
.extern func_ov00_020d77e4
.extern func_ov00_020d7c8c
@@ -536,6 +534,8 @@
.extern func_ov30_02183f84
.extern func_ov30_02183fd4
.extern gAdventureFlags
+.extern gHealthManager
.extern gItemManager
+.extern gMapManager
.extern strcmp
.extern strncpy
diff --git a/asm/ov26.s b/asm/ov26.s
index 49368125..49805e0d 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
@@ -1707,7 +1707,7 @@ func_ov26_0216e8b8: ; 0x0216e8b8
ldrb r0, [r0]
cmp r0, #0
beq _0216e98e
- ldr r0, _0216e9c0 ; =data_027e0fbc
+ ldr r0, _0216e9c0 ; =gHealthManager
ldr r0, [r0]
ldrh r1, [r0, #0xa]
mov r0, #2
@@ -1762,7 +1762,7 @@ _0216e9b0:
thumb_func_end func_ov26_0216e8b8
_0216e9b8: .word gItemManager
_0216e9bc: .word data_027e0d38
-_0216e9c0: .word data_027e0fbc
+_0216e9c0: .word gHealthManager
.global func_ov26_0216e9c4
thumb_func_start func_ov26_0216e9c4
@@ -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
@@ -2101,7 +2101,7 @@ _0216edf8:
mov r1, #0x3c
add r0, r0, #0x3b
bl func_01ff9b4c
- ldr r1, _0216ee38 ; =data_027e0fbc
+ ldr r1, _0216ee38 ; =gHealthManager
mov r2, #1
ldr r3, [r1]
mov r0, r0, lsl #0x10
@@ -2115,7 +2115,7 @@ _0216edf8:
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov26_0216edb4
-_0216ee38: .word data_027e0fbc
+_0216ee38: .word gHealthManager
.global func_ov26_0216ee3c
arm_func_start func_ov26_0216ee3c
@@ -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
@@ -8276,7 +8276,7 @@ _02173dac:
str r0, [r4, #0x78]
ldr r0, _02173de8 ; =data_ov00_020eec68
mov r1, #0x4c
- blx func_ov00_020d73bc
+ blx PlaySoundEffect
pop {r3, r4, r5, pc}
nop
thumb_func_end func_ov26_02173cec
@@ -8769,7 +8769,7 @@ _02174196:
ldrb r1, [r1]
cmp r1, #0
beq _02174204
- ldr r1, _02174250 ; =data_027e0fbc
+ ldr r1, _02174250 ; =gHealthManager
ldr r1, [r1]
ldrh r2, [r1, #0xa]
mov r1, #2
@@ -8867,7 +8867,7 @@ _0217424e:
pop {r3, pc}
.align 2, 0
thumb_func_end func_ov26_02174170
-_02174250: .word data_027e0fbc
+_02174250: .word gHealthManager
_02174254: .word gItemManager
.global func_ov26_02174258
@@ -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..861283c8 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
@@ -323,7 +322,7 @@
.extern func_ov09_0211c45c
.extern func_ov09_0211c724
.extern func_ov09_0211c808
-.extern func_ov09_0211ca20
+.extern GiveShipPart
.extern func_ov09_0211cac0
.extern func_ov14_02120ac4
.extern func_ov14_021231d4
@@ -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..efb5b4a4 100644
--- a/asm/ov28.s
+++ b/asm/ov28.s
@@ -2701,7 +2701,7 @@ _0216faf8:
blx func_ov09_0211c724
ldr r0, [sp, #4]
ldr r1, [sp]
- blx func_ov09_0211ca20
+ blx GiveShipPart
_0216fb20:
mov r0, r4
add sp, sp, #0xc
@@ -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..36a8a66f 100644
--- a/asm/ov29.inc
+++ b/asm/ov29.inc
@@ -1,7 +1,16 @@
#pragma once
.extern Approach_thunk
.extern Divide
-.extern _ZN11ItemManager18func_ov00_020ae4dcEj
+.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_020ae4dcEi
.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
.extern _ZN12ActorManager18func_ov00_020c3b2cEPi
@@ -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..81c19ba6 100644
--- a/asm/ov29.s
+++ b/asm/ov29.s
@@ -755,7 +755,7 @@ _0216df70:
ldr r0, _0216e008 ; =gItemManager
mvn r1, #0
ldr r0, [r0]
- bl _ZN11ItemManager18func_ov00_020ae4dcEj
+ bl _ZN11ItemManager18func_ov00_020ae4dcEi
add r0, r6, r4
add r1, r7, r5
ldr r3, _0216e000 ; =data_027e0fc8
@@ -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..0a95d7f1 100644
--- a/asm/ov31.inc
+++ b/asm/ov31.inc
@@ -1,7 +1,8 @@
#pragma once
.extern Divide
+.extern GiveShipPart
.extern LoadTreasureItemFanfare
-.extern _ZN11ItemManager10GiveRupeesEjj
+.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager8GiveAmmoEit
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN14AdventureFlags3GetEj
@@ -72,7 +73,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 +154,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
@@ -183,7 +184,6 @@
.extern func_ov09_0211c1a8
.extern func_ov09_0211c980
.extern func_ov09_0211c9a0
-.extern func_ov09_0211ca20
.extern func_ov09_0211cac0
.extern func_ov09_0211cca4
.extern func_ov09_0211ccb4
diff --git a/asm/ov31.s b/asm/ov31.s
index d3af2dc4..e6d08795 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
@@ -1049,7 +1049,7 @@ _0217cae4:
ldr r0, [r0]
rsb r1, r1, #0
mov r2, #1
- bl _ZN11ItemManager10GiveRupeesEjj
+ bl _ZN11ItemManager10GiveRupeesEsb
bl func_ov31_0217cf1c
ldr r0, [r0, #0x470]
cmp r0, #0
@@ -5443,7 +5443,7 @@ func_ov31_0217ff08: ; 0x0217ff08
bl func_ov31_02180260
mov r1, r0
mov r0, r4
- blx func_ov09_0211ca20
+ blx GiveShipPart
bl func_ov31_0217bdb8
bl func_ov31_0217bd80
cmp r0, #0
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..48d15b00 100644
--- a/asm/ov33.inc
+++ b/asm/ov33.inc
@@ -68,14 +68,13 @@
.extern data_027e0c68
.extern data_027e0e28
.extern data_027e0e58
-.extern data_027e0e60
+.extern gMapManager
.extern data_027e0f64
.extern data_027e0f68
.extern data_027e0f6c
.extern data_027e0f94
.extern data_027e0fa0
.extern data_027e0fac
-.extern data_027e0fbc
.extern data_027e0fc8
.extern data_027e0fe0
.extern data_027e0fe4
@@ -115,8 +114,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
@@ -249,4 +248,5 @@
.extern func_ov14_02145f0c
.extern func_ov18_02160a54
.extern func_ov18_02160a64
+.extern gHealthManager
.extern strncpy
diff --git a/asm/ov33.s b/asm/ov33.s
index c866e95e..23556bb9 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
@@ -1755,7 +1755,7 @@ _0217d3b0:
mov r0, #1
ldmia sp!, {r4, pc}
_0217d3d0:
- ldr r0, _0217d3f4 ; =data_027e0fbc
+ ldr r0, _0217d3f4 ; =gHealthManager
mov r2, #5
ldr r1, [r0]
mov r0, #1
@@ -1767,7 +1767,7 @@ _0217d3e8:
.align 2, 0
arm_func_end func_ov33_0217d394
_0217d3f0: .word data_027e0e28
-_0217d3f4: .word data_027e0fbc
+_0217d3f4: .word gHealthManager
.global func_ov33_0217d3f8
arm_func_start func_ov33_0217d3f8
@@ -1780,7 +1780,7 @@ func_ov33_0217d3f8: ; 0x0217d3f8
beq _0217d444
cmp r1, #0x1f
bne _0217d484
- ldr r1, _0217d48c ; =data_027e0fbc
+ ldr r1, _0217d48c ; =gHealthManager
ldr r1, [r1]
ldrsh r1, [r1, #8]
mov r1, r1, lsl #0x18
@@ -1793,7 +1793,7 @@ _0217d43c:
mov r0, r4
ldmia sp!, {r4, pc}
_0217d444:
- ldr r0, _0217d48c ; =data_027e0fbc
+ ldr r0, _0217d48c ; =gHealthManager
ldr r0, [r0]
ldrsh r0, [r0, #4]
sub r1, r0, #0x10
@@ -1815,7 +1815,7 @@ _0217d484:
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov33_0217d3f8
-_0217d48c: .word data_027e0fbc
+_0217d48c: .word gHealthManager
.global func_ov33_0217d490
arm_func_start func_ov33_0217d490
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..6b3fc53a 100644
--- a/asm/ov38.inc
+++ b/asm/ov38.inc
@@ -1,6 +1,9 @@
#pragma once
.extern Approach_thunk
.extern Divide
+.extern PlaySoundEffect
+.extern _ZN10MapManager18func_ov00_02084b38Eiii
+.extern _ZN10MapManager18func_ov00_02084be0Eii
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN14AdventureFlags18func_Ov00_02097810Ei
@@ -60,6 +63,8 @@
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
+.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
+.extern _ZN9ActorTypeD1Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern __register_global_object
@@ -75,7 +80,6 @@
.extern data_027e0d0c
.extern data_027e0e58
.extern data_027e0e5c
-.extern data_027e0e60
.extern data_027e0f64
.extern data_027e0f6c
.extern data_027e0f94
@@ -152,8 +156,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 +164,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
@@ -218,7 +218,6 @@
.extern func_ov00_020d5f98
.extern func_ov00_020d70a4
.extern func_ov00_020d716c
-.extern func_ov00_020d73bc
.extern func_ov00_020d73f0
.extern func_ov00_020d7c8c
.extern func_ov00_020d7d18
@@ -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..966dfbbc 100644
--- a/asm/ov38.s
+++ b/asm/ov38.s
@@ -208,7 +208,7 @@ func_ov38_0217bf48: ; 0x0217bf48
bl func_ov00_020d8388
ldr r0, _0217c048 ; =data_ov00_020eec68
mov r1, #0xcf
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
ldr r0, _0217c04c ; =data_ov38_021891e0
ldr r0, [r0, #0x58]
bl func_ov38_02184a18
@@ -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..88466feb 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
@@ -230,7 +230,7 @@
.extern func_ov00_020d18f4
.extern func_ov00_020d1980
.extern func_ov00_020d716c
-.extern func_ov00_020d73bc
+.extern PlaySoundEffect
.extern func_ov00_020d73f0
.extern func_ov00_020d77e4
.extern func_ov00_020d7ad4
diff --git a/asm/ov39.s b/asm/ov39.s
index 10f07dd1..362cbf5b 100644
--- a/asm/ov39.s
+++ b/asm/ov39.s
@@ -112,7 +112,7 @@ _0217bed4:
bl func_ov00_0207c5d4
ldr r0, _0217bf2c ; =data_ov00_020eec68
mov r1, #0xd2
- bl func_ov00_020d73bc
+ bl PlaySoundEffect
ldr r1, [r4, #8]
ldr r0, [r1, #0x158]
bic r0, r0, #0x4000000
@@ -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..6a455933 100644
--- a/asm/ov40.inc
+++ b/asm/ov40.inc
@@ -2,7 +2,7 @@
.extern Divide
.extern FastDivide
.extern _ZN11ItemManager7AddItemEi
-.extern _ZN11ItemManager8GiveItemEjjj
+.extern _ZN11ItemManager8GiveItemEi
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN14AdventureFlags15Get_FlagsUnk_18EiP9FlagsUnk2
@@ -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..0843b9f9 100644
--- a/asm/ov40.s
+++ b/asm/ov40.s
@@ -4428,7 +4428,7 @@ _0217f5a4:
mov r1, r1, lsl #0x8
ldr r0, [r0]
mov r1, r1, lsr #0x10
- blx _ZN11ItemManager8GiveItemEjjj
+ blx _ZN11ItemManager8GiveItemEi
add sp, sp, #8
ldmia sp!, {r3, pc}
_0217f5c4:
@@ -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..c91bb449 100644
--- a/asm/ov42.inc
+++ b/asm/ov42.inc
@@ -1,5 +1,6 @@
#pragma once
-.extern _ZN11ItemManager13ForceEquipItemEi
+.extern _ZN10MapManager18func_ov00_02083918EiPi
+.extern _ZN11ItemManager14ForceEquipItemEi
.extern _ZN11ItemManager20ClearForcedEquipItemEv
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN14AdventureFlags3GetEj
@@ -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..4b73f54e 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
@@ -326,7 +326,7 @@ _02189918:
ldr r0, _02189afc ; =gItemManager
mov r1, #5
ldr r0, [r0]
- blx _ZN11ItemManager13ForceEquipItemEi
+ blx _ZN11ItemManager14ForceEquipItemEi
ldr r1, _02189b00 ; =data_027e0fc8
mov r0, r7
ldr r4, [r1]
@@ -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/ov45.inc b/asm/ov45.inc
index 723a7f5d..c49e3b9e 100644
--- a/asm/ov45.inc
+++ b/asm/ov45.inc
@@ -1,7 +1,7 @@
#pragma once
.extern _ZN11ItemManager16SetShipPartCountEjjc
.extern _ZN11ItemManager16SetTreasureCountEjc
-.extern _ZN11ItemManager19SetTreasureSalvagedEjj
+.extern _ZN11ItemManager21AddShipPartPriceShownEjj
.extern _ZN11ItemManager21AddTreasurePriceShownEj
.extern _ZN14AdventureFlags3GetEj
.extern _ZN5Actor10SetUnk_11bEv
@@ -46,7 +46,7 @@
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager16GetShipPartCountEjj
.extern _ZNK11ItemManager16GetTreasureCountEj
-.extern _ZNK11ItemManager18IsTreasureSalvagedEjj
+.extern _ZNK11ItemManager21HasShipPartPriceShownEjj
.extern _ZNK11ItemManager21HasTreasurePriceShownEj
.extern __register_global_object
.extern data_020691a0
@@ -239,7 +239,7 @@
.extern func_ov09_0211c9a0
.extern func_ov09_0211c9a8
.extern func_ov09_0211c9e8
-.extern func_ov09_0211ca20
+.extern GiveShipPart
.extern func_ov09_0211cac0
.extern func_ov09_0211cb3c
.extern func_ov09_0211cb5c
diff --git a/asm/ov45.s b/asm/ov45.s
index 6ec20f6f..a1c29d5c 100644
--- a/asm/ov45.s
+++ b/asm/ov45.s
@@ -1976,7 +1976,7 @@ func_ov45_0218ad80: ; 0x0218ad80
add r0, ip, r0, asr #1
sub r1, lr, r1
mov r4, #0x2b
- blx func_ov09_0211ca20
+ blx GiveShipPart
b _0218ae0c
_0218ae00:
sub r0, lr, #0x48
@@ -5128,7 +5128,7 @@ func_ov45_0218d4d4: ; 0x0218d4d4
mov r1, r0
ldr r2, [r5, #0x1c]
mov r0, r4
- blx _ZN11ItemManager19SetTreasureSalvagedEjj
+ blx _ZN11ItemManager21AddShipPartPriceShownEjj
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov45_0218d4d4
@@ -6012,7 +6012,7 @@ _0218de84:
mov r1, r0
ldr r2, [r5, #0x1c]
mov r0, r6
- blx _ZNK11ItemManager18IsTreasureSalvagedEjj
+ blx _ZNK11ItemManager21HasShipPartPriceShownEjj
cmp r0, #0
beq _0218df54
add ip, sp, #0x28
diff --git a/asm/ov46.inc b/asm/ov46.inc
index 27a26d9c..094317f1 100644
--- a/asm/ov46.inc
+++ b/asm/ov46.inc
@@ -1,6 +1,9 @@
#pragma once
.extern Approach_thunk
-.extern _ZN11ItemManager10GiveRupeesEjj
+.extern _ZN10MapManager16MapData_vfunc_78Ev
+.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
+.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i
+.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager16SetTreasureCountEjc
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
.extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p
@@ -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..58abc6f7 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
@@ -3035,7 +3035,7 @@ _02192754:
strb r2, [r5, #0x48b]
ldr r0, [r0]
mov r2, #1
- bl _ZN11ItemManager10GiveRupeesEjj
+ bl _ZN11ItemManager10GiveRupeesEsb
ldrb r2, [r5, #0x48a]
ldr r0, _021927d0 ; =gItemManager
sub r1, r4, #1
diff --git a/asm/ov47.inc b/asm/ov47.inc
index ddc643d0..af2f158f 100644
--- a/asm/ov47.inc
+++ b/asm/ov47.inc
@@ -1,12 +1,71 @@
#pragma once
.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder
+.extern _ZN5Actor10SetUnk_11bEv
+.extern _ZN5Actor11SetVelocityEP5Vec3p
+.extern _ZN5Actor12ApplyGravityEv
+.extern _ZN5Actor12CollidesWithEPKS_
+.extern _ZN5Actor12GetOffsetPosEP5Vec3p
+.extern _ZN5Actor12KillInBoundsEv
+.extern _ZN5Actor12SetTransformEP9Transform
+.extern _ZN5Actor12XzDistanceToEP5Vec3p
+.extern _ZN5Actor15IsHitboxTouchedEb
+.extern _ZN5Actor15TrySetTransformEP9Transform
+.extern _ZN5Actor16CollidesWithLinkEv
+.extern _ZN5Actor16XzDistanceToLinkEv
+.extern _ZN5Actor18CollidesWithShieldEP8Cylinder
+.extern _ZN5Actor18func_Ov00_020c1bfcEi
+.extern _ZN5Actor18func_ov00_020c1c20Eiii
+.extern _ZN5Actor18func_ov00_020c1cf8Ev
+.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
+.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
+.extern _ZN5Actor18func_ov00_020c313cEj
+.extern _ZN5Actor18func_ov00_020c3200Ei
+.extern _ZN5Actor20IncreaseActiveFramesEv
+.extern _ZN5Actor4KillEv
+.extern _ZN5Actor6GetPosEv
+.extern _ZN5Actor8vfunc_08Ev
+.extern _ZN5Actor8vfunc_0cEv
+.extern _ZN5Actor8vfunc_10Ej
+.extern _ZN5Actor8vfunc_18Ej
+.extern _ZN5Actor8vfunc_1cEt
+.extern _ZN5Actor8vfunc_20Ei
+.extern _ZN5Actor8vfunc_24Ev
+.extern _ZN5Actor8vfunc_28Ev
+.extern _ZN5Actor8vfunc_2cEv
+.extern _ZN5Actor8vfunc_30Ev
+.extern _ZN5Actor8vfunc_38Ev
+.extern _ZN5Actor8vfunc_48Ei
+.extern _ZN5Actor8vfunc_4cEPi
+.extern _ZN5Actor8vfunc_54Ev
+.extern _ZN5Actor8vfunc_60Ev
+.extern _ZN5Actor8vfunc_64Ev
+.extern _ZN5Actor8vfunc_68Ev
+.extern _ZN5Actor8vfunc_6cEv
+.extern _ZN5Actor8vfunc_70Ev
+.extern _ZN5Actor8vfunc_74Ev
+.extern _ZN5Actor8vfunc_78Ev
+.extern _ZN5Actor8vfunc_7cEv
+.extern _ZN5Actor8vfunc_80Ev
+.extern _ZN5Actor8vfunc_84Ev
+.extern _ZN5Actor8vfunc_88Ev
+.extern _ZN5Actor8vfunc_8cEv
+.extern _ZN5Actor8vfunc_90Ev
+.extern _ZN5Actor8vfunc_94Ev
+.extern _ZN5Actor8vfunc_98Ev
+.extern _ZN5Actor8vfunc_9cEv
+.extern _ZN5Actor8vfunc_a8Ev
+.extern _ZN5Actor8vfunc_acEv
+.extern _ZN5Actor8vfunc_b0Ev
+.extern _ZN5Actor9GetHitboxEP8Cylinder
+.extern _ZN5ActorC2Ev
+.extern _ZN5ActorD2Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager19GetActiveFairyLevelEi
.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 +110,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
@@ -86,65 +145,6 @@
.extern func_ov00_020c070c
.extern func_ov00_020c0c08
.extern func_ov00_020c1500
-.extern _ZN5ActorC2Ev
-.extern _ZN5ActorD2Ev
-.extern _ZN5Actor8vfunc_08Ev
-.extern _ZN5Actor8vfunc_0cEv
-.extern _ZN5Actor8vfunc_10Ej
-.extern _ZN5Actor8vfunc_24Ev
-.extern _ZN5Actor8vfunc_28Ev
-.extern _ZN5Actor12GetOffsetPosEP5Vec3p
-.extern _ZN5Actor8vfunc_38Ev
-.extern _ZN5Actor8vfunc_2cEv
-.extern _ZN5Actor8vfunc_30Ev
-.extern _ZN5Actor8vfunc_18Ej
-.extern _ZN5Actor8vfunc_1cEt
-.extern _ZN5Actor8vfunc_20Ei
-.extern _ZN5Actor10SetUnk_11bEv
-.extern _ZN5Actor11SetVelocityEP5Vec3p
-.extern _ZN5Actor8vfunc_60Ev
-.extern _ZN5Actor8vfunc_64Ev
-.extern _ZN5Actor8vfunc_68Ev
-.extern _ZN5Actor8vfunc_6cEv
-.extern _ZN5Actor8vfunc_70Ev
-.extern _ZN5Actor8vfunc_74Ev
-.extern _ZN5Actor8vfunc_7cEv
-.extern _ZN5Actor8vfunc_78Ev
-.extern _ZN5Actor8vfunc_80Ev
-.extern _ZN5Actor8vfunc_84Ev
-.extern _ZN5Actor8vfunc_88Ev
-.extern _ZN5Actor8vfunc_8cEv
-.extern _ZN5Actor8vfunc_90Ev
-.extern _ZN5Actor8vfunc_94Ev
-.extern _ZN5Actor8vfunc_98Ev
-.extern _ZN5Actor8vfunc_9cEv
-.extern _ZN5Actor15TrySetTransformEP9Transform
-.extern _ZN5Actor12SetTransformEP9Transform
-.extern _ZN5Actor8vfunc_a8Ev
-.extern _ZN5Actor18func_Ov00_020c1bfcEi
-.extern _ZN5Actor18func_ov00_020c1c20Eiii
-.extern _ZN5Actor8vfunc_48Ei
-.extern _ZN5Actor8vfunc_4cEPi
-.extern _ZN5Actor18func_ov00_020c1cf8Ev
-.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
-.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
-.extern _ZN5Actor18CollidesWithShieldEP8Cylinder
-.extern _ZN5Actor12CollidesWithEPKS_
-.extern _ZN5Actor16CollidesWithLinkEv
-.extern _ZN5Actor12XzDistanceToEP5Vec3p
-.extern _ZN5Actor16XzDistanceToLinkEv
-.extern _ZN5Actor9GetHitboxEP8Cylinder
-.extern _ZN5Actor20IncreaseActiveFramesEv
-.extern _ZN5Actor15IsHitboxTouchedEb
-.extern _ZN5Actor12ApplyGravityEv
-.extern _ZN5Actor6GetPosEv
-.extern _ZN5Actor8vfunc_54Ev
-.extern _ZN5Actor18func_ov00_020c313cEj
-.extern _ZN5Actor4KillEv
-.extern _ZN5Actor12KillInBoundsEv
-.extern _ZN5Actor8vfunc_acEv
-.extern _ZN5Actor18func_ov00_020c3200Ei
-.extern _ZN5Actor8vfunc_b0Ev
.extern func_ov00_020c3348
.extern func_ov00_020c4048
.extern func_ov00_020c4588
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..f897a1c1 100644
--- a/asm/ov48.inc
+++ b/asm/ov48.inc
@@ -63,6 +63,66 @@
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
+.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList
+.extern _ZN12ActorManager8GetActorEP8ActorRef
+.extern _ZN5Actor10SetUnk_11bEv
+.extern _ZN5Actor11SetVelocityEP5Vec3p
+.extern _ZN5Actor12ApplyGravityEv
+.extern _ZN5Actor12CollidesWithEPKS_
+.extern _ZN5Actor12GetOffsetPosEP5Vec3p
+.extern _ZN5Actor12SetTransformEP9Transform
+.extern _ZN5Actor12XzDistanceToEP5Vec3p
+.extern _ZN5Actor14GetAngleToLinkEv
+.extern _ZN5Actor15IsHitboxTouchedEb
+.extern _ZN5Actor15TrySetTransformEP9Transform
+.extern _ZN5Actor16CollidesWithLinkEv
+.extern _ZN5Actor16XzDistanceToLinkEv
+.extern _ZN5Actor18CollidesWithShieldEP8Cylinder
+.extern _ZN5Actor18func_ov00_020c1cf8Ev
+.extern _ZN5Actor18func_ov00_020c1d58Ev
+.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii
+.extern _ZN5Actor18func_ov00_020c1fc8Ej
+.extern _ZN5Actor18func_ov00_020c243cEiPi
+.extern _ZN5Actor18func_ov00_020c313cEj
+.extern _ZN5Actor18func_ov00_020c3200Ei
+.extern _ZN5Actor20IncreaseActiveFramesEv
+.extern _ZN5Actor4KillEv
+.extern _ZN5Actor6GetPosEv
+.extern _ZN5Actor8vfunc_08Ev
+.extern _ZN5Actor8vfunc_0cEv
+.extern _ZN5Actor8vfunc_10Ej
+.extern _ZN5Actor8vfunc_18Ej
+.extern _ZN5Actor8vfunc_1cEt
+.extern _ZN5Actor8vfunc_20Ei
+.extern _ZN5Actor8vfunc_24Ev
+.extern _ZN5Actor8vfunc_28Ev
+.extern _ZN5Actor8vfunc_2cEv
+.extern _ZN5Actor8vfunc_30Ev
+.extern _ZN5Actor8vfunc_38Ev
+.extern _ZN5Actor8vfunc_4cEPi
+.extern _ZN5Actor8vfunc_54Ev
+.extern _ZN5Actor8vfunc_60Ev
+.extern _ZN5Actor8vfunc_64Ev
+.extern _ZN5Actor8vfunc_68Ev
+.extern _ZN5Actor8vfunc_6cEv
+.extern _ZN5Actor8vfunc_70Ev
+.extern _ZN5Actor8vfunc_74Ev
+.extern _ZN5Actor8vfunc_78Ev
+.extern _ZN5Actor8vfunc_7cEv
+.extern _ZN5Actor8vfunc_80Ev
+.extern _ZN5Actor8vfunc_84Ev
+.extern _ZN5Actor8vfunc_88Ev
+.extern _ZN5Actor8vfunc_8cEv
+.extern _ZN5Actor8vfunc_90Ev
+.extern _ZN5Actor8vfunc_94Ev
+.extern _ZN5Actor8vfunc_98Ev
+.extern _ZN5Actor8vfunc_9cEv
+.extern _ZN5Actor8vfunc_a8Ev
+.extern _ZN5Actor8vfunc_acEv
+.extern _ZN5Actor8vfunc_b0Ev
+.extern _ZN5Actor9GetHitboxEP8Cylinder
+.extern _ZN5ActorC2Ev
+.extern _ZN5ActorD2Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager19GetActiveFairyLevelEi
@@ -73,7 +133,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..7ff8c456 100644
--- a/asm/ov49.inc
+++ b/asm/ov49.inc
@@ -2,7 +2,7 @@
.extern Divide
.extern _ZN10ActorRupee18func_ov14_0213b5f4EjiP5Vec3pb
.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder
-.extern _ZN11ItemManager10GiveRupeesEjj
+.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager10RemoveItemEi
.extern _ZN11ItemManager12GetItemModelEj
.extern _ZN14AdventureFlags18func_Ov00_02097810Ei
@@ -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..cdf531cb 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
@@ -894,7 +894,7 @@ _02196068:
mov r0, r5
rsb r1, r1, #0
mov r2, #0
- bl _ZN11ItemManager10GiveRupeesEjj
+ bl _ZN11ItemManager10GiveRupeesEsb
ldrb r1, [r4, #0x5c9]
ldr r0, _021960f0 ; =gItemManager
add r1, r1, #1
@@ -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..cde44167 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,6 @@
.extern data_027e0194
.extern data_027e0764
.extern data_027e0e58
-.extern data_027e0e60
.extern data_027e0f64
.extern data_027e0f6c
.extern data_027e0f90
@@ -119,10 +122,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
@@ -191,3 +190,4 @@
.extern func_ov14_02148334
.extern func_ov14_02148364
.extern gAdventureFlags
+.extern gMapManager
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..c6a423aa 100644
--- a/asm/ov51.inc
+++ b/asm/ov51.inc
@@ -1,11 +1,67 @@
#pragma once
.extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi
+.extern _ZN12ActorManager8GetActorEP8ActorRef
+.extern _ZN5Actor10SetUnk_11bEv
+.extern _ZN5Actor11SetVelocityEP5Vec3p
+.extern _ZN5Actor12CollidesWithEPKS_
+.extern _ZN5Actor12GetOffsetPosEP5Vec3p
+.extern _ZN5Actor12SetTransformEP9Transform
+.extern _ZN5Actor15IsHitboxTouchedEb
+.extern _ZN5Actor15TrySetTransformEP9Transform
+.extern _ZN5Actor16CollidesWithLinkEv
+.extern _ZN5Actor16XzDistanceToLinkEv
+.extern _ZN5Actor18func_Ov00_020c1bfcEi
+.extern _ZN5Actor18func_ov00_020c1cf8Ev
+.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
+.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
+.extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii
+.extern _ZN5Actor18func_ov00_020c1fc8Ej
+.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_
+.extern _ZN5Actor18func_ov00_020c243cEiPi
+.extern _ZN5Actor18func_ov00_020c313cEj
+.extern _ZN5Actor18func_ov00_020c3200Ei
+.extern _ZN5Actor20IncreaseActiveFramesEv
+.extern _ZN5Actor4KillEv
+.extern _ZN5Actor6GetPosEv
+.extern _ZN5Actor8vfunc_0cEv
+.extern _ZN5Actor8vfunc_10Ej
+.extern _ZN5Actor8vfunc_18Ej
+.extern _ZN5Actor8vfunc_1cEt
+.extern _ZN5Actor8vfunc_24Ev
+.extern _ZN5Actor8vfunc_28Ev
+.extern _ZN5Actor8vfunc_2cEv
+.extern _ZN5Actor8vfunc_30Ev
+.extern _ZN5Actor8vfunc_38Ev
+.extern _ZN5Actor8vfunc_48Ei
+.extern _ZN5Actor8vfunc_4cEPi
+.extern _ZN5Actor8vfunc_54Ev
+.extern _ZN5Actor8vfunc_60Ev
+.extern _ZN5Actor8vfunc_64Ev
+.extern _ZN5Actor8vfunc_68Ev
+.extern _ZN5Actor8vfunc_6cEv
+.extern _ZN5Actor8vfunc_70Ev
+.extern _ZN5Actor8vfunc_74Ev
+.extern _ZN5Actor8vfunc_78Ev
+.extern _ZN5Actor8vfunc_7cEv
+.extern _ZN5Actor8vfunc_80Ev
+.extern _ZN5Actor8vfunc_84Ev
+.extern _ZN5Actor8vfunc_88Ev
+.extern _ZN5Actor8vfunc_8cEv
+.extern _ZN5Actor8vfunc_90Ev
+.extern _ZN5Actor8vfunc_94Ev
+.extern _ZN5Actor8vfunc_98Ev
+.extern _ZN5Actor8vfunc_9cEv
+.extern _ZN5Actor8vfunc_a8Ev
+.extern _ZN5Actor8vfunc_acEv
+.extern _ZN5Actor8vfunc_b0Ev
+.extern _ZN5ActorC2Ev
+.extern _ZN5ActorD2Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.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 +108,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
@@ -73,63 +129,7 @@
.extern func_ov00_020c0cc8
.extern func_ov00_020c0e04
.extern func_ov00_020c1500
-.extern _ZN5ActorC2Ev
-.extern _ZN5ActorD2Ev
-.extern _ZN5Actor8vfunc_0cEv
-.extern _ZN5Actor8vfunc_10Ej
-.extern _ZN5Actor8vfunc_24Ev
-.extern _ZN5Actor8vfunc_28Ev
-.extern _ZN5Actor12GetOffsetPosEP5Vec3p
-.extern _ZN5Actor8vfunc_38Ev
-.extern _ZN5Actor8vfunc_2cEv
-.extern _ZN5Actor8vfunc_30Ev
-.extern _ZN5Actor8vfunc_18Ej
-.extern _ZN5Actor8vfunc_1cEt
-.extern _ZN5Actor10SetUnk_11bEv
-.extern _ZN5Actor11SetVelocityEP5Vec3p
-.extern _ZN5Actor8vfunc_60Ev
-.extern _ZN5Actor8vfunc_64Ev
-.extern _ZN5Actor8vfunc_68Ev
-.extern _ZN5Actor8vfunc_6cEv
-.extern _ZN5Actor8vfunc_70Ev
-.extern _ZN5Actor8vfunc_74Ev
-.extern _ZN5Actor8vfunc_7cEv
-.extern _ZN5Actor8vfunc_78Ev
-.extern _ZN5Actor8vfunc_80Ev
-.extern _ZN5Actor8vfunc_84Ev
-.extern _ZN5Actor8vfunc_88Ev
-.extern _ZN5Actor8vfunc_8cEv
-.extern _ZN5Actor8vfunc_90Ev
-.extern _ZN5Actor8vfunc_94Ev
-.extern _ZN5Actor8vfunc_98Ev
-.extern _ZN5Actor8vfunc_9cEv
-.extern _ZN5Actor15TrySetTransformEP9Transform
-.extern _ZN5Actor12SetTransformEP9Transform
-.extern _ZN5Actor8vfunc_a8Ev
-.extern _ZN5Actor18func_Ov00_020c1bfcEi
-.extern _ZN5Actor8vfunc_48Ei
-.extern _ZN5Actor8vfunc_4cEPi
-.extern _ZN5Actor18func_ov00_020c1cf8Ev
-.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
-.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
-.extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii
-.extern _ZN5Actor18func_ov00_020c1fc8Ej
-.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_
-.extern _ZN5Actor18func_ov00_020c243cEiPi
-.extern _ZN5Actor12CollidesWithEPKS_
-.extern _ZN5Actor16CollidesWithLinkEv
-.extern _ZN5Actor16XzDistanceToLinkEv
-.extern _ZN5Actor20IncreaseActiveFramesEv
-.extern _ZN5Actor15IsHitboxTouchedEb
-.extern _ZN5Actor6GetPosEv
-.extern _ZN5Actor8vfunc_54Ev
-.extern _ZN5Actor18func_ov00_020c313cEj
-.extern _ZN5Actor4KillEv
-.extern _ZN5Actor8vfunc_acEv
-.extern _ZN5Actor18func_ov00_020c3200Ei
-.extern _ZN5Actor8vfunc_b0Ev
.extern func_ov00_020c3348
-.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern func_ov00_020c4048
.extern func_ov00_020c4588
.extern func_ov00_020c57fc
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..98a301f7 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
@@ -168,7 +167,7 @@
.extern func_ov05_021082e4
.extern func_ov09_0211c724
.extern func_ov09_0211c808
-.extern func_ov09_0211ca20
+.extern GiveShipPart
.extern func_ov09_0211cac0
.extern func_ov14_021448f4
.extern func_ov14_02144a90
@@ -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..13915b53 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
@@ -1159,7 +1159,7 @@ _021963c4:
blx func_ov09_0211c724
ldr r0, [sp, #4]
ldr r1, [sp]
- blx func_ov09_0211ca20
+ blx GiveShipPart
_021963ec:
mov r0, r4
add sp, sp, #0xc
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..ddf48887 100644
--- a/asm/ov55.inc
+++ b/asm/ov55.inc
@@ -1,7 +1,7 @@
#pragma once
.extern _ZN11ItemManager12GetItemModelEj
.extern _ZN11ItemManager17EquipPreviousItemEv
-.extern _ZN11ItemManager9SetPotionEjj
+.extern _ZN11ItemManager9SetPotionEjh
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN13LinkStateBase12GetGrabActorEv
.extern _ZN13LinkStateBase12GetPlayerPosEv
@@ -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..0491b3f9 100644
--- a/asm/ov55.s
+++ b/asm/ov55.s
@@ -432,7 +432,7 @@ _02199244:
ldr r1, [r4, #0xc]
ldr r0, [r0]
mov r2, #0
- bl _ZN11ItemManager9SetPotionEjj
+ bl _ZN11ItemManager9SetPotionEjh
ldr r0, _0219926c ; =gItemManager
ldr r0, [r0]
bl _ZN11ItemManager17EquipPreviousItemEv
@@ -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..4ce7c74e 100644
--- a/asm/ov58.inc
+++ b/asm/ov58.inc
@@ -2,6 +2,7 @@
.extern Divide
.extern _ZN11ItemManager12GetEquipItemEi
.extern _ZN11ItemManager12GetItemModelEj
+.extern _ZN12ActorManager13FindActorByIdEj
.extern _ZN13LinkStateBase14GetPlayerAngleEv
.extern _ZN13LinkStateBase15ChangeLinkStateEi
.extern _ZN13LinkStateBase15GetGrabActorRefEv
@@ -20,7 +21,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 +71,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
@@ -107,7 +108,6 @@
.extern func_ov00_020c0e5c
.extern func_ov00_020c1500
.extern func_ov00_020c3348
-.extern _ZN12ActorManager13FindActorByIdEj
.extern func_ov00_020c4048
.extern func_ov00_020cf01c
.extern func_ov00_020d00c4
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/build_system.md b/docs/build_system.md
new file mode 100644
index 00000000..ee46340f
--- /dev/null
+++ b/docs/build_system.md
@@ -0,0 +1,268 @@
+# Build system
+This document describes the build system used for this decompilation project, for those interested to learn about how we build
+the ROM.
+- [Extracting assets](#extracting-assets)
+- [Assembling code](#assembling-code)
+- [Compiling code](#compiling-code)
+- [Postprocessing ELF files](#postprocessing-elf-files)
+- [Generating a linker command file](#generating-a-linker-command-file)
+- [Linking modules](#linking-modules)
+- [Compressing modules](#compressing-modules)
+- [Building the ROM](#building-the-rom)
+
+## Extracting assets
+We implemented a tool called [`extractrom`](/tools/rom/extract.c) that extracts assets from a base ROM that you
+provide yourself. It extracts the following data:
+- ARM7 program
+ - Code for the DS coprocessor CPU, aka ARM7
+ - The program is likely similar to other retail games, so it is not decompiled in this project
+- Banner
+ - Logo and text that is displayed on the DS home menu
+- Assets
+ - Models, textures, maps, etc.
+- Overlay data
+ - We need the file ID for each overlay, since there is currently no other way to determine the file IDs correctly
+
+## Assembling code
+Files in the `/asm/` directory with the `.s` extension is assembly code. These files are grouped into modules, which consists
+of overlays, a main module, an Instruction TCM (ITCM) module and a Data TCM (DTCM) module.
+
+> [!NOTE]
+> For interested readers:
+> All modules are loaded into RAM. This is different from the DS predecessor, the Game Boy Advance (GBA), in which all code was
+> simply on the ROM at all times. As a result, the GBA's RAM only consisted of variable data.
+>
+> For the DS, however, code and data is competing for space on the same RAM. For reference, the original DS has 4 MB of general
+> purpose RAM. Phantom Hourglass consists of about 4.2 MB of code. Not only would there be no space for variables, the RAM
+> wouldn't even contain all code at once!
+>
+> This is why overlays have to exist. They are code modules which are loaded at runtime, and some of them share the same
+> address space with each other. Such overlays cannot be loaded at the same time, for obvious reasons.
+>
+> Note that the DS does have other memory components used by ARM9, namely the ITCM and DTCM. TCM stands for tightly coupled
+> memory and has predictable access time unlike typical RAM. However, they are fully static, which means no heap or stack will
+> live there. So, they are mostly reserved for hot code and data.
+
+The assembly files themselves consist of multiple sections:
+- `.text`: Functions
+- `.init`: Static initializers
+- `.ctor`: List of static initializers
+- `.rodata`: Global constants
+- `.data`: Global variables
+- `.bss`/`.sbss`: Global uninitialized variables
+
+When the code is linked, all code of the same section will be written adjacent to each other. More on this in [Linking modules](#linking-modules) below.
+
+## Compiling code
+This game was written in C++, so most of the code we decompile will be in this programming language. In C++, we typically don't
+have to express which section we want the code to be written to. Instead, the compiler determines the section automatically.
+Here are a few examples of how to
+
+- `.text`
+ - Functions and member functions (aka methods)
+ - Example:
+```cpp
+void GlobalFunction() {}
+void MyClass::MemberFunction() {}
+```
+- `.init`
+ - Static initializers, i.e. global variables that are initialized by a constructor
+ - To our knowledge, there is at most one static initializer per source file. This means that multiple variables can be
+ initialized in one static initializer, if they are in the same source file.
+ - See the example below. Since `foo` is initialized by a constructor and not as plain data, this constructor has to be
+ called at some point before `foo` can be used. In the case of an overlay, this happens as soon as the overlay has been
+ loaded.
+```cpp
+class Foo {
+ int myValue;
+ Foo(int value): myValue(value) {}
+};
+
+// This will be a static initializer
+Foo foo = Foo(42);
+```
+- `.ctor`
+ - List of static initializers
+ - Generated automatically as soon as you make a static initializer
+- `.rodata`
+ - Global or static constants
+ - Example:
+```cpp
+// This will be .rodata
+const unsigned int fibonacciLimit = 8;
+
+int BadFibonacci(unsigned int n) {
+ assert(n < fibonacciLimit);
+
+ // This will also be .rodata
+ static const int fibonacciNumbers[] = {
+ 1, 1, 2, 3, 5, 8, 13, 21
+ };
+ return fibonacciNumbers[n];
+}
+```
+- `.data`
+ - Global or static variables
+ - Example:
+```cpp
+// .data variables must have an initial value other than 0
+int maxPlayerHealth = 20;
+
+void DamagePlayer(int damage) {
+ static int playerHealth = maxPlayerHealth;
+ playerHealth -= damage;
+}
+```
+- `.bss`
+ - Global or static uninitialized variables
+ - Example:
+```cpp
+// .bss variables always have an initial value of 0
+int bssInt = 0;
+bool bssBool = false;
+
+// ...but you don't have to explicitly assign 0
+short bssShort;
+```
+- `.sbss`:
+ - "Small" global or static uninitialized variables
+ - Not part of the ARM standard, but appears to exist in the game in some way
+ - Example:
+```cpp
+#pragma section sbss begin
+int thisWillBeSbss;
+#pragma section sbss end
+```
+
+## Postprocessing ELF files
+The result of compiling and assembling is an ELF (Executable and Linkable Format) file. We do some postprocessing on these
+files to ensure that we can get a matching ROM:
+- Killing implicit functions
+ - Writing a constructor/destructor often generates multiple functions used for different purposes. The game does not always
+ use each type of ctor/dtor, so some functions must be killed before building the ROM. This is done by writing
+ `KILL(FunctionToKill)` in any C/C++ file, which is postprocessed by [`elfkill`](/tools/elf/elfkill.cpp) which puts such
+ functions in a section called `.dead`, instead of `.text`.
+
+## Generating a linker command file
+
+The linker command file (LCF), also known as linker script, tells the linker in which order it should link the compiled or
+assembled files. It is generated by [`lcf.py`](/tools/lcf.py), which is also the file where we define our source files.
+
+In `lcf.py` we can see how the source/assembly files are grouped into modules. These groups are then used to generate the LCF.
+You can see the generated LCF in `/build/arm9_linker_script.lcf` after you've built the ROM.
+
+The LCF also decides in what order the sections are linked in each module. In the main module, the order is:
+
+ `.text` | `.init` | `.rodata` | `.ctor` | `data` | `.bss` | `.sbss`
+---------|---------|-----------|---------|--------|--------|---------
+
+
+For overlays, `.init` comes after `.rodata`:
+
+ `.text` | `.rodata` | `.init` | `.ctor` | `data` | `.bss` | `.sbss`
+---------|-----------|---------|---------|--------|--------|---------
+
+
+The ITCM module contains mostly `.text`, but has an unused `.bss` section at the end to pad out the ITCM to exactly 32 kB,
+which is exactly the size of the ITCM.
+
+The DTCM module contains only `.data` and `.bss` and is exactly 16 kB, i.e. the size of the DTCM.
+
+The LCF also decides the file names where each module is written to. Overlays have one file each (`ov00.bin`, `ov01.bin`, etc),
+while the main module, ITCM and DTCM are linked to the same file (`arm9.bin`).
+
+Lastly, the LCF creates extra files that do not come from code:
+- `arm9_footer.bin`
+ - To be appended to the ROM after `arm9.bin`.
+ - This file contains an offset to some build information in the main module. This information then points to the ITCM and
+ DTCM modules inside `arm9.bin`. Technically, the TCMs are placed in the main module's `.bss` section, and will be moved
+ over to the actual ITCM and DTCM when the game boots up.
+- `arm9_metadata.bin`
+ - Contains some data which will be inserted into the main module build information mentioned above. Some of this data is
+ also needed during the [ROM building step](#building-the-rom), which is why they are placed in this metadata file.
+- `arm9_ovt.bin`
+ - ARM9 overlay table
+ - This is a segment in the ROM which declares the address space for each overlay. Some data is missing in this table, and
+ will be completed during the [ROM building step](#building-the-rom).
+
+## Linking modules
+The LCF and list of compiled/assembled files will be passed to the linker, which generates the files mentioned in the previous
+section.
+
+## Compressing modules
+All ARM9 code is compressed, to save space on the ROM. The compression algorithm is a variant of [LZ77](https://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77)
+but compressed backwards, starting from the end of the file and working its way to the start.
+
+In short, LZ77 works as follows. The file is read back to front, byte for byte. Anytime a new byte is read, the algorithm
+searches forward through the file for any sequence of bytes that match the bytes being read.
+
+If such a sequence exists, and is 3 bytes or longer, the algorithm emits a **length-distance pair**. A length-distance pair
+encodes this sequence as 4 bits of length, and 12 bits of distance. The length ranges between 3 and 18, and the distance can be
+up to 4095 bytes ahead.
+
+If no such sequence exists within this 4095 byte window, the algorithm instead emits a **literal**, which is simply one
+uncompressed byte.
+
+Length-distance pairs and literals are collectively called **tokens**. For every 8 tokens, the algorithm emits a flag byte.
+In this byte, each of the 8 bits determines if an upcoming token is a literal or a length-distance pair.
+
+This project implements [`compress`](/tools/compress/main.c), which manages to match this algorithm, including several edge
+case improvements to the compressed file.
+
+For instance, as you approach the start of the file, you may lose a few bytes due to lack of length-distance pairs. In that
+case, it's actually better not to compress the start of the file, as it would waste both ROM space and CPU time when
+decompressing.
+
+The code that decompresses the modules is located in the main module. This means that the first 16 kB of the main module is not
+compressed. This segment is called the secure area, and includes the entrypoint function and decompression algorithm, among
+others.
+
+## Building the ROM
+
+At this stage, we have obtained the following resources to put in the final ROM:
+- Extracted:
+ - ARM7 program
+ - Banner
+ - Assets
+ - Overlay data (file IDs)
+- Built:
+ - ARM9 main module (compressed), including ITCM and DTCM
+ - ARM9 main footer
+ - ARM9 metadata
+ - ARM9 overlay modules (compressed)
+ - ARM9 overlay table
+- Other:
+ - Assets listing [`assets.txt`](/assets.txt)
+ - ARM7 BIOS (dumped from your own DS device)
+
+We implement the [`buildrom`](/tools/rom/build.c) tool which combines these files in order to build a ROM, in such a way that
+it can match the original base ROM.
+
+The procedure is quite long, but here's a summary of the content in the ROM, listed in order of appearance:
+
+ Section | Description
+----------------------|-------------
+Header | Game ID, region, offsets to other sections, CRC checksums, ARM9/ARM7 entrypoint addresses
+ARM9 main module | The full contents of `arm9.lz`
+ARM9 main footer | The full contents of `arm9_footer.bin`
+ARM9 overlay table | The full contents of `arm9_ovt.bin`, plus file IDs from `extractrom` and overlay file sizes after compression
+ARM9 overlay modules | The full contents of `ov00.lz`, `ov01.lz`, etc
+ARM7 program | Taken directly from `extractrom`
+File name table | Assets file hierarchy, directory/file names, file IDs for each asset file
+File allocation table | Maps file ID to an offset within the ROM where the asset file is located
+Assets | Taken directly from `extractrom`, prioritized by `assets.txt`
+
+> [!NOTE]
+> For interested readers:
+> The ROM file format has been documented online for a very long time, but there are some details that are necessary for
+> building a matching ROM that there was no documentation for, until now:
+>
+> The file name table (FNT) is sorted with special priority rules:
+> 1. Directories before files
+> 2. Alphabetic, case-insensitive ordering
+> 3. Shortest name first
+>
+> The order that assets are written to the ROM is sorted in a different way:
+> 1. Traverse directories listed in `assets.txt` from top to bottom
+> 2. ASCII ordering, i.e. case-sensitive
+> 3. Shortest name first
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 | `*E~` | Sea
+1 | `sea_minigame` | 2 | `*~jQ[E~` | Cannon Game
+2 | `sea_fishing` | 2 | `*c` | Fishing
+3 | `sea_salvage` | 2 | `*Tx[W` | Salvage
+4 | `ship` | 0 | `*tl` | S.S. Linebeck
+5 | `ship_terry` | 0 | `*e[Z` | Beedle's Shop Ship
+6 | `ship_wonder` | 0 | `*tVMtl` | Man of Smiles's Boat
+7 | `ship_flink` | 0 | `*jZNtl` | Prince of Red Lions Ship
+8 | `ship_fisher` | 0 | `*EVtl` | S.S. Wayfarer
+9 | `ship_hoho` | 0 | `*z[z[tl` | Ho Ho Tribe
+10 | `ship_guard` | 0 | `*PCrCtl` | Nyave's Boat
+11 | `isle_main` | 0 | `*CW}` | Mercay Island
+12 | `isle_pluck` | 0 | `*ELW}` | Molida Island
+13 | `isle_flame` | 0 | `*qV}` | Isle of Ember
+14 | `isle_wind` | 0 | `*J[W}` | Isle of Gust
+15 | `isle_water` | 0 | `*RIV}` | Isle of Frost
+16 | `isle_power` | 0 | `*`JV}` | Goron Island
+17 | `isle_wisdom` | 0 | `*`GW}` | Isle of Ruins (High Water)
+18 | `isle_wisdom2` | 0 | `*`GW}2` | Isle of Ruins (Low Water)
+19 | `isle_torii` | 0 | `*gCV}` | Cannon Island
+20 | `isle_hidari` | 0 | `*q__CV}` | Bannan Island
+21 | `isle_myou` | 0 | `*~EW}` | Isle of the Dead
+22 | `isle_wizard` | 0 | `*ZjW}` | Zauz's Island
+23 | `isle_shrine` | 0 | `*zRW}` | Spirit Island
+24 | `isle_small1` | 0 | `*RW}1` | Harrow Island
+25 | `isle_small2` | 0 | `*RW}2` | Maze Island
+26 | `isle_small3` | 0 | `*RW}3` | Uncharted Island
+27 | `isle_small5` | 0 | `*RW}5` | Dee Ess Island
+28 | `dngn_flame` | 1 | `*qVf` | Temple of Fire
+29 | `dngn_wind` | 1 | `*J[Vf` | Temple of Wind
+30 | `dngn_pluck` | 1 | `*ELVf` | Temple of Courage
+31 | `dngn_water` | 1 | `*RIVf` | Temple of Ice
+32 | `dngn_power` | 1 | `*`JVf` | Goron Temple
+33 | `dngn_wisdom` | 1 | `*`GVf` | Mutoh's Temple
+34 | `dngn_wisdom2` | 1 | `*`GVf2` | Doylan's Temple
+35 | `dngn_wisdom3` | 1 | `*`GVf3` | Max's Temple
+36 | `dngn_wisdom4` | 1 | `*`GVf4` | Bremeur's Temple
+37 | `dngn_main` | 3 | `*C_` | Temple of the Ocean King
+38 | `dngn_main_f` | 1 | `*C[Vc` | Temple of the Ocean King Lobby
+39 | `dngn_first` | 1 | `*`
[gA` | Mountain Passage
+40 | `dngn_torii` | 1 | `*gC_` | Cannon Island Cave
+41 | `dngn_ghost` | 1 | `*ECZ` | Ghost Ship
+42 | `boss_wind` | 1 | `*J[{X` | Cyclok
+43 | `boss_flame` | 1 | `*q{X` | Blaaz
+44 | `boss_pluck` | 1 | `*EL{X` | Crayk
+45 | `boss_water` | 1 | `*RI{X` | Gleeok
+46 | `boss_power` | 1 | `*`J{X` | Dongorongo
+47 | `boss_wisdom` | 1 | `*`G{X` | Eox
+48 | `boss_ghost` | 1 | `*EC{X` | Diabolical Cubus Sisters
+49 | `boss_last1` | 1 | `*X{X1` | Bellum
+50 | `boss_last2` | 2 | `*X{X2` | Bellum's Ghost Ship
+51 | `boss_last3` | 1 | `*X{X3` | Bellumbeck
+52 | `demo_op` | 0 | `*I[vjO`
+53 | `demo_title` | 0 | `*LN}``
+54 | `demo_end` | 0 | `*GfBO`
+55 | `demo_chase` | 0 | `*f26_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 | `*og11`
diff --git a/docs/decompiling.md b/docs/decompiling.md
index bedb1cbb..3ff23f2b 100644
--- a/docs/decompiling.md
+++ b/docs/decompiling.md
@@ -2,6 +2,7 @@
This document describes how you can start decompiling code and contribute to the project. Feel free to ask for help if you get
stuck or need assistance.
- [Pick a source file](#pick-a-source-file)
+- [Decompiling a source file](#decompiling-a-source-file)
- [Decompiling a function](#decompiling-a-function)
- [Decompiling `.init` functions](#decompiling-init-functions)
- [The Ghidra project](#the-ghidra-project)
@@ -18,13 +19,24 @@ If you want to unclaim the file, leave another comment so we can be certain that
again. Remember to make a pull request of any notable progress you made on the source file, which can include
[non-matching functions](/CONTRIBUTING.md#non-matching-functions).
+## Decompiling a source file
+It can be tricky to fully decompile an assembly file into a C/C++ source file, so here's some advice to make it easier:
+- C/C++ code is built before assembly code
+ - This means you can take one function from the top of your assembly file, decompile it, and append it to the bottom of
+ your C/C++ file.
+- Build the ROM often
+ - We recommend building every time you decompile a function.
+ - This is because functions can sometimes match in decomp.me, but not when building.
+ - If your ROM doesn't match, it's easier to know which function is wrong if it's the only function added since the last
+ successful build.
+
## Decompiling a function
Say you've found a function you want to decompile. Here are the steps we recommend for decompiling it:
1. Visit [decomp.me](https://decomp.me/) and start decomping.
1. Under the platforms, select "Nintendo DS".
-1. Select compiler version `2.0sp1p5`.
-1. Copy and paste the target assembly for your function, including the `func_start` and `func_end` macros, and the pool constants.
-For example:
+1. Select compiler preset "Phantom Hourglass".
+1. Copy and paste the target assembly for your function, including the `func_start` and `func_end` macros, and the pool
+constants. For example:
```arm
.global func_ov09_0211bf48
thumb_func_start func_ov09_0211bf48
@@ -36,13 +48,9 @@ func_ov09_0211bf48: ; 0x0211bf48
thumb_func_end func_ov09_0211bf48
_0211bf50: .word data_ov09_0211f59c
```
-6. Run `m2ctx.py include/MyHeader.hpp -c` to generate a context and put it in your clipboard.
+5. Run `m2ctx.py include/MyHeader.hpp -c` to generate a context and put it in your clipboard.
- If no suitable header file exists, make a new one and put any structs and types you need in there.
1. Paste the context into decomp.me, and create the scratch.
-1. Copy the `CC_FLAGS` from `Makefile` into the arguments field in decomp.me.
- - Also copy `CXX_FLAGS` if your function comes from a `.cpp` file. Otherwise, copy `C_FLAGS` if it's a `.c` file.
- - Replace the `-d $(REGION)` flag with whichever region you intend to decompile for. You can also delete the flag entirely
- if the function contains no region differences.
1. Decompile the function and try to get a 100% match.
- There's no ARM decompiler in decomp.me yet, but Ghidra does the job quite well. See [the Ghidra section](#the-ghidra-project)
for more info.
@@ -70,6 +78,18 @@ is 12 (`0xc`) bytes long and is also implicit, so we don't need to define it our
> [!IMPORTANT]
> An important thing to keep in mind is that a static initializer can construct multiple global objects.
+## Decompiling data
+> [!NOTE]
+> Under construction! It's not fully clear how data is decompiled, as the compiler is strict on how it orders global variables.
+> Feel free to contribute to this section or provide us with more information!
+
+Other than `.text` and `.init` which contain code, there are the following sections for data:
+- `.rodata`: Global or static constants
+- `.data`: Global or static variables
+- `.bss`/`.sbss`: Global or static uninitialized variables
+
+You can see examples of these data sections in the [compilation section in `build_system.md`](/docs/build_system.md#compiling-code).
+
## The Ghidra project
We use a shared Ghidra project to analyze the game and decompile functions. To gain access to the project, install
[Ghidra version 10.2.3](https://github.com/NationalSecurityAgency/ghidra/releases/tag/Ghidra_10.2.3_build) and request access
diff --git a/include/DTCM/UnkStruct_027e0f78.hpp b/include/DTCM/UnkStruct_027e0f78.hpp
new file mode 100644
index 00000000..04353f37
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e0f78.hpp
@@ -0,0 +1,15 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+struct UnkStruct_027e0f78 {
+ /* 00 */ unk8 mUnk_00[0x18];
+ /* 18 */ u16 mUnk_18;
+ /* 1a */ u16 mUnk_1a;
+ /* 1c */ u16 mUnk_1c;
+ /* 1e */ u16 mUnk_1e;
+ /* 20 */
+};
+
+extern UnkStruct_027e0f78 *data_027e0f78;
diff --git a/include/Item/Item.hpp b/include/Item/Item.hpp
index 5aab40dc..39b1c6f3 100644
--- a/include/Item/Item.hpp
+++ b/include/Item/Item.hpp
@@ -5,78 +5,122 @@
typedef s32 ItemFlag;
enum ItemFlag_ {
ItemFlag_None = -1,
- ItemFlag_OshusSword = 0,
- ItemFlag_WoodenShield = 1,
- ItemFlag_Boomerang = 2,
- ItemFlag_Shovel = 3,
- ItemFlag_BombBag = 4,
- ItemFlag_Bow = 5,
- ItemFlag_GrapplingHook = 6,
- ItemFlag_BombchuBag = 7,
- ItemFlag_Hammer = 8,
- ItemFlag_PotionA = 9,
- ItemFlag_PotionB = 10,
+ /* 0x00 */ ItemFlag_OshusSword = 0,
+ /* 0x01 */ ItemFlag_WoodenShield = 1,
+ /* 0x02 */ ItemFlag_Boomerang = 2,
+ /* 0x03 */ ItemFlag_Shovel = 3,
+ /* 0x04 */ ItemFlag_BombBag = 4,
+ /* 0x05 */ ItemFlag_Bow = 5,
+ /* 0x06 */ ItemFlag_GrapplingHook = 6,
+ /* 0x07 */ ItemFlag_BombchuBag = 7,
+ /* 0x08 */ ItemFlag_Hammer = 8,
+ /* 0x09 */ ItemFlag_PotionA = 9,
+ /* 0x0a */ ItemFlag_PotionB = 10,
ItemFlag_EQUIP_START = ItemFlag_OshusSword,
ItemFlag_EQUIP_END = ItemFlag_PotionB + 1,
ItemFlag_EQUIP_COUNT = ItemFlag_EQUIP_END - ItemFlag_EQUIP_START,
- ItemFlag_SpiritOfCourage = 20,
- ItemFlag_SpiritOfPower = 21,
- ItemFlag_SpiritOfWisdom = 22,
- ItemFlag_CourageLv1 = 23,
- ItemFlag_PowerLv1 = 24,
- ItemFlag_WisdomLv1 = 25,
+ /* 0x14 */ ItemFlag_SpiritOfCourage = 20,
+ /* 0x15 */ ItemFlag_SpiritOfPower = 21,
+ /* 0x16 */ ItemFlag_SpiritOfWisdom = 22,
+ /* 0x17 */ ItemFlag_CourageLv1 = 23,
+ /* 0x18 */ ItemFlag_PowerLv1 = 24,
+ /* 0x19 */ ItemFlag_WisdomLv1 = 25,
ItemFlag_FAIRY_LV1 = ItemFlag_CourageLv1,
- ItemFlag_CourageLv2 = 26,
- ItemFlag_PowerLv2 = 27,
- ItemFlag_WisdomLv2 = 28,
+ /* 0x1a */ ItemFlag_CourageLv2 = 26,
+ /* 0x1b */ ItemFlag_PowerLv2 = 27,
+ /* 0x1c */ ItemFlag_WisdomLv2 = 28,
ItemFlag_FAIRY_LV2 = ItemFlag_CourageLv2,
- ItemFlag_Hourglass = 32,
- ItemFlag_SeaChartSW = 33,
- ItemFlag_SeaChartNW = 34,
- ItemFlag_SeaChartSE = 35,
- ItemFlag_SeaChartNE = 36,
- ItemFlag_PhantomSword = 37,
- ItemFlag_SunKey = 38,
+ /* 0x20 */ ItemFlag_Hourglass = 32,
+ /* 0x21 */ ItemFlag_SeaChartSW = 33,
+ /* 0x22 */ ItemFlag_SeaChartNW = 34,
+ /* 0x23 */ ItemFlag_SeaChartSE = 35,
+ /* 0x24 */ ItemFlag_SeaChartNE = 36,
+ /* 0x25 */ ItemFlag_PhantomSword = 37,
+ /* 0x26 */ ItemFlag_SunKey = 38,
+ /* 0x27 */ ItemFlag_Unk_39 = 39,
+ /* 0x28 */ ItemFlag_FishingRod = 40,
+ /* 0x29 */ ItemFlag_Cannon = 41,
+ /* 0x2a */ ItemFlag_KingsKey = 42,
+ /* 0x2b */ ItemFlag_GhostKey = 43,
+ /* 0x2c */ ItemFlag_SalvageArm = 44,
- ItemFlag_KingsKey = 42,
- ItemFlag_GhostKey = 43,
+ /* 0x2d */ ItemFlag_SwordsmansScroll = 45,
+ /* 0x2e */ ItemFlag_CycloneSlate = 46,
+ /* 0x2f */ ItemFlag_Unk_47 = 47,
- ItemFlag_SwordsmansScroll = 45,
+ /* 0x60 */ ItemFlag_TreasureChart1 = 96,
+ /* 0x61 */ ItemFlag_TreasureChart2 = 97,
+ /* 0x62 */ ItemFlag_TreasureChart3 = 98,
+ /* 0x63 */ ItemFlag_TreasureChart4 = 99,
+ /* 0x64 */ ItemFlag_TreasureChart5 = 100,
+ /* 0x65 */ ItemFlag_TreasureChart6 = 101,
+ /* 0x66 */ ItemFlag_TreasureChart7 = 102,
+ /* 0x67 */ ItemFlag_TreasureChart8 = 103,
+ /* 0x68 */ ItemFlag_TreasureChart9 = 104,
+ /* 0x69 */ ItemFlag_TreasureChart10 = 105,
+ /* 0x6a */ ItemFlag_TreasureChart11 = 106,
+ /* 0x6b */ ItemFlag_TreasureChart12 = 107,
+ /* 0x6c */ ItemFlag_TreasureChart13 = 108,
+ /* 0x6d */ ItemFlag_TreasureChart14 = 109,
+ /* 0x6e */ ItemFlag_TreasureChart15 = 110,
+ /* 0x6f */ ItemFlag_TreasureChart16 = 111,
+ /* 0x70 */ ItemFlag_TreasureChart17 = 112,
+ /* 0x71 */ ItemFlag_TreasureChart18 = 113,
+ /* 0x72 */ ItemFlag_TreasureChart19 = 114,
+ /* 0x73 */ ItemFlag_TreasureChart20 = 115,
+ /* 0x74 */ ItemFlag_TreasureChart21 = 116,
+ /* 0x75 */ ItemFlag_TreasureChart22 = 117,
+ /* 0x76 */ ItemFlag_TreasureChart23 = 118,
+ /* 0x77 */ ItemFlag_TreasureChart24 = 119,
+ /* 0x78 */ ItemFlag_TreasureChart25 = 120,
+ /* 0x79 */ ItemFlag_TreasureChart26 = 121,
+ /* 0x7a */ ItemFlag_TreasureChart27 = 122,
+ /* 0x7b */ ItemFlag_TreasureChart28 = 123,
+ /* 0x7c */ ItemFlag_TreasureChart29 = 124,
+ /* 0x7d */ ItemFlag_TreasureChart30 = 125,
+ /* 0x7e */ ItemFlag_TreasureChart31 = 126,
+ /* 0x7f */ ItemFlag_TreasureChart32 = 127,
+ ItemFlag_TREASURE_CHART_START = ItemFlag_TreasureChart1,
- ItemFlag_COUNT = 128,
+ ItemFlag_COUNT = 128,
};
typedef s32 ItemId;
enum ItemId_ {
/* -1 */ ItemId_None = -1,
+ /* 0x00 */ ItemId_Nothing = 0,
/* 0x01 */ ItemId_SmallKey = 1,
/* 0x02 */ ItemId_GreenRupee = 2,
/* 0x03 */ ItemId_OshusSword = 3,
/* 0x04 */ ItemId_WoodenShield = 4,
-
+ /* 0x05 */ ItemId_Unk_5 = 5,
+ /* 0x06 */ ItemId_Unk_6 = 6,
/* 0x07 */ ItemId_BombBag = 7,
/* 0x08 */ ItemId_Bow = 8,
/* 0x09 */ ItemId_BigGreenRupee = 9,
/* 0x0a */ ItemId_HeartContainer = 10,
-
+ /* 0x0b */ ItemId_Unk_11 = 11,
/* 0x0c */ ItemId_Boomerang = 12,
/* 0x0d */ ItemId_Scoop = 13,
/* 0x0e */ ItemId_BombchuBag = 14,
/* 0x0f */ ItemId_BossKey = 15,
-
+ /* 0x10 */ ItemId_Unk_16 = 16,
+ /* 0x11 */ ItemId_Unk_17 = 17,
/* 0x12 */ ItemId_PhantomHourglass = 18,
/* 0x13 */ ItemId_SWSeaChart = 19,
/* 0x14 */ ItemId_NWSeaChart = 20,
/* 0x15 */ ItemId_SESeaChart = 21,
/* 0x16 */ ItemId_NESeaChart = 22,
-
+ /* 0x17 */ ItemId_Unk_23 = 23,
/* 0x18 */ ItemId_BlueRupee = 24,
/* 0x19 */ ItemId_RedRupee = 25,
/* 0x1a */ ItemId_BigRedRupee = 26,
/* 0x1b */ ItemId_GoldRupee = 27,
-
+ /* 0x1c */ ItemId_Unk_28 = 28,
+ /* 0x1d */ ItemId_Unk_29 = 29,
+ /* 0x1e */ ItemId_Unk_30 = 30,
/* 0x1f */ ItemId_Hammer = 31,
/* 0x20 */ ItemId_Rope = 32,
/* 0x21 */ ItemId_SquareCrystal = 33,
@@ -85,7 +129,7 @@ enum ItemId_ {
/* 0x24 */ ItemId_FishingRod = 36,
/* 0x25 */ ItemId_Cannon = 37,
/* 0x26 */ ItemId_SunKey = 38,
-
+ /* 0x27 */ ItemId_Unk_39 = 39,
/* 0x28 */ ItemId_Quiver = 40,
/* 0x29 */ ItemId_BigBombBag = 41,
/* 0x2a */ ItemId_BigBombchuBag = 42,
@@ -178,12 +222,14 @@ enum ItemId_ {
/* 0x7d */ ItemId_Unk_125 = 125,
/* 0x7e */ ItemId_Unk_126 = 126,
/* 0x7f */ ItemId_CycloneSlate = 127,
-
+ /* 0x80 */ ItemId_Unk_128 = 128,
/* 0x81 */ ItemId_Rupoor10 = 129,
/* 0x82 */ ItemId_Rupoor50 = 130,
-
+ /* 0x83 */ ItemId_Unk_131 = 131,
+ /* 0x84 */ ItemId_Unk_132 = 132,
/* 0x85 */ ItemId_Unk_133 = 133,
-
+ /* 0x86 */ ItemId_Unk_134 = 134,
+ /* 0x87 */ ItemId_Unk_135 = 135,
/* 0x88 */ ItemId_Unk_136 = 136,
};
diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp
index 44defa6f..e50fb673 100644
--- a/include/Item/ItemManager.hpp
+++ b/include/Item/ItemManager.hpp
@@ -1,17 +1,29 @@
#pragma once
+extern "C" {
+ #include
+}
+
#include "global.h"
#include "types.h"
#include "lib/math.h"
#include "Actor/ActorNavi.hpp"
+#include "DTCM/UnkStruct_027e0f78.hpp"
+#include "Save/AdventureFlags.hpp"
#include "Item/Item.hpp"
+#include "Map/MapManager.hpp"
#include "Player/EquipItem.hpp"
+#include "Player/HealthManager.hpp"
+#include "Sound/Sfx.hpp"
#include "System/SysNew.hpp"
#include "System/OverlayManager.hpp"
#include "Render/ModelRender.hpp"
#define MAX_HOURGLASS_SECONDS 1500 // 25 minutes
+#define MAX_AMMO_UPGRADE 2
+#define MAX_UNK_0BA 9
+#define MAX_POTIONS 2
typedef s32 FairyId;
enum FairyId_ {
@@ -79,7 +91,7 @@ typedef u8 Potion;
enum Potion_ {
Potion_None,
Potion_Red,
- Potion_Blue,
+ Potion_Purple,
Potion_Yellow,
Potion_COUNT,
};
@@ -197,23 +209,23 @@ private:
/* 0b4 */ u16 mQuiverSize;
/* 0b6 */ u16 mBombBagSize;
/* 0b8 */ u16 mBombchuBagSize;
- /* 0ba */ unk16 mUnk_0ba; // only between 0 and 9
- /* 0bc */ Potion mPotions[2];
+ /* 0ba */ u16 mUnk_0ba; // only between 0 and 9
+ /* 0bc */ Potion mPotions[MAX_POTIONS];
/* 0be */ unk8 mUnk_0be[2]; // padding?
/* 0c0 */ ItemModel *mItemModels[ItemModelId_COUNT];
/* 100 */ ItemModel *mDungeonItemModels[DungeonItemModelId_COUNT]; // non-null in dungeons/caves
/* 114 */ ModelRender *mUnk_114;
/* 118 */ ItemId mFanfareItem;
- /* 11c */ unk32 mUnk_11c;
+ /* 11c */ SfxId mFanfareSfx;
/* 120 */ void *mFanfareItemModel;
/* 124 */ void *mUnk_124;
/* 128 */ ItemFlags mItemFlags;
/* 138 */ u32 mSalvagedTreasureFlags;
/* 13c */ ShipPartPricesShown mShipPartPricesShown;
/* 148 */ u32 mTreasurePriceShownFlags[CEIL_DIV(Treasure_COUNT, 32)];
- /* 14c */ unk8 mUnk_14c;
+ /* 14c */ bool mMuteNextFanfare;
/* 14d */ u8 mUnk_14d;
- /* 14e */ unk8 mUnk_14e[0x2];
+ /* 14e */ unk8 mUnk_14e[0x2]; // padding?
/* 150 */
public:
@@ -267,6 +279,7 @@ public:
void LoadFanfareItem(ItemId id);
bool GetFanfareItemScale(Vec3p *pScale) const;
void LoadDungeonItemModels();
+ static void PlayItemFanfareSfx(ItemId item);
// Ship
ShipType GetEquippedShipPart(ShipPart part) const;
@@ -296,12 +309,12 @@ public:
bool HasItem(ItemFlag item) const;
void AddItem(ItemFlag item);
void RemoveItem(ItemFlag item);
- void GiveItem(ItemId id, unk32 param2, unk32 param3);
+ void GiveItem(ItemId id);
void GiveEquipItem(ItemFlag item, u16 ammo);
// Rupees
- u32 GetMaxRupees() const;
- void GiveRupees(u16 amount, unk32 param2);
+ s32 GetMaxRupees() const;
+ void GiveRupees(s16 amount, bool param2);
// Potion
void SetPotion(u32 index, Potion potion);
@@ -310,11 +323,12 @@ public:
bool HasPurplePotion() const;
void UnequipPotion();
- // Unknown
- void func_ov00_020ae350() const;
+ // Keys
+ unk32 GetNumKeys() const;
void GiveKeys(u32 amount);
- void func_ov00_020ae4dc(unk32 param1); // sets mUnk_0ba
- void func_ov00_020ae648(unk32 param1, unk32 param2, unk32 param3);
+
+ // Unknown
+ void func_ov00_020ae4dc(s32 param1);
};
extern ItemManager *gItemManager;
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..352cae1b
--- /dev/null
+++ b/include/Map/Course.hpp
@@ -0,0 +1,114 @@
+#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"
+
+#define MAX_KEYS 8
+
+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/HealthManager.hpp b/include/Player/HealthManager.hpp
new file mode 100644
index 00000000..5ebb7181
--- /dev/null
+++ b/include/Player/HealthManager.hpp
@@ -0,0 +1,22 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "System/SysNew.hpp"
+
+class HealthManager : public SysObject {
+public:
+ /* 00 */ u16 mMaxHealth;
+ /* 02 */ u16 mHealth;
+ /* 04 */ s16 mMaxShipHealth;
+ /* 06 */ s16 mShipHealth;
+ /* 08 */ u16 mSalvageArmHealth;
+ /* 0a */ s16 mFlags;
+ /* 0c */ unk16 mUnk_0c;
+ /* 0e */ unk8 mUnk_0e;
+ /* 0f */ unk8 mUnk_0f;
+ /* 10 */
+};
+
+extern HealthManager *gHealthManager;
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/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp
index 411d3a55..bfe511f9 100644
--- a/include/Save/AdventureFlags.hpp
+++ b/include/Save/AdventureFlags.hpp
@@ -9,7 +9,33 @@
typedef u32 AdventureFlag;
enum AdventureFlag_ {
- AdventureFlag_COUNT = 391,
+ /* 0x09 */ AdventureFlag_SWSeaChart = 9,
+ /* 0x0a */ AdventureFlag_NWSeaChart = 10,
+ /* 0x0b */ AdventureFlag_SESeaChart = 11,
+ /* 0x0c */ AdventureFlag_NESeaChart = 12,
+
+ /* 0x13 */ AdventureFlag_Hourglass = 19,
+
+ /* 0x16 */ AdventureFlag_SunKey = 22,
+ /* 0x17 */ AdventureFlag_Unk_23 = 23,
+
+ /* 0x2b */ AdventureFlag_FishingRod = 43,
+
+ /* 0x30 */ AdventureFlag_Cannon = 48,
+
+ /* 0x7d */ AdventureFlag_Azurine = 125,
+ /* 0x7e */ AdventureFlag_Crimsonine = 126,
+ /* 0x7f */ AdventureFlag_Aquanine = 127,
+ /* 0x80 */ AdventureFlag_Unk_128 = 128,
+
+ /* 0x8c */ AdventureFlag_SalvageArm = 140,
+
+ /* 0x126 */ AdventureFlag_ReceivedGoldenChimney = 294,
+ /* 0x127 */ AdventureFlag_ReceivedGoldenHandrail = 295,
+ /* 0x128 */ AdventureFlag_ReceivedGoldenCannon = 296,
+ /* 0x129 */ AdventureFlag_ReceivedGoldenHull = 297,
+
+ /* 0x187 */ AdventureFlag_COUNT = 391,
};
struct FlagsUnk2 {
@@ -46,6 +72,7 @@ struct FlagsUnk {
};
class AdventureFlags : public SysObject {
+public:
/* 00 */ unk32 mFlags[16];
/* 40 */ CutsceneHandler *mCutsceneHandler;
/* 44 */ void *mUnk_44;
diff --git a/include/Sound/Sfx.hpp b/include/Sound/Sfx.hpp
new file mode 100644
index 00000000..38b66d51
--- /dev/null
+++ b/include/Sound/Sfx.hpp
@@ -0,0 +1,221 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+typedef u32 SfxId;
+enum SfxId_ {
+ SfxId_None = 0x0,
+
+ SfxId_Music_StoryIntro = 0x2,
+ SfxId_Music_StoryOutsetIsland = 0x3,
+ SfxId_Music_StoryZeldasLullaby = 0x4,
+ SfxId_Music_DarkKingGanon = 0x5,
+ SfxId_Music_TheHeroOfTheWinds = 0x6,
+ SfxId_Music_OffToTheSeas = 0x7,
+ SfxId_Music_ThePirateShip_1 = 0x8,
+ SfxId_Music_TheKingOfTheOceans = 0x9,
+ SfxId_Music_InTheDarkDungeon_1 = 0xa,
+ SfxId_Music_LinebecksTheme = 0xb,
+ SfxId_Fanfare_KeyDizzy = 0xc,
+ SfxId_Music_MagicInTheAir_1 = 0xd,
+ SfxId_Music_TheSandsOfTime_1 = 0xe,
+ SfxId_Fanfare_Discovery_1 = 0xf,
+ SfxId_Music_MagicInTheAir_2 = 0x10,
+ SfxId_Music_TheSandsOfTime_2 = 0x11,
+ SfxId_Fanfare_Discovery_2 = 0x12,
+ SfxId_Music_MagicInTheAir_3 = 0x13,
+
+ SfxId_Music_MagicInTheAir_4 = 0x15,
+ SfxId_Music_Credits = 0x16,
+
+ SfxId_Music_DarkMemories = 0x18,
+ SfxId_Music_TheSandsOfTime_3 = 0x19,
+ SfxId_Fanfare_Discovery_3 = 0x1a,
+
+ SfxId_Fanfare_Nothing_1 = 0x1c,
+ SfxId_Music_TheSandsOfTime_4 = 0x1d,
+ SfxId_Music_ZeldasLullaby = 0x1e,
+
+ SfxId_Music_BellumLoop = 0x21,
+
+ SfxId_Music_ThePirateShip_2 = 0x25,
+
+ SfxId_Music_FairyFountain = 0x27,
+ SfxId_Fanfare_Treasure = 0x28,
+ SfxId_Fanfare_Rupee = 0x29,
+ SfxId_Fanfare_GoldRupee = 0x2a,
+ SfxId_Fanfare_Rupoor = 0x2b,
+ SfxId_Fanfare_Nothing_2 = 0x2c,
+ SfxId_Fanfare_HeartContainer = 0x2d,
+ SfxId_Fanfare_Gem = 0x2e,
+ SfxId_Fanfare_Discovery_4 = 0x2f,
+ SfxId_Music_Indoors_1 = 0x30,
+ SfxId_Music_Indoors_2 = 0x31,
+ SfxId_Music_Lithoroves = 0x32,
+ SfxId_Music_Indoors_3 = 0x33,
+ SfxId_Music_AstridsTheme = 0x34,
+
+ SfxId_Music_Indoors_4 = 0x38,
+ SfxId_Music_Indoors_5 = 0x39,
+ SfxId_Music_Indoors_6 = 0x3a,
+ SfxId_Music_Indoors_7 = 0x3b,
+ SfxId_Music_Indoors_8 = 0x3c,
+
+ SfxId_Music_ThePirateShip_3 = 0x3e,
+ SfxId_Music_BeedlesShopShip_1 = 0x3f,
+ SfxId_Music_BeedlesShopShip_2 = 0x40,
+
+ SfxId_Music_Indoors_9 = 0x42,
+ SfxId_Music_Indoors_10 = 0x43,
+ SfxId_Music_Indoors_11 = 0x44,
+ SfxId_Music_Indoors_12 = 0x45,
+ SfxId_Music_Indoors_13 = 0x46,
+ SfxId_Music_DangerInTheGreatBlueSea_1 = 0x47,
+ SfxId_Music_DangerInTheGreatBlueSea_2 = 0x48,
+ SfxId_Music_TheDarkCaves_1 = 0x49,
+ SfxId_Fanfare_OhNo = 0x4a,
+ SfxId_Music_GameOver = 0x4b,
+ SfxId_Fanfare_TempleOfTheOceanKing = 0x4c,
+ SfxId_Music_EnemyBattle_1 = 0x4d,
+ SfxId_Music_MercayIsland_1 = 0x4e,
+ SfxId_Music_UnchartedTerritory_1 = 0x4f,
+ SfxId_Music_MercayIsland_2 = 0x50,
+ SfxId_Music_UnchartedTerritory_2 = 0x51,
+ SfxId_Music_MercayIsland_3 = 0x52,
+ SfxId_Music_UnchartedTerritory_3 = 0x53,
+ SfxId_Music_UnchartedTerritory_4 = 0x54,
+ SfxId_Music_UnchartedTerritory_5 = 0x55,
+ SfxId_Music_MercayIsland_4 = 0x56,
+ SfxId_Music_UnchartedTerritory_6 = 0x57,
+ SfxId_Music_TheGorons = 0x58,
+ SfxId_Music_UnchartedTerritory_7 = 0x59,
+ SfxId_Music_UnchartedTerritory_8 = 0x5a,
+ SfxId_Music_UnchartedTerritory_9 = 0x5b,
+ SfxId_Music_UnchartedTerritory_10 = 0x5c,
+ SfxId_Music_MercayIsland_5 = 0x5d,
+ SfxId_Music_UnchartedTerritory_11 = 0x5e,
+ SfxId_Music_UnchartedTerritory_12 = 0x5f,
+
+ SfxId_Music_MercayIsland_6 = 0x61,
+ SfxId_Music_MercayIsland_7 = 0x62,
+ SfxId_Music_MercayIsland_8 = 0x63,
+ SfxId_Music_UnchartedTerritory_13 = 0x64,
+
+ SfxId_Music_GhostShip = 0x66,
+ SfxId_Music_ChasingTheGhostShip = 0x67,
+ SfxId_Music_EnemyBattle_2 = 0x68,
+ SfxId_Music_JoleneAppears = 0x69,
+ SfxId_Music_JoleneAppearsLoop = 0x6a,
+ SfxId_Music_JoleneVsLink_1 = 0x6b,
+ SfxId_Music_JoleneVsLink_2 = 0x6c,
+ SfxId_Music_JoleneVsLinkEnd = 0x6d,
+ SfxId_Music_InTheDarkDungeon_2 = 0x6e,
+ SfxId_Music_InTheDarkDungeon_3 = 0x6f,
+
+ SfxId_Music_InTheDarkDungeon_4 = 0x72,
+
+ SfxId_Music_InTheDarkDungeon_5 = 0x75,
+
+ SfxId_Music_InTheDarkDungeon_6 = 0x78,
+ SfxId_Music_InTheDarkDungeon_7 = 0x79,
+ SfxId_Music_InTheDarkDungeon_8 = 0x7a,
+ SfxId_Music_InTheDarkDungeon_9 = 0x7b,
+ SfxId_Music_TheDarkCaves_2 = 0x7c,
+
+ SfxId_Music_InTheDarkDungeon_10 = 0x7f,
+ SfxId_Music_TheDarkCaves_3 = 0x80,
+
+ SfxId_Music_InTheDarkDungeon_11 = 0x83,
+ SfxId_Music_TheDarkCaves_4 = 0x84,
+
+ SfxId_Music_InTheDarkDungeon_12 = 0x87,
+ SfxId_Music_TheDarkCaves_5 = 0x88,
+ SfxId_Music_InTheDarkDungeon_13 = 0x89,
+ SfxId_Music_InTheDarkDungeon_14 = 0x8b,
+ SfxId_Music_InTheDarkDungeon_15 = 0x8c,
+ SfxId_Music_InTheDarkDungeon_16 = 0x8d,
+ SfxId_Music_InTheDarkDungeon_17 = 0x8e,
+ SfxId_Music_InTheDarkDungeon_18 = 0x8f,
+ SfxId_Music_InTheDarkDungeon_19 = 0x90,
+ SfxId_Music_InTheDarkDungeon_20 = 0x91,
+ SfxId_Music_InTheDarkDungeon_21 = 0x92,
+ SfxId_Music_InTheDarkDungeon_22 = 0x93,
+ SfxId_Music_InTheDarkDungeon_23 = 0x94,
+ SfxId_Music_InTheDarkDungeon_24 = 0x95,
+ SfxId_Music_InTheDarkDungeon_25 = 0x96,
+ SfxId_Music_TheDarkCaves_6 = 0x97,
+ SfxId_Music_TheDarkCaves_7 = 0x98,
+ SfxId_Music_TheDarkCaves_8 = 0x99,
+ SfxId_Music_TheDarkCaves_9 = 0x9a,
+ SfxId_Music_TheDarkCaves_10 = 0x9b,
+
+ SfxId_Music_InTheDarkDungeon_26 = 0x9e,
+ SfxId_Music_InTheDarkDungeon_27 = 0x9f,
+ SfxId_Music_InTheDarkDungeon_28 = 0xa0,
+ SfxId_Music_TheDarkCaves_11 = 0xa1,
+ SfxId_Music_TheDarkCaves_12 = 0xa2,
+ SfxId_Music_InTheDarkDungeon_29 = 0xa3,
+ SfxId_Music_TheDarkCaves_13 = 0xa4,
+ SfxId_Music_TheDarkCaves_14 = 0xa5,
+
+ SfxId_Music_PhantomChase_1 = 0xa7,
+ SfxId_Music_FencingPractice_1 = 0xa8,
+ SfxId_Music_FencingPractice_2 = 0xa9,
+ SfxId_Music_FencingPractice_3 = 0xaa,
+ SfxId_Music_FencingPractice_4 = 0xab,
+ SfxId_Music_FencingPractice_5 = 0xac,
+ SfxId_Music_FencingPractice_6 = 0xad,
+ SfxId_Music_FencingPractice_7 = 0xae,
+ SfxId_Music_FencingPractice_8 = 0xaf,
+ SfxId_Music_FencingPractice_9 = 0xb0,
+ SfxId_Music_FencingPractice_10 = 0xb1,
+ SfxId_Music_FencingPractice_11 = 0xb2,
+ SfxId_Music_FencingPractice_12 = 0xb3,
+ SfxId_Mandolin_Chord_1 = 0xb4,
+ SfxId_Mandolin_Chord_2 = 0xb5,
+ SfxId_Mandolin_Chord_3 = 0xb6,
+ SfxId_Mandolin_Chord_4 = 0xb7,
+ SfxId_Mandolin_Chord_5 = 0xb8,
+ SfxId_Mandolin_Chord_6 = 0xb9,
+ SfxId_Mandolin_Chord_7 = 0xba,
+ SfxId_Mandolin_Chord_8 = 0xbb,
+ SfxId_Music_BeginContactMode = 0xbc,
+ SfxId_Fanfare_Checkpoint_1 = 0xbd,
+ SfxId_Fanfare_Checkpoint_2 = 0xbe,
+ SfxId_Fanfare_Checkpoint_3 = 0xbf,
+ SfxId_Fanfare_Checkpoint_4 = 0xc0,
+ SfxId_Fanfare_Checkpoint_5 = 0xc1,
+ SfxId_Fanfare_Victory = 0xc2,
+ SfxId_Drumroll = 0xc3,
+ SfxId_Fanfare_Stumble = 0xc4,
+ SfxId_Music_BossBattle_1 = 0xc5,
+ SfxId_Music_BossBattle_2 = 0xc6,
+ SfxId_Music_BossBattle_3 = 0xc7,
+ SfxId_Music_BossBattle_4 = 0xc8,
+ SfxId_Music_BossBattle_5 = 0xc9,
+ SfxId_Music_BossBattle_6 = 0xca,
+ SfxId_Music_BossBattle_7 = 0xcb,
+
+ SfxId_Music_SpinSpinSpin_1 = 0xcf,
+
+ SfxId_Music_SpinSpinSpin_2 = 0xd2,
+ SfxId_Music_FencingPractice_13 = 0xd3,
+ SfxId_Music_FencingPracticeStart = 0xd4,
+ SfxId_Music_BattleStageSelection_1 = 0xd5,
+ SfxId_Music_FencingPractice_14 = 0xd6,
+ SfxId_Music_FencingPractice_15 = 0xd7,
+ SfxId_Music_FencingPractice_16 = 0xd8,
+ SfxId_Music_FencingPractice_17 = 0xd9,
+ SfxId_Music_IntoTheCrystalBall = 0xe0,
+
+ SfxId_Music_PhantomChase_2 = 0xe2,
+ SfxId_Fanfare_GreatLoss = 0xe3,
+ SfxId_Fanfare_Incoming = 0xe4,
+ SfxId_Fanfare_GoalReached = 0xe5,
+ SfxId_Fanfare_LostGame_1 = 0xe6,
+ SfxId_Fanfare_LostGame_2 = 0xe7,
+ SfxId_Fanfare_BattleStart = 0xe8,
+ SfxId_Music_BattleEnd = 0xe9,
+ SfxId_Music_BattleStageSelection_2 = 0xea,
+};
diff --git a/include/global.h b/include/global.h
index e3d80975..10a927aa 100644
--- a/include/global.h
+++ b/include/global.h
@@ -15,6 +15,9 @@
#define NONMATCH(name) asm name
#endif
+// KILL(name) causes a function to be excluded from the output ROM, see elfkill.cpp
+#define KILL(name)
+
// Prevent the IDE from reporting errors that the compiler/linker won't report
#ifdef __INTELLISENSE__
#endif
@@ -28,4 +31,7 @@
// Define .sbss variables by using #pragma section sbss begin|end
#pragma define_section sbss ".data" ".sbss"
+// Force variables to be in .data by using #pragma section force_data begin|end
+#pragma define_section force_data ".data" ".data"
+
#endif
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..17538f4f 100644
--- a/src/00_Core/Item/ItemManager.cpp
+++ b/src/00_Core/Item/ItemManager.cpp
@@ -1,7 +1,8 @@
#include "Item/ItemManager.hpp"
-extern u32 *data_027e0ce0[];
+static const char *sShipPartTypes[] = { "anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg" };
+extern u32 *data_027e0ce0[];
THUMB ItemManager* ItemManager::Create() {
gItemManager = new(data_027e0ce0[1], 4) ItemManager();
return gItemManager;
@@ -235,8 +236,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 +254,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) &&
@@ -380,3 +380,703 @@ THUMB void ItemManager::RemoveItem(ItemFlag item) {
(*mAmmo)[item] = 0;
}
}
+
+extern ItemModel **data_027e1058;
+extern ItemModel **data_027e105c;
+extern "C" ItemModel* func_ov00_02079ffc(void*, const char *modelName, const char *textureName, unk32 param4, unk8 param5, unk8 param6, bool param7);
+extern "C" ItemModel* LoadTreasureItemFanfare(ItemModel**, s32 treasureType, bool, bool);
+static char *sDefaultItemModel = "key";
+static char *sItemModelNames[70] = {
+ [ItemId_Nothing] = "key",
+ [ItemId_SmallKey] = "key",
+ [ItemId_GreenRupee] = "rupee_g",
+ [ItemId_OshusSword] = "swA",
+ [ItemId_WoodenShield] = "shA",
+ [ItemId_Unk_5] = NULL,
+ [ItemId_Unk_6] = "force_y",
+ [ItemId_BombBag] = "bomb\0\0\0",
+ [ItemId_Bow] = "bow",
+ [ItemId_BigGreenRupee] = "rupee_g",
+ [ItemId_HeartContainer] = "heart_utu\0\0",
+ [ItemId_Unk_11] = NULL,
+ [ItemId_Boomerang] = "boomerang\0\0",
+ [ItemId_Scoop] = "scp",
+ [ItemId_BombchuBag] = "bomchu\0",
+ [ItemId_BossKey] = "bosskey",
+ [ItemId_Unk_16] = "rev_bin",
+ [ItemId_Unk_17] = NULL,
+ [ItemId_PhantomHourglass] = NULL,
+ [ItemId_SWSeaChart] = "mapSea\0",
+ [ItemId_NWSeaChart] = "mapSea\0",
+ [ItemId_SESeaChart] = "mapSea\0",
+ [ItemId_NESeaChart] = "mapSea\0",
+ [ItemId_Unk_23] = NULL,
+ [ItemId_BlueRupee] = "rupee_b",
+ [ItemId_RedRupee] = "rupee_r",
+ [ItemId_BigRedRupee] = "rupee_r",
+ [ItemId_GoldRupee] = "rupee_go\0\0\0",
+ [ItemId_Unk_28] = "force_y",
+ [ItemId_Unk_29] = "force_r",
+ [ItemId_Unk_30] = "force_b",
+ [ItemId_Hammer] = "ham",
+ [ItemId_Rope] = "rope\0\0\0",
+ [ItemId_SquareCrystal] = "cstl_c\0",
+ [ItemId_RoundCrystal] = "cstl_s\0",
+ [ItemId_TriangleCrystal] = "cstl_t\0",
+ [ItemId_FishingRod] = "fp\0",
+ [ItemId_Cannon] = NULL,
+ [ItemId_SunKey] = "key_su\0",
+ [ItemId_Unk_39] = NULL,
+ [ItemId_Quiver] = "arrowpod\0\0\0",
+ [ItemId_BigBombBag] = "bmbagM\0",
+ [ItemId_BigBombchuBag] = "bcbagM\0",
+ [ItemId_Unk_43] = NULL,
+ [ItemId_KingsKey] = "key_ki\0",
+ [ItemId_PowerGem] = "minaP\0\0",
+ [ItemId_WisdomGem] = "minaC\0\0",
+ [ItemId_CourageGem] = "minaY\0\0",
+ [ItemId_PinkCoral] = NULL,
+ [ItemId_WhitePearlLoop] = NULL,
+ [ItemId_DarkPearlLoop] = NULL,
+ [ItemId_ZoraScale] = NULL,
+ [ItemId_GoronAmber] = NULL,
+ [ItemId_RutoCrown] = NULL,
+ [ItemId_HelmarocPlume] = NULL,
+ [ItemId_RegalRing] = NULL,
+ [ItemId_GhostKey] = "key_gh\0",
+ [ItemId_FreebieCard] = "tic_tada\0\0\0",
+ [ItemId_ComplimentCard] = "tic_ohome\0\0",
+ [ItemId_ComplimentaryCard] = "tic_rare\0\0\0",
+ [ItemId_RegalNecklace] = "neckl\0\0",
+ [ItemId_SalvageArm] = "slvarm\0",
+ [ItemId_HerosNewClothes] = NULL,
+ [ItemId_Kaleidoscope] = "telescope\0\0",
+ [ItemId_GuardNotebook] = "notebook\0\0\0",
+ [ItemId_JolenesLetter] = "letter\0",
+ [ItemId_PrizePostcard] = "card\0\0\0",
+ [ItemId_WoodHeart] = "marron\0",
+ [ItemId_PhantomSwordBlade] = "swBedge",
+ [ItemId_PhantomSword] = NULL,
+};
+static char *sItemModelNames2[8] = {
+ [ItemId_SwordsmanScroll - ItemId_SwordsmanScroll] = "makimono\0\0\0",
+ [ItemId_Crimsonine - ItemId_SwordsmanScroll] = "hagaH\0\0",
+ [ItemId_Azurine - ItemId_SwordsmanScroll] = "hagaK\0\0",
+ [ItemId_Aquanine - ItemId_SwordsmanScroll] = "hagaS\0\0",
+ [ItemId_RedPotion - ItemId_SwordsmanScroll] = "rev_bin",
+ [ItemId_PurplePotion - ItemId_SwordsmanScroll] = "rev_binP\0\0\0",
+ [ItemId_YellowPotion - ItemId_SwordsmanScroll] = "rev_binY\0\0\0",
+ [ItemId_SandOfHours - ItemId_SwordsmanScroll] = "sand_m\0",
+};
+static char *sItemModelNames3[9] = {
+ [ItemId_CycloneSlate - ItemId_CycloneSlate] = "compass",
+ [ItemId_Unk_128 - ItemId_CycloneSlate] = "lure\0\0\0",
+ [ItemId_Rupoor10 - ItemId_CycloneSlate] = "rupee_bb\0\0\0",
+ [ItemId_Rupoor50 - ItemId_CycloneSlate] = "rupee_bb\0\0\0",
+ [ItemId_Unk_131 - ItemId_CycloneSlate] = NULL,
+ [ItemId_Unk_132 - ItemId_CycloneSlate] = NULL,
+ [ItemId_Unk_133 - ItemId_CycloneSlate] = NULL,
+ [ItemId_Unk_134 - ItemId_CycloneSlate] = NULL,
+ [ItemId_Unk_135 - ItemId_CycloneSlate] = NULL,
+};
+char *sSpecialItemModelNames[7] = {
+ "mapTakara\0\0",
+ "arrowpodL\0\0",
+ "bmbagL\0",
+ "bcbagL\0",
+ "Player/get/gd_\0",
+ ".nsbmd\0",
+ ".nsbtx\0",
+};
+THUMB void ItemManager::LoadFanfareItem(ItemId id) {
+ mFanfareItem = id;
+
+ ItemModel *model;
+ if (
+ id == ItemId_Unk_43 ||
+ id == ItemId_Cannon ||
+ (id >= ItemId_GOLDEN_SHIP_START && id <= ItemId_GOLDEN_SHIP_END) ||
+ id == ItemId_Unk_126 ||
+ id == ItemId_Unk_133
+ ) {
+ model = *data_027e1058;
+ } else if (
+ id >= ItemId_TREASURE_START &&
+ id <= ItemId_TREASURE_END
+ ) {
+ model = LoadTreasureItemFanfare(data_027e105c, id - ItemId_TREASURE_START, true, false);
+ } else if (id == ItemId_Unk_125) {
+ model = *data_027e105c;
+ } else {
+ char modelName[0x80] = {};
+ char textureName[0x80] = {};
+ const char *itemName = NULL;
+ if (id == ItemId_Quiver && (s32) mQuiverSize >= 1) {
+ itemName = sSpecialItemModelNames[1];
+ } else if (id == ItemId_BigBombBag && (s32) mBombBagSize >= 1) {
+ itemName = sSpecialItemModelNames[2];
+ } else if (id == ItemId_BigBombchuBag && (s32) mBombchuBagSize >= 1) {
+ itemName = sSpecialItemModelNames[3];
+ } else if (id == ItemId_HerosNewClothes) {
+ itemName = sShipPartTypes[11];
+ } else if (id < ItemId_Unk_70) {
+ itemName = sItemModelNames[id];
+ } else if (id >= ItemId_SwordsmanScroll && id < ItemId_GoldenChimney) {
+ itemName = sItemModelNames2[id - ItemId_SwordsmanScroll];
+ } else if (id >= ItemId_CycloneSlate && id < ItemId_Unk_136) {
+ itemName = sItemModelNames3[id - ItemId_CycloneSlate];
+ } else if (id >= ItemId_TREASURE_CHART_START && id <= ItemId_TREASURE_CHART_END) {
+ itemName = sSpecialItemModelNames[0];
+ }
+ if (!itemName) {
+ itemName = sDefaultItemModel;
+ }
+ strcat(modelName, sSpecialItemModelNames[4]);
+ strcat(modelName, itemName);
+ strcat(modelName, sSpecialItemModelNames[5]);
+ strcat(textureName, sSpecialItemModelNames[4]);
+ strcat(textureName, itemName);
+ strcat(textureName, sSpecialItemModelNames[6]);
+ model = func_ov00_02079ffc(mFanfareItemModel, modelName, textureName, 0, 0, 0, true);
+ }
+ mUnk_114->vfunc_0c(model);
+}
+
+THUMB bool ItemManager::GetFanfareItemScale(Vec3p *scale) const {
+ switch (mFanfareItem) {
+ case ItemId_BigGreenRupee:
+ case ItemId_BigRedRupee:
+ case ItemId_GoldRupee:
+ case ItemId_Rupoor50:
+ scale->x = FLOAT_TO_Q20(1.4);
+ scale->y = FLOAT_TO_Q20(1.4);
+ scale->z = FLOAT_TO_Q20(1.4);
+ return true;
+ }
+ return false;
+}
+
+extern "C" void GiveShipPart(ShipPart part, ShipType type);
+extern "C" void EquipLinebeckCannon();
+THUMB void ItemManager::GiveItem(ItemId id) {
+ switch (id) {
+ case ItemId_SmallKey: {
+ this->GiveKeys(1);
+ } break;
+
+ case ItemId_GreenRupee: {
+ this->GiveRupees(1, true);
+ } break;
+
+ case ItemId_BlueRupee: {
+ this->GiveRupees(5, true);
+ } break;
+
+ case ItemId_RedRupee: {
+ this->GiveRupees(20, true);
+ } break;
+
+ case ItemId_BigGreenRupee: {
+ this->GiveRupees(100, true);
+ } break;
+
+ case ItemId_BigRedRupee: {
+ this->GiveRupees(200, true);
+ } break;
+
+ case ItemId_GoldRupee: {
+ this->GiveRupees(300, true);
+ } break;
+
+ case ItemId_OshusSword: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_OshusSword);
+ this->GetEquipItem(ItemFlag_OshusSword)->GiveAmmo(1);
+ } break;
+
+ case ItemId_WoodenShield: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_WoodenShield);
+ this->GetEquipItem(ItemFlag_WoodenShield)->GiveAmmo(1);
+ } break;
+
+ case ItemId_BombBag: {
+ this->GiveEquipItem(ItemFlag_BombBag, 10);
+ } break;
+
+ case ItemId_BombchuBag: {
+ this->GiveEquipItem(ItemFlag_BombchuBag, 10);
+ } break;
+
+ case ItemId_Bow: {
+ this->GiveEquipItem(ItemFlag_Bow, 20);
+ } break;
+
+ case ItemId_Boomerang: {
+ this->GiveEquipItem(ItemFlag_Boomerang, 1);
+ } break;
+
+ case ItemId_Scoop: {
+ this->GiveEquipItem(ItemFlag_Shovel, 1);
+ } break;
+
+ case ItemId_Hammer: {
+ this->GiveEquipItem(ItemFlag_Hammer, 1);
+ } break;
+
+ case ItemId_Rope: {
+ this->GiveEquipItem(ItemFlag_GrapplingHook, 1);
+ } break;
+
+ case ItemId_PhantomHourglass: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_Hourglass);
+ gAdventureFlags->Set(AdventureFlag_Hourglass, true);
+ } break;
+
+ case ItemId_SWSeaChart: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartSW);
+ gAdventureFlags->Set(AdventureFlag_SWSeaChart, true);
+ } break;
+
+ case ItemId_NWSeaChart: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartNW);
+ gAdventureFlags->Set(AdventureFlag_NWSeaChart, true);
+ } break;
+
+ case ItemId_SESeaChart: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartSE);
+ gAdventureFlags->Set(AdventureFlag_SESeaChart, true);
+ } break;
+
+ case ItemId_NESeaChart: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartNE);
+ gAdventureFlags->Set(AdventureFlag_NESeaChart, true);
+ } break;
+
+ case ItemId_FishingRod: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_FishingRod);
+ gAdventureFlags->Set(AdventureFlag_FishingRod, true);
+ } break;
+
+ case ItemId_Cannon: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_Cannon);
+ gAdventureFlags->Set(AdventureFlag_Cannon, true);
+ GiveShipPart(ShipPart_Cannon, ShipType_Linebeck);
+ EquipLinebeckCannon();
+ } break;
+
+ case ItemId_SunKey: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_SunKey);
+ gAdventureFlags->Set(AdventureFlag_SunKey, true);
+ } break;
+
+ case ItemId_Unk_39: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_Unk_39);
+ gAdventureFlags->Set(AdventureFlag_Unk_23, true);
+ } break;
+
+ case ItemId_Quiver: {
+ this->UpgradeQuiver();
+ } break;
+
+ case ItemId_BigBombBag: {
+ this->UpgradeBombBag();
+ } break;
+
+ case ItemId_BigBombchuBag: {
+ this->UpgradeBombchuBag();
+ } break;
+
+ case ItemId_KingsKey: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_KingsKey);
+ } break;
+
+ case ItemId_GhostKey: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_GhostKey);
+ } break;
+
+ case ItemId_PowerGem: {
+ mNumGems[Gem_Power] += 1;
+ } break;
+
+ case ItemId_WisdomGem: {
+ mNumGems[Gem_Wisdom] += 1;
+ } break;
+
+ case ItemId_CourageGem: {
+ mNumGems[Gem_Courage] += 1;
+ } break;
+
+ case ItemId_SalvageArm: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_SalvageArm);
+ gAdventureFlags->Set(AdventureFlag_SalvageArm, true);
+ gHealthManager->mSalvageArmHealth = 5;
+ } break;
+
+ case ItemId_SwordsmanScroll: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_SwordsmansScroll);
+ } break;
+
+ case ItemId_Crimsonine: {
+ gAdventureFlags->Set(AdventureFlag_Crimsonine, true);
+ } break;
+
+ case ItemId_Azurine: {
+ gAdventureFlags->Set(AdventureFlag_Azurine, true);
+ } break;
+
+ case ItemId_Aquanine: {
+ gAdventureFlags->Set(AdventureFlag_Aquanine, true);
+ } break;
+
+ case ItemId_SpiritOfPowerUpgradeLvl1: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_PowerLv1);
+ } break;
+
+ case ItemId_SpiritOfWisdomUpgradeLvl1: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_WisdomLv1);
+ } break;
+
+ case ItemId_SpiritOfCourageUpgradeLvl1: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_CourageLv1);
+ } break;
+
+ case ItemId_SpiritOfPowerUpgradeLvl2: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_PowerLv2);
+ } break;
+
+ case ItemId_SpiritOfWisdomUpgradeLvl2: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_WisdomLv2);
+ } break;
+
+ case ItemId_SpiritOfCourageUpgradeLvl2: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_CourageLv2);
+ } break;
+
+ case ItemId_RedPotion: {
+ for (s32 i = 0; i < MAX_POTIONS; ++i) {
+ if (mPotions[i] != Potion_None) continue;
+ this->SetPotion(i, Potion_Red);
+ break;
+ }
+ } break;
+
+ case ItemId_PurplePotion: {
+ for (s32 i = 0; i < MAX_POTIONS; ++i) {
+ if (mPotions[i] != Potion_None) continue;
+ this->SetPotion(i, Potion_Purple);
+ break;
+ }
+ } break;
+
+ case ItemId_YellowPotion: {
+ for (s32 i = 0; i < MAX_POTIONS; ++i) {
+ if (mPotions[i] != Potion_None) continue;
+ this->SetPotion(i, Potion_Yellow);
+ break;
+ }
+ } break;
+
+ case ItemId_SandOfHours: {
+ mHourglassSandFrames += 3600;
+ } break;
+
+ case ItemId_GoldenChimney: {
+ gAdventureFlags->Set(AdventureFlag_ReceivedGoldenChimney, true);
+ GiveShipPart(ShipPart_Chimney, ShipType_Golden);
+ } break;
+
+ case ItemId_GoldenHandrail: {
+ gAdventureFlags->Set(AdventureFlag_ReceivedGoldenHandrail, true);
+ GiveShipPart(ShipPart_Handrail, ShipType_Golden);
+ } break;
+
+ case ItemId_GoldenCannon: {
+ gAdventureFlags->Set(AdventureFlag_ReceivedGoldenCannon, true);
+ GiveShipPart(ShipPart_Cannon, ShipType_Golden);
+ } break;
+
+ case ItemId_GoldenHull: {
+ gAdventureFlags->Set(AdventureFlag_ReceivedGoldenHull, true);
+ GiveShipPart(ShipPart_Hull, ShipType_Golden);
+ } break;
+
+ case ItemId_CycloneSlate: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_CycloneSlate);
+ } break;
+
+ case ItemId_Unk_128: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_Unk_47);
+ } break;
+
+ case ItemId_Rupoor10: {
+ this->GiveRupees(-10, true);
+ } break;
+
+ case ItemId_Rupoor50: {
+ this->GiveRupees(-50, true);
+ } break;
+
+ case ItemId_Nothing: break;
+ case ItemId_Unk_5: break;
+ case ItemId_Unk_16: break;
+ case ItemId_Unk_131: break;
+ case ItemId_Unk_132: break;
+
+ default: {
+ if (ItemId_TREASURE_CHART_START <= id && id <= ItemId_TREASURE_CHART_END) {
+ SET_FLAG(mItemFlags.flags, id + ItemFlag_TREASURE_CHART_START - ItemId_TREASURE_CHART_START);
+ }
+ } break;
+ }
+ if (
+ gAdventureFlags->Get(AdventureFlag_Azurine) &&
+ gAdventureFlags->Get(AdventureFlag_Crimsonine) &&
+ gAdventureFlags->Get(AdventureFlag_Aquanine)
+ ) {
+ gAdventureFlags->Set(AdventureFlag_Unk_128, true);
+ }
+}
+
+THUMB void ItemManager::GiveEquipItem(ItemFlag item, u16 ammo) {
+ u16 flag = item;
+ SET_FLAG(mItemFlags.flags, flag);
+ this->GetEquipItem(item)->GiveAmmo(ammo);
+ if (mEquippedItem == ItemFlag_None) {
+ this->mEquippedItem = item;
+ this->mEquipLoadTimer = 1;
+ }
+}
+
+THUMB void ItemManager::UnequipPotion() {
+ switch (mEquippedItem) {
+ case ItemFlag_PotionA:
+ case ItemFlag_PotionB: {
+ this->EquipPreviousItem();
+ } break;
+ }
+}
+
+ARM s32 ItemManager::GetMaxRupees() const {
+ return 9999;
+}
+
+extern void *data_027e103c;
+extern "C" s32 func_ov00_020cf374(void *param1, bool param2);
+extern "C" void func_ov05_02104004(void *param1);
+ARM void ItemManager::GiveRupees(s16 amount, bool param2) {
+ s32 newRupees = mNumRupees + amount;
+ if (newRupees > this->GetMaxRupees()) {
+ newRupees = this->GetMaxRupees();
+ } else if (newRupees < 0) {
+ newRupees = 0;
+ }
+
+ s32 currRupees = func_ov00_020cf374(data_027e103c, true);
+ if (param2) {
+ currRupees = mNumRupees;
+ if (currRupees != newRupees) {
+ func_ov05_02104004(data_027e103c);
+ }
+ }
+ mNumRupees = newRupees;
+}
+
+ARM unk32 ItemManager::GetNumKeys() const {
+ return gMapManager->GetNumKeys();
+}
+
+THUMB void ItemManager::GiveKeys(u32 amount) {
+ s32 keys = amount + gMapManager->GetNumKeys();
+ if (keys >= MAX_KEYS) keys = MAX_KEYS;
+ if (keys <= 0) keys = 0;
+ gMapManager->SetNumKeys(keys);
+}
+
+ARM ItemFlag ItemManager::GetEquippedItem() const {
+ if (mForcedItem != ItemFlag_None) return mForcedItem;
+ return mEquippedItem;
+}
+
+ARM bool ItemManager::SetEquippedItem(ItemFlag equipId) {
+ mPrevEquippedItem = mEquippedItem;
+ mEquippedItem = equipId;
+ mEquipLoadTimer = 2;
+ return true;
+}
+
+ARM void ItemManager::EquipPreviousItem() {
+ this->SetEquippedItem(mPrevEquippedItem);
+}
+
+THUMB void ItemManager::ForceEquipItem(ItemFlag equipId) {
+ for (ItemFlag i = ItemFlag_EQUIP_START; i < ItemFlag_EQUIP_END; ++i) {
+ if (i == equipId) continue;
+ (*mEquipItems)[i - ItemFlag_EQUIP_START]->UpdateInUse(0);
+ }
+ mForcedItem = equipId;
+ mEquipLoadTimer = 1;
+}
+
+THUMB bool ItemManager::ClearForcedEquipItem() {
+ mForcedItem = ItemFlag_None;
+ if (mEquippedItem != ItemFlag_None) return this->SetEquippedItem(mEquippedItem);
+ return false;
+}
+
+ARM void ItemManager::UpdateSwordShieldInUse() {
+ this->GetEquipItem(ItemFlag_OshusSword)->UpdateInUse(1);
+ this->GetEquipItem(ItemFlag_WoodenShield)->UpdateInUse(1);
+}
+
+THUMB void ItemManager::UpgradeQuiver() {
+ if (mQuiverSize < MAX_AMMO_UPGRADE) mQuiverSize += 1;
+ (*mAmmo)[ItemFlag_Bow] = this->GetMaxAmmo(ItemFlag_Bow);
+}
+
+THUMB void ItemManager::UpgradeBombBag() {
+ if (mBombBagSize < MAX_AMMO_UPGRADE) mBombBagSize += 1;
+ (*mAmmo)[ItemFlag_BombBag] = this->GetMaxAmmo(ItemFlag_BombBag);
+}
+
+THUMB void ItemManager::UpgradeBombchuBag() {
+ if (mBombchuBagSize < MAX_AMMO_UPGRADE) mBombchuBagSize += 1;
+ (*mAmmo)[ItemFlag_BombchuBag] = this->GetMaxAmmo(ItemFlag_BombchuBag);
+}
+
+ARM void ItemManager::func_ov00_020ae4dc(s32 param1) {
+ s32 newValue = mUnk_0ba + param1;
+ if (newValue > MAX_UNK_0BA) {
+ mUnk_0ba = MAX_UNK_0BA;
+ } else if (mUnk_0ba < -param1) {
+ mUnk_0ba = 0;
+ } else {
+ mUnk_0ba = newValue;
+ }
+}
+
+ARM void ItemManager::SetPotion(u32 index, Potion potion) {
+ mPotions[index] = potion;
+ if (potion == Potion_None) {
+ RESET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA);
+ } else {
+ SET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA);
+ }
+}
+
+ARM bool ItemManager::HasPotion(u32 index) const {
+ switch (mPotions[index]) {
+ case Potion_Red:
+ case Potion_Purple:
+ case Potion_Yellow:
+ return true;
+
+ case Potion_None:
+ default:
+ return false;
+ }
+}
+
+ARM bool ItemManager::HasAllPotions() const {
+ for (s32 i = 0; i < MAX_POTIONS; ++i) {
+ if (!this->HasPotion(i)) return false;
+ }
+ return true;
+}
+
+ARM bool ItemManager::HasPurplePotion() const {
+ for (s32 i = 0; i < MAX_POTIONS; ++i) {
+ if (mPotions[i] == Potion_Purple) return true;
+ }
+ return false;
+}
+
+extern "C" void func_020196bc(ItemModel *param1, unk32 param2);
+extern "C" void func_020196fc(ItemModel *param1, unk32 param2);
+THUMB void ItemManager::LoadDungeonItemModels() {
+ for (s32 i = 0; i < DungeonItemModelId_COUNT; ++i) {
+ if (mDungeonItemModels[i] == NULL) continue;
+
+ u16 unk1, unk2;
+ switch (i) {
+ case DungeonItemModelId_RoundCrystal:
+ case DungeonItemModelId_SquareCrystal:
+ case DungeonItemModelId_TriangleCrystal: {
+ unk1 = data_027e0f78->mUnk_1e;
+ unk2 = data_027e0f78->mUnk_1c;
+ } break;
+
+ default: {
+ unk1 = data_027e0f78->mUnk_1a;
+ unk2 = data_027e0f78->mUnk_18;
+ } break;
+ }
+ func_020196bc(mDungeonItemModels[i], unk1);
+ func_020196fc(mDungeonItemModels[i], unk2);
+ }
+}
+
+extern unk32 data_ov00_020eec68;
+extern "C" void PlaySoundEffect(void *param1, SfxId sfx);
+THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) {
+ if (gItemManager->mMuteNextFanfare == true) {
+ gItemManager->mMuteNextFanfare = false;
+ return;
+ }
+ SfxId sfx;
+ switch (item) {
+ case ItemId_PowerGem:
+ case ItemId_WisdomGem:
+ case ItemId_CourageGem: {
+ sfx = SfxId_Fanfare_Gem;
+ } break;
+
+ case ItemId_GoldRupee: {
+ sfx = SfxId_Fanfare_GoldRupee;
+ } break;
+
+ case ItemId_SmallKey:
+ case ItemId_GreenRupee:
+ case ItemId_BlueRupee:
+ case ItemId_RedRupee: {
+ sfx = SfxId_Fanfare_Rupee;
+ } break;
+
+ case ItemId_Rupoor10:
+ case ItemId_Rupoor50: {
+ sfx = SfxId_Fanfare_Rupoor;
+ } break;
+
+ case ItemId_Nothing:
+ case ItemId_HerosNewClothes: {
+ sfx = SfxId_Fanfare_Nothing_2;
+ } break;
+
+ case ItemId_HeartContainer: {
+ sfx = SfxId_Fanfare_HeartContainer;
+ } break;
+
+ default: {
+ sfx = SfxId_Fanfare_Treasure;
+ } break;
+ }
+ if (gItemManager->mFanfareSfx != SfxId_None) {
+ sfx = gItemManager->mFanfareSfx;
+ gItemManager->mFanfareSfx = SfxId_None;
+ }
+ PlaySoundEffect(&data_ov00_020eec68, sfx);
+}
+
+THUMB bool ItemManager::HasShipPartPriceShown(ShipPart part, ShipType type) const {
+ return GET_FLAG(mShipPartPricesShown.flags, part * ShipType_COUNT + type);
+}
+
+THUMB void ItemManager::AddShipPartPriceShown(ShipPart part, ShipType type) {
+ SET_FLAG(mShipPartPricesShown.flags, part * ShipType_COUNT + type);
+}
+
+THUMB bool ItemManager::HasTreasurePriceShown(Treasure treasure) const {
+ return GET_FLAG(mTreasurePriceShownFlags, treasure);
+}
+
+THUMB void ItemManager::AddTreasurePriceShown(Treasure treasure) {
+ SET_FLAG(mTreasurePriceShownFlags, treasure);
+}
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/.gitignore b/tools/.gitignore
index 04555228..a013c9f3 100644
--- a/tools/.gitignore
+++ b/tools/.gitignore
@@ -1,2 +1,3 @@
mwccarm/
temp/
+deps/
diff --git a/tools/elf/.gitignore b/tools/elf/.gitignore
new file mode 100644
index 00000000..ea95eb29
--- /dev/null
+++ b/tools/elf/.gitignore
@@ -0,0 +1,2 @@
+elfkill
+elfkill.exe
diff --git a/tools/elf/Makefile b/tools/elf/Makefile
new file mode 100644
index 00000000..16cfdfca
--- /dev/null
+++ b/tools/elf/Makefile
@@ -0,0 +1,22 @@
+CXX := g++
+CFLAGS := -std=c++17 -g -Wall -I../include -I../deps/elfio
+
+ifneq ($(DEBUG),1)
+ CFLAGS += -O2 -DNDEBUG
+endif
+
+ifeq ($(OS),Windows_NT)
+ ELFKILLFILE := elfkill.exe
+else
+ ELFKILLFILE := elfkill
+endif
+
+.PHONY: all clean
+
+all: $(ELFKILLFILE)
+
+clean:
+ rm -f $(ELFKILLFILE)
+
+$(ELFKILLFILE): elfkill.cpp
+ $(CXX) $(CFLAGS) -o $(ELFKILLFILE) elfkill.cpp
diff --git a/tools/elf/elfkill.cpp b/tools/elf/elfkill.cpp
new file mode 100644
index 00000000..da4d77d1
--- /dev/null
+++ b/tools/elf/elfkill.cpp
@@ -0,0 +1,293 @@
+#include // cout, cerr, endl
+#include // setw
+#include // vector
+#include // string
+#include // unordered_set
+#include // strcmp, strncpy
+#include // ifstream
+#include // remove
+
+#include
+#include
+
+#define VERSION "1.0"
+
+using namespace ELFIO;
+
+struct SymbolSection {
+ Elf_Half index;
+ section *elfSection;
+ std::string name;
+
+ bool Get(const elfio &elf, Elf_Half index) {
+ this->index = index;
+
+ elfSection = elf.sections[index];
+ if (elfSection == nullptr) {
+ std::cerr << "Failed to get section " << index << std::endl;
+ return false;
+ }
+
+ name = elfSection->get_name();
+ return true;
+ }
+
+ bool SetName(const elfio &elf, const std::string &name) {
+ elfSection->set_name(name);
+ this->name = name;
+
+ Elf_Word nameIndex = elfSection->get_name_string_offset();
+
+ section *shstrtab = elf.sections[".shstrtab"];
+ if (shstrtab == nullptr) {
+ std::cerr << "Failed to get string section" << std::endl;
+ return false;
+ }
+
+ string_section_accessor strAccessor(shstrtab);
+ const char *tabStr = strAccessor.get_string(nameIndex);
+ size_t len = strlen(tabStr);
+
+ if (len < name.length()) {
+ std::cerr << "Cannot rename section " << tabStr << " because it is shorter than " << name << std::endl;
+ return false;
+ }
+
+ // HACK: Strings shorter than `name` can't be renamed due to lack of space
+ strncpy((char*) tabStr, name.c_str(), len);
+ return true;
+ }
+};
+
+struct Symbol {
+ Elf_Xword index;
+ std::string name;
+ Elf64_Addr value;
+ Elf_Xword size;
+ unsigned char bind;
+ unsigned char type;
+ SymbolSection section;
+ unsigned char other;
+
+ bool Get(const elfio &elf, const symbol_section_accessor &accessor, Elf_Xword index) {
+ this->index = index;
+
+ if (!accessor.get_symbol(index, name, value, size, bind, type, section.index, other)) {
+ std::cerr << "Failed to get symbol at index " << index << std::endl;
+ return false;
+ }
+
+ if (!section.Get(elf, section.index)) {
+ std::cerr << "...for symbol '" << name << "'" << std::endl;
+ return false;
+ }
+
+ return true;
+ }
+
+ static void PrintHeader() {
+ std::cout
+ << std::setw(75) << "name"
+ << std::setw(6) << "value"
+ << std::setw(6) << "size"
+ << std::setw(5) << "bind"
+ << std::setw(5) << "type"
+ << std::setw(8) << "section"
+ << std::setw(12) << ""
+ << std::setw(6) << "other"
+ << std::endl;
+ }
+
+ void Print() const {
+ std::cout
+ << std::setw(75) << name
+ << std::setw(6) << value
+ << std::setw(6) << size
+ << std::setw(5) << (int) bind
+ << std::setw(5) << (int) type
+ << std::setw(5) << section.index << ' '
+ << std::setw(14) << std::left << section.name << std::right
+ << std::setw(6) << (int) other
+ << std::endl;
+ }
+};
+
+bool GetFunctionSymbols(const elfio &elf, std::vector &outSymbols) {
+ section *symtab = elf.sections[".symtab"];
+ if (symtab == nullptr) {
+ std::cerr << "No section called .symtab" << std::endl;
+ return false;
+ }
+
+ symbol_section_accessor symAccessor(elf, symtab);
+ std::vector symbols;
+ for (Elf_Xword i = 0; i < symAccessor.get_symbols_num(); ++i) {
+ Symbol symbol;
+ if (!symbol.Get(elf, symAccessor, i)) return false;
+
+ if (symbol.name.find("@", 0) == 0) continue;
+ if (symbol.name.find("$", 0) == 0) continue;
+ if (symbol.name.find(".", 0) == 0) continue;
+ if (symbol.section.name != ".text") continue;
+
+ symbols.push_back(symbol);
+ }
+
+ outSymbols = symbols;
+ return true;
+}
+
+bool FindSymbolsToKill(const char *srcFile, std::unordered_set &outSymbolsToKill) {
+ std::ifstream file(srcFile);
+
+ const std::string killMacro = "KILL(";
+ std::string line;
+ size_t row = 0;
+ std::unordered_set symbolsToKill;
+ while (std::getline(file, line)) {
+ row += 1;
+ size_t endOffset = 0;
+ while (true) {
+ size_t macroOffset = line.find(killMacro, endOffset);
+ if (macroOffset == std::string::npos) break;
+
+ size_t symbolOffset = macroOffset + killMacro.length();
+ symbolOffset = line.find_first_not_of(" \t", symbolOffset);
+ if (symbolOffset == std::string::npos) {
+ std::cerr
+ << srcFile << ':' << row << ':' << macroOffset + 1
+ << ": Expected non-whitespace character after " << killMacro << std::endl;
+ return false;
+ }
+
+ endOffset = line.find_first_of(" \t)", symbolOffset);
+ if (endOffset == std::string::npos) {
+ std::cerr
+ << srcFile << ':' << row << ':' << symbolOffset + 1
+ << ": Expected whitespace character or ')' after kill symbol" << std::endl;
+ return false;
+ }
+
+ std::string symbolToKill = line.substr(symbolOffset, endOffset - symbolOffset);
+ symbolsToKill.insert(symbolToKill);
+ }
+ }
+
+ file.close();
+ outSymbolsToKill = symbolsToKill;
+ return true;
+}
+
+bool KillFunctionSymbols(
+ const elfio &elf,
+ std::vector &symbols,
+ std::unordered_set &symbolsToKill,
+ const char *srcFile
+) {
+ for (Symbol &symbol : symbols) {
+ auto it = symbolsToKill.find(symbol.name);
+ if (it == symbolsToKill.end()) continue;
+
+ if (!symbol.section.SetName(elf, ".dead")) return false;
+ symbolsToKill.erase(it);
+ }
+
+ if (symbolsToKill.empty()) return true;
+
+ std::cerr << srcFile << ": the following functions couldn't be killed because they do not exist:\n";
+ for (const std::string &symbolToKill : symbolsToKill) {
+ std::cerr << " " << symbolToKill << '\n';
+ }
+ std::cerr << std::endl;
+ return false;
+}
+
+bool DeleteElf(const char *elfFile) {
+ // Delete ELF file so the Makefile doesn't skip elfkill on next build
+ if (std::remove(elfFile) == 0) return true;
+ std::cerr << "Failed to delete ELF '" << elfFile << "' upon previous error" << std::endl;
+ return false;
+}
+
+void PrintUsage(const char *program) {
+ std::cout
+ << "elfkill " VERSION "\n"
+ << "\n"
+ << "Usage: " << program << " -s SRCFILE -e ELFFILE\n"
+ << " -s SRCFILE\tSource C/C++ file\n"
+ << " -e ELFFILE\tELF file corresponding to SRCFILE\n"
+ << std::endl;
+}
+
+int main(int argc, const char **argv) {
+ const char *program = argv[0];
+ if (argc == 1) {
+ PrintUsage(program);
+ return 0;
+ }
+ const char *srcFile = nullptr;
+ const char *elfFile = nullptr;
+ for (int i = 1; i < argc; ++i) {
+ if (strcmp(argv[i], "-s") == 0) {
+ if (++i >= argc) {
+ std::cerr << "Expected filename after -s" << std::endl;
+ return 1;
+ }
+ srcFile = argv[i];
+ } else if (strcmp(argv[i], "-e") == 0) {
+ if (++i >= argc) {
+ std::cerr << "Expected filename after -e" << std::endl;
+ return 1;
+ }
+ elfFile = argv[i];
+ } else {
+ std::cerr << "Unknown option '" << argv[i] << "'" << std::endl;
+ return 1;
+ }
+ }
+ if (srcFile == nullptr) {
+ PrintUsage(program);
+ std::cerr << "Please provide a source file, see usage above" << std::endl;
+ return 1;
+ }
+ if (elfFile == nullptr) {
+ PrintUsage(program);
+ std::cerr << "Please provide an ELF file, see usage above" << std::endl;
+ return 1;
+ }
+
+ elfio elf;
+ if (!elf.load(elfFile)) {
+ std::cerr << "Failed to load ELF file '" << elfFile << "'" << std::endl;
+ return 1;
+ }
+
+ std::vector symbols;
+ if (!GetFunctionSymbols(elf, symbols)) {
+ DeleteElf(elfFile);
+ return 1;
+ }
+
+ // Symbol::PrintHeader();
+ // for (const Symbol &symbol : symbols) {
+ // symbol.Print();
+ // }
+ // return 0;
+
+ std::unordered_set symbolsToKill;
+ if (!FindSymbolsToKill(srcFile, symbolsToKill)) {
+ DeleteElf(elfFile);
+ return 1;
+ }
+ if (!KillFunctionSymbols(elf, symbols, symbolsToKill, srcFile)) {
+ DeleteElf(elfFile);
+ return 1;
+ }
+
+ // Symbol::PrintHeader();
+ // for (const Symbol &symbol : symbols) {
+ // symbol.Print();
+ // }
+
+ elf.save(elfFile);
+}
diff --git a/tools/lcf.py b/tools/lcf.py
index e0da36bc..69efc7e4 100644
--- a/tools/lcf.py
+++ b/tools/lcf.py
@@ -13,8 +13,8 @@ def name(path: str): return path.split("/")[-1]
ARM9_OBJECTS = [
'asm/main/main_02000000.s',
- 'asm/main/Actor/ActorType.s',
'src/Main/Actor/ActorType.cpp',
+ 'asm/main/Actor/ActorType.s',
'asm/main/main_0203e8a0.s',
@@ -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',
@@ -66,7 +78,6 @@ ov00 = Overlay(name='ov00', after='ARM9', objects=[
'src/00_Core/Item/Item.cpp',
'asm/ov00/Item/Item.s',
'src/00_Core/Item/ItemManager.cpp',
- 'asm/ov00/Item/ItemManager.s',
'src/00_Core/Player/LinkStateRoll.cpp',
'asm/ov00/Player/LinkStateRoll.s',
'src/00_Core/Player/PlayerControl.cpp',
@@ -74,13 +85,13 @@ ov00 = Overlay(name='ov00', after='ARM9', objects=[
'asm/ov00/ov00_020b1498.s',
- 'asm/ov00/Actor/Actor.s',
'src/00_Core/Actor/Actor.cpp',
+ 'asm/ov00/Actor/Actor.s',
'asm/ov00/ov00_020c3348.s',
- 'asm/ov00/Actor/ActorManager.s',
'src/00_Core/Actor/ActorManager.cpp',
+ 'asm/ov00/Actor/ActorManager.s',
'asm/ov00/ov00_020c3e54.s',
])
diff --git a/tools/m2ctx.py b/tools/m2ctx.py
index 71562c0a..1ddb71d7 100755
--- a/tools/m2ctx.py
+++ b/tools/m2ctx.py
@@ -5,73 +5,39 @@ import pyperclip
import subprocess
import os
from pathlib import Path
+import argparse
+
+parser = argparse.ArgumentParser(description="Generates a context for decomp.me")
+parser.add_argument('file', help="Input file to preprocess")
+parser.add_argument('-f', type=str, dest='out_file', required=False, help='Output context file')
+parser.add_argument('-c', action=argparse.BooleanOptionalAction, dest='clipboard', required=False, help='Copy output to clipboard')
+parser.add_argument('-e', type=str, dest='encoding', required=False, default="Shift-JIS", help='Input file encoding')
+parser.add_argument('-v', action=argparse.BooleanOptionalAction, dest='verbose', required=False, help='Verbose error output')
+args = parser.parse_args()
CXX_FLAGS = [
'-nostdinc',
'-Iinclude',
- '-Ilibs/c/include'
+ '-Ilibs/c/include',
+ '-Ilibs/cpp/include'
]
script_dir = Path(os.path.dirname(os.path.realpath(__file__)))
root_dir = script_dir / ".."
-program = os.path.basename(sys.argv[0])
-
def eprint(*args, **kwargs):
print(*args, file=sys.stderr, **kwargs)
-def print_usage():
- eprint(f"Usage: {program} INFILE [-f OUTFILE] [-c] [-e ENCODING] [-v]")
- eprint(" INFILE \tInput file to preprocess")
- eprint(" -f OUTFILE \tOutput context file")
- eprint(" -c \tCopy output to clipboard")
- eprint(" -e ENCODING\tInput file encoding (Default: Shift-JIS)")
- eprint(" -v \tVerbose error output")
-
-if len(sys.argv) == 1:
- print_usage()
- exit(1)
-
-
-in_file = None
-out_file = None
-clipboard = False
-encoding = "Shift-JIS"
-verbose = False
-i = 1
-while i < len(sys.argv):
- arg = sys.argv[i]
- if arg == "-f":
- i += 1
- if i >= len(sys.argv):
- eprint("Expected output file after -f")
- exit(1)
- out_file = sys.argv[i]
- elif arg == "-c":
- clipboard = True
- elif arg == "-e":
- i += 1
- if i >= len(sys.argv):
- eprint("Expected input file encoding after -e")
- exit(1)
- encoding = sys.argv[i]
- elif arg == "-v":
- verbose = True
- elif arg.startswith("-"):
- eprint(f"Unknown option '{arg}'")
- elif in_file is None:
- in_file = arg
- else:
- eprint(f"Duplicate input file '{arg}'")
- exit(1)
- i += 1
-
-
try:
- ctx: str = subprocess.check_output(['gcc', '-E', '-P', '-undef', '-dD', *CXX_FLAGS, in_file], cwd=root_dir, encoding=encoding)
+ ctx: str = subprocess.check_output([
+ 'gcc',
+ '-E', '-P', '-fworking-directory', '-undef', '-dD',
+ *CXX_FLAGS,
+ args.file
+ ], cwd=root_dir, encoding=args.encoding)
except subprocess.CalledProcessError as e:
- eprint(f"Failed to preprocess '{in_file}'")
- if verbose: eprint(e)
+ eprint(f"Failed to preprocess '{args.file}'")
+ if args.verbose: eprint(e)
else: eprint("Use -v for more verbose error output")
exit(1)
@@ -85,17 +51,17 @@ for i in reversed(range(len(lines))):
ctx = ''.join(lines)
-if out_file:
+if args.out_file:
try:
- with open(out_file, "w") as file:
+ with open(args.out_file, "w") as file:
file.write(ctx)
except OSError as e:
- eprint(f"Failed to write file '{out_file}'")
- if verbose: eprint(e)
+ eprint(f"Failed to write file '{args.out_file}'")
+ if args.verbose: eprint(e)
else: eprint("Use -v for more verbose error output")
exit(1)
-if clipboard:
+if args.clipboard:
pyperclip.copy(ctx)
eprint("Copied context to clipboard")
-if out_file is None and not clipboard:
+if args.out_file is None and not args.clipboard:
print(ctx)
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
])
diff --git a/tools/setup.py b/tools/setup.py
index d3f420bf..e4433ca8 100644
--- a/tools/setup.py
+++ b/tools/setup.py
@@ -4,8 +4,11 @@ import io
from pathlib import Path
import subprocess
import sys
+import shutil
tools_path = Path(__file__).parent
+deps_path = tools_path / 'deps'
+if not deps_path.exists(): deps_path.mkdir()
print('\nInstalling toolchain...')
response = requests.get('http://decomp.aetias.com/mwccarm.zip')
@@ -14,3 +17,12 @@ zip_file.extractall(tools_path)
print('\nPatching...')
subprocess.run([sys.executable, 'patch_mwcc.py', 'mwccarm/2.0/sp1p5/mwasmarm.exe'], cwd=tools_path)
+
+print('\nInstalling ELFIO...')
+response = requests.get('https://github.com/serge1/ELFIO/releases/download/Release_3.12/elfio-3.12.zip')
+zip_file = zipfile.ZipFile(io.BytesIO(response.content))
+zip_file.extractall(deps_path)
+elfio_path = deps_path / 'elfio-3.12'
+elfio_new_path = deps_path / 'elfio'
+if elfio_new_path.exists(): shutil.rmtree(elfio_new_path)
+elfio_path.rename(elfio_new_path)