summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/eur/arm9/overlays/ov000/symbols.txt8
-rw-r--r--config/eur/arm9/overlays/ov015/symbols.txt6
-rw-r--r--config/usa/arm9/overlays/ov000/symbols.txt8
-rw-r--r--config/usa/arm9/overlays/ov015/symbols.txt6
-rw-r--r--include/Map/MapManager.hpp4
-rw-r--r--include/lib/math.h3
-rw-r--r--src/00_Core/Map/MapManager.cpp70
7 files changed, 53 insertions, 52 deletions
diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt
index 455cc76c..0a8e3b4e 100644
--- a/config/eur/arm9/overlays/ov000/symbols.txt
+++ b/config/eur/arm9/overlays/ov000/symbols.txt
@@ -683,7 +683,7 @@ _ZN10MapManager18func_ov00_0208583cEPS_P5Vec3pi kind:function(arm,size=0x74) add
_ZN10MapManager18func_ov00_020858b0Ev kind:function(arm,size=0x184) addr:0x20858b0
_ZN10MapManager18func_ov00_02085a34Eii kind:function(arm,size=0x22c) addr:0x2085a34
_ZN10MapManager18func_ov00_02085c60Eiiii kind:function(arm,size=0x3e4) addr:0x2085c60
-_ZN10MapManager18func_ov00_02086044Eiii kind:function(arm,size=0x240) addr:0x2086044
+_ZN10MapManager18func_ov00_02086044EP5Vec3pS1_i kind:function(arm,size=0x240) addr:0x2086044
_ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ kind:function(arm,size=0x800) addr:0x2086284
_ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ kind:function(arm,size=0x24c) addr:0x2086a84
func_ov000_02086cd0 kind:function(arm,size=0x4) addr:0x2086cd0
@@ -814,7 +814,7 @@ func_ov000_0208b71c kind:function(arm,size=0x20) addr:0x208b71c
func_ov000_0208b73c kind:function(arm,size=0x60) addr:0x208b73c
func_ov000_0208b79c kind:function(arm,size=0x34) addr:0x208b79c
func_ov000_0208b7d0 kind:function(arm,size=0x34) addr:0x208b7d0
-func_ov000_0208b804 kind:function(arm,size=0x40) addr:0x208b804
+_Z19func_ov000_0208b804PiP5Vec3pS1_ kind:function(arm,size=0x40) addr:0x208b804
func_ov000_0208b844 kind:function(arm,size=0x2c) addr:0x208b844
func_ov000_0208b870 kind:function(arm,size=0x2c) addr:0x208b870
func_ov000_0208b89c kind:function(arm,size=0x44) addr:0x208b89c
@@ -918,8 +918,8 @@ _ZN4AABB8ContainsEP5Vec3p kind:function(arm,size=0x78) addr:0x208e72c
_ZN4AABB12ContainsInXZEP5Vec3p kind:function(arm,size=0x44) addr:0x208e7a4
func_ov000_0208e7e8 kind:function(arm,size=0x44) addr:0x208e7e8
func_ov000_0208e82c kind:function(arm,size=0x50) addr:0x208e82c
-func_ov000_0208e87c kind:function(arm,size=0x4f8) addr:0x208e87c
-func_ov000_0208ed74 kind:function(arm,size=0x64) addr:0x208ed74
+_Z19func_ov000_0208e87cP4AABBP5Vec3pS2_ kind:function(arm,size=0x4f8) addr:0x208e87c
+_Z19func_ov000_0208ed74P4AABBP5Vec3p kind:function(arm,size=0x64) addr:0x208ed74
func_ov000_0208edd8 kind:function(arm,size=0x28) addr:0x208edd8
func_ov000_0208ee00 kind:function(arm,size=0x4c) addr:0x208ee00
func_ov000_0208ee4c kind:function(arm,size=0x44) addr:0x208ee4c
diff --git a/config/eur/arm9/overlays/ov015/symbols.txt b/config/eur/arm9/overlays/ov015/symbols.txt
index be20978e..dc62d8fb 100644
--- a/config/eur/arm9/overlays/ov015/symbols.txt
+++ b/config/eur/arm9/overlays/ov015/symbols.txt
@@ -287,9 +287,9 @@ func_ov015_02129b30 kind:function(arm,size=0x8) addr:0x2129b30
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
-_Z19func_ov015_02129c24P5Vec3pS0_ kind:function(arm,size=0x10) addr:0x2129c24
-_Z19func_ov015_02129c34i kind:function(arm,size=0x10) addr:0x2129c34
+_Z19func_ov015_02129c14P7MapBase kind:function(arm,size=0x10) addr:0x2129c14
+_Z19func_ov015_02129c24P7MapBaseP5Vec3pS2_ kind:function(arm,size=0x10) addr:0x2129c24
+_Z19func_ov015_02129c34P7MapBasei 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 65ce9bc4..ef0aa3b2 100644
--- a/config/usa/arm9/overlays/ov000/symbols.txt
+++ b/config/usa/arm9/overlays/ov000/symbols.txt
@@ -683,7 +683,7 @@ _ZN10MapManager18func_ov00_0208583cEPS_P5Vec3pi kind:function(arm,size=0x74) add
_ZN10MapManager18func_ov00_020858b0Ev kind:function(arm,size=0x184) addr:0x2085850
_ZN10MapManager18func_ov00_02085a34Eii kind:function(arm,size=0x22c) addr:0x20859d4
_ZN10MapManager18func_ov00_02085c60Eiiii kind:function(arm,size=0x3e4) addr:0x2085c00
-_ZN10MapManager18func_ov00_02086044Eiii kind:function(arm,size=0x240) addr:0x2085fe4
+_ZN10MapManager18func_ov00_02086044EP5Vec3pS1_i kind:function(arm,size=0x240) addr:0x2085fe4
_ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ kind:function(arm,size=0x800) addr:0x2086224
_ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ kind:function(arm,size=0x24c) addr:0x2086a24
func_ov000_02086cd0 kind:function(arm,size=0x4) addr:0x2086c70
@@ -814,7 +814,7 @@ func_ov000_0208b71c kind:function(arm,size=0x20) addr:0x208b6bc
func_ov000_0208b73c kind:function(arm,size=0x60) addr:0x208b6dc
func_ov000_0208b79c kind:function(arm,size=0x34) addr:0x208b73c
func_ov000_0208b7d0 kind:function(arm,size=0x34) addr:0x208b770
-func_ov000_0208b804 kind:function(arm,size=0x40) addr:0x208b7a4
+_Z19func_ov000_0208b804PiP5Vec3pS1_ kind:function(arm,size=0x40) addr:0x208b7a4
func_ov000_0208b844 kind:function(arm,size=0x2c) addr:0x208b7e4
func_ov000_0208b870 kind:function(arm,size=0x2c) addr:0x208b810
func_ov000_0208b89c kind:function(arm,size=0x44) addr:0x208b83c
@@ -918,8 +918,8 @@ _ZN4AABB8ContainsEP5Vec3p kind:function(arm,size=0x78) addr:0x208e6cc
_ZN4AABB12ContainsInXZEP5Vec3p kind:function(arm,size=0x44) addr:0x208e744
func_ov000_0208e7e8 kind:function(arm,size=0x44) addr:0x208e788
func_ov000_0208e82c kind:function(arm,size=0x50) addr:0x208e7cc
-func_ov000_0208e87c kind:function(arm,size=0x4f8) addr:0x208e81c
-func_ov000_0208ed74 kind:function(arm,size=0x64) addr:0x208ed14
+_Z19func_ov000_0208e87cP4AABBP5Vec3pS2_ kind:function(arm,size=0x4f8) addr:0x208e81c
+_Z19func_ov000_0208ed74P4AABBP5Vec3p kind:function(arm,size=0x64) addr:0x208ed14
func_ov000_0208edd8 kind:function(arm,size=0x28) addr:0x208ed78
func_ov000_0208ee00 kind:function(arm,size=0x4c) addr:0x208eda0
func_ov000_0208ee4c kind:function(arm,size=0x44) addr:0x208edec
diff --git a/config/usa/arm9/overlays/ov015/symbols.txt b/config/usa/arm9/overlays/ov015/symbols.txt
index 14ec755f..aa63867c 100644
--- a/config/usa/arm9/overlays/ov015/symbols.txt
+++ b/config/usa/arm9/overlays/ov015/symbols.txt
@@ -287,9 +287,9 @@ func_ov015_02129b30 kind:function(arm,size=0x8) addr:0x2129ab0
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
-_Z19func_ov015_02129c24P5Vec3pS0_ kind:function(arm,size=0x10) addr:0x2129ba4
-_Z19func_ov015_02129c34i kind:function(arm,size=0x10) addr:0x2129bb4
+_Z19func_ov015_02129c14P7MapBase kind:function(arm,size=0x10) addr:0x2129b94
+_Z19func_ov015_02129c24P7MapBaseP5Vec3pS2_ kind:function(arm,size=0x10) addr:0x2129ba4
+_Z19func_ov015_02129c34P7MapBasei 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/include/Map/MapManager.hpp b/include/Map/MapManager.hpp
index f67ac7bc..429d41f2 100644
--- a/include/Map/MapManager.hpp
+++ b/include/Map/MapManager.hpp
@@ -123,7 +123,7 @@ public:
unk32 func_ov00_02083588();
unk32 func_ov00_020835a4();
unk32 func_ov00_020835b4();
- unk8 func_ov00_020835c4(s32 param_2, unk32 param_3);
+ unk8 func_ov00_020835c4(MapManager *param_1, s32 param_2, unk32 param_3);
bool func_ov00_020835e4(s32 param_2, unk32 *param_3, unk8 *param_4);
unk32 func_ov00_020835f4(s32 param_2);
void func_ov00_02083604(s32 param_2);
@@ -235,7 +235,7 @@ public:
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);
+ unk8 func_ov00_02086044(Vec3p *param_2, Vec3p *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,
diff --git a/include/lib/math.h b/include/lib/math.h
index b5a64150..28e2fd0b 100644
--- a/include/lib/math.h
+++ b/include/lib/math.h
@@ -48,8 +48,7 @@ extern "C" void Vec3p_Sub(Vec3p *a, Vec3p *b, Vec3p *out);
extern "C" q20 Vec3p_Dot(Vec3p *a, Vec3p *b);
extern "C" void Vec3p_Cross(Vec3p *a, Vec3p *b, Vec3p *out);
extern "C" q20 Vec3p_Length(Vec3p *a);
-// extern "C" bool Vec3p_Normalize(Vec3p *vec); // 0x1fffb4c (this calls Vec3p_Normalize at 0x1ff9d4c)
-extern "C" void Vec3p_Normalize(Vec3p *vec, Vec3p *out); // 0x1ff9d4c
+extern "C" void Vec3p_Normalize(Vec3p *vec, Vec3p *out);
extern "C" void Vec3p_Axpy(q20 a, Vec3p *x, Vec3p *y, Vec3p *out);
extern "C" q20 Vec3p_Distance(Vec3p *a, Vec3p *b);
extern "C" void Vec3p_Scale(Vec3p *vec, q20 scale);
diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp
index a2fd77ff..4e4621c9 100644
--- a/src/00_Core/Map/MapManager.cpp
+++ b/src/00_Core/Map/MapManager.cpp
@@ -9,12 +9,15 @@ extern void func_ov000_02078bf0(s32 *param_1, unk32 param_2);
extern s32 func_ov000_02078fe8(s32 *param_1);
extern void func_ov000_020798bc(s32 *param_1, s32 param_2);
extern void func_ov000_0208b13c(s32 *param_1);
+extern s32 func_ov000_0208b804(s32 *param_1, Vec3p *param_2, Vec3p *param_3);
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(Vec3p *param_1, Vec3p *param_2);
extern s32 func_ov000_0208e6f0(Vec3p *param_1);
extern s32 func_ov000_0208e704(Vec3p *param_1);
+extern s32 func_ov000_0208e87c(AABB *param_1, Vec3p *param_2, Vec3p *param_3);
+extern void func_ov000_0208ed74(AABB *param_1, Vec3p *param_2);
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);
@@ -26,9 +29,9 @@ extern void func_ov004_02102b28(s32 *param_1);
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 s32 func_ov015_02129c14(MapBase *param_1);
+extern bool func_ov015_02129c24(MapBase *param_1, Vec3p *param_2, Vec3p *param_3);
+extern bool func_ov015_02129c34(MapBase *param_1, s32 param_2);
extern bool func_ov015_02129c44(s32 param_1);
extern s32 *data_027e0c68;
@@ -186,7 +189,7 @@ ARM void MapManager::MapData_vfunc_9c() {
ARM s32 MapManager::func_ov00_02082424() {
s32 var = this->mMap->vfunc_4c();
if (var == 2) {
- var = func_ov015_02129c14(); // MapBase::GetUnk_19c_Unk_28 according to Ghidra
+ var = func_ov015_02129c14(this->mMap); // MapBase::GetUnk_19c_Unk_28 according to Ghidra
return var;
}
return 0;
@@ -195,7 +198,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 = func_ov015_02129c24(param_2, param_3);
+ bool state = func_ov015_02129c24(this->mMap, param_2, param_3);
return state;
}
return false;
@@ -204,7 +207,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 = func_ov015_02129c34(param_2);
+ bool state = func_ov015_02129c34(this->mMap, param_2);
return state;
}
return false;
@@ -870,8 +873,8 @@ ARM unk32 MapManager::func_ov00_020835b4() {
return this->mCourse->Get_Unk_c8_04();
}
-ARM unk8 MapManager::func_ov00_020835c4(s32 param_2, unk32 param_3) {
- return this->mCourse->func_ov00_0207d404(param_2, 0, param_3);
+ARM unk8 MapManager::func_ov00_020835c4(MapManager *param_1, s32 param_2, unk32 param_3) {
+ return param_1->mCourse->func_ov00_0207d404(param_2, 0, param_3);
}
ARM bool MapManager::func_ov00_020835e4(s32 param_2, unk32 *param_3, unk8 *param_4) {
@@ -2731,9 +2734,9 @@ unk8 MapManager::func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4,
return 0; */
}
-unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4) {
- /* undefined uVar1;
- undefined uVar2;
+unk8 MapManager::func_ov00_02086044(Vec3p *param_2, Vec3p *param_3, unk32 param_4) {
+ unk32 uVar1;
+ unk32 uVar2;
int iVar3;
int iVar4;
int iVar5;
@@ -2743,9 +2746,8 @@ unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4)
int *piVar9;
Vec3p *pVVar10;
int iVar11;
- undefined local_c6;
- undefined local_c5;
- undefined auStack_c4[4];
+ Vec2b local_c6;
+ unk32 auStack_c4[4];
Vec3p iStack_c0;
Vec3p local_b0;
Vec3p local_a0;
@@ -2766,12 +2768,12 @@ unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4)
local_88.x = param_2->x;
local_88.y = param_2->y;
local_88.z = param_2->z;
- FUN_overlay_d_0__0208ed74(&local_40, &local_88);
- AABB::Grow(&local_40, param_4);
- iVar3 = FUN_overlay_d_0__020839d4(param_1, local_40.min.x);
- iVar4 = FUN_overlay_d_0__020839f8(param_1, local_40.min.z);
- iVar5 = FUN_overlay_d_0__020839d4(param_1, local_40.max.x);
- iVar6 = FUN_overlay_d_0__020839f8(param_1, local_40.max.z);
+ func_ov000_0208ed74(&local_40, &local_88);
+ // AABB_Grow(&local_40, param_4);
+ iVar3 = this->func_ov00_020839d4(local_40.min.x);
+ iVar4 = this->func_ov00_020839f8(local_40.min.z);
+ iVar5 = this->func_ov00_020839d4(local_40.max.x);
+ iVar6 = this->func_ov00_020839f8(local_40.max.z);
local_4c.x = param_3->x;
local_4c.y = param_3->y;
local_4c.z = param_3->z;
@@ -2782,10 +2784,10 @@ unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4)
local_a0.x = param_3->x;
local_a0.y = param_3->y;
local_a0.z = param_3->z;
- Vec3p::Sub(&local_94, pVVar10, &VStack_58);
- uVar1 = FUN_overlay_d_0__020839d4(param_1, param_3->x);
- uVar2 = FUN_overlay_d_0__020839f8(param_1, param_3->z);
- iVar7 = FUN_overlay_d_0__02083e34(param_1, uVar1, uVar2, pVVar10);
+ Vec3p_Sub(&local_94, pVVar10, &VStack_58);
+ uVar1 = this->func_ov00_020839d4(param_3->x);
+ uVar2 = this->func_ov00_020839f8(param_3->z);
+ // iVar7 = this->func_ov00_02083e34(uVar1, uVar2, pVVar10);
do {
if (iVar5 < iVar3) {
return 0;
@@ -2793,25 +2795,25 @@ unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4)
if (iVar4 <= iVar6) {
iVar11 = iVar4;
do {
- iVar8 = FUN_overlay_d_0__02083e34(param_1, (char) iVar3, (char) iVar11, pVVar10);
+ // iVar8 = this->func_ov00_02083e34((char) iVar3, (char) iVar11, pVVar10);
if (iVar7 < iVar8) {
- local_c6 = (char) iVar3;
- local_c5 = (char) iVar11;
- FUN_overlay_d_0__02084024(*(MapManager **) PTR_gMapManager_overlay_d_0__02086280, &local_c6, &AStack_70);
- Vec3p::Sub(param_2, param_3, &VStack_7c);
+ local_c6.x = (char) iVar3;
+ local_c6.y = (char) iVar11;
+ gMapManager->func_ov00_02084024(&local_c6, &AStack_70);
+ Vec3p_Sub(param_2, param_3, &VStack_7c);
pVVar10 = (Vec3p *) auStack_c4;
- iVar8 = FUN_overlay_d_0__0208e87c(&AStack_70, &local_b0, &VStack_7c);
+ iVar8 = func_ov000_0208e87c(&AStack_70, &local_b0, &VStack_7c);
if (iVar8 != 0) {
return 1;
}
}
- piVar9 = (int *) MapData_vfunc_78(param_1);
- if ((piVar9 != (int *) 0x0) && (iVar8 = (**(code **) (*piVar9 + 0x58))(), iVar8 != 0)) {
+ piVar9 = (int *) this->MapData_vfunc_78();
+ if ((piVar9 != (int *) 0x0) /*&& (iVar8 = (**(code **) (*piVar9 + 0x58))(), iVar8 != 0)*/) {
iStack_c0.x = param_3->x;
iStack_c0.y = param_3->y;
pVVar10 = (Vec3p *) param_3->z;
iStack_c0.z = (int) pVVar10;
- iVar8 = FUN_overlay_d_0__0208b804(piVar9, &iStack_c0, &VStack_58);
+ iVar8 = func_ov000_0208b804(piVar9, &iStack_c0, &VStack_58);
if (iVar8 != 0) {
return 1;
}
@@ -2820,7 +2822,7 @@ unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4)
} while (iVar11 <= iVar6);
}
iVar3 = iVar3 + 1;
- } while (true); */
+ } while (true);
}
bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7,