From 1b74741230645048a15aaa34f6bbcc2834c832ce Mon Sep 17 00:00:00 2001 From: NhProGamer Date: Thu, 15 Oct 2026 15:50:50 +0200 Subject: [PATCH] Address review --- include/d/a/obj/d_a_obj_move_elec.h | 10 ++++++---- include/d/col/c/c_m3d_g_unk.h | 4 ++++ src/REL/d/a/obj/d_a_obj_move_elec.cpp | 6 +++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/include/d/a/obj/d_a_obj_move_elec.h b/include/d/a/obj/d_a_obj_move_elec.h index 024d4b05..0123b401 100644 --- a/include/d/a/obj/d_a_obj_move_elec.h +++ b/include/d/a/obj/d_a_obj_move_elec.h @@ -6,13 +6,14 @@ #include "d/col/bg/d_bg_w.h" #include "d/col/cc/d_cc_d.h" #include "m/m3d/m_anmmdl.h" +#include "nw4r/g3d/res/g3d_resfile.h" #include "s/s_State.hpp" #include "toBeSorted/actor_event.h" #include "toBeSorted/d_emitter.h" class dAcOMoveElec_c : public dAcObjBase_c { public: - dAcOMoveElec_c() : mEvent(*this, nullptr), mResFile(nullptr), mStateMgr(*this) {} + dAcOMoveElec_c() : mEvent(*this, nullptr), mStateMgr(*this) {} virtual ~dAcOMoveElec_c() {} virtual bool createHeap() override; @@ -25,6 +26,9 @@ public: STATE_FUNC_DECLARE(dAcOMoveElec_c, WaitOn); STATE_FUNC_DECLARE(dAcOMoveElec_c, Move); + STATE_MGR_DEFINE_UTIL_EXECUTESTATE(dAcOMoveElec_c); + STATE_MGR_DEFINE_UTIL_ISSTATE(dAcOMoveElec_c); + private: enum Phase_e { PHASE_Start, // On at its initial position, waits for mSceneflag + 1 @@ -37,7 +41,7 @@ private: void initPhase(); /* 0x330 */ ActorEventRelated mEvent; - /* 0x380 */ void *mResFile; + /* 0x380 */ nw4r::g3d::ResFile mResFile; /* 0x384 */ m3d::mdlAnmChr mMdl; /* 0x3EC */ dBgW mBgW; /* 0x5FC */ dBgW mBgWGround; @@ -45,8 +49,6 @@ private: /* 0xA14 */ dBgS_AcchCir mAcchCir; /* 0xA70 */ dBgS_ObjAcch mAcch; /* 0xE20 */ STATE_MGR_DECLARE(dAcOMoveElec_c); - STATE_MGR_DEFINE_UTIL_EXECUTESTATE(dAcOMoveElec_c); - STATE_MGR_DEFINE_UTIL_ISSTATE(dAcOMoveElec_c); /* 0xE5C */ dEmitter_c mEffect; /* 0xE90 */ f32 mMoveDist; /* 0xE94 */ s32 mPhase; diff --git a/include/d/col/c/c_m3d_g_unk.h b/include/d/col/c/c_m3d_g_unk.h index 52c0f248..ee4dd380 100644 --- a/include/d/col/c/c_m3d_g_unk.h +++ b/include/d/col/c/c_m3d_g_unk.h @@ -47,6 +47,10 @@ public: bool Cross(const mVec3_c &); void Clamp(const mVec3_c &, mVec3_c &); void fn_80338f30(f32, f32); + + void SetField_0xB4(u32 val) { + field_0xB4 = val; + } }; #endif diff --git a/src/REL/d/a/obj/d_a_obj_move_elec.cpp b/src/REL/d/a/obj/d_a_obj_move_elec.cpp index c201c072..b965fca0 100644 --- a/src/REL/d/a/obj/d_a_obj_move_elec.cpp +++ b/src/REL/d/a/obj/d_a_obj_move_elec.cpp @@ -38,8 +38,8 @@ STATE_DEFINE(dAcOMoveElec_c, WaitOn); STATE_DEFINE(dAcOMoveElec_c, Move); bool dAcOMoveElec_c::createHeap() { - mResFile = getOarcFile("D301DamageWall", "g3d/model.brres"); - TRY_CREATE(mMdl.create(mResFile, "D301DamageWall", "D301DamageWall", &mAllocator, 0x120)); + mResFile = nw4r::g3d::ResFile(getOarcFile("D301DamageWall", "g3d/model.brres")); + TRY_CREATE(mMdl.create(mResFile.ptr(), "D301DamageWall", "D301DamageWall", &mAllocator, 0x120)); void *dzb = getOarcDZB("D301DamageWall", "D301DamageWall"); void *plc = getOarcPLC("D301DamageWall", "D301DamageWall"); updateMatrix(); @@ -73,7 +73,7 @@ int dAcOMoveElec_c::create() { mCc.SetStts(mStts); mAcceleration = 0.0f; mMaxSpeed = -40.0f; - mCc.field_0xB4 = 1; + mCc.SetField_0xB4(1); mEffect.init(this); mMdl.setAnm("D301DamageWall", m3d::PLAY_MODE_4); mMdl.setRate(0.0f);