summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSammygoodTunes <sygamerz@gmail.com>2025-06-28 14:37:36 +0200
committerSammygoodTunes <sygamerz@gmail.com>2025-06-28 14:37:36 +0200
commitd733ef8b005cc5d8e865c58543d9bb473d08b7e8 (patch)
tree9eb5e1a31bc2ed39f9fe6c287eebd8e01259397a
parentc763d7e281a93fbf5c8d87d53f1ba9edd5ee2b2c (diff)
Decomp progress 44%
-rw-r--r--config/eur/arm9/overlays/ov000/symbols.txt2
-rw-r--r--include/Map/MapManager.hpp2
-rw-r--r--src/00_Core/Map/MapManager.cpp50
3 files changed, 24 insertions, 30 deletions
diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt
index b13290f1..49daa29f 100644
--- a/config/eur/arm9/overlays/ov000/symbols.txt
+++ b/config/eur/arm9/overlays/ov000/symbols.txt
@@ -610,7 +610,7 @@ _ZN10MapManager11GetTileEndZEi kind:function(arm,size=0x28) addr:0x2083bfc
_ZN10MapManager18func_ov00_02083c24Ei kind:function(arm,size=0x2c) addr:0x2083c24
_ZN10MapManager18func_ov00_02083c50Ei kind:function(arm,size=0x2c) addr:0x2083c50
_ZN10MapManager18func_ov00_02083c7cEP5Vec3p5Vec2b kind:function(arm,size=0x6c) addr:0x2083c7c
-_ZN10MapManager18func_ov00_02083ce8EPS_Pijij kind:function(arm,size=0x14c) addr:0x2083ce8
+_ZN10MapManager18func_ov00_02083ce8EPS_P5Vec3pjij kind:function(arm,size=0x14c) addr:0x2083ce8
_ZN10MapManager18func_ov00_02083e34Ecci kind:function(arm,size=0x24) addr:0x2083e34
_ZN10MapManager16MapData_vfunc_60EP5Vec2b kind:function(arm,size=0x18) addr:0x2083e58
_ZN10MapManager18func_ov00_02083e70EP5Vec2b kind:function(arm,size=0x70) addr:0x2083e70
diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp
index 3b14687d..74526c0a 100644
--- a/include/Map/MapManager.hpp
+++ b/include/Map/MapManager.hpp
@@ -167,7 +167,7 @@ public:
s32 func_ov00_02083c24(unk32 x);
s32 func_ov00_02083c50(unk32 z);
void func_ov00_02083c7c(Vec3p *param_2, Vec2b param_3);
- static void func_ov00_02083ce8(MapManager *param_1, s32 *param_2, u32 param_3, s32 param_4, u32 param_5);
+ void func_ov00_02083ce8(Vec3p *param_2, u32 param_3, s32 param_4, u32 param_5);
s32 func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4);
unk32 MapData_vfunc_60(Vec2b *param_1);
bool func_ov00_02083e70(Vec2b *param_2);
diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp
index 21a31b33..a6c509ca 100644
--- a/src/00_Core/Map/MapManager.cpp
+++ b/src/00_Core/Map/MapManager.cpp
@@ -1217,44 +1217,38 @@ ARM void MapManager::func_ov00_02083c7c(Vec3p *param_2, Vec2b param_3) {
param_2->y = this->MapData_vfunc_68(&local_28, true);
}
-ARM void MapManager::func_ov00_02083ce8(MapManager *param_1, s32 *param_2, u32 param_3, s32 param_4, u32 param_5) {
+ARM void MapManager::func_ov00_02083ce8(Vec3p *param_2, u32 param_3, s32 param_4, u32 param_5) {
bool bVar1;
- s32 iVar2;
- u32 uVar3;
+ u32 uVar2;
+ Vec3p local_38;
Vec3p local_2c;
- uVar3 = param_3;
- iVar2 = param_1->GetCourseData_Unk_25c();
- if (iVar2 == 0) {
- iVar2 = param_1->mMap->GetTileStartX(param_3 & 0xff);
- *param_2 = iVar2 + 0x800;
- iVar2 = param_1->mMap->GetTileStartZ(param_3 >> 8 & 0xff);
- param_2[2] = iVar2 + 0x800;
- } else {
+ uVar2 = param_3;
+ bVar1 = GetCourseData_Unk_25c();
+ if (bVar1) {
if (param_4 != -1) {
- uVar3 = param_5;
- }
- if (param_4 != -1 && uVar3 != 0xffffffff) {
- uVar3 = (u32) (u8) param_1->mCourse->mMapGrid[param_4][uVar3];
+ uVar2 = param_5;
+ } else if (param_4 != -1 && uVar2 != -1) {
+ uVar2 = this->mCourse->mMapGrid[param_4][uVar2];
} else {
- uVar3 = param_1->func_ov00_02082d08();
+ uVar2 = this->func_ov00_02082d08();
}
- bVar1 = param_1->IsMapInMainGrid(uVar3);
+ bVar1 = this->IsMapInMainGrid(uVar2);
if (bVar1) {
- param_1->func_ov00_02083524(&local_2c, param_4, param_5);
- iVar2 = param_1->mMap->GetTileStartX(param_3 & 0xff);
- *param_2 = local_2c.x + iVar2 + 0x800;
- iVar2 = param_1->mMap->GetTileStartZ(param_3 >> 8 & 0xff);
- param_2[2] = local_2c.z + iVar2 + 0x800;
+ func_ov00_02083524(&local_2c, param_4, param_5);
+ param_2->x = local_2c.x + this->mMap->GetTileStartX(param_3 & 0xff) + 0x800;
+ param_2->z = local_2c.z + this->mMap->GetTileStartZ(param_3 >> 8 & 0xff) + 0x800;
} else {
- iVar2 = param_1->mMap->GetTileStartX(param_3 & 0xff);
- *param_2 = iVar2 + 0x800;
- iVar2 = param_1->mMap->GetTileStartZ(param_3 >> 8 & 0xff);
- param_2[2] = iVar2 + 0x800;
+ param_2->x = this->mMap->GetTileStartX(param_3 & 0xff) + 0x800;
+ param_2->z = this->mMap->GetTileStartZ(param_3 >> 8 & 0xff) + 0x800;
}
+ } else {
+ param_2->x = this->mMap->GetTileStartX(param_3 & 0xff) + 0x800;
+ param_2->z = this->mMap->GetTileStartZ(param_3 >> 8 & 0xff) + 0x800;
}
- iVar2 = param_1->MapData_vfunc_68(&local_2c, true); // I really do hope this is right
- param_2[1] = iVar2;
+ local_38 = *param_2;
+ param_2->y = MapData_vfunc_68(&local_38, true);
+ ;
}
ARM s32 MapManager::func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4) {