diff options
| author | Max Roncace <me@caseif.net> | 2026-01-13 17:58:15 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-13 14:58:15 -0800 |
| commit | c0e0bbaaf3ff70413498d2ce41f281e8aa41db07 (patch) | |
| tree | b7b24673595d7226d7d135a09802d25f86cf6214 /src/d/actor/d_a_npc_kakashi.cpp | |
| parent | 235cb9a9ad1b23da2a562c7b3bc5c25f2404299a (diff) | |
Clean up HIO for TUs using HIOParam/Param_c/HIO_c pattern (#3043)
Diffstat (limited to 'src/d/actor/d_a_npc_kakashi.cpp')
| -rw-r--r-- | src/d/actor/d_a_npc_kakashi.cpp | 77 |
1 files changed, 51 insertions, 26 deletions
diff --git a/src/d/actor/d_a_npc_kakashi.cpp b/src/d/actor/d_a_npc_kakashi.cpp index 0b7d665fae..efa8931a47 100644 --- a/src/d/actor/d_a_npc_kakashi.cpp +++ b/src/d/actor/d_a_npc_kakashi.cpp @@ -88,17 +88,6 @@ int (daNpc_Kakashi_c::*daNpc_Kakashi_c::mCutList[])(int) = { &daNpc_Kakashi_c::cutMarosWhisper, }; -daNpc_Kakashi_c::~daNpc_Kakashi_c() { - OS_REPORT("|%06d:%x|daNpc_Kakashi_c -> デストラクト\n", g_Counter.mCounter0, this); - - if (heap != NULL) { - mpMorf[0]->stopZelAnime(); - mSound.deleteObject(); - } - - deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); -} - const daNpc_Kakashi_HIOParam daNpc_Kakashi_Param_c::m = { 190.0f, -6.0f, @@ -146,6 +135,39 @@ const daNpc_Kakashi_HIOParam daNpc_Kakashi_Param_c::m = { 27.0f, }; +static NPC_KAKASHI_HIO_CLASS l_HIO; + +#if DEBUG +daNpc_Kakashi_HIO_c::daNpc_Kakashi_HIO_c() { + m = daNpc_Kakashi_Param_c::m; +} + +void daNpc_Kakashi_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { + // NONMATCHING +} + +void daNpc_Kakashi_HIO_c::genMessage(JORMContext* ctx) { + // NONMATCHING +} +#endif + +daNpc_Kakashi_c::~daNpc_Kakashi_c() { + OS_REPORT("|%06d:%x|daNpc_Kakashi_c -> デストラクト\n", g_Counter.mCounter0, this); + + if (heap != NULL) { + mpMorf[0]->stopZelAnime(); + mSound.deleteObject(); + } + +#if DEBUG + if (mpHIO != NULL) { + mpHIO->removeHIO(); + } +#endif + + deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); +} + int daNpc_Kakashi_c::create() { daNpcT_ct(this, daNpc_Kakashi_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, @@ -178,11 +200,16 @@ int daNpc_Kakashi_c::create() { mSound.init(¤t.pos, 3); +#if DEBUG + mpHIO = &l_HIO; + mpHIO->entryHIO("かかし"); +#endif + reset(); mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this), fopAcM_GetShapeAngle_p(this)); - mCcStts.Init(daNpc_Kakashi_Param_c::m.common.weight, 0, this); + mCcStts.Init(mpHIO->m.common.weight, 0, this); for (int i = 0; i < 3; i++) { mCcSph[i].Set(mCcDSph); mCcSph[i].SetStts(&mCcStts); @@ -404,18 +431,18 @@ void daNpc_Kakashi_c::setParam() { attention_info.flags = attn_flags; - scale.setall(daNpc_Kakashi_Param_c::m.common.scale); + scale.setall(mpHIO->m.common.scale); - mCcStts.SetWeight(daNpc_Kakashi_Param_c::m.common.weight); - mCylH = daNpc_Kakashi_Param_c::m.common.height; - mWallR = daNpc_Kakashi_Param_c::m.common.width; - mAttnFovY = daNpc_Kakashi_Param_c::m.common.fov; + mCcStts.SetWeight(mpHIO->m.common.weight); + mCylH = mpHIO->m.common.height; + mWallR = mpHIO->m.common.width; + mAttnFovY = mpHIO->m.common.fov; mAcchCir.SetWallR(mWallR); - mAcchCir.SetWallH(daNpc_Kakashi_Param_c::m.common.knee_length); - mRealShadowSize = daNpc_Kakashi_Param_c::m.common.real_shadow_size; - mExpressionMorfFrame = daNpc_Kakashi_Param_c::m.common.expression_morf_frame; - mMorfFrames = daNpc_Kakashi_Param_c::m.common.morf_frame; - gravity = daNpc_Kakashi_Param_c::m.common.gravity; + mAcchCir.SetWallH(mpHIO->m.common.knee_length); + mRealShadowSize = mpHIO->m.common.real_shadow_size; + mExpressionMorfFrame = mpHIO->m.common.expression_morf_frame; + mMorfFrames = mpHIO->m.common.morf_frame; + gravity = mpHIO->m.common.gravity; } void daNpc_Kakashi_c::srchActors() {} @@ -501,7 +528,7 @@ void daNpc_Kakashi_c::setAttnPos() { cXyz sp14; cXyz sp8; - f32 attn_offset = daNpc_Kakashi_Param_c::m.common.attention_offset; + f32 attn_offset = mpHIO->m.common.attention_offset; if (field_0x1392 == 0) { mDoMtx_stack_c::YrotS(field_0x138c); @@ -554,8 +581,6 @@ void daNpc_Kakashi_c::setAttnPos() { } } -static daNpc_Kakashi_Param_c l_HIO; - void daNpc_Kakashi_c::setCollision() { if (!mHide) { static cXyz armROfst(80.0f, 0.0f, 0.0f); @@ -777,7 +802,7 @@ fopAc_ac_c* daNpc_Kakashi_c::hitChk() { void daNpc_Kakashi_c::setStaggerParam(fopAc_ac_c* i_hitActor) { csXyz sp14; f32 var_f31 = 1.0f; - f32 sp28[3] = {daNpc_Kakashi_Param_c::m.field_0x8c, daNpc_Kakashi_Param_c::m.field_0x90, daNpc_Kakashi_Param_c::m.field_0x94}; + f32 sp28[3] = {mpHIO->m.field_0x8c, mpHIO->m.field_0x90, mpHIO->m.field_0x94}; field_0x138c = 0; |
