From bd747975ff0197043a4e2c655cd3bd9d4874d2e8 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sat, 8 Feb 2025 12:40:01 +0100 Subject: cleanup actornavibase and match `ActorNavi::func_ov059_0219b020` --- src/00_Core/Actor/Navi/ActorNaviBase.cpp | 2 +- src/59_Hammer/Actor/Navi/ActorNaviBase.cpp | 34 ++++++++++++++++++++++++------ 2 files changed, 28 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/00_Core/Actor/Navi/ActorNaviBase.cpp b/src/00_Core/Actor/Navi/ActorNaviBase.cpp index 677d677b..0c681c70 100644 --- a/src/00_Core/Actor/Navi/ActorNaviBase.cpp +++ b/src/00_Core/Actor/Navi/ActorNaviBase.cpp @@ -12,7 +12,7 @@ void ActorNaviBase::func_ov000_020b8c50() {} void ActorNaviBase::func_ov000_020b8c98(unk32 param1, unk32 param2, unk32 param3) {} void ActorNaviBase::vfunc_d4() {} void ActorNaviBase::vfunc_d8() {} -void ActorNaviBase::SetActive(bool active) {} +void ActorNaviBase::SetActive(unk32 active) {} void ActorNaviBase::TeleportAboveLink() {} void ActorNaviBase::vfunc_e0() {} void ActorNaviBase::vfunc_e4() {} diff --git a/src/59_Hammer/Actor/Navi/ActorNaviBase.cpp b/src/59_Hammer/Actor/Navi/ActorNaviBase.cpp index 109a14b4..f272c4e0 100644 --- a/src/59_Hammer/Actor/Navi/ActorNaviBase.cpp +++ b/src/59_Hammer/Actor/Navi/ActorNaviBase.cpp @@ -1,9 +1,29 @@ #include "Actor/Navi/ActorNaviBase.hpp" +#include "Actor/Navi/ActorNavi.hpp" +#include "Player/PlayerControl.hpp" +#include "Item/ItemManager.hpp" -bool ActorNaviBase::func_ov059_0219933c(u32 param1) {} -void ActorNaviBase::func_ov059_0219a0ac() {} -void ActorNaviBase::func_ov059_0219aa08() {} -void ActorNaviBase::func_ov059_0219aba8(u32 param1) {} -bool ActorNaviBase::func_ov059_0219af14() {} -bool ActorNaviBase::func_ov059_0219afc4() {} -void ActorNaviBase::func_ov059_0219b020() {} +ARM bool ActorNavi::func_ov059_0219933c(u32 param1) {} +ARM void ActorNavi::func_ov059_0219a0ac() {} +ARM void ActorNavi::func_ov059_0219aa08() {} +ARM void ActorNavi::func_ov059_0219aba8(u32 param1) {} +ARM bool ActorNavi::func_ov059_0219af14() {} +ARM bool ActorNavi::func_ov059_0219afc4() {} + +ARM void ActorNavi::func_ov059_0219b020() { + + if (gItemManager->GetEquippedFairy() != FairyId_Courage) { + ItemManager* itemMgr = gItemManager; + + this->mPrevPos = this->mUnk_158 = this->mPos = itemMgr->GetFairy(itemMgr->GetEquippedFairy())->mPos; + } else { + this->mUnk_158 = this->mPos; + } + + gPlayerControl->mAimWorld = this->mUnk_158; + + this->mHammer = GetEquipHammer(); + this->mUnk_3c0[0] = 0x0; + this->mUnk_3c0[2] = 0x0; + this->SetActive(3); +} -- cgit v1.2.3