mirror of
https://github.com/zeldaret/st
synced 2026-10-07 13:25:33 -04:00
205dc5a1ca
* day 1 * delink overlay 17 * UnkStruct_027e0ce0_30_017 & UnkStruct_027e0ce0_40_017 * ItemManager_017 OK * UnkStruct_027e0ce0_40_Base_94_017 95% * UnkStruct_027e0ce0_017 OK * PlayerLinkActor_017 OK * PlayerLinkActor_A0_20_017 OK * code_020be2ec_017 99% * ActorManager_017 OK * Actor_017 OK * ActorEventIcon_017 OK * code_020be2ec_017 OK * MapObjectManager_017 97% * MapObject_017 OK * MapObjectSwitchStep_017 OK * fix build issues * fix other versions build issues
83 lines
2.3 KiB
C++
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[1]; //! TODO: at least one element
|
|
/* 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)();
|