summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAetias <144526980+AetiasHax@users.noreply.github.com>2025-11-16 17:14:48 +0100
committerGitHub <noreply@github.com>2025-11-16 17:14:48 +0100
commitfc691f4c8f76d11d6b47149fefadaca4470ab2a1 (patch)
treefe987a191d96ca71ce32776be09a57408f491050 /include
parent5b15874c4d2d7c185c98f2791cf8fa6a9d86a440 (diff)
LinkStateInteract (#135)
* Map symbol in Game * LinkStateInteract 19% * DebugHierarchy -> Bhio * LinkStateInteract 89% * LinkStateInteract 93% * Japanese strings * Fix build * Fix regression * Fix regressions * Rename BhioBase.cpp
Diffstat (limited to 'include')
-rw-r--r--include/Actor/ActorTypeId.hpp4
-rw-r--r--include/DTCM/UnkStruct_027e0c68.hpp4
-rw-r--r--include/DTCM/UnkStruct_027e0f64.hpp4
-rw-r--r--include/DTCM/UnkStruct_027e0fd4.hpp2
-rw-r--r--include/Debug/DebugHierarchy.hpp15
-rw-r--r--include/Debug/DebugHierarchyBase.hpp35
-rw-r--r--include/Debug/DebugHierarchyChild.hpp11
-rw-r--r--include/Debug/DebugHierarchyNode.hpp19
-rw-r--r--include/Map/MapManager.hpp20
-rw-r--r--include/Message/MessageManager.hpp4
-rw-r--r--include/Player/Bhio.hpp70
-rw-r--r--include/Player/LinkStateBase.hpp14
-rw-r--r--include/Player/LinkStateCutscene.hpp2
-rw-r--r--include/Player/LinkStateDamage.hpp2
-rw-r--r--include/Player/LinkStateInteract.hpp18
-rw-r--r--include/Player/LinkStateMove.hpp2
-rw-r--r--include/Player/LinkStateRoll.hpp2
-rw-r--r--include/Player/PlayerControl.hpp4
-rw-r--r--include/Player/PlayerLinkBase.hpp8
-rw-r--r--include/Unknown/UnkStruct_020eec9c.hpp4
20 files changed, 127 insertions, 117 deletions
diff --git a/include/Actor/ActorTypeId.hpp b/include/Actor/ActorTypeId.hpp
index 9f5925b5..e7e7132f 100644
--- a/include/Actor/ActorTypeId.hpp
+++ b/include/Actor/ActorTypeId.hpp
@@ -45,6 +45,8 @@ enum ActorTypeId_ {
ActorTypeId_StorageDrum = 'DRUM',
ActorTypeId_SmallKey = 'NKEY',
+ ActorTypeId_BossKey = 'BKEY',
+ ActorTypeId_ForceGem = 'FORC',
ActorTypeId_SwitchObject = 'SWOB',
ActorTypeId_EventIcon = 'EVIC',
ActorTypeId_ActionObject = 'ACOB',
@@ -74,7 +76,6 @@ enum ActorTypeId_ {
ActorTypeId_Postman = 'PSTM',
ActorTypeId_BIGR = 'BIGR',
- ActorTypeId_BKEY = 'BKEY',
ActorTypeId_BMRN = 'BMRN',
ActorTypeId_BMTY = 'BMTY',
ActorTypeId_BTRF = 'BTRF',
@@ -85,7 +86,6 @@ enum ActorTypeId_ {
ActorTypeId_FLBT = 'FLBT',
ActorTypeId_FLTB = 'FLTB',
ActorTypeId_FLTM = 'FLTM',
- ActorTypeId_FORC = 'FORC',
ActorTypeId_PWBS = 'PWBS',
ActorTypeId_SBEM = 'SBEM',
ActorTypeId_STNE = 'STNE',
diff --git a/include/DTCM/UnkStruct_027e0c68.hpp b/include/DTCM/UnkStruct_027e0c68.hpp
index e172e51e..ef36b3bf 100644
--- a/include/DTCM/UnkStruct_027e0c68.hpp
+++ b/include/DTCM/UnkStruct_027e0c68.hpp
@@ -3,7 +3,7 @@
#include "global.h"
#include "types.h"
-#include "Debug/DebugHierarchyBase.hpp"
+#include "Player/Bhio.hpp"
struct UnkStruct_027e0c68 {
/* 00 */ unk8 mUnk_00[4];
@@ -20,7 +20,7 @@ struct UnkStruct_027e0c68 {
/* 24 */ unk32 mUnk_24;
/* 28 */ s32 *mUnk_28;
/* 2c */ unk8 mUnk_2c[0x1c];
- /* 48 */ DebugHierarchyBase *mDebug;
+ /* 48 */ BhioBase *mDebug;
/* 4c */
};
diff --git a/include/DTCM/UnkStruct_027e0f64.hpp b/include/DTCM/UnkStruct_027e0f64.hpp
index 8826fd13..9a0bdd36 100644
--- a/include/DTCM/UnkStruct_027e0f64.hpp
+++ b/include/DTCM/UnkStruct_027e0f64.hpp
@@ -3,7 +3,7 @@
#include "global.h"
#include "types.h"
-#include "Debug/DebugHierarchy.hpp"
+#include "Player/Bhio.hpp"
struct UnkStruct_027e0f64_04 {
/* 000 */ u8 pad[0x1B4 - 0x00];
@@ -12,7 +12,7 @@ struct UnkStruct_027e0f64_04 {
class UnkStruct_027e0f64 {
public:
- /* 0 */ DebugHierarchyBase *mUnk_0;
+ /* 0 */ Bhio *mUnk_0;
/* 4 */ UnkStruct_027e0f64_04 *mUnk_4;
/* 8 */ UnkStruct_027e0f64_04 *mUnk_8;
/* c */
diff --git a/include/DTCM/UnkStruct_027e0fd4.hpp b/include/DTCM/UnkStruct_027e0fd4.hpp
index e8e89954..a7b984e2 100644
--- a/include/DTCM/UnkStruct_027e0fd4.hpp
+++ b/include/DTCM/UnkStruct_027e0fd4.hpp
@@ -80,7 +80,7 @@ public:
/* 0e0 */ Actor *mUnk_0e0;
/* 0e4 */ unk32 mUnk_0e4;
/* 0e8 */ unk32 mUnk_0e8;
- /* 0ec */ unk32 mUnk_0ec;
+ /* 0ec */ Actor *mUnk_0ec;
/* 0f0 */ unk32 mUnk_0f0;
/* 0f4 */ unk32 mUnk_0f4;
/* 0f8 */ unk32 mUnk_0f8;
diff --git a/include/Debug/DebugHierarchy.hpp b/include/Debug/DebugHierarchy.hpp
deleted file mode 100644
index 70e4de9c..00000000
--- a/include/Debug/DebugHierarchy.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#pragma once
-
-#include "global.h"
-#include "types.h"
-
-#include "Debug/DebugHierarchyBase.hpp"
-
-class DebugHierarchy : public DebugHierarchyBase {
-public:
- /* 00 (base) */
- /* 08 */
-
- /* 00 */ virtual ~DebugHierarchy() override;
- /* 40 */
-};
diff --git a/include/Debug/DebugHierarchyBase.hpp b/include/Debug/DebugHierarchyBase.hpp
deleted file mode 100644
index ca1e0eb7..00000000
--- a/include/Debug/DebugHierarchyBase.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#pragma once
-
-#include "global.h"
-#include "types.h"
-
-#include "Debug/DebugHierarchyNode.hpp"
-#include "System/SysNew.hpp"
-
-class DebugHierarchyBase : public SysObject {
-public:
- /* 00 (vtable) */
- /* 04 */ void *mNodes;
- /* 08 */
-
- /* 00 */ virtual ~DebugHierarchyBase();
- /* 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 GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4, unk32 param5,
- unk32 param6, unk32 param7, unk32 param8);
- /* 38 */ virtual void vfunc_38();
- /* 3c */ virtual void vfunc_3c(unk32 param1, void *param2);
- /* 40 */
-
- DebugHierarchyBase();
- DebugHierarchyNode *FindNode(u32 id);
-};
diff --git a/include/Debug/DebugHierarchyChild.hpp b/include/Debug/DebugHierarchyChild.hpp
deleted file mode 100644
index c095fae2..00000000
--- a/include/Debug/DebugHierarchyChild.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-#pragma once
-
-#include "global.h"
-#include "types.h"
-
-class DebugHierarchyChild {
-public:
- /* 00 */ char mUnk_00[0xc];
- /* 0c */ s32 mUnk_0c;
- /* 10 */
-};
diff --git a/include/Debug/DebugHierarchyNode.hpp b/include/Debug/DebugHierarchyNode.hpp
deleted file mode 100644
index 057d1946..00000000
--- a/include/Debug/DebugHierarchyNode.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-#include "global.h"
-#include "types.h"
-
-#include "Debug/DebugHierarchyChild.hpp"
-
-class DebugHierarchyNode {
-public:
- /* 00 */ u32 mNodeId;
- /* 04 */ u32 mUnk_04;
- /* 08 */ u32 mUnk_08;
- /* 0c */ unk8 mUnk_0c[0x4];
- /* 10 */ u32 mId;
- /* 14 */ s32 mUnk_14;
- /* 18 */ unk8 mUnk_18[0x8];
- /* 20 */ DebugHierarchyChild mChildren;
- /* 30 */
-};
diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp
index 10b8d532..39314640 100644
--- a/include/Map/MapManager.hpp
+++ b/include/Map/MapManager.hpp
@@ -68,7 +68,18 @@ struct UnkStruct_0208210c_param3 {
};
struct UnkStruct {
- /* 00 */ unk8 mUnk_00[0x24];
+ union {
+ /* 00 */ Vec3p mUnk_00;
+ struct {
+ /* 00 */ u16 mUnk_00_x;
+ /* 02 */ u16 mUnk_02;
+ /* 04 */ u16 mUnk_04;
+ /* 06 */ u16 mUnk_06;
+ /* 08 */ unk32 mUnk_08;
+ };
+ };
+ /* 0c */ Vec3p mUnk_0c;
+ /* 18 */ unk8 mUnk_18[0x24 - 0x18];
/* 24 */ u16 mUnk_24;
/* 26 */ u16 mUnk_26;
/* 28 */ u16 mUnk_28;
@@ -92,7 +103,7 @@ struct UnkStruct {
/* 50 */ u8 mUnk_50;
/* 51 */ u8 mUnk_51;
/* 52 */ unk8 mUnk_52[0x6];
- /* 58 */ u8 mUnk_58;
+ /* 58 */ volatile u8 mUnk_58;
/* 59 */ u8 mUnk_59;
/* 5a */ u8 mUnk_5a;
/* 5b */ u8 mUnk_5b;
@@ -132,7 +143,8 @@ public:
/* 0f */ unk8 mUnk_0f;
/* 10 */
- bool func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Sphere *param4);
+ bool func_01ffbe78(UnkStruct *param1, Vec3p *param2, Vec3p *param3, Sphere *param4, s32 actorId, u16 param6, unk32 param7,
+ unk32 param8);
bool func_01ffbf5c(struct UnkStruct *param1, Vec3p *param2, Vec3p *param3, s32 length, unk32 param5, unk32 param6,
UnkStruct_ov000_020beba8 *param7, unk32 param8);
bool func_01ffc118(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7);
@@ -332,7 +344,7 @@ public:
static unk32 func_ov00_0208583c(MapManager *param_1, Vec3p *param_2, unk32 param_3);
static unk32 func_ov00_020858b0(MapManager *param_1, Vec3p *param_2, unk32 param_3);
s32 func_ov00_02085a34(Vec3p *param_2, unk32 param_3);
- unk8 func_ov00_02085c60(Vec3p *param_2, unk32 *param_3, unk32 *param_4, u32 param_5);
+ unk8 func_ov00_02085c60(UnkStruct *param_2, unk32 *param_3, unk32 *param_4, u32 param_5);
unk8 func_ov00_02086044(Vec3p *param_2, Vec3p *param_3, unk32 param_4);
bool func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7,
Vec3p *param_8);
diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp
index 8ac42d14..b7588106 100644
--- a/include/Message/MessageManager.hpp
+++ b/include/Message/MessageManager.hpp
@@ -3,9 +3,9 @@
#include "global.h"
#include "types.h"
-#include "Debug/DebugHierarchy.hpp"
#include "Message/BMG.hpp"
#include "Message/MsgProc.hpp"
+#include "Player/Bhio.hpp"
#include "System/SysNew.hpp"
#include "nds/math.h"
@@ -36,7 +36,7 @@ public:
/* 0x20 */ UnkStruct_02037750 *mUnk_20[2];
/* 0x28 */ UnkStruct_02038aa0 *mUnk_28[6]; //! TODO: is it the right type?
/* 0x40 */ UnkStruct_020397f8 *mUnk_40[2]; // is array size 6?
- /* 0x48 */ DebugHierarchy *mDebug;
+ /* 0x48 */ Bhio *mBhio;
/* 0x4C */
static void func_0203643c(u32 *param_1, MessageManager *param_2, u32 param_3);
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;
diff --git a/include/Unknown/UnkStruct_020eec9c.hpp b/include/Unknown/UnkStruct_020eec9c.hpp
index bcb289ff..269b330d 100644
--- a/include/Unknown/UnkStruct_020eec9c.hpp
+++ b/include/Unknown/UnkStruct_020eec9c.hpp
@@ -4,6 +4,8 @@
#include "global.h"
#include "types.h"
+#include <nds/math.h>
+
struct UnkStruct_020eec9c_28 {
/* 00 */ unk32 mUnk_00;
/* 04 */ unk16 mUnk_04;
@@ -38,7 +40,9 @@ public:
void func_ov000_020d77e4(unk32);
unk32 func_ov000_020d7f18(unk32);
+ void func_ov000_020d7a84(unk32, Vec3p *);
void func_ov000_020d7ad4(unk32);
+ void func_ov000_020d7b20(unk32, Vec3p *);
void func_ov008_0211337c();
};