From f27b60d4fef5d3d081a2fe231169219416c877c8 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sat, 8 Feb 2025 22:25:31 +0100 Subject: match most of OverlayManager.cpp --- include/System/OverlayManager.hpp | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/System/OverlayManager.hpp b/include/System/OverlayManager.hpp index 636208fc..4c83bbe4 100644 --- a/include/System/OverlayManager.hpp +++ b/include/System/OverlayManager.hpp @@ -6,6 +6,7 @@ typedef u32 OverlayId; enum OverlayId_ { + OverlayId_None = -1, OverlayId_Core, OverlayId_01, OverlayId_02, -- cgit v1.2.3 From 10db9067430c77b2b6cd2b14da018b81a5f43c84 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 9 Feb 2025 13:13:49 +0100 Subject: Add MapOverworld --- include/Map/MapBase.hpp | 3 +- include/Map/MapOverworld.hpp | 75 ++++++++++++++++++++++++++++ include/Unknown/UnkStruct_ov000_020c0c08.hpp | 21 ++++++++ 3 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 include/Map/MapOverworld.hpp create mode 100644 include/Unknown/UnkStruct_ov000_020c0c08.hpp (limited to 'include') diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp index c92060a3..4c061620 100644 --- a/include/Map/MapBase.hpp +++ b/include/Map/MapBase.hpp @@ -113,8 +113,7 @@ public: /* 188 */ unk8 mUnk_188[0x14]; /* 19c */ unk32 mUnk_19c; /* 1a0 */ unk8 mUnk_1a0[0xc]; - /* 1ac */ s16 mUnk_1ac; - /* 1ae */ unk8 mUnk_1ae[2]; + /* 1ac */ unk32 mUnk_1ac; /* 1b0 */ /* 00 */ virtual ~MapBase(); diff --git a/include/Map/MapOverworld.hpp b/include/Map/MapOverworld.hpp new file mode 100644 index 00000000..482b3ad1 --- /dev/null +++ b/include/Map/MapOverworld.hpp @@ -0,0 +1,75 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Map/MapBase.hpp" +#include "Render/ModelRender.hpp" +#include "Unknown/UnkStruct_ov000_020c0c08.hpp" + +class MapOverworld_Unk1 : public UnkStruct_ov000_020c0c08 { +public: + /* 00 (base) */ + /* 24 */ + + MapOverworld_Unk1(u32 param1, u8 *param2, unk32 param3); +}; + +class MapOverworld : public MapBase { +public: + /* 000 (base) */ + /* 1b0 */ void *mUnk_1b0; + /* 1b4 */ unk8 mUnk_1b4; + /* 1b5 */ unk8 mUnk_1b5; + /* 1b6 */ unk8 mUnk_1b6; + /* 1b7 */ unk8 mUnk_1b7; + /* 1b8 */ u8 mUnk_1b8; + /* 1b9 */ unk8 mUnk_1b9; + /* 1ba */ unk8 mUnk_1ba; + /* 1bb */ unk8 mUnk_1bb; + /* 1bc */ s32 mUnk_1bc; + /* 1c0 */ ModelRender *mUnk_1c0; + /* 1c4 */ void *mUnk_1c4; + /* 1c8 */ void *mUnk_1c8; + /* 1cc */ unk8 mUnk_1cc; + /* 1cd */ unk8 mUnk_1cd; + /* 1ce */ unk8 mUnk_1ce[0x2]; + /* 1d0 */ unk32 mUnk_1d0; + /* 1d4 */ unk32 mUnk_1d4; + /* 1d8 */ s16 mUnk_1d8; + /* 1da */ s16 mUnk_1da; + /* 1dc */ + + /* 00 */ virtual ~MapOverworld() override; + /* 08 */ virtual void vfunc_08(u32 param_2, u32 param_3, Course *param_4) override; + /* 14 */ virtual void vfunc_14() override; + /* 1c */ virtual void vfunc_1c(bool param_2) override; + /* 20 */ virtual void vfunc_20(s32 param_2) override; + /* 2c */ virtual void vfunc_2c() override; + /* 4c */ virtual void vfunc_4c() override; + /* 54 */ virtual unk32 vfunc_54() override; + /* 58 */ virtual unk32 vfunc_58() override; + /* 5c */ virtual unk32 vfunc_5c() override; + /* 60 */ virtual unk32 vfunc_60() override; + /* 64 */ virtual unk32 vfunc_64() override; + /* 78 */ virtual unk32 vfunc_78() override; + /* 7c */ virtual unk32 vfunc_7c() override; + /* 80 */ virtual unk32 vfunc_80() override; + /* 94 */ virtual void vfunc_94() override; + /* 98 */ virtual void vfunc_98() override; + /* a4 */ virtual unk32 vfunc_a4() override; + /* b0 */ virtual unk8 vfunc_b0(unk32 param_2, unk32 param_3) override; + /* bc */ virtual void vfunc_bc() override; + /* c0 */ virtual void vfunc_c0() override; + /* c4 */ + + MapOverworld(u32 width, u32 height); + void func_ov018_0215bfc8(); + u32 func_ov018_0215c34c(); + u32 func_ov018_0215c368(); + s32 func_ov018_0215c380(u8 *param1); + void func_ov018_0215c650(); + void func_ov018_0215c6ac(); + void func_ov018_0215c6d0(); + void func_ov018_0215c9ac(); +}; diff --git a/include/Unknown/UnkStruct_ov000_020c0c08.hpp b/include/Unknown/UnkStruct_ov000_020c0c08.hpp new file mode 100644 index 00000000..69054538 --- /dev/null +++ b/include/Unknown/UnkStruct_ov000_020c0c08.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" +#include "Unknown/UnkStruct_0202e1a0.hpp" + +class UnkStruct_ov000_020c0c08 : public SysObject { +public: + /* 00 (vtable) */ + /* 04 */ unk32 mUnk_04; + /* 08 */ u8 *mUnk_08; + /* 0c */ UnkStruct_0202e1a0 mUnk_0c; + /* 24 */ + + /* 00 */ virtual ~UnkStruct_ov000_020c0c08(); + /* 08 */ + + UnkStruct_ov000_020c0c08(unk32 param1, u8 *param2); +}; -- cgit v1.2.3 From 8d6d73108bd55be0aad9f1c1c1b8c286ecce9d2f Mon Sep 17 00:00:00 2001 From: Ozero4 Date: Mon, 24 Feb 2025 20:22:07 +0100 Subject: Partial decompilation of TouchControl --- include/Player/TouchControl.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/Player/TouchControl.hpp b/include/Player/TouchControl.hpp index 1301e144..8970c032 100644 --- a/include/Player/TouchControl.hpp +++ b/include/Player/TouchControl.hpp @@ -5,6 +5,8 @@ #include "nds/math.h" #include "types.h" +extern u16 *data_0207aecc; + typedef u16 TouchFlags; enum TouchFlag_ { TouchFlag_TouchedNow = 0x0001, @@ -42,9 +44,11 @@ public: void Update(TouchState *state, u16 speed); bool func_ov00_0207aeac(); void UpdateConditionally(TouchState *state, u16 speed); - void func_ov00_0207af38(u16 speed, bool param2); + void func_ov00_0207af38(u16 speedIncrease, bool shouldIncrease); ~TouchControl(); static bool func_0202b864(Vec3p *param1, s32 size, unk8 param3); static bool func_0202b894(Vec3p *param1, s32 size, unk8 param3); }; + +void Fill16(int value, unsigned short *dst, int size); // TODO: Replace with header file -- cgit v1.2.3 From 3c223d570c19e1b244705bfb5893d51f30a17f80 Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 6 Mar 2025 00:14:06 +0100 Subject: Delink `ActorNavi` --- include/Actor/Navi/ActorNavi.hpp | 64 +++++++++++++++++++++++++++++++++++- include/Actor/Navi/ActorNaviBase.hpp | 18 ++-------- 2 files changed, 65 insertions(+), 17 deletions(-) (limited to 'include') diff --git a/include/Actor/Navi/ActorNavi.hpp b/include/Actor/Navi/ActorNavi.hpp index 98ebcf51..0d0b2fb5 100644 --- a/include/Actor/Navi/ActorNavi.hpp +++ b/include/Actor/Navi/ActorNavi.hpp @@ -1,3 +1,65 @@ #pragma once -class ActorNavi; +#include "Actor/Navi/ActorNaviBase.hpp" +#include "Unknown/UnkStruct_ov000_020beba8.hpp" + +class UnkStruct_ov000_020b8110 : public UnkStruct_ov000_020beba8 { +public: + /* 0 (base) */ + /* c */ + + /* 00 */ virtual ~UnkStruct_ov000_020b8110() override; + /* 08 */ virtual void vfunc_08(unk16 *param1) override; + /* 14 */ virtual void vfunc_14(u16 *param1) override; + /* 18 */ virtual void vfunc_18(s32 *param1) override; + /* 1c */ + + UnkStruct_ov000_020b8110(); +}; + +class ActorNavi : public ActorNaviBase { +public: + static ActorType gType; + + /* 000 (base) */ + /* 294 */ ModelRender mUnk_294; + /* 2f0 */ void *mUnk_2f0; + /* 2f4 */ unk8 mUnk_2f4[0x40]; + /* 334 */ unk32 mUnk_334; + /* 338 */ unk32 mUnk_338; + /* 33c */ unk32 mUnk_33c; + /* 340 */ unk16 mUnk_340; + /* 342 */ unk8 mUnk_342[0x2]; + /* 344 */ unk32 mUnk_344; + /* 348 */ unk32 mUnk_348; + /* 34c */ unk8 mUnk_34c[0x68]; + /* 3b4 */ EquipHammer *mHammer; + /* 3b8 */ unk32 mUnk_3b8; + /* 3bc */ unk32 mUnk_3bc; + /* 3c0 */ unk8 mUnk_3c0[0x8]; + /* 3c8 */ + + /* 00 */ virtual ~ActorNavi() override; + /* 08 */ virtual bool vfunc_08() override; + /* 20 */ virtual void vfunc_20(bool param1) override; + /* 8c */ virtual bool vfunc_8c() override; + /* b4 */ virtual void vfunc_b4() override; + /* b8 */ virtual s32 vfunc_b8() override; + /* c0 */ virtual bool vfunc_c0(Vec3p *param1) override; + /* c4 */ virtual void vfunc_c4() override; + /* c8 */ virtual void vfunc_c8() override; + /* cc */ virtual bool vfunc_cc(unk32 *param1) override; + /* d0 */ virtual void vfunc_d0() override; + /* d4 */ virtual void vfunc_d4() override; + /* d8 */ virtual void vfunc_d8() override; + /* dc */ virtual void SetActive(bool active) override; + /* e0 */ virtual void vfunc_e0() override; + /* e8 */ virtual void vfunc_e8() override; + /* ec */ virtual void vfunc_ec() override; + + static ActorNavi *Create(); + void func_ov000_020b8200(); + void func_ov000_020b853c(); + + ActorNavi(); +}; diff --git a/include/Actor/Navi/ActorNaviBase.hpp b/include/Actor/Navi/ActorNaviBase.hpp index f3a45e8a..2af8acdf 100644 --- a/include/Actor/Navi/ActorNaviBase.hpp +++ b/include/Actor/Navi/ActorNaviBase.hpp @@ -10,6 +10,7 @@ class ActorNaviBase_Unk1 {}; class ActorNaviBase : public Actor { +public: /* 000 (base) */ /* 158 */ Vec3p mUnk_158; /* 164 */ unk32 mUnk_164; @@ -33,22 +34,7 @@ class ActorNaviBase : public Actor { /* 288 */ unk8 mUnk_288[0x2]; /* 28a */ unk16 mUnk_28a; /* 28c */ unk8 mUnk_28c[0x8]; - /* 294 */ ModelRender mUnk_294; - /* 2f0 */ void *mUnk_2f0; - /* 2f4 */ unk8 mUnk_2f4[0x40]; - /* 334 */ unk32 mUnk_334; - /* 338 */ unk32 mUnk_338; - /* 33c */ unk32 mUnk_33c; - /* 340 */ unk16 mUnk_340; - /* 342 */ unk8 mUnk_342[0x2]; - /* 344 */ unk32 mUnk_344; - /* 348 */ unk32 mUnk_348; - /* 34c */ unk8 mUnk_34c[0x68]; - /* 3b4 */ EquipHammer *mHammer; - /* 3b8 */ unk32 mUnk_3b8; - /* 3bc */ unk32 mUnk_3bc; - /* 3c0 */ unk8 mUnk_3c0[0x8]; - /* 3c8 */ + /* 294 */ /* 00 */ virtual ~ActorNaviBase() override; /* 08 */ virtual bool vfunc_08() override; -- cgit v1.2.3 From 1998ff3444b3a264cdaace5b10194ca0270ce260 Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 6 Mar 2025 20:34:34 +0100 Subject: Delink `ActorForceNavi` --- include/Actor/Navi/ActorForceNavi.hpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 include/Actor/Navi/ActorForceNavi.hpp (limited to 'include') diff --git a/include/Actor/Navi/ActorForceNavi.hpp b/include/Actor/Navi/ActorForceNavi.hpp new file mode 100644 index 00000000..1623e705 --- /dev/null +++ b/include/Actor/Navi/ActorForceNavi.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include "Actor/Navi/ActorNaviBase.hpp" + +class ActorForceNavi : public ActorNaviBase { +public: + static ActorType gType; + + /* 000 (base) */ + /* 294 */ + + /* 00 */ virtual ~ActorForceNavi() override; + /* b4 */ virtual void vfunc_b4() override; + + static ActorForceNavi *Create(); +}; -- cgit v1.2.3 From 656ec5779cccb3f8e2146299ab9af1d4bb95d7c4 Mon Sep 17 00:00:00 2001 From: Aetias Date: Fri, 7 Mar 2025 19:25:02 +0100 Subject: Delink `ActorWisdomNavi` --- include/Actor/Navi/ActorWisdomNavi.hpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 include/Actor/Navi/ActorWisdomNavi.hpp (limited to 'include') diff --git a/include/Actor/Navi/ActorWisdomNavi.hpp b/include/Actor/Navi/ActorWisdomNavi.hpp new file mode 100644 index 00000000..85bce572 --- /dev/null +++ b/include/Actor/Navi/ActorWisdomNavi.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include "Actor/Navi/ActorNaviBase.hpp" + +class ActorWisdomNavi : public ActorNaviBase { +public: + static ActorType gType; + + /* 000 (base) */ + /* 294 */ + + /* 00 */ virtual ~ActorWisdomNavi() override; + /* b4 */ virtual void vfunc_b4() override; + + static ActorWisdomNavi *Create(); +}; -- cgit v1.2.3 From 44ba14e823fd9d67fd92166f5370683fad56f428 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 8 Mar 2025 11:46:49 +0100 Subject: Decomp `ActorForceNavi` and `ActorWisdomNavi` 100% --- include/Actor/Navi/ActorForceNavi.hpp | 3 +-- include/Actor/Navi/ActorNavi.hpp | 2 +- include/Actor/Navi/ActorNaviBase.hpp | 19 +++++++++++++------ include/Actor/Navi/ActorWisdomNavi.hpp | 3 +-- include/Item/ItemManager.hpp | 15 +++------------ 5 files changed, 19 insertions(+), 23 deletions(-) (limited to 'include') diff --git a/include/Actor/Navi/ActorForceNavi.hpp b/include/Actor/Navi/ActorForceNavi.hpp index 1623e705..18a124f4 100644 --- a/include/Actor/Navi/ActorForceNavi.hpp +++ b/include/Actor/Navi/ActorForceNavi.hpp @@ -9,8 +9,7 @@ public: /* 000 (base) */ /* 294 */ - /* 00 */ virtual ~ActorForceNavi() override; - /* b4 */ virtual void vfunc_b4() override; + /* b4 */ virtual FairyId GetFairyId() override; static ActorForceNavi *Create(); }; diff --git a/include/Actor/Navi/ActorNavi.hpp b/include/Actor/Navi/ActorNavi.hpp index 0d0b2fb5..86774de4 100644 --- a/include/Actor/Navi/ActorNavi.hpp +++ b/include/Actor/Navi/ActorNavi.hpp @@ -43,7 +43,7 @@ public: /* 08 */ virtual bool vfunc_08() override; /* 20 */ virtual void vfunc_20(bool param1) override; /* 8c */ virtual bool vfunc_8c() override; - /* b4 */ virtual void vfunc_b4() override; + /* b4 */ virtual FairyId GetFairyId() override; /* b8 */ virtual s32 vfunc_b8() override; /* c0 */ virtual bool vfunc_c0(Vec3p *param1) override; /* c4 */ virtual void vfunc_c4() override; diff --git a/include/Actor/Navi/ActorNaviBase.hpp b/include/Actor/Navi/ActorNaviBase.hpp index 2af8acdf..4c2a20cf 100644 --- a/include/Actor/Navi/ActorNaviBase.hpp +++ b/include/Actor/Navi/ActorNaviBase.hpp @@ -7,6 +7,15 @@ #include "Player/EquipHammer.hpp" #include "Render/ModelRender.hpp" +typedef s32 FairyId; +enum FairyId_ { + FairyId_None = -1, + FairyId_Courage = 0, + FairyId_Power = 1, + FairyId_Wisdom = 2, + FairyId_COUNT = 3, +}; + class ActorNaviBase_Unk1 {}; class ActorNaviBase : public Actor { @@ -16,12 +25,12 @@ public: /* 164 */ unk32 mUnk_164; /* 168 */ ModelRender mUnk_168; /* 1c4 */ unk8 mUnk_1c4[0xc]; - /* 1d0 */ void *mUnk_1d0; - /* 1d4 */ unk8 mUnk_1d4[0x30]; + /* 1d0 */ unk8 mUnk_1d0[0x24]; + /* 1f4 */ unk8 mUnk_1f4[0x20]; /* 214 */ unk16 mUnk_214; /* 216 */ unk8 mUnk_216[0xc]; /* 222 */ unk16 mUnk_222; - /* 224 */ unk8 mUnk_224[0x18]; + /* 224 */ unk8 mUnk_224[0x28]; /* 24c */ unk32 mUnk_24c; /* 250 */ unk32 mUnk_250; /* 254 */ unk32 mUnk_254; @@ -51,9 +60,7 @@ public: /* 84 */ virtual void vfunc_84() override; /* 90 */ virtual bool vfunc_90() override; /* 94 */ virtual void vfunc_94() override; - /* a0 */ virtual bool TrySetTransform(Transform *transform) override; - /* b0 */ virtual void SetTransform(Transform *transform) override; - /* b4 */ virtual void vfunc_b4() = 0; + /* b4 */ virtual FairyId GetFairyId() = 0; /* b8 */ virtual s32 vfunc_b8(); /* bc */ virtual bool vfunc_bc(unk32 param1, unk8 param2, s32 param3); /* c0 */ virtual bool vfunc_c0(Vec3p *param1); diff --git a/include/Actor/Navi/ActorWisdomNavi.hpp b/include/Actor/Navi/ActorWisdomNavi.hpp index 85bce572..fb6d2641 100644 --- a/include/Actor/Navi/ActorWisdomNavi.hpp +++ b/include/Actor/Navi/ActorWisdomNavi.hpp @@ -9,8 +9,7 @@ public: /* 000 (base) */ /* 294 */ - /* 00 */ virtual ~ActorWisdomNavi() override; - /* b4 */ virtual void vfunc_b4() override; + /* b4 */ virtual FairyId GetFairyId() override; static ActorWisdomNavi *Create(); }; diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index c0a84aa7..9e473fc2 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -8,7 +8,7 @@ extern "C" { #include "nds/math.h" #include "types.h" -#include "Actor/Navi/ActorNavi.hpp" +#include "Actor/Navi/ActorNaviBase.hpp" #include "Item/Item.hpp" #include "Player/EquipItem.hpp" #include "Render/ModelRender.hpp" @@ -20,15 +20,6 @@ extern "C" { #define MAX_AMMO_UPGRADE 2 #define MAX_UNK_0BA 9 -typedef s32 FairyId; -enum FairyId_ { - FairyId_None = -1, - FairyId_Courage = 0, - FairyId_Power = 1, - FairyId_Wisdom = 2, - FairyId_COUNT = 3, -}; - typedef u32 ItemModelId; enum ItemModelId_ { ItemModelId_OshusSword, // swA @@ -66,7 +57,7 @@ private: /* 008 */ ItemFlag mForcedItem; // game crashes when any item besides this one is equipped /* 00c */ u32 mHourglassSandFrames; /* 010 */ FairyId mEquippedFairy; - /* 014 */ ActorNavi *mFairies[FairyId_COUNT]; + /* 014 */ ActorNaviBase *mFairies[FairyId_COUNT]; /* 020 */ u16 mEquipLoadTimer; /* 022 */ u16 mNumRupees; /* 024 */ u8 mNumGems[Gem_COUNT]; @@ -114,7 +105,7 @@ public: // Fairy FairyId GetEquippedFairy() const; - ActorNavi *GetFairy(FairyId id) const; + ActorNaviBase *GetFairy(FairyId id) const; u32 GetActiveFairyLevel(FairyId id) const; u32 GetFairyLevel(FairyId id) const; void SpawnFairies(); -- cgit v1.2.3 From a8dc7ef705f777cc725e1ec08918fc8c2d61b60a Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 8 Mar 2025 12:35:55 +0100 Subject: Delink and 81% decomp `ActorActionObject` --- include/Actor/Actor.hpp | 2 +- include/Actor/ActorType.hpp | 1 + include/Actor/Dungeon/ActorActionObject.hpp | 20 ++++++++++++++++++++ include/Player/PlayerBase.hpp | 2 +- include/Player/PlayerLinkBase.hpp | 2 +- 5 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 include/Actor/Dungeon/ActorActionObject.hpp (limited to 'include') diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index 2a30a7c1..837ca862 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -227,7 +227,7 @@ public: bool func_ov00_020c195c(); bool func_ov00_020c198c(); void KillPickupItemActors(); - void func_Ov00_020c1bfc(s32 param1); + bool func_Ov00_020c1bfc(s32 param1); void func_ov00_020c1c20(s32 param1, unk32 param2); bool IsNearLink(); void func_ov00_020c1cf8(); diff --git a/include/Actor/ActorType.hpp b/include/Actor/ActorType.hpp index 7842da14..f71c533b 100644 --- a/include/Actor/ActorType.hpp +++ b/include/Actor/ActorType.hpp @@ -41,6 +41,7 @@ enum ActorTypeId_ { ActorTypeId_SmallKey = 'NKEY', ActorTypeId_SwitchObject = 'SWOB', ActorTypeId_EventIcon = 'EVIC', + ActorTypeId_ActionObject = 'ACOB', ActorTypeId_Sandworm = 'MLDW', ActorTypeId_Tektite = 'TEKT', diff --git a/include/Actor/Dungeon/ActorActionObject.hpp b/include/Actor/Dungeon/ActorActionObject.hpp new file mode 100644 index 00000000..0bf35dfb --- /dev/null +++ b/include/Actor/Dungeon/ActorActionObject.hpp @@ -0,0 +1,20 @@ +#pragma once + +#include "Actor/Actor.hpp" + +class ActorActionObject : public Actor { +public: + static ActorType gType; + + /* 000 (base) */ + /* 158 */ + + /* 00 */ virtual ~ActorActionObject() override; + /* 08 */ virtual bool vfunc_08() override; + /* 14 */ virtual void vfunc_14(u32 param1) override; + /* 18 */ virtual void vfunc_18(u32 param1) override; + /* b4 */ + + static ActorActionObject *Create(); + ActorActionObject(); +}; diff --git a/include/Player/PlayerBase.hpp b/include/Player/PlayerBase.hpp index 354e1078..ba4b3deb 100644 --- a/include/Player/PlayerBase.hpp +++ b/include/Player/PlayerBase.hpp @@ -29,7 +29,7 @@ public: /* 0c */ virtual bool CanMove(); /* 10 */ virtual void vfunc_10(Cylinder *param1) = 0; /* 14 */ virtual void vfunc_14(Cylinder *param1) = 0; - /* 18 */ virtual void vfunc_18() = 0; + /* 18 */ virtual bool vfunc_18(s32 param1) = 0; /* 1c */ virtual void Init() = 0; /* 20 */ virtual void vfunc_20() = 0; /* 24 */ virtual void UpdatePos() = 0; diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp index 2a208365..b5bf77ed 100644 --- a/include/Player/PlayerLinkBase.hpp +++ b/include/Player/PlayerLinkBase.hpp @@ -50,7 +50,7 @@ public: /* 0c */ virtual bool CanMove() override; /* 10 */ virtual void vfunc_10(Cylinder *param1) override; /* 14 */ virtual void vfunc_14(Cylinder *param1) override; - /* 18 */ virtual void vfunc_18(s32 param1) override; + /* 18 */ virtual bool vfunc_18(s32 param1) override; /* 1c */ virtual void Init() override; /* 20 */ virtual void vfunc_20() override; /* 24 */ virtual void UpdatePos() override; -- cgit v1.2.3 From 59648074067128dbe6306b9fdb80af3f6abfa91b Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 9 Mar 2025 09:57:20 +0100 Subject: Fix accidental capital letter in `func_Ov00_020c1bfc` --- include/Actor/Actor.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index 837ca862..c22f086e 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -227,7 +227,7 @@ public: bool func_ov00_020c195c(); bool func_ov00_020c198c(); void KillPickupItemActors(); - bool func_Ov00_020c1bfc(s32 param1); + bool func_ov00_020c1bfc(s32 param1); void func_ov00_020c1c20(s32 param1, unk32 param2); bool IsNearLink(); void func_ov00_020c1cf8(); -- cgit v1.2.3 From 12405715959d8cf26ee316cc4f67fcc3e3e9707e Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 26 Apr 2025 08:41:25 +0200 Subject: Add relocatable overlay IDs --- include/System/OverlayManager.hpp | 193 +++++++++++++++++++++++++------------- 1 file changed, 128 insertions(+), 65 deletions(-) (limited to 'include') diff --git a/include/System/OverlayManager.hpp b/include/System/OverlayManager.hpp index 4c83bbe4..42118b57 100644 --- a/include/System/OverlayManager.hpp +++ b/include/System/OverlayManager.hpp @@ -2,74 +2,137 @@ #include "types.h" +#include + #include "Item/Item.hpp" +EXTERN_OVERLAY_ID(0); +EXTERN_OVERLAY_ID(1); +EXTERN_OVERLAY_ID(2); +EXTERN_OVERLAY_ID(3); +EXTERN_OVERLAY_ID(4); +EXTERN_OVERLAY_ID(5); +EXTERN_OVERLAY_ID(6); +EXTERN_OVERLAY_ID(7); +EXTERN_OVERLAY_ID(8); +EXTERN_OVERLAY_ID(9); +EXTERN_OVERLAY_ID(10); +EXTERN_OVERLAY_ID(11); +EXTERN_OVERLAY_ID(12); +EXTERN_OVERLAY_ID(13); +EXTERN_OVERLAY_ID(14); +EXTERN_OVERLAY_ID(15); +EXTERN_OVERLAY_ID(16); +EXTERN_OVERLAY_ID(17); +EXTERN_OVERLAY_ID(18); +EXTERN_OVERLAY_ID(19); +EXTERN_OVERLAY_ID(20); +EXTERN_OVERLAY_ID(21); +EXTERN_OVERLAY_ID(22); +EXTERN_OVERLAY_ID(23); +EXTERN_OVERLAY_ID(24); +EXTERN_OVERLAY_ID(25); +EXTERN_OVERLAY_ID(26); +EXTERN_OVERLAY_ID(27); +EXTERN_OVERLAY_ID(28); +EXTERN_OVERLAY_ID(29); +EXTERN_OVERLAY_ID(30); +EXTERN_OVERLAY_ID(31); +EXTERN_OVERLAY_ID(32); +EXTERN_OVERLAY_ID(33); +EXTERN_OVERLAY_ID(34); +EXTERN_OVERLAY_ID(35); +EXTERN_OVERLAY_ID(36); +EXTERN_OVERLAY_ID(37); +EXTERN_OVERLAY_ID(38); +EXTERN_OVERLAY_ID(39); +EXTERN_OVERLAY_ID(40); +EXTERN_OVERLAY_ID(41); +EXTERN_OVERLAY_ID(42); +EXTERN_OVERLAY_ID(43); +EXTERN_OVERLAY_ID(44); +EXTERN_OVERLAY_ID(45); +EXTERN_OVERLAY_ID(46); +EXTERN_OVERLAY_ID(47); +EXTERN_OVERLAY_ID(48); +EXTERN_OVERLAY_ID(49); +EXTERN_OVERLAY_ID(50); +EXTERN_OVERLAY_ID(51); +EXTERN_OVERLAY_ID(52); +EXTERN_OVERLAY_ID(53); +EXTERN_OVERLAY_ID(54); +EXTERN_OVERLAY_ID(55); +EXTERN_OVERLAY_ID(56); +EXTERN_OVERLAY_ID(57); +EXTERN_OVERLAY_ID(58); +EXTERN_OVERLAY_ID(59); +EXTERN_OVERLAY_ID(60); +EXTERN_OVERLAY_ID(61); + typedef u32 OverlayId; -enum OverlayId_ { - OverlayId_None = -1, - OverlayId_Core, - OverlayId_01, - OverlayId_02, - OverlayId_03, - OverlayId_Memory, - OverlayId_05, - OverlayId_06, - OverlayId_07, - OverlayId_08, - OverlayId_09, - OverlayId_10, - OverlayId_11, - OverlayId_12, - OverlayId_13, - OverlayId_Land, - OverlayId_15, - OverlayId_16, - OverlayId_17, - OverlayId_18, - OverlayId_19, - OverlayId_20, - OverlayId_21, - OverlayId_22, - OverlayId_23, - OverlayId_24, - OverlayId_25, - OverlayId_26, - OverlayId_27, - OverlayId_28, - OverlayId_29, - OverlayId_30, - OverlayId_31, - OverlayId_32, - OverlayId_33, - OverlayId_34, - OverlayId_35, - OverlayId_36, - OverlayId_37, - OverlayId_38, - OverlayId_39, - OverlayId_40, - OverlayId_41, - OverlayId_42, - OverlayId_43, - OverlayId_44, - OverlayId_45, - OverlayId_46, - OverlayId_47, - OverlayId_48, - OverlayId_49, - OverlayId_50, - OverlayId_51, - OverlayId_52, - OverlayId_PlayerBoomerang, - OverlayId_PlayerScoop, - OverlayId_PlayerBomb, - OverlayId_PlayerBow, - OverlayId_PlayerRope, - OverlayId_PlayerBombchu, - OverlayId_PlayerHammer, - OverlayId_60, - OverlayId_61, -}; +#define OverlayId_None -1 +#define OverlayId_Core OVERLAY_ID(0) +#define OverlayId_01 OVERLAY_ID(1) +#define OverlayId_02 OVERLAY_ID(2) +#define OverlayId_03 OVERLAY_ID(3) +#define OverlayId_Memory OVERLAY_ID(4) +#define OverlayId_05 OVERLAY_ID(5) +#define OverlayId_06 OVERLAY_ID(6) +#define OverlayId_07 OVERLAY_ID(7) +#define OverlayId_08 OVERLAY_ID(8) +#define OverlayId_09 OVERLAY_ID(9) +#define OverlayId_10 OVERLAY_ID(10) +#define OverlayId_11 OVERLAY_ID(11) +#define OverlayId_12 OVERLAY_ID(12) +#define OverlayId_13 OVERLAY_ID(13) +#define OverlayId_Land OVERLAY_ID(14) +#define OverlayId_15 OVERLAY_ID(15) +#define OverlayId_16 OVERLAY_ID(16) +#define OverlayId_17 OVERLAY_ID(17) +#define OverlayId_18 OVERLAY_ID(18) +#define OverlayId_19 OVERLAY_ID(19) +#define OverlayId_20 OVERLAY_ID(20) +#define OverlayId_21 OVERLAY_ID(21) +#define OverlayId_22 OVERLAY_ID(22) +#define OverlayId_23 OVERLAY_ID(23) +#define OverlayId_24 OVERLAY_ID(24) +#define OverlayId_25 OVERLAY_ID(25) +#define OverlayId_26 OVERLAY_ID(26) +#define OverlayId_27 OVERLAY_ID(27) +#define OverlayId_28 OVERLAY_ID(28) +#define OverlayId_29 OVERLAY_ID(29) +#define OverlayId_30 OVERLAY_ID(30) +#define OverlayId_31 OVERLAY_ID(31) +#define OverlayId_32 OVERLAY_ID(32) +#define OverlayId_33 OVERLAY_ID(33) +#define OverlayId_34 OVERLAY_ID(34) +#define OverlayId_35 OVERLAY_ID(35) +#define OverlayId_36 OVERLAY_ID(36) +#define OverlayId_37 OVERLAY_ID(37) +#define OverlayId_38 OVERLAY_ID(38) +#define OverlayId_39 OVERLAY_ID(39) +#define OverlayId_40 OVERLAY_ID(40) +#define OverlayId_41 OVERLAY_ID(41) +#define OverlayId_42 OVERLAY_ID(42) +#define OverlayId_43 OVERLAY_ID(43) +#define OverlayId_44 OVERLAY_ID(44) +#define OverlayId_45 OVERLAY_ID(45) +#define OverlayId_46 OVERLAY_ID(46) +#define OverlayId_47 OVERLAY_ID(47) +#define OverlayId_48 OVERLAY_ID(48) +#define OverlayId_49 OVERLAY_ID(49) +#define OverlayId_50 OVERLAY_ID(50) +#define OverlayId_51 OVERLAY_ID(51) +#define OverlayId_52 OVERLAY_ID(52) +#define OverlayId_PlayerBoomerang OVERLAY_ID(53) +#define OverlayId_PlayerScoop OVERLAY_ID(54) +#define OverlayId_PlayerBomb OVERLAY_ID(55) +#define OverlayId_PlayerBow OVERLAY_ID(56) +#define OverlayId_PlayerRope OVERLAY_ID(57) +#define OverlayId_PlayerBombchu OVERLAY_ID(58) +#define OverlayId_PlayerHammer OVERLAY_ID(59) +#define OverlayId_60 OVERLAY_ID(60) +#define OverlayId_61 OVERLAY_ID(61) typedef u32 OverlayIndex; enum OverlayIndex_ { -- cgit v1.2.3 From 5ffac795ab8e3cd6b1162e4e24b535af2bd5c52e Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 26 Apr 2025 08:42:04 +0200 Subject: Clean up ItemManager --- include/Item/ItemModelLoader.hpp | 2 ++ include/Map/MapManager.hpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/Item/ItemModelLoader.hpp b/include/Item/ItemModelLoader.hpp index 6b06893a..3eb3e157 100644 --- a/include/Item/ItemModelLoader.hpp +++ b/include/Item/ItemModelLoader.hpp @@ -27,3 +27,5 @@ public: static void Create(); static void Destroy(); }; + +extern ItemModelLoader *gItemModelLoader; diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index 13ca4348..f6557c07 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -210,7 +210,7 @@ public: unk8 func_ov00_0208499c(); unk8 func_ov00_020849c0(); unk8 func_ov00_020849dc(); - static bool func_ov00_020849f8(unk32 param_1); + bool func_ov00_020849f8(); unk8 func_ov00_02084a50(); void SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4); bool func_ov00_02084ac4(u32 actorId); -- cgit v1.2.3 From a44372043a0f157195f0d3510dc70ca73f61bdcf Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 21:59:47 -0500 Subject: Decomp `AdventureFlags::Get_FlagsUnk_49` --- include/Save/AdventureFlags.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index b076cd73..19f1d3f0 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -105,7 +105,7 @@ public: bool func_ov00_02097bcc(s32 param2); s32 func_ov00_02097c08(); bool Get_FlagsUnk_30_Flag(int index); - unk8 Get_FlagsUnk_49(int index); + u8 Get_FlagsUnk_49(s32 index); unk8 Get_FlagsUnk_48(int index); unk8 Get_FlagsUnk_4a(int index); unk16 Get_FlagsUnk_42(int index); -- cgit v1.2.3 From 382f48a3f359407ccbd78761027c2ad7cff05a5a Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 22:01:50 -0500 Subject: Decomp `AdventureFlags::Get_FlagsUnk_48` --- include/Save/AdventureFlags.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 19f1d3f0..68b21e7a 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -106,7 +106,7 @@ public: s32 func_ov00_02097c08(); bool Get_FlagsUnk_30_Flag(int index); u8 Get_FlagsUnk_49(s32 index); - unk8 Get_FlagsUnk_48(int index); + u8 Get_FlagsUnk_48(s32 index); unk8 Get_FlagsUnk_4a(int index); unk16 Get_FlagsUnk_42(int index); unk16 Get_FlagsUnk_40(int index); -- cgit v1.2.3 From ff133277c2f72480a45700f45b214dc088d7d4d1 Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 22:03:46 -0500 Subject: AdventureFlags: update all `int` to `s32` --- include/Save/AdventureFlags.hpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'include') diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 68b21e7a..22399d1e 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -104,19 +104,19 @@ public: bool func_ov00_02097bcc(); bool func_ov00_02097bcc(s32 param2); s32 func_ov00_02097c08(); - bool Get_FlagsUnk_30_Flag(int index); + bool Get_FlagsUnk_30_Flag(s32 index); u8 Get_FlagsUnk_49(s32 index); u8 Get_FlagsUnk_48(s32 index); - unk8 Get_FlagsUnk_4a(int index); - unk16 Get_FlagsUnk_42(int index); - unk16 Get_FlagsUnk_40(int index); - unk32 Get_FlagsUnk_38(int index); - unk32 Get_FlagsUnk_34(int index); - unk32 Get_FlagsUnk_44(int index); - static unk32 Get_FlagsUnk_30(int index); - static bool Get_FlagsUnk_00(int index, FlagsUnk2 *result); - bool Get_FlagsUnk_18(int index, FlagsUnk2 *result); - FlagsUnk *Get_FlagsUnk(int index); + unk8 Get_FlagsUnk_4a(s32 index); + unk16 Get_FlagsUnk_42(s32 index); + unk16 Get_FlagsUnk_40(s32 index); + unk32 Get_FlagsUnk_38(s32 index); + unk32 Get_FlagsUnk_34(s32 index); + unk32 Get_FlagsUnk_44(s32 index); + static unk32 Get_FlagsUnk_30(s32 index); + static bool Get_FlagsUnk_00(s32 index, FlagsUnk2 *result); + bool Get_FlagsUnk_18(s32 index, FlagsUnk2 *result); + FlagsUnk *Get_FlagsUnk(s32 index); bool func_ov00_02097e6c(); bool func_ov00_02097e7c(); bool func_ov00_02097ea4(); -- cgit v1.2.3 From cf82a39b0eb6fdfa8c113860e89dec1d2691920a Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 22:25:07 -0500 Subject: Decomp a bunch of `AdventureFlags::Get_Flags*` --- include/Save/AdventureFlags.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 22399d1e..0484fba8 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -107,9 +107,9 @@ public: bool Get_FlagsUnk_30_Flag(s32 index); u8 Get_FlagsUnk_49(s32 index); u8 Get_FlagsUnk_48(s32 index); - unk8 Get_FlagsUnk_4a(s32 index); - unk16 Get_FlagsUnk_42(s32 index); - unk16 Get_FlagsUnk_40(s32 index); + u8 Get_FlagsUnk_4a(s32 index); + u16 Get_FlagsUnk_42(s32 index); + u16 Get_FlagsUnk_40(s32 index); unk32 Get_FlagsUnk_38(s32 index); unk32 Get_FlagsUnk_34(s32 index); unk32 Get_FlagsUnk_44(s32 index); -- cgit v1.2.3 From 2eb989a4cf55fcf4de543f1ca89bfd391c664da5 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 10 May 2025 20:42:30 +0200 Subject: Match `LinkStateMove` --- include/Debug/DebugHierarchyBase.hpp | 5 +++-- include/Player/LinkStateMove.hpp | 5 +++-- include/Player/PlayerBase.hpp | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/Debug/DebugHierarchyBase.hpp b/include/Debug/DebugHierarchyBase.hpp index 5b4a175a..0e57c9a7 100644 --- a/include/Debug/DebugHierarchyBase.hpp +++ b/include/Debug/DebugHierarchyBase.hpp @@ -24,9 +24,10 @@ public: /* 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); + /* 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(); + /* 3c */ virtual void vfunc_3c(unk32 param1, void *param2); /* 40 */ DebugHierarchyBase(); diff --git a/include/Player/LinkStateMove.hpp b/include/Player/LinkStateMove.hpp index 9b369e9c..0b197a27 100644 --- a/include/Player/LinkStateMove.hpp +++ b/include/Player/LinkStateMove.hpp @@ -12,8 +12,9 @@ public: /* 10 */ unk16 mUnk_10; /* 12 */ unk16 mUnk_12; /* 14 */ bool mUnk_14; - /* 14 */ bool mUnk_15; - /* 16 */ unk8 mUnk_16[2]; + /* 15 */ bool mUnk_15; + /* 16 */ bool mUnk_16; + /* 17 */ bool mUnk_17; /* 18 */ /* 00 */ virtual void vfunc_00() override; diff --git a/include/Player/PlayerBase.hpp b/include/Player/PlayerBase.hpp index ba4b3deb..d2ffea38 100644 --- a/include/Player/PlayerBase.hpp +++ b/include/Player/PlayerBase.hpp @@ -48,8 +48,8 @@ public: void SetUpdatePos(bool updatePos); void SetVisible(bool visible); - EquipSword *GetEquipSword(); - EquipShield *GetEquipShield(); + static EquipSword *GetEquipSword(); + static EquipShield *GetEquipShield(); void LookAt(Vec3p *target); bool func_ov00_020a7c00(s32 param1); bool CollidesWith(Cylinder *cylinder); -- cgit v1.2.3 From e66cbc23e1c80e904451558317d2eba3524fcb41 Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 22 May 2025 21:39:25 +0200 Subject: Match `LinkStateMove` in overlay 5 --- include/Player/LinkStateBase.hpp | 22 +++++++++++----------- include/Player/LinkStateDamage.hpp | 1 + include/Player/LinkStateMove.hpp | 2 ++ include/Unknown/UnkStruct_02037750.hpp | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) (limited to 'include') diff --git a/include/Player/LinkStateBase.hpp b/include/Player/LinkStateBase.hpp index bca6c796..14f4603d 100644 --- a/include/Player/LinkStateBase.hpp +++ b/include/Player/LinkStateBase.hpp @@ -14,13 +14,13 @@ typedef unk32 LinkStateId; enum LinkStateId_ { - LinkStateId_Move = 0, - LinkStateId_Item = 1, - LinkStateId_Grab = 2, - LinkStateId_Unk3 = 3, - LinkStateId_Unk4 = 4, - LinkStateId_Damage = 5, - LinkStateId_ItemGet = 6, + LinkStateId_Move = 0, + LinkStateId_Item = 1, + LinkStateId_Interact = 2, + LinkStateId_Follow = 3, + LinkStateId_Roll = 4, + LinkStateId_Damage = 5, + LinkStateId_Cutscene = 6, LinkStateId_COUNT }; @@ -60,7 +60,7 @@ public: void func_ov00_020a81b8(unk32 param1, unk32 param2); LinkStateItem *GetLinkItemState(); void LookAt(Vec3p *target); - void func_ov00_020a81fc(); + void func_ov00_020a81fc(Vec3p *param1, unk32 param2); void AddHealth(s16 amount); void func_ov00_020a8224(unk32 param1); void TurnTo(s16 angle, unk32 param2, unk32 speed); @@ -82,7 +82,7 @@ public: void Clear_PlayerLinkBase_Unk48(u16 flags); void func_ov00_020a8680(unk32 param1, unk16 param2, bool param3); void PlayerLinkBase_func_ov00_020bccc8(); - bool PlayerLinkBase_vfunc_58(); + bool PlayerLinkBase_vfunc_58(unk32 param1, ActorRef *param2); bool func_ov00_020a8704(s16 *pAngle); bool func_ov00_020a8774(Vec3p *param1, s32 angle); void func_ov00_020a8844(Vec3p *param1, bool param2, bool param3); @@ -90,7 +90,7 @@ public: void func_ov00_020a8994(); void func_ov00_020a89bc(unk32 param1, unk32 param2); void func_ov00_020a8a08(unk32 param1); - void func_ov00_020a8a4c(unk32 param1, unk32 param2); + void func_ov00_020a8a4c(const void *param1, unk32 param2); void func_ov00_020a8a90(unk32 param1); void func_ov00_020a8ab0(unk32 param1); void func_ov00_020a8ad0(unk32 param1); @@ -152,6 +152,6 @@ public: void func_ov005_021113c4(bool param1); }; -LinkStateBase *GetLinkState(s32 index); +LinkStateBase *GetLinkState(LinkStateId index); extern LinkStateBase **gLinkStates; diff --git a/include/Player/LinkStateDamage.hpp b/include/Player/LinkStateDamage.hpp index 0e3a70a7..02e2c526 100644 --- a/include/Player/LinkStateDamage.hpp +++ b/include/Player/LinkStateDamage.hpp @@ -8,6 +8,7 @@ #include "Render/ModelRender.hpp" class LinkStateDamage : public LinkStateBase { +public: /* 00 (base) */ /* 0c */ void *mUnk_0c; /* 10 */ unk32 mUnk_10; diff --git a/include/Player/LinkStateMove.hpp b/include/Player/LinkStateMove.hpp index 0b197a27..a782b22d 100644 --- a/include/Player/LinkStateMove.hpp +++ b/include/Player/LinkStateMove.hpp @@ -7,6 +7,8 @@ class LinkStateMove : public LinkStateBase { public: + static unk32 data_ov000_020e56f0; + /* 00 (base) */ /* 0c */ s32 mUnk_0c; /* 10 */ unk16 mUnk_10; diff --git a/include/Unknown/UnkStruct_02037750.hpp b/include/Unknown/UnkStruct_02037750.hpp index 5fe84a89..2e5ea7b6 100644 --- a/include/Unknown/UnkStruct_02037750.hpp +++ b/include/Unknown/UnkStruct_02037750.hpp @@ -31,7 +31,7 @@ public: /* 34 */ UnkStruct_02037750(unk32 param1, unk32 param2); - LinkStateInteract *GetLinkStateInteract(); + static LinkStateInteract *GetLinkStateInteract(); void func_020385d0(s32 param1, unk32 *param2); }; -- cgit v1.2.3