Files
st/include/Actor/ActorProfile.hpp
T
Alessevan f595c06b8d Decompiling KURI (#141)
* feat: begin curry decompiling

* fix: create a cpp type for VecFx32

* fix: build issue

* fix: jp as well

* feat: improve ctor & dtor

* feat: improve matching

* fix: wrong value in animation tag

* feat: add matching bytes

* fix: change signature of Mityno's inline ctor

* fix: change signature of ANOTHER Mityno's inline ctor

* fix: match back function in CANS

* feat: more matching

* fix: build

* feat: increase overall matching

* feat: increase overall matching

* fix: commit to stop infinite task

* fix: better matching

* feat: chagne jp symbols

* feat: delink data and bss of KURI

* fix: use VecFx32 constructor

* fix: build issues
2026-08-24 17:42:52 +02:00

83 lines
2.3 KiB
C++

#pragma once
#include "Actor/ActorId.hpp"
#include "Physics/Cylinder.hpp"
#include "System/SysNew.hpp"
#include "Unknown/Common.hpp"
#include "profile.hpp"
#include "types.h"
class Actor;
class ActorProfile {
public:
/* 00 (vtable) */
/* 04 */ Cylinder mUnk_04;
/* 14 */ unk8 mUnk_14;
/* 15 */ bool mUnk_15;
/* 16 */ unk8 mUnk_16;
/* 17 */ unk8 mUnk_17;
/* 18 */ unk8 mUnk_18;
/* 19 */ unk8 mUnk_19;
/* 1A */ unk16 mUnk_1A;
/* 1C */ unk16 mUnk_1C;
/* 1E */ u16 mUnk_1E;
/* 20 */ ActorId mActorId;
/* 24 */ unk32 mUnk_24;
/* 28 */ unk32 mUnk_28;
/* 2C */ unk32 mUnk_2C;
/* 30 */ unk32 mUnk_30;
/* 34 */ unk32 mUnk_34;
/* 38 */ u8 mUnk_38;
/* 39 */ unk8 mUnk_39;
/* 3A */
ActorProfile(ActorId actorId);
~ActorProfile();
/* 00 */ virtual Actor *Create() = 0;
/* 04 */ virtual UnkActorFileSystem2 *vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1C */
void func_ov000_020977e4();
void func_ov000_020975dc();
};
class ActorProfile_Derived1 : public ActorProfile {
public:
/* 00 (base) */
/* 3C */ UnkActorFileSystem2 mUnk_3C;
/* D4 */ unk32 mUnk_D4;
/* D8 */
ActorProfile_Derived1(ActorId actorId);
ActorProfile_Derived1(ActorId actorId1, ActorId actorId2);
~ActorProfile_Derived1();
/* 04 */ virtual UnkActorFileSystem2 *vfunc_04() override;
/* 10 */ virtual void vfunc_10() override;
/* 14 */ virtual void vfunc_14() override;
/* 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 UnkActorFileSystem2 *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)();