diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-07-17 16:08:55 -0400 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-07-17 16:08:55 -0400 |
| commit | c1513e97e57f13a37f1d6637d508b04da8490654 (patch) | |
| tree | 79d5ca6c5aefc0ece75581b672088472719738f1 | |
| parent | d3d65a4d8c31f796ae6db18291447010295d8fa5 (diff) | |
Some npc/ship inline fixes from debug map
| -rwxr-xr-x | configure.py | 4 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphBase/J3DTexture.h | 6 | ||||
| -rw-r--r-- | include/d/actor/d_a_npc_ho.h | 5 | ||||
| -rw-r--r-- | include/d/actor/d_a_npc_mk.h | 8 | ||||
| -rw-r--r-- | include/d/actor/d_a_tornado.h | 36 | ||||
| -rw-r--r-- | src/d/actor/d_a_npc_ho.cpp | 15 | ||||
| -rw-r--r-- | src/d/actor/d_a_npc_hr.cpp | 22 | ||||
| -rw-r--r-- | src/d/actor/d_a_npc_mk.cpp | 18 | ||||
| -rw-r--r-- | src/d/actor/d_a_player_main.cpp | 2 | ||||
| -rw-r--r-- | src/d/actor/d_a_ship.cpp | 76 | ||||
| -rw-r--r-- | src/d/actor/d_a_tornado.cpp | 10 |
11 files changed, 99 insertions, 103 deletions
diff --git a/configure.py b/configure.py index b12d8530..a04701ed 100755 --- a/configure.py +++ b/configure.py @@ -1668,7 +1668,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_gk1"), ActorRel(NonMatching, "d_a_npc_gp1"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_npc_hi1"), - ActorRel(Matching, "d_a_npc_ho"), + ActorRel(Matching, "d_a_npc_ho"), ActorRel(Matching, "d_a_npc_hr"), ActorRel(Matching, "d_a_npc_jb1"), ActorRel(NonMatching, "d_a_npc_ji1"), @@ -1681,7 +1681,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_ko1"), ActorRel(NonMatching, "d_a_npc_kp1"), ActorRel(Matching, "d_a_npc_ls1"), - ActorRel(Matching, "d_a_npc_mk"), + ActorRel(Matching, "d_a_npc_mk"), ActorRel(NonMatching, "d_a_npc_mn"), ActorRel(Matching, "d_a_npc_mt"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_npc_nz"), diff --git a/include/JSystem/J3DGraphBase/J3DTexture.h b/include/JSystem/J3DGraphBase/J3DTexture.h index fa325cf6..45fd1d5e 100644 --- a/include/JSystem/J3DGraphBase/J3DTexture.h +++ b/include/JSystem/J3DGraphBase/J3DTexture.h @@ -68,15 +68,13 @@ public: void calc(); J3DTexMtxInfo& getTexMtxInfo() { return mTexMtxInfo; } + J3DTextureSRTInfo& getTextureSRT() { return mTexMtxInfo.mSRT;} Mtx& getMtx() { return mMtx; } void setEffectMtx(Mtx effectMtx) { mTexMtxInfo.setEffectMtx(effectMtx); } Mtx& getViewMtx() { return mViewMtx; } void setViewMtx(const Mtx viewMtx) { MTXCopy(viewMtx, mViewMtx); } - void setTranslationX(f32 translationX){ mTexMtxInfo.mSRT.mTranslationX = translationX; } // Fakematch - - J3DTextureSRTInfo& getTextureSRT() { return mTexMtxInfo.mSRT;} -private: +public: /* 0x00 */ J3DTexMtxInfo mTexMtxInfo; /* 0x64 */ Mtx mMtx; /* 0x94 */ Mtx mViewMtx; diff --git a/include/d/actor/d_a_npc_ho.h b/include/d/actor/d_a_npc_ho.h index 69cf69e5..56287026 100644 --- a/include/d/actor/d_a_npc_ho.h +++ b/include/d/actor/d_a_npc_ho.h @@ -44,16 +44,15 @@ public: typedef int (daNpc_Ho_c::*ActionFunc)(void*); - - bool ChkOrder(u8 temp) { return mOrderFlags & temp; } + BOOL ChkOrder(u8 flag) { return mOrderFlags & flag; } void ClrOrder() { mOrderFlags = 0; } void SetOrder(u8 temp) { mOrderFlags |= temp; } bool chkFlag(u16 flag) { return (mFlags & flag) == flag; } void clrFlag(u16 flag) { mFlags &= ~flag; } s8 getBackboneJntNum() { return m_jnt.getBackboneJntNum(); } - s16 getBackbone_y() { return m_jnt.getBackbone_y(); } s8 getHeadJntNum() { return m_jnt.getHeadJntNum(); } + s16 getBackbone_y() { return m_jnt.getBackbone_y(); } s16 getHead_x() { return m_jnt.getHead_x(); } s16 getHead_y() { return m_jnt.getHead_y(); } diff --git a/include/d/actor/d_a_npc_mk.h b/include/d/actor/d_a_npc_mk.h index 6e6272b5..e2e984fa 100644 --- a/include/d/actor/d_a_npc_mk.h +++ b/include/d/actor/d_a_npc_mk.h @@ -59,17 +59,17 @@ public: typedef BOOL (daNpc_Mk_c::*ActionFunc)(void*); - bool ChkOrder(u8 temp) { return mOrderFlags & temp; } - void ClrOrder() { mOrderFlags &= ~0xFF; } - void SetOrder(u8 temp) { mOrderFlags |= temp; } + BOOL ChkOrder(u8 flag) { return mOrderFlags & flag; } + void ClrOrder(u8 flag) { mOrderFlags &= ~flag; } + void SetOrder(u8 flag) { mOrderFlags |= flag; } void chkAngry() {} bool chkFlag(u16 flag) { return (mFlags & flag) == flag; } void clrFlag(u16 flag) { mFlags &= ~flag; } s8 getBackboneJntNum() { return m_jnt.getBackboneJntNum(); } + s8 getHeadJntNum() { return m_jnt.getHeadJntNum(); } s16 getBackbone_x() { return m_jnt.getBackbone_x(); } s16 getBackbone_y() { return m_jnt.getBackbone_y(); } - s8 getHeadJntNum() { return m_jnt.getHeadJntNum(); } s16 getHead_x() { return m_jnt.getHead_x(); } s16 getHead_y() { return m_jnt.getHead_y(); } void getVisitMode() {} diff --git a/include/d/actor/d_a_tornado.h b/include/d/actor/d_a_tornado.h index 7f7d58b2..dabd643a 100644 --- a/include/d/actor/d_a_tornado.h +++ b/include/d/actor/d_a_tornado.h @@ -14,27 +14,27 @@ class daTornado_HIO_c0 { class daTornado_c : public fopAc_ac_c { public: - float getJointXPos(int jno) const { + f32 getJointXPos(int jno) const { if (mpModel) return mpModel->getAnmMtx(jno)[0][3]; else return current.pos.x; } - float getJointYPos(int jno) const { + f32 getJointYPos(int jno) const { if (mpModel) return mpModel->getAnmMtx(jno)[1][3]; else return current.pos.y; } - float getJointZPos(int jno) const { + f32 getJointZPos(int jno) const { if (mpModel) return mpModel->getAnmMtx(jno)[2][3]; else return current.pos.z; } - void getScaleEnd() {} - void getSmallScaleEnd() {} - void setScaleOn() {} + f32 getScaleEnd() { return mJointScale[10]; } + f32 getSmallScaleEnd() { return mJointScale[10]; } + void setScaleOn() { m31c = 1; } BOOL jointCallBack(int); BOOL draw(); @@ -43,7 +43,7 @@ public: BOOL createHeap(); cPhs_State create(); -public: +private: /* 0x290 */ request_of_phase_process_class mPhs; /* 0x298 */ J3DModel* mpModel; /* 0x29c */ mDoExt_bckAnm mBck; @@ -53,17 +53,17 @@ public: /* 0x2dc */ mDoExt_bckAnm mBckUnder; /* 0x2ec */ mDoExt_btkAnm mBtkUnder; /* 0x300 */ mDoExt_brkAnm mBrkUnder; - /* 0x318 */ short mAngle1; - /* 0x31a */ short mAngle2; - /* 0x31c */ short m31c; - /* 0x31e */ short mPtclTimer; - /* 0x320 */ float mBtkFrame; - /* 0x324 */ float mBtkUnderFrame; - /* 0x328 */ float mBrkFrame; - /* 0x32c */ float m32c; - /* 0x330 */ float mJointX[11]; - /* 0x35c */ float mJointZ[11]; - /* 0x388 */ float mJointScale[11]; + /* 0x318 */ s16 mAngle1; + /* 0x31a */ s16 mAngle2; + /* 0x31c */ s16 m31c; + /* 0x31e */ s16 mPtclTimer; + /* 0x320 */ f32 mBtkFrame; + /* 0x324 */ f32 mBtkUnderFrame; + /* 0x328 */ f32 mBrkFrame; + /* 0x32c */ f32 m32c; + /* 0x330 */ f32 mJointX[11]; + /* 0x35c */ f32 mJointZ[11]; + /* 0x388 */ f32 mJointScale[11]; /* 0x3b4 */ cXyz mCenter; /* 0x3c0 */ dPa_followEcallBack mPtclCb; }; diff --git a/src/d/actor/d_a_npc_ho.cpp b/src/d/actor/d_a_npc_ho.cpp index f512a9b6..6c60b653 100644 --- a/src/d/actor/d_a_npc_ho.cpp +++ b/src/d/actor/d_a_npc_ho.cpp @@ -26,8 +26,6 @@ static const int l_btp_ix_tbl[] = { /* 00000078-0000022C .text nodeCallBack_Ho__FP7J3DNodei */ static BOOL nodeCallBack_Ho(J3DNode* node, int calcTiming) { - cXyz temp; - cXyz temp2; if (calcTiming == J3DNodeCBCalcTiming_In) { J3DModel* model = j3dSys.getModel(); daNpc_Ho_c* i_this = (daNpc_Ho_c*)model->getUserArea(); @@ -37,9 +35,10 @@ static BOOL nodeCallBack_Ho(J3DNode* node, int calcTiming) { if(i_this != NULL) { MTXCopy(model->getAnmMtx(jntNo), *calc_mtx); if (jntNo == i_this->getHeadJntNum()) { - temp.setall(0.0f); + cXyz temp(0.0f, 0.0f, 0.0f); cMtx_YrotM(*calc_mtx, -i_this->getHead_y()); cMtx_ZrotM(*calc_mtx, -i_this->getHead_x()); + cXyz temp2; MtxPosition(&temp, &temp2); i_this->setAttentionBasePos(temp2); temp.set(20.0f, -20.0f, 0.0f); @@ -49,9 +48,9 @@ static BOOL nodeCallBack_Ho(J3DNode* node, int calcTiming) { i_this->incAttnSetCount(); } else if (jntNo == i_this->getBackboneJntNum()) { - mDoMtx_XrotM(*calc_mtx, i_this->getBackbone_y()); + cMtx_XrotM(*calc_mtx, (s16)i_this->getBackbone_y()); } - cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx); + MTXCopy(*calc_mtx, J3DSys::mCurrentMtx); model->setAnmMtx(jntNo, *calc_mtx); } } @@ -177,7 +176,7 @@ void daNpc_Ho_c::eventOrder() { /* 00000708-000007A8 .text checkOrder__10daNpc_Ho_cFv */ void daNpc_Ho_c::checkOrder() { - if (eventInfo.mCommand == dEvtCmd_INTALK_e && ChkOrder(7)) { + if (eventInfo.checkCommandTalk() && ChkOrder(7)) { if (dComIfGp_event_chkTalkXY()) { setFlag(HO_FLAG_00000010); } else { @@ -842,7 +841,7 @@ BOOL daNpc_Ho_c::_execute() { tevStr.mEnvrIdxOverride = dComIfG_Bgsp()->GetPolyColor(mObjAcch.m_gnd); J3DModel* pModel = mpMorf->getModel(); - mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::YrotM(current.angle.y); pModel->setBaseTRMtx(mDoMtx_stack_c::get()); mpMorf->calc(); @@ -922,7 +921,7 @@ BOOL daNpc_Ho_c::CreateHeap() { } J3DModel* pModel = mpMorf->getModel(); - mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::YrotM(current.angle.y); pModel->setBaseTRMtx(mDoMtx_stack_c::get()); mpMorf->calc(); diff --git a/src/d/actor/d_a_npc_hr.cpp b/src/d/actor/d_a_npc_hr.cpp index 92310aae..32351e9b 100644 --- a/src/d/actor/d_a_npc_hr.cpp +++ b/src/d/actor/d_a_npc_hr.cpp @@ -1418,19 +1418,19 @@ void daNpc_Hr_c::getTornadoPos(int jointY, cXyz* tornadoPos) { f32 temp = current.pos.y + speed.y; tornadoPos->y = temp; if (jointY == 10) { - tornadoPos->x = tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(10)[0][3] : tornadoActor->current.pos.x; - tornadoPos->z = tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(10)[2][3] : tornadoActor->current.pos.z; + tornadoPos->x = tornadoActor->getJointXPos(10); + tornadoPos->z = tornadoActor->getJointZPos(10); } else { pos1.set( - tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY -1)[0][3] : tornadoActor->current.pos.x, - tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY -1)[1][3] : tornadoActor->current.pos.y, - tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY -1)[2][3] : tornadoActor->current.pos.z + tornadoActor->getJointXPos(jointY -1), + tornadoActor->getJointYPos(jointY -1), + tornadoActor->getJointZPos(jointY -1) ); pos2.set( - tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY)[0][3] : tornadoActor->current.pos.x, - tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY)[1][3] : tornadoActor->current.pos.y, - tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY)[2][3] : tornadoActor->current.pos.z + tornadoActor->getJointXPos(jointY), + tornadoActor->getJointYPos(jointY), + tornadoActor->getJointZPos(jointY) ); f32 ratio = (temp - pos1.y) / (pos2.y - pos1.y); @@ -1571,7 +1571,7 @@ bool daNpc_Hr_c::rt_hide() { /* 00003CEC-00003D0C .text rt_intro__10daNpc_Hr_cFv */ bool daNpc_Hr_c::rt_intro() { - rt_hit1(); + return rt_hit1(); } /* 00003D0C-00003DD8 .text to_rt_hit__10daNpc_Hr_cFv */ @@ -1645,7 +1645,7 @@ bool daNpc_Hr_c::rt_angry() { setTexPtn(2); } - if (hitObj != NULL && ((hitObj->GetAtType() & AT_TYPE_NORMAL_ARROW) != 0 || (hitObj->GetAtType() & AT_TYPE_FIRE_ARROW) != 0 || (hitObj->GetAtType() & AT_TYPE_ICE_ARROW) != 0 || (hitObj->GetAtType() & AT_TYPE_LIGHT_ARROW) != 0)) { + if (hitObj != NULL && ((hitObj->ChkAtType(AT_TYPE_NORMAL_ARROW)) || (hitObj->ChkAtType(AT_TYPE_FIRE_ARROW)) || (hitObj->ChkAtType(AT_TYPE_ICE_ARROW)) || (hitObj->ChkAtType(AT_TYPE_LIGHT_ARROW)))) { cXyz scale(11.0f, 11.0f, 11.0f); cXyz temp = *hitPos - pLink->eyePos; if(!temp.isZero()) { @@ -2046,7 +2046,7 @@ BOOL daNpc_Hr_c::_execute() { hrModel->setBaseTRMtx(mDoMtx_stack_c::get()); mpHrMorf->calc(); if(chkFlag(HR_FLAG_00000010)) { - mCyl.ClrCoSet(); + mCyl.OffCoSetBit(); } else { if(mType != 1) { mCyl.OnCoSetBit(); diff --git a/src/d/actor/d_a_npc_mk.cpp b/src/d/actor/d_a_npc_mk.cpp index 3d63332d..c3f25a15 100644 --- a/src/d/actor/d_a_npc_mk.cpp +++ b/src/d/actor/d_a_npc_mk.cpp @@ -60,7 +60,7 @@ static BOOL nodeCallBack_Mk(J3DNode* node, int calcTiming) { } else if (jntNo == i_this->getBackboneJntNum()) { mDoMtx_XrotM(*calc_mtx, i_this->getBackbone_y()); - mDoMtx_ZrotM(*calc_mtx, i_this->m_jnt.getBackbone_x()); + mDoMtx_ZrotM(*calc_mtx, i_this->getBackbone_x()); } cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx); model->setAnmMtx(jntNo, *calc_mtx); @@ -183,7 +183,7 @@ void daNpc_Mk_c::checkOrder() { setFlag(1); talkInit(); } - ClrOrder(); + ClrOrder(0xFF); } /* 000006D4-00000750 .text next_msgStatus__10daNpc_Mk_cFPUl */ @@ -746,7 +746,7 @@ bool daNpc_Mk_c::demoProc() { current.angle.y = home.angle.y; break; case 3: - case 4: + case 4: { if (mAnmIdx == 5) { speedF = 12.0f; } else if (mAnmIdx == 11) { @@ -768,6 +768,7 @@ bool daNpc_Mk_c::demoProc() { field_0x6E8 = -1; } break; + } case 5: talkInit(); dComIfGp_event_setTalkPartner(this); @@ -815,7 +816,7 @@ bool daNpc_Mk_c::demoProc() { clrFlag(0x10); fopAcM_OnStatus(this, fopAcStts_SHOWMAP_e); break; - case 13: + case 13: { fpc_ProcID itemID = fopAcM_createItemForPresentDemo(¤t.pos, dItemNo_HEART_PIECE_e); if (itemID != fpcM_ERROR_PROCESS_ID_e) { @@ -823,6 +824,7 @@ bool daNpc_Mk_c::demoProc() { } dComIfGs_onEventBit(dSv_event_flag_c::UNK_1340); break; + } case 14: dComIfGs_offTmpBit(dSv_event_tmp_flag_c::UNK_0040); dComIfGs_onTmpBit(dSv_event_tmp_flag_c::UNK_0120); @@ -874,14 +876,14 @@ bool daNpc_Mk_c::demoProc() { } return true; - case 5: + case 5: { u16 temp4 = talk(); if (temp4 == fopMsgStts_BOX_CLOSED_e || temp4 == 0xFE) { dComIfGp_evmng_cutEnd(mStaffIdx); } setFlag(0x20); break; - + } case 2: case 6: case 15: @@ -1233,7 +1235,7 @@ bool daNpc_Mk_c::drop01() { bool daNpc_Mk_c::runaway() { u8 temp = mMkStatic.runAwayProc(this, &field_0x688, &mCyl, &field_0x6F0); if (temp != mMkStatic.m0) { - if (temp == 1 && mMkStatic.m0 == 2 || temp == 2 && mMkStatic.m0 == 1) { + if ((temp == 1 && mMkStatic.m0 == 2) || (temp == 2 && mMkStatic.m0 == 1)) { if (cM_rndF(1.0f) < 0.5f) { fopAcM_seStart(this, JA_SE_CV_TR_KO_A_TURN, 0); } @@ -1600,7 +1602,7 @@ BOOL daNpc_Mk_c::_execute() { mpMorf->calc(); if(chkFlag(0x10)) { - mCyl.ClrCoSet(); + mCyl.OffCoSetBit(); } else { mCyl.OnCoSetBit(); setCollision(); diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp index 3f099787..b470fea7 100644 --- a/src/d/actor/d_a_player_main.cpp +++ b/src/d/actor/d_a_player_main.cpp @@ -13091,7 +13091,7 @@ void daPy_lk_c::endDemoMode() { resetDemoTextureAnime(); if (mEquipItem == daPyItem_UNK104_e || mEquipItem == daPyItem_UNK10A_e) { deleteEquipItem(FALSE); - offNoResetFlg1(daPyFlg1_SHIP_TACT); + offShipTact(); } mDoAud_taktModeMuteOff(); if (mAcch.ChkGroundHit() && diff --git a/src/d/actor/d_a_ship.cpp b/src/d/actor/d_a_ship.cpp index bbd9fc64..1600f630 100644 --- a/src/d/actor/d_a_ship.cpp +++ b/src/d/actor/d_a_ship.cpp @@ -22,6 +22,7 @@ #include "d/actor/d_a_bomb.h" #include "d/actor/d_a_grid.h" #include "res/Object/Ship.h" +#include "cstdint.h" static char l_arcName[] = "Ship"; static Vec l_cannon_top = {85.0f, 0.0f, 10.0f}; @@ -278,7 +279,7 @@ BOOL daShip_c::draw() { mDoMtx_stack_c::concat(MStack_50); mDoMtx_stack_c::revConcat(m02A8); m02A0->setEffectMtx(mDoMtx_stack_c::get()); - m02A4->setTranslationX(m03D4); + m02A4->mTexMtxInfo.mSRT.mTranslationX = m03D4; } if ( @@ -2153,10 +2154,10 @@ BOOL daShip_c::procZevDemo() { } if (dComIfGp_evmng_getMyIntegerP(mEvtStaffId, "tact")) { - daPy_getPlayerLinkActorClass()->onNoResetFlg1(daPy_py_c::daPyFlg1_SHIP_TACT); + daPy_getPlayerLinkActorClass()->onShipTact(); } else { - daPy_getPlayerLinkActorClass()->offNoResetFlg1(daPy_py_c::daPyFlg1_SHIP_TACT); + daPy_getPlayerLinkActorClass()->offShipTact(); } if (m0351 == DEMO_INIT_e || m0351 == DEMO_OPEN_e) { @@ -2640,11 +2641,11 @@ BOOL daShip_c::procTornadoUp_init() { /* 00006DE0-00006FDC .text procTornadoUp__8daShip_cFv */ BOOL daShip_c::procTornadoUp() { - daTornado_c* tornadoActor = mTornadoActor; + daTornado_c* tornado = mTornadoActor; - cLib_addCalc(¤t.pos.x, tornadoActor->getJointXPos(m037A), 0.5f, 80.0f, 20.0f); + cLib_addCalc(¤t.pos.x, tornado->getJointXPos(m037A), 0.5f, 80.0f, 20.0f); - cLib_addCalc(¤t.pos.z, tornadoActor->getJointZPos(m037A), 0.5f, 80.0f, 20.0f); + cLib_addCalc(¤t.pos.z, tornado->getJointZPos(m037A), 0.5f, 80.0f, 20.0f); current.pos.y += speed.y; speed.y += 2.0f; @@ -2653,17 +2654,17 @@ BOOL daShip_c::procTornadoUp() { speed.y = 50.0f; } - if (tornadoActor->getJointYPos(m037A) < current.pos.y && m037A < 11) { + if (tornado->getJointYPos(m037A) < current.pos.y && m037A < 11) { m037A++; } shape_angle.y += 0x1C25; camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); - cXyz local_3c(tornadoActor->current.pos.x, current.pos.y, tornadoActor->current.pos.z); + cXyz local_3c(tornado->current.pos.x, current.pos.y, tornado->current.pos.z); camera->mCamera.Set(local_3c, camera->mCamera.Eye()); - if (m03A6 == 0 && current.pos.y > tornadoActor->current.pos.y + 5000.0f) { + if (m03A6 == 0 && current.pos.y > tornado->current.pos.y + 5000.0f) { m03A6 = 1; int exitId = (s32)cM_rndF(8.0f) + 0xC6; if (exitId >= 0xCE) { @@ -2704,29 +2705,29 @@ BOOL daShip_c::procStartModeWarp() { GXColor amb; cXyz local_30; - daTornado_c* pfVar2 = (daTornado_c*)fopAcM_SearchByID(mTactWarpID); + daTornado_c* tornado = (daTornado_c*)fopAcM_SearchByID(mTactWarpID); camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); shape_angle.y += m03A6; current.angle.y = shape_angle.y; - if (pfVar2) { + if (tornado) { #if VERSION > VERSION_DEMO if (!checkStateFlg(daSFLG_UNK8_e)) { onStateFlg(daSFLG_UNK8_e); - pfVar2->current.pos.x = current.pos.x; - pfVar2->current.pos.z = current.pos.z; + tornado->current.pos.x = current.pos.x; + tornado->current.pos.z = current.pos.z; } #endif iVar5 = 0; for (int i = 0; i < 11; iVar5++, i++) { - if (current.pos.y < pfVar2->getJointYPos(i)) break; + if (current.pos.y < tornado->getJointYPos(i)) break; } if (iVar5 == 11) { iVar5 = 10; } - cLib_chaseF(¤t.pos.x, pfVar2->getJointXPos(iVar5), 50.0f); - cLib_chaseF(¤t.pos.z, pfVar2->getJointZPos(iVar5), 50.0f); - local_30.x = pfVar2->current.pos.x; - local_30.z = pfVar2->current.pos.z; + cLib_chaseF(¤t.pos.x, tornado->getJointXPos(iVar5), 50.0f); + cLib_chaseF(¤t.pos.z, tornado->getJointZPos(iVar5), 50.0f); + local_30.x = tornado->current.pos.x; + local_30.z = tornado->current.pos.z; } else { local_30.x = current.pos.x; @@ -2740,8 +2741,8 @@ BOOL daShip_c::procStartModeWarp() { speed.y = 0.0f; offStateFlg(daSFLG_FLY_e); m037A = 1; - if (pfVar2 != NULL) { - pfVar2->m31c = 1; + if (tornado != NULL) { + tornado->setScaleOn(); } dKy_get_seacolor(&diff, &amb); m03BC.x = 0; @@ -2750,13 +2751,13 @@ BOOL daShip_c::procStartModeWarp() { dComIfGp_particle_set(dPa_name::ID_AK_JN_SHIPWARPSPLASH00, ¤t.pos, &shape_angle, NULL, 0xFF, &m1984, -1, &diff); dComIfGp_particle_set(dPa_name::ID_AK_JN_SHIPWARPSPLASH00, ¤t.pos, &m03BC, NULL, 0xFF, &m1998, -1, &diff); } - if (pfVar2 != NULL) { - pfVar2->current.pos.y = current.pos.y - 700.0f; + if (tornado != NULL) { + tornado->current.pos.y = current.pos.y - 700.0f; } } - else if (pfVar2 == NULL || pfVar2->mJointScale[10] < 0.8f) { - if (pfVar2 != NULL) { - pfVar2->current.pos.y -= 12.0f; + else if (tornado == NULL || tornado->getSmallScaleEnd() < 0.8f) { + if (tornado != NULL) { + tornado->current.pos.y -= 12.0f; } m03BC.y = shape_angle.y + 0x8000; cLib_chaseS(&m03A6, 0, 0x40); @@ -2818,7 +2819,7 @@ BOOL daShip_c::procTactWarp() { res = FALSE; } else { - if (cLib_chaseS(&m03A6, 0x1C25, 0x40) && (tornado->mJointScale[10] > 0.8f)) { + if (cLib_chaseS(&m03A6, 0x1C25, 0x40) && (tornado->getScaleEnd() > 0.8f)) { speed.y += 1.0f; if (speed.y > 50.0f) { speed.y = 50.0f; @@ -2831,7 +2832,7 @@ BOOL daShip_c::procTactWarp() { else { if ((!m037A) && (m03A6 > 0x1000)) { m037A = 1; - tornado->m31c = 1; + tornado->setScaleOn(); } } if (m037A == 1) { @@ -3423,10 +3424,10 @@ void daShip_c::setTornadoActor() { if (m0404 < 0.0f) { m0404 = 0.0f; } - daTornado_c* pfVar2 = mTornadoActor; - float dx = pfVar2->getJointXPos(0) - current.pos.x; - float dz = pfVar2->getJointZPos(0) - current.pos.z; - float distXZ = std::sqrtf(dx * dx + dz * dz); + daTornado_c* tornado = mTornadoActor; + f32 dx = tornado->getJointXPos(0) - current.pos.x; + f32 dz = tornado->getJointZPos(0) - current.pos.z; + f32 distXZ = std::sqrtf(dx * dx + dz * dz); if (!checkStateFlg(daSFLG_UNK1000_e) && distXZ < 3500.0f) { if(daPy_getPlayerLinkActorClass()->shipSpecialDemoStart()) { procTornadoUp_init(); @@ -4594,8 +4595,7 @@ cPhs_State daShip_c::create() { for (u16 mno = 0; mno < pModelData->getMaterialNum(); mno++) { pMaterial = pModelData->getMaterialNodePointer(mno); for(u32 i = 0; i < 8; i++) { - J3DTexGenBlock* pTexGenBlock = pMaterial->getTexGenBlock(); - J3DTexMtx* pTexMtx = pTexGenBlock->getTexMtx(i); + J3DTexMtx* pTexMtx = pMaterial->getTexMtx(i); if (pTexMtx && pTexMtx->getTexMtxInfo().mInfo == 8) { m02A0 = pTexMtx; m02A4 = pTexMtx; @@ -4720,14 +4720,10 @@ cPhs_State daShip_c::create() { mSph.Set(sph_src); mSph.SetStts(&mStts); - cull.box.min.x = -325.0f; - cull.box.min.y = -50.0f; - cull.box.min.z = -325.0f; - cull.box.max.x = 325.0f; - cull.box.max.y = 570.0f; - cull.box.max.z = 240.0f; + fopAcM_SetMin(this, -325.0f, -50.0f, -325.0f); + fopAcM_SetMax(this, 325.0f, 570.0f, 240.0f); - fopKyM_create(fpcNm_WIND_ARROW_e, (s32)this, 0, 0, 0); + fopKyM_create(fpcNm_WIND_ARROW_e, (std::intptr_t)this, 0, 0, 0); offStateFlg(daSFLG_UNK2_e); mAcch.CrrPos(*dComIfG_Bgsp()); diff --git a/src/d/actor/d_a_tornado.cpp b/src/d/actor/d_a_tornado.cpp index 270ebf25..88e501ea 100644 --- a/src/d/actor/d_a_tornado.cpp +++ b/src/d/actor/d_a_tornado.cpp @@ -11,6 +11,8 @@ #include "d/d_com_inf_game.h" #include "d/actor/d_a_ship.h" #include "d/d_kankyo_wether.h" +#include "d/actor/d_a_player.h" +#include "cstdint.h" static char l_arcName[] = "Trnd"; @@ -208,7 +210,7 @@ BOOL daTornado_c::execute() { return TRUE; } } - mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); attention_info.position = current.pos; eyePos = current.pos; @@ -218,7 +220,7 @@ BOOL daTornado_c::execute() { dKy_get_seacolor(&colorAmb, &colorDif); mPtclCb.getEmitter()->setGlobalPrmColor(colorAmb.r, colorAmb.g, colorAmb.b); } - mDoMtx_stack_c::transS(mCenter); + mDoMtx_stack_c::transS(mCenter.x, mCenter.y, mCenter.z); mpModelUnder->setBaseTRMtx(mDoMtx_stack_c::get()); return TRUE; @@ -320,14 +322,14 @@ cPhs_State daTornado_c::create() { dComIfGp_particle_set(dPa_name::ID_AK_SN_WINDUPWATER00, &mCenter, NULL, NULL, 0xFF, &mPtclCb); fopAcM_OnStatus(this, fopAcStts_SHOWMAP_e); } - mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); mpModelUnder->setBaseTRMtx(mDoMtx_stack_c::get()); J3DModelData* modelData = mpModel->getModelData(); for (u16 i = 1; i < modelData->getJointNum(); i++) { modelData->getJointNodePointer(i)->setCallBack(daTornado_jointCallBack); } - mpModel->setUserArea((u32) this); + mpModel->setUserArea((std::uintptr_t)this); } return rt; } |
