summaryrefslogtreecommitdiff
path: root/include/Player/PlayerBase.hpp
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2024-03-30 12:10:44 +0100
committerAetias <aetias@outlook.com>2024-03-30 12:10:44 +0100
commitb9b56f4e9ff85f2f1df0d6a3520568ab2c70c510 (patch)
tree7016070ea6259a18e02e55ee61bfa0dea97054a8 /include/Player/PlayerBase.hpp
parent37685915ffe1e0e7c5840a3163457ec554293695 (diff)
Add `PlayerBase.cpp`
Diffstat (limited to 'include/Player/PlayerBase.hpp')
-rw-r--r--include/Player/PlayerBase.hpp50
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);
};