diff options
| author | Aetias <aetias@outlook.com> | 2024-03-30 12:10:44 +0100 |
|---|---|---|
| committer | Aetias <aetias@outlook.com> | 2024-03-30 12:10:44 +0100 |
| commit | b9b56f4e9ff85f2f1df0d6a3520568ab2c70c510 (patch) | |
| tree | 7016070ea6259a18e02e55ee61bfa0dea97054a8 /include/Player/PlayerBase.hpp | |
| parent | 37685915ffe1e0e7c5840a3163457ec554293695 (diff) | |
Add `PlayerBase.cpp`
Diffstat (limited to 'include/Player/PlayerBase.hpp')
| -rw-r--r-- | include/Player/PlayerBase.hpp | 50 |
1 files changed, 46 insertions, 4 deletions
diff --git a/include/Player/PlayerBase.hpp b/include/Player/PlayerBase.hpp index 4e13b2c2..53daf578 100644 --- a/include/Player/PlayerBase.hpp +++ b/include/Player/PlayerBase.hpp @@ -3,17 +3,59 @@ #include "global.h" #include "types.h" +#include "Item/Item.hpp" +#include "Player/EquipSword.hpp" +#include "Player/EquipShield.hpp" + +#include "Physics/Cylinder.hpp" +#include "Render/FadeControl.hpp" #include "System/SysNew.hpp" class PlayerBase : public SysObject { +public: /* 00 (vtable) */ - /* 04 */ void *mUnk_04; - /* 08 */ s16 mUnk_08; + /* 04 */ FadeControl *mFadeControl; + /* 08 */ s16 mInvincibleFrames; /* 0a */ s16 mHealth; /* 0c */ unk8 mUnk_0c[2]; - /* 0e */ unk16 mUnk_0e; + /* 0e */ s16 mEntranceId; /* 10 */ bool mUpdatePos; /* 11 */ bool mVisible; - /* 12 */ bool mUnk_12; + /* 12 */ bool mInvincible; /* 13 */ + + /* 00 */ virtual s32 GetMaxHealth() = 0; + /* 04 */ virtual bool vfunc_04(); + /* 08 */ virtual ItemFlag GetEquipId(); + /* 0c */ virtual bool CanMove(); + /* 10 */ virtual void vfunc_10(Cylinder *param1) = 0; + /* 14 */ virtual void vfunc_14(Cylinder *param1) = 0; + /* 18 */ virtual void vfunc_18() = 0; + /* 1c */ virtual void Init() = 0; + /* 20 */ virtual void vfunc_20() = 0; + /* 24 */ virtual void vfunc_24() = 0; + /* 28 */ virtual void vfunc_28(s32 param1) = 0; + /* 2c */ virtual void vfunc_2c(s32 param1, unk8 param2) = 0; + /* 30 */ virtual void vfunc_30() = 0; + /* 34 */ virtual bool Teleport(Vec3p *pos, s16 angle, unk32 param3, bool param4, bool param5); + /* 38 */ virtual bool TeleportToEntrance(unk32 entranceId, bool param2); + /* 3c */ virtual bool TeleportToLastEntrance(bool param1); + /* 40 */ virtual void AddHealth(s16 amount); + /* 44 */ virtual void vfunc_44() = 0; + /* 48 */ virtual void vfunc_48() = 0; + /* 4c */ virtual void vfunc_4c() = 0; + /* 50 */ virtual ~PlayerBase(); + /* 58 */ + + void SetUpdatePos(bool updatePos); + void SetVisible(bool visible); + EquipSword* GetEquipSword(); + EquipShield* GetEquipShield(); + void LookAt(Vec3p *target); + bool func_ov00_020a7c00(s32 param1); + bool func_ov00_020a7c1c(Cylinder *cylinder); + bool func_ov00_020a7c60(Vec3p *param1, Vec3p *param2, s32 param3); + void EquipItem_vfunc_3c(Cylinder *cylinder, ItemFlag equipId); + void EquipItem_vfunc_2c(); + void SetHealth(s16 health); }; |
