diff options
Diffstat (limited to 'include/Player')
| -rw-r--r-- | include/Player/Bhio.hpp | 70 | ||||
| -rw-r--r-- | include/Player/LinkStateBase.hpp | 14 | ||||
| -rw-r--r-- | include/Player/LinkStateCutscene.hpp | 2 | ||||
| -rw-r--r-- | include/Player/LinkStateDamage.hpp | 2 | ||||
| -rw-r--r-- | include/Player/LinkStateInteract.hpp | 18 | ||||
| -rw-r--r-- | include/Player/LinkStateMove.hpp | 2 | ||||
| -rw-r--r-- | include/Player/LinkStateRoll.hpp | 2 | ||||
| -rw-r--r-- | include/Player/PlayerControl.hpp | 4 | ||||
| -rw-r--r-- | include/Player/PlayerLinkBase.hpp | 8 |
9 files changed, 98 insertions, 24 deletions
diff --git a/include/Player/Bhio.hpp b/include/Player/Bhio.hpp new file mode 100644 index 00000000..ee39c7fd --- /dev/null +++ b/include/Player/Bhio.hpp @@ -0,0 +1,70 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" + +#define BHIO_GROUP_MAGIC 'HFND' + +struct BhioField { + /* 00 */ char mName[0xc]; + /* 0c */ s32 mValue; + /* 10 */ +}; + +struct BhioGroup { + /* 00 */ u32 mMagic; + /* 04 */ u32 mUnk_04; + /* 08 */ u32 mUnk_08; + /* 0c */ u32 mUnk_0c; + /* 10 */ u32 mGroupId; + /* 14 */ u32 mNumFields; + /* 18 */ unk8 mUnk_18[0x8]; + /* 20 */ BhioField mFields[]; +}; + +class BhioBase : public SysObject { +public: + /* 00 (vtable) */ + /* 04 */ void *mNodes; + /* 08 */ + + /* 00 */ virtual ~BhioBase(); + /* 08 */ virtual void vfunc_08(); + /* 0c */ virtual void vfunc_0c(); + /* 10 */ virtual void vfunc_10(); + /* 14 */ virtual void vfunc_14(); + /* 18 */ virtual void vfunc_18(); + /* 1c */ virtual void vfunc_1c(); + /* 20 */ virtual void vfunc_20(unk32 param1, const char *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6); + /* 24 */ virtual void vfunc_24(); + /* 28 */ virtual void vfunc_28(); + /* 2c */ virtual void vfunc_2c(); + /* 30 */ virtual void vfunc_30(); + /* 34 */ virtual bool GetField(bool param1, const char *fieldName, u32 groupId, s32 *pValue, unk32 param5, unk32 param6, + unk32 param7, unk32 param8); + /* 38 */ virtual void vfunc_38(); + /* 3c */ virtual void vfunc_3c(u32 groupId, s32 *pValue); + /* 40 */ + + BhioBase(); + BhioGroup *FindGroup(u32 id); + + inline bool GetField2(bool param1, u32 groupId, const char *fieldName, s32 *pValue, unk32 param5, unk32 param6, + unk32 param7) { + if (param1) { + this->vfunc_3c(groupId, pValue); + } + return this->GetField(param1, fieldName, groupId, pValue, param5, param6, param7, 0); + } +}; + +class Bhio : public BhioBase { +public: + /* 00 (base) */ + /* 08 */ + + /* 00 */ virtual ~Bhio() override; + /* 40 */ +}; diff --git a/include/Player/LinkStateBase.hpp b/include/Player/LinkStateBase.hpp index 781d0fca..75490f47 100644 --- a/include/Player/LinkStateBase.hpp +++ b/include/Player/LinkStateBase.hpp @@ -7,7 +7,7 @@ #include "Actor/Actor.hpp" #include "Actor/ActorManager.hpp" #include "DTCM/UnkStruct_027e0fd4.hpp" -#include "Debug/DebugHierarchy.hpp" +#include "Player/Bhio.hpp" #include "Player/EquipItem.hpp" #include "Player/PlayerControlData.hpp" #include "Player/PlayerLinkBase.hpp" @@ -43,7 +43,7 @@ public: /* 00 */ virtual void vfunc_00(); /* 04 */ virtual ~LinkStateBase(); /* 0c */ virtual LinkStateId GetId() = 0; - /* 10 */ virtual void CreateDebugHierarchy(); + /* 10 */ virtual void LoadBhio(); /* 14 */ virtual void OnStateEnter(); /* 18 */ virtual void OnStateLeave(s32 param1); /* 1c */ virtual void vfunc_1c(); @@ -64,7 +64,7 @@ public: void ChangeLinkSubState(LinkStateId id, s32 subState); void EquipItem_vfunc_28(); void UpdateSwordShieldInUse(); - void func_ov00_020a81b8(unk32 param1, unk32 param2); + void func_ov00_020a81b8(unk32 param1, Vec3p *param2); LinkStateItem *GetLinkItemState(); void LookAt(Vec3p *target); void func_ov00_020a81fc(Vec3p *param1, unk32 param2); @@ -116,13 +116,13 @@ public: Vec3p *GetPlayerPos(); Vec3p *GetPlayerVel(); unk8 *func_ov00_020a8c64(); - s16 *GetPlayerAngle(); + u16 *GetPlayerAngle(); void *GetPlayer_Unk18(); s32 Get_PlayerControlData_Unk32(); Actor *GetGrabActor(); ActorRef *GetGrabActorRef(); unk32 Grab(); - s32 Get_PlayerLinkBase_Unk44(); + s32 *Get_PlayerLinkBase_Unk44(); bool IsEquipBeingUsed(ItemFlag id); EquipItem *GetEquipItem(ItemFlag id); UnkStruct_027e0fd4 *func_ov00_020a8d40(); @@ -132,8 +132,8 @@ public: unk32 Get_PlayerControlData_Unk100(); unk32 Get_PlayerControlData_Unk120(); s32 Get_PlayerLinkBase_Unk38(); - DebugHierarchy *GetDebugHierarchy0(); - DebugHierarchy *GetDebugHierarchy1(); + Bhio *GetBhio0(); + Bhio *GetBhio1(); LinkStateBase(PlayerLinkBase *link); diff --git a/include/Player/LinkStateCutscene.hpp b/include/Player/LinkStateCutscene.hpp index 750f1b8a..9dae13d8 100644 --- a/include/Player/LinkStateCutscene.hpp +++ b/include/Player/LinkStateCutscene.hpp @@ -62,7 +62,7 @@ public: /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~LinkStateCutscene() override; /* 0c */ virtual LinkStateId GetId() override; - /* 10 */ virtual void CreateDebugHierarchy() override; + /* 10 */ virtual void LoadBhio() override; /* 14 */ virtual void OnStateEnter() override; /* 18 */ virtual void OnStateLeave(s32 param1) override; /* 1c */ virtual void vfunc_1c() override; diff --git a/include/Player/LinkStateDamage.hpp b/include/Player/LinkStateDamage.hpp index f58de710..1a8b143a 100644 --- a/include/Player/LinkStateDamage.hpp +++ b/include/Player/LinkStateDamage.hpp @@ -43,7 +43,7 @@ public: /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~LinkStateDamage() override; /* 0c */ virtual LinkStateId GetId() override; - /* 10 */ virtual void CreateDebugHierarchy() override; + /* 10 */ virtual void LoadBhio() override; /* 14 */ virtual void OnStateEnter() override; /* 18 */ virtual void OnStateLeave(s32 param1) override; /* 1c */ virtual void vfunc_1c() override; diff --git a/include/Player/LinkStateInteract.hpp b/include/Player/LinkStateInteract.hpp index 6151585b..db22bef9 100644 --- a/include/Player/LinkStateInteract.hpp +++ b/include/Player/LinkStateInteract.hpp @@ -8,22 +8,26 @@ #include "Actor/ActorManager.hpp" #include "Player/LinkStateBase.hpp" #include "Player/LinkStateRoll.hpp" +#include "Unknown/UnkStruct_02035064.hpp" class LinkStateInteract : public LinkStateBase { public: /* 00 (base) */ - /* 0c */ void *mUnk_0c; + /* 0c */ unk32 mUnk_0c; /* 10 */ ActorRef mGrabRef; /* 18 */ Vec3p mThrowOffset; - /* 24 */ unk8 mUnk_24[0x88]; // non-documented struct + /* 24 */ UnkStruct_02035064 mUnk_24; /* ac */ unk32 mUnk_ac; - /* b0 */ unk8 mUnk_b0[4]; + /* b0 */ bool mUnk_b0; + /* b1 */ bool mUnk_b1; + /* b2 */ bool mUnk_b2; + /* b3 */ unk8 mUnk_b3; /* b4 */ /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~LinkStateInteract() override; /* 0c */ virtual LinkStateId GetId() override; - /* 10 */ virtual void CreateDebugHierarchy() override; + /* 10 */ virtual void LoadBhio() override; /* 14 */ virtual void OnStateEnter() override; /* 18 */ virtual void OnStateLeave(s32 param1) override; /* 1c */ virtual void vfunc_1c() override; @@ -36,7 +40,7 @@ public: s32 GetGrabActorId(); bool func_ov00_020aa818(); void func_ov00_020aa844(Actor *param1); - LinkStateRoll *GetLinkStateRoll(); + static LinkStateRoll *GetLinkStateRoll(); void SetGrabActorVelocity(Vec3p *velocity); void SetBombVelocity(Vec3p *velocity); void func_ov00_020ab6c8(); @@ -46,8 +50,8 @@ public: void SetThrowOffset(Vec3p *target); void func_ov00_020ab934(Vec3p *target); void func_ov00_020ab97c(Vec3p *target); - void func_ov00_020ab9b8(u32 param1, bool param2); - void Grab(ActorRef *ref); + void func_ov00_020ab9b8(s32 param1, bool param2); + bool Grab(ActorRef *ref); void func_ov00_020abba0(ActorRef *ref); void func_ov00_020abbdc(ActorRef *ref); // duplicate of func_ov00_020abba0 void func_ov00_020abc18(ActorRef *ref); diff --git a/include/Player/LinkStateMove.hpp b/include/Player/LinkStateMove.hpp index a782b22d..02109513 100644 --- a/include/Player/LinkStateMove.hpp +++ b/include/Player/LinkStateMove.hpp @@ -22,7 +22,7 @@ public: /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~LinkStateMove() override; /* 0c */ virtual LinkStateId GetId() override; - /* 10 */ virtual void CreateDebugHierarchy() override; + /* 10 */ virtual void LoadBhio() override; /* 14 */ virtual void OnStateEnter() override; /* 18 */ virtual void OnStateLeave(s32 param1) override; /* 1c */ virtual void vfunc_1c() override; diff --git a/include/Player/LinkStateRoll.hpp b/include/Player/LinkStateRoll.hpp index a82dbdf1..3eb2d98d 100644 --- a/include/Player/LinkStateRoll.hpp +++ b/include/Player/LinkStateRoll.hpp @@ -32,7 +32,7 @@ public: /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~LinkStateRoll() override; /* 0c */ virtual LinkStateId GetId() override; - /* 10 */ virtual void CreateDebugHierarchy() override; + /* 10 */ virtual void LoadBhio() override; /* 14 */ virtual void OnStateEnter() override; /* 18 */ virtual void OnStateLeave(s32 param1) override; /* 1c */ virtual void vfunc_1c() override; diff --git a/include/Player/PlayerControl.hpp b/include/Player/PlayerControl.hpp index adf10925..69f17610 100644 --- a/include/Player/PlayerControl.hpp +++ b/include/Player/PlayerControl.hpp @@ -7,9 +7,9 @@ #include "Actor/Actor.hpp" #include "Actor/ActorManager.hpp" -#include "Debug/DebugHierarchy.hpp" #include "Item/Item.hpp" #include "Map/TilePos.hpp" +#include "Player/Bhio.hpp" #include "Player/TouchControl.hpp" #include "Player/TouchGesture.hpp" @@ -72,7 +72,7 @@ public: /* c8 */ s32 mUnk_c8; /* cc */ s32 mUnk_cc; /* d0 */ TouchGesture **mTouchGesture; - /* d4 */ DebugHierarchy *mDebug; + /* d4 */ Bhio *mBhio; /* d8 */ static bool func_ov00_020aeeac(); diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp index b5bf77ed..9d85416e 100644 --- a/include/Player/PlayerLinkBase.hpp +++ b/include/Player/PlayerLinkBase.hpp @@ -5,8 +5,8 @@ #include "types.h" #include "Actor/ActorManager.hpp" -#include "Debug/DebugHierarchy.hpp" #include "Item/ItemManager.hpp" +#include "Player/Bhio.hpp" #include "Player/MotionParams.hpp" #include "Player/PlayerBase.hpp" #include "Player/PlayerControlData.hpp" @@ -40,9 +40,9 @@ public: /* 5c */ unk8 mUnk_5c[3]; /* 5f */ bool mUnk_5f; /* 60 */ MotionParams *mMotionParams; - /* 64 */ DebugHierarchy *mDebugHierarchy_0; - /* 68 */ DebugHierarchy *mDebugHierarchy_1; - /* 6c */ DebugHierarchy *mDebugHierarchy_2; + /* 64 */ Bhio *mBhio_0; + /* 68 */ Bhio *mBhio_1; + /* 6c */ Bhio *mBhio_2; /* 70 */ /* 00 */ virtual s32 GetMaxHealth() override; |
