diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2025-05-28 01:39:07 -0400 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2025-05-28 01:39:07 -0400 |
| commit | b9190842b73c06b54519e66c863188ca22a5d39d (patch) | |
| tree | d694374eeadefff77944f96da225fb2a0b876101 /src/d/actor/d_a_rd.cpp | |
| parent | 255d01c6db33e8fc4d22b2ffd318e1065660c254 (diff) | |
Demo work
Diffstat (limited to 'src/d/actor/d_a_rd.cpp')
| -rw-r--r-- | src/d/actor/d_a_rd.cpp | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/src/d/actor/d_a_rd.cpp b/src/d/actor/d_a_rd.cpp index d6364e7d..d80b43e9 100644 --- a/src/d/actor/d_a_rd.cpp +++ b/src/d/actor/d_a_rd.cpp @@ -199,7 +199,7 @@ static BOOL createHeap_CB(fopAc_ac_c* i_this) { /* 000006C0-0000096C .text _createHeap__6daRd_cFv */ BOOL daRd_c::_createHeap() { J3DModelData* modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes(m_arc_name, RD_BDL_RD)); - JUT_ASSERT(504, modelData != NULL); + JUT_ASSERT(VERSION_SELECT(502, 504, 504, 504), modelData != NULL); mpMorf = new mDoExt_McaMorf( modelData, @@ -220,7 +220,7 @@ BOOL daRd_c::_createHeap() { } J3DAnmTextureSRTKey* btk = static_cast<J3DAnmTextureSRTKey*>(dComIfG_getObjectRes(m_arc_name, RD_BTK_RD_CLOSE)); - JUT_ASSERT(525, btk != NULL); + JUT_ASSERT(VERSION_SELECT(528, 525, 525, 525), btk != NULL); if (!mBtkAnm.init(modelData, btk, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false, 0)) { return FALSE; } @@ -228,7 +228,7 @@ BOOL daRd_c::_createHeap() { modelData->getJointNodePointer(0x0C)->setCallBack(nodeHeadControl_CB); // ree_atama_1 J3DAnmTevRegKey* brk = static_cast<J3DAnmTevRegKey*>(dComIfG_getObjectRes(m_arc_name, RD_BRK_NML)); - JUT_ASSERT(550, brk != NULL); + JUT_ASSERT(VERSION_SELECT(553, 550, 550, 550), brk != NULL); if (!mBrkAnm.init(modelData, brk, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false, 0)) { return FALSE; } @@ -399,12 +399,14 @@ bool daRd_c::createArrowHeap() { /* 000009D0-00000A38 .text checkPlayerInAttack__6daRd_cFv */ bool daRd_c::checkPlayerInAttack() { - return dLib_checkActorInFan(current.pos, dComIfGp_getLinkPlayer(), shape_angle.y, l_HIO.mAttackSpreadAngle, l_HIO.mAttackRadius, 100.0f); + daPy_py_c* player = (daPy_py_c*)dComIfGp_getLinkPlayer(); + return dLib_checkActorInFan(current.pos, player, shape_angle.y, l_HIO.mAttackSpreadAngle, l_HIO.mAttackRadius, 100.0f); } /* 00000A38-00000AA0 .text checkPlayerInCry__6daRd_cFv */ bool daRd_c::checkPlayerInCry() { - return dLib_checkActorInFan(current.pos, dComIfGp_getLinkPlayer(), mHeadAngle, l_HIO.mCrySpreadAngle, l_HIO.mCryRadius, 100.0f); + daPy_py_c* player = (daPy_py_c*)dComIfGp_getLinkPlayer(); + return dLib_checkActorInFan(current.pos, player, mHeadAngle, l_HIO.mCrySpreadAngle, l_HIO.mCryRadius, 100.0f); } /* 00000AA0-00000D78 .text lookBack__6daRd_cFv */ @@ -459,7 +461,12 @@ void daRd_c::lookBack() { mTargetPos = player->getHeadTopPos(); break; case MODE_RETURN: - if (dLib_checkActorInCircle(mSpawnPos, this, 100.0f, 1000.0f)) { +#if VERSION == VERSION_DEMO + if (dLib_checkActorInCircle(mSpawnPos, this, 100.0f, 100.0f)) +#else + if (dLib_checkActorInCircle(mSpawnPos, this, 100.0f, 1000.0f)) +#endif + { mJntCtrl.clrTrn(); mJntCtrl.onHeadLock(); mJntCtrl.onBackBoneLock(); @@ -494,7 +501,9 @@ bool daRd_c::checkTgHit() { if (mCyl.ChkTgHit()) { hitObj = mCyl.GetTgHitObj(); if (hitObj->GetAtType() == AT_TYPE_LIGHT) { +#if VERSION > VERSION_DEMO fopAcM_seStart(this, JA_SE_CM_PW_BECOME_SOLID, 0); +#endif modeProcInit(MODE_PARALYSIS); return true; } @@ -647,7 +656,9 @@ bool daRd_c::checkTgHit() { } if (dComIfGp_getDetect().chk_light(¤t.pos)) { +#if VERSION > VERSION_DEMO fopAcM_seStart(this, JA_SE_CM_PW_BECOME_SOLID, 0); +#endif modeProcInit(MODE_PARALYSIS); return true; } @@ -1059,9 +1070,13 @@ void daRd_c::modeAttack() { if (dist <= 20.0f + REG12_F(2)) { cLib_addCalcPosXZ2(¤t.pos, player->current.pos, 0.3f, 1.0f); if (cLib_calcTimer(&mTimer2) == 0) { +#if VERSION == VERSION_DEMO + dComIfGp_setItemLifeCount(-1.0f); +#else if (!daPy_getPlayerLinkActorClass()->checkNoDamageMode()) { daPy_getPlayerLinkActorClass()->setDamagePoint(-1.0f); } +#endif mTimer2 = 30; } } else if (mAcch.ChkWallHit()) { @@ -1753,14 +1768,20 @@ void daRd_c::createInit() { } } +#if VERSION > VERSION_DEMO setBrkAnm(0); +#endif setMtx(); +#if VERSION > VERSION_DEMO mBtkAnm.play(); mBrkAnm.play(); mpMorf->play(¤t.pos, 0, 0); mBrkAnm.setFrame(0.0f); +#endif mpMorf->calc(); +#if VERSION > VERSION_DEMO g_env_light.settingTevStruct(TEV_TYPE_ACTOR, ¤t.pos, &tevStr); +#endif fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -100.0f, -10.0f, -100.0f, 100.0f, 250.0f, 150.0f); @@ -1838,9 +1859,11 @@ cPhs_State daRd_c::_create() { bool daRd_c::_delete() { dComIfG_resDelete(&mPhs, m_arc_name); enemy_fire_remove(&mEnemyFire); +#if VERSION > VERSION_DEMO if (heap) { mpMorf->stopZelAnime(); } +#endif return true; } |
