diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 57aa4acf..d5cc163f 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -531,16 +531,16 @@ _ZN10MapManager18func_ov00_02082adcEv kind:function(arm,size=0x18) addr:0x2082ad _ZN10MapManager18func_ov00_02082af4Ev kind:function(arm,size=0x48) addr:0x2082af4 _ZN10MapManager18func_ov00_02082b3cEi kind:function(arm,size=0x1cc) addr:0x2082b3c _ZN10MapManager18func_ov00_02082d08Ev kind:function(arm,size=0x20) addr:0x2082d08 -_ZN10MapManager20GetCourseData_Unk_1cEv kind:function(arm,size=0xc) addr:0x2082d28 -_ZN10MapManager20GetCourseData_Unk_1dEv kind:function(arm,size=0xc) addr:0x2082d34 +_ZN10MapManager17GetCurrentMapPosXEv kind:function(arm,size=0xc) addr:0x2082d28 +_ZN10MapManager17GetCurrentMapPosYEv kind:function(arm,size=0xc) addr:0x2082d34 _ZN10MapManager18func_ov00_02082d40Ev kind:function(arm,size=0x34) addr:0x2082d40 _ZN10MapManager18func_ov00_02082d74Ei kind:function(arm,size=0x10) addr:0x2082d74 -_ZN10MapManager18func_ov00_02082d84Ev kind:function(arm,size=0x98) addr:0x2082d84 +_ZN10MapManager18func_ov00_02082d84EPcPiS1_ kind:function(arm,size=0x98) addr:0x2082d84 _ZN10MapManager18func_ov00_02082e1cEPiS0_ kind:function(arm,size=0x250) addr:0x2082e1c -_ZN10MapManager18func_ov00_0208306cEv kind:function(arm,size=0xf0) addr:0x208306c +_ZN10MapManager18func_ov00_0208306cEPiS0_ kind:function(arm,size=0xf0) addr:0x208306c _ZN10MapManager18func_ov00_0208315cEPiS0_ kind:function(arm,size=0xe8) addr:0x208315c _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ kind:function(arm,size=0x54) addr:0x2083244 -_ZN10MapManager18func_ov00_02083298EjPiS0_S0_ kind:function(arm,size=0x74) addr:0x2083298 +_ZN10MapManager18func_ov00_02083298EjP5Vec3pPiS2_ kind:function(arm,size=0x74) addr:0x2083298 _ZN10MapManager21GetCourseData_Unk_25cEv kind:function(arm,size=0xc) addr:0x208330c _ZN10MapManager15IsMapInMainGridEj kind:function(arm,size=0x10) addr:0x2083318 _ZN10MapManager18func_ov00_02083328Ev kind:function(arm,size=0x1c) addr:0x2083328 @@ -601,8 +601,8 @@ _ZN10MapManager18func_ov00_020839b4Ei kind:function(arm,size=0x10) addr:0x20839b _ZN10MapManager18func_ov00_020839c4Ei kind:function(arm,size=0x10) addr:0x20839c4 _ZN10MapManager18func_ov00_020839d4Ev kind:function(arm,size=0x24) addr:0x20839d4 _ZN10MapManager18func_ov00_020839f8Ev kind:function(arm,size=0x24) addr:0x20839f8 -_ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p kind:function(arm,size=0x38) addr:0x2083a1c -_ZN10MapManager18func_ov00_02083a54EiPS_iii kind:function(arm,size=0x130) addr:0x2083a54 +_ZN10MapManager18func_ov00_02083a1cEPcPS_P5Vec3p kind:function(arm,size=0x38) addr:0x2083a1c +_ZN10MapManager18func_ov00_02083a54EPhPS_Pihh kind:function(arm,size=0x130) addr:0x2083a54 _ZN10MapManager18func_ov00_02083b84Ev kind:function(arm,size=0x28) addr:0x2083b84 _ZN10MapManager18func_ov00_02083bacEv kind:function(arm,size=0x28) addr:0x2083bac _ZN10MapManager18func_ov00_02083bd4Ev kind:function(arm,size=0x28) addr:0x2083bd4 diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt index 08a4a3f1..b62b90c3 100644 --- a/config/usa/arm9/overlays/ov000/symbols.txt +++ b/config/usa/arm9/overlays/ov000/symbols.txt @@ -531,16 +531,16 @@ _ZN10MapManager18func_ov00_02082adcEv kind:function(arm,size=0x18) addr:0x2082a7 _ZN10MapManager18func_ov00_02082af4Ev kind:function(arm,size=0x48) addr:0x2082a94 _ZN10MapManager18func_ov00_02082b3cEi kind:function(arm,size=0x1cc) addr:0x2082adc _ZN10MapManager18func_ov00_02082d08Ev kind:function(arm,size=0x20) addr:0x2082ca8 -_ZN10MapManager20GetCourseData_Unk_1cEv kind:function(arm,size=0xc) addr:0x2082cc8 -_ZN10MapManager20GetCourseData_Unk_1dEv kind:function(arm,size=0xc) addr:0x2082cd4 +_ZN10MapManager17GetCurrentMapPosXEv kind:function(arm,size=0xc) addr:0x2082cc8 +_ZN10MapManager17GetCurrentMapPosYEv kind:function(arm,size=0xc) addr:0x2082cd4 _ZN10MapManager18func_ov00_02082d40Ev kind:function(arm,size=0x34) addr:0x2082ce0 _ZN10MapManager18func_ov00_02082d74Ei kind:function(arm,size=0x10) addr:0x2082d14 -_ZN10MapManager18func_ov00_02082d84Ev kind:function(arm,size=0x98) addr:0x2082d24 +_ZN10MapManager18func_ov00_02082d84EPcPiS1_ kind:function(arm,size=0x98) addr:0x2082d24 _ZN10MapManager18func_ov00_02082e1cEPiS0_ kind:function(arm,size=0x250) addr:0x2082dbc -_ZN10MapManager18func_ov00_0208306cEv kind:function(arm,size=0xf0) addr:0x208300c +_ZN10MapManager18func_ov00_0208306cEPiS0_ kind:function(arm,size=0xf0) addr:0x208300c _ZN10MapManager18func_ov00_0208315cEPiS0_ kind:function(arm,size=0xe8) addr:0x20830fc _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ kind:function(arm,size=0x54) addr:0x20831e4 -_ZN10MapManager18func_ov00_02083298EjPiS0_S0_ kind:function(arm,size=0x74) addr:0x2083238 +_ZN10MapManager18func_ov00_02083298EjP5Vec3pPiS2_ kind:function(arm,size=0x74) addr:0x2083238 _ZN10MapManager21GetCourseData_Unk_25cEv kind:function(arm,size=0xc) addr:0x20832ac _ZN10MapManager15IsMapInMainGridEj kind:function(arm,size=0x10) addr:0x20832b8 _ZN10MapManager18func_ov00_02083328Ev kind:function(arm,size=0x1c) addr:0x20832c8 @@ -601,8 +601,8 @@ _ZN10MapManager18func_ov00_020839b4Ei kind:function(arm,size=0x10) addr:0x208395 _ZN10MapManager18func_ov00_020839c4Ei kind:function(arm,size=0x10) addr:0x2083964 _ZN10MapManager18func_ov00_020839d4Ev kind:function(arm,size=0x24) addr:0x2083974 _ZN10MapManager18func_ov00_020839f8Ev kind:function(arm,size=0x24) addr:0x2083998 -_ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p kind:function(arm,size=0x38) addr:0x20839bc -_ZN10MapManager18func_ov00_02083a54EiPS_iii kind:function(arm,size=0x130) addr:0x20839f4 +_ZN10MapManager18func_ov00_02083a1cEPcPS_P5Vec3p kind:function(arm,size=0x38) addr:0x20839bc +_ZN10MapManager18func_ov00_02083a54EPhPS_Pihh kind:function(arm,size=0x130) addr:0x20839f4 _ZN10MapManager18func_ov00_02083b84Ev kind:function(arm,size=0x28) addr:0x2083b24 _ZN10MapManager18func_ov00_02083bacEv kind:function(arm,size=0x28) addr:0x2083b4c _ZN10MapManager18func_ov00_02083bd4Ev kind:function(arm,size=0x28) addr:0x2083b74 diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index 94f4254b..ea8854c0 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -83,16 +83,16 @@ public: void func_ov00_02082af4(); bool func_ov00_02082b3c(s32 param_2); u8 func_ov00_02082d08(); - unk8 GetCourseData_Unk_1c(); - unk8 GetCourseData_Unk_1d(); + u8 GetCurrentMapPosX(); + u8 GetCurrentMapPosY(); unk8 func_ov00_02082d40(); u32 func_ov00_02082d74(unk32 param_2); - void func_ov00_02082d84(); + void func_ov00_02082d84(unk8 *param_2, s32 *param_3, s32 *param_4); bool func_ov00_02082e1c(s32 *param_2, s32 *param_3); - static unk8 func_ov00_0208306c(); + void func_ov00_0208306c(s32 *param_2, s32 *param_3); 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); + void func_ov00_02083298(u32 param_2, Vec3p *param_3, s32 *param_4, s32 *param_5); bool GetCourseData_Unk_25c(); bool IsMapInMainGrid(u32 map); bool func_ov00_02083328(); @@ -153,8 +153,8 @@ public: 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 void func_ov00_02083a1c(unk8 *param_1, MapManager *param_2, Vec3p *param_3); + static unk8 func_ov00_02083a54(u8 *param_1, MapManager *param_2, s32 *param_3, u8 param_4, u8 param_5); static unk8 func_ov00_02083b84(); static unk8 func_ov00_02083bac(); static unk8 func_ov00_02083bd4(); diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp index 820191d9..613f7cb9 100644 --- a/src/00_Core/Map/MapManager.cpp +++ b/src/00_Core/Map/MapManager.cpp @@ -294,7 +294,7 @@ ARM s32 MapManager::func_ov00_02082914(unk32 param_2) { iVar1 = 0x2000; iVar3 = 0x2000; iVar4 = 0xfd; - if (this->mCourse->mType == 2) { + if (this->mCourse->mType == CourseType_Sea) { iVar1 = this->mMap->vfunc_88(); iVar1 = iVar1 + 0xa000; iVar3 = this->mMap->vfunc_8c(); @@ -356,16 +356,208 @@ ARM u8 MapManager::func_ov00_02082d08() { return course->mMapGrid[(u8) course->mCurrMapPos.x][(u8) course->mCurrMapPos.y]; } -unk8 MapManager::GetCourseData_Unk_1c() {} -unk8 MapManager::GetCourseData_Unk_1d() {} -unk8 MapManager::func_ov00_02082d40() {} -u32 MapManager::func_ov00_02082d74(unk32 param_2) {} -ARM void 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) {} +ARM u8 MapManager::GetCurrentMapPosX() { + return this->mCourse->mCurrMapPos.x; +} + +ARM u8 MapManager::GetCurrentMapPosY() { + return this->mCourse->mCurrMapPos.y; +} + +ARM unk8 MapManager::func_ov00_02082d40() { + if (this->mCourse->mType == CourseType_Sea) { + return this->mCourse->mMapGrid[(u8) this->mCourse->mCurrMapPos.x][(u8) this->mCourse->mCurrMapPos.y]; + } + return this->mCourse->mUnk_0b1; +} + +ARM u32 MapManager::func_ov00_02082d74(unk32 param_2) { + // return func_ov00_02082d80(param_2); // Does not exist. +} + +ARM void MapManager::func_ov00_02082d84(unk8 *param_2, s32 *param_3, s32 *param_4) { + s32 mapWidth = this->GetMapWidth(); + u32 uVar3; // = CoDivide64By32(0x100000, mapWidth << 0xc); Not defined ? + s32 mapHeight = this->GetMapHeight(); + u32 uVar4; // = CoDivide64By32(0xc0000, mapHeight << 0xc); Not defined ? + s64 lVar1 = (s64) (s32) ((u32) *param_2 << 0xc); + *param_3 = (s32) (((u32) lVar1 >> 0xc | (s32) ((u64) lVar1 >> 0x20) * 0x100000) + ((s32) uVar4 >> 1) + 0x800) >> 0xc; + lVar1 = (s64) (s32) ((u32) param_2[1] << 0xc) * (s64) (s32) uVar4 + 0x800; + *param_4 = (s32) (((u32) lVar1 >> 0xc | (s32) ((u64) lVar1 >> 0x20) * 0x100000) + ((s32) uVar4 >> 1) + 0x800) >> 0xc; +} + +ARM bool MapManager::func_ov00_02082e1c(s32 *param_2, s32 *param_3) { + unk32 local_20; // Unused. What could this be for? + unk32 local_24; // Unused. What could this be for? + unk32 local_28; // Vec3p instead ??? + s32 local_44[11]; // not [6] apparently + s32 local_48; + Vec2b local_4a; + u8 local_4b; + u8 local_4c; + u8 bVar1; + u8 bVar2; + s64 lVar3; + s32 iVar5; + u32 uVar7; + if (!this->mCourse->mUnk_25c) { + *param_2 = 0xc0; + *param_3 = 0xc0; + return false; + } + if (!this->mCourse->IsCurrentMapInMainGrid()) { + local_44[0] = -0x100; + local_48 = -0x100; + bVar1 = this->mMap->mUnk_01a; + // iVar5 = UnkStruct_027e0d38::FUN_overlay_d_0__02078b40(*(UnkStruct_027e0d38 **) PTR_PTR_overlay_d_0__02083068); + if (iVar5 == 0) { + // bVar2 = *(u8 *) (*(s32 *) (*(s32 *) PTR_PTR_overlay_d_0__02083068 + 0x28) + 0x9a); + } else { + // bVar2 = *(u8 *) (*(s32 *) (*(s32 *) PTR_PTR_overlay_d_0__02083068 + 0x28) + 0x2e); + } + uVar7 = (u32) bVar2; + if (uVar7 == 0xff) { + uVar7 = (u32) (u8) this->mCourse->mMapGrid[(u8) this->mCourse->mUnk_01e][(u8) this->mCourse->mUnk_01f]; + } + // iVar5 = UnkStruct_027e0d38::FUN_overlay_d_0__02078b40(*(UnkStruct_027e0d38 **) PTR_PTR_overlay_d_0__02083068); + if (iVar5 == 0) { + // iVar5 = *(s32 *) (*(s32 *) PTR_PTR_overlay_d_0__02083068 + 0x28); + local_24 = *(unk32 *) (iVar5 + 0xa4); + local_20 = *(unk32 *) (iVar5 + 0xa8); + local_28 = *(unk32 *) (iVar5 + 0xa0); + } else { + // iVar5 = *(int *) (*(int *) PTR_PTR_overlay_d_0__02083068 + 0x28); + local_24 = *(unk32 *) (iVar5 + 0x3c); + local_20 = *(unk32 *) (iVar5 + 0x40); + local_28 = *(unk32 *) (iVar5 + 0x38); + } + if (this->mCourse->GetMapScreenPos((u32) bVar1, local_44, &local_48)) { + uVar7 = this->mCourse->GetScreenMapCellSizeX(); + lVar3 = (s64) (s32) ((u32) (u8) this->mMap->mUnk_01b << 0xc) * (s64) (s32) uVar7 + 0x800; + *param_2 = local_44[0] + ((s32) (((u32) lVar3 >> 0xc | (s32) ((u64) lVar3 >> 0x20) * 0x100000) + 0x800) >> 0xc); + uVar7 = this->mCourse->GetScreenMapCellSizeY(); + local_4b = this->mMap->mUnk_01c; + } else { + this->mCourse->GetMapScreenPos(uVar7, local_44, &local_48); + this->mCourse->FindMapGridPos(&local_4a, this->mCourse, uVar7); + // this->func_ov00_02083a54(&local_4c, this, &local_28, (u32) local_4a.x, (u32) local_4a.y); + uVar7 = this->mCourse->GetScreenMapCellSizeX(); + lVar3 = (s64) (s32) ((u32) local_4c << 0xc) * (s64) (s32) uVar7 + 0x800; + *param_2 = local_44[0] + ((s32) (((u32) lVar3 >> 0xc | (s32) ((u64) lVar3 >> 0x20) * 0x100000) + 0x800) >> 0xc); + uVar7 = this->mCourse->GetScreenMapCellSizeY(); + } + lVar3 = (s64) (s32) ((u32) local_4b << 0xc) * (s64) (s32) uVar7 + 0x800; + *param_3 = local_48 + ((s32) (((u32) lVar3 >> 0xc | (s32) ((u64) lVar3 >> 0x20) * 0x100000) + 0x800) >> 0xc); + return true; + } +} + +ARM void MapManager::func_ov00_0208306c(s32 *param_2, s32 *param_3) { + MapManager *pMVar1; + s32 iVar2; + MapManager *pMVar3; + unk8 auStack_2c[18]; + s32 local_28; // This has to be a Vec3p, but uncertain as of now. + unk32 local_24; // Unused. + unk32 local_20; // Unused. + Vec3p local_1c; + + pMVar3 = (MapManager *) this->mCourse->mUnk_008; + pMVar1 = this; // why + if (pMVar3 != (MapManager *) 0xfffffffd) { + pMVar1 = (MapManager *) 0xfffffffe; // I really don't get this + } + if (pMVar3 == (MapManager *) 0xfffffffd || pMVar3 == pMVar1) { + // iVar2 = *(s32 *) (*(s32 *) PTR_PTR_overlay_d_0__02083158 + 0x28); + local_28 = *(int *) (iVar2 + 0x5c); + local_24 = *(unk32 *) (iVar2 + 0x60); + local_20 = *(unk32 *) (iVar2 + 100); + /*this->func_ov00_02083244((u32) * (u8 *) (*(s32 *) (*(s32 *) PTR_PTR_overlay_d_0__02083158 + 0x28) + 0x56), &local_28, + param_2, param_3);*/ + return; + } + if (pMVar3 != (MapManager *) 0xffffffff) { + *param_2 = this->mCourse->mUnk_0b4; + *param_3 = this->mCourse->mUnk_0b8; + return; + } + local_1c.y = gPlayerPos->y; + local_1c.x = gPlayerPos->x; + local_1c.z = gPlayerPos->z; + this->func_ov00_02083a1c(auStack_2c, this, &local_1c); + this->func_ov00_02082d84(auStack_2c, param_2, param_3); +} + +ARM void MapManager::func_ov00_0208315c(s32 *param_2, s32 *param_3) { + u32 uVar1; + s32 *piVar2; + s32 iVar3; + s32 *piVar4; + s32 local_2c; // This has to be a Vec3p, but uncertain as of now. + unk32 local_28; // Unused. + unk32 local_24; // Unused. + Vec3p local_20; + + piVar4 = (s32 *) this->mCourse->mUnk_008; + piVar2 = param_2; + if (piVar4 != (s32 *) 0xfffffffd) { + piVar2 = (s32 *) 0xfffffffe; + } + if (piVar4 == (s32 *) 0xfffffffd || piVar4 == piVar2) { + // iVar3 = *(s32 *) (*(s32 *) PTR_PTR_overlay_d_0__02083240 + 0x28); + local_2c = *(s32 *) (iVar3 + 0x5c); + local_28 = *(unk32 *) (iVar3 + 0x60); + local_24 = *(unk32 *) (iVar3 + 100); + /*this->func_ov00_02083298((u32) * (u8 *) (*(s32 *) (*(s32 *) PTR_PTR_overlay_d_0__02083240 + 0x28) + 0x56), + &local_2c, param_2, param_3);*/ + return; + } + if (piVar4 != (s32 *) 0xffffffff) { + *param_2 = this->mCourse->mUnk_0bc; + *param_3 = this->mCourse->mUnk_0c0; + return; + } + local_20.x = *(s32 *) gPlayerPos->x; + local_20.y = *(s32 *) gPlayerPos->y; + local_20.z = *(s32 *) gPlayerPos->z; + uVar1 = this->func_ov00_02082d08(); + this->func_ov00_02083298(uVar1, &local_20, param_2, param_3); +} + +ARM void MapManager::func_ov00_02083244(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5) { + unk8 *puVar1; + + // puVar1 = PTR_MapManager_Unk2_overlay_d_0__020e24e8.field1_0x4_overlay_d_0__02083294; // What is this? mMap? + if (3 < param_2) { // Objdiff wants (4 < param_2), why is that? + param_2 = 0; + } + /* *param_4 = + (*param_3 - *(s32 *) (PTR_MapManager_Unk2_overlay_d_0__020e24e8_overlay_d_0__02083290 + param_2 * 8)) + 0x800 >> 0xc;*/ + *param_5 = (param_3[2] - *(s32 *) (puVar1 + param_2 * 8)) + 0x800 >> 0xc; +} + +ARM void MapManager::func_ov00_02083298(u32 param_2, Vec3p *param_3, s32 *param_4, s32 *param_5) { + if (3 < param_2) { // Objdiff wants (4 < param_2), why is that? + param_2 = 0; + } + /* *param_4 = + *(s32 *) (PTR_MapManager_Unk1_overlay_d_0__020e24c8_overlay_d_0__02083300 + param_2 * 8) + + ((*param_3 - *(s32 *) (PTR_MapManager_Unk2_overlay_d_0__020e24e8_overlay_d_0__020832fc + param_2 * 8) >> 1) + 0x800 >> + 0xc); + *param_5 = + *(s32 *) (PTR_MapManager_Unk1_overlay_d_0__020e24c8.field1_0x4_overlay_d_0__02083308 + param_2 * 8) + + ((param_3[2] - *(s32 *) (PTR_MapManager_Unk2_overlay_d_0__020e24e8.field1_0x4_overlay_d_0__02083304 + param_2 * 8) >> + 1) + + 0x800 >> + 0xc); */ + + // PTR_MapManager_Unk1_overlay_d_0__020e24c8_overlay_d_0__02083300 + // PTR_MapManager_Unk2_overlay_d_0__020e24e8_overlay_d_0__020832fc + // PTR_MapManager_Unk1_overlay_d_0__020e24c8.field1_0x4_overlay_d_0__02083308 + // PTR_MapManager_Unk2_overlay_d_0__020e24e8.field1_0x4_overlay_d_0__02083304 + // + // What are these pointers and fields? How should they be defined? +} ARM bool MapManager::GetCourseData_Unk_25c() { return this->mCourse->mUnk_25c; @@ -612,8 +804,8 @@ 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) {} +void MapManager::func_ov00_02083a1c(unk8 *param_1, MapManager *param_2, Vec3p *param_3) {} +unk8 MapManager::func_ov00_02083a54(u8 *param_1, MapManager *param_2, s32 *param_3, u8 param_4, u8 param_5) {} unk8 MapManager::func_ov00_02083b84() {} unk8 MapManager::func_ov00_02083bac() {} unk8 MapManager::func_ov00_02083bd4() {}