CLLT and progress in TLKT (#132)

* feat: wip soontm

* feat: enhance TLTK

* feat: complete TLKT

* fix: refactor went wild

* fix: update MLCK

* fix: hmmm

* fix: continue reverse wrong refactor

* style: remove comment

* feat: delink destructors of ActorUnkTLKTnCLLT_Base
This commit is contained in:
Alessevan
2026-08-14 09:49:43 -04:00
committed by GitHub
parent 39288e4605
commit 93fd0610a0
21 changed files with 311 additions and 216 deletions
+15 -19
View File
@@ -1,34 +1,31 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "ActorUnkTLKT.hpp"
#include "global.h"
#include "types.h"
class ActorUnkCLLT_C4 : public Actor_C4 {
public:
ActorUnkCLLT_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;
enum ActorUnkCLLTState_ {
ActorUnkCLLTState_0 = 0,
ActorUnkCLLTState_1 = 1,
ActorUnkCLLTState_2 = 2,
ActorUnkCLLTState_3 = 3,
ActorUnkCLLTState_4 = 4,
ActorUnkCLLTState_5 = 5,
ActorUnkCLLTState_Max,
};
class ActorUnkCLLT : public Actor {
class ActorUnkCLLT : public ActorUnkTLKTnCLLT_Base {
public:
/* 00 (base) */
/* 94 */
/* 9C */ UnkSystem1_ov000_Derived2 mUnk_9C;
/* D0 */
ActorUnkCLLT();
/* 4C */ virtual ~ActorUnkCLLT() override;
void func_ov031_020fb38c(void);
void func_ov031_020fb3c8(void);
void func_ov031_020fb40c(void);
/* 58 */ virtual void vfunc_58() override;
/* 5C */ virtual void vfunc_5C() override;
/* 60 */ virtual void vfunc_60(ActorState state) override;
};
class ActorProfileUnkCLLT : public ActorProfile {
@@ -36,7 +33,6 @@ public:
/* 00 (base) */
ActorProfileUnkCLLT();
~ActorProfileUnkCLLT();
/* 0C */ virtual Actor *Create();
+9 -7
View File
@@ -2,6 +2,7 @@
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "ActorUnkTLKT.hpp"
#include "FileSelect/FileSelectUnkDraw.hpp"
#include "global.h"
#include "types.h"
@@ -20,18 +21,17 @@ public:
/* 24 */ virtual void vfunc_24() override; // func_ov031_020fb2bc
};
class ActorUnkMLCK_D8 {
class ActorUnkMLCK_D8 : public ActorUnkTLKT_9C_Base {
public:
/* 00 (vtable) */
/* 04 */ bool mUnk_04;
/* 05 */ bool mUnk_05;
/* 08 */ ActorUnkMLCK *mUnk_08;
/* 0C */
ActorUnkMLCK_D8(ActorUnkMLCK *actor) :
mUnk_04(true),
mUnk_05(true),
mUnk_08(actor) {}
ActorUnkMLCK_D8(ActorUnkMLCK *actor) {
this->mUnk_04b = true;
this->mUnk_05 = true;
this->mUnk_08 = actor;
}
/* 00 */ virtual void vfunc2_00() override; // func_ov031_020fb1b0
/* 04 */ virtual void vfunc2_04() override; // func_ov031_020fb1cc
@@ -79,6 +79,8 @@ public:
/* 70 */ virtual void vfunc_70() override;
};
// multiple inheritance ?
// ActorUnkMLCK_D8 ?
class ActorUnkMLCK : public Actor_ov102_02184950 {
public:
/* 00 (base) */
+32 -26
View File
@@ -12,57 +12,63 @@ enum ActorUnkTLKTState_ {
ActorUnkTLKTState_2 = 2,
ActorUnkTLKTState_3 = 3,
ActorUnkTLKTState_4 = 4,
ActorUnkTLKTState_MAX
ActorUnkTLKTState_5 = 5,
ActorUnkTLKTState_Max
};
class ActorUnkTLKT_Base : public Actor {
class ActorUnkTLKTnCLLT_Base : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 94 */ STRUCT_PAD(0x94, 0x9C);
/* 9C */
ActorUnkTLKT_Base(); // func_ov031_020e3da0
ActorUnkTLKTnCLLT_Base();
/* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020e3e18
/* 1C */ virtual void vfunc_1C() override; // func_ov031_020e3e44
/* 20 */ virtual void vfunc_20() override; // func_ov031_020e3e84
/* 24 */ virtual void vfunc_24() override; // func_ov031_020e3ed8
// /* 4C */ virtual ~ActorUnkTLKT_Base() override; // func_ov031_020e40a8 & func_ov031_020e40bc
/* 54 */ virtual void vfunc_54(); // func_ov031_020e3f50
/* 58 */ virtual void vfunc_58(); // func_ov031_020e4074
/* 5C */ virtual void vfunc_5C(); // func_ov031_020e4078
/* 60 */ virtual void vfunc_60(ActorState state); // func_ov031_020e407c
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void vfunc_24() override;
/* 54 */ virtual void vfunc_54();
/* 58 */ virtual void vfunc_58();
/* 5C */ virtual void vfunc_5C();
/* 60 */ virtual void vfunc_60(ActorState state);
Actor *func_ov031_020e3df8();
void func_ov031_020e3e6c();
};
class ActorUnkTLKT_9C : public MapObject_UnkStruct1 {
class ActorUnkTLKT_9C_Base : public MapObject_UnkStruct1 {
public:
/* 00 (base) */
/* 08 */
ActorUnkTLKT_9C() {
this->mUnk_04 = 0xFFFFFFFF;
}
/* 00 */ virtual void vfunc2_0C() override;
};
class ActorUnkTLKT_9C : public ActorUnkTLKT_9C_Base {
public:
/* 00 (base) */
/* 08 */
// data_ov031_02112eec
/* 00 */ virtual void vfunc2_00() override;
/* 00 */ virtual void vfunc2_08() override;
};
class ActorUnkTLKT : public ActorUnkTLKT_Base {
class ActorUnkTLKT : public ActorUnkTLKTnCLLT_Base, public ActorUnkTLKT_9C {
public:
/* 00 (base) */
/* 94 */ STRUCT_PAD(0x94, 0x9C);
/* 9C */ ActorUnkTLKT_9C mUnk_9C;
/* 00 (base ActorUnkTLKTnCLLT_Base) */
/* 9C (base ActorUnkTLKT_9C) */
/* A4 */
ActorUnkTLKT();
/* 24 */ virtual void vfunc_24() override; // func_ov031_020e41ec
/* 24 */ virtual void vfunc_24() override;
/* 4C */ virtual ~ActorUnkTLKT() override;
/* 58 */ virtual void vfunc_58() override; // func_ov031_020e4238
/* 60 */ virtual void vfunc_60(ActorState state) override; // func_ov031_020e4320
/* 64 */ virtual void vfunc_64(); // func_ov031_020e42ac
/* 68 */ virtual void vfunc_68(); // func_ov031_020e42f0
/* 58 */ virtual void vfunc_58() override;
/* 60 */ virtual void vfunc_60(ActorState state) override;
/* 64 */ virtual void vfunc_64();
/* 68 */ virtual void vfunc_68();
void func_ov031_020e4274();
void func_ov031_020e4514();
+3 -3
View File
@@ -9,8 +9,8 @@
class ActorUnk_vfunc_B0 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 04 */ MapObject_UnkStruct1 *mUnk_04;
/* 08 */ u16 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */ unk32 mUnk_10;
/* 14 */ unk16 mUnk_14;
@@ -23,7 +23,7 @@ public:
/* 23 */ unk8 mUnk_23;
/* 24 */ Actor *mpActor;
/* 28 */ unk32 mUnk_28;
/* 2C */ unk32 mUnk_2C;
/* 2C */ Actor *mUnk_2C;
/* 30 */ unk16 mUnk_30;
/* 32 */ unk16 mUnk_32;
/* 34 */ VecFx32 mUnk_34;
-43
View File
@@ -3,49 +3,6 @@
#include "MapObject/MapObject.hpp"
#include "Player/PlayerGet.hpp"
class MapObject_UnkStruct1 {
public:
/* 00 (vtable) */
/* 04 */ unk32 mUnk_04;
/* 08 */
// MapObject_UnkStruct1(); // func_ov000_02073194 & func_ov000_020731c4
// data_ov000_020b2290
/* 00 */ virtual void vfunc2_00();
/* 04 */ virtual void vfunc2_04();
/* 08 */ virtual void vfunc2_08();
/* 0C */ virtual void vfunc2_0C();
};
class MapObject_UnkStruct1_Derived1 : public MapObject_UnkStruct1 {
public:
/* 00 (base) */
/* 08 */ unk16 mUnk_48;
/* 0A */ s16 mUnk_4A;
/* 0C */ VecFx32 mUnk_4C;
/* 18 */ bool mUnk_58;
/* 19 */ unk8 mUnk_59;
/* 1A */ s16 mUnk_5A;
/* 1C */ VecFx32 mUnk_5C;
/* 28 */
MapObject_UnkStruct1_Derived1(); // func_ov000_02073234
// data_ov000_020b22a8
/* 0C */ virtual void vfunc2_0C() override;
};
class MapObject_UnkStruct1_Derived2 : public MapObject_UnkStruct1_Derived1 {
public:
/* 00 (base) */
/* 28 */
// data_ov031_021150a0
/* 04 */ virtual void vfunc2_04() override;
/* 08 */ virtual void vfunc2_08() override;
};
enum MapObjectDoorBaseState {
MapObjDoorBaseState_0 = 0,
MapObjDoorBaseState_1 = 1,
+50 -3
View File
@@ -3,7 +3,6 @@
#include "Animation/CellAnimObject.hpp"
#include "Game/GameModeManager.hpp"
#include "LinkList.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkFileSystem.hpp"
#include "global.h"
#include "math.hpp"
@@ -11,7 +10,6 @@
#include "types.h"
#include <nitro/mi.h>
#include <nns/g3d/g3d.h>
#include <nns/text.h>
class UnkDataStruct2;
@@ -888,12 +886,61 @@ struct UnkStruct_StackTitleScreen {
class MapObject;
class MapObject_UnkStruct1 {
public:
/* 00 (vtable) */
/* 04 */ union {
struct {
bool mUnk_04b;
bool mUnk_05;
};
unk32 mUnk_04;
};
/* 08 */
// MapObject_UnkStruct1(); // func_ov000_02073194 & func_ov000_020731c4
// data_ov000_020b2290
/* 00 */ virtual void vfunc2_00();
/* 04 */ virtual void vfunc2_04();
/* 08 */ virtual void vfunc2_08();
/* 0C */ virtual void vfunc2_0C();
};
class MapObject_UnkStruct1_Derived1 : public MapObject_UnkStruct1 {
public:
/* 00 (base) */
/* 08 */ unk16 mUnk_48;
/* 0A */ s16 mUnk_4A;
/* 0C */ VecFx32 mUnk_4C;
/* 18 */ bool mUnk_58;
/* 19 */ unk8 mUnk_59;
/* 1A */ s16 mUnk_5A;
/* 1C */ VecFx32 mUnk_5C;
/* 28 */
MapObject_UnkStruct1_Derived1(); // func_ov000_02073234
// data_ov000_020b22a8
/* 0C */ virtual void vfunc2_0C() override;
};
class MapObject_UnkStruct1_Derived2 : public MapObject_UnkStruct1_Derived1 {
public:
/* 00 (base) */
/* 28 */
// data_ov031_021150a0
/* 04 */ virtual void vfunc2_04() override;
/* 08 */ virtual void vfunc2_08() override;
};
struct UnkStackStruct1 {
/* 00 */ u8 mUnk_00;
/* 01 */ unk8 mUnk_01;
/* 02 */ unk8 mUnk_02;
/* 03 */ unk8 mUnk_03;
/* 04 */ void *mUnk_04;
/* 04 */ MapObject_UnkStruct1 *mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */ VecFx32 mUnk_0C;
/* 18 */ unk16 mUnk_18;
+2
View File
@@ -2,6 +2,7 @@
#include "Item/Item.hpp"
#include "global.h"
#include "nitro/fx.h"
#include "types.h"
class UnkStruct_027e0d34_04 {
@@ -24,6 +25,7 @@ public:
bool func_ov031_020d97e4();
bool func_ov031_020d97f4();
void func_ov031_020d9844();
void func_ov031_020d9854(VecFx32 *param1, fx32 param2);
void func_ov031_020d994c();
void func_ov031_020d996c();
bool TryItemGive(ItemId itemId);
+3 -3
View File
@@ -1,7 +1,7 @@
#pragma once
#include "Actor/ActorRef.hpp"
#include "Message/BMG.hpp"
#include "System/SysNew.hpp"
#include "global.h"
#include "types.h"
@@ -75,8 +75,8 @@ public:
/* 20 */ unk32 mUnk_20;
/* 24 */ unk32 mUnk_24;
/* 28 */ unk8 mUnk_28;
/* 2C */ unk32 mUnk_2C;
/* 30 */ unk32 mUnk_30;
/* 2C */ ActorRef mUnk_2C;
/* 30 */ ActorRef mUnk_30;
/* 34 */
UnkSystem1_ov000_Derived2(unk32 param1);