#pragma once #include "global.h" #include "types.h" #include "Actor/Actor.hpp" #include "Player/EquipHammer.hpp" #include "Render/ModelRender.hpp" #include "Unknown/UnkStruct_ov000_020b7d74.hpp" #include "Unknown/UnkStruct_ov000_020d18f4.hpp" typedef s32 FairyId; enum FairyId_ { FairyId_None = -1, FairyId_Courage = 0, FairyId_Power = 1, FairyId_Wisdom = 2, FairyId_COUNT = 3, }; class ActorNaviBase_Unk1 : public UnkStruct_ov000_020b7d74 { public: ActorNaviBase_Unk1(); }; class ActorNaviBase_Unk2 : public UnkStruct_ov000_020c0c08 { public: /* 00 (base) */ /* 24 */ UnkStruct_ov000_020c0c08_04 mUnk_24; /* 44 */ /* 00 */ virtual ~ActorNaviBase_Unk2() override; /* 08 */ inline ActorNaviBase_Unk2(ItemModel *model) : UnkStruct_ov000_020c0c08(&mUnk_24, model) {} inline ActorNaviBase_Unk2(NsAnimation *param2, ItemModel *model) : UnkStruct_ov000_020c0c08(&mUnk_24, model) { this->func_ov000_020c0c44(param2); } }; class ActorNaviBase_Unk3 : public ModelRender { public: /* 00 */ virtual ~ActorNaviBase_Unk3() {} /* 3c */ virtual void vfunc_3c(ModelRenderCommandsData *renderData) override; /* 40 */ ActorNaviBase_Unk3(ItemModel *param1); }; class ActorNaviBase : public Actor { public: /* 000 (base) */ /* 158 */ Vec3p mOffsetPos; /* 164 */ unk32 mUnk_164; /* 168 */ ActorNaviBase_Unk3 mUnk_168; /* 1c4 */ unk8 mUnk_1c4[0xc]; /* 1d0 */ ActorNaviBase_Unk2 mUnk_1d0; /* 214 */ unk16 mUnk_214; /* 216 */ unk8 mUnk_216[0x2]; /* 218 */ ActorNaviBase_Unk1 mUnk_218[2]; /* 220 */ unk8 mUnk_220[0x2]; /* 222 */ unk16 mUnk_222; /* 224 */ UnkStruct_ov000_020d18f4 mUnk_224; /* 280 */ unk32 mUnk_280; /* 284 */ unk32 mUnk_284; /* 288 */ unk8 mUnk_288; /* 288 */ unk8 mUnk_289; /* 28a */ unk16 mUnk_28a; /* 28c */ unk8 mUnk_28c; /* 28d */ unk8 mUnk_28d; /* 28e */ unk8 mUnk_28e; /* 28e */ unk8 mUnk_28f; /* 290 */ unk8 mUnk_290; /* 291 */ unk8 mUnk_291; /* 294 */ /* 00 */ virtual ~ActorNaviBase() override; /* 08 */ virtual bool Init() override; /* 10 */ virtual void vfunc_10(u32 param1) override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; /* 20 */ virtual void vfunc_20(bool param1) override; /* 30 */ virtual unk32 vfunc_30() override; /* 34 */ virtual void GetOffsetPos(Vec3p *pos) override; /* 38 */ virtual unk32 vfunc_38() override; /* 74 */ virtual void vfunc_74(ActorRef *) override; /* 78 */ virtual bool vfunc_78() override; /* 80 */ virtual void vfunc_80() override; /* 84 */ virtual void vfunc_84() override; /* 90 */ virtual bool vfunc_90(unk32 param1, unk32 param2) override; /* 94 */ virtual void vfunc_94(unk32 param1, unk32 param2) override; /* 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); /* c4 */ virtual u16 vfunc_c4(); /* c8 */ virtual u16 vfunc_c8(); /* cc */ virtual bool vfunc_cc(unk32 *param1); /* d0 */ virtual void vfunc_d0(); /* d4 */ virtual void vfunc_d4(); /* d8 */ virtual void vfunc_d8(); /* dc */ virtual void SetActive(unk32 active); /* e0 */ virtual void vfunc_e0(); /* e4 */ virtual void vfunc_e4(); /* e8 */ virtual void vfunc_e8(); /* ec */ virtual void vfunc_ec(); /* f0 */ void func_ov000_020b8c50(unk32); void func_ov000_020b8c98(unk32 param1, unk32 param2, unk32 param3); void TeleportAboveLink(); void func_ov000_020b9770(s32 param1); void func_ov000_020b9fdc(); void func_ov000_020b9fe8(); unk32 func_ov000_020ba204(Vec3p *param1, Vec3p *param2, s32 param3); unk32 func_ov000_020ba3b4(); void func_ov000_020ba414(Vec3p *param1); bool func_ov000_020ba458(); void func_ov000_020ba4e4(); void func_ov000_020ba53c(); void func_ov000_020baca8(Vec3p *param1, unk32 param2); void func_ov000_020bad18(); static void func_ov000_020bb0ac(); static void func_ov000_020bb0e0(); ActorNaviBase(); };