From c505bcac20e3ef04c012d3f7f1500c2f002cfc6c Mon Sep 17 00:00:00 2001 From: Alessevan <44125445+Alessevan@users.noreply.github.com> Date: Wed, 12 Aug 2026 16:41:36 -0400 Subject: [PATCH] Cleanup some actors of ov031 (#131) * feat: mark NORE as completed in delink * feat: cleanup some functions * refactor: remove explicit dtors of MLCK * fix: match back vfunc_6C --- config/eur/arm9/overlays/ov031/delinks.txt | 1 + config/eur/arm9/overlays/ov031/symbols.txt | 8 ++++---- config/jp/arm9/overlays/ov031/delinks.txt | 1 + config/jp/arm9/overlays/ov031/symbols.txt | 8 ++++---- include/Actor/ActorUnkFLEN.hpp | 6 +----- include/Actor/ActorUnkMLCK.hpp | 4 +--- include/Actor/ActorUnkNORE.hpp | 12 ------------ include/Actor/ActorUnkTGTZ.hpp | 3 ++- src/031_Land/Actor/ActorUnkFLEN.cpp | 7 ++----- src/031_Land/Actor/ActorUnkMLCK.cpp | 5 +---- src/031_Land/Actor/ActorUnkNORE.cpp | 3 --- src/031_Land/Actor/ActorUnkTGTZ.cpp | 2 +- 12 files changed, 18 insertions(+), 42 deletions(-) diff --git a/config/eur/arm9/overlays/ov031/delinks.txt b/config/eur/arm9/overlays/ov031/delinks.txt index 61addfdc..54e5aedf 100644 --- a/config/eur/arm9/overlays/ov031/delinks.txt +++ b/config/eur/arm9/overlays/ov031/delinks.txt @@ -154,6 +154,7 @@ src/031_Land/Actor/ActorUnkSWON.cpp: .bss start:0x02116ca0 end:0x02116cec src/031_Land/Actor/ActorUnkNORE.cpp: + complete .text start:0x020f7f14 end:0x020f8024 .init start:0x02111760 end:0x021117b0 .ctor start:0x021127f0 end:0x021127f4 diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index 20fe4188..0a4f6ff0 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -1102,7 +1102,7 @@ _ZN19ActorProfileUnkFLENC1Ev kind:function(arm,size=0x3c) addr:0x020f8054 _ZN12ActorUnkFLENC1Ev kind:function(arm,size=0x28) addr:0x020f8090 _ZN12ActorUnkFLEN8vfunc_18Ei kind:function(arm,size=0x60) addr:0x020f80b8 _ZN12ActorUnkFLEN8vfunc_20Ev kind:function(arm,size=0x9c) addr:0x020f8118 -_ZN12ActorUnkFLEN8SetStateEj kind:function(arm,size=0x44) addr:0x020f81b4 +_ZN12ActorUnkFLEN8SetStateEs kind:function(arm,size=0x44) addr:0x020f81b4 _ZN12ActorUnkFLEN19func_ov031_020f81f8Ev kind:function(arm,size=0xa4) addr:0x020f81f8 _ZN12ActorUnkFLEND1Ev kind:function(arm,size=0x14) addr:0x020f829c _ZN12ActorUnkFLEND0Ev kind:function(arm,size=0x1c) addr:0x020f82b0 @@ -2091,7 +2091,7 @@ __sinit_ov031_02111638 kind:function(arm,size=0x24) addr:0x02111638 __sinit_ActorUnkTGTZ.cpp kind:function(arm,size=0x64) addr:0x0211165c __sinit_ActorUnkSWCH.cpp kind:function(arm,size=0x50) addr:0x021116c0 local __sinit_ActorUnkSWON.cpp kind:function(arm,size=0x50) addr:0x02111710 local -__sinit_ActorUnkNORE.cpp kind:function(arm,size=0x50) addr:0x02111760 +__sinit_ActorUnkNORE.cpp kind:function(arm,size=0x50) addr:0x02111760 local __sinit_ActorUnkFLEN.cpp kind:function(arm,size=0x50) addr:0x021117b0 __sinit_ActorRollingStone.cpp kind:function(arm,size=0x50) addr:0x02111800 __sinit_ActorItemDrop.cpp kind:function(arm,size=0x138) addr:0x02111850 local @@ -2155,7 +2155,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x02112724 .p__sinit_ActorUnkTGTZ.cpp kind:data(word) addr:0x021127e4 .p__sinit_ActorUnkSWCH.cpp kind:data(word) addr:0x021127e8 local .p__sinit_ActorUnkSWON.cpp kind:data(word) addr:0x021127ec local -.p__sinit_ActorUnkNORE.cpp kind:data(word) addr:0x021127f0 +.p__sinit_ActorUnkNORE.cpp kind:data(word) addr:0x021127f0 local .p__sinit_ActorUnkFLEN.cpp kind:data(word) addr:0x021127f4 .p__sinit_ActorRollingStone.cpp kind:data(word) addr:0x021127f8 .p__sinit_ActorItemDrop.cpp kind:data(word) addr:0x021127fc local @@ -2588,7 +2588,7 @@ _ZGVN15ProfileInstanceI19ActorProfileUnkSWONE8sProfileE kind:bss addr:0x02116ca0 @10890 kind:bss addr:0x02116ca4 local _ZN15ProfileInstanceI19ActorProfileUnkSWONE8sProfileE kind:bss addr:0x02116cb0 _ZGVN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02116cec -@10896 kind:bss addr:0x02116cf0 +@10896 kind:bss addr:0x02116cf0 local _ZN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02116cfc _ZGVN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02116d38 @10902 kind:bss addr:0x02116d3c diff --git a/config/jp/arm9/overlays/ov031/delinks.txt b/config/jp/arm9/overlays/ov031/delinks.txt index bc01a210..492ad219 100644 --- a/config/jp/arm9/overlays/ov031/delinks.txt +++ b/config/jp/arm9/overlays/ov031/delinks.txt @@ -152,6 +152,7 @@ src/031_Land/Actor/ActorUnkSWON.cpp: .bss start:0x02118a40 end:0x02118a8c src/031_Land/Actor/ActorUnkNORE.cpp: + complete .text start:0x020f9958 end:0x020f9a68 .init start:0x021134ec end:0x0211353c .ctor start:0x0211457c end:0x02114580 diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index 7aefdd1b..959f5469 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -1101,7 +1101,7 @@ _ZN19ActorProfileUnkFLENC1Ev kind:function(arm,size=0x3c) addr:0x020f9a98 _ZN12ActorUnkFLENC1Ev kind:function(arm,size=0x28) addr:0x020f9ad4 _ZN12ActorUnkFLEN8vfunc_18Ei kind:function(arm,size=0x60) addr:0x020f9afc _ZN12ActorUnkFLEN8vfunc_20Ev kind:function(arm,size=0x9c) addr:0x020f9b5c -_ZN12ActorUnkFLEN8SetStateEj kind:function(arm,size=0x44) addr:0x020f9bf8 +_ZN12ActorUnkFLEN8SetStateEs kind:function(arm,size=0x44) addr:0x020f9bf8 _ZN12ActorUnkFLEN19func_ov031_020f81f8Ev kind:function(arm,size=0xa4) addr:0x020f9c3c _ZN12ActorUnkFLEND1Ev kind:function(arm,size=0x14) addr:0x020f9ce0 _ZN12ActorUnkFLEND0Ev kind:function(arm,size=0x1c) addr:0x020f9cf4 @@ -2088,7 +2088,7 @@ __sinit_ov031_021133a8 kind:function(arm,size=0x24) addr:0x021133a8 __sinit_ActorUnkTGTZ.cpp kind:function(arm,size=0x80) addr:0x021133cc __sinit_ActorUnkSWCH.cpp kind:function(arm,size=0x50) addr:0x0211344c local __sinit_ActorUnkSWON.cpp kind:function(arm,size=0x50) addr:0x0211349c local -__sinit_ActorUnkNORE.cpp kind:function(arm,size=0x50) addr:0x021134ec +__sinit_ActorUnkNORE.cpp kind:function(arm,size=0x50) addr:0x021134ec local __sinit_ActorUnkFLEN.cpp kind:function(arm,size=0x50) addr:0x0211353c __sinit_ActorRollingStone.cpp kind:function(arm,size=0x50) addr:0x0211358c __sinit_ActorItemDrop.cpp kind:function(arm,size=0x138) addr:0x021135dc local @@ -2152,7 +2152,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x021144b0 .p__sinit_ActorUnkTGTZ.cpp kind:data(word) addr:0x02114570 .p__sinit_ActorUnkSWCH.cpp kind:data(word) addr:0x02114574 local .p__sinit_ActorUnkSWON.cpp kind:data(word) addr:0x02114578 local -.p__sinit_ActorUnkNORE.cpp kind:data(word) addr:0x0211457c +.p__sinit_ActorUnkNORE.cpp kind:data(word) addr:0x0211457c local .p__sinit_ActorUnkFLEN.cpp kind:data(word) addr:0x02114580 .p__sinit_ActorRollingStone.cpp kind:data(word) addr:0x02114584 .p__sinit_ActorItemDrop.cpp kind:data(word) addr:0x02114588 local @@ -2583,7 +2583,7 @@ _ZGVN15ProfileInstanceI19ActorProfileUnkSWONE8sProfileE kind:bss addr:0x02118a40 @30890 kind:bss addr:0x02118a44 local _ZN15ProfileInstanceI19ActorProfileUnkSWONE8sProfileE kind:bss addr:0x02118a50 _ZGVN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02118a8c -@30896 kind:bss addr:0x02118a90 +@30896 kind:bss addr:0x02118a90 local _ZN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02118a9c _ZGVN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02118ad8 @30902 kind:bss addr:0x02118adc diff --git a/include/Actor/ActorUnkFLEN.hpp b/include/Actor/ActorUnkFLEN.hpp index d8967055..9eb56ed6 100644 --- a/include/Actor/ActorUnkFLEN.hpp +++ b/include/Actor/ActorUnkFLEN.hpp @@ -5,7 +5,6 @@ #include "global.h" #include "types.h" -typedef u32 ActorUnkFLENState; enum ActorUnkFLENState_ { ActorUnkFLENState_0 = 0, ActorUnkFLENState_1 = 1, @@ -21,12 +20,10 @@ public: ActorUnkFLEN(); - /* 4C */ virtual ~ActorUnkFLEN() override; - /* 18 */ virtual bool vfunc_18(int param1) override; /* 20 */ virtual void vfunc_20() override; - void SetState(ActorUnkFLENState state); + void SetState(ActorState state); bool func_ov031_020f81f8(); }; @@ -36,7 +33,6 @@ public: /* 3C */ ActorProfileUnkFLEN(); - ~ActorProfileUnkFLEN(); /* 0C */ virtual Actor *Create(); diff --git a/include/Actor/ActorUnkMLCK.hpp b/include/Actor/ActorUnkMLCK.hpp index e42188e3..67c2ac0f 100644 --- a/include/Actor/ActorUnkMLCK.hpp +++ b/include/Actor/ActorUnkMLCK.hpp @@ -106,8 +106,7 @@ public: ActorUnkMLCK(); - /* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020fac64 - /* 4C */ virtual ~ActorUnkMLCK() override; + /* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020fac64 /* 54 */ virtual void vfunc_54(unk32 param1, unk32 param2) override; // func_ov031_020fad88 /* 58 */ virtual void vfunc_58() override; // func_ov031_020fada8 /* 5C */ virtual void vfunc_5C() override; // func_ov031_020fadb4 @@ -130,7 +129,6 @@ public: /* 00 (base) */ ActorProfileUnkMLCK(); - ~ActorProfileUnkMLCK(); /* 0C */ virtual Actor *Create(); diff --git a/include/Actor/ActorUnkNORE.hpp b/include/Actor/ActorUnkNORE.hpp index 1b99049b..2c791aa4 100644 --- a/include/Actor/ActorUnkNORE.hpp +++ b/include/Actor/ActorUnkNORE.hpp @@ -5,16 +5,6 @@ #include "global.h" #include "types.h" -class ActorUnkNORE_C4 : public Actor_C4 { -public: - ActorUnkNORE_C4(Actor *param1); - - /* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override; - /* 04 */ virtual bool vfunc_04() override; - /* 08 */ virtual void vfunc_08() override; - /* 0C */ virtual void vfunc_0C(unk32 param1) override; -}; - class ActorUnkNORE : public Actor { public: /* 00 (base) */ @@ -23,7 +13,6 @@ public: ActorUnkNORE(); /* 18 */ virtual bool vfunc_18(unk32 param1) override; - /* 4C */ virtual ~ActorUnkNORE() override; }; class ActorProfileUnkNORE : public ActorProfile { @@ -31,7 +20,6 @@ public: /* 00 (base) */ ActorProfileUnkNORE(); - ~ActorProfileUnkNORE(); /* 0C */ virtual Actor *Create(); diff --git a/include/Actor/ActorUnkTGTZ.hpp b/include/Actor/ActorUnkTGTZ.hpp index 8ea5fbda..93eca195 100644 --- a/include/Actor/ActorUnkTGTZ.hpp +++ b/include/Actor/ActorUnkTGTZ.hpp @@ -23,7 +23,8 @@ public: /* 09C */ bool mUnk_09C; #else /* 094 */ ActorUnkTGTZ_ModelRender mUnk_094; - /* 100 */ STRUCT_PAD(0x100, 0x190); + /* 100 */ unk32 mUnk_100; + /* 104 */ STRUCT_PAD(0x104, 0x190); #endif /* 190 */ Mat3p mUnk_190; /* 1B4 */ ActorUnkNTTZ *mUnk_1B4; diff --git a/src/031_Land/Actor/ActorUnkFLEN.cpp b/src/031_Land/Actor/ActorUnkFLEN.cpp index b3e22932..61ca5ef9 100644 --- a/src/031_Land/Actor/ActorUnkFLEN.cpp +++ b/src/031_Land/Actor/ActorUnkFLEN.cpp @@ -57,7 +57,7 @@ void ActorUnkFLEN::vfunc_20() { } } -void ActorUnkFLEN::SetState(ActorUnkFLENState state) { +void ActorUnkFLEN::SetState(ActorState state) { this->mState = state; switch (state) { @@ -86,7 +86,7 @@ bool ActorUnkFLEN::func_ov031_020f81f8() { actorParams.mInitialAngle = this->mAngle; VecFx32_Copy(&this->mPos, &actorParams.mInitialPos); - actorParams.mInitialPos.y += 0x5000; + actorParams.mInitialPos.y += FLOAT_TO_FX32(5.0f); u16 index = this->mUnk_5C.mParams[0]; actorParams.mParams[0] = data_ov031_02110b90[index]; @@ -95,6 +95,3 @@ bool ActorUnkFLEN::func_ov031_020f81f8() { return actorRef.type_index != 0; } - -ActorUnkFLEN::~ActorUnkFLEN() {} -ActorProfileUnkFLEN::~ActorProfileUnkFLEN() {} diff --git a/src/031_Land/Actor/ActorUnkMLCK.cpp b/src/031_Land/Actor/ActorUnkMLCK.cpp index 61e113f6..5b60f652 100644 --- a/src/031_Land/Actor/ActorUnkMLCK.cpp +++ b/src/031_Land/Actor/ActorUnkMLCK.cpp @@ -82,7 +82,7 @@ bool ActorUnkMLCK::vfunc_18(unk32 param1) { } void ActorUnkMLCK::vfunc_54(unk32 param1, unk32 param2) { - if (param2 != 0) { + if (param2 == 0) { return; } this->vfunc_64(0x1); @@ -262,6 +262,3 @@ bool ActorUnkMLCK::func_ov031_020fb204(unk32 param1) { } return false; } - -ActorUnkMLCK::~ActorUnkMLCK() {} -ActorProfileUnkMLCK::~ActorProfileUnkMLCK() {} diff --git a/src/031_Land/Actor/ActorUnkNORE.cpp b/src/031_Land/Actor/ActorUnkNORE.cpp index 0490ef53..005d224d 100644 --- a/src/031_Land/Actor/ActorUnkNORE.cpp +++ b/src/031_Land/Actor/ActorUnkNORE.cpp @@ -29,6 +29,3 @@ bool ActorUnkNORE::vfunc_18(unk32 param1) { return true; } - -ActorUnkNORE::~ActorUnkNORE() {} -ActorProfileUnkNORE::~ActorProfileUnkNORE() {} diff --git a/src/031_Land/Actor/ActorUnkTGTZ.cpp b/src/031_Land/Actor/ActorUnkTGTZ.cpp index 248a1aa9..88a9a737 100644 --- a/src/031_Land/Actor/ActorUnkTGTZ.cpp +++ b/src/031_Land/Actor/ActorUnkTGTZ.cpp @@ -53,7 +53,7 @@ ActorUnkTGTZ::ActorUnkTGTZ() : mUnk_094(NULL), mUnk_09C(true), #else - mUnk_094(NULL, 0xC, NULL), + mUnk_094(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkTGTZ)->mUnk_3C.mUnk_50), 0xC, &this->mUnk_100), #endif mUnk_1B4(NULL), mUnk_1B8(0x0),