Begin decompiling of ZLSL / ZSRS (#107)

* feat: add vtables

* fix: compilation issues

* fix: actorderived1 data

* fix: link

* feat: more delink

* feat: add MORE functions

* feat: decompile functions

* feat: advance

* feat: improve decompiling

* style: improve style

* feat: update

* feat: update

* feat: update

* feat: add some matching bytes pausing switching to another actor temporarly

* feat: add .data for jp version

* refactor: reorder fonctions

* feat: update symbols

* feat: fix eur build

* feat: update Actor_Derived1 symbols

* refactor: cleanup

* refactor: move UnkAngleStruct

* feat: update jp symbols (Yanis)
This commit is contained in:
Alessevan
2026-08-02 08:49:14 -04:00
committed by GitHub
parent f90c7cd531
commit 418954b3cd
40 changed files with 2245 additions and 416 deletions
+8 -1
View File
@@ -133,7 +133,10 @@ public:
/* 04 */ VecFx32 mPos;
/* 10 */ VecFx32 mPrevPos;
/* 1C */ VecFx32 mVel;
/* 28 */ fx16 mAngle;
/* 28 */ union {
s16 mAngle;
UnkAngleStruct mAngleStruct;
};
/* 2A */ unk16 mUnk_2A;
/* 2C */ unk32 mUnk_2C; // gravity?
/* 30 */ Cylinder *mUnk_30;
@@ -245,6 +248,10 @@ public:
void func_ov017_020bf5c4(VecFx32 *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
void func_ov017_020bf9c8(Actor *param1);
void func_ov017_020bfb18(Actor_9C *param1);
// overlay 71 (might be temporary)
void func_ov071_021540ac(unk32 param1);
void func_ov071_0215414c();
};
class Actor_C4_Base {
+14
View File
@@ -65,4 +65,18 @@ public:
/* 18 */ virtual void vfunc_18() override;
};
class ActorProfile_Derived2 : public ActorProfile_Derived1 {
public:
/* 00 (base) */
/* D8 */
ActorProfile_Derived2(ActorId actorId1, ActorId actorId2) :
ActorProfile_Derived1(actorId1, actorId2) {}
/* 04 */ virtual void vfunc_04() override; // func_ov000_02097944
/* 10 */ virtual void vfunc_10() override; // func_ov000_0209794c
/* 14 */ virtual void vfunc_14() override; // func_ov000_0209796c
/* 18 */ virtual void vfunc_18() override; // func_ov000_02097998
};
// typedef ActorProfile *(*GetActorProfile)();
+1 -1
View File
@@ -59,7 +59,7 @@ public:
void func_ov040_02125f70(void);
void func_ov040_0212602c(void);
void func_ov040_02126090(void);
void func_ov040_021260dc(void);
void func_ov040_021260dc(unk32 param1);
void func_ov040_021260fc(void);
void func_ov040_02126144(void);
void func_ov040_02126214(void);
+1 -1
View File
@@ -25,7 +25,7 @@ public:
ActorUnkLBCK();
/* 4C */ virtual ~ActorUnkLBCK() override;
/* 58 */ virtual void vfunc_58(unk32 param1) override;
/* 58 */ virtual void vfunc_58(ActorState param1) override;
// overlay 1
void func_ov001_020bff34();
+6 -1
View File
@@ -7,6 +7,11 @@
#include "global.h"
#include "types.h"
enum ActorUnkRAT0State_ {
ActorUnkRAT0State_0,
ActorUnkRAT0State_MAX
};
class ActorUnkRAT0_C4 : public Actor_C4 {
public:
ActorUnkRAT0_C4(Actor *param1);
@@ -63,7 +68,7 @@ public:
void func_ov053_0213c910(void);
void func_ov053_0213c91c(void);
void func_ov053_0213c940(void);
void func_ov053_0213c984(void);
static void func_ov053_0213c984(void);
void func_ov053_0213c9b0(void);
void func_ov053_0213c9cc(void);
void func_ov053_0213ca50(void);
+3 -2
View File
@@ -21,7 +21,8 @@ public:
class ActorUnkRB1T : public Actor_Derived1 {
public:
/* 000 (base) */
/* 120 */ unk32 mUnk_120;
/* 120 */
Actor_Derived1_94_0C *mUnk_120;
/* 124 */ STRUCT_PAD(0x124, 0x20C);
/* 20C */ ModelRender mUnk_20C; // actually a derived class of a derived class
/* 26C */ STRUCT_PAD(0x26C, 0x280);
@@ -45,7 +46,7 @@ public:
ActorUnkRB1T();
/* 4C */ virtual ~ActorUnkRB1T() override;
/* 58 */ virtual void vfunc_58(unk32 param1);
/* 58 */ virtual void vfunc_58(ActorState param1);
void func_ov026_0211e3cc(void);
bool func_ov026_0211e3e0(unk32 param1);
+9 -1
View File
@@ -17,10 +17,18 @@ public:
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
};
enum ActorUnkRPMTState_ {
ActorUnkRPMTState_0 = 0,
ActorUnkRPMTState_1 = 1,
ActorUnkRPMTState_MAX
};
class ActorUnkRPMT : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 94 */ STRUCT_PAD(0x94, 0xA4);
/* A4 */ bool mUnk_A4;
/* A5 */
ActorUnkRPMT();
+327 -31
View File
@@ -1,40 +1,346 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "Actor_Derived1.hpp"
#include "Render/ModelRender.hpp"
#include "global.h"
#include "types.h"
// --- Actor ZLSL ---
class ActorUnkZLSL_C4 : public Actor_C4 {
class UnkStruct_ov031_0211361c {
public:
ActorUnkZLSL_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;
// data_ov031_0211361c
virtual bool func_ov031_020ea0b4(Actor *param1);
};
class ActorUnkZLSL : public Actor {
// NPC Renderer ?
class ModelRender_ov000_020b4d64 : public ModelRender {
public:
/* 00 (base) */
/* 94 */
/* 60 */
ModelRender_ov000_020b4d64(G3d_Model *pModel) :
ModelRender(pModel) {}
// data_ov000_020b4d64
/* 0C */ virtual void vfunc_0C() override;
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
};
class ModelRender_ov031_02113670 : public ModelRender_ov000_020b4d64 {
public:
/* 00 (base) */
/* 60 */
ModelRender_ov031_02113670(G3d_Model *pModel) :
ModelRender_ov000_020b4d64(pModel) {}
// data_ov031_02113670
/* 0C */ virtual void vfunc_0C() override;
};
class UnkStruct_ov000_020b31a8 {
public:
/* 00 (vtable) */
/* 04 */
// data_ov000_020b31a8
/* 00 */ virtual ~UnkStruct_ov000_020b31a8();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual UnkSystem5 *vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1C */ virtual void vfunc_1C(ActorUnkZLSL_AnimationTag param1, unk32 param2, unk32 param3, unk32 param4);
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28();
/* 2C */ virtual void vfunc_2C();
/* 30 */ virtual s8 vfunc_30();
/* 34 */ virtual void vfunc_34();
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2);
/* 3C */ virtual void vfunc_3C();
};
class ActorUnkZLSL_27CC : public UnkStruct_ov000_020b31a8 {
public:
/* 00 (base) */
/* 04 */ unk32 mUnk_04;
/* 08 */ ModelRender *mUnk_08;
/* 0C */ STRUCT_PAD(0x0C, 0x18);
/* 18 */ s8 mUnk_18;
/* 19 */
// data_ov031_0211369c
/* 30 */ virtual s8 vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2) override;
/* 3C */ virtual void vfunc_3C() override;
};
class ActorUnkZLSL_2700 : public ActorUnkZLSL_27CC {
public:
/* 00 (base) */
/* 04 */
// data_ov031_021136e4
void func_ov000_02099ddc(ActorUnkZLSL_AnimationTag param1, unk32 param2);
};
class UnkStruct_ov000_020b31f0 : public UnkStruct_ov000_020b31a8 {
public:
/* 00 (vtable) */
/* 04 */
// data_ov000_020b31f0
/* 00 */ virtual ~UnkStruct_ov000_020b31f0() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 10 */ virtual UnkSystem5 *vfunc_10() override;
/* 14 */ virtual void vfunc_14() override;
/* 1C */ virtual void vfunc_1C(char param1[], unk32 param2, unk32 param3, unk32 param4) override;
/* 20 */ virtual void vfunc_20() override;
/* 28 */ virtual void vfunc_28() override;
/* 2C */ virtual void vfunc_2C() override;
/* 30 */ virtual s8 vfunc_30() override;
/* 34 */ virtual void vfunc_34() override;
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2) override;
/* 3C */ virtual void vfunc_3C() override;
/* 40 */ virtual void vfunc_40();
};
class UnkStruct_ov031_0211372c : public UnkStruct_ov000_020b31f0 {
public:
/* 00 (base) */
/* 04 */ UnkSystem5 *mUnk_04;
/* 08 */ ModelRender *mUnk_08;
/* 0C */ STRUCT_PAD(0x0C, 0x1C);
/* 1C */ UnkSystem5 *mUnk_1C;
/* 20 */
// data_ov031_0211372c
/* 18 */ virtual void vfunc_18() override;
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2) override;
/* 3C */ virtual void vfunc_3C() override;
/* 40 */ virtual void vfunc_40() override;
};
class UnkStruct_ov031_02113d14 : public UnkStruct_ov031_0211372c {
public:
/* 00 (base) */
/* 20 */
// data_ov031_02113d14
/* 00 */ virtual ~UnkStruct_ov031_02113d14();
};
class ActorUnkZLSL;
class UnkStruct_ov031_020ecc68 {
public:
/* 08 */ unk16 sp_08;
/* 0A */ unk16 sp_0A;
/* 0C */ unk16 sp_0C;
/* 0E */ unk16 sp_0E;
/* 10 */ unk32 sp_10;
/* 14 */ VecFx32 sp_14;
/* 20 */ u16 sp_20;
/* 22 */ u16 sp_22;
/* 24 */ u16 sp_24;
/* 26 */ u16 sp_26;
/* 28 */ VecFx32 sp_28;
/* 34 */ UnkStackStruct1 sp_34;
void func_ov031_020ed47c(ActorUnkZLSL *param1, unk32 param2);
};
// --- Actor ZLSL ---
enum ActorUnkZLSLState_ {
ActorUnkZLSLState_0 = 0,
ActorUnkZLSLState_1 = 1,
ActorUnkZLSLState_2 = 2,
ActorUnkZLSLState_3 = 3,
ActorUnkZLSLState_4 = 4,
ActorUnkZLSLState_5 = 5,
ActorUnkZLSLState_6 = 6,
ActorUnkZLSLState_7 = 7,
ActorUnkZLSLState_8 = 8,
ActorUnkZLSLState_9 = 9,
ActorUnkZLSLState_10 = 10,
ActorUnkZLSLState_11 = 11,
ActorUnkZLSLState_12 = 12,
ActorUnkZLSLState_13 = 13,
ActorUnkZLSLState_14 = 14,
ActorUnkZLSLState_15 = 15,
ActorUnkZLSLState_16 = 16,
ActorUnkZLSLState_MAX
};
class ActorUnkZLSL_1690 {
public:
/* 00 */ unk32 mUnk_00;
void func_ov031_020eeca8();
void func_ov031_020eece8();
};
class ActorUnkZLSL : public Actor_Derived1 {
public:
/* 0000 (base) */
/* 0120 */ STRUCT_PAD(0x120, 0x1620);
/* 1620 */ ModelRender_ov031_02113670 mUnk_1620;
/* 1680 */ STRUCT_PAD(0x1680, 0x1690);
/* 1690 */ ActorUnkZLSL_1690 mUnk_1690;
/* 1694 */ STRUCT_PAD(0x1694, 0x2700);
/* 2700 */ ActorUnkZLSL_2700 mUnk_2700;
/* 2704 */ STRUCT_PAD(0x271C, 0x276C);
/* 276C */ ModelRender_ov031_02113670 mUnk_276C;
/* 27CC */ ActorUnkZLSL_27CC mUnk_27CC;
/* 1694 */ STRUCT_PAD(0x27E8, 0x2800);
/* 2800 */ unk32 mUnk_2800;
/* 2804 */ STRUCT_PAD(0x2804, 0x2828);
/* 2828 */ UnkStruct_PlayerGet_ec mUnk_2828;
/* 282C */ unk32 mUnk_282C;
/* 2830 */ unk32 mUnk_2830;
/* 2834 */ STRUCT_PAD(0x2834, 0x2838);
/* 2838 */ unk32 mUnk_2838;
/* 283C */ unk32 mUnk_283C;
/* 2840 */ STRUCT_PAD(0x2840, 0x2844);
/* 2844 */ unk32 mUnk_2844;
/* 2848 */ unk32 mUnk_2848;
/* 284C */ STRUCT_PAD(0x284C, 0x2850);
/* 2850 */ unk32 mUnk_2850;
/* 2854 */ unk32 mUnk_2854;
/* 2858 */ STRUCT_PAD(0x2858, 0x285C);
/* 285C */ unk32 mUnk_285C;
/* 2860 */ unk32 mUnk_2860;
/* 2864 */ STRUCT_PAD(0x2864, 0x286A);
/* 286A */ unk16 mUnk_286A;
/* 286C */ unk16 mUnk_286C;
/* 286E */ unk16 mUnk_286E;
/* 2870 */ unk16 mUnk_2870;
/* 2872 */ s16 mUnk_2872;
/* 2874 */ bool mUnk_2874;
/* 2875 */ STRUCT_PAD(0x2875, 0x2878);
/* 2878 */ VecFx32 mUnk_2878;
/* 2884 */ unk32 mUnk_2884;
/* 2888 */ fx32 mUnk_2888;
/* 288C */ unk32 mUnk_288C;
/* 2890 */ fx32 mUnk_2890;
/* 2894 */ Cylinder mUnk_2894;
/* 28A4 */ VecFx32 mUnk_28A4;
/* 28B0 */ VecFx32 mUnk_28B0;
/* 28BC */ unk32 mUnk_28BC;
/* 28C0 */ unk32 mUnk_28C0;
/* 28C4 */ unk32 mUnk_28C4;
/* 28C8 */ unk32 mUnk_28C8;
/* 2894 */ STRUCT_PAD(0x28CC, 0x28DC);
/* 28DC */ ActorRef mUnk_28DC;
/* 28E0 */ STRUCT_PAD(0x28E0, 0x28E4);
/* 28E4 */ unk16 mUnk_28E4;
/* 28E6 */ STRUCT_PAD(0x28E6, 0x28E8);
/* 28E8 */ VecFx32 mUnk_28E8;
/* 28F4 */ VecFx32 mUnk_28F4;
/* 2900 */ u16 mUnk_2900;
/* 2902 */ STRUCT_PAD(0x2902, 0x2904);
/* 2904 */ unk32 mUnk_2904;
/* 2908 */
ActorUnkZLSL();
// data_ov031_02113880
/* 00 */ virtual void GetOffsetPos(VecFx32 *pPos) const override;
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
/* 4C */ virtual ~ActorUnkZLSL() override;
/* 58 */ virtual void vfunc_58(ActorState state) override;
/* 68 */ virtual void vfunc_68() override;
/* 6C */ virtual void vfunc_6C() override;
/* 70 */ virtual void vfunc_70() override;
/* 7C */ virtual unk32 vfunc_7C(unk32 param1) override;
/* 80 */ virtual unk32 vfunc_80(unk32 param1, unk32 param2) override;
/* 88 */ virtual bool vfunc_88() override;
/* 8C */ virtual bool vfunc_8C() override;
/* 98 */ virtual void vfunc_98(u32 param1) override;
/* A4 */ virtual void vfunc_A4() override;
/* AC */ virtual void vfunc_AC() override;
/* B0 */ virtual void vfunc_B0() override;
/* B4 */ virtual void vfunc_B4() override;
void func_ov031_020ea674();
void func_ov031_020ea7a8();
void func_ov031_020ecbe0();
void func_ov031_020eaa68();
void func_ov031_020ea86c();
void func_ov031_020ea868();
void func_ov031_020ea864();
void func_ov031_020eac64();
void func_ov031_020ead0c();
void func_ov031_020ec034();
void func_ov031_020ec05c();
void func_ov031_020ec0d4();
void func_ov031_020eb5f8();
void func_ov031_020ead7c();
void func_ov031_020eb188();
void func_ov031_020ebfd8();
void func_ov031_020eafe0();
void func_ov031_020eaa8c();
void func_ov031_020ec164();
void func_ov031_020eba58();
static void func_ov031_020ee1f4();
bool func_ov031_020ee724();
// not sure where they go
void func_ov031_020ea8c0();
void func_ov031_020ea8c4();
void func_ov031_020ea8c8();
void func_ov031_020eaa88();
void func_ov031_020eab0c();
void func_ov031_020eab40(unk32 param1);
void func_ov031_020eace0();
void func_ov031_020ead78();
void func_ov031_020eafb0();
void func_ov031_020eb158();
void func_ov031_020eb218();
bool func_ov031_020eb2b0(VecFx32 *param1, unk32 param2);
void func_ov031_020eb61c();
void func_ov031_020eba8c();
void func_ov031_020ec028();
void func_ov031_020ec058();
void func_ov031_020ec0a8();
void func_ov031_020ec12c();
void func_ov031_020ec170();
bool func_ov031_020ec3d0();
bool func_ov031_020ec49c();
unk32 func_ov031_020ec54c();
void func_ov031_020ec6d8(bool param1);
bool func_ov031_020ec8c4();
void func_ov031_020ecc68(unk32 param1);
void func_ov031_020ecea8(UnkAngleStruct param1, unk32 param2, unk32 param3, unk32 param4);
void func_ov031_020ed0b0();
void func_ov031_020ed3c0();
void func_ov031_020ed4e4(unk32 param1, unk32 param2);
void func_ov031_020ed55c();
bool func_ov031_020ed6cc(unk32 param1);
bool func_ov031_020ed8ac(unk32 param1);
void func_ov031_020edc80();
void func_ov031_020edd14(VecFx32 *param1);
void func_ov031_020edd54();
void func_ov031_020ede30();
void func_ov031_020edf98();
unk16 func_ov031_020ee2c8();
void func_ov031_020ee41c();
void func_ov031_020ee4c4(UnkAngleStruct angle);
void func_ov031_020ee654();
};
class ActorProfileUnkZLSL : public ActorProfile_Derived1 {
class ActorProfileUnkZLSL : public ActorProfile {
public:
/* 00 (base) */
ActorProfileUnkZLSL();
~ActorProfileUnkZLSL();
/* 0C */ virtual Actor *Create();
@@ -43,32 +349,22 @@ public:
// --- Actor ZSRS ---
class ActorUnkZSRS_C4 : public Actor_C4 {
class ActorUnkZSRS : public Actor_Derived1 {
public:
ActorUnkZSRS_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 ActorUnkZSRS : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 000 (base) */
/* 120 */ UnkStruct_ov031_02113d14 mUnk_0120;
/* 140 */
ActorUnkZSRS();
/* 4C */ virtual ~ActorUnkZSRS() override;
// data_ov031_02113944
};
class ActorProfileUnkZSRS : public ActorProfile_Derived1 {
class ActorProfileUnkZSRS : public ActorProfile_Derived2 {
public:
/* 00 (base) */
ActorProfileUnkZSRS();
~ActorProfileUnkZSRS();
/* 0C */ virtual Actor *Create();
+49 -15
View File
@@ -33,6 +33,40 @@ public:
ActorUnk_vfunc_B0();
};
class Actor_Derived1_94_vfunc_10 {
public:
/* 00 */ STRUCT_PAD(0x00, 0x04);
/* 04 */ unk32 mUnk_04;
/* 08 */ STRUCT_PAD(0x04, 0x08);
/* 0C */ unk32 mUnk_0C;
/* 10 */
};
struct ActorUnkZLSL_AnimationTag {
unk32 index;
char name[0x14];
};
class Actor_Derived1_94_0C {
public:
/* 00 (vtable) */
/* 04 */
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual Actor_Derived1_94_vfunc_10 *vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1C */ virtual void vfunc_1C(ActorUnkZLSL_AnimationTag param1, unk32 param2, unk32 param3, unk32 param4);
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28();
/* 2C */ virtual void vfunc_2C();
/* 30 */ virtual unk32 vfunc_30();
};
class Actor_Derived1_94 {
public:
/* 00 */ Actor_38 mUnk_00;
@@ -46,10 +80,10 @@ public:
class Actor_Derived1_94_Derived1 : public Actor_Derived1_94 {
public:
/* 00 (base) */
/* 0C */ unk32 mUnk_0C;
/* 0C */ Actor_Derived1_94_0C *mUnk_0C;
/* 10 */
Actor_Derived1_94_Derived1(unk32 param1) {
Actor_Derived1_94_Derived1(Actor_Derived1_94_0C *param1) {
this->mUnk_0C = param1;
}
};
@@ -116,9 +150,9 @@ public:
/* 0DC */ unk16 mUnk_0DE;
/* 0E0 */ unk16 mUnk_0E0;
/* 0E0 */ unk16 mUnk_0E2;
/* 0E4 */ void *mUnk_0E4; // callback
/* 0E8 */ unk16 mUnk_0E8;
/* 0E8 */ unk16 mUnk_0EA;
/* 0E4 */ void (*mUnk_0E4)(); // callback
/* 0E8 */ volatile u16 mUnk_0E8;
/* 0E8 */ volatile u16 mUnk_0EA;
/* 0EC */ Actor_Derived1_EC mUnk_0EC;
/* 104 */ Cylinder mUnk_104;
/* 114 */ unk32 mUnk_114;
@@ -133,7 +167,7 @@ public:
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
/* 4C */ virtual ~Actor_Derived1();
/* 54 */ virtual void vfunc_54(unk32 param1);
/* 58 */ virtual void vfunc_58(unk32 param1) = 0;
/* 58 */ virtual void vfunc_58(ActorState param1) = 0;
/* 5C */ virtual void vfunc_5C();
/* 60 */ virtual void vfunc_60();
/* 64 */ virtual bool vfunc_64();
@@ -142,25 +176,25 @@ public:
/* 70 */ virtual void vfunc_70();
/* 74 */ virtual void vfunc_74();
/* 78 */ virtual void vfunc_78();
/* 7C */ virtual unk32 vfunc_7C();
/* 80 */ virtual unk32 vfunc_80();
/* 7C */ virtual unk32 vfunc_7C(unk32 param1);
/* 80 */ virtual unk32 vfunc_80(unk32 param1, unk32 param2);
/* 84 */ virtual unk32 vfunc_84();
/* 88 */ virtual unk32 vfunc_88();
/* 8C */ virtual unk32 vfunc_8C();
/* 88 */ virtual bool vfunc_88();
/* 8C */ virtual bool vfunc_8C();
/* 90 */ virtual unk32 vfunc_90();
/* 94 */ virtual void vfunc_94();
/* 98 */ virtual void vfunc_98(unk32 param1);
/* 98 */ virtual void vfunc_98(u32 param1);
/* 9C */ virtual void vfunc_9C();
/* A0 */ virtual unk32 vfunc_A0();
/* A4 */ virtual void vfunc_A4();
/* A8 */ virtual unk32 vfunc_A8();
/* AC */ virtual void vfunc_Ac();
/* AC */ virtual void vfunc_AC();
/* B0 */ virtual void vfunc_B0();
/* B4 */ virtual void vfunc_B4();
/* B8 */ virtual void vfunc_B8();
/* BC */
Actor_Derived1(ModelRender *param1, unk32 param2);
Actor_Derived1(ModelRender *param1, Actor_Derived1_94_0C *param2);
// overlay 0
void func_ov000_020a8ae0(fx32 param1);
@@ -168,10 +202,10 @@ public:
bool func_ov000_020a8dd0();
void func_ov000_020a8df0(ActorRef param1, unk32 param2);
void func_ov000_020a8e9c(VecFx32 *param1);
void func_ov000_020a8ff4();
bool func_ov000_020a8ff4(VecFx32 *param1);
void func_ov000_020a91b8(VecFx32 *param1, unk32 param2);
void func_ov000_020a9200();
void func_ov000_020a9248();
bool func_ov000_020a9248(unk32 param1);
void func_ov000_020a94b0();
void func_ov000_020a95d8();
void func_ov000_020a9a20();