#pragma once #include "global.h" #include "types.h" #include "DTCM/UnkStruct_027e0fd4.hpp" #include "Player/EquipBombchu.hpp" #include "Player/EquipShield.hpp" #include "Player/LinkStateCutscene.hpp" #include "Player/LinkStateFollow.hpp" #include "Player/PlayerLinkBase.hpp" class PlayerLink : public PlayerLinkBase { public: /* 00 (base) */ /* 70 */ s32 mUnk_70; /* 74 */ unk8 mUnk_74[0x4]; /* 78 */ unk32 mUnk_78; /* 7c */ unk32 mUnk_7c; /* 80 */ char mUnk_80; /* 81 */ unk8 mUnk_81[0x3]; /* 84 */ /* 00 */ virtual s32 GetMaxHealth() override; /* 04 */ virtual bool vfunc_04() override; /* 1c */ virtual void Init() override; /* 24 */ virtual void UpdatePos() override; /* 2c */ virtual void vfunc_2c(s32 param1, unk8 param2) override; /* 40 */ virtual void AddHealth(s16 amount) override; /* 44 */ virtual void vfunc_44() override; /* 48 */ virtual void vfunc_48() override; /* 4c */ virtual void vfunc_4c() override; /* 50 */ virtual ~PlayerLink() override; /* 68 */ virtual void vfunc_68() override; /* 6c */ virtual void vfunc_6c() override; /* 74 */ virtual void vfunc_74() override; /* 78 */ virtual unk32 vfunc_78() override; /* 7c */ virtual void vfunc_7c() override; /* 80 */ virtual void SetUnk_5e() override; /* 84 */ virtual void ResetUnk_5e() override; /* 88 */ virtual void OnDeath(bool param1); /* 8c */ static PlayerLink *Create(); static PlayerLink *GetInstance(); void func_ov014_0213eef0(s32 param1); static LinkStateCutscene *GetLinkStateCutscene(); PlayerLink(); void func_ov014_0213f37c(); static LinkStateItem *GetLinkStateItem(); static void func_ov014_0213f734(unk32 *param1, UnkStruct_027e0fd4 *param2); void func_ov014_0213f740(); void func_ov014_0213f97c(); unk32 func_ov023_02177e7c(); unk32 func_ov023_02177e84(); void func_ov023_02177e90(); bool func_ov023_02178058(); static LinkStateFollow *GetLinkStateFollow(); void func_ov023_02178174(); static EquipBombchu *GetEquipBombchu(); static EquipShield *GetEquipShield(); void GiveControlToLink(); void func_ov023_02178630(); };