From 10db9067430c77b2b6cd2b14da018b81a5f43c84 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 9 Feb 2025 13:13:49 +0100 Subject: [PATCH] Add MapOverworld --- config/eur/arm9/overlays/ov018/symbols.txt | 74 +++++++++---------- config/usa/arm9/overlays/ov018/symbols.txt | 74 +++++++++---------- include/Map/MapBase.hpp | 3 +- include/Map/MapOverworld.hpp | 75 ++++++++++++++++++++ include/Unknown/UnkStruct_ov000_020c0c08.hpp | 21 ++++++ src/18_Overworld/Map/MapOverworld.cpp | 38 ++++++++++ 6 files changed, 209 insertions(+), 76 deletions(-) create mode 100644 include/Map/MapOverworld.hpp create mode 100644 include/Unknown/UnkStruct_ov000_020c0c08.hpp create mode 100644 src/18_Overworld/Map/MapOverworld.cpp 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() {}