From fe4c283ba249c5c676b75542c83dfbb829c768b3 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 18 Jan 2025 15:50:03 +0100 Subject: Document math functions --- include/Player/EquipRope.hpp | 2 +- include/Player/LinkStateBase.hpp | 2 +- include/Player/LinkStateCutscene.hpp | 2 +- include/Player/LinkStateDamage.hpp | 2 +- include/Player/LinkStateFollow.hpp | 2 +- include/Player/LinkStateInteract.hpp | 2 +- include/Player/PlayerControl.hpp | 2 +- include/Player/PlayerControlData.hpp | 2 +- include/Player/PlayerLinkBase.hpp | 2 +- include/Player/TouchControl.hpp | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) (limited to 'include/Player') diff --git a/include/Player/EquipRope.hpp b/include/Player/EquipRope.hpp index 127eb974..906f813b 100644 --- a/include/Player/EquipRope.hpp +++ b/include/Player/EquipRope.hpp @@ -1,7 +1,7 @@ #pragma once #include "global.h" -#include "lib/math.h" +#include "nds/math.h" #include "types.h" #include "Actor/ActorRef.hpp" diff --git a/include/Player/LinkStateBase.hpp b/include/Player/LinkStateBase.hpp index 3371b937..f3ac5087 100644 --- a/include/Player/LinkStateBase.hpp +++ b/include/Player/LinkStateBase.hpp @@ -1,7 +1,7 @@ #pragma once #include "global.h" -#include "lib/math.h" +#include "nds/math.h" #include "types.h" #include "Actor/Actor.hpp" diff --git a/include/Player/LinkStateCutscene.hpp b/include/Player/LinkStateCutscene.hpp index f39c7430..514f2b32 100644 --- a/include/Player/LinkStateCutscene.hpp +++ b/include/Player/LinkStateCutscene.hpp @@ -1,7 +1,7 @@ #pragma once #include "global.h" -#include "lib/math.h" +#include "nds/math.h" #include "types.h" #include "Item/Item.hpp" diff --git a/include/Player/LinkStateDamage.hpp b/include/Player/LinkStateDamage.hpp index 2c5e6e00..1c59d90e 100644 --- a/include/Player/LinkStateDamage.hpp +++ b/include/Player/LinkStateDamage.hpp @@ -1,7 +1,7 @@ #pragma once #include "global.h" -#include "lib/math.h" +#include "nds/math.h" #include "types.h" #include "Player/LinkStateBase.hpp" diff --git a/include/Player/LinkStateFollow.hpp b/include/Player/LinkStateFollow.hpp index c422faa1..09de008e 100644 --- a/include/Player/LinkStateFollow.hpp +++ b/include/Player/LinkStateFollow.hpp @@ -1,7 +1,7 @@ #pragma once #include "global.h" -#include "lib/math.h" +#include "nds/math.h" #include "types.h" #include "Actor/Actor.hpp" diff --git a/include/Player/LinkStateInteract.hpp b/include/Player/LinkStateInteract.hpp index 150983b8..55081c8a 100644 --- a/include/Player/LinkStateInteract.hpp +++ b/include/Player/LinkStateInteract.hpp @@ -1,7 +1,7 @@ #pragma once #include "global.h" -#include "lib/math.h" +#include "nds/math.h" #include "types.h" #include "Actor/Actor.hpp" diff --git a/include/Player/PlayerControl.hpp b/include/Player/PlayerControl.hpp index 0e0da8ae..de0da848 100644 --- a/include/Player/PlayerControl.hpp +++ b/include/Player/PlayerControl.hpp @@ -1,7 +1,7 @@ #pragma once #include "global.h" -#include "lib/math.h" +#include "nds/math.h" #include "types.h" #include "Actor/Actor.hpp" diff --git a/include/Player/PlayerControlData.hpp b/include/Player/PlayerControlData.hpp index 3f998186..c44a00c5 100644 --- a/include/Player/PlayerControlData.hpp +++ b/include/Player/PlayerControlData.hpp @@ -1,7 +1,7 @@ #pragma once #include "global.h" -#include "lib/math.h" +#include "nds/math.h" #include "types.h" #include "System/SysNew.hpp" diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp index 02cf3219..8c12b911 100644 --- a/include/Player/PlayerLinkBase.hpp +++ b/include/Player/PlayerLinkBase.hpp @@ -1,7 +1,7 @@ #pragma once #include "global.h" -#include "lib/math.h" +#include "nds/math.h" #include "types.h" #include "Actor/ActorManager.hpp" diff --git a/include/Player/TouchControl.hpp b/include/Player/TouchControl.hpp index 47349d28..1301e144 100644 --- a/include/Player/TouchControl.hpp +++ b/include/Player/TouchControl.hpp @@ -1,8 +1,8 @@ #pragma once #include "global.h" -#include "lib/math.h" #include "lib/touch.h" +#include "nds/math.h" #include "types.h" typedef u16 TouchFlags; -- cgit v1.2.3 From af097b91d7ad589ee017841b474faee89d1999af Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 21 Jan 2025 20:24:28 +0100 Subject: Move ov000 documentation from Ghidra --- include/Player/HealthManager.hpp | 5 ++++ include/Player/LinkStateCutscene.hpp | 38 +++++++++++++++++++++++++++++++ include/Player/PlayerControl.hpp | 6 +++++ include/Player/PlayerControlData.hpp | 44 ++++++++++++++++++++++++++++++++++++ 4 files changed, 93 insertions(+) (limited to 'include/Player') diff --git a/include/Player/HealthManager.hpp b/include/Player/HealthManager.hpp index 5ebb7181..7e36decc 100644 --- a/include/Player/HealthManager.hpp +++ b/include/Player/HealthManager.hpp @@ -3,6 +3,7 @@ #include "global.h" #include "types.h" +#include "Save/SaveItemManager.hpp" #include "System/SysNew.hpp" class HealthManager : public SysObject { @@ -17,6 +18,10 @@ public: /* 0e */ unk8 mUnk_0e; /* 0f */ unk8 mUnk_0f; /* 10 */ + + void Save(SaveItemManager *save); + void IncreaseMaxHealth(s16 amount); + void UpdateShipMaxHealth(); }; extern HealthManager *gHealthManager; diff --git a/include/Player/LinkStateCutscene.hpp b/include/Player/LinkStateCutscene.hpp index 514f2b32..52b40e42 100644 --- a/include/Player/LinkStateCutscene.hpp +++ b/include/Player/LinkStateCutscene.hpp @@ -6,6 +6,20 @@ #include "Item/Item.hpp" #include "Player/LinkStateBase.hpp" +#include "Unknown/UnkStruct_02037750.hpp" + +class UnkStruct_ov004_0210abb8 : public UnkStruct_02037750 { +public: + /* 00 (base) */ + /* 20 */ unk32 mUnk_20; + /* 24 */ + + /* 00 */ ~UnkStruct_ov004_0210abb8() override; + /* 08 */ void vfunc_08(unk32 param1) override; + /* 24 */ void vfunc_24(unk32 param1) override; + /* 2c */ unk32 vfunc_2c(s32 param1) override; + /* 34 */ +}; class LinkStateCutscene : public LinkStateBase { public: @@ -58,4 +72,28 @@ public: /* 38 */ virtual bool vfunc_38() override; /* 40 */ virtual bool vfunc_40() override; /* 44 */ + + bool func_ov000_020b1e98(s32 param1); + bool func_ov000_020b1eb8(); + bool func_ov000_020b1eec(); + void StopVerticalVelocity(); + void func_ov000_020b2568(); + void func_ov000_020b2598(); + void func_ov000_020b2ba4(); + void func_ov000_020b2ce4(unk32 param1, s16 param2); + void func_ov000_020b2cf0(); + void func_ov000_020b2d60(); + bool func_ov000_020b2d8c(); + void func_ov000_020b2e84(); + void func_ov000_020b2f48(unk32 param1, unk32 param2); + void func_ov000_020b2f70(unk32 param1, void *param2, unk32 *param3); + void ChangeToMoveState(); + bool func_ov000_020b2fac(); + void func_ov000_020b3024(Vec3p *param1, unk32 param2); + void func_ov000_020b305c(Vec3p *param1, Vec3p *param2); + void func_ov000_020b309c(Vec3p *param1); + void func_ov000_020b30e4(u32 param1, unk32 param2, unk32 param3); + void func_ov000_020b3278(s32 param1, s32 *param2); + void func_ov000_020b35d8(s32 param1, s32 param2); + void func_ov000_020b38dc(u32 param1, u32 param2); }; diff --git a/include/Player/PlayerControl.hpp b/include/Player/PlayerControl.hpp index de0da848..d8db3f65 100644 --- a/include/Player/PlayerControl.hpp +++ b/include/Player/PlayerControl.hpp @@ -124,6 +124,12 @@ public: bool IsTouchingFast(); bool IsTappedNow(); bool func_ov00_020b13c4(); + + void ResetTouchWorld(); + void InitTouchMovement(); + void func_ov000_020b7924(s32 param1); + void ApplyTouchWorld(Vec3p *result, unk32 scale); + bool func_ov000_020b7d6c(); }; extern PlayerControl *gPlayerControl; diff --git a/include/Player/PlayerControlData.hpp b/include/Player/PlayerControlData.hpp index c44a00c5..f309953c 100644 --- a/include/Player/PlayerControlData.hpp +++ b/include/Player/PlayerControlData.hpp @@ -58,4 +58,48 @@ public: /* 19c */ unk16 mUnk_19c; /* 19e */ unk16 mUnk_19e; /* 1a0 */ + + /* 00 */ virtual void vfunc_00(); + /* 04 */ virtual ~PlayerControlData(); + /* 0c */ virtual unk32 vfunc_0c(); + /* 10 */ virtual void vfunc_10() = 0; + /* 14 */ virtual void vfunc_14() = 0; + /* 18 */ virtual void vfunc_18(); + /* 1c */ virtual void vfunc_1c(); + /* 20 */ virtual void vfunc_20(); + /* 24 */ virtual void vfunc_24(); + /* 28 */ virtual void vfunc_28(); + /* 2c */ virtual void vfunc_2c(); + /* 30 */ virtual void vfunc_30(); + /* 34 */ virtual void vfunc_34(); + /* 38 */ virtual void vfunc_38() = 0; + /* 3c */ virtual void vfunc_3c(); + /* 40 */ virtual void vfunc_40(); + /* 44 */ virtual void vfunc_44(); + /* 48 */ virtual void vfunc_48(unk32 param1, unk32 param2, unk32 param3, s16 param4); + /* 4c */ virtual void vfunc_4c(); + /* 50 */ virtual void vfunc_50(); + /* 54 */ virtual void vfunc_54(); + /* 58 */ virtual void vfunc_58(); + /* 5c */ virtual void vfunc_5c(); + /* 60 */ virtual void vfunc_60(unk32 param1, unk32 param2, s32 param3); + /* 64 */ virtual void vfunc_64(); + /* 68 */ virtual void vfunc_68(unk32 param1, unk32 param2); + /* 6c */ virtual void vfunc_6c(s32 param1, Vec3p *param2); + /* 70 */ virtual void vfunc_70(); + /* 74 */ virtual unk32 vfunc_74(); + /* 78 */ virtual unk32 vfunc_78(); + /* 7c */ virtual unk32 vfunc_7c(); + /* 80 */ + + void func_ov000_020b4440(); + void func_ov000_020b4460(s32 param1); + void func_ov000_020b44d4(s32 param1, u32 param2); + void func_ov000_020b4558(s32 param1, u32 param2); + void func_ov000_020b45e0(); + void func_ov000_020b45f8(unk32 *param1, unk8 param2, unk8 param3); + void func_ov000_020b464c(unk32 *param1, unk8 param2, unk8 param3); + void func_ov000_020b484c(s32 param1, s32 param2, s32 param3); + void func_ov000_020b4944(unk32 param1, u32 param2, s32 param3); + void func_ov000_020b4a00(s32 *param1, s32 *param2, s32 *param3, s32 param4); }; -- cgit v1.2.3 From 1d4fc368c29d6ec3940fff2e8e56364827e45b62 Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 23 Jan 2025 23:11:04 +0100 Subject: Move ov000 documentation from Ghidra --- include/Player/EquipItem.hpp | 32 ++++++++------- include/Player/EquipShield.hpp | 20 +++++----- include/Player/EquipSword.hpp | 27 +++++++++---- include/Player/PlayerLinkBase.hpp | 84 ++++++++++++++++++++++++++++++++++++--- 4 files changed, 124 insertions(+), 39 deletions(-) (limited to 'include/Player') diff --git a/include/Player/EquipItem.hpp b/include/Player/EquipItem.hpp index d429a2e7..6702bc48 100644 --- a/include/Player/EquipItem.hpp +++ b/include/Player/EquipItem.hpp @@ -8,36 +8,38 @@ #include "System/SysNew.hpp" class EquipItem : public SysObject { -private: +public: /* 0 (vtable) */ /* 4 */ u16 mUnk_00; /* 6 */ u16 mUnk_04; /* 8 */ bool mInUse; + /* 9 */ -public: EquipItem(); - /* 00 */ virtual void vfunc_00(); // func_ov00_020be8dc + /* 00 */ virtual void vfunc_00(); /* 04 */ virtual ~EquipItem(); /* 0c */ virtual ItemFlag GetId() const = 0; - /* 10 */ virtual void vfunc_10(); // func_ov04_0210ba88 - - u16 GetAmmo(); + /* 10 */ virtual void vfunc_10(); /* 14 */ virtual bool IsUsable(unk32 param1) const; /* 18 */ virtual void vfunc_18() = 0; - /* 1c */ virtual void vfunc_1c(); // func_ov00_020be8e0 + /* 1c */ virtual void vfunc_1c(); /* 20 */ virtual void GiveAmmo(u32 amount); - /* 24 */ virtual bool IsInUse() const; /* 28 */ virtual bool UpdateInUse(unk32 param1); - /* 2c */ virtual u32 vfunc_2c(); // func_ov00_020be964 + /* 2c */ virtual u32 vfunc_2c(); /* 30 */ virtual void vfunc_30() = 0; - /* 34 */ virtual void vfunc_34(unk16 *param1); // func_ov00_020be96c + /* 34 */ virtual void vfunc_34(unk16 *param1); /* 38 */ virtual void vfunc_38(unk32 param1) = 0; - /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const; // func_ov00_020beb90 - /* 40 */ virtual unk32 vfunc_40() const; // func_ov00_020be970 - /* 44 */ virtual unk32 vfunc_44(unk32 param1) const; // func_ov00_020be978 - /* 48 */ virtual unk32 vfunc_48(unk32 param1) const; // func_ov00_020be980 - /* 4c */ virtual s32 vfunc_4c() const; // func_ov00_020be988 + /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const; + /* 40 */ virtual unk32 vfunc_40() const; + /* 44 */ virtual unk32 vfunc_44(unk32 param1) const; + /* 48 */ virtual unk32 vfunc_48(unk32 param1) const; + /* 4c */ virtual s32 vfunc_4c() const; /* 50 */ + + Vec3p *GetPlayerPos(); + void func_ov000_020be99c(Vec3p *param1); + void func_ov000_020be9e4(s32 param1, s32 param2, s32 param3, s16 param4); + u16 GetAmmo(); }; diff --git a/include/Player/EquipShield.hpp b/include/Player/EquipShield.hpp index b83a5557..9da2599d 100644 --- a/include/Player/EquipShield.hpp +++ b/include/Player/EquipShield.hpp @@ -20,17 +20,17 @@ private: public: EquipShield(); - /* 00 */ virtual void vfunc_00() override; // func_ov00_020c06d4 - /* 04 */ virtual ~EquipShield() override; // func_ov04_0210bc94 + /* 00 */ virtual void vfunc_00() override; + /* 04 */ virtual ~EquipShield() override; /* 0c */ virtual ItemFlag GetId() const override; - /* 10 */ virtual void vfunc_10() override; // func_ov00_020c076c - + /* 10 */ virtual void vfunc_10() override; /* 14 */ virtual bool IsUsable(unk32 param1) const override; - /* 18 */ virtual void vfunc_18() override; // func_ov00_020c0770 - /* 1c */ virtual void vfunc_1c(); // func_ov00_020c07f8 - - /* 30 */ virtual void vfunc_30() override; // func_ov00_020c0804 - /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov00_020c086c - /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const; // func_ov00_020c0a88 + /* 18 */ virtual void vfunc_18() override; + /* 1c */ virtual void vfunc_1c(); + /* 30 */ virtual void vfunc_30() override; + /* 38 */ virtual void vfunc_38(unk32 param1) override; + /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const; /* 50 */ + + void func_ov000_020c070c(u32 param1, Vec3p *param2, unk32 param3); }; diff --git a/include/Player/EquipSword.hpp b/include/Player/EquipSword.hpp index d7cd47ad..2a48d217 100644 --- a/include/Player/EquipSword.hpp +++ b/include/Player/EquipSword.hpp @@ -43,20 +43,31 @@ private: public: EquipSword(); - /* 00 */ virtual void vfunc_00() override; // func_ov00_020beffc + /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipSword() override; /* 0c */ virtual ItemFlag GetId() const override; - /* 10 */ virtual void vfunc_10() override; // func_ov00_020bf18c + /* 10 */ virtual void vfunc_10() override; - /* 18 */ virtual void vfunc_18() override; // func_ov00_020bf270 - /* 1c */ virtual void vfunc_1c() override; // func_ov00_020bf2d8 + /* 18 */ virtual void vfunc_18() override; + /* 1c */ virtual void vfunc_1c() override; /* 28 */ virtual bool UpdateInUse(unk32 param1) override; - /* 2c */ virtual u32 vfunc_2c() override; // func_ov00_020c0674 - /* 30 */ virtual void vfunc_30() override; // func_ov00_020bf538 - /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov00_020bff94 - /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; // func_ov00_020c01dc + /* 2c */ virtual u32 vfunc_2c() override; + /* 30 */ virtual void vfunc_30() override; + /* 38 */ virtual void vfunc_38(unk32 param1) override; + /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; /* 50 */ + void func_ov000_020bf008(unk16 param1, unk16 param2); + bool func_ov000_020bf028(); + void func_ov000_020bf088(); + void func_ov000_020bf330(); + bool func_ov000_020bf4f4(); static EquipRope *GetEquipRope(); + void func_ov000_020c024c(Vec3p *param1, s32 param2); + void func_ov000_020c0318(Vec3p *param1, s32 param2); + void func_ov000_020c0550(Vec3p *param1, s32 param2); + void func_ov000_020c05ec(s32 param1); + void func_ov000_020c0648(); + void func_ov000_020c06b0(s32 param1); }; diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp index 8c12b911..b617920b 100644 --- a/include/Player/PlayerLinkBase.hpp +++ b/include/Player/PlayerLinkBase.hpp @@ -6,8 +6,10 @@ #include "Actor/ActorManager.hpp" #include "Debug/DebugHierarchy.hpp" +#include "Item/ItemManager.hpp" #include "Player/MotionParams.hpp" #include "Player/PlayerBase.hpp" +#include "Player/PlayerControlData.hpp" typedef s32 PlayerCharacter; enum PlayerCharacter_ { @@ -73,13 +75,83 @@ public: /* 84 */ virtual void ResetUnk_5e(); /* 88 */ - bool func_ov00_020bbd80(s32 param1); - void func_ov00_020bc854(Vec3p *param1); - bool func_ov00_020bce48(ItemId cutsceneItemId); // PlayItemCutscene - bool func_ov00_020bd304(); - bool GongoronCollidesWith(Cylinder *hitbox); - s32 GetGrabActorId(); + void UnequipPotion(); + void ChangeLinkState(s32 index); + void SetLinkSubState(s32 index, unk32 substate); + PlayerControlData *GetPlayerControlData(s32 index); + void GetDistanceTo(Vec3p *vec, q20 *yDist, q20 *xzDist); + bool func_ov000_020bb68c(Vec3p *target); + bool func_ov000_020bb6d4(); + void func_ov000_020bb810(Vec3p *target, unk32 param2); + void func_ov000_020bb8c4(Vec3p *param1); + void TurnTo(Vec3p *target); + void func_ov000_020bb9b0(); + void func_ov000_020bb9c8(); + void func_ov000_020bb9e4(); + bool func_ov000_020bba00(); + bool func_ov000_020bba14(); + bool func_ov000_020bba28(); + void func_ov000_020bba48(); + bool func_ov000_020bbabc(); + bool func_ov000_020bbb18(); + bool func_ov000_020bbb64(); + bool func_ov000_020bbb78(); + void func_ov000_020bbbb8(); + bool func_ov000_020bbbd0(s32 param1, s32 param2); + bool func_ov000_020bbc68(s32 param1); + bool func_ov000_020bbd40(); + bool func_ov000_020bbd60(); + bool func_ov000_020bbd80(s32 param1); + unk32 func_ov000_020bbe94(); + void func_ov000_020bc088(); + ItemManager *GetItemManager(); + void func_ov000_020bc1c8(unk32 param1, unk32 param2, unk32 param3); + bool func_ov000_020bc210(); + void SetVelocity(Vec3p *velocity, bool setAngle); + void func_ov000_020bc280(unk16 param1); + unk32 func_ov000_020bc2d4(unk32 param1); + unk32 func_ov000_020bc320(unk32 param1, unk32 param2, unk32 param3); + void func_ov000_020bc398(unk32 param1, s32 param2); PlayerCharacter GetCurrentCharacter(); + s32 GetHealth(PlayerCharacter character); + void AddHealth(s16 amount, PlayerCharacter character); + void func_ov000_020bc4ac(); + s32 GetStateId(); + s32 func_ov000_020bc520(Vec3p *param1); + unk32 Grab(); + void func_ov000_020bc7e0(unk32 param1); + s32 GetGrabActorId(); + s32 func_ov000_020bc808(); + unk32 func_ov000_020bc84c(); + void func_ov000_020bc854(Vec3p *param1); + void UpdateTilePos(Vec3p *param1, PlayerCharacter character); + void func_ov000_020bc90c(unk32 *param1, s32 param2); + bool func_ov000_020bc960(unk32 param1, unk32 param2, unk32 param3); + bool GongoronCollidesWith(Cylinder *hitbox); + bool func_ov000_020bcc78(); + void func_ov000_020bccc8(); + void func_ov000_020bcdb8(); + void func_ov000_020bcdec(Vec3p *param1, unk16 param2); + bool PlayItemCutscene(ItemId cutsceneItemId); + bool func_ov000_020bcec8(); + bool func_ov000_020bcefc(); + bool func_ov000_020bcf2c(); + bool func_ov000_020bcf50(Vec3p *param1, unk32 param2); + bool func_ov000_020bcf84(Vec3p *param1, Vec3p *param2); + bool func_ov000_020bcfb8(s32 param1); + bool func_ov000_020bd030(unk32 param1); + bool func_ov000_020bd070(unk32 param1); + bool func_ov000_020bd0a8(); + bool func_ov000_020bd0bc(Vec3p *param1, s32 param2); + bool func_ov000_020bd268(); + bool func_ov000_020bd2bc(); + bool func_ov000_020bd304(); + bool func_ov000_020bd318(); + void SetPlayerCharacter(PlayerCharacter character); + bool func_ov000_020bd3b0(unk32 param1, unk32 param2, unk32 param3, unk16 param4); + void SetPosition(Vec3p *position); + void SetAngle(s16 *angle); + bool func_ov000_020bd510(s32 param1, unk32 *param2); }; extern PlayerLinkBase *gPlayerLink; -- cgit v1.2.3 From aecd9545577a9faf3fe8a578a64872aa4b93a4cd Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 25 Jan 2025 14:35:02 +0100 Subject: Move ov004 documentation from Ghidra --- include/Player/HealthManager.hpp | 27 --------------------------- include/Player/LinkStateBase.hpp | 2 ++ include/Player/LinkStateCutscene.hpp | 2 ++ include/Player/LinkStateDamage.hpp | 2 ++ include/Player/LinkStateFollow.hpp | 2 ++ include/Player/LinkStateInteract.hpp | 2 ++ include/Player/LinkStateItem.hpp | 2 ++ include/Player/LinkStateMove.hpp | 2 ++ include/Player/LinkStateRoll.hpp | 2 ++ include/Player/PlayerBase.hpp | 2 ++ include/Player/PlayerControl.hpp | 8 ++++++++ include/Player/PlayerControlData.hpp | 2 ++ include/Player/PlayerLinkBase.hpp | 2 ++ include/Player/PlayerManager.hpp | 34 ++++++++++++++++++++++++++++++++++ 14 files changed, 64 insertions(+), 27 deletions(-) delete mode 100644 include/Player/HealthManager.hpp create mode 100644 include/Player/PlayerManager.hpp (limited to 'include/Player') diff --git a/include/Player/HealthManager.hpp b/include/Player/HealthManager.hpp deleted file mode 100644 index 7e36decc..00000000 --- a/include/Player/HealthManager.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "global.h" -#include "types.h" - -#include "Save/SaveItemManager.hpp" -#include "System/SysNew.hpp" - -class HealthManager : public SysObject { -public: - /* 00 */ u16 mMaxHealth; - /* 02 */ u16 mHealth; - /* 04 */ s16 mMaxShipHealth; - /* 06 */ s16 mShipHealth; - /* 08 */ u16 mSalvageArmHealth; - /* 0a */ s16 mFlags; - /* 0c */ unk16 mUnk_0c; - /* 0e */ unk8 mUnk_0e; - /* 0f */ unk8 mUnk_0f; - /* 10 */ - - void Save(SaveItemManager *save); - void IncreaseMaxHealth(s16 amount); - void UpdateShipMaxHealth(); -}; - -extern HealthManager *gHealthManager; diff --git a/include/Player/LinkStateBase.hpp b/include/Player/LinkStateBase.hpp index f3ac5087..b7f7800a 100644 --- a/include/Player/LinkStateBase.hpp +++ b/include/Player/LinkStateBase.hpp @@ -127,6 +127,8 @@ public: s32 Get_PlayerLinkBase_Unk38(); DebugHierarchy *GetDebugHierarchy0(); DebugHierarchy *GetDebugHierarchy1(); + + LinkStateBase(PlayerLinkBase *link); }; LinkStateBase *GetLinkState(s32 index); diff --git a/include/Player/LinkStateCutscene.hpp b/include/Player/LinkStateCutscene.hpp index 52b40e42..3c343b94 100644 --- a/include/Player/LinkStateCutscene.hpp +++ b/include/Player/LinkStateCutscene.hpp @@ -96,4 +96,6 @@ public: void func_ov000_020b3278(s32 param1, s32 *param2); void func_ov000_020b35d8(s32 param1, s32 param2); void func_ov000_020b38dc(u32 param1, u32 param2); + + LinkStateCutscene(PlayerLinkBase *link); }; diff --git a/include/Player/LinkStateDamage.hpp b/include/Player/LinkStateDamage.hpp index 1c59d90e..0e3a70a7 100644 --- a/include/Player/LinkStateDamage.hpp +++ b/include/Player/LinkStateDamage.hpp @@ -48,4 +48,6 @@ class LinkStateDamage : public LinkStateBase { void func_ov00_020ace90(Vec3p *param1, unk32 param2); void func_ov00_020acfe8(bool param1); + + LinkStateDamage(PlayerLinkBase *link); }; diff --git a/include/Player/LinkStateFollow.hpp b/include/Player/LinkStateFollow.hpp index 09de008e..1d9a5403 100644 --- a/include/Player/LinkStateFollow.hpp +++ b/include/Player/LinkStateFollow.hpp @@ -37,4 +37,6 @@ public: LinkStateCutscene *GetLinkStateCutscene(); bool func_ov00_020a9180(Vec3p *param1); bool func_ov00_020a9210(Vec3p *param1, Actor *param2); + + LinkStateFollow(PlayerLinkBase *link); }; diff --git a/include/Player/LinkStateInteract.hpp b/include/Player/LinkStateInteract.hpp index 55081c8a..d0bacf2d 100644 --- a/include/Player/LinkStateInteract.hpp +++ b/include/Player/LinkStateInteract.hpp @@ -53,4 +53,6 @@ public: void func_ov00_020abc18(ActorRef *ref); bool func_ov00_020abc40(); bool func_ov00_020abc78(ActorRef *ref); + + LinkStateInteract(PlayerLinkBase *link); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index 0c5f4a4d..d9c6659b 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -50,4 +50,6 @@ public: static EquipBombchu *GetEquipBombchu(); static LinkStateMove *GetLinkStateMove(); bool func_ov00_020abf70(); + + LinkStateItem(PlayerLinkBase *link); }; diff --git a/include/Player/LinkStateMove.hpp b/include/Player/LinkStateMove.hpp index e56eee3c..a8f8d846 100644 --- a/include/Player/LinkStateMove.hpp +++ b/include/Player/LinkStateMove.hpp @@ -29,4 +29,6 @@ public: bool func_ov00_020a8f2c(); bool func_ov00_020a8f4c(); + + LinkStateMove(PlayerLinkBase *link); }; diff --git a/include/Player/LinkStateRoll.hpp b/include/Player/LinkStateRoll.hpp index 52b42b43..3185f511 100644 --- a/include/Player/LinkStateRoll.hpp +++ b/include/Player/LinkStateRoll.hpp @@ -43,4 +43,6 @@ public: void func_ov00_020aee58(s16 param1, u16 param2); void func_ov00_020aee84(); bool func_ov00_020aeeac(); + + LinkStateRoll(PlayerLinkBase *link); }; diff --git a/include/Player/PlayerBase.hpp b/include/Player/PlayerBase.hpp index 578f3e27..893335bb 100644 --- a/include/Player/PlayerBase.hpp +++ b/include/Player/PlayerBase.hpp @@ -57,6 +57,8 @@ public: bool EquipCollidesWith(Cylinder *cylinder, ItemFlag equipId); s32 EquipItem_vfunc_2c(); void SetHealth(s16 health); + + PlayerBase(); }; extern PlayerBase *gPlayer; diff --git a/include/Player/PlayerControl.hpp b/include/Player/PlayerControl.hpp index d8db3f65..f2cc23eb 100644 --- a/include/Player/PlayerControl.hpp +++ b/include/Player/PlayerControl.hpp @@ -130,6 +130,14 @@ public: void func_ov000_020b7924(s32 param1); void ApplyTouchWorld(Vec3p *result, unk32 scale); bool func_ov000_020b7d6c(); + + PlayerControl(); + ~PlayerControl(); + static void Create(); + static void Destroy(); + void Init(); + void func_ov004_0210b1d0(); + static void func_ov004_0210b1f0(); }; extern PlayerControl *gPlayerControl; diff --git a/include/Player/PlayerControlData.hpp b/include/Player/PlayerControlData.hpp index f309953c..99802698 100644 --- a/include/Player/PlayerControlData.hpp +++ b/include/Player/PlayerControlData.hpp @@ -102,4 +102,6 @@ public: void func_ov000_020b484c(s32 param1, s32 param2, s32 param3); void func_ov000_020b4944(unk32 param1, u32 param2, s32 param3); void func_ov000_020b4a00(s32 *param1, s32 *param2, s32 *param3, s32 param4); + + PlayerControlData(); }; diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp index b617920b..e167d4d5 100644 --- a/include/Player/PlayerLinkBase.hpp +++ b/include/Player/PlayerLinkBase.hpp @@ -152,6 +152,8 @@ public: void SetPosition(Vec3p *position); void SetAngle(s16 *angle); bool func_ov000_020bd510(s32 param1, unk32 *param2); + + PlayerLinkBase(); }; extern PlayerLinkBase *gPlayerLink; diff --git a/include/Player/PlayerManager.hpp b/include/Player/PlayerManager.hpp new file mode 100644 index 00000000..63d4b303 --- /dev/null +++ b/include/Player/PlayerManager.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Save/SaveItemManager.hpp" +#include "System/SysNew.hpp" + +class PlayerManager : public SysObject { +public: + /* 00 */ u16 mMaxHealth; + /* 02 */ u16 mHealth; + /* 04 */ s16 mMaxShipHealth; + /* 06 */ s16 mShipHealth; + /* 08 */ u16 mSalvageArmHealth; + /* 0a */ s16 mFlags; + /* 0c */ unk16 mUnk_0c; + /* 0e */ unk8 mUnk_0e; + /* 0f */ unk8 mUnk_0f; + /* 10 */ + + void Save(SaveItemManager *save); + void IncreaseMaxHealth(s16 amount); + void UpdateShipMaxHealth(); + + static void Create(); + static void Destroy(); + PlayerManager(); + ~PlayerManager(); + void Init(bool param1); + void func_ov004_02108008(); +}; + +extern PlayerManager *gPlayerManager; -- cgit v1.2.3 From d64b3a041a98712a29ed056aaeaf274fbbd60a22 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 25 Jan 2025 18:44:12 +0100 Subject: Move ov005 documentation from Ghidra --- include/Player/LinkStateBase.hpp | 21 +++++++++++++++++++++ include/Player/LinkStateCutscene.hpp | 24 ++++++++++++++++++++++++ include/Player/LinkStateFollow.hpp | 9 +++++++++ include/Player/LinkStateInteract.hpp | 9 +++++++++ include/Player/LinkStateItem.hpp | 12 ++++++++++++ include/Player/LinkStateMove.hpp | 2 ++ include/Player/LinkStateRoll.hpp | 20 +++++++++++++++++++- include/Player/PlayerLinkBase.hpp | 3 +++ 8 files changed, 99 insertions(+), 1 deletion(-) (limited to 'include/Player') diff --git a/include/Player/LinkStateBase.hpp b/include/Player/LinkStateBase.hpp index b7f7800a..bca6c796 100644 --- a/include/Player/LinkStateBase.hpp +++ b/include/Player/LinkStateBase.hpp @@ -129,6 +129,27 @@ public: DebugHierarchy *GetDebugHierarchy1(); LinkStateBase(PlayerLinkBase *link); + + void func_ov005_0210f768(); + void func_ov005_0210f7b8(); + u32 func_ov005_0210f808(u32 param1, Vec3p *param2, s32 param3); + void func_ov005_02110228(s32 param1, s32 param2, s32 param3, char param4, char param5); + bool func_ov005_0211058c(s32 param1); + void func_ov005_021107fc(); + void func_ov005_0211086c(s32 param1); + void func_ov005_0211097c(unk32 param1, unk8 param2, unk8 param3); + unk32 func_ov005_021109c0(); + void func_ov005_02110b40(s32 param1); + void func_ov005_02110bb4(); + void func_ov005_02110be8(); + void func_ov005_02110e0c(u16 param1, s32 param2); + void func_ov005_02110e28(u16 param1, s32 param2, s32 param3, char param4); + bool func_ov005_02110f50(s32 param1, s32 param2, s32 param3, u32 *param4); + void func_ov005_021112ec(); + bool func_ov005_02111358(); + bool func_ov005_0211139c(); + bool func_ov005_021113b4(); + void func_ov005_021113c4(bool param1); }; LinkStateBase *GetLinkState(s32 index); diff --git a/include/Player/LinkStateCutscene.hpp b/include/Player/LinkStateCutscene.hpp index 3c343b94..b676b035 100644 --- a/include/Player/LinkStateCutscene.hpp +++ b/include/Player/LinkStateCutscene.hpp @@ -98,4 +98,28 @@ public: void func_ov000_020b38dc(u32 param1, u32 param2); LinkStateCutscene(PlayerLinkBase *link); + + void func_ov005_021089c0(); + void func_ov005_021089f4(); + void func_ov005_02108d08(); + void func_ov005_02108e08(); + void func_ov005_02108e8c(); + void func_ov005_02108f38(); + void func_ov005_02108f98(unk32 param1, unk32 param2, unk32 param3); + void func_ov005_021092bc(); + void func_ov005_0210952c(); + void func_ov005_02109588(); + void func_ov005_0210960c(); + void func_ov005_02109650(); + bool PlayItemCutscene(unk32 itemId); + bool func_ov005_02109768(); + void func_ov005_021097b0(s32 param1); + void func_ov005_021099dc(); + bool func_ov005_02109cd0(s32 *param1, s32 param2, unk32 param3); + void func_ov005_02109e84(); + void func_ov005_02109f2c(); + void func_ov005_02109f88(); + void func_ov005_0210a018(); + void func_ov005_0210a06c(); + bool func_ov005_0210a0c0(unk16 param1); }; diff --git a/include/Player/LinkStateFollow.hpp b/include/Player/LinkStateFollow.hpp index 1d9a5403..decf3abb 100644 --- a/include/Player/LinkStateFollow.hpp +++ b/include/Player/LinkStateFollow.hpp @@ -39,4 +39,13 @@ public: bool func_ov00_020a9210(Vec3p *param1, Actor *param2); LinkStateFollow(PlayerLinkBase *link); + + void func_ov005_0210b9c4(); + void func_ov005_0210ba98(); + void func_ov005_0210babc(); + void func_ov005_0210bb50(); + void func_ov005_0210bb98(); + void func_ov005_0210bd70(); + void func_ov005_0210bf50(); + void func_ov005_0210ca80(Vec3p *param1, s32 *param2); }; diff --git a/include/Player/LinkStateInteract.hpp b/include/Player/LinkStateInteract.hpp index d0bacf2d..6151585b 100644 --- a/include/Player/LinkStateInteract.hpp +++ b/include/Player/LinkStateInteract.hpp @@ -55,4 +55,13 @@ public: bool func_ov00_020abc78(ActorRef *ref); LinkStateInteract(PlayerLinkBase *link); + + void func_ov005_0210a690(); + bool func_ov005_0210a714(); + void func_ov005_0210a774(); + void func_ov005_0210a7d4(); + void func_ov005_0210ab1c(); + void func_ov005_0210ad88(); + void func_ov005_0210b2a4(); + void func_ov005_0210b4f4(Vec3p *vec, Actor *actor); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index d9c6659b..4b26a458 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -52,4 +52,16 @@ public: bool func_ov00_020abf70(); LinkStateItem(PlayerLinkBase *link); + + void func_ov005_02105850(); + void func_ov005_02105c28(); + void func_ov005_02105d94(); + void func_ov005_02105dac(); + void func_ov005_02106644(); + void func_ov005_02106700(Vec3p *param1, unk8 *param2); + void func_ov005_02106740(s32 *param1, s32 param2); + bool func_ov005_02106894(s32 param1, s32 param2); + void func_ov005_02106980(unk32 param, s32 param2, s32 *param3); + bool func_ov005_02106a50(); + bool func_ov005_02106bbc(Vec3p *param1, unk32 param2, u32 param3); }; diff --git a/include/Player/LinkStateMove.hpp b/include/Player/LinkStateMove.hpp index a8f8d846..9b369e9c 100644 --- a/include/Player/LinkStateMove.hpp +++ b/include/Player/LinkStateMove.hpp @@ -31,4 +31,6 @@ public: bool func_ov00_020a8f4c(); LinkStateMove(PlayerLinkBase *link); + + void func_ov005_021113d0(); }; diff --git a/include/Player/LinkStateRoll.hpp b/include/Player/LinkStateRoll.hpp index 3185f511..a82dbdf1 100644 --- a/include/Player/LinkStateRoll.hpp +++ b/include/Player/LinkStateRoll.hpp @@ -23,7 +23,7 @@ public: /* 28 */ unk8 mUnk_28[4]; /* 2c */ unk32 mUnk_2c[5]; /* 40 */ unk32 mUnk_40; - /* 44 */ unk32 mUnk_44[0x10]; + /* 44 */ ActorRef mUnk_44[0x8]; /* 84 */ void *mUnk_84; /* 88 */ unk32 mUnk_88; /* 8c */ unk8 mUnk_8c[0xc]; @@ -45,4 +45,22 @@ public: bool func_ov00_020aeeac(); LinkStateRoll(PlayerLinkBase *link); + + s32 func_ov005_02106c80(u32 param1); + void func_ov005_02106cd0(); + void func_ov005_02107208(u32 param1); + void func_ov005_02107214(); + void func_ov005_021073b8(); + void func_ov005_021075bc(); + void func_ov005_02107880(); + void func_ov005_02107954(unk32 param1, unk32 param2, unk32 param3); + void func_ov005_02107b74(unk32 *param1, unk16 param2, unk16 param3); + bool func_ov005_02107bd4(); + bool func_ov005_02107c8c(); + bool func_ov005_02107d74(); + unk32 func_ov005_02107e80(u32 param1, unk32 *param2, unk16 param3, unk8 *param4); + void func_ov005_02107fc0(); + bool func_ov005_02108094(); + void func_ov005_02108188(); + void func_ov005_021081a8(); }; diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp index e167d4d5..8d97676c 100644 --- a/include/Player/PlayerLinkBase.hpp +++ b/include/Player/PlayerLinkBase.hpp @@ -154,6 +154,9 @@ public: bool func_ov000_020bd510(s32 param1, unk32 *param2); PlayerLinkBase(); + + void UpdatePos(unk32 param1); + bool func_ov005_0210eba4(); }; extern PlayerLinkBase *gPlayerLink; -- cgit v1.2.3 From 280801981c42fac7db0420c6536d26f5d05df3aa Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 26 Jan 2025 09:26:12 +0100 Subject: Move ov012 documentation from Ghidra --- .../Player/Battle/PlayerBattleLinkControlData.hpp | 51 ++++++++++++++++++++++ include/Player/PlayerControlData.hpp | 18 ++++---- 2 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 include/Player/Battle/PlayerBattleLinkControlData.hpp (limited to 'include/Player') diff --git a/include/Player/Battle/PlayerBattleLinkControlData.hpp b/include/Player/Battle/PlayerBattleLinkControlData.hpp new file mode 100644 index 00000000..5c895618 --- /dev/null +++ b/include/Player/Battle/PlayerBattleLinkControlData.hpp @@ -0,0 +1,51 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Item/ItemModelLoader.hpp" +#include "Player/PlayerControlData.hpp" +#include "Unknown/UnkStruct_02035064.hpp" + +class PlayerBattleLinkControlData : public PlayerControlData { +public: + /* 000 (base) */ + /* 1a0 */ s32 mUnk_1a0; + /* 1a4 */ unk32 mUnk_1a4; + /* 1a8 */ UnkStruct_02035064 mUnk_1a8; + /* 230 */ unk32 mUnk_230; + /* 234 */ unk32 mUnk_234; + /* 238 */ ItemModelLoader *mUnk_238; + /* 23c */ unk32 mUnk_23c; + /* 240 */ unk32 mUnk_240; + /* 244 */ u8 mUnk_244; + /* 245 */ u8 mUnk_245; + /* 246 */ u8 mUnk_246; + /* 247 */ unk8 mUnk_247; + /* 248 */ + + /* 04 */ ~PlayerBattleLinkControlData() override; + /* 10 */ unk32 GetCharacterId() override; + /* 14 */ void vfunc_14(s32 param1) override; + /* 18 */ void vfunc_18() override; + /* 20 */ void vfunc_20() override; + /* 2c */ void vfunc_2c() override; + /* 30 */ void vfunc_30() override; + /* 38 */ void vfunc_38(s32 param1, s32 param2) override; + /* 3c */ void vfunc_3c(s32 param1, s32 param2) override; + /* 40 */ void vfunc_40(u16 *param1, Vec3p *param2, unk32 param3, char param4) override; + /* 44 */ void vfunc_44(unk32 param1, unk32 *param2, unk32 param3, unk16 param4) override; + /* 4c */ void vfunc_4c(unk32 param1, Vec3p *param2) override; + /* 60 */ void vfunc_60(unk32 param1, unk32 param2, s32 param3) override; + /* 64 */ void vfunc_64(u32 param1) override; + /* 68 */ void vfunc_68(unk32 param1, unk32 param2) override; + /* 6c */ void vfunc_6c(s32 param1, Vec3p *param2) override; + /* 70 */ void vfunc_70(s32 param1) override; + /* 80 */ void vfunc_80(s32 param1) override; + /* 84 */ + + PlayerBattleLinkControlData(); + void func_ov012_0211af70(); + bool func_ov012_0211b9c4(s32 param1, Vec3p *param2); + void func_ov012_0211bb08(s32 param1); +}; diff --git a/include/Player/PlayerControlData.hpp b/include/Player/PlayerControlData.hpp index 99802698..3527810c 100644 --- a/include/Player/PlayerControlData.hpp +++ b/include/Player/PlayerControlData.hpp @@ -62,8 +62,8 @@ public: /* 00 */ virtual void vfunc_00(); /* 04 */ virtual ~PlayerControlData(); /* 0c */ virtual unk32 vfunc_0c(); - /* 10 */ virtual void vfunc_10() = 0; - /* 14 */ virtual void vfunc_14() = 0; + /* 10 */ virtual unk32 GetCharacterId() = 0; + /* 14 */ virtual void vfunc_14(s32 param1) = 0; /* 18 */ virtual void vfunc_18(); /* 1c */ virtual void vfunc_1c(); /* 20 */ virtual void vfunc_20(); @@ -72,21 +72,21 @@ public: /* 2c */ virtual void vfunc_2c(); /* 30 */ virtual void vfunc_30(); /* 34 */ virtual void vfunc_34(); - /* 38 */ virtual void vfunc_38() = 0; - /* 3c */ virtual void vfunc_3c(); - /* 40 */ virtual void vfunc_40(); - /* 44 */ virtual void vfunc_44(); + /* 38 */ virtual void vfunc_38(s32 param1, s32 param2) = 0; + /* 3c */ virtual void vfunc_3c(s32 param1, s32 param2); + /* 40 */ virtual void vfunc_40(u16 *param1, Vec3p *param2, unk32 param3, char param4); + /* 44 */ virtual void vfunc_44(unk32 param1, unk32 *param2, unk32 param3, unk16 param4); /* 48 */ virtual void vfunc_48(unk32 param1, unk32 param2, unk32 param3, s16 param4); - /* 4c */ virtual void vfunc_4c(); + /* 4c */ virtual void vfunc_4c(unk32 param1, Vec3p *param2); /* 50 */ virtual void vfunc_50(); /* 54 */ virtual void vfunc_54(); /* 58 */ virtual void vfunc_58(); /* 5c */ virtual void vfunc_5c(); /* 60 */ virtual void vfunc_60(unk32 param1, unk32 param2, s32 param3); - /* 64 */ virtual void vfunc_64(); + /* 64 */ virtual void vfunc_64(u32 param1); /* 68 */ virtual void vfunc_68(unk32 param1, unk32 param2); /* 6c */ virtual void vfunc_6c(s32 param1, Vec3p *param2); - /* 70 */ virtual void vfunc_70(); + /* 70 */ virtual void vfunc_70(s32 param1); /* 74 */ virtual unk32 vfunc_74(); /* 78 */ virtual unk32 vfunc_78(); /* 7c */ virtual unk32 vfunc_7c(); -- cgit v1.2.3 From 96dd3beb453077749061227cebb40947e110aac1 Mon Sep 17 00:00:00 2001 From: Aetias Date: Fri, 31 Jan 2025 21:38:50 +0100 Subject: Move ov014 documentation from Ghidra --- include/Player/EquipBomb.hpp | 16 ++++++------ include/Player/EquipBombchu.hpp | 36 +++++++++++++++++++-------- include/Player/EquipBoomerang.hpp | 18 ++++++++------ include/Player/EquipBow.hpp | 14 +++++------ include/Player/EquipHammer.hpp | 22 ++++++++-------- include/Player/EquipPotion.hpp | 24 ++++++++---------- include/Player/EquipRope.hpp | 38 ++++++++++++++++++++-------- include/Player/EquipScoop.hpp | 18 +++++++------- include/Player/LinkStateFollow.hpp | 1 + include/Player/PlayerBase.hpp | 2 +- include/Player/PlayerLink.hpp | 51 ++++++++++++++++++++++++++++++++++++++ include/Player/PlayerLinkBase.hpp | 2 +- 12 files changed, 161 insertions(+), 81 deletions(-) create mode 100644 include/Player/PlayerLink.hpp (limited to 'include/Player') diff --git a/include/Player/EquipBomb.hpp b/include/Player/EquipBomb.hpp index 9eb26ec9..4223adde 100644 --- a/include/Player/EquipBomb.hpp +++ b/include/Player/EquipBomb.hpp @@ -15,19 +15,17 @@ private: /* 24 */ public: - EquipBomb(); - - /* 00 */ virtual void vfunc_00() override; // func_ov55_02198d00 + /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipBomb() override; /* 0c */ virtual ItemFlag GetId() const override; - /* 14 */ virtual bool IsUsable(unk32 param1) const override; - /* 18 */ virtual void vfunc_18() override; // func_ov55_02198d8c - - /* 30 */ virtual void vfunc_30() override; // func_ov55_02198da4 - /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov55_2198df8 - /* 50 */ virtual void vfunc_50(); // func_ov14_0213d228 + /* 18 */ virtual void vfunc_18() override; + /* 30 */ virtual void vfunc_30() override; + /* 38 */ virtual void vfunc_38(unk32 param1) override; + /* 50 */ virtual unk32 vfunc_50(); /* 54 */ static void StopUsing(LinkStateItem *param1, unk32 param2); + + EquipBomb(); }; diff --git a/include/Player/EquipBombchu.hpp b/include/Player/EquipBombchu.hpp index 449e6512..eba684fb 100644 --- a/include/Player/EquipBombchu.hpp +++ b/include/Player/EquipBombchu.hpp @@ -2,15 +2,24 @@ #include "types.h" +#include "Actor/Actor.hpp" #include "Player/EquipItem.hpp" +struct EquipBombchu_Unk1 { + /* 0 */ unk8 mUnk_0; + /* 1 */ unk8 mUnk_1; + /* 2 */ + + EquipBombchu_Unk1(); +}; + class EquipBombchu : public EquipItem { private: /* 00 (base) */ /* 09 */ u8 mUnk_09[3]; /* 0c */ u8 mUnk_0c[0x0c]; /* 18 */ u32 mUnk_18; - /* 1c */ void *mUnk_1c; + /* 1c */ EquipBombchu_Unk1 *mUnk_1c; /* 20 */ void *mUnk_20; /* 24 */ u32 mUnk_24; /* 28 */ u32 mUnk_28; @@ -26,19 +35,24 @@ private: /* 4c */ public: - EquipBombchu(); - - /* 00 */ virtual void vfunc_00() override; // func_ov58_02198fc0 + /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipBombchu() override; /* 0c */ virtual ItemFlag GetId() const override; + /* 14 */ virtual bool IsUsable(unk32 param1) const override; + /* 18 */ virtual void vfunc_18() override; + /* 1c */ virtual void vfunc_1c() override; + /* 30 */ virtual void vfunc_30() override; + /* 34 */ virtual void vfunc_34(unk16 *param1) override; + /* 38 */ virtual void vfunc_38(unk32 param1) override; + /* 50 */ bool CheckUsable(unk32 param1) const; - /* 14 */ virtual bool IsUsable(unk32 param1) const override; - /* 18 */ virtual void vfunc_18() override; // func_ov58_0219903c - /* 1c */ virtual void vfunc_1c() override; // func_ov58_02199060 - /* 30 */ virtual void vfunc_30() override; // func_ov58_0219906c - /* 34 */ virtual void vfunc_34(unk16 *param1) override; // func_ov58_0213ecb4 - /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov58_02199170 - /* 50 */ + EquipBombchu(); + void func_ov014_0213eba4(); + void func_ov014_0213ec40(); + void func_ov014_0213ec64(); + Actor *func_ov014_0213ed74(); + void *func_ov014_0213ed94(s32 param1); + void func_ov014_0213eda0(); }; diff --git a/include/Player/EquipBoomerang.hpp b/include/Player/EquipBoomerang.hpp index 1fc97caa..d16b1fe0 100644 --- a/include/Player/EquipBoomerang.hpp +++ b/include/Player/EquipBoomerang.hpp @@ -25,15 +25,19 @@ private: public: /* 04 */ virtual ~EquipBoomerang() override; /* 0c */ virtual ItemFlag GetId() const override; - /* 10 */ virtual void vfunc_10() override; // func_ov14_0213d078 - + /* 10 */ virtual void vfunc_10() override; /* 14 */ virtual bool IsUsable(unk32 param1) const override; - /* 18 */ virtual void vfunc_18() override; // func_ov53_02199064 - /* 1c */ virtual void vfunc_1c() override; // func_ov53_021990d0 - - /* 30 */ virtual void vfunc_30() override; // func_ov53_0219913c - /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov53_02199318 + /* 18 */ virtual void vfunc_18() override; + /* 1c */ virtual void vfunc_1c() override; + /* 28 */ virtual bool UpdateInUse(unk32 param1) override; + /* 30 */ virtual void vfunc_30() override; + /* 38 */ virtual void vfunc_38(unk32 param1) override; /* 50 */ + EquipBoomerang(); + void func_ov014_0213d098(); + void func_ov014_0213d0bc(Vec3p *param1); Actor *GetActor(); + void func_ov014_0213d184(); + void func_ov014_0213d1b0(); }; diff --git a/include/Player/EquipBow.hpp b/include/Player/EquipBow.hpp index d9cf0433..3552fc30 100644 --- a/include/Player/EquipBow.hpp +++ b/include/Player/EquipBow.hpp @@ -15,16 +15,14 @@ private: /* 10 */ public: - EquipBow(); - - /* 00 */ virtual void vfunc_00() override; // func_ov56_02198d00 + /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipBow() override; /* 0c */ virtual ItemFlag GetId() const override; - /* 14 */ virtual bool IsUsable(unk32 param1) const override; - /* 18 */ virtual void vfunc_18() override; // func_ov56_02198d84 - - /* 30 */ virtual void vfunc_30() override; // func_ov56_02198de4 - /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov56_02198df8 + /* 18 */ virtual void vfunc_18() override; + /* 30 */ virtual void vfunc_30() override; + /* 38 */ virtual void vfunc_38(unk32 param1) override; /* 50 */ + + EquipBow(); }; diff --git a/include/Player/EquipHammer.hpp b/include/Player/EquipHammer.hpp index 9d3f0394..76149bee 100644 --- a/include/Player/EquipHammer.hpp +++ b/include/Player/EquipHammer.hpp @@ -21,22 +21,20 @@ private: /* 2c */ public: - EquipHammer(); - /* 04 */ virtual ~EquipHammer() override; /* 0c */ virtual ItemFlag GetId() const override; - /* 10 */ virtual void vfunc_10() override; // func_ov14_0213ee04 - + /* 10 */ virtual void vfunc_10() override; /* 14 */ virtual bool IsUsable(unk32 param1) const override; - /* 18 */ virtual void vfunc_18() override; // func_ov59_02198e3c - /* 1c */ virtual void vfunc_1c() override; // func_ov59_02198e58 - - /* 2c */ virtual u32 vfunc_2c() override; // func_ov59_02198fcc - /* 30 */ virtual void vfunc_30() override; // func_ov59_02198e6c - /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_0v59_02198fc8 - /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; // func_ov14_0213ee10 - /* 4c */ virtual s32 vfunc_4c() const override; // func_ov14_0213eea8 + /* 18 */ virtual void vfunc_18() override; + /* 1c */ virtual void vfunc_1c() override; + /* 2c */ virtual u32 vfunc_2c() override; + /* 30 */ virtual void vfunc_30() override; + /* 38 */ virtual void vfunc_38(unk32 param1) override; + /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; + /* 4c */ virtual s32 vfunc_4c() const override; /* 50 */ static void StopUsing(LinkStateItem *param1); + + EquipHammer(); }; diff --git a/include/Player/EquipPotion.hpp b/include/Player/EquipPotion.hpp index a80c0492..ea7d4434 100644 --- a/include/Player/EquipPotion.hpp +++ b/include/Player/EquipPotion.hpp @@ -12,34 +12,32 @@ private: /* 10 */ public: - EquipPotion(); - - /* 00 */ virtual void vfunc_00() override; // func_ov55_021991a8 + /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipPotion() override; - /* 14 */ virtual bool IsUsable(unk32 param1) const override; - /* 18 */ virtual void vfunc_18() override; // func_ov55_021991ac - /* 1c */ virtual void vfunc_1c() override; // func_ov55_021991b0 - - /* 30 */ virtual void vfunc_30() override; // func_ov55_02199274 - /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_0v55_02199278 + /* 18 */ virtual void vfunc_18() override; + /* 1c */ virtual void vfunc_1c() override; + /* 30 */ virtual void vfunc_30() override; + /* 38 */ virtual void vfunc_38(unk32 param1) override; /* 50 */ + + EquipPotion(); }; class EquipPotionA : public EquipPotion { public: - EquipPotionA(); - /* 04 */ virtual ~EquipPotionA() override; /* 0c */ virtual ItemFlag GetId() const override; /* 50 */ + + EquipPotionA(); }; class EquipPotionB : public EquipPotion { public: - EquipPotionB(); - /* 04 */ virtual ~EquipPotionB() override; /* 0c */ virtual ItemFlag GetId() const override; /* 50 */ + + EquipPotionB(); }; diff --git a/include/Player/EquipRope.hpp b/include/Player/EquipRope.hpp index 906f813b..6b7927b2 100644 --- a/include/Player/EquipRope.hpp +++ b/include/Player/EquipRope.hpp @@ -37,29 +37,47 @@ public: /* a0 */ unk32 mUnk_a0; /* a4 */ - EquipRope(); - /* 04 */ virtual ~EquipRope() override; /* 0c */ virtual ItemFlag GetId() const override; - /* 10 */ virtual void vfunc_10() override; // func_ov14_0213d3a0 - - u16 GetAmmo(); + /* 10 */ virtual void vfunc_10() override; /* 14 */ virtual bool IsUsable(unk32 param1) const override; - /* 18 */ virtual void vfunc_18() override; // func_ov57_021992f4 - /* 1c */ virtual void vfunc_1c() override; // func_ov57_0219935c - - /* 30 */ virtual void vfunc_30() override; // func_ov57_02199744 - /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov57_021998f0 + /* 18 */ virtual void vfunc_18() override; + /* 1c */ virtual void vfunc_1c() override; + /* 30 */ virtual void vfunc_30() override; + /* 38 */ virtual void vfunc_38(unk32 param1) override; /* 50 */ + u16 GetAmmo(); + + EquipRope(); + bool func_ov014_0213d3d4(Vec3p *vec); + void func_ov014_0213d404(unk32 *param1); Actor *func_ov14_0213d420(); s32 func_ov14_0213d440(s32 actorId); s32 func_ov14_0213d480(s32 actorId); + bool func_ov014_0213d4c8(); + bool func_ov014_0213d4ec(unk32 *param1, s32 param2); + s32 func_ov014_0213d594(s32 param1); + bool func_ov014_0213d5d0(unk32 *param1, s32 param2); + s32 func_ov014_0213d63c(s32 param1); + bool func_ov014_0213d684(); + bool func_ov014_0213d6e0(); + bool func_ov014_0213d71c(s32 param1, ActorRef *param2); + bool func_ov014_0213d788(s32 param1); bool func_ov14_0213d81c(s32 index, Vec3p *vec); void func_ov14_0213d91c(s32 index); + bool func_ov014_0213d9ac(); bool func_ov14_0213dadc(s32 index, Cylinder *cylinder); + void func_ov014_0213db34(); + void func_ov014_0213db60(); + void func_ov014_0213dba4(Vec3p *param1); + s32 func_ov014_0213dda0(); s32 func_ov14_0213ddd4(Actor *actor); bool func_ov14_0213defc(Actor *actor); + bool func_ov014_0213dfbc(Cylinder *cylinder, s32 param2, Vec3p *vec); + void func_ov014_0213e144(Vec3p *param1, Vec3p *param2, s32 param3); + bool func_ov014_0213e20c(s32 param1, Vec3p *param2); + bool func_ov014_0213e328(); static void StopUsing(LinkStateItem *param1); }; diff --git a/include/Player/EquipScoop.hpp b/include/Player/EquipScoop.hpp index 8c4694bc..dfc95103 100644 --- a/include/Player/EquipScoop.hpp +++ b/include/Player/EquipScoop.hpp @@ -13,19 +13,19 @@ private: /* c */ public: - /* 00 */ virtual void vfunc_00() override; // func_ov54_02198d00 + /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipScoop() override; /* 0c */ virtual ItemFlag GetId() const override; - /* 14 */ virtual bool IsUsable(unk32 param1) const override; - /* 18 */ virtual void vfunc_18() override; // func_0v54_02198d2c - - /* 30 */ virtual void vfunc_30() override; // func_ov54_02198e04 - /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov54_02198e4c - /* 40 */ virtual unk32 vfunc_40() const override; // func_ov54_02198d30 - /* 44 */ virtual unk32 vfunc_44(unk32 param1) const override; // func_ov54_02198d38 - /* 48 */ virtual unk32 vfunc_48(unk32 param1) const override; // func_ov54_02198d48 + /* 18 */ virtual void vfunc_18() override; + /* 30 */ virtual void vfunc_30() override; + /* 38 */ virtual void vfunc_38(unk32 param1) override; + /* 40 */ virtual unk32 vfunc_40() const override; + /* 44 */ virtual unk32 vfunc_44(unk32 param1) const override; + /* 48 */ virtual unk32 vfunc_48(unk32 param1) const override; /* 50 */ static void StopUsing(LinkStateItem *param1); + + EquipScoop(); }; diff --git a/include/Player/LinkStateFollow.hpp b/include/Player/LinkStateFollow.hpp index decf3abb..add6d456 100644 --- a/include/Player/LinkStateFollow.hpp +++ b/include/Player/LinkStateFollow.hpp @@ -40,6 +40,7 @@ public: LinkStateFollow(PlayerLinkBase *link); + static EquipRope *GetEquipRope(); void func_ov005_0210b9c4(); void func_ov005_0210ba98(); void func_ov005_0210babc(); diff --git a/include/Player/PlayerBase.hpp b/include/Player/PlayerBase.hpp index 893335bb..354e1078 100644 --- a/include/Player/PlayerBase.hpp +++ b/include/Player/PlayerBase.hpp @@ -32,7 +32,7 @@ public: /* 18 */ virtual void vfunc_18() = 0; /* 1c */ virtual void Init() = 0; /* 20 */ virtual void vfunc_20() = 0; - /* 24 */ virtual void vfunc_24() = 0; + /* 24 */ virtual void UpdatePos() = 0; /* 28 */ virtual void vfunc_28(s32 param1) = 0; /* 2c */ virtual void vfunc_2c(s32 param1, unk8 param2) = 0; /* 30 */ virtual bool vfunc_30(s32 param1, Vec3p *param2, s32 param3) = 0; diff --git a/include/Player/PlayerLink.hpp b/include/Player/PlayerLink.hpp new file mode 100644 index 00000000..497672d4 --- /dev/null +++ b/include/Player/PlayerLink.hpp @@ -0,0 +1,51 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "DTCM/UnkStruct_027e0fd4.hpp" +#include "Player/LinkStateCutscene.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 */ s32 GetMaxHealth() override; + /* 04 */ bool vfunc_04() override; + /* 1c */ void Init() override; + /* 24 */ void UpdatePos() override; + /* 2c */ void vfunc_2c(s32 param1, unk8 param2) override; + /* 40 */ void AddHealth(s16 amount) override; + /* 44 */ void vfunc_44() override; + /* 48 */ void vfunc_48() override; + /* 4c */ void vfunc_4c() override; + /* 50 */ ~PlayerLink() override; + /* 68 */ void vfunc_68() override; + /* 6c */ void vfunc_6c() override; + /* 74 */ void vfunc_74() override; + /* 78 */ unk32 vfunc_78() override; + /* 7c */ void vfunc_7c() override; + /* 80 */ void SetUnk_5e() override; + /* 84 */ 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(); +}; diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp index 8d97676c..4732e63f 100644 --- a/include/Player/PlayerLinkBase.hpp +++ b/include/Player/PlayerLinkBase.hpp @@ -53,7 +53,7 @@ public: /* 18 */ void vfunc_18(s32 param1) override; /* 1c */ void Init() override; /* 20 */ void vfunc_20() override; - /* 24 */ void vfunc_24() override; + /* 24 */ void UpdatePos() override; /* 28 */ void vfunc_28(s32 param1) override; /* 2c */ void vfunc_2c(s32 param1, unk8 param2) override; /* 30 */ bool vfunc_30(s32 param1, Vec3p *param2, s32 param3) override; -- cgit v1.2.3 From af8b40be4305f4eee9b2cd1510d1f5d34d41e0b8 Mon Sep 17 00:00:00 2001 From: Aetias Date: Fri, 31 Jan 2025 21:55:23 +0100 Subject: Move ov023 documentation from Ghidra --- include/Player/PlayerLink.hpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'include/Player') diff --git a/include/Player/PlayerLink.hpp b/include/Player/PlayerLink.hpp index 497672d4..08f37469 100644 --- a/include/Player/PlayerLink.hpp +++ b/include/Player/PlayerLink.hpp @@ -4,7 +4,10 @@ #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 { @@ -48,4 +51,15 @@ public: 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(); }; -- cgit v1.2.3 From 6c9b78fc1b7c4954d9f5a4c0edcc1349ab2b55ad Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 1 Feb 2025 00:09:48 +0100 Subject: Move ov053 documentation from Ghidra --- include/Player/EquipBoomerang.hpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'include/Player') diff --git a/include/Player/EquipBoomerang.hpp b/include/Player/EquipBoomerang.hpp index d16b1fe0..39814af4 100644 --- a/include/Player/EquipBoomerang.hpp +++ b/include/Player/EquipBoomerang.hpp @@ -40,4 +40,15 @@ public: Actor *GetActor(); void func_ov014_0213d184(); void func_ov014_0213d1b0(); + + void func_ov053_02199014(); + void func_ov053_02199020(); + s32 func_ov053_0219902c(s32 param1); + void func_ov053_02199038(); + void func_ov053_021990f0(unk16 param1); + bool func_ov053_02199128(s32 *param1); + void func_ov053_02199168(); + void func_ov053_021991ec(); + bool func_ov053_02199410(s32 param1); + bool func_ov053_021994cc(Vec3p *param1); }; -- cgit v1.2.3 From 7c91f608f3219df331e04e01fa2d96757f8ee1e6 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 1 Feb 2025 00:29:38 +0100 Subject: Move ov054 documentation from Ghidra --- include/Player/EquipScoop.hpp | 6 ++++-- include/Player/LinkStateItem.hpp | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'include/Player') diff --git a/include/Player/EquipScoop.hpp b/include/Player/EquipScoop.hpp index dfc95103..82f466e6 100644 --- a/include/Player/EquipScoop.hpp +++ b/include/Player/EquipScoop.hpp @@ -25,7 +25,9 @@ public: /* 48 */ virtual unk32 vfunc_48(unk32 param1) const override; /* 50 */ - static void StopUsing(LinkStateItem *param1); - EquipScoop(); + + s32 func_ov054_02198e08(Vec3p *param1); + bool func_ov054_021980e24(Vec3p *param1); + void func_ov054_02198eec(unk32 param1); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index 4b26a458..104c764c 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -64,4 +64,6 @@ public: void func_ov005_02106980(unk32 param, s32 param2, s32 *param3); bool func_ov005_02106a50(); bool func_ov005_02106bbc(Vec3p *param1, unk32 param2, u32 param3); + + void StopUsingScoop(); }; -- cgit v1.2.3 From 526b6b8d72756c1da47dbe1916a6fda4698e6b36 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 1 Feb 2025 09:44:08 +0100 Subject: Move ov055 documentation from Ghidra --- include/Player/EquipBomb.hpp | 19 ++++++++++++------- include/Player/LinkStateItem.hpp | 6 ++++++ 2 files changed, 18 insertions(+), 7 deletions(-) (limited to 'include/Player') diff --git a/include/Player/EquipBomb.hpp b/include/Player/EquipBomb.hpp index 4223adde..43689dc4 100644 --- a/include/Player/EquipBomb.hpp +++ b/include/Player/EquipBomb.hpp @@ -2,19 +2,24 @@ #include "types.h" +#include "Actor/Actor.hpp" +#include "Actor/ActorRef.hpp" #include "Player/EquipItem.hpp" +#include "Render/ModelRender.hpp" + +#define MAX_BOMB_ACTORS 3 class LinkStateItem; class EquipBomb : public EquipItem { -private: +public: + static ModelRender gModelRender; + /* 00 (base) */ - /* 09 */ unk8 mUnk_09[3]; - /* 0c */ unk32 mUnk_0c; - /* 10 */ unk8 mUnk_10[0x14]; + /* 09 */ unk8 mUnk_09[0x3]; + /* 0c */ ActorRef mBombs[MAX_BOMB_ACTORS]; /* 24 */ -public: /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipBomb() override; /* 0c */ virtual ItemFlag GetId() const override; @@ -25,7 +30,7 @@ public: /* 50 */ virtual unk32 vfunc_50(); /* 54 */ - static void StopUsing(LinkStateItem *param1, unk32 param2); - EquipBomb(); + + Actor *func_ov055_02198e60(); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index 104c764c..a961b4f7 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -66,4 +66,10 @@ public: bool func_ov005_02106bbc(Vec3p *param1, unk32 param2, u32 param3); void StopUsingScoop(); + + void func_ov055_02198f78(); + void StopUsingBomb(s32 param1); + void func_ov055_02199020(); + void func_ov055_021993b8(); + void func_ov055_02199654(); }; -- cgit v1.2.3 From 5cbfdbabc5f7d6c10424b9c3a2dbad1c761a9ea0 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 1 Feb 2025 09:53:43 +0100 Subject: Fill out rest of ov054 --- include/Player/EquipScoop.hpp | 7 ++++--- include/Player/LinkStateItem.hpp | 3 +++ 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'include/Player') diff --git a/include/Player/EquipScoop.hpp b/include/Player/EquipScoop.hpp index 82f466e6..fadbbb24 100644 --- a/include/Player/EquipScoop.hpp +++ b/include/Player/EquipScoop.hpp @@ -3,16 +3,18 @@ #include "types.h" #include "Player/EquipItem.hpp" +#include "Render/ModelRender.hpp" class LinkStateItem; class EquipScoop : public EquipItem { -private: +public: + static ModelRender gModelRender; + /* 0 (base) */ /* 9 */ unk8 mUnk_9[3]; /* c */ -public: /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipScoop() override; /* 0c */ virtual ItemFlag GetId() const override; @@ -29,5 +31,4 @@ public: s32 func_ov054_02198e08(Vec3p *param1); bool func_ov054_021980e24(Vec3p *param1); - void func_ov054_02198eec(unk32 param1); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index a961b4f7..564d656e 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -65,8 +65,11 @@ public: bool func_ov005_02106a50(); bool func_ov005_02106bbc(Vec3p *param1, unk32 param2, u32 param3); + bool func_ov054_02198efc(s32 param1, unk32 param2, u32 param3); + bool func_ov054_021992c8(unk32 param1, unk32 param2, u32 param3); void StopUsingScoop(); + void func_ov054_02198eec(); void func_ov055_02198f78(); void StopUsingBomb(s32 param1); void func_ov055_02199020(); -- cgit v1.2.3 From e6e212279f2e4fbd37cf3ef03850b67952a5c07b Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 1 Feb 2025 10:04:48 +0100 Subject: Move ov056 documentation from Ghidra --- include/Player/EquipBow.hpp | 11 +++++++++-- include/Player/LinkStateItem.hpp | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'include/Player') diff --git a/include/Player/EquipBow.hpp b/include/Player/EquipBow.hpp index 3552fc30..f3037198 100644 --- a/include/Player/EquipBow.hpp +++ b/include/Player/EquipBow.hpp @@ -3,9 +3,13 @@ #include "types.h" #include "Player/EquipItem.hpp" +#include "Render/ModelRender.hpp" class EquipBow : public EquipItem { -private: +public: + static ModelRender gModelRenderBow; + static ModelRender gModelRenderArrow; + /* 00 (base) */ /* 09 */ unk8 mUnk_09; /* 0a */ unk8 mUnk_0a; @@ -14,7 +18,6 @@ private: /* 0d */ unk8 mUnk_0d[3]; /* 10 */ -public: /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipBow() override; /* 0c */ virtual ItemFlag GetId() const override; @@ -25,4 +28,8 @@ public: /* 50 */ EquipBow(); + + bool func_ov056_02198ee8(); + void func_ov056_02198f48(u16 param1); + bool func_ov056_021992f8(); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index 564d656e..be160ae0 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -75,4 +75,8 @@ public: void func_ov055_02199020(); void func_ov055_021993b8(); void func_ov055_02199654(); + + void func_ov056_021990c0(); + void func_ov056_0219911c(); + bool func_ov056_021992f8(); }; -- cgit v1.2.3 From d5376fc903f3677a4f9c97bd3abd85c229f1ceb6 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 2 Feb 2025 11:38:39 +0100 Subject: Add `ActorRope` --- include/Player/EquipRope.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'include/Player') diff --git a/include/Player/EquipRope.hpp b/include/Player/EquipRope.hpp index 6b7927b2..4d3117f6 100644 --- a/include/Player/EquipRope.hpp +++ b/include/Player/EquipRope.hpp @@ -5,6 +5,7 @@ #include "types.h" #include "Actor/ActorRef.hpp" +#include "Actor/Player/ActorRope.hpp" #include "Physics/Cylinder.hpp" #include "Player/EquipItem.hpp" @@ -23,7 +24,7 @@ public: /* 09 */ unk8 mUnk_09; /* 0a */ unk16 mUnk_0a; /* 0c */ unk8 mUnk_0c[4]; - /* 10 */ ActorRef mRef; + /* 10 */ ActorRef mRopeRef; /* 18 */ EquipRope_Unk_18 mUnk_18[2]; /* 50 */ unk8 mUnk_50[0x1a]; /* 6a */ bool mUnk_6a; @@ -52,7 +53,7 @@ public: EquipRope(); bool func_ov014_0213d3d4(Vec3p *vec); void func_ov014_0213d404(unk32 *param1); - Actor *func_ov14_0213d420(); + ActorRope *GetRopeActor(); s32 func_ov14_0213d440(s32 actorId); s32 func_ov14_0213d480(s32 actorId); bool func_ov014_0213d4c8(); -- cgit v1.2.3 From baa870cbc090f56286ae3f2f44cd84ba7165e484 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 2 Feb 2025 12:13:20 +0100 Subject: Move ov057 documentation from Ghidra --- include/Player/EquipRope.hpp | 34 +++++++++++++++++++++++++++++++++- include/Player/LinkStateItem.hpp | 6 ++++++ 2 files changed, 39 insertions(+), 1 deletion(-) (limited to 'include/Player') diff --git a/include/Player/EquipRope.hpp b/include/Player/EquipRope.hpp index 4d3117f6..ba157678 100644 --- a/include/Player/EquipRope.hpp +++ b/include/Player/EquipRope.hpp @@ -13,6 +13,27 @@ struct EquipRope_Unk_18 { /* 00 */ Vec3p vec; /* 0c */ unk8 mUnk_0c[0x10]; /* 1c */ + + bool func_ov057_02198e80(); + void func_ov057_02198fc0(u32 param1); + void func_ov057_02199028(s32 param1); + bool func_ov057_02199104(EquipRope_Unk_18 *other); +}; + +class EquipRope_Unk_02198dd0 { +public: + /* 0 (vtable) */ + /* 4 */ unk32 mUnk_4; + /* 8 */ + + /* 00 */ virtual ~EquipRope_Unk_02198dd0(); + /* 08 */ unk32 vfunc_08(); + /* 0c */ unk32 vfunc_0c(); + /* 10 */ unk32 vfunc_10(s32 *param1); + /* 14 */ unk32 vfunc_14(); + /* 18 */ + + EquipRope_Unk_02198dd0(); }; class Actor; @@ -80,5 +101,16 @@ public: bool func_ov014_0213e20c(s32 param1, Vec3p *param2); bool func_ov014_0213e328(); - static void StopUsing(LinkStateItem *param1); + void func_ov057_021990ec(); + void func_ov057_021990f8(); + bool func_ov057_0219922c(u32 param1); + void func_ov057_021992b4(s32 param1); + bool func_ov057_0219939c(s32 *param1, s32 param2); + bool func_ov057_02199454(s32 param1); + bool func_ov057_021994c0(unk32 *param1); + s32 func_ov057_021996b0(Vec3p *param1); + void func_ov057_02199ad8(); + void func_ov057_02199c78(); + void func_ov057_02199d54(); + void func_ov057_02199e24(); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index be160ae0..f8c424b2 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -79,4 +79,10 @@ public: void func_ov056_021990c0(); void func_ov056_0219911c(); bool func_ov056_021992f8(); + + void func_ov057_02199e64(); + void func_ov057_02199edc(); + void func_ov057_0219a208(); + void StopUsingRope(); + bool func_ov057_0219a364(); }; -- cgit v1.2.3 From 7aa86eafe5615f21bd6c8092a2c7ed0ebbd7018f Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 2 Feb 2025 12:52:38 +0100 Subject: Move ov058 documentation from Ghidra --- include/Player/EquipBombchu.hpp | 47 ++++++++++++++++++++++++++++++++-------- include/Player/LinkStateItem.hpp | 3 +++ 2 files changed, 41 insertions(+), 9 deletions(-) (limited to 'include/Player') diff --git a/include/Player/EquipBombchu.hpp b/include/Player/EquipBombchu.hpp index eba684fb..c2e924b5 100644 --- a/include/Player/EquipBombchu.hpp +++ b/include/Player/EquipBombchu.hpp @@ -4,6 +4,8 @@ #include "Actor/Actor.hpp" #include "Player/EquipItem.hpp" +#include "Render/ModelRender.hpp" +#include "Unknown/UnkStruct_ov000_020beba8.hpp" struct EquipBombchu_Unk1 { /* 0 */ unk8 mUnk_0; @@ -13,20 +15,38 @@ struct EquipBombchu_Unk1 { EquipBombchu_Unk1(); }; +class EquipBombchu_Unk_02198d00 : public UnkStruct_ov000_020beba8 { +public: + /* 0 (base) */ + /* c */ + + /* 00 */ virtual ~EquipBombchu_Unk_02198d00() override; + /* 08 */ virtual void vfunc_08(unk16 *param1) override; + /* 0c */ virtual void vfunc_0c(unk16 *param1) override; + /* 10 */ virtual void vfunc_10(s32 *param1) override; + /* 14 */ virtual void vfunc_14(u16 *param1) override; + /* 1c */ + + inline EquipBombchu_Unk_02198d00() : + UnkStruct_ov000_020beba8(3) {} +}; + class EquipBombchu : public EquipItem { -private: +public: + static ModelRender gModelRenderBombchu; + static ModelRender gModelRenderBombchuPt; + /* 00 (base) */ /* 09 */ u8 mUnk_09[3]; - /* 0c */ u8 mUnk_0c[0x0c]; + /* 0c */ ActorRef mUnk_0c; + /* 0c */ u8 mUnk_14[0x4]; /* 18 */ u32 mUnk_18; /* 1c */ EquipBombchu_Unk1 *mUnk_1c; - /* 20 */ void *mUnk_20; - /* 24 */ u32 mUnk_24; - /* 28 */ u32 mUnk_28; + /* 20 */ Vec3p mUnk_20; /* 2c */ void *mUnk_2c; /* 30 */ u32 mUnk_30; /* 34 */ u32 mUnk_34; - /* 38 */ u8 mUnk_38[0xc]; + /* 38 */ Vec3p mUnk_38; /* 44 */ u16 mUnk_44; /* 46 */ u8 mUnk_46; /* 47 */ char mUnk_47; @@ -34,7 +54,6 @@ private: /* 49 */ unk8 mUnk_49[3]; /* 4c */ -public: /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipBombchu() override; /* 0c */ virtual ItemFlag GetId() const override; @@ -46,8 +65,6 @@ public: /* 38 */ virtual void vfunc_38(unk32 param1) override; /* 50 */ - bool CheckUsable(unk32 param1) const; - EquipBombchu(); void func_ov014_0213eba4(); void func_ov014_0213ec40(); @@ -55,4 +72,16 @@ public: Actor *func_ov014_0213ed74(); void *func_ov014_0213ed94(s32 param1); void func_ov014_0213eda0(); + + void func_ov058_02199220(); + void func_ov058_02199228(); + void func_ov058_02199264(); + void func_ov058_0219926c(); + bool CheckUsable(unk32 param1) const; + Actor *func_ov058_02199400(); + bool func_ov058_02199498(Vec3p *vec); + void func_ov058_02199ef0(unk16 param1); + void func_ov058_02199fd8(u32 param1); + unk32 func_ov058_0219a084(unk16 param1); + bool func_ov058_0219a3b4(unk16 param1); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index f8c424b2..6946f736 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -85,4 +85,7 @@ public: void func_ov057_0219a208(); void StopUsingRope(); bool func_ov057_0219a364(); + + void func_ov058_0219a454(); + void func_ov058_0219a47c(); }; -- cgit v1.2.3 From f6bd180b8b4e7f7320dc6c86ad3c888215a95f09 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 2 Feb 2025 13:09:35 +0100 Subject: Move ov059 documentation from Ghidra --- include/Player/EquipHammer.hpp | 11 ++++++++--- include/Player/LinkStateItem.hpp | 5 +++++ 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'include/Player') diff --git a/include/Player/EquipHammer.hpp b/include/Player/EquipHammer.hpp index 76149bee..27e046c5 100644 --- a/include/Player/EquipHammer.hpp +++ b/include/Player/EquipHammer.hpp @@ -10,7 +10,7 @@ class EquipHammer : public EquipItem { private: /* 00 (base) */ /* 09 */ unk8 mUnk_09[3]; - /* 0c */ unk8 mUnk_0c[0xc]; + /* 0c */ Vec3p mUnk_0c; /* 18 */ unk32 mUnk_18; /* 1c */ unk8 mUnk_1c; /* 1d */ unk8 mUnk_1d; @@ -34,7 +34,12 @@ public: /* 4c */ virtual s32 vfunc_4c() const override; /* 50 */ - static void StopUsing(LinkStateItem *param1); - EquipHammer(); + + void func_ov059_02198e90(); + bool func_ov059_02198ebc(); + bool func_ov059_02198ed4(); + void func_ov059_02198f10(Vec3p *vec, unk32 param2, s32 param3); + void func_ov059_02198fa8(unk32 param1); + bool func_ov059_02198fe0(); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index 6946f736..cba602f8 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -88,4 +88,9 @@ public: void func_ov058_0219a454(); void func_ov058_0219a47c(); + + void func_ov059_02198ffc(); + void func_ov059_0219907c(); + void func_ov059_021990a4(); + void StopUsingHammer(); }; -- cgit v1.2.3 From 2bd1bbd10b1ba5a595372a3313e80e4274a4e912 Mon Sep 17 00:00:00 2001 From: Aetias Date: Mon, 3 Feb 2025 23:43:43 +0100 Subject: Declare all overriden virtual functions as `virtual` --- .../Player/Battle/PlayerBattleLinkControlData.hpp | 36 +++++++++++----------- include/Player/LinkStateCutscene.hpp | 8 ++--- include/Player/PlayerLink.hpp | 34 ++++++++++---------- include/Player/PlayerLinkBase.hpp | 32 +++++++++---------- 4 files changed, 55 insertions(+), 55 deletions(-) (limited to 'include/Player') diff --git a/include/Player/Battle/PlayerBattleLinkControlData.hpp b/include/Player/Battle/PlayerBattleLinkControlData.hpp index 5c895618..f3f9deaf 100644 --- a/include/Player/Battle/PlayerBattleLinkControlData.hpp +++ b/include/Player/Battle/PlayerBattleLinkControlData.hpp @@ -24,24 +24,24 @@ public: /* 247 */ unk8 mUnk_247; /* 248 */ - /* 04 */ ~PlayerBattleLinkControlData() override; - /* 10 */ unk32 GetCharacterId() override; - /* 14 */ void vfunc_14(s32 param1) override; - /* 18 */ void vfunc_18() override; - /* 20 */ void vfunc_20() override; - /* 2c */ void vfunc_2c() override; - /* 30 */ void vfunc_30() override; - /* 38 */ void vfunc_38(s32 param1, s32 param2) override; - /* 3c */ void vfunc_3c(s32 param1, s32 param2) override; - /* 40 */ void vfunc_40(u16 *param1, Vec3p *param2, unk32 param3, char param4) override; - /* 44 */ void vfunc_44(unk32 param1, unk32 *param2, unk32 param3, unk16 param4) override; - /* 4c */ void vfunc_4c(unk32 param1, Vec3p *param2) override; - /* 60 */ void vfunc_60(unk32 param1, unk32 param2, s32 param3) override; - /* 64 */ void vfunc_64(u32 param1) override; - /* 68 */ void vfunc_68(unk32 param1, unk32 param2) override; - /* 6c */ void vfunc_6c(s32 param1, Vec3p *param2) override; - /* 70 */ void vfunc_70(s32 param1) override; - /* 80 */ void vfunc_80(s32 param1) override; + /* 04 */ virtual ~PlayerBattleLinkControlData() override; + /* 10 */ virtual unk32 GetCharacterId() override; + /* 14 */ virtual void vfunc_14(s32 param1) override; + /* 18 */ virtual void vfunc_18() override; + /* 20 */ virtual void vfunc_20() override; + /* 2c */ virtual void vfunc_2c() override; + /* 30 */ virtual void vfunc_30() override; + /* 38 */ virtual void vfunc_38(s32 param1, s32 param2) override; + /* 3c */ virtual void vfunc_3c(s32 param1, s32 param2) override; + /* 40 */ virtual void vfunc_40(u16 *param1, Vec3p *param2, unk32 param3, char param4) override; + /* 44 */ virtual void vfunc_44(unk32 param1, unk32 *param2, unk32 param3, unk16 param4) override; + /* 4c */ virtual void vfunc_4c(unk32 param1, Vec3p *param2) override; + /* 60 */ virtual void vfunc_60(unk32 param1, unk32 param2, s32 param3) override; + /* 64 */ virtual void vfunc_64(u32 param1) override; + /* 68 */ virtual void vfunc_68(unk32 param1, unk32 param2) override; + /* 6c */ virtual void vfunc_6c(s32 param1, Vec3p *param2) override; + /* 70 */ virtual void vfunc_70(s32 param1) override; + /* 80 */ virtual void vfunc_80(s32 param1) override; /* 84 */ PlayerBattleLinkControlData(); diff --git a/include/Player/LinkStateCutscene.hpp b/include/Player/LinkStateCutscene.hpp index b676b035..224350fd 100644 --- a/include/Player/LinkStateCutscene.hpp +++ b/include/Player/LinkStateCutscene.hpp @@ -14,10 +14,10 @@ public: /* 20 */ unk32 mUnk_20; /* 24 */ - /* 00 */ ~UnkStruct_ov004_0210abb8() override; - /* 08 */ void vfunc_08(unk32 param1) override; - /* 24 */ void vfunc_24(unk32 param1) override; - /* 2c */ unk32 vfunc_2c(s32 param1) override; + /* 00 */ virtual ~UnkStruct_ov004_0210abb8() override; + /* 08 */ virtual void vfunc_08(unk32 param1) override; + /* 24 */ virtual void vfunc_24(unk32 param1) override; + /* 2c */ virtual unk32 vfunc_2c(s32 param1) override; /* 34 */ }; diff --git a/include/Player/PlayerLink.hpp b/include/Player/PlayerLink.hpp index 08f37469..51429cea 100644 --- a/include/Player/PlayerLink.hpp +++ b/include/Player/PlayerLink.hpp @@ -21,23 +21,23 @@ public: /* 81 */ unk8 mUnk_81[0x3]; /* 84 */ - /* 00 */ s32 GetMaxHealth() override; - /* 04 */ bool vfunc_04() override; - /* 1c */ void Init() override; - /* 24 */ void UpdatePos() override; - /* 2c */ void vfunc_2c(s32 param1, unk8 param2) override; - /* 40 */ void AddHealth(s16 amount) override; - /* 44 */ void vfunc_44() override; - /* 48 */ void vfunc_48() override; - /* 4c */ void vfunc_4c() override; - /* 50 */ ~PlayerLink() override; - /* 68 */ void vfunc_68() override; - /* 6c */ void vfunc_6c() override; - /* 74 */ void vfunc_74() override; - /* 78 */ unk32 vfunc_78() override; - /* 7c */ void vfunc_7c() override; - /* 80 */ void SetUnk_5e() override; - /* 84 */ void ResetUnk_5e() override; + /* 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 */ diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp index 4732e63f..2a208365 100644 --- a/include/Player/PlayerLinkBase.hpp +++ b/include/Player/PlayerLinkBase.hpp @@ -45,22 +45,22 @@ public: /* 6c */ DebugHierarchy *mDebugHierarchy_2; /* 70 */ - /* 00 */ s32 GetMaxHealth() override; - /* 08 */ ItemFlag GetEquipId() override; - /* 0c */ bool CanMove() override; - /* 10 */ void vfunc_10(Cylinder *param1) override; - /* 14 */ void vfunc_14(Cylinder *param1) override; - /* 18 */ void vfunc_18(s32 param1) override; - /* 1c */ void Init() override; - /* 20 */ void vfunc_20() override; - /* 24 */ void UpdatePos() override; - /* 28 */ void vfunc_28(s32 param1) override; - /* 2c */ void vfunc_2c(s32 param1, unk8 param2) override; - /* 30 */ bool vfunc_30(s32 param1, Vec3p *param2, s32 param3) override; - /* 34 */ bool Teleport(Vec3p *pos, s16 angle, unk32 param3, bool param4, bool param5) override; - /* 38 */ bool TeleportToEntrance(unk32 entranceId, bool param2) override; - /* 3c */ bool TeleportToLastEntrance(bool param1) override; - /* 50 */ ~PlayerLinkBase() override; + /* 00 */ virtual s32 GetMaxHealth() override; + /* 08 */ virtual ItemFlag GetEquipId() override; + /* 0c */ virtual bool CanMove() override; + /* 10 */ virtual void vfunc_10(Cylinder *param1) override; + /* 14 */ virtual void vfunc_14(Cylinder *param1) override; + /* 18 */ virtual void vfunc_18(s32 param1) override; + /* 1c */ virtual void Init() override; + /* 20 */ virtual void vfunc_20() override; + /* 24 */ virtual void UpdatePos() override; + /* 28 */ virtual void vfunc_28(s32 param1) override; + /* 2c */ virtual void vfunc_2c(s32 param1, unk8 param2) override; + /* 30 */ virtual bool vfunc_30(s32 param1, Vec3p *param2, s32 param3) override; + /* 34 */ virtual bool Teleport(Vec3p *pos, s16 angle, unk32 param3, bool param4, bool param5) override; + /* 38 */ virtual bool TeleportToEntrance(unk32 entranceId, bool param2) override; + /* 3c */ virtual bool TeleportToLastEntrance(bool param1) override; + /* 50 */ virtual ~PlayerLinkBase() override; /* 58 */ virtual bool vfunc_58(); /* 5c */ virtual bool vfunc_5c(); /* 60 */ virtual bool vfunc_60(); -- cgit v1.2.3