summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/eur/arm9/overlays/ov018/symbols.txt74
-rw-r--r--config/usa/arm9/overlays/ov018/symbols.txt74
-rw-r--r--include/Map/MapBase.hpp3
-rw-r--r--include/Map/MapOverworld.hpp75
-rw-r--r--include/Unknown/UnkStruct_ov000_020c0c08.hpp21
-rw-r--r--src/18_Overworld/Map/MapOverworld.cpp38
6 files changed, 209 insertions, 76 deletions
diff --git a/config/eur/arm9/overlays/ov018/symbols.txt b/config/eur/arm9/overlays/ov018/symbols.txt
index e5840916..605800d5 100644
--- a/config/eur/arm9/overlays/ov018/symbols.txt
+++ b/config/eur/arm9/overlays/ov018/symbols.txt
@@ -1,39 +1,39 @@
-func_ov018_0215b4a0 kind:function(arm,size=0x1ac) addr:0x215b4a0
-func_ov018_0215b64c kind:function(arm,size=0x10c) addr:0x215b64c
-func_ov018_0215b758 kind:function(arm,size=0x114) addr:0x215b758
-func_ov018_0215b86c kind:function(arm,size=0x518) addr:0x215b86c
-func_ov018_0215bd84 kind:function(arm,size=0x134) addr:0x215bd84
-func_ov018_0215beb8 kind:function(arm,size=0x110) addr:0x215beb8
-func_ov018_0215bfc8 kind:function(arm,size=0x17c) addr:0x215bfc8
-func_ov018_0215c144 kind:function(arm,size=0x84) addr:0x215c144
-func_ov018_0215c1c8 kind:function(arm,size=0xb4) addr:0x215c1c8
-func_ov018_0215c27c kind:function(arm,size=0x8) addr:0x215c27c
-func_ov018_0215c284 kind:function(arm,size=0xc) addr:0x215c284
-func_ov018_0215c290 kind:function(arm,size=0x20) addr:0x215c290
-func_ov018_0215c2b0 kind:function(arm,size=0x30) addr:0x215c2b0
-func_ov018_0215c2e0 kind:function(arm,size=0x20) addr:0x215c2e0
-func_ov018_0215c300 kind:function(arm,size=0x2c) addr:0x215c300
-func_ov018_0215c32c kind:function(arm,size=0x20) addr:0x215c32c
-func_ov018_0215c34c kind:function(arm,size=0x1c) addr:0x215c34c
-func_ov018_0215c368 kind:function(arm,size=0x18) addr:0x215c368
-func_ov018_0215c380 kind:function(arm,size=0x20) addr:0x215c380
-func_ov018_0215c3a0 kind:function(arm,size=0x20) addr:0x215c3a0
-func_ov018_0215c3c0 kind:function(arm,size=0x68) addr:0x215c3c0
-func_ov018_0215c428 kind:function(arm,size=0x20) addr:0x215c428
-func_ov018_0215c448 kind:function(arm,size=0x18) addr:0x215c448
-func_ov018_0215c460 kind:function(arm,size=0x164) addr:0x215c460
-func_ov018_0215c5c4 kind:function(arm,size=0x44) addr:0x215c5c4
-func_ov018_0215c608 kind:function(arm,size=0x48) addr:0x215c608
-func_ov018_0215c650 kind:function(arm,size=0x5c) addr:0x215c650
-func_ov018_0215c6ac kind:function(arm,size=0x24) addr:0x215c6ac
-func_ov018_0215c6d0 kind:function(arm,size=0x24c) addr:0x215c6d0
-func_ov018_0215c91c kind:function(arm,size=0x48) addr:0x215c91c
-func_ov018_0215c964 kind:function(arm,size=0x48) addr:0x215c964
-func_ov018_0215c9ac kind:function(arm,size=0x78) addr:0x215c9ac
-func_ov018_0215ca24 kind:function(arm,size=0x18) addr:0x215ca24
-func_ov018_0215ca3c kind:function(arm,size=0x50) addr:0x215ca3c
-func_ov018_0215ca8c kind:function(arm,size=0x18) addr:0x215ca8c
-func_ov018_0215caa4 kind:function(arm,size=0x8) addr:0x215caa4
+_ZN12MapOverworldC2Ejj kind:function(arm,size=0x1ac) addr:0x215b4a0
+_ZN12MapOverworldD1Ev kind:function(arm,size=0x10c) addr:0x215b64c
+_ZN12MapOverworldD0Ev kind:function(arm,size=0x114) addr:0x215b758
+_ZN12MapOverworld8vfunc_08EjjP6Course kind:function(arm,size=0x518) addr:0x215b86c
+_ZN12MapOverworld8vfunc_14Ev kind:function(arm,size=0x134) addr:0x215bd84
+_ZN12MapOverworld8vfunc_1cEb kind:function(arm,size=0x110) addr:0x215beb8
+_ZN12MapOverworld19func_ov018_0215bfc8Ev kind:function(arm,size=0x17c) addr:0x215bfc8
+_ZN12MapOverworld8vfunc_20Ei kind:function(arm,size=0x84) addr:0x215c144
+_ZN12MapOverworld8vfunc_2cEv kind:function(arm,size=0xb4) addr:0x215c1c8
+_ZN12MapOverworld8vfunc_94Ev kind:function(arm,size=0x8) addr:0x215c27c
+_ZN12MapOverworld8vfunc_a4Ev kind:function(arm,size=0xc) addr:0x215c284
+_ZN12MapOverworld8vfunc_54Ev kind:function(arm,size=0x20) addr:0x215c290
+_ZN12MapOverworld8vfunc_58Ev kind:function(arm,size=0x30) addr:0x215c2b0
+_ZN12MapOverworld8vfunc_5cEv kind:function(arm,size=0x20) addr:0x215c2e0
+_ZN12MapOverworld8vfunc_60Ev kind:function(arm,size=0x2c) addr:0x215c300
+_ZN12MapOverworld8vfunc_64Ev kind:function(arm,size=0x20) addr:0x215c32c
+_ZN12MapOverworld19func_ov018_0215c34cEv kind:function(arm,size=0x1c) addr:0x215c34c
+_ZN12MapOverworld19func_ov018_0215c368Ev kind:function(arm,size=0x18) addr:0x215c368
+_ZN12MapOverworld19func_ov018_0215c380EPh kind:function(arm,size=0x20) addr:0x215c380
+_ZN12MapOverworld8vfunc_bcEv kind:function(arm,size=0x20) addr:0x215c3a0
+_ZN12MapOverworld8vfunc_98Ev kind:function(arm,size=0x68) addr:0x215c3c0
+_ZN12MapOverworld8vfunc_c0Ev kind:function(arm,size=0x20) addr:0x215c428
+_ZN12MapOverworld8vfunc_78Ev kind:function(arm,size=0x18) addr:0x215c448
+_ZN12MapOverworld8vfunc_7cEv kind:function(arm,size=0x164) addr:0x215c460
+_ZN12MapOverworld8vfunc_80Ev kind:function(arm,size=0x44) addr:0x215c5c4
+_ZN12MapOverworld8vfunc_b0Eii kind:function(arm,size=0x48) addr:0x215c608
+_ZN12MapOverworld19func_ov018_0215c650Ev kind:function(arm,size=0x5c) addr:0x215c650
+_ZN12MapOverworld19func_ov018_0215c6acEv kind:function(arm,size=0x24) addr:0x215c6ac
+_ZN12MapOverworld19func_ov018_0215c6d0Ev kind:function(arm,size=0x24c) addr:0x215c6d0
+_ZN17MapOverworld_Unk1C2EjPhi kind:function(arm,size=0x48) addr:0x215c91c
+_ZN17MapOverworld_Unk1C1EjPhi kind:function(arm,size=0x48) addr:0x215c964
+_ZN12MapOverworld19func_ov018_0215c9acEv kind:function(arm,size=0x78) addr:0x215c9ac
+_Z19func_ov018_0215ca24i kind:function(arm,size=0x18) addr:0x215ca24
+_Z19func_ov018_0215ca3ciiii kind:function(arm,size=0x50) addr:0x215ca3c
+_Z19func_ov018_0215ca8ci kind:function(arm,size=0x18) addr:0x215ca8c
+_ZN12MapOverworld8vfunc_4cEv kind:function(arm,size=0x8) addr:0x215caa4
func_ov018_0215caac kind:function(arm,size=0x7c) addr:0x215caac
func_ov018_0215cb28 kind:function(arm,size=0x4c) addr:0x215cb28
func_ov018_0215cb74 kind:function(arm,size=0xcc) addr:0x215cb74
@@ -514,7 +514,7 @@ __sinit_ov018_0216bf54 kind:function(arm,size=0x38) addr:0x216bf54
__sinit_ov018_0216bf8c kind:function(arm,size=0x80) addr:0x216bf8c
__sinit_ov018_0216c00c kind:function(arm,size=0x40) addr:0x216c00c
data_ov018_0216c0c0 kind:data(any) addr:0x216c0c0
-data_ov018_0216c0e0 kind:data(any) addr:0x216c0e0
+_ZTV12MapOverworld kind:data(any) addr:0x216c0e0
data_ov018_0216c1a4 kind:data(any) addr:0x216c1a4
data_ov018_0216c1a8 kind:data(any) addr:0x216c1a8
data_ov018_0216c1bc kind:data(any) addr:0x216c1bc
diff --git a/config/usa/arm9/overlays/ov018/symbols.txt b/config/usa/arm9/overlays/ov018/symbols.txt
index 69fde2ee..d16200b2 100644
--- a/config/usa/arm9/overlays/ov018/symbols.txt
+++ b/config/usa/arm9/overlays/ov018/symbols.txt
@@ -1,39 +1,39 @@
-func_ov018_0215b4a0 kind:function(arm,size=0x1ac) addr:0x215b400
-func_ov018_0215b64c kind:function(arm,size=0x10c) addr:0x215b5ac
-func_ov018_0215b758 kind:function(arm,size=0x114) addr:0x215b6b8
-func_ov018_0215b86c kind:function(arm,size=0x518) addr:0x215b7cc
-func_ov018_0215bd84 kind:function(arm,size=0x134) addr:0x215bce4
-func_ov018_0215beb8 kind:function(arm,size=0x110) addr:0x215be18
-func_ov018_0215bfc8 kind:function(arm,size=0x17c) addr:0x215bf28
-func_ov018_0215c144 kind:function(arm,size=0x84) addr:0x215c0a4
-func_ov018_0215c1c8 kind:function(arm,size=0xb4) addr:0x215c128
-func_ov018_0215c27c kind:function(arm,size=0x8) addr:0x215c1dc
-func_ov018_0215c284 kind:function(arm,size=0xc) addr:0x215c1e4
-func_ov018_0215c290 kind:function(arm,size=0x20) addr:0x215c1f0
-func_ov018_0215c2b0 kind:function(arm,size=0x30) addr:0x215c210
-func_ov018_0215c2e0 kind:function(arm,size=0x20) addr:0x215c240
-func_ov018_0215c300 kind:function(arm,size=0x2c) addr:0x215c260
-func_ov018_0215c32c kind:function(arm,size=0x20) addr:0x215c28c
-func_ov018_0215c34c kind:function(arm,size=0x1c) addr:0x215c2ac
-func_ov018_0215c368 kind:function(arm,size=0x18) addr:0x215c2c8
-func_ov018_0215c380 kind:function(arm,size=0x20) addr:0x215c2e0
-func_ov018_0215c3a0 kind:function(arm,size=0x20) addr:0x215c300
-func_ov018_0215c3c0 kind:function(arm,size=0x68) addr:0x215c320
-func_ov018_0215c428 kind:function(arm,size=0x20) addr:0x215c388
-func_ov018_0215c448 kind:function(arm,size=0x18) addr:0x215c3a8
-func_ov018_0215c460 kind:function(arm,size=0x164) addr:0x215c3c0
-func_ov018_0215c5c4 kind:function(arm,size=0x44) addr:0x215c524
-func_ov018_0215c608 kind:function(arm,size=0x48) addr:0x215c568
-func_ov018_0215c650 kind:function(arm,size=0x5c) addr:0x215c5b0
-func_ov018_0215c6ac kind:function(arm,size=0x24) addr:0x215c60c
-func_ov018_0215c6d0 kind:function(arm,size=0x24c) addr:0x215c630
-func_ov018_0215c91c kind:function(arm,size=0x48) addr:0x215c87c
-func_ov018_0215c964 kind:function(arm,size=0x48) addr:0x215c8c4
-func_ov018_0215c9ac kind:function(arm,size=0x78) addr:0x215c90c
-func_ov018_0215ca24 kind:function(arm,size=0x18) addr:0x215c984
-func_ov018_0215ca3c kind:function(arm,size=0x50) addr:0x215c99c
-func_ov018_0215ca8c kind:function(arm,size=0x18) addr:0x215c9ec
-func_ov018_0215caa4 kind:function(arm,size=0x8) addr:0x215ca04
+_ZN12MapOverworldC2Ejj kind:function(arm,size=0x1ac) addr:0x215b400
+_ZN12MapOverworldD1Ev kind:function(arm,size=0x10c) addr:0x215b5ac
+_ZN12MapOverworldD0Ev kind:function(arm,size=0x114) addr:0x215b6b8
+_ZN12MapOverworld8vfunc_08EjjP6Course kind:function(arm,size=0x518) addr:0x215b7cc
+_ZN12MapOverworld8vfunc_14Ev kind:function(arm,size=0x134) addr:0x215bce4
+_ZN12MapOverworld8vfunc_1cEb kind:function(arm,size=0x110) addr:0x215be18
+_ZN12MapOverworld19func_ov018_0215bfc8Ev kind:function(arm,size=0x17c) addr:0x215bf28
+_ZN12MapOverworld8vfunc_20Ei kind:function(arm,size=0x84) addr:0x215c0a4
+_ZN12MapOverworld8vfunc_2cEv kind:function(arm,size=0xb4) addr:0x215c128
+_ZN12MapOverworld8vfunc_94Ev kind:function(arm,size=0x8) addr:0x215c1dc
+_ZN12MapOverworld8vfunc_a4Ev kind:function(arm,size=0xc) addr:0x215c1e4
+_ZN12MapOverworld8vfunc_54Ev kind:function(arm,size=0x20) addr:0x215c1f0
+_ZN12MapOverworld8vfunc_58Ev kind:function(arm,size=0x30) addr:0x215c210
+_ZN12MapOverworld8vfunc_5cEv kind:function(arm,size=0x20) addr:0x215c240
+_ZN12MapOverworld8vfunc_60Ev kind:function(arm,size=0x2c) addr:0x215c260
+_ZN12MapOverworld8vfunc_64Ev kind:function(arm,size=0x20) addr:0x215c28c
+_ZN12MapOverworld19func_ov018_0215c34cEv kind:function(arm,size=0x1c) addr:0x215c2ac
+_ZN12MapOverworld19func_ov018_0215c368Ev kind:function(arm,size=0x18) addr:0x215c2c8
+_ZN12MapOverworld19func_ov018_0215c380EPh kind:function(arm,size=0x20) addr:0x215c2e0
+_ZN12MapOverworld8vfunc_bcEv kind:function(arm,size=0x20) addr:0x215c300
+_ZN12MapOverworld8vfunc_98Ev kind:function(arm,size=0x68) addr:0x215c320
+_ZN12MapOverworld8vfunc_c0Ev kind:function(arm,size=0x20) addr:0x215c388
+_ZN12MapOverworld8vfunc_78Ev kind:function(arm,size=0x18) addr:0x215c3a8
+_ZN12MapOverworld8vfunc_7cEv kind:function(arm,size=0x164) addr:0x215c3c0
+_ZN12MapOverworld8vfunc_80Ev kind:function(arm,size=0x44) addr:0x215c524
+_ZN12MapOverworld8vfunc_b0Eii kind:function(arm,size=0x48) addr:0x215c568
+_ZN12MapOverworld19func_ov018_0215c650Ev kind:function(arm,size=0x5c) addr:0x215c5b0
+_ZN12MapOverworld19func_ov018_0215c6acEv kind:function(arm,size=0x24) addr:0x215c60c
+_ZN12MapOverworld19func_ov018_0215c6d0Ev kind:function(arm,size=0x24c) addr:0x215c630
+_ZN17MapOverworld_Unk1C2EjPhi kind:function(arm,size=0x48) addr:0x215c87c
+_ZN17MapOverworld_Unk1C1EjPhi kind:function(arm,size=0x48) addr:0x215c8c4
+_ZN12MapOverworld19func_ov018_0215c9acEv kind:function(arm,size=0x78) addr:0x215c90c
+_Z19func_ov018_0215ca24i kind:function(arm,size=0x18) addr:0x215c984
+_Z19func_ov018_0215ca3ciiii kind:function(arm,size=0x50) addr:0x215c99c
+_Z19func_ov018_0215ca8ci kind:function(arm,size=0x18) addr:0x215c9ec
+_ZN12MapOverworld8vfunc_4cEv kind:function(arm,size=0x8) addr:0x215ca04
func_ov018_0215caac kind:function(arm,size=0x7c) addr:0x215ca0c
func_ov018_0215cb28 kind:function(arm,size=0x4c) addr:0x215ca88
func_ov018_0215cb74 kind:function(arm,size=0xcc) addr:0x215cad4
@@ -514,7 +514,7 @@ __sinit_ov018_0216bf54 kind:function(arm,size=0x38) addr:0x216beb4
__sinit_ov018_0216bf8c kind:function(arm,size=0x80) addr:0x216beec
__sinit_ov018_0216c00c kind:function(arm,size=0x40) addr:0x216bf6c
data_ov018_0216c0c0 kind:data(any) addr:0x216c020
-data_ov018_0216c0e0 kind:data(any) addr:0x216c040
+_ZTV12MapOverworld kind:data(any) addr:0x216c040
data_ov018_0216c1a4 kind:data(any) addr:0x216c104
data_ov018_0216c1a8 kind:data(any) addr:0x216c108
data_ov018_0216c1bc kind:data(any) addr:0x216c11c
diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp
index c92060a3..4c061620 100644
--- a/include/Map/MapBase.hpp
+++ b/include/Map/MapBase.hpp
@@ -113,8 +113,7 @@ public:
/* 188 */ unk8 mUnk_188[0x14];
/* 19c */ unk32 mUnk_19c;
/* 1a0 */ unk8 mUnk_1a0[0xc];
- /* 1ac */ s16 mUnk_1ac;
- /* 1ae */ unk8 mUnk_1ae[2];
+ /* 1ac */ unk32 mUnk_1ac;
/* 1b0 */
/* 00 */ virtual ~MapBase();
diff --git a/include/Map/MapOverworld.hpp b/include/Map/MapOverworld.hpp
new file mode 100644
index 00000000..482b3ad1
--- /dev/null
+++ b/include/Map/MapOverworld.hpp
@@ -0,0 +1,75 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Map/MapBase.hpp"
+#include "Render/ModelRender.hpp"
+#include "Unknown/UnkStruct_ov000_020c0c08.hpp"
+
+class MapOverworld_Unk1 : public UnkStruct_ov000_020c0c08 {
+public:
+ /* 00 (base) */
+ /* 24 */
+
+ MapOverworld_Unk1(u32 param1, u8 *param2, unk32 param3);
+};
+
+class MapOverworld : public MapBase {
+public:
+ /* 000 (base) */
+ /* 1b0 */ void *mUnk_1b0;
+ /* 1b4 */ unk8 mUnk_1b4;
+ /* 1b5 */ unk8 mUnk_1b5;
+ /* 1b6 */ unk8 mUnk_1b6;
+ /* 1b7 */ unk8 mUnk_1b7;
+ /* 1b8 */ u8 mUnk_1b8;
+ /* 1b9 */ unk8 mUnk_1b9;
+ /* 1ba */ unk8 mUnk_1ba;
+ /* 1bb */ unk8 mUnk_1bb;
+ /* 1bc */ s32 mUnk_1bc;
+ /* 1c0 */ ModelRender *mUnk_1c0;
+ /* 1c4 */ void *mUnk_1c4;
+ /* 1c8 */ void *mUnk_1c8;
+ /* 1cc */ unk8 mUnk_1cc;
+ /* 1cd */ unk8 mUnk_1cd;
+ /* 1ce */ unk8 mUnk_1ce[0x2];
+ /* 1d0 */ unk32 mUnk_1d0;
+ /* 1d4 */ unk32 mUnk_1d4;
+ /* 1d8 */ s16 mUnk_1d8;
+ /* 1da */ s16 mUnk_1da;
+ /* 1dc */
+
+ /* 00 */ virtual ~MapOverworld() override;
+ /* 08 */ virtual void vfunc_08(u32 param_2, u32 param_3, Course *param_4) override;
+ /* 14 */ virtual void vfunc_14() override;
+ /* 1c */ virtual void vfunc_1c(bool param_2) override;
+ /* 20 */ virtual void vfunc_20(s32 param_2) override;
+ /* 2c */ virtual void vfunc_2c() override;
+ /* 4c */ virtual void vfunc_4c() override;
+ /* 54 */ virtual unk32 vfunc_54() override;
+ /* 58 */ virtual unk32 vfunc_58() override;
+ /* 5c */ virtual unk32 vfunc_5c() override;
+ /* 60 */ virtual unk32 vfunc_60() override;
+ /* 64 */ virtual unk32 vfunc_64() override;
+ /* 78 */ virtual unk32 vfunc_78() override;
+ /* 7c */ virtual unk32 vfunc_7c() override;
+ /* 80 */ virtual unk32 vfunc_80() override;
+ /* 94 */ virtual void vfunc_94() override;
+ /* 98 */ virtual void vfunc_98() override;
+ /* a4 */ virtual unk32 vfunc_a4() override;
+ /* b0 */ virtual unk8 vfunc_b0(unk32 param_2, unk32 param_3) override;
+ /* bc */ virtual void vfunc_bc() override;
+ /* c0 */ virtual void vfunc_c0() override;
+ /* c4 */
+
+ MapOverworld(u32 width, u32 height);
+ void func_ov018_0215bfc8();
+ u32 func_ov018_0215c34c();
+ u32 func_ov018_0215c368();
+ s32 func_ov018_0215c380(u8 *param1);
+ void func_ov018_0215c650();
+ void func_ov018_0215c6ac();
+ void func_ov018_0215c6d0();
+ void func_ov018_0215c9ac();
+};
diff --git a/include/Unknown/UnkStruct_ov000_020c0c08.hpp b/include/Unknown/UnkStruct_ov000_020c0c08.hpp
new file mode 100644
index 00000000..69054538
--- /dev/null
+++ b/include/Unknown/UnkStruct_ov000_020c0c08.hpp
@@ -0,0 +1,21 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "System/SysNew.hpp"
+#include "Unknown/UnkStruct_0202e1a0.hpp"
+
+class UnkStruct_ov000_020c0c08 : public SysObject {
+public:
+ /* 00 (vtable) */
+ /* 04 */ unk32 mUnk_04;
+ /* 08 */ u8 *mUnk_08;
+ /* 0c */ UnkStruct_0202e1a0 mUnk_0c;
+ /* 24 */
+
+ /* 00 */ virtual ~UnkStruct_ov000_020c0c08();
+ /* 08 */
+
+ UnkStruct_ov000_020c0c08(unk32 param1, u8 *param2);
+};
diff --git a/src/18_Overworld/Map/MapOverworld.cpp b/src/18_Overworld/Map/MapOverworld.cpp
new file mode 100644
index 00000000..5737ea54
--- /dev/null
+++ b/src/18_Overworld/Map/MapOverworld.cpp
@@ -0,0 +1,38 @@
+#include "Map/MapOverworld.hpp"
+
+MapOverworld::MapOverworld(u32 width, u32 height) :
+ MapBase(width, height) {}
+MapOverworld::~MapOverworld() {}
+void MapOverworld::vfunc_08(u32 param_2, u32 param_3, Course *param_4) {}
+void MapOverworld::vfunc_14() {}
+void MapOverworld::vfunc_1c(bool param_2) {}
+void MapOverworld::func_ov018_0215bfc8() {}
+void MapOverworld::vfunc_20(s32 param_2) {}
+void MapOverworld::vfunc_2c() {}
+void MapOverworld::vfunc_94() {}
+unk32 MapOverworld::vfunc_a4() {}
+unk32 MapOverworld::vfunc_54() {}
+unk32 MapOverworld::vfunc_58() {}
+unk32 MapOverworld::vfunc_5c() {}
+unk32 MapOverworld::vfunc_60() {}
+unk32 MapOverworld::vfunc_64() {}
+u32 MapOverworld::func_ov018_0215c34c() {}
+u32 MapOverworld::func_ov018_0215c368() {}
+s32 MapOverworld::func_ov018_0215c380(u8 *param1) {}
+void MapOverworld::vfunc_bc() {}
+void MapOverworld::vfunc_98() {}
+void MapOverworld::vfunc_c0() {}
+unk32 MapOverworld::vfunc_78() {}
+unk32 MapOverworld::vfunc_7c() {}
+unk32 MapOverworld::vfunc_80() {}
+unk8 MapOverworld::vfunc_b0(unk32 param_2, unk32 param_3) {}
+void MapOverworld::func_ov018_0215c650() {}
+void MapOverworld::func_ov018_0215c6ac() {}
+void MapOverworld::func_ov018_0215c6d0() {}
+MapOverworld_Unk1::MapOverworld_Unk1(u32 param1, u8 *param2, unk32 param3) :
+ UnkStruct_ov000_020c0c08(0, param2) {}
+void MapOverworld::func_ov018_0215c9ac() {}
+void func_ov018_0215ca24(s32 param1) {}
+void func_ov018_0215ca3c(s32 param1, s32 param2, unk32 param3, unk32 param4) {}
+void func_ov018_0215ca8c(s32 param1) {}
+void MapOverworld::vfunc_4c() {}