diff options
| author | Aetias <aetias@outlook.com> | 2025-01-31 21:38:50 +0100 |
|---|---|---|
| committer | Aetias <aetias@outlook.com> | 2025-01-31 21:38:50 +0100 |
| commit | 96dd3beb453077749061227cebb40947e110aac1 (patch) | |
| tree | c05c2cd0702b67fbd33a8c17381680a3a6ac61cf /include | |
| parent | 280801981c42fac7db0420c6536d26f5d05df3aa (diff) | |
Move ov014 documentation from Ghidra
Diffstat (limited to 'include')
| -rw-r--r-- | include/Actor/ActorType.hpp | 4 | ||||
| -rw-r--r-- | include/Actor/Player/ActorArrow.hpp | 63 | ||||
| -rw-r--r-- | include/Actor/Player/ActorBlast.hpp | 59 | ||||
| -rw-r--r-- | include/Actor/Player/ActorBomb.hpp | 73 | ||||
| -rw-r--r-- | include/Player/EquipBomb.hpp | 16 | ||||
| -rw-r--r-- | include/Player/EquipBombchu.hpp | 36 | ||||
| -rw-r--r-- | include/Player/EquipBoomerang.hpp | 18 | ||||
| -rw-r--r-- | include/Player/EquipBow.hpp | 14 | ||||
| -rw-r--r-- | include/Player/EquipHammer.hpp | 22 | ||||
| -rw-r--r-- | include/Player/EquipPotion.hpp | 24 | ||||
| -rw-r--r-- | include/Player/EquipRope.hpp | 38 | ||||
| -rw-r--r-- | include/Player/EquipScoop.hpp | 18 | ||||
| -rw-r--r-- | include/Player/LinkStateFollow.hpp | 1 | ||||
| -rw-r--r-- | include/Player/PlayerBase.hpp | 2 | ||||
| -rw-r--r-- | include/Player/PlayerLink.hpp | 51 | ||||
| -rw-r--r-- | include/Player/PlayerLinkBase.hpp | 2 | ||||
| -rw-r--r-- | include/Unknown/UnkStruct_ov000_020beba8.hpp | 22 |
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); +}; |
