Decomp ActorForceNavi and ActorWisdomNavi 100%

This commit is contained in:
Aetias
2025-03-08 11:46:49 +01:00
parent 35d8fa6f10
commit 44ba14e823
13 changed files with 60 additions and 46 deletions
+1 -2
View File
@@ -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();
};
+1 -1
View File
@@ -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;
+13 -6
View File
@@ -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);
+1 -2
View File
@@ -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();
};
+3 -12
View File
@@ -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();