Decompile MapObject functions (#51)

* decompile MapObject

* fix regression

* match the remaining 4 functions
This commit is contained in:
Yanis
2026-04-16 13:27:46 +02:00
committed by GitHub
parent bcb6371074
commit 754eb10308
24 changed files with 563 additions and 149 deletions
@@ -37,11 +37,12 @@ ARM MapObjectMiniBlocks::MapObjectMiniBlocks() :
}
ARM bool MapObjectMiniBlocks::vfunc_00(void) {
GET_PROFILE(MapObjectProfileMiniBlocks)->func_ov000_0209ccd8(this->mUnk_22, data_ov000_020af574[this->mUnk_22]);
GET_PROFILE(MapObjectProfileMiniBlocks)
->func_ov000_0209ccd8(this->mUnk_20.mUnk_02, data_ov000_020af574[this->mUnk_20.mUnk_02]);
UnkStruct_027e0cd8_0c *pUnkStruct_027e0cd8_0c = data_027e0cd8->mUnk_0c;
u8 uVar6;
if (this->mUnk_22 != MiniBlocksVariant_BLKF) {
if (this->mUnk_20.mUnk_02 != MiniBlocksVariant_BLKF) {
Vec2b vec(this->mUnk_3A.x, this->mUnk_3A.y);
this->mPos.y = pUnkStruct_027e0cd8_0c->func_01ffedf4(&vec);
}
@@ -49,7 +50,7 @@ ARM bool MapObjectMiniBlocks::vfunc_00(void) {
Vec3p vec(FLOAT_TO_Q20(0.0f), FLOAT_TO_Q20(0.0f), FLOAT_TO_Q20(0.0f));
uVar6 = 0;
switch (this->mUnk_20) {
switch (this->mUnk_20.mUnk_00) {
case 4:
case 5:
case 6:
@@ -63,7 +64,7 @@ ARM bool MapObjectMiniBlocks::vfunc_00(void) {
uVar6 = 2;
break;
default:
if (this->mUnk_22 == MiniBlocksVariant_BLKF) {
if (this->mUnk_20.mUnk_02 == MiniBlocksVariant_BLKF) {
vec.x = FLOAT_TO_Q20(0.0f);
vec.y = FLOAT_TO_Q20(0.0f);
vec.z = -FLOAT_TO_Q20(0.375f);
@@ -75,7 +76,8 @@ ARM bool MapObjectMiniBlocks::vfunc_00(void) {
break;
}
MapObjectProfile_Derived2_20_Base_50 *ptr = GET_PROFILE(MapObjectProfileMiniBlocks)->vfunc_1C(this->mUnk_22)->mUnk_50;
MapObjectProfile_Derived2_20_Base_50 *ptr =
GET_PROFILE(MapObjectProfileMiniBlocks)->vfunc_1C(this->mUnk_20.mUnk_02)->mUnk_50;
void *var_r1;
if (ptr != NULL) {
u16 *temp_r1 = (u16 *) ((u8 *) ptr + 8);
@@ -102,7 +104,7 @@ next:
unk32 var_r0_2;
unk32 var_r0;
switch (this->mUnk_20) {
switch (this->mUnk_20.mUnk_00) {
case 1:
case 6:
case 8: