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
+2 -2
View File
@@ -2560,7 +2560,7 @@ _ZN9MapObject19func_ov000_0209d144EP5Vec2sii kind:function(arm,size=0x88) addr:0
_ZN9MapObject8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x8) addr:0x0209d1cc
_ZN9MapObject8vfunc_20Ev kind:function(arm,size=0x4) addr:0x0209d1d4
_ZN9MapObject8vfunc_24EPS_7VecFx32 kind:function(arm,size=0xc) addr:0x0209d1d8
_ZN9MapObject8vfunc_28Ev kind:function(arm,size=0x8) addr:0x0209d1e4
_ZN9MapObject8vfunc_28Eiii kind:function(arm,size=0x8) addr:0x0209d1e4
_ZN9MapObject8vfunc_2CEP7VecFx32 kind:function(arm,size=0x40) addr:0x0209d1ec
_ZN9MapObject19func_ov000_0209d22cEPsPS_i kind:function(arm,size=0x48) addr:0x0209d22c
_ZN9MapObject19func_ov000_0209d274Ei kind:function(arm,size=0x28) addr:0x0209d274
@@ -2582,7 +2582,7 @@ _ZN17MapObjectPot_Base8vfunc_00Ev kind:function(arm,size=0x24) addr:0x0209d780
_ZN17MapObjectPot_Base8SetStateEsi kind:function(arm,size=0x144) addr:0x0209d7a4
_ZN17MapObjectPot_Base8vfunc_24EP9MapObject7VecFx32 kind:function(arm,size=0xc4) addr:0x0209d8e8
_ZN17MapObjectPot_Base8vfunc_38Ev kind:function(arm,size=0x4c) addr:0x0209d9ac
_ZN17MapObjectPot_Base8vfunc_28Ev kind:function(arm,size=0x68) addr:0x0209d9f8
_ZN17MapObjectPot_Base8vfunc_28Eiii kind:function(arm,size=0x68) addr:0x0209d9f8
_ZN17MapObjectPot_Base8vfunc_48Ev kind:function(arm,size=0x4) addr:0x0209da60
_ZN17MapObjectPot_Base8vfunc_54Ev kind:function(arm,size=0xc) addr:0x0209da64
_ZN17MapObjectPot_Base8vfunc_4CEv kind:function(arm,size=0x8) addr:0x0209da70
+4 -4
View File
@@ -1355,7 +1355,7 @@ _ZN16MapObjectDoorKey8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x020fe8a0
_ZN16MapObjectDoorKey8vfunc_14Ev kind:function(arm,size=0x14c) addr:0x020fe8ac
_ZN16MapObjectDoorKey8vfunc_5CEsi kind:function(arm,size=0x90) addr:0x020fe9f8
_ZN16MapObjectDoorKey19func_ov031_020fea88Ev kind:function(arm,size=0x34) addr:0x020fea88
_ZN16MapObjectDoorKey8vfunc_28Ev kind:function(arm,size=0x90) addr:0x020feabc
_ZN16MapObjectDoorKey8vfunc_28Eiii kind:function(arm,size=0x90) addr:0x020feabc
_ZN16MapObjectDoorKey8vfunc_64Ev kind:function(arm,size=0xc) addr:0x020feb4c
_ZN16MapObjectDoorKey8vfunc_68Ev kind:function(arm,size=0x8) addr:0x020feb58
_ZN16MapObjectDoorKey8vfunc_6CEv kind:function(arm,size=0x8) addr:0x020feb60
@@ -1405,7 +1405,7 @@ _ZN18MapObjectDoorClick8vfunc_14Ev kind:function(arm,size=0x14c) addr:0x020ffb98
_ZN18MapObjectDoorClick8vfunc_5CEsi kind:function(arm,size=0xf8) addr:0x020ffce4
_ZN18MapObjectDoorClick9vfunc2_14Ev kind:function(arm,size=0x8) addr:0x020ffddc
_ZN18MapObjectDoorClick19func_ov031_020ffde4Ev kind:function(arm,size=0x38) addr:0x020ffde4
_ZN18MapObjectDoorClick8vfunc_28Ev kind:function(arm,size=0x60) addr:0x020ffe1c
_ZN18MapObjectDoorClick8vfunc_28Eiii kind:function(arm,size=0x60) addr:0x020ffe1c
_ZN18MapObjectDoorClick8vfunc_64Ev kind:function(arm,size=0x10) addr:0x020ffe7c
_ZN18MapObjectDoorClick8vfunc_68Ev kind:function(arm,size=0x8) addr:0x020ffe8c
_ZN18MapObjectDoorClick8vfunc_6CEv kind:function(arm,size=0x8) addr:0x020ffe94
@@ -1519,7 +1519,7 @@ _ZN19MapObjectBombFlower8vfunc_08Ev kind:function(arm,size=0xf0) addr:0x021027a4
_ZN19MapObjectBombFlower8SetStateEsi kind:function(arm,size=0x15c) addr:0x02102894
_ZN19MapObjectBombFlower8vfunc_14Ev kind:function(arm,size=0x50) addr:0x021029f0
_ZN19MapObjectBombFlower8vfunc_38Ev kind:function(arm,size=0x98) addr:0x02102a40
_ZN19MapObjectBombFlower8vfunc_28Ev kind:function(arm,size=0x1c) addr:0x02102ad8
_ZN19MapObjectBombFlower8vfunc_28Eiii kind:function(arm,size=0x1c) addr:0x02102ad8
_ZN19MapObjectBombFlower8vfunc_50EP8ActorRefP17MapObjectPot_Base kind:function(arm,size=0x70) addr:0x02102af4
_ZN19MapObjectBombFlowerD1Ev kind:function(arm,size=0x20) addr:0x02102b64
_ZN19MapObjectBombFlowerD0Ev kind:function(arm,size=0x28) addr:0x02102b84
@@ -1550,7 +1550,7 @@ _ZN18MapObjectChestBase8vfunc_00Ev kind:function(arm,size=0xdc) addr:0x02103178
_ZN18MapObjectChestBase8vfunc_04Ev kind:function(arm,size=0x2e0) addr:0x02103254
_ZN18MapObjectChestBase8vfunc_08Ev kind:function(arm,size=0x27c) addr:0x02103534
_ZN18MapObjectChestBase8vfunc_0CEv kind:function(arm,size=0x14) addr:0x021037b0
_ZN18MapObjectChestBase8vfunc_28Ev kind:function(arm,size=0xc) addr:0x021037c4
_ZN18MapObjectChestBase8vfunc_28Eiii kind:function(arm,size=0xc) addr:0x021037c4
_ZN18MapObjectChestBase19func_ov031_021037d0Ev kind:function(arm,size=0x94) addr:0x021037d0
_ZN18MapObjectChestBase19func_ov031_02103864Ev kind:function(arm,size=0x14) addr:0x02103864
_ZN18MapObjectChestBase19func_ov031_02103878Ev kind:function(arm,size=0x1c) addr:0x02103878
+2 -2
View File
@@ -2559,7 +2559,7 @@ _ZN9MapObject19func_ov000_0209d144EP5Vec2sii kind:function(arm,size=0x88) addr:0
_ZN9MapObject8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x8) addr:0x0209e990
_ZN9MapObject8vfunc_20Ev kind:function(arm,size=0x4) addr:0x0209e998
_ZN9MapObject8vfunc_24EPS_7VecFx32 kind:function(arm,size=0xc) addr:0x0209e99c
_ZN9MapObject8vfunc_28Ev kind:function(arm,size=0x8) addr:0x0209e9a8
_ZN9MapObject8vfunc_28Eiii kind:function(arm,size=0x8) addr:0x0209e9a8
_ZN9MapObject8vfunc_2CEP7VecFx32 kind:function(arm,size=0x40) addr:0x0209e9b0
_ZN9MapObject19func_ov000_0209d22cEPsPS_i kind:function(arm,size=0x48) addr:0x0209e9f0
_ZN9MapObject19func_ov000_0209d274Ei kind:function(arm,size=0x28) addr:0x0209ea38
@@ -2581,7 +2581,7 @@ _ZN17MapObjectPot_Base8vfunc_00Ev kind:function(arm,size=0x24) addr:0x0209ef44
_ZN17MapObjectPot_Base8SetStateEsi kind:function(arm,size=0x144) addr:0x0209ef68
_ZN17MapObjectPot_Base8vfunc_24EP9MapObject7VecFx32 kind:function(arm,size=0xc4) addr:0x0209f0ac
_ZN17MapObjectPot_Base8vfunc_38Ev kind:function(arm,size=0x4c) addr:0x0209f170
_ZN17MapObjectPot_Base8vfunc_28Ev kind:function(arm,size=0x68) addr:0x0209f1bc
_ZN17MapObjectPot_Base8vfunc_28Eiii kind:function(arm,size=0x68) addr:0x0209f1bc
_ZN17MapObjectPot_Base8vfunc_48Ev kind:function(arm,size=0x4) addr:0x0209f224
_ZN17MapObjectPot_Base8vfunc_54Ev kind:function(arm,size=0xc) addr:0x0209f228
_ZN17MapObjectPot_Base8vfunc_4CEv kind:function(arm,size=0x8) addr:0x0209f234
+4 -4
View File
@@ -1354,7 +1354,7 @@ _ZN16MapObjectDoorKey8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x02100348
_ZN16MapObjectDoorKey8vfunc_14Ev kind:function(arm,size=0x14c) addr:0x02100354
_ZN16MapObjectDoorKey8vfunc_5CEsi kind:function(arm,size=0x90) addr:0x021004a0
_ZN16MapObjectDoorKey19func_ov031_020fea88Ev kind:function(arm,size=0x34) addr:0x02100530
_ZN16MapObjectDoorKey8vfunc_28Ev kind:function(arm,size=0x90) addr:0x02100564
_ZN16MapObjectDoorKey8vfunc_28Eiii kind:function(arm,size=0x90) addr:0x02100564
_ZN16MapObjectDoorKey8vfunc_64Ev kind:function(arm,size=0xc) addr:0x021005f4
_ZN16MapObjectDoorKey8vfunc_68Ev kind:function(arm,size=0x8) addr:0x02100600
_ZN16MapObjectDoorKey8vfunc_6CEv kind:function(arm,size=0x8) addr:0x02100608
@@ -1404,7 +1404,7 @@ _ZN18MapObjectDoorClick8vfunc_14Ev kind:function(arm,size=0x14c) addr:0x021018e0
_ZN18MapObjectDoorClick8vfunc_5CEsi kind:function(arm,size=0xf8) addr:0x02101a2c
_ZN18MapObjectDoorClick9vfunc2_14Ev kind:function(arm,size=0x8) addr:0x02101b24
_ZN18MapObjectDoorClick19func_ov031_020ffde4Ev kind:function(arm,size=0x38) addr:0x02101b2c
_ZN18MapObjectDoorClick8vfunc_28Ev kind:function(arm,size=0x60) addr:0x02101b64
_ZN18MapObjectDoorClick8vfunc_28Eiii kind:function(arm,size=0x60) addr:0x02101b64
_ZN18MapObjectDoorClick8vfunc_64Ev kind:function(arm,size=0x10) addr:0x02101bc4
_ZN18MapObjectDoorClick8vfunc_68Ev kind:function(arm,size=0x8) addr:0x02101bd4
_ZN18MapObjectDoorClick8vfunc_6CEv kind:function(arm,size=0x8) addr:0x02101bdc
@@ -1518,7 +1518,7 @@ _ZN19MapObjectBombFlower8vfunc_08Ev kind:function(arm,size=0xf0) addr:0x02104500
_ZN19MapObjectBombFlower8SetStateEsi kind:function(arm,size=0x15c) addr:0x021045f0
_ZN19MapObjectBombFlower8vfunc_14Ev kind:function(arm,size=0x50) addr:0x0210474c
_ZN19MapObjectBombFlower8vfunc_38Ev kind:function(arm,size=0x98) addr:0x0210479c
_ZN19MapObjectBombFlower8vfunc_28Ev kind:function(arm,size=0x1c) addr:0x02104834
_ZN19MapObjectBombFlower8vfunc_28Eiii kind:function(arm,size=0x1c) addr:0x02104834
_ZN19MapObjectBombFlower8vfunc_50EP8ActorRefP17MapObjectPot_Base kind:function(arm,size=0x70) addr:0x02104850
_ZN19MapObjectBombFlowerD1Ev kind:function(arm,size=0x20) addr:0x021048c0
_ZN19MapObjectBombFlowerD0Ev kind:function(arm,size=0x28) addr:0x021048e0
@@ -1549,7 +1549,7 @@ _ZN18MapObjectChestBase8vfunc_00Ev kind:function(arm,size=0xdc) addr:0x02104ed4
_ZN18MapObjectChestBase8vfunc_04Ev kind:function(arm,size=0x2e0) addr:0x02104fb0
_ZN18MapObjectChestBase8vfunc_08Ev kind:function(arm,size=0x27c) addr:0x02105290
_ZN18MapObjectChestBase8vfunc_0CEv kind:function(arm,size=0x14) addr:0x0210550c
_ZN18MapObjectChestBase8vfunc_28Ev kind:function(arm,size=0xc) addr:0x02105520
_ZN18MapObjectChestBase8vfunc_28Eiii kind:function(arm,size=0xc) addr:0x02105520
_ZN18MapObjectChestBase19func_ov031_021037d0Ev kind:function(arm,size=0x94) addr:0x0210552c
_ZN18MapObjectChestBase19func_ov031_02103864Ev kind:function(arm,size=0x14) addr:0x021055c0
_ZN18MapObjectChestBase19func_ov031_02103878Ev kind:function(arm,size=0x1c) addr:0x021055d4
+1 -1
View File
@@ -148,7 +148,7 @@ public:
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3);
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2);
/* 28 */ virtual unk32 vfunc_28();
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3);
/* 2C */ virtual bool vfunc_2C(VecFx32 *param1);
/* 30 */ virtual ~MapObject();
/* 38 */
+1 -1
View File
@@ -37,7 +37,7 @@ public:
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 28 */ virtual unk32 vfunc_28() override;
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
/* 38 */ virtual void vfunc_38() override;
/* 44 */ virtual bool SetState(MapObjState state, unk32) override;
/* 48 */ virtual void vfunc_48() override;
+1 -1
View File
@@ -64,7 +64,7 @@ public:
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override;
/* 28 */ virtual ItemId vfunc_28() override;
/* 28 */ virtual ItemId vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
/* 30 */ virtual ~MapObjectChestBase() override;
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2);
/* 3C */ virtual unk32 vfunc_3C();
+1 -1
View File
@@ -49,7 +49,7 @@ public:
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override;
/* 28 */ virtual unk32 vfunc_28() override;
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
/* 30 */ virtual ~MapObjectDoorClick() override {}
/* 40 */ virtual void vfunc_40() override;
/* 44 */ virtual void vfunc_44() override;
+1 -1
View File
@@ -40,7 +40,7 @@ public:
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override;
/* 28 */ virtual unk32 vfunc_28() override;
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
/* 30 */ virtual ~MapObjectDoorKey() override;
/* 40 */ virtual void vfunc_40() override;
/* 44 */ virtual void vfunc_44() override;
+3 -2
View File
@@ -1,5 +1,6 @@
#pragma once
#include "Actor/ActorUnkSCCN.hpp"
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectDoorBase.hpp"
#include "MapObject/MapObjectProfile.hpp"
@@ -22,9 +23,9 @@ class MapObjectDoorSwitch : public MapObjectDoorBase {
public:
/* 000 (base) */
/* 094 */ ModelRender mUnk_094;
/* 0F4 */ MapObject_10 mUnk_0F4;
/* 0F4 */ MapObject_10_SCCN mUnk_0F4;
#if IS_JP
/* 118 */ MapObject_10 mUnk_118;
/* 118 */ MapObject_10_SCCN mUnk_118;
/* 13C */ fx32 mUnkPos;
/* 140 */ bool mUnk_140;
/* 141 */ bool mUnk_141;
+1 -1
View File
@@ -22,7 +22,7 @@ public:
// data_ov000_020b35d0
/* 00 */ virtual bool vfunc_00();
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2) override;
/* 28 */ virtual unk32 vfunc_28() override;
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
/* 30 */ virtual ~MapObjectPot_Base() = 0 override;
/* 38 */ virtual void vfunc_38() override;
/* 3C */ virtual bool vfunc_3C() override;
+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