From ec1bda51131ca45bc904cb5bb879a2acceea9ca0 Mon Sep 17 00:00:00 2001 From: SammygoodTunes Date: Sun, 19 Jan 2025 22:53:58 +0100 Subject: [PATCH] Improve MapManager::func_ov00_02082454 Improve MapManager::func_ov00_02082494 Improve MapManager::DestroyMap Uncomment MapManager::func_ov00_02086284 --- config/eur/arm9/overlays/ov000/symbols.txt | 6 +- config/eur/arm9/overlays/ov015/symbols.txt | 4 +- config/usa/arm9/overlays/ov000/symbols.txt | 6 +- config/usa/arm9/overlays/ov015/symbols.txt | 4 +- src/00_Core/Map/MapManager.cpp | 165 +++++++++++---------- 5 files changed, 94 insertions(+), 91 deletions(-) diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index a1fb651c..455cc76c 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -910,9 +910,9 @@ func_ov000_0208e4f4 kind:function(arm,size=0x4) addr:0x208e4f4 func_ov000_0208e4f8 kind:function(arm,size=0x1c) addr:0x208e4f8 func_ov000_0208e514 kind:function(arm,size=0x16c) addr:0x208e514 func_ov000_0208e680 kind:function(arm,size=0x30) addr:0x208e680 -func_ov000_0208e6b0 kind:function(arm,size=0x40) addr:0x208e6b0 -func_ov000_0208e6f0 kind:function(arm,size=0x14) addr:0x208e6f0 -func_ov000_0208e704 kind:function(arm,size=0x14) addr:0x208e704 +_Z19func_ov000_0208e6b0P5Vec3pS0_ kind:function(arm,size=0x40) addr:0x208e6b0 +_Z19func_ov000_0208e6f0P5Vec3p kind:function(arm,size=0x14) addr:0x208e6f0 +_Z19func_ov000_0208e704P5Vec3p kind:function(arm,size=0x14) addr:0x208e704 func_ov000_0208e718 kind:function(arm,size=0x14) addr:0x208e718 _ZN4AABB8ContainsEP5Vec3p kind:function(arm,size=0x78) addr:0x208e72c _ZN4AABB12ContainsInXZEP5Vec3p kind:function(arm,size=0x44) addr:0x208e7a4 diff --git a/config/eur/arm9/overlays/ov015/symbols.txt b/config/eur/arm9/overlays/ov015/symbols.txt index 2ffe3b33..be20978e 100644 --- a/config/eur/arm9/overlays/ov015/symbols.txt +++ b/config/eur/arm9/overlays/ov015/symbols.txt @@ -288,8 +288,8 @@ func_ov015_02129b38 kind:function(arm,size=0x18) addr:0x2129b38 func_ov015_02129b50 kind:function(arm,size=0xb4) addr:0x2129b50 func_ov015_02129c04 kind:function(arm,size=0x10) addr:0x2129c04 _Z19func_ov015_02129c14v kind:function(arm,size=0x10) addr:0x2129c14 -func_ov015_02129c24 kind:function(arm,size=0x10) addr:0x2129c24 -func_ov015_02129c34 kind:function(arm,size=0x10) addr:0x2129c34 +_Z19func_ov015_02129c24P5Vec3pS0_ kind:function(arm,size=0x10) addr:0x2129c24 +_Z19func_ov015_02129c34i kind:function(arm,size=0x10) addr:0x2129c34 func_ov015_02129c44 kind:function(arm,size=0x10) addr:0x2129c44 func_ov015_02129c54 kind:function(arm,size=0x50) addr:0x2129c54 func_ov015_02129ca4 kind:function(arm,size=0x44) addr:0x2129ca4 diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt index b09a0ea0..65ce9bc4 100644 --- a/config/usa/arm9/overlays/ov000/symbols.txt +++ b/config/usa/arm9/overlays/ov000/symbols.txt @@ -910,9 +910,9 @@ func_ov000_0208e4f4 kind:function(arm,size=0x4) addr:0x208e494 func_ov000_0208e4f8 kind:function(arm,size=0x1c) addr:0x208e498 func_ov000_0208e514 kind:function(arm,size=0x16c) addr:0x208e4b4 func_ov000_0208e680 kind:function(arm,size=0x30) addr:0x208e620 -func_ov000_0208e6b0 kind:function(arm,size=0x40) addr:0x208e650 -func_ov000_0208e6f0 kind:function(arm,size=0x14) addr:0x208e690 -func_ov000_0208e704 kind:function(arm,size=0x14) addr:0x208e6a4 +_Z19func_ov000_0208e6b0P5Vec3pS0_ kind:function(arm,size=0x40) addr:0x208e650 +_Z19func_ov000_0208e6f0P5Vec3p kind:function(arm,size=0x14) addr:0x208e690 +_Z19func_ov000_0208e704P5Vec3p kind:function(arm,size=0x14) addr:0x208e6a4 func_ov000_0208e718 kind:function(arm,size=0x14) addr:0x208e6b8 _ZN4AABB8ContainsEP5Vec3p kind:function(arm,size=0x78) addr:0x208e6cc _ZN4AABB12ContainsInXZEP5Vec3p kind:function(arm,size=0x44) addr:0x208e744 diff --git a/config/usa/arm9/overlays/ov015/symbols.txt b/config/usa/arm9/overlays/ov015/symbols.txt index 65f56727..14ec755f 100644 --- a/config/usa/arm9/overlays/ov015/symbols.txt +++ b/config/usa/arm9/overlays/ov015/symbols.txt @@ -288,8 +288,8 @@ func_ov015_02129b38 kind:function(arm,size=0x18) addr:0x2129ab8 func_ov015_02129b50 kind:function(arm,size=0xb4) addr:0x2129ad0 func_ov015_02129c04 kind:function(arm,size=0x10) addr:0x2129b84 _Z19func_ov015_02129c14v kind:function(arm,size=0x10) addr:0x2129b94 -func_ov015_02129c24 kind:function(arm,size=0x10) addr:0x2129ba4 -func_ov015_02129c34 kind:function(arm,size=0x10) addr:0x2129bb4 +_Z19func_ov015_02129c24P5Vec3pS0_ kind:function(arm,size=0x10) addr:0x2129ba4 +_Z19func_ov015_02129c34i kind:function(arm,size=0x10) addr:0x2129bb4 func_ov015_02129c44 kind:function(arm,size=0x10) addr:0x2129bc4 func_ov015_02129c54 kind:function(arm,size=0x50) addr:0x2129bd4 func_ov015_02129ca4 kind:function(arm,size=0x44) addr:0x2129c24 diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp index f934cbfe..a2fd77ff 100644 --- a/src/00_Core/Map/MapManager.cpp +++ b/src/00_Core/Map/MapManager.cpp @@ -12,7 +12,9 @@ extern void func_ov000_0208b13c(s32 *param_1); extern void func_ov000_0208cc88(s32 *param1); extern void func_ov000_0208d620(s32 *param_1); extern void func_ov000_0208d680(s32 *param_1); -extern void func_ov000_0208e6b0(s32 *param_1, Vec3p *param_2); +extern void func_ov000_0208e6b0(Vec3p *param_1, Vec3p *param_2); +extern s32 func_ov000_0208e6f0(Vec3p *param_1); +extern s32 func_ov000_0208e704(Vec3p *param_1); extern void func_ov000_02093a1c(u32 *param_1, s32 *param_2); extern void func_ov000_02096324(s32 *param_1, s32 param_2); extern s32 *func_ov000_02096418(s32 *param_1); @@ -25,6 +27,8 @@ extern void func_ov004_02102e3c(s32 *param_1); extern void func_ov004_02105578(ActorManager *param_1, u32 param_2); extern void func_ov004_02105608(ActorManager *param_1, unk32 param_2, unk32 param_3, unk32 param_4); extern s32 func_ov015_02129c14(); +extern bool func_ov015_02129c24(Vec3p *param_1, Vec3p *param_2); +extern bool func_ov015_02129c34(s32 param_1); extern bool func_ov015_02129c44(s32 param_1); extern s32 *data_027e0c68; @@ -191,7 +195,7 @@ ARM s32 MapManager::func_ov00_02082424() { ARM bool MapManager::func_ov00_02082454(Vec3p *param_2, Vec3p *param_3) { s32 var = this->mMap->vfunc_4c(); if (var == 2) { - bool state;// = this->mMap->func_ov015_02129c24(param_2, param_3); // Does not exist. + bool state = func_ov015_02129c24(param_2, param_3); return state; } return false; @@ -200,7 +204,7 @@ ARM bool MapManager::func_ov00_02082454(Vec3p *param_2, Vec3p *param_3) { ARM bool MapManager::func_ov00_02082494(s32 param_2) { s32 var = this->mMap->vfunc_4c(); if (var == 2) { - bool state;// = this->mMap->func_ov015_02129c34(param_2); // Does not exist. + bool state = func_ov015_02129c34(param_2); return state; } return false; @@ -324,9 +328,8 @@ ARM void MapManager::CreateMap(unk32 mapType, unk32 param_3, unk32 param_4) { ARM void MapManager::DestroyMap() { if (this->mMap == NULL) { return; - } else { - // this->mMap->vfunc_04(); Doesn't exist. } + this->mMap->~MapBase(); } ARM void MapManager::MapData_vfunc_44() { @@ -2822,57 +2825,57 @@ 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 bVar1; - int iVar2; - int iVar3; - int local_d0[2]; - int local_c8; + bool bVar1; + s32 iVar2; + s32 iVar3; + Vec3p local_d0; + s32 local_c8; Vec3p local_c4; Vec3p local_b8; - int local_ac[2]; - int local_a4; - int local_a0[2]; - int local_98; - int local_94; - int local_90; - int local_8c; + Vec3p local_ac; + s32 local_a4; + Vec3p local_a0; + s32 local_98; + s32 local_94; + s32 local_90; + s32 local_8c; Vec3p local_88; Vec3p local_7c; Vec3p local_70; - int local_64; - int local_60; - int local_5c; - int local_58; - int local_54; + s32 local_64; + s32 local_60; + s32 local_5c; + s32 local_58; + s32 local_54; Vec3p local_50; Vec3p local_44; Vec3p local_38; - int local_2c; - int iStack_28; - int iStack_24; - int local_20; + s32 local_2c; + s32 iStack_28; + s32 iStack_24; + s32 local_20; - iVar2 = (**(code **) (*param_2 + 8))(); + // iVar2 = (**(code **) (*param_2 + 8))(); // What pointer address is contained in param_2? if (iVar2 == 0) { - (**(code **) (*param_2 + 0x24))(param_2, &local_2c); + // (**(code **) (*param_2 + 0x24))(param_2, &local_2c); local_38.x = local_2c; local_38.y = iStack_28; local_38.z = iStack_24; - iVar2 = Vec3p::Distance(param_3, &local_38); - Vec3p::Sub(param_3, &local_38, &local_38); - bVar1 = Vec3p::Normalize(&local_38); + iVar2 = Vec3p_Distance(param_3, &local_38); + Vec3p_Sub(param_3, &local_38, &local_38); + // bVar1 = Vec3p_Normalize(&local_38); if (!bVar1) { local_38.x = 0; local_38.y = 0; local_38.z = 0x1000; } - Vec3p::Scale(&local_38, (local_20 + param_5) - iVar2); - Vec3p::Add(param_3, &local_38, param_7); + Vec3p_Scale(&local_38, (local_20 + param_5) - iVar2); + Vec3p_Add(param_3, &local_38, param_7); local_50.x = local_2c; local_50.y = iStack_28; local_50.z = iStack_24; - Vec3p::Sub(param_4, &local_50, &local_44); - Vec3p::Normalize(&local_44); + Vec3p_Sub(param_4, &local_50, &local_44); + // Vec3p_Normalize(&local_44); param_8->x = local_44.x; param_8->y = local_44.y; param_8->z = local_44.z; @@ -2883,12 +2886,12 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 local_64 = 0; local_60 = 0; local_5c = 0; - (**(code **) (*param_2 + 0x28))(param_2, &local_64); + // (**(code **) (*param_2 + 0x28))(param_2, &local_64); local_70.y = param_3->y; local_70.x = local_64; local_70.z = local_5c; if ((((*(char *) ((int) param_2 + 5) != '\0') && ((param_6 & 0x80) != 0)) && - (iVar2 = Vec3p::Distance(&local_70, param_3), iVar2 <= local_58)) && + (iVar2 = Vec3p_Distance(&local_70, param_3), iVar2 <= local_58)) && ((local_60 + local_54 <= param_4->y && (iVar2 = param_5 + local_60 + local_54, param_3->y <= iVar2)))) { param_7->y = iVar2; @@ -2897,22 +2900,22 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 param_8->z = 0; return true; } - iVar2 = Vec3p::Distance(param_3, &local_70); + iVar2 = Vec3p_Distance(param_3, &local_70); iVar3 = local_58 + param_5; - Vec3p::Sub(param_3, &local_70, &local_70); - bVar1 = Vec3p::Normalize(&local_70); + Vec3p_Sub(param_3, &local_70, &local_70); + // bVar1 = Vec3p_Normalize(&local_70); if (!bVar1) { local_70.x = 0; local_70.y = 0; local_70.z = 0x1000; } - Vec3p::Scale(&local_70, iVar3 - iVar2); - Vec3p::Add(param_3, &local_70, param_7); + Vec3p_Scale(&local_70, iVar3 - iVar2); + Vec3p_Add(param_3, &local_70, param_7); local_88.x = local_64; local_88.z = local_5c; local_88.y = param_4->y; - Vec3p::Sub(param_4, &local_88, &local_7c); - Vec3p::Normalize(&local_7c); + Vec3p_Sub(param_4, &local_88, &local_7c); + // Vec3p_Normalize(&local_7c); param_8->x = local_7c.x; param_8->y = local_7c.y; param_8->z = local_7c.z; @@ -2921,23 +2924,23 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (iVar2 != 2) { return false; } - (**(code **) (*param_2 + 0x2c))(param_2, local_a0); - FUN_overlay_d_0__0208e6b0(local_a0, local_ac); + // (**(code **) (*param_2 + 0x2c))(param_2, local_a0); + func_ov000_0208e6b0(&local_a0, &local_ac); local_b8.y = param_3->y; - local_b8.x = local_ac[0]; + local_b8.x = local_ac.x; // previously = local_ac[0] (of type s32) local_b8.z = local_a4; - Vec3p::Sub(param_3, &local_b8, &local_b8); + Vec3p_Sub(param_3, &local_b8, &local_b8); local_c4.x = local_b8.x; local_c4.y = local_b8.y; local_c4.z = local_b8.z; - bVar1 = Vec3p::Normalize(&local_c4); + // bVar1 = Vec3p_Normalize(&local_c4); if (!bVar1) { local_c4.x = 0; local_c4.y = 0; local_c4.z = 0x1000; } if (((*(char *) ((int) param_2 + 5) != '\0') && ((param_6 & 0x80) != 0)) && - (((param_3->x < local_94 && (((local_a0[0] <= param_3->x && (param_3->z < local_8c)) && (local_98 <= param_3->z)))) || + (((param_3->x < local_94 && (((local_a0.x <= param_3->x && (param_3->z < local_8c)) && (local_98 <= param_3->z)))) || (local_90 + param_5 <= param_4->y)))) { param_7->y = local_90 + param_5; @@ -2946,24 +2949,24 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 param_8->z = 0; return true; } - FUN_overlay_d_0__0208e6b0(local_a0, local_d0); + func_ov000_0208e6b0(&local_a0, &local_d0); iVar2 = param_3->z; - if (((iVar2 < local_8c) && (local_98 <= iVar2)) && ((param_3->x < local_94 && (local_a0[0] <= param_3->x)))) { - iVar2 = FUN_overlay_d_0__0208e6f0(local_a0); - iVar3 = FUN_overlay_d_0__0208e704(local_a0); + if (((iVar2 < local_8c) && (local_98 <= iVar2)) && ((param_3->x < local_94 && (local_a0.x <= param_3->x)))) { + iVar2 = func_ov000_0208e6f0(&local_a0); + iVar3 = func_ov000_0208e704(&local_a0); if (iVar2 == iVar3) { local_c8 = local_c8 - param_3->z; if (local_c8 < 0) { local_c8 = -local_c8; } - local_d0[0] = local_d0[0] - param_3->x; - if (local_d0[0] < 0) { - local_d0[0] = -local_d0[0]; + local_d0.x = local_d0.x - param_3->x; + if (local_d0.x < 0) { + local_d0.x = -local_d0.x; } - bVar1 = local_c8 < local_d0[0]; + bVar1 = local_c8 < local_d0.x; } else { - iVar2 = FUN_overlay_d_0__0208e6f0(local_a0); - iVar3 = FUN_overlay_d_0__0208e704(local_a0); + iVar2 = func_ov000_0208e6f0(&local_a0); + iVar3 = func_ov000_0208e704(&local_a0); if (iVar2 < iVar3) { bVar1 = true; } else { @@ -2976,7 +2979,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_b8.x < 0) { iVar2 = -local_b8.x; } - iVar3 = FUN_overlay_d_0__0208e6f0(local_a0); + iVar3 = func_ov000_0208e6f0(&local_a0); param_7->x = param_7->x - ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = -0x1000; param_8->y = 0; @@ -2986,7 +2989,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_b8.x < 0) { iVar2 = -local_b8.x; } - iVar3 = FUN_overlay_d_0__0208e6f0(local_a0); + iVar3 = func_ov000_0208e6f0(&local_a0); param_7->x = param_7->x + ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = 0x1000; param_8->y = 0; @@ -2997,7 +3000,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_b8.z < 0) { iVar2 = -local_b8.z; } - iVar3 = FUN_overlay_d_0__0208e704(local_a0); + iVar3 = func_ov000_0208e704(&local_a0); param_7->z = param_7->z - ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = 0; param_8->y = 0; @@ -3007,7 +3010,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_b8.z < 0) { iVar2 = -local_b8.z; } - iVar3 = FUN_overlay_d_0__0208e704(local_a0); + iVar3 = func_ov000_0208e704(&local_a0); param_7->z = param_7->z + ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = 0; param_8->y = 0; @@ -3015,13 +3018,13 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 } } else { iVar3 = param_3->x; - if ((iVar3 < local_94) && (local_a0[0] <= iVar3)) { + if ((iVar3 < local_94) && (local_a0.x <= iVar3)) { if (local_c4.z < 0) { iVar2 = local_b8.z; if (local_b8.z < 0) { iVar2 = -local_b8.z; } - iVar3 = FUN_overlay_d_0__0208e704(local_a0); + iVar3 = func_ov000_0208e704(&local_a0); param_7->z = param_7->z - ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = 0; param_8->y = 0; @@ -3031,7 +3034,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_b8.z < 0) { iVar2 = -local_b8.z; } - iVar3 = FUN_overlay_d_0__0208e704(local_a0); + iVar3 = func_ov000_0208e704(&local_a0); param_7->z = param_7->z + ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = 0; param_8->y = 0; @@ -3043,7 +3046,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_b8.x < 0) { iVar2 = -local_b8.x; } - iVar3 = FUN_overlay_d_0__0208e6f0(local_a0); + iVar3 = func_ov000_0208e6f0(&local_a0); param_7->x = param_7->x - ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = -0x1000; param_8->y = 0; @@ -3053,7 +3056,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_b8.x < 0) { iVar2 = -local_b8.x; } - iVar3 = FUN_overlay_d_0__0208e6f0(local_a0); + iVar3 = func_ov000_0208e6f0(&local_a0); param_7->x = param_7->x + ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = 0x1000; param_8->y = 0; @@ -3064,17 +3067,17 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_c8 < 0) { local_c8 = -local_c8; } - local_d0[0] = local_d0[0] - iVar3; - if (local_d0[0] < 0) { - local_d0[0] = -local_d0[0]; + local_d0.x = local_d0.x - iVar3; + if (local_d0.x < 0) { + local_d0.x = -local_d0.x; // local_d0.x previously local_d0[0] } - if (local_c8 < local_d0[0]) { + if (local_c8 < local_d0.x) { if (local_c4.x < 0) { iVar2 = local_b8.x; if (local_b8.x < 0) { iVar2 = -local_b8.x; } - iVar3 = FUN_overlay_d_0__0208e6f0(local_a0); + iVar3 = func_ov000_0208e6f0(&local_a0); param_7->x = param_7->x - ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = -0x1000; param_8->y = 0; @@ -3084,7 +3087,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_b8.x < 0) { iVar2 = -local_b8.x; } - iVar3 = FUN_overlay_d_0__0208e6f0(local_a0); + iVar3 = func_ov000_0208e6f0(&local_a0); param_7->x = param_7->x + ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = 0x1000; param_8->y = 0; @@ -3095,7 +3098,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_b8.z < 0) { iVar2 = -local_b8.z; } - iVar3 = FUN_overlay_d_0__0208e704(local_a0); + iVar3 = func_ov000_0208e704(&local_a0); param_7->z = param_7->z - ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = 0; param_8->y = 0; @@ -3105,7 +3108,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 if (local_b8.z < 0) { iVar2 = -local_b8.z; } - iVar3 = FUN_overlay_d_0__0208e704(local_a0); + iVar3 = func_ov000_0208e704(&local_a0); param_7->z = param_7->z + ((param_5 + (iVar3 >> 1)) - iVar2); param_8->x = 0; param_8->y = 0; @@ -3113,7 +3116,7 @@ bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4 } } } - return false; */ + return false; } bool MapManager::func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7, @@ -3169,8 +3172,8 @@ bool MapManager::func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4 return false; } //(**(code **) (*param_2 + 0x2c))(param_2, auStack_94); - func_ov000_0208e6b0(auStack_94, &VStack_a0); - Vec3p_Scale(&VStack_28, param_6); // Doesn't exist. + // func_ov000_0208e6b0(auStack_94, &VStack_a0); + Vec3p_Scale(&VStack_28, param_6); Vec3p_Add(param_4, &VStack_28, param_8); Vec3p_Sub(param_4, &VStack_a0, param_9); // Vec3p_Normalize(param_9); @@ -3181,7 +3184,7 @@ bool MapManager::func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4 local_70[1] = 0; local_70[2] = 0; // (**(code **) (*param_2 + 0x28))(param_2, local_70); - // Vec3p_Scale(&VStack_28, param_6); // Doesn't exist. + Vec3p_Scale(&VStack_28, param_6); Vec3p_Add(param_4, &VStack_28, param_8); local_7c.x = local_70[0]; local_7c.z = local_70[2];