Add parameters to MapObject::vfunc_28 (#146)

* feat: increase global matching

* fix: better refactor

* fix: match back MapObjectDoorSwitch::MapObjectDoorSwitch

* style: remove old nonmatching comment
This commit is contained in:
Alessevan
2026-08-24 11:43:47 -04:00
committed by GitHub
parent f595c06b8d
commit 721bb0efd8
19 changed files with 32 additions and 30 deletions
+1 -1
View File
@@ -113,7 +113,7 @@ void MapObject::vfunc_24(MapObject *param1, VecFx32 param2) {
*(u32 *) this = 0; // ????
}
unk32 MapObject::vfunc_28() {
unk32 MapObject::vfunc_28(unk32 param1, unk32 param2, unk32 param3) {
return 0;
}
@@ -58,7 +58,7 @@ void MapObjectPot_Base::vfunc_24(MapObject *param1, VecFx32 param2) {}
// non-matching
void MapObjectPot_Base::vfunc_38() {}
// non-matching
unk32 MapObjectPot_Base::vfunc_28() {}
unk32 MapObjectPot_Base::vfunc_28(unk32 param1, unk32 param2, unk32 param3) {}
// non-matching
void MapObjectPot_Base::vfunc_48() {}
@@ -233,12 +233,11 @@ void MapObjectBombFlower::vfunc_38() {
bomb->SetState(ActorBombState_4);
}
// non-matching
unk32 MapObjectBombFlower::vfunc_28() {
unk32 MapObjectBombFlower::vfunc_28(unk32 param1, unk32 param2, unk32 param3) {
if (this->mState == MapObjBombFlowerState_4) {
return 0x0;
}
return this->MapObjectPot_Base::vfunc_28();
return this->MapObjectPot_Base::vfunc_28(param1, param2, param3);
}
// non-matching
@@ -200,7 +200,7 @@ void MapObjectChestBase::vfunc_0C() {
this->vfunc_08();
}
unk32 MapObjectChestBase::vfunc_28() {
unk32 MapObjectChestBase::vfunc_28(unk32 param1, unk32 param2, unk32 param3) {
return this->func_ov031_021037d0();
}
+3 -1
View File
@@ -1,5 +1,7 @@
#define DOORBASE_DTOR_NOINLINE
#include "MapObject/MapObjectDoorBase.hpp"
#include "Actor/ActorUnkSCCN.hpp"
#include "Unknown/Common.hpp"
#include "Unknown/UnkStruct_0204af1c.hpp"
#include "Unknown/UnkStruct_027e0998.hpp"
@@ -15,7 +17,7 @@ extern "C" void *func_ov000_02077590(unk32);
class UnkStruct_ov031_02117210 {
public:
/* 00 */ MapObject_10 mUnk_00[3];
/* 00 */ MapObject_10_SCCN mUnk_00[3];
/* 6C */
UnkStruct_ov031_02117210();
@@ -307,7 +307,7 @@ bool MapObjectDoorClick::func_ov031_020ffde4(void) {
return false;
}
unk32 MapObjectDoorClick::vfunc_28(void) {
unk32 MapObjectDoorClick::vfunc_28(unk32 param1, unk32 param2, unk32 param3) {
switch (this->mState) {
case MapObjDoorClickState_3:
case MapObjDoorClickState_4:
+1 -1
View File
@@ -124,7 +124,7 @@ bool MapObjectDoorKey::func_ov031_020fea88(void) {
return false;
}
unk32 MapObjectDoorKey::vfunc_28(void) {
unk32 MapObjectDoorKey::vfunc_28(unk32 param1, unk32 param2, unk32 param3) {
if (this->mUnk_A4) {
return -1;
}
@@ -24,7 +24,7 @@ MapObjectProfileDoorSwitch::MapObjectProfileDoorSwitch() :
}
MapObjectDoorSwitch::MapObjectDoorSwitch() :
mUnk_094(0) {
mUnk_094(NULL) {
this->mUnkPos = FLOAT_TO_FX32(0.0f);
#if IS_JP