mirror of
https://github.com/zeldaret/ph
synced 2026-05-30 00:46:38 -04:00
Decomp ActorForceNavi and ActorWisdomNavi 100%
This commit is contained in:
@@ -38,6 +38,7 @@ src/00_Core/Actor/Navi/ActorNavi.cpp:
|
||||
.sbss start:0x020ee1a0 end:0x020ee1d8
|
||||
|
||||
src/00_Core/Actor/Navi/ActorForceNavi.cpp:
|
||||
complete
|
||||
.text start:0x020b862c end:0x020b86a4
|
||||
.init start:0x020e133c end:0x020e137c
|
||||
.ctor start:0x020e1f0c end:0x020e1f10
|
||||
@@ -51,6 +52,7 @@ src/00_Core/Actor/Navi/ActorNaviBase.cpp:
|
||||
.sbss start:0x020ee1f8 end:0x020ee1fc
|
||||
|
||||
src/00_Core/Actor/Navi/ActorWisdomNavi.cpp:
|
||||
complete
|
||||
.text start:0x020c0b64 end:0x020c0bdc
|
||||
.init start:0x020e1b54 end:0x020e1b94
|
||||
.ctor start:0x020e1f18 end:0x020e1f1c
|
||||
|
||||
@@ -2407,7 +2407,7 @@ _ZN24UnkStruct_ov000_020b81108vfunc_14EPt kind:function(arm,size=0xc) addr:0x20b
|
||||
_ZN9ActorNavi19func_ov000_020b8200Ev kind:function(arm,size=0x10) addr:0x20b8200
|
||||
_ZN9ActorNavi8vfunc_c4Ev kind:function(arm,size=0x38) addr:0x20b8210
|
||||
_ZN9ActorNavi8vfunc_c8Ev kind:function(arm,size=0x38) addr:0x20b8248
|
||||
_ZN9ActorNavi8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x20b8280
|
||||
_ZN9ActorNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b8280
|
||||
_ZN9ActorNavi8vfunc_b8Ev kind:function(arm,size=0x8) addr:0x20b8288
|
||||
_ZN9ActorNavi8vfunc_d4Ev kind:function(arm,size=0x2c) addr:0x20b8290
|
||||
_ZN9ActorNavi8vfunc_d0Ev kind:function(arm,size=0x2c) addr:0x20b82bc
|
||||
@@ -2428,9 +2428,9 @@ func_ov000_020b85d8 kind:function(thumb,size=0x28) addr:0x20b85d8
|
||||
func_ov000_020b8600 kind:function(arm,size=0x10) addr:0x20b8600
|
||||
func_ov000_020b8610 kind:function(arm,size=0x1c) addr:0x20b8610
|
||||
_ZN14ActorForceNavi6CreateEv kind:function(arm,size=0x40) addr:0x20b862c
|
||||
_ZN14ActorForceNavi8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x20b866c
|
||||
_ZN14ActorForceNaviD1Ev kind:function(arm,size=0x1c) addr:0x20b8674
|
||||
_ZN14ActorForceNaviD0Ev kind:function(arm,size=0x14) addr:0x20b8690
|
||||
_ZN14ActorForceNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b866c
|
||||
_ZN14ActorForceNaviD0Ev kind:function(arm,size=0x1c) addr:0x20b8674
|
||||
_ZN14ActorForceNaviD1Ev kind:function(arm,size=0x14) addr:0x20b8690
|
||||
func_ov000_020b86a4 kind:function(arm,size=0x44) addr:0x20b86a4
|
||||
func_ov000_020b86e8 kind:function(arm,size=0x30) addr:0x20b86e8
|
||||
func_ov000_020b8718 kind:function(arm,size=0x8) addr:0x20b8718
|
||||
@@ -2697,9 +2697,9 @@ _ZN11EquipShield8vfunc_30Ev kind:function(arm,size=0x68) addr:0x20c0804
|
||||
_ZN11EquipShield8vfunc_38Ei kind:function(arm,size=0x21c) addr:0x20c086c
|
||||
_ZNK11EquipShield9GetHitboxEP8Cylinder kind:function(arm,size=0xdc) addr:0x20c0a88
|
||||
_ZN15ActorWisdomNavi6CreateEv kind:function(arm,size=0x40) addr:0x20c0b64
|
||||
_ZN15ActorWisdomNavi8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x20c0ba4
|
||||
_ZN15ActorWisdomNaviD1Ev kind:function(arm,size=0x1c) addr:0x20c0bac
|
||||
_ZN15ActorWisdomNaviD0Ev kind:function(arm,size=0x14) addr:0x20c0bc8
|
||||
_ZN15ActorWisdomNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20c0ba4
|
||||
_ZN15ActorWisdomNaviD0Ev kind:function(arm,size=0x1c) addr:0x20c0bac
|
||||
_ZN15ActorWisdomNaviD1Ev kind:function(arm,size=0x14) addr:0x20c0bc8
|
||||
func_ov000_020c0bdc kind:function(arm,size=0x2c) addr:0x20c0bdc
|
||||
func_ov000_020c0c08 kind:function(thumb,size=0x28) addr:0x20c0c08
|
||||
func_ov000_020c0c30 kind:function(thumb,size=0x4) addr:0x20c0c30
|
||||
|
||||
@@ -38,6 +38,7 @@ src/00_Core/Actor/Navi/ActorNavi.cpp:
|
||||
.sbss start:0x020ee140 end:0x020ee178
|
||||
|
||||
src/00_Core/Actor/Navi/ActorForceNavi.cpp:
|
||||
complete
|
||||
.text start:0x020b85cc end:0x020b8644
|
||||
.init start:0x020e12dc end:0x020e131c
|
||||
.ctor start:0x020e1eac end:0x020e1eb0
|
||||
@@ -51,11 +52,12 @@ src/00_Core/Actor/Navi/ActorNaviBase.cpp:
|
||||
.sbss start:0x020ee198 end:0x020ee19c
|
||||
|
||||
src/00_Core/Actor/Navi/ActorWisdomNavi.cpp:
|
||||
complete
|
||||
.text start:0x020c0b04 end:0x020c0b7c
|
||||
.init start:0x020e1af4 end:0x020e1b34
|
||||
.ctor start:0x020e1eb8 end:0x020e1ebc
|
||||
.data start:0x020e7038 end:0x020e7130
|
||||
.sbss start:0x020ee530 end:0x020ee53c
|
||||
.sbss start:0x020ee530 end:0x020ee550
|
||||
|
||||
src/00_Core/Item/Item.cpp:
|
||||
.text start:0x020acfc0 end:0x020ad030
|
||||
|
||||
@@ -2407,7 +2407,7 @@ _ZN24UnkStruct_ov000_020b81108vfunc_14EPt kind:function(arm,size=0xc) addr:0x20b
|
||||
_ZN9ActorNavi19func_ov000_020b8200Ev kind:function(arm,size=0x10) addr:0x20b81a0
|
||||
_ZN9ActorNavi8vfunc_c4Ev kind:function(arm,size=0x38) addr:0x20b81b0
|
||||
_ZN9ActorNavi8vfunc_c8Ev kind:function(arm,size=0x38) addr:0x20b81e8
|
||||
_ZN9ActorNavi8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x20b8220
|
||||
_ZN9ActorNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b8220
|
||||
_ZN9ActorNavi8vfunc_b8Ev kind:function(arm,size=0x8) addr:0x20b8228
|
||||
_ZN9ActorNavi8vfunc_d4Ev kind:function(arm,size=0x2c) addr:0x20b8230
|
||||
_ZN9ActorNavi8vfunc_d0Ev kind:function(arm,size=0x2c) addr:0x20b825c
|
||||
@@ -2428,9 +2428,9 @@ func_ov000_020b85d8 kind:function(thumb,size=0x28) addr:0x20b8578
|
||||
func_ov000_020b8600 kind:function(arm,size=0x10) addr:0x20b85a0
|
||||
func_ov000_020b8610 kind:function(arm,size=0x1c) addr:0x20b85b0
|
||||
_ZN14ActorForceNavi6CreateEv kind:function(arm,size=0x40) addr:0x20b85cc
|
||||
_ZN14ActorForceNavi8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x20b860c
|
||||
_ZN14ActorForceNaviD1Ev kind:function(arm,size=0x1c) addr:0x20b8614
|
||||
_ZN14ActorForceNaviD0Ev kind:function(arm,size=0x14) addr:0x20b8630
|
||||
_ZN14ActorForceNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b860c
|
||||
_ZN14ActorForceNaviD0Ev kind:function(arm,size=0x1c) addr:0x20b8614
|
||||
_ZN14ActorForceNaviD1Ev kind:function(arm,size=0x14) addr:0x20b8630
|
||||
func_ov000_020b86a4 kind:function(arm,size=0x44) addr:0x20b8644
|
||||
func_ov000_020b86e8 kind:function(arm,size=0x30) addr:0x20b8688
|
||||
func_ov000_020b8718 kind:function(arm,size=0x8) addr:0x20b86b8
|
||||
@@ -2697,9 +2697,9 @@ _ZN11EquipShield8vfunc_30Ev kind:function(arm,size=0x68) addr:0x20c07a4
|
||||
_ZN11EquipShield8vfunc_38Ei kind:function(arm,size=0x21c) addr:0x20c080c
|
||||
_ZNK11EquipShield9GetHitboxEP8Cylinder kind:function(arm,size=0xdc) addr:0x20c0a28
|
||||
_ZN15ActorWisdomNavi6CreateEv kind:function(arm,size=0x40) addr:0x20c0b04
|
||||
_ZN15ActorWisdomNavi8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x20c0b44
|
||||
_ZN15ActorWisdomNaviD1Ev kind:function(arm,size=0x1c) addr:0x20c0b4c
|
||||
_ZN15ActorWisdomNaviD0Ev kind:function(arm,size=0x14) addr:0x20c0b68
|
||||
_ZN15ActorWisdomNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20c0b44
|
||||
_ZN15ActorWisdomNaviD0Ev kind:function(arm,size=0x1c) addr:0x20c0b4c
|
||||
_ZN15ActorWisdomNaviD1Ev kind:function(arm,size=0x14) addr:0x20c0b68
|
||||
func_ov000_020c0bdc kind:function(arm,size=0x2c) addr:0x20c0b7c
|
||||
func_ov000_020c0c08 kind:function(thumb,size=0x28) addr:0x20c0ba8
|
||||
func_ov000_020c0c30 kind:function(thumb,size=0x4) addr:0x20c0bd0
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
#include "Actor/Navi/ActorForceNavi.hpp"
|
||||
|
||||
#pragma section sbss begin
|
||||
ActorType ActorForceNavi::gType = ActorType(ActorTypeId_ForceNavi, (ActorCreateFunc) ActorForceNavi::Create, NULL);
|
||||
#pragma section sbss end
|
||||
|
||||
ActorForceNavi *ActorForceNavi::Create() {}
|
||||
void ActorForceNavi::vfunc_b4() {}
|
||||
ActorForceNavi::~ActorForceNavi() {}
|
||||
extern u32 **data_027e0fe0[];
|
||||
ActorForceNavi *ActorForceNavi::Create() {
|
||||
return new(*data_027e0fe0[0], 4) ActorForceNavi();
|
||||
}
|
||||
|
||||
ARM FairyId ActorForceNavi::GetFairyId() {
|
||||
return FairyId_Power;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ void UnkStruct_ov000_020b8110::vfunc_14(u16 *param1) {}
|
||||
void ActorNavi::func_ov000_020b8200() {}
|
||||
void ActorNavi::vfunc_c4() {}
|
||||
void ActorNavi::vfunc_c8() {}
|
||||
void ActorNavi::vfunc_b4() {}
|
||||
FairyId ActorNavi::GetFairyId() {}
|
||||
s32 ActorNavi::vfunc_b8() {}
|
||||
void ActorNavi::vfunc_d4() {}
|
||||
void ActorNavi::vfunc_d0() {}
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
#include "Actor/Navi/ActorWisdomNavi.hpp"
|
||||
|
||||
#pragma section sbss begin
|
||||
ActorType ActorWisdomNavi::gType = ActorType(ActorTypeId_WisdomNavi, (ActorCreateFunc) ActorWisdomNavi::Create, NULL);
|
||||
#pragma section sbss end
|
||||
|
||||
ActorWisdomNavi *ActorWisdomNavi::Create() {}
|
||||
void ActorWisdomNavi::vfunc_b4() {}
|
||||
ActorWisdomNavi::~ActorWisdomNavi() {}
|
||||
extern u32 **data_027e0fe0[];
|
||||
ARM ActorWisdomNavi *ActorWisdomNavi::Create() {
|
||||
return new(*data_027e0fe0[0], 4) ActorWisdomNavi();
|
||||
}
|
||||
|
||||
ARM FairyId ActorWisdomNavi::GetFairyId() {
|
||||
return FairyId_Wisdom;
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ ARM FairyId ItemManager::GetEquippedFairy() const {
|
||||
return fairy;
|
||||
}
|
||||
|
||||
ARM ActorNavi *ItemManager::GetFairy(FairyId id) const {
|
||||
ARM ActorNaviBase *ItemManager::GetFairy(FairyId id) const {
|
||||
return mFairies[id];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user