summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2025-03-08 11:46:49 +0100
committerAetias <aetias@outlook.com>2025-03-08 11:46:49 +0100
commit44ba14e823fd9d67fd92166f5370683fad56f428 (patch)
tree71ef647687fa63cd11caec5990dc06eab1e27020 /src
parent35d8fa6f103a93dad0de6b7adb5181d6882db3f9 (diff)
Decomp `ActorForceNavi` and `ActorWisdomNavi` 100%
Diffstat (limited to 'src')
-rw-r--r--src/00_Core/Actor/Navi/ActorForceNavi.cpp13
-rw-r--r--src/00_Core/Actor/Navi/ActorNavi.cpp2
-rw-r--r--src/00_Core/Actor/Navi/ActorWisdomNavi.cpp13
-rw-r--r--src/00_Core/Item/ItemManager.cpp2
4 files changed, 22 insertions, 8 deletions
diff --git a/src/00_Core/Actor/Navi/ActorForceNavi.cpp b/src/00_Core/Actor/Navi/ActorForceNavi.cpp
index 6037082d..04b83c13 100644
--- a/src/00_Core/Actor/Navi/ActorForceNavi.cpp
+++ b/src/00_Core/Actor/Navi/ActorForceNavi.cpp
@@ -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;
+}
diff --git a/src/00_Core/Actor/Navi/ActorNavi.cpp b/src/00_Core/Actor/Navi/ActorNavi.cpp
index 5c4c18f4..7c195178 100644
--- a/src/00_Core/Actor/Navi/ActorNavi.cpp
+++ b/src/00_Core/Actor/Navi/ActorNavi.cpp
@@ -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() {}
diff --git a/src/00_Core/Actor/Navi/ActorWisdomNavi.cpp b/src/00_Core/Actor/Navi/ActorWisdomNavi.cpp
index 2567dc03..84c02e33 100644
--- a/src/00_Core/Actor/Navi/ActorWisdomNavi.cpp
+++ b/src/00_Core/Actor/Navi/ActorWisdomNavi.cpp
@@ -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;
+}
diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp
index 96fbad4c..3344c74e 100644
--- a/src/00_Core/Item/ItemManager.cpp
+++ b/src/00_Core/Item/ItemManager.cpp
@@ -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];
}