summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2025-01-31 21:38:50 +0100
committerAetias <aetias@outlook.com>2025-01-31 21:38:50 +0100
commit96dd3beb453077749061227cebb40947e110aac1 (patch)
treec05c2cd0702b67fbd33a8c17381680a3a6ac61cf /include
parent280801981c42fac7db0420c6536d26f5d05df3aa (diff)
Move ov014 documentation from Ghidra
Diffstat (limited to 'include')
-rw-r--r--include/Actor/ActorType.hpp4
-rw-r--r--include/Actor/Player/ActorArrow.hpp63
-rw-r--r--include/Actor/Player/ActorBlast.hpp59
-rw-r--r--include/Actor/Player/ActorBomb.hpp73
-rw-r--r--include/Player/EquipBomb.hpp16
-rw-r--r--include/Player/EquipBombchu.hpp36
-rw-r--r--include/Player/EquipBoomerang.hpp18
-rw-r--r--include/Player/EquipBow.hpp14
-rw-r--r--include/Player/EquipHammer.hpp22
-rw-r--r--include/Player/EquipPotion.hpp24
-rw-r--r--include/Player/EquipRope.hpp38
-rw-r--r--include/Player/EquipScoop.hpp18
-rw-r--r--include/Player/LinkStateFollow.hpp1
-rw-r--r--include/Player/PlayerBase.hpp2
-rw-r--r--include/Player/PlayerLink.hpp51
-rw-r--r--include/Player/PlayerLinkBase.hpp2
-rw-r--r--include/Unknown/UnkStruct_ov000_020beba8.hpp22
17 files changed, 380 insertions, 83 deletions
diff --git a/include/Actor/ActorType.hpp b/include/Actor/ActorType.hpp
index e9dc8318..0f711f0a 100644
--- a/include/Actor/ActorType.hpp
+++ b/include/Actor/ActorType.hpp
@@ -28,8 +28,9 @@ enum ActorTypeId_ {
ActorTypeId_Heart = 'HART',
ActorTypeId_Rupee = 'RUPY',
- ActorTypeId_Bomb = 'BOMB',
ActorTypeId_Arrow = 'ARRW',
+ ActorTypeId_Blast = 'BLST',
+ ActorTypeId_Bomb = 'BOMB',
ActorTypeId_PlayerDummy = 'PLDM',
ActorTypeId_PushBlock = 'PSBL',
@@ -66,7 +67,6 @@ enum ActorTypeId_ {
ActorTypeId_BIGR = 'BIGR',
ActorTypeId_BKEY = 'BKEY',
- ActorTypeId_BLST = 'BLST',
ActorTypeId_BMRN = 'BMRN',
ActorTypeId_BMTY = 'BMTY',
ActorTypeId_BTRF = 'BTRF',
diff --git a/include/Actor/Player/ActorArrow.hpp b/include/Actor/Player/ActorArrow.hpp
new file mode 100644
index 00000000..031e35cc
--- /dev/null
+++ b/include/Actor/Player/ActorArrow.hpp
@@ -0,0 +1,63 @@
+#pragma once
+
+#include "global.h"
+#include "nds/math.h"
+#include "types.h"
+
+#include "Actor/Actor.hpp"
+#include "Actor/ActorType.hpp"
+#include "Player/EquipRope.hpp"
+
+class ActorArrow : public Actor {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 158 */ Vec3p mUnk_158;
+ /* 164 */ ActorRef mUnk_164;
+ /* 16c */ unk32 mUnk_16c;
+ /* 170 */ unk8 mUnk_170[0x14];
+ /* 184 */ void *mUnk_184;
+ /* 188 */ unk8 mUnk_188[0x4];
+ /* 18c */ s32 mUnk_18c;
+ /* 190 */ s32 mUnk_190;
+ /* 194 */ s32 mUnk_194;
+ /* 198 */ s32 mUnk_198;
+ /* 19c */ unk32 mUnk_19c;
+ /* 1a0 */ unk32 mSpeed;
+ /* 1a4 */ unk32 mUnk_1a4;
+ /* 1a8 */ s32 mUnk_1a8;
+ /* 1ac */ unk16 mUnk_1ac;
+ /* 1ae */ s16 mUnk_1ae;
+ /* 1b0 */ s16 mUnk_1b0;
+ /* 1b2 */ unk16 mUnk_1b2;
+ /* 1b4 */ unk8 mUnk_1b4[0x3];
+ /* 1b7 */ bool mUnk_1b7;
+ /* 1b8 */
+
+ /* 00 */ ~ActorArrow() override;
+ /* 08 */ bool vfunc_08() override;
+ /* 10 */ void vfunc_10(u32 param1) override;
+ /* 14 */ void vfunc_14(u32 param1) override;
+ /* 18 */ void vfunc_18(u32 param1) override;
+ /* 20 */ void vfunc_20(bool param1) override;
+ /* 44 */ bool CollidesWith(Actor *other) override;
+ /* 48 */ bool vfunc_48(Knockback *param1) override;
+ /* b4 */
+
+ static ActorArrow *Create();
+ static void func_ov014_0211fd80(unk32 param1);
+ static void func_ov014_0211fd90();
+ ActorArrow();
+ void func_ov014_021200d4();
+ void func_ov014_02120118();
+ bool func_ov014_02120180();
+ static EquipRope *GetEquipRope();
+ void func_ov014_021207b8(ActorRef *ref, s32 param2, s32 param3);
+ void func_ov014_02120998(ActorRef *ref, q20 x, q20 y, q20 z, s16 param5);
+ void func_ov014_02120ac4(unk32 param1, bool param2);
+ void func_ov014_02120c98(Vec3p *param1);
+ void func_ov014_02120d58();
+ void func_ov014_02120da8();
+ bool func_ov014_02120dec(unk32 param1);
+};
diff --git a/include/Actor/Player/ActorBlast.hpp b/include/Actor/Player/ActorBlast.hpp
new file mode 100644
index 00000000..c7148755
--- /dev/null
+++ b/include/Actor/Player/ActorBlast.hpp
@@ -0,0 +1,59 @@
+#pragma once
+
+#include "global.h"
+#include "nds/math.h"
+#include "types.h"
+
+#include "Actor/Actor.hpp"
+#include "Actor/ActorType.hpp"
+#include "Unknown/UnkStruct_ov000_020beba8.hpp"
+
+class ActorBlast : public Actor {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 158 */ unk8 mUnk_158[0x4];
+ /* 15c */ s32 mUnk_15c;
+ /* 160 */ s32 mUnk_160;
+ /* 164 */
+
+ /* 00 */ ~ActorBlast() override;
+ /* 08 */ bool vfunc_08() override;
+ /* 14 */ void vfunc_14(u32 param1) override;
+ /* 18 */ void vfunc_18(u32 param1) override;
+ /* b4 */
+
+ static ActorBlast *Create();
+ ActorBlast();
+};
+
+class ActorBlast_Unk1 : public UnkStruct_ov000_020beba8 {
+ /* 00 (base) */
+ /* 0c */ ActorBlast *mBlast;
+ /* 10 */ Vec3p mUnk_10;
+ /* 1c */ unk8 mUnk_1c[0x18];
+ /* 34 */ unk16 mUnk_34;
+ /* 36 */ unk16 mUnk_36;
+ /* 38 */ unk16 mUnk_38;
+ /* 3a */ unk16 mUnk_3a;
+ /* 3c */ unk16 mUnk_3c;
+ /* 3e */ unk8 mUnk_3e[0x20];
+ /* 5e */ unk8 mUnk_5e;
+ /* 5f */ unk8 mUnk_5f;
+ /* 60 */ unk8 mUnk_60;
+ /* 61 */ unk8 mUnk_61;
+ /* 62 */ unk8 mUnk_62[0x6];
+ /* 68 */ unk8 mUnk_68;
+ /* 69 */ unk8 mUnk_69;
+ /* 6a */ unk8 mUnk_6a;
+ /* 6b */ unk8 mUnk_6b;
+ /* 6c */ unk8 mUnk_6c;
+ /* 6d */ unk8 mUnk_6d;
+ /* 6e */ unk8 mUnk_6e[0x2];
+ /* 70 */
+
+ /* 00 */ virtual ~ActorBlast_Unk1();
+ /* 0c */ virtual void vfunc_0c(s32 *param1);
+ /* 18 */
+};
diff --git a/include/Actor/Player/ActorBomb.hpp b/include/Actor/Player/ActorBomb.hpp
new file mode 100644
index 00000000..d2ba402c
--- /dev/null
+++ b/include/Actor/Player/ActorBomb.hpp
@@ -0,0 +1,73 @@
+#pragma once
+
+#include "global.h"
+#include "nds/math.h"
+#include "types.h"
+
+#include "Actor/Actor.hpp"
+#include "Actor/ActorType.hpp"
+#include "Unknown/UnkStruct_ov000_020beba8.hpp"
+
+class ActorBomb_Unk1 : public UnkStruct_ov000_020beba8 {
+public:
+ /* 00 (base) */
+ /* 0c */ unk32 mUnk_0c;
+ /* 10 */
+
+ /* 00 */ ~ActorBomb_Unk1() override;
+ /* 08 */ void vfunc_08(unk16 *param1) override;
+ /* 0c */ void vfunc_0c(s32 *param1) override;
+ /* 18 */
+};
+
+class ActorBomb_Unk2 {
+ /* 0 */ unk32 mUnk_0;
+ /* 4 */ unk32 mUnk_4;
+ /* 8 */ unk32 mUnk_8;
+ /* c */
+
+ ActorBomb_Unk2();
+ ~ActorBomb_Unk2();
+};
+
+class ActorBomb : public Actor {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 158 */ unk8 mUnk_158[0x7c];
+ /* 1c4 */ unk32 mUnk_1c4;
+ /* 1c8 */ void *mUnk_1c8;
+ /* 1cc */ unk8 mUnk_1cc[0x24];
+ /* 230 */ unk32 mUnk_230;
+ /* 234 */ unk32 mUnk_234;
+ /* 238 */ unk8 mUnk_238[0x4];
+ /* 23c */ unk32 mUnk_23c;
+ /* 240 */ unk32 mUnk_240;
+ /* 244 */ unk32 mUnk_244;
+ /* 248 */ unk8 mUnk_248[0xc];
+ /* 254 */ unk32 mUnk_254;
+ /* 258 */ unk32 mUnk_258;
+ /* 25c */ unk32 mUnk_25c;
+ /* 260 */ unk32 mUnk_260;
+ /* 264 */ unk8 mUnk_264[0x8];
+ /* 26c */
+
+ /* 00 */ ~ActorBomb() override;
+ /* 08 */ bool vfunc_08() override;
+ /* 14 */ void vfunc_14(u32 param1) override;
+ /* 18 */ void vfunc_18(u32 param1) override;
+ /* 20 */ void vfunc_20(bool param1) override;
+ /* 54 */ void vfunc_54() override;
+ /* 5c */ bool SetVelocity(Vec3p *vel) override;
+ /* b4 */
+
+ static ActorBomb *Create();
+ ActorBomb();
+ bool func_ov014_02122bb8(s32 param1);
+ bool func_ov014_02122e48(unk32 *param1);
+ bool func_ov014_02122e7c();
+ bool func_ov014_02122e98();
+ bool func_ov014_02122eb8();
+ bool func_ov014_02122ed4();
+};
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;
diff --git a/include/Unknown/UnkStruct_ov000_020beba8.hpp b/include/Unknown/UnkStruct_ov000_020beba8.hpp
new file mode 100644
index 00000000..5edcbe59
--- /dev/null
+++ b/include/Unknown/UnkStruct_ov000_020beba8.hpp
@@ -0,0 +1,22 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+class UnkStruct_ov000_020beba8 {
+public:
+ /* 0 (vtable) */
+ /* 4 */ unk32 mUnk_4;
+ /* 8 */ unk32 mUnk_8;
+ /* c */
+
+ /* 00 */ virtual ~UnkStruct_ov000_020beba8();
+ /* 04 */ virtual void vfunc_04(unk16 *param1);
+ /* 08 */ virtual void vfunc_08(unk16 *param1);
+ /* 0c */ virtual void vfunc_0c(s32 *param1);
+ /* 10 */ virtual void vfunc_10(u16 *param1);
+ /* 14 */ virtual void vfunc_14(s32 *param1);
+ /* 18 */
+
+ UnkStruct_ov000_020beba8(unk32 param1);
+};