summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorenzofc708 <47937189+enzofc708@users.noreply.github.com>2025-08-12 10:24:54 -0300
committerGitHub <noreply@github.com>2025-08-12 15:24:54 +0200
commitbe02098914d37fda7796a39d0c8332c2ab88c235 (patch)
tree23c9731f269b2d4189d8da0660328e8df692a7e5 /include
parent82f54b2f075e7f6612b80edf52b37bb6377e0d49 (diff)
Decomp LinkStateDamage (#133)
* match first functions * add more functions * match more functions * match last function * fix EUR relocs file * match some data * fix PR comments * match vfunc_24 * fixed most of .data * match symbol names --------- Co-authored-by: Yanis002 <35189056+Yanis002@users.noreply.github.com>
Diffstat (limited to 'include')
-rw-r--r--include/Player/LinkStateBase.hpp3
-rw-r--r--include/Player/LinkStateDamage.hpp27
-rw-r--r--include/Player/PlayerControlData.hpp2
3 files changed, 22 insertions, 10 deletions
diff --git a/include/Player/LinkStateBase.hpp b/include/Player/LinkStateBase.hpp
index 8f5ebd6c..781d0fca 100644
--- a/include/Player/LinkStateBase.hpp
+++ b/include/Player/LinkStateBase.hpp
@@ -6,6 +6,7 @@
#include "Actor/Actor.hpp"
#include "Actor/ActorManager.hpp"
+#include "DTCM/UnkStruct_027e0fd4.hpp"
#include "Debug/DebugHierarchy.hpp"
#include "Player/EquipItem.hpp"
#include "Player/PlayerControlData.hpp"
@@ -124,7 +125,7 @@ public:
s32 Get_PlayerLinkBase_Unk44();
bool IsEquipBeingUsed(ItemFlag id);
EquipItem *GetEquipItem(ItemFlag id);
- void *func_ov00_020a8d40();
+ UnkStruct_027e0fd4 *func_ov00_020a8d40();
unk32 func_ov00_020a8d50();
unk32 func_ov00_020a8d6c();
s32 PlayerControlData_vfunc_14(s32 param1);
diff --git a/include/Player/LinkStateDamage.hpp b/include/Player/LinkStateDamage.hpp
index 02e2c526..f58de710 100644
--- a/include/Player/LinkStateDamage.hpp
+++ b/include/Player/LinkStateDamage.hpp
@@ -9,19 +9,31 @@
class LinkStateDamage : public LinkStateBase {
public:
+ static LinkStateBase_UnkStruct1 data_ov000_020e5acc;
+ static LinkStateBase_UnkStruct1 data_ov000_020e5adc;
+ static unk32 data_ov000_020e5aec;
+ static LinkStateBase_UnkStruct1 data_ov000_020e5af0;
+ static LinkStateBase_UnkStruct1 data_ov000_020e5b00;
+ static LinkStateBase_UnkStruct1 data_ov000_020e5b10;
+ static LinkStateBase_UnkStruct1 data_ov000_020e5b20;
+ static LinkStateBase_UnkStruct1 data_ov000_020e5b30;
+ static LinkStateBase_UnkStruct1 data_ov000_020e5b40;
+ static LinkStateBase_UnkStruct1 data_ov000_020e5b50;
+
/* 00 (base) */
- /* 0c */ void *mUnk_0c;
- /* 10 */ unk32 mUnk_10;
- /* 14 */ unk32 mUnk_14;
+ /* 0c */ Vec3p mUnk_0c;
/* 18 */ unk32 mUnk_18;
/* 1c */ unk32 mUnk_1c;
/* 20 */ unk8 mUnk_20[2];
/* 22 */ unk16 mUnk_22;
- /* 24 */ unk8 mUnk_24[0xe];
+ /* 24 */ unk8 mUnk_24[8];
+ /* 2c */ q20 mUnk_2c; // maybe link's "y" coordinate when entering this state
+ /* 30 */ bool mUnk_30;
+ /* 31 */ unk8 mUnk_31;
/* 32 */ unk16 mUnk_32;
/* 34 */ unk32 mUnk_34[2];
/* 3c */ ModelRender mUnk_3c;
- /* 98 */ void *mUnk_98;
+ /* 98 */ UnkStruct_ov000_020c0c08 *mUnk_98;
/* 9c */ void *mUnk_9c;
/* a0 */ unk32 mUnk_a0[3];
/* ac */ unk32 mUnk_ac;
@@ -42,11 +54,10 @@ public:
/* 44 */
void func_ov00_020ac9e4(unk32 param1);
- void func_ov00_020aca50();
- void func_ov00_020aca94();
+ void SetLinkFrozenMaterial();
void func_ov00_020acb6c(Vec3p *param1, unk32 param2);
- void func_ov00_020ace90(Vec3p *param1, unk32 param2);
+ void Knockback(Vec3p *knockbackVec, unk32 param2);
void func_ov00_020acfe8(bool param1);
diff --git a/include/Player/PlayerControlData.hpp b/include/Player/PlayerControlData.hpp
index cdcd8db8..edf90602 100644
--- a/include/Player/PlayerControlData.hpp
+++ b/include/Player/PlayerControlData.hpp
@@ -15,7 +15,7 @@ public:
/* 010 */ unk32 mUnk_010;
/* 014 */ unk32 mUnk_014;
/* 018 */ unk32 mStateUnk;
- /* 01c */ Vec3p mUnk_01c;
+ /* 01c */ Vec3p mLastJumpLocation; // vector from last location of the player before jumping?
/* 028 */ unk16 mUnk_028;
/* 02a */ unk16 mUnk_02a;
/* 02c */ unk16 mUnk_02c;