Decompiling NTTZ actor and part of TGTZ (#121)

* feat: decompiling NTTZ

* feat: progress TGTZ

* feat: progress

* style: cleanup

* feat: name parameter in header

* refactor: cleanup unused class

* feat: increase sinit

* feat: remove extern
This commit is contained in:
Alessevan
2026-07-24 02:36:43 +02:00
committed by GitHub
parent 67e283c317
commit f1c7b3cc72
23 changed files with 609 additions and 150 deletions
+8 -2
View File
@@ -118,6 +118,12 @@ public:
/* 0A */
};
class Actor_vfunc_30 {
public:
/* 00 */ s8 mUnk_00;
/* 01 */ s8 mUnk_01;
};
typedef s16 ActorState;
#define ActorState_None -1
@@ -162,7 +168,7 @@ public:
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28();
/* 2C */ virtual void vfunc_2C(unk32 param1);
/* 30 */ virtual void vfunc_30();
/* 30 */ virtual void vfunc_30(Actor_vfunc_30 *param1);
/* 34 */ virtual unk32 vfunc_34();
/* 38 */ virtual bool Grab(ActorGrabParams grabParams);
/* 3C */ virtual bool Drop(ActorGrabParams grabParams, const VecFx32 *pVel);
@@ -288,7 +294,7 @@ public:
Actor_Derived2();
/* 30 */ virtual void vfunc_30();
/* 30 */ virtual void vfunc_30(Actor_vfunc_30 *param1);
/* 4C */ WEAK virtual ~Actor_Derived2() {}
/* 54 */ virtual void vfunc_54();
};
+1 -1
View File
@@ -18,7 +18,7 @@ public:
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void vfunc_24() override;
/* 30 */ virtual void vfunc_30() override;
/* 30 */ virtual void vfunc_30(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorEventIcon() override;
void func_ov000_0209c014(void);
+7 -20
View File
@@ -1,5 +1,3 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
@@ -7,30 +5,20 @@
#include "global.h"
#include "types.h"
class ActorUnkNTTZ_C4 : public Actor_C4 {
public:
ActorUnkNTTZ_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 ActorUnkNTTZ : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 94 */ unk32 mUnk_94;
/* 98 */
ActorUnkNTTZ();
/* 4C */ virtual ~ActorUnkNTTZ() override;
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
void func_ov031_020f6190(void);
void func_ov031_020f6198(void);
void func_ov031_020f619c(void);
void func_ov031_020f61a0(void);
void func_ov031_020f61f0(void);
void func_ov031_020f61a0();
void func_ov031_020f61f0();
};
class ActorProfileUnkNTTZ : public ActorProfile {
@@ -38,7 +26,6 @@ public:
/* 00 (base) */
ActorProfileUnkNTTZ();
~ActorProfileUnkNTTZ();
/* 0C */ virtual Actor *Create();
+50 -25
View File
@@ -1,44 +1,70 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "ActorUnkNTTZ.hpp"
#include "global.h"
#include "types.h"
class ActorUnkTGTZ_C4 : public Actor_C4 {
class ActorUnkTGTZ_ModelRender : public ModelRender_Derived1 {
public:
ActorUnkTGTZ_C4(Actor *param1);
/* 00 (base) */
/* 6C */
/* 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;
ActorUnkTGTZ_ModelRender(G3d_Model *pModel, unk32 param2, void *param3) :
ModelRender_Derived1(pModel, param2, param3) {}
};
class ActorUnkTGTZ : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 000 (base) */
#if IS_JP
/* 094 */ UnkSystem6_Derived2 mUnk_094;
/* 09C */ bool mUnk_09C;
#else
/* 094 */ ActorUnkTGTZ_ModelRender mUnk_094;
/* 100 */ STRUCT_PAD(0x100, 0x190);
#endif
/* 190 */ Mat3p mUnk_190;
/* 1B4 */ ActorUnkNTTZ *mUnk_1B4;
/* 1B8 */ unk32 mUnk_1B8;
/* 1BC */ unk32 mUnk_1BC;
/* 1C0 */ volatile u16 mUnk_1C0;
/* 1C2 */ u16 mUnk_1C2;
/* 1CC */ fx32 mUnk_1C4;
/* 1C8 */ UnkStruct_ov019_020d24c8_28_258_00 *mUnk_1C8;
/* 1CC */ unk32 mUnk_1CC;
/* 1D0 */ volatile u16 mUnk_1D0;
/* 1D2 */ u16 mUnk_1D2;
/* 1D4 */ u16 mUnk_1D4;
/* 1D6 */ u16 mUnk_1D6;
/* 1D8 */ bool mUnk_1D8;
/* 1DC */ ActorRef mUnk_1DC;
/* 1E0 */
ActorUnkTGTZ();
/* 4C */ virtual ~ActorUnkTGTZ() override;
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void vfunc_24() override;
/* 30 */ virtual void vfunc_2C(unk32 param1) override;
/* 34 */ virtual void vfunc_30(Actor_vfunc_30 *param1) override;
void func_ov031_020f6984(void);
void func_ov031_020f6998(void);
void func_ov031_020f6ae4(void);
void func_ov031_020f6e48(void);
void func_ov031_020f6e5c(void);
void func_ov031_020f6ea8(void);
void func_ov031_020f6f20(void);
void func_ov031_020f7170(void);
void func_ov031_020f72a8(void);
void func_ov031_020f7358(void);
void func_ov031_020f73e4(void);
void func_ov031_020f73f0(void);
void func_ov031_020f7438(void);
bool IsInternalTimerOut() {
if (this->mUnk_1D0 < this->mUnk_1D2) {
++this->mUnk_1D0;
return false;
}
return true;
}
void func_ov031_020f6984();
static void func_ov031_020f6e5c(ActorRef param1);
static void func_ov031_020f6ea8(ActorRef *param0, u16 param1, const VecFx32 *param2, s16 param3, u16 param4);
void func_ov031_020f6f20(unk32 param1);
void func_ov031_020f7358();
void func_ov031_020f73e4();
void func_ov031_020f73f0();
};
class ActorProfileUnkTGTZ : public ActorProfile_Derived1 {
@@ -46,7 +72,6 @@ public:
/* 00 (base) */
ActorProfileUnkTGTZ();
~ActorProfileUnkTGTZ();
/* 0C */ virtual Actor *Create();
+2 -1
View File
@@ -74,6 +74,7 @@ public:
void func_ov000_02057c38(unk32 param1, unk32 param2);
void func_ov000_02057d20(u8 numBones);
void func_ov000_02057d3c(G3d_BoneMtxStruct *pCacheJntAnm);
void func_ov000_02057d9c();
void func_ov000_0209a7b8(void *param1, UnkSystem4_UnkCallback param2);
void func_ov000_02057c98(UnkSystem5 *param1);
};
@@ -186,7 +187,7 @@ public:
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
unk32 func_ov000_0205a778(const char *param1);
void *func_ov000_0205a7a8(unk32 param1);
VecFx32 *func_ov000_0205a7a8(unk32 param1);
};
class ModelRender_Derived2 : public ModelRender_Derived1 {
+2 -2
View File
@@ -216,7 +216,7 @@ public:
struct UnkStruct_ov019_020d24c8_28_258_00 {
/* 00 */ void *mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */
/* 0C */
UnkStruct_ov019_020d24c8_28_258_00() {}
@@ -889,7 +889,7 @@ struct UnkStruct_StackTitleScreen {
class MapObject;
struct UnkStackStruct1 {
/* 00 */ unk8 mUnk_00;
/* 00 */ u8 mUnk_00;
/* 01 */ unk8 mUnk_01;
/* 02 */ unk8 mUnk_02;
/* 03 */ unk8 mUnk_03;
+1
View File
@@ -7,6 +7,7 @@ class UnkStruct_027e09a8 : public AutoInstance<UnkStruct_027e09a8> {
public:
// overlay 0
void func_ov000_020713bc();
void func_ov000_020716dc(unk32 param1);
void func_ov000_02071b30(unk32 param1, VecFx32 *pPos, unk32 param3);
void func_ov000_02071d34(void *param1, unk32 param2, VecFx32 *pPos, unk32 param4);
void func_ov000_02071eac(VecFx32 *pPos);