summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/DTCM/UnkStruct_027e0fd4.hpp130
-rw-r--r--include/Player/HealthManager.hpp5
-rw-r--r--include/Player/LinkStateCutscene.hpp38
-rw-r--r--include/Player/PlayerControl.hpp6
-rw-r--r--include/Player/PlayerControlData.hpp44
5 files changed, 223 insertions, 0 deletions
diff --git a/include/DTCM/UnkStruct_027e0fd4.hpp b/include/DTCM/UnkStruct_027e0fd4.hpp
new file mode 100644
index 00000000..1b57252e
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e0fd4.hpp
@@ -0,0 +1,130 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Actor/Actor.hpp"
+#include "Physics/Cylinder.hpp"
+#include "Unknown/UnkStruct_ov000_020b1528.hpp"
+
+class UnkStruct_027e0fd4_Unk1 {
+public:
+ /* 00 (vtable) */
+ /* 04 */ unk8 mUnk_04;
+ /* 08 */ Vec3p mUnk_08;
+ /* 14 */
+
+ /* 00 */ virtual ~UnkStruct_027e0fd4_Unk1();
+ /* 08 */ virtual void vfunc_08(u16 *param1, unk32 param2, u32 param3);
+ /* 0c */ virtual unk32 vfunc_0c();
+ /* 10 */ virtual bool vfunc_10(s32 *param1);
+ /* 14 */ virtual bool vfunc_14();
+ /* 18 */
+};
+
+class UnkStruct_027e0fd4 : public UnkStruct_ov000_020b1528 {
+public:
+ /* 000 (base) */
+ /* 01c */ unk8 mUnk_018[0x4];
+ /* 020 */ Cylinder mUnk_020;
+ /* 030 */ s32 mUnk_030;
+ /* 034 */ s32 mUnk_034;
+ /* 038 */ s32 mUnk_038;
+ /* 03c */ s32 mUnk_03c;
+ /* 040 */ s32 mUnk_040;
+ /* 044 */ Vec3p mUnk_044;
+ /* 050 */ s32 mUnk_050;
+ /* 054 */ unk8 mUnk_054[0x6];
+ /* 05a */ unk16 mUnk_05a;
+ /* 05c */ unk16 mUnk_05c;
+ /* 05e */ unk16 mUnk_05e;
+ /* 060 */ unk16 mUnk_060;
+ /* 062 */ unk8 mUnk_062[0x2];
+ /* 064 */ s32 mUnk_064;
+ /* 068 */ s32 mUnk_068;
+ /* 06c */ s32 mUnk_06c;
+ /* 070 */ unk32 mUnk_070;
+ /* 074 */ unk32 mUnk_074;
+ /* 078 */ unk8 mUnk_078[0x18];
+ /* 090 */ unk32 mUnk_090;
+ /* 094 */ u32 mUnk_094;
+ /* 098 */ s32 mUnk_098;
+ /* 09c */ unk32 mUnk_09c;
+ /* 0a0 */ u16 mUnk_0a0;
+ /* 0a2 */ s16 mUnk_0a2;
+ /* 0a4 */ unk16 mUnk_0a4;
+ /* 0a6 */ unk16 mUnk_0a6;
+ /* 0a8 */ unk16 mUnk_0a8;
+ /* 0aa */ unk8 mUnk_0aa[0x2];
+ /* 0ac */ unk32 mUnk_0ac;
+ /* 0b0 */ unk32 mUnk_0b0;
+ /* 0b4 */ unk32 mUnk_0b4;
+ /* 0b8 */ unk8 mUnk_0b8;
+ /* 0b9 */ bool mUnk_0b9;
+ /* 0ba */ bool mUnk_0ba;
+ /* 0bb */ unk8 mUnk_0bb[0x5];
+ /* 0c0 */ unk32 mUnk_0c0;
+ /* 0c4 */ u8 mUnk_0c4;
+ /* 0c5 */ u8 mUnk_0c5;
+ /* 0c6 */ s16 mUnk_0c6;
+ /* 0c8 */ unk16 mUnk_0c8;
+ /* 0ca */ u16 mUnk_0ca;
+ /* 0cc */ u8 mUnk_0cc;
+ /* 0cd */ bool mUnk_0cd;
+ /* 0ce */ u8 mUnk_0ce;
+ /* 0cf */ unk8 mUnk_0cf;
+ /* 0d0 */ u32 mUnk_0d0;
+ /* 0d4 */ s32 mUnk_0d4;
+ /* 0d8 */ s32 mUnk_0d8;
+ /* 0dc */ s32 mUnk_0dc;
+ /* 0e0 */ Actor *mUnk_0e0;
+ /* 0e4 */ unk32 mUnk_0e4;
+ /* 0e8 */ unk32 mUnk_0e8;
+ /* 0ec */ unk32 mUnk_0ec;
+ /* 0f0 */ unk32 mUnk_0f0;
+ /* 0f4 */ unk32 mUnk_0f4;
+ /* 0f8 */ unk32 mUnk_0f8;
+ /* 0fc */ s32 mUnk_0fc;
+ /* 100 */ s32 mUnk_100;
+ /* 104 */ s32 mUnk_104;
+ /* 108 */ unk32 mUnk_108;
+ /* 10c */ unk32 mUnk_10c;
+ /* 110 */ unk32 mUnk_110;
+ /* 114 */ unk32 mUnk_114;
+ /* 118 */ unk32 mUnk_118;
+ /* 11c */ s32 mUnk_11c;
+ /* 120 */ Vec3p mUnk_120;
+ /* 12c */
+
+ /* 00 */ ~UnkStruct_027e0fd4() override;
+ /* 08 */ bool vfunc_08() override;
+ /* 0c */ bool vfunc_0c() override;
+ /* 10 */ bool vfunc_10(s32 *param1) override;
+ /* 14 */ bool vfunc_14(u16 *index, unk32 param2) override;
+ /* 18 */ void Clear() override;
+ /* 1c */ virtual void vfunc_1c();
+ /* 20 */
+
+ UnkStruct_027e0fd4();
+ s32 func_Ov000_020b4c2c();
+ void func_ov000_020b4c4c(Vec3p *param1, s32 size);
+ void func_ov000_020b4d00();
+ unk32 func_ov000_020b4d28(u32 *param1, s32 *param2, s32 *param3);
+ unk32 func_ov000_020b5034(Vec3p *param1);
+ bool func_ov000_020b50e0();
+ bool func_ov000_020b50f8();
+ unk32 func_ov000_020b510c();
+ void func_ov000_020b5160(u32 *param1, u32 param2);
+ bool func_ov000_020b5268(unk32 param1, Vec3p *param2, unk32 param3);
+ u32 func_ov000_020b5360(s32 param1, s32 param2);
+ void func_ov000_020b53c4(unk32 *param1);
+ bool func_ov000_020b53f4(unk32 param1, unk32 param2, u32 param3);
+ static void func_ov000_020b5420(unk32 *param1, UnkStruct_027e0fd4 *param2);
+ void func_ov000_020b542c(u32 param1);
+ void func_ov000_020b54c8();
+ void func_ov000_020b5514(Vec3p *param1, Vec3p *param2);
+ void func_ov000_020b5cb4(Vec3p *param1, Vec3p *param2, s32 *param3, s32 *param4);
+ s32 func_ov000_020b6af0(unk32 *param1);
+ void func_ov000_020b6ba4(s32 param1, s32 param2);
+ bool func_ov000_020b6e70();
+};
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);
};