diff options
| author | Aetias <aetias@outlook.com> | 2023-12-20 10:43:07 +0100 |
|---|---|---|
| committer | Aetias <aetias@outlook.com> | 2023-12-20 10:43:07 +0100 |
| commit | e5d545a7da96b68cab00c17ba7d8a32bc6cb016c (patch) | |
| tree | e7273976bd20f0b757d9b8c5af769fecf3de93f8 /include/Player | |
| parent | 7550a63c03f8b5be5d7796782ee1f057ba6f9fa7 (diff) | |
Add `EquipItem` virtual class and descendants
Diffstat (limited to 'include/Player')
| -rw-r--r-- | include/Player/EquipBomb.hpp | 30 | ||||
| -rw-r--r-- | include/Player/EquipBombchu.hpp | 43 | ||||
| -rw-r--r-- | include/Player/EquipBoomerang.hpp | 32 | ||||
| -rw-r--r-- | include/Player/EquipBow.hpp | 29 | ||||
| -rw-r--r-- | include/Player/EquipHammer.hpp | 38 | ||||
| -rw-r--r-- | include/Player/EquipItem.hpp | 39 | ||||
| -rw-r--r-- | include/Player/EquipRope.hpp | 39 | ||||
| -rw-r--r-- | include/Player/EquipShovel.hpp | 23 |
8 files changed, 273 insertions, 0 deletions
diff --git a/include/Player/EquipBomb.hpp b/include/Player/EquipBomb.hpp new file mode 100644 index 00000000..0e9e54db --- /dev/null +++ b/include/Player/EquipBomb.hpp @@ -0,0 +1,30 @@ +#pragma once
+
+#include "types.h"
+#include "Player/EquipItem.hpp"
+
+class EquipBomb : public EquipItem {
+private:
+ /* 00 (base) */
+ /* 09 */ u8 mUnk_09[3];
+ /* 0c */ u32 mUnk_0c;
+ /* 10 */ u8 mUnk_10[0x14];
+ /* 24 */ u32 mUnk_24;
+ /* 28 */
+
+public:
+ EquipBomb();
+
+ /* 00 */ virtual void vfunc_00(u32 param1, u32 param2, u32 param3) override; // func_ov55_02198d00
+ /* 04 */ virtual EquipItem* vfunc_04() override; // func_ov14_213d214
+ /* 08 */ virtual ~EquipBomb() override;
+ /* 0c */ virtual u32 GetId() const override;
+
+ /* 14 */ virtual bool IsUsable(u32 param1, u32 param2) 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(u32 param1, u32 param2, u32 param3) override; // func_ov55_2198df8
+ /* 50 */ virtual void vfunc_50(); // func_ov14_0213d228
+ /* 54 */
+};
diff --git a/include/Player/EquipBombchu.hpp b/include/Player/EquipBombchu.hpp new file mode 100644 index 00000000..dd414d02 --- /dev/null +++ b/include/Player/EquipBombchu.hpp @@ -0,0 +1,43 @@ +#pragma once
+
+#include "types.h"
+#include "Player/EquipItem.hpp"
+
+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;
+ /* 20 */ void *mUnk_20;
+ /* 24 */ u32 mUnk_24;
+ /* 28 */ u32 mUnk_28;
+ /* 2c */ void *mUnk_2c;
+ /* 30 */ u32 mUnk_30;
+ /* 34 */ u32 mUnk_34;
+ /* 38 */ u8 mUnk_38[0xc];
+ /* 44 */ u16 mUnk_44;
+ /* 46 */ u8 mUnk_46;
+ /* 47 */ char mUnk_47;
+ /* 48 */ bool mUnk_48;
+ /* 49 */
+
+public:
+ EquipBombchu();
+
+ /* 00 */ virtual void vfunc_00(u32 param1, u32 param2, u32 param3) override; // func_ov58_02198fc0
+ /* 04 */ virtual EquipItem* vfunc_04() override; // func_ov14_0213eb5c
+ /* 08 */ virtual ~EquipBombchu() override;
+ /* 0c */ virtual u32 GetId() const override;
+
+ bool CheckUsable(u32 param1) const;
+ /* 14 */ virtual bool IsUsable(u32 param1, u32 param2) 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(u16 *param1) override; // func_ov58_0213ecb4
+ /* 38 */ virtual void vfunc_38(u32 param1, u32 param2, u32 param3) override; // func_ov58_02199170
+ /* 50 */
+};
diff --git a/include/Player/EquipBoomerang.hpp b/include/Player/EquipBoomerang.hpp new file mode 100644 index 00000000..6e2d8eb1 --- /dev/null +++ b/include/Player/EquipBoomerang.hpp @@ -0,0 +1,32 @@ +#pragma once
+
+#include "types.h"
+#include "Player/EquipItem.hpp"
+
+class EquipBoomerang : public EquipItem {
+private:
+ /* 00 (base) */
+ /* 09 */ u8 mUnk_09[3];
+ /* 0c */ void *mUnk_0c;
+ /* 10 */ u32 mUnk_10;
+ /* 14 */ u8 mUnk_18[8];
+ /* 20 */ u32 mUnk_20;
+ /* 24 */ u32 mUnk_24;
+ /* 28 */ u32 mUnk_28;
+ /* 2c */ u16 mUnk_2c;
+ /* 2e */
+
+public:
+ /* 04 */ virtual EquipItem* vfunc_04() override; // func_ov14_213d010
+ /* 08 */ virtual ~EquipBoomerang() override;
+ /* 0c */ virtual u32 GetId() const override;
+ /* 10 */ virtual void vfunc_10() override; // func_ov14_0213d078
+
+ /* 14 */ virtual bool IsUsable(u32 param1, u32 param2) 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(u32 param1, u32 param2, u32 param3) override; // func_ov53_02199318
+ /* 50 */
+};
diff --git a/include/Player/EquipBow.hpp b/include/Player/EquipBow.hpp new file mode 100644 index 00000000..97e68a0c --- /dev/null +++ b/include/Player/EquipBow.hpp @@ -0,0 +1,29 @@ +#pragma once
+
+#include "types.h"
+#include "Player/EquipItem.hpp"
+
+class EquipBow : public EquipItem {
+private:
+ /* 0 (base) */
+ /* 9 */ u8 mUnk_9;
+ /* a */ u8 mUnk_a;
+ /* b */ u8 mUnk_b;
+ /* c */ u8 mUnk_c;
+ /* d */
+
+public:
+ EquipBow();
+
+ /* 00 */ virtual void vfunc_00(u32 param1, u32 param2, u32 param3) override; // func_ov56_02198d00
+ /* 04 */ virtual EquipItem* vfunc_04() override; // func_ov14_0213ead4
+ /* 08 */ virtual ~EquipBow() override;
+ /* 0c */ virtual u32 GetId() const override;
+
+ /* 14 */ virtual bool IsUsable(u32 param1, u32 param2) 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(u32 param1, u32 param2, u32 param3) override; // func_ov56_02198df8
+ /* 50 */
+};
diff --git a/include/Player/EquipHammer.hpp b/include/Player/EquipHammer.hpp new file mode 100644 index 00000000..19ae4c06 --- /dev/null +++ b/include/Player/EquipHammer.hpp @@ -0,0 +1,38 @@ +#pragma once
+
+#include "types.h"
+#include "Player/EquipItem.hpp"
+
+class EquipHammer : public EquipItem {
+private:
+ /* 00 (base) */
+ /* 09 */ u8 mUnk_09[3];
+ /* 0c */ u8 mUnk_0c[0xc];
+ /* 18 */ u32 mUnk_18;
+ /* 1c */ u8 mUnk_1c;
+ /* 1d */ u8 mUnk_1d;
+ /* 1e */ u8 mUnk_1e[2];
+ /* 20 */ u32 mUnk_20;
+ /* 24 */ void *mUnk_24;
+ /* 28 */ u32 mUnk_28;
+ /* 2c */
+
+public:
+ EquipHammer();
+
+ /* 04 */ virtual EquipItem* vfunc_04() override; // func_ov14_0213ede4
+ /* 08 */ virtual ~EquipHammer() override;
+ /* 0c */ virtual u32 GetId() const override;
+ /* 10 */ virtual void vfunc_10() override; // func_ov14_0213ee04
+
+ /* 14 */ virtual bool IsUsable(u32 param1, u32 param2) 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(u32 param1, u32 param2, u32 param3) override; // func_0v59_02198fc8
+ /* 3c */ virtual void vfunc_3c(void *param1) const override; // func_ov14_0213ee10
+ /* 4c */ virtual u32 vfunc_4c() const override; // func_ov14_0213eea8
+ /* 50 */
+};
diff --git a/include/Player/EquipItem.hpp b/include/Player/EquipItem.hpp new file mode 100644 index 00000000..7ee3d729 --- /dev/null +++ b/include/Player/EquipItem.hpp @@ -0,0 +1,39 @@ +#pragma once
+
+#include "types.h"
+
+class EquipItem {
+private:
+ /* 0 (vtable) */
+ /* 4 */ u16 mUnk_00;
+ /* 6 */ u16 mUnk_04;
+ /* 8 */ bool mInUse;
+
+public:
+ EquipItem();
+
+ /* 00 */ virtual void vfunc_00(u32 param1, u32 param2, u32 param3); // func_ov00_020be8dc
+ /* 04 */ virtual EquipItem* vfunc_04(); // func_ov04_0210ba74
+ /* 08 */ virtual ~EquipItem();
+ /* 0c */ virtual u32 GetId() const = 0;
+ /* 10 */ virtual void vfunc_10(); // func_ov04_0210ba88
+
+ u16 GetAmmo();
+ /* 14 */ virtual bool IsUsable(u32 param1, u32 param2) const;
+ /* 18 */ virtual void vfunc_18() = 0;
+ /* 1c */ virtual void vfunc_1c(); // func_ov00_020be8e0
+ /* 20 */ virtual void GiveAmmo(u32 amount);
+
+ /* 24 */ virtual bool IsInUse() const;
+ /* 28 */ virtual bool UpdateInUse(u32 param1);
+ /* 2c */ virtual u32 vfunc_2c(); // func_ov00_020be964
+ /* 30 */ virtual void vfunc_30() = 0;
+ /* 34 */ virtual void vfunc_34(u16 *param1); // func_ov00_020be96c
+ /* 38 */ virtual void vfunc_38(u32 param1, u32 param2, u32 param3) = 0;
+ /* 3c */ virtual void vfunc_3c(void *param1) const; // func_ov00_020beb90
+ /* 40 */ virtual u32 vfunc_40() const; // func_ov00_020be970
+ /* 44 */ virtual u32 vfunc_44(u32 param1) const; // func_ov00_020be978
+ /* 48 */ virtual u32 vfunc_48(u32 param1) const; // func_ov00_020be980
+ /* 4c */ virtual u32 vfunc_4c() const; // func_ov00_020be988
+ /* 50 */
+};
diff --git a/include/Player/EquipRope.hpp b/include/Player/EquipRope.hpp new file mode 100644 index 00000000..9d236a62 --- /dev/null +++ b/include/Player/EquipRope.hpp @@ -0,0 +1,39 @@ +#pragma once
+
+#include "types.h"
+#include "Player/EquipItem.hpp"
+
+class EquipRope : public EquipItem {
+private:
+ /* 00 (base) */
+ /* 09 */ u8 mUnk_09;
+ /* 0a */ u16 mUnk_0a;
+ /* 0c */ u8 mUnk_0c[4];
+ /* 10 */ u32 mUnk_10;
+ /* 14 */ u32 mUnk_14;
+ /* 18 */ u8 mUnk_18[0x54];
+ /* 6c */ u16 mUnk_6c;
+ /* 6e */ u8 mUnk_6e[2];
+ /* 70 */ u16 mUnk_70;
+ /* 72 */ u8 mUnk_72[0x12];
+ /* 84 */ void *mUnk_84;
+ /* 88 */ u8 mUnk_88[0x18];
+ /* a0 */ u32 mUnk_a0;
+
+public:
+ EquipRope();
+
+ /* 04 */ virtual EquipItem* vfunc_04() override; // func_ov14_0213d314
+ /* 08 */ virtual ~EquipRope() override;
+ /* 0c */ virtual u32 GetId() const override;
+ /* 10 */ virtual void vfunc_10() override; // func_ov14_0213d3a0
+
+ u16 GetAmmo();
+ /* 14 */ virtual bool IsUsable(u32 param1, u32 param2) 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(u32 param1, u32 param2, u32 param3) override; // func_ov57_021998f0
+ /* 50 */
+};
diff --git a/include/Player/EquipShovel.hpp b/include/Player/EquipShovel.hpp new file mode 100644 index 00000000..455da9a8 --- /dev/null +++ b/include/Player/EquipShovel.hpp @@ -0,0 +1,23 @@ +#pragma once
+
+#include "types.h"
+#include "Player/EquipItem.hpp"
+
+class EquipShovel : public EquipItem {
+public:
+ /* 00 */ virtual void vfunc_00(u32 param1, u32 param2, u32 param3) override; // func_ov54_02198d00
+ /* 04 */ virtual EquipItem* vfunc_04() override; // func_ov14_0213cf9c
+ /* 08 */ virtual ~EquipShovel() override;
+ /* 0c */ virtual u32 GetId() const override;
+
+ /* 14 */ virtual bool IsUsable(u32 param1, u32 param2) 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(u32 param1, u32 param2, u32 param3) override; // func_ov54_02198e4c
+ /* 40 */ virtual u32 vfunc_40() const override; // func_ov54_02198d30
+ /* 44 */ virtual u32 vfunc_44(u32 param1) const override; // func_ov54_02198d38
+ /* 48 */ virtual u32 vfunc_48(u32 param1) const override; // func_ov54_02198d48
+ /* 50 */
+};
+
|
