#pragma once #include "Actor/Actor.hpp" #include "Actor/ActorProfile.hpp" #include "Unknown/UnkStruct_ov031_Items.hpp" #include "global.h" #include "types.h" enum ActorPotState_ { ActorPotState_0 = 0, ActorPotState_1 = 1, ActorPotState_2 = 2, ActorPotState_3 = 3, ActorPotState_4 = 4, ActorPotState_5 = 5, ActorPotState_6 = 6, ActorPotState_7 = 7, ActorPotState_Max, }; class UnkStruct_ov000_020b2838 { public: // data_ov000_020b2838 /* 00 */ virtual void vfunc_00(); // func_ov000_0207bfe4 /* 04 */ virtual ~UnkStruct_ov000_020b2838(); // func_ov000_0207bfe8 /* 08 */ virtual void vfunc_08(); // func_ov000_0207c000 /* 0C */ virtual void vfunc_0C(); // func_ov000_0207c008 }; class UnkStruct_ov031_02113fb8 : UnkStruct_ov000_020b2838 { public: // data_ov031_02113fb8 /* 00 */ virtual ~UnkStruct_ov031_02113fb8() override; // func_ov031_020f09f8 & func_ov031_020f0a14 /* 08 */ virtual void vfunc_08() override; // func_ov031_020f0aa8 /* 0C */ virtual void vfunc_0C() override; // func_ov031_020f0a38 }; class Actor_ov031_02113fd4 : public Actor { public: /* 000 (base) */ /* 094 */ UnkStruct_ov031_Items_01 mUnk_94; /* 0C0 */ STRUCT_PAD(0x0C0, 0x0EC); /* 0EC */ u16 mUnk_EC; /* 0EE */ STRUCT_PAD(0x0EE, 0xF0); /* 0F0 */ UnkStruct_ov031_02113fb8 mUnk_F0; /* 0F4 */ STRUCT_PAD(0xF4, 0x110); /* 110 */ Actor_ov031_02113fd4(); // data_ov031_02113fd4 /* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020efd6c /* 20 */ virtual void vfunc_20() override; // func_ov031_020f005c /* 24 */ virtual void vfunc_24() override; // func_ov031_020f0060 /* 38 */ virtual bool Grab(ActorGrabParams grabParams) override; // func_ov031_020efdcc /* 3C */ virtual bool Drop(ActorGrabParams grabParams, const VecFx32 *pVel) override; // func_ov031_020efe08 /* 40 */ virtual void vfunc_40() override; // func_ov031_020f02a8 /* 44 */ virtual void vfunc_44() override; // func_ov031_020f02c /* 54 */ virtual void vfunc_54(); // func_ov031_020f064c /* 58 */ virtual void vfunc_58(); // func_ov031_020f0654 /* 5C */ virtual void vfunc_5C(ActorState param1) = 0; /* 60 */ virtual void vfunc_60(); // func_ov031_020f0090 /* 64 */ virtual void vfunc_64(); // func_ov031_020f065c void func_ov031_020f0094(); void func_ov031_020f0098(); void func_ov031_020f009c(); void func_ov031_020f00a0(); void func_ov031_020f00c4(); void func_ov031_020f00ac(); void func_ov031_020f0198(); void func_ov031_020f01ac(); void func_ov031_020f0220(); void func_ov031_020f0244(); void func_ov031_020f0450(unk32 param1); void func_ov031_020f04a8(); void func_ov031_020f04dc(); void func_ov031_020f0514(); }; class ActorPot : public Actor_ov031_02113fd4 { public: /* 00 (base) */ /* 110 */ ModelRender_ov000_020b198c mUnk_110; /* 120 */ ActorPot(); /* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020f0d04 /* 20 */ virtual void vfunc_20() override; // func_ov031_020f0d80 /* 2C */ virtual void vfunc_2C(unk32 param1) override; // func_ov031_020f0db8 /* 5C */ virtual void vfunc_5C(ActorState param1) override; // func_ov031_020f0d2c void func_ov031_020f0cf0(); void func_ov031_020f0de8(); void func_ov031_020f0df4(); void func_ov031_020f0e00(); void func_ov031_020f0e0c(); void func_ov031_020f0e18(); void func_ov031_020f0e24(); void func_ov031_020f0e30(); void func_ov031_020f0e3c(); void func_ov031_020f0e48(); void func_ov031_020f0e5c(); void func_ov031_020f0e70(); void func_ov031_020f0f44(); }; class ActorProfilePot : public ActorProfile { public: /* 00 (base) */ ActorProfilePot(); /* 0C */ virtual Actor *Create(); static ActorProfilePot *GetProfile(); };