From 9f647b6b142cc773cefe92c06ea6506833f9483f Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Sat, 20 Jul 2024 19:31:55 -0400 Subject: minor bk, damagereaction, mozo work --- src/d/actor/d_a_mozo.cpp | 50 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 17 deletions(-) (limited to 'src/d/actor/d_a_mozo.cpp') diff --git a/src/d/actor/d_a_mozo.cpp b/src/d/actor/d_a_mozo.cpp index 0feb8c4d..02695e6a 100644 --- a/src/d/actor/d_a_mozo.cpp +++ b/src/d/actor/d_a_mozo.cpp @@ -1,7 +1,7 @@ -// -// Generated by dtk -// Translation Unit: d_a_mozo.cpp -// +/** + * d_a_mozo.cpp + * Moblin Statue / モ石像 (Mo Sekizou) + */ #include "d/actor/d_a_mozo.h" #include "d/res/res_mozo.h" @@ -14,12 +14,30 @@ #include "d/d_lib.h" #include "m_do/m_Do_mtx.h" #include "m_Do/m_Do_ext.h" +#include "m_Do/m_Do_hostIO.h" static daMozo_HIO_c l_HIO; /* 000000EC-000001D0 .text __ct__12daMozo_HIO_cFv */ daMozo_HIO_c::daMozo_HIO_c() { /* Nonmatching */ + m3C = 0.0f; + m40 = -300.0f; + m44 = 600.0f; + mChildID = -1; + m08 = -1; + mpBeamChild = &mBeamChild; + mpFireChild = &mFireChild; + mpBeamChild->m04 = 1000.0f; + mpBeamChild->m08 = 1200.0f; + mpBeamChild->m0C = 0x2000; + mpBeamChild->m0E = 0x2800; + mpBeamChild->m10 = 0; + mpFireChild->m04 = 1000.0f; + mpFireChild->m08 = 1200.0f; + mpFireChild->m0C = 0x2000; + mpFireChild->m0E = 0x2800; + mpFireChild->m10 = 0; } /* 000002D0-00000568 .text daMozo_nodeCallBackBeam__FP8daMozo_cP8J3DModelP7J3DNodei */ @@ -157,28 +175,22 @@ s32 daMozo_c::CreateInit() { /* Nonmatching */ J3DModelData* mdlData = mAnimMorf->getModel()->getModelData(); - int param = base.mParameters * 0xFF; - if (param == 0xFF) { - param = 0; + u8 temp = fopAcM_GetParam(this) & 0xFF; + if (temp == 0xFF) { + temp = 0; } - - int a = 2; - if (param < 3) { - a = param; - } - - // TODO: insert missing assignment here + field_0x376 = cLib_minMaxLimit(temp, 0, 2); mAnimMorf->getModel()->setUserArea((u32)this); - for (int i = 0; i < mdlData->getJointNum(); i++) { + for (u16 i = 0; i < mdlData->getJointNum(); i++) { if (i == 2) { - mdlData->getJointNodePointer(2)->setCallBack((J3DNodeCallBack)daMozo_nodeCallBack); + mdlData->getJointNodePointer(i)->setCallBack(daMozo_nodeCallBack); } } mQuatRotation = ZeroQuat; - fopAcM_setCullSizeBox(this, -1000.f, -1000.f, -1000.f, 1000.0f, 1000.0f, 1000.0f); + fopAcM_setCullSizeBox(this, -1000.0f, -1000.0f, -1000.0f, 1000.0f, 1000.0f, 1000.0f); fopAcM_SetMtx(this, mAnimMorf->getModel()->getBaseTRMtx()); // TODO: Insert missing code here @@ -187,6 +199,10 @@ s32 daMozo_c::CreateInit() { mAnimMorf->calc(); wait_proc_init(); + if (l_HIO.mChildID < 0) { + l_HIO.mChildID = mDoHIO_root.mDoHIO_createChild("モ石像", &l_HIO); // "Mo Statue" (mo sekizou) + } + return cPhs_COMPLEATE_e; } -- cgit v1.2.3