diff options
| author | Aetias <aetias@outlook.com> | 2025-03-08 11:46:49 +0100 |
|---|---|---|
| committer | Aetias <aetias@outlook.com> | 2025-03-08 11:46:49 +0100 |
| commit | 44ba14e823fd9d67fd92166f5370683fad56f428 (patch) | |
| tree | 71ef647687fa63cd11caec5990dc06eab1e27020 /include | |
| parent | 35d8fa6f103a93dad0de6b7adb5181d6882db3f9 (diff) | |
Decomp `ActorForceNavi` and `ActorWisdomNavi` 100%
Diffstat (limited to 'include')
| -rw-r--r-- | include/Actor/Navi/ActorForceNavi.hpp | 3 | ||||
| -rw-r--r-- | include/Actor/Navi/ActorNavi.hpp | 2 | ||||
| -rw-r--r-- | include/Actor/Navi/ActorNaviBase.hpp | 19 | ||||
| -rw-r--r-- | include/Actor/Navi/ActorWisdomNavi.hpp | 3 | ||||
| -rw-r--r-- | include/Item/ItemManager.hpp | 15 |
5 files changed, 19 insertions, 23 deletions
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();
|
