mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-18 05:08:57 -04:00
Demo work
This commit is contained in:
+29
-6
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user