From 24be72eec1057dad203ef35db502e98e1d71438f Mon Sep 17 00:00:00 2001 From: Sebastian Snoer Date: Mon, 26 May 2025 17:56:33 +0200 Subject: [PATCH] fully implemented --- configure.py | 12 +++--------- include/d/a/obj/d_a_obj_tarzan_pole.h | 2 ++ src/REL/d/a/obj/d_a_obj_tarzan_pole.cpp | 7 ++++--- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/configure.py b/configure.py index b3fae83d..d5fa7f23 100644 --- a/configure.py +++ b/configure.py @@ -17,14 +17,8 @@ import sys from pathlib import Path from typing import Any, Dict, List -from tools.project import ( - Object, - ProjectConfig, - ProgressCategory, - calculate_progress, - generate_build, - is_windows, -) +from tools.project import (Object, ProgressCategory, ProjectConfig, + calculate_progress, generate_build, is_windows) # Game versions DEFAULT_VERSION = 0 @@ -2293,7 +2287,7 @@ config.libs = [ Rel(NonMatching, "d_a_obj_syako_shutter", "REL/d/a/obj/d_a_obj_syako_shutter.cpp"), Rel(NonMatching, "d_a_obj_tableware", "REL/d/a/obj/d_a_obj_tableware.cpp"), Rel(NonMatching, "d_a_obj_tackle", "REL/d/a/obj/d_a_obj_tackle.cpp"), - Rel(NonMatching, "d_a_obj_tarzan_pole", "REL/d/a/obj/d_a_obj_tarzan_pole.cpp"), + Rel(Matching, "d_a_obj_tarzan_pole", "REL/d/a/obj/d_a_obj_tarzan_pole.cpp"), Rel(NonMatching, "d_a_obj_tenijima", "REL/d/a/obj/d_a_obj_tenijima.cpp"), Rel(NonMatching, "d_a_obj_teni_rail", "REL/d/a/obj/d_a_obj_teni_rail.cpp"), Rel( diff --git a/include/d/a/obj/d_a_obj_tarzan_pole.h b/include/d/a/obj/d_a_obj_tarzan_pole.h index ec9754d8..56ba0607 100644 --- a/include/d/a/obj/d_a_obj_tarzan_pole.h +++ b/include/d/a/obj/d_a_obj_tarzan_pole.h @@ -21,6 +21,8 @@ public: private: static dCcD_SrcSph sCcSrc; + static const f32 sUnusedFloat; + static const f32 sUnusedFloat2; /* 0x330 */ nw4r::g3d::ResFile mBrres; /* 0x334 */ m3d::smdl_c mMdl; diff --git a/src/REL/d/a/obj/d_a_obj_tarzan_pole.cpp b/src/REL/d/a/obj/d_a_obj_tarzan_pole.cpp index 042916fb..566c669f 100644 --- a/src/REL/d/a/obj/d_a_obj_tarzan_pole.cpp +++ b/src/REL/d/a/obj/d_a_obj_tarzan_pole.cpp @@ -25,6 +25,7 @@ dCcD_SrcSph dAcOTarzanPole_c::sCcSrc = { // clang-format on bool dAcOTarzanPole_c::createHeap() { + 320.0f; // To fix .rodata // Get Res File void *resFile = getOarcResFile("WhipBar"); mBrres = nw4r::g3d::ResFile(resFile); @@ -44,6 +45,7 @@ bool dAcOTarzanPole_c::createHeap() { return true; } +const f32 dAcOTarzanPole_c::sUnusedFloat = 0.0f; int dAcOTarzanPole_c::create() { if (!initAllocatorWork1Heap(0xFFFFFFFF, "dAcOTarzanPole_c::m_allocator", 0x20)) { return FAILED; @@ -74,13 +76,12 @@ int dAcOTarzanPole_c::doDelete() { return SUCCEEDED; } +const f32 dAcOTarzanPole_c::sUnusedFloat2 = 320.0f; int dAcOTarzanPole_c::actorExecute() { - // Update matrix updateMatrix(); mMdl.setLocalMtx(mWorldMtx); mMdl.calc(false); - // IDK Player? dAcPy_c *player = dAcPy_c::LINK; bool bVar = false; if (mCollider.mTg.MskRPrm(1) && mCollider.mTg.GetActor() != nullptr) { @@ -96,7 +97,7 @@ int dAcOTarzanPole_c::actorExecute() { poscopy3 = poscopy2 + mVec3_c::Ey * 20; if (player != nullptr && !player->checkActionFlags(0x400000) && dAcItem_c::checkFlag(ITEM_WHIP)) { - AttentionManager::GetInstance()->addUnk7Target((dAcObjBase_c &)*this, 1000, 0, 10, -600.0, 200); + AttentionManager::GetInstance()->addUnk7Target((dAcObjBase_c &)*this, 1, 1000.0f, 10.0f, -600.0, 200); } mCollider.SetC(poscopy2);