mirror of
https://github.com/zeldaret/st
synced 2026-08-07 02:06:00 -04:00
418954b3cd
* 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)
83 lines
2.2 KiB
C++
83 lines
2.2 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 void 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 void 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 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)();
|