From 721bb0efd8a0a90f673bb248456dccee38419363 Mon Sep 17 00:00:00 2001 From: Alessevan <44125445+Alessevan@users.noreply.github.com> Date: Mon, 24 Aug 2026 11:43:47 -0400 Subject: [PATCH] Add parameters to `MapObject::vfunc_28` (#146) * feat: increase global matching * fix: better refactor * fix: match back MapObjectDoorSwitch::MapObjectDoorSwitch * style: remove old nonmatching comment --- config/eur/arm9/overlays/ov000/symbols.txt | 4 ++-- config/eur/arm9/overlays/ov031/symbols.txt | 8 ++++---- config/jp/arm9/overlays/ov000/symbols.txt | 4 ++-- config/jp/arm9/overlays/ov031/symbols.txt | 8 ++++---- include/MapObject/MapObject.hpp | 2 +- include/MapObject/MapObjectBombFlower.hpp | 2 +- include/MapObject/MapObjectChestBase.hpp | 2 +- include/MapObject/MapObjectDoorClick.hpp | 2 +- include/MapObject/MapObjectDoorKey.hpp | 2 +- include/MapObject/MapObjectDoorSwitch.hpp | 5 +++-- include/MapObject/MapObjectPot_Base.hpp | 2 +- src/000_Second/MapObject/MapObject.cpp | 2 +- src/000_Second/MapObject/MapObjectPot_Base.cpp | 2 +- src/031_Land/MapObject/MapObjectBombFlower.cpp | 5 ++--- src/031_Land/MapObject/MapObjectChestBase.cpp | 2 +- src/031_Land/MapObject/MapObjectDoorBase.cpp | 4 +++- src/031_Land/MapObject/MapObjectDoorClick.cpp | 2 +- src/031_Land/MapObject/MapObjectDoorKey.cpp | 2 +- src/031_Land/MapObject/MapObjectDoorSwitch.cpp | 2 +- 19 files changed, 32 insertions(+), 30 deletions(-) diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 76a9ea84..e05f2c58 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -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 diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index 4d108a2d..337f1658 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -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 diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index e3d47b02..1bb21683 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -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 diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index 2b0f1b8f..3cb7558f 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -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 diff --git a/include/MapObject/MapObject.hpp b/include/MapObject/MapObject.hpp index c6e291de..c082e2bd 100644 --- a/include/MapObject/MapObject.hpp +++ b/include/MapObject/MapObject.hpp @@ -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 */ diff --git a/include/MapObject/MapObjectBombFlower.hpp b/include/MapObject/MapObjectBombFlower.hpp index ba9b9cac..b46ade38 100644 --- a/include/MapObject/MapObjectBombFlower.hpp +++ b/include/MapObject/MapObjectBombFlower.hpp @@ -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; diff --git a/include/MapObject/MapObjectChestBase.hpp b/include/MapObject/MapObjectChestBase.hpp index 95ef0c3d..9132ac2c 100644 --- a/include/MapObject/MapObjectChestBase.hpp +++ b/include/MapObject/MapObjectChestBase.hpp @@ -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(); diff --git a/include/MapObject/MapObjectDoorClick.hpp b/include/MapObject/MapObjectDoorClick.hpp index 2b18957e..769daeed 100644 --- a/include/MapObject/MapObjectDoorClick.hpp +++ b/include/MapObject/MapObjectDoorClick.hpp @@ -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; diff --git a/include/MapObject/MapObjectDoorKey.hpp b/include/MapObject/MapObjectDoorKey.hpp index 5189e653..177f909a 100644 --- a/include/MapObject/MapObjectDoorKey.hpp +++ b/include/MapObject/MapObjectDoorKey.hpp @@ -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; diff --git a/include/MapObject/MapObjectDoorSwitch.hpp b/include/MapObject/MapObjectDoorSwitch.hpp index 5f50fba2..fb2c3c09 100644 --- a/include/MapObject/MapObjectDoorSwitch.hpp +++ b/include/MapObject/MapObjectDoorSwitch.hpp @@ -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; diff --git a/include/MapObject/MapObjectPot_Base.hpp b/include/MapObject/MapObjectPot_Base.hpp index f05fbc1a..a737aecc 100644 --- a/include/MapObject/MapObjectPot_Base.hpp +++ b/include/MapObject/MapObjectPot_Base.hpp @@ -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; diff --git a/src/000_Second/MapObject/MapObject.cpp b/src/000_Second/MapObject/MapObject.cpp index f9493d90..630f0412 100644 --- a/src/000_Second/MapObject/MapObject.cpp +++ b/src/000_Second/MapObject/MapObject.cpp @@ -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; } diff --git a/src/000_Second/MapObject/MapObjectPot_Base.cpp b/src/000_Second/MapObject/MapObjectPot_Base.cpp index d770634b..22da773e 100644 --- a/src/000_Second/MapObject/MapObjectPot_Base.cpp +++ b/src/000_Second/MapObject/MapObjectPot_Base.cpp @@ -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() {} diff --git a/src/031_Land/MapObject/MapObjectBombFlower.cpp b/src/031_Land/MapObject/MapObjectBombFlower.cpp index 01f50d6f..23b0043f 100644 --- a/src/031_Land/MapObject/MapObjectBombFlower.cpp +++ b/src/031_Land/MapObject/MapObjectBombFlower.cpp @@ -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 diff --git a/src/031_Land/MapObject/MapObjectChestBase.cpp b/src/031_Land/MapObject/MapObjectChestBase.cpp index 83705c00..6cc84aa9 100644 --- a/src/031_Land/MapObject/MapObjectChestBase.cpp +++ b/src/031_Land/MapObject/MapObjectChestBase.cpp @@ -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(); } diff --git a/src/031_Land/MapObject/MapObjectDoorBase.cpp b/src/031_Land/MapObject/MapObjectDoorBase.cpp index 531c5cc6..a2d588e8 100644 --- a/src/031_Land/MapObject/MapObjectDoorBase.cpp +++ b/src/031_Land/MapObject/MapObjectDoorBase.cpp @@ -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(); diff --git a/src/031_Land/MapObject/MapObjectDoorClick.cpp b/src/031_Land/MapObject/MapObjectDoorClick.cpp index 38a80edc..d916f78f 100644 --- a/src/031_Land/MapObject/MapObjectDoorClick.cpp +++ b/src/031_Land/MapObject/MapObjectDoorClick.cpp @@ -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: diff --git a/src/031_Land/MapObject/MapObjectDoorKey.cpp b/src/031_Land/MapObject/MapObjectDoorKey.cpp index f7005429..9604bec9 100644 --- a/src/031_Land/MapObject/MapObjectDoorKey.cpp +++ b/src/031_Land/MapObject/MapObjectDoorKey.cpp @@ -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; } diff --git a/src/031_Land/MapObject/MapObjectDoorSwitch.cpp b/src/031_Land/MapObject/MapObjectDoorSwitch.cpp index 7c174d03..cb73ad62 100644 --- a/src/031_Land/MapObject/MapObjectDoorSwitch.cpp +++ b/src/031_Land/MapObject/MapObjectDoorSwitch.cpp @@ -24,7 +24,7 @@ MapObjectProfileDoorSwitch::MapObjectProfileDoorSwitch() : } MapObjectDoorSwitch::MapObjectDoorSwitch() : - mUnk_094(0) { + mUnk_094(NULL) { this->mUnkPos = FLOAT_TO_FX32(0.0f); #if IS_JP