Demo work

This commit is contained in:
LagoLunatic
2025-05-28 01:39:07 -04:00
parent 255d01c6db
commit b9190842b7
26 changed files with 389 additions and 221 deletions
+3 -3
View File
@@ -699,7 +699,7 @@ bool daAuction_c::eventStart() {
mpTimer = (dTimer_c*)fopMsgM_SearchByID(mTimerID);
if (mpTimer != NULL) {
mpTimer->mpScrnDraw->setShowType(0);
mpTimer->setShowType(0);
}
}
@@ -929,7 +929,7 @@ void daAuction_c::eventMainKai() {
dComIfGp_setMessageSetNumber(mCurrBid + 1);
end = 0x1CFA;
setLinkAnm(daPy_demo_c::DEMO_UNK48_e);
mpTimer->mpScrnDraw->setShowType(1);
mpTimer->setShowType(1);
dAuction_screen_gaugeUp();
dComIfGp_getVibration().StartShock(5, 1, cXyz(0.0f, 1.0f, 0.0f));
@@ -1137,7 +1137,7 @@ void daAuction_c::eventMainMsgEnd() {
m798 = l_camera_pos[m82F][1];
}
mpTimer->mpScrnDraw->setShowType(0);
mpTimer->setShowType(0);
dAuction_screen_gaugeDown();
m834 &= ~0x29;
dAuction_screen_talkEnd();
+8 -3
View File
@@ -15,8 +15,8 @@
static u16 anim_table[] = {
KWOOD_00_BCK_SWING02, KWOOD_00_BAS_SWING02,
KWOOD_00_BCK_SWING, KWOOD_00_BAS_SWING,
KWOOD_00_BCK_BREAK, KWOOD_00_BAS_BREAK,
KWOOD_00_BCK_SWING, KWOOD_00_BAS_SWING,
KWOOD_00_BCK_BREAK, KWOOD_00_BAS_BREAK,
};
char daBranch_c::m_arcname[] = "Kwood_00";
@@ -51,7 +51,12 @@ void daBranch_c::set_anim(int i_animIdx, int i_bckIdx, int i_basIdx) {
/* 000001E4-00000228 .text demoPlay__10daBranch_cFP14mDoExt_McaMorf */
void daBranch_c::demoPlay(mDoExt_McaMorf* morf) {
dDemo_setDemoData(this, 0x20, morf, m_arcname, 3, anim_table, 0, 0);
dDemo_setDemoData(
this,
dDemo_actor_c::ENABLE_ANM_e,
morf, m_arcname,
ARRAY_SIZE(anim_table) / 2, anim_table
);
}
/* 00000228-00000248 .text solidHeapCB__10daBranch_cFP10fopAc_ac_c */
+14 -4
View File
@@ -28,7 +28,11 @@ static dCcD_SrcCyl l_cyl_src = {
/* SrcObjAt SPrm */ 0,
/* SrcObjTg Type */ AT_TYPE_ALL,
/* SrcObjTg SPrm */ cCcD_TgSPrm_Set_e | cCcD_TgSPrm_IsEnemy_e,
#if VERSION == VERSION_DEMO
/* SrcObjCo SPrm */ cCcD_CoSPrm_Set_e | cCcD_CoSPrm_IsPlayer_e | cCcD_CoSPrm_VsGrpAll_e,
#else
/* SrcObjCo SPrm */ cCcD_CoSPrm_Set_e | cCcD_CoSPrm_IsOther_e | cCcD_CoSPrm_VsEnemy_e,
#endif
/* SrcGObjAt Se */ 0,
/* SrcGObjAt HitMark */ 0,
/* SrcGObjAt Spl */ 0,
@@ -38,7 +42,11 @@ static dCcD_SrcCyl l_cyl_src = {
/* SrcGObjTg HitMark */ 0,
/* SrcGObjTg Spl */ 0,
/* SrcGObjTg Mtrl */ 0,
#if VERSION == VERSION_DEMO
/* SrcGObjTg SPrm */ 0,
#else
/* SrcGObjTg SPrm */ dCcG_TgSPrm_NoHitMark_e,
#endif
/* SrcGObjCo SPrm */ 0,
},
// cM3dGCylS
@@ -104,7 +112,7 @@ void daNh_c::setBaseMtx() {
/* 800F9980-800F9A54 .text createHeap__6daNh_cFv */
BOOL daNh_c::createHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Always", ALWAYS_BDL_NH);
JUT_ASSERT(359, modelData != NULL);
JUT_ASSERT(VERSION_SELECT(357, 359, 359, 359), modelData != NULL);
mpModel = mDoExt_J3DModel__create(modelData, 0, 0x11020203);
if (!mpModel) {
@@ -337,7 +345,8 @@ BOOL daNh_c::escapeAction(void*) {
mWobbleTimer = cLib_getRndValue(15, 20);
}
targetAngle += mWobbleDir ? -0x2000 : 0x2000;
moveProc(5.0f, 0.5f, targetAngle);
f32 targetSpeed = 5.0f;
moveProc(targetSpeed, 0.5f, targetAngle);
}
}
return TRUE;
@@ -372,7 +381,8 @@ BOOL daNh_c::returnAction(void*) {
mWobbleTimer = cLib_getRndValue(15, 20);
}
targetAngle += mWobbleDir ? -0x2000 : 0x2000;
moveProc(5.0f, 0.5f, targetAngle);
f32 targetSpeed = 5.0f;
moveProc(targetSpeed, 0.5f, targetAngle);
}
}
return TRUE;
@@ -428,7 +438,7 @@ BOOL daNh_c::initBrkAnm(bool i_modify) {
bool success = false;
J3DAnmTevRegKey* a_brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Always", ALWAYS_BRK_TNH);
JUT_ASSERT(883, a_brk != NULL);
JUT_ASSERT(VERSION_SELECT(881, 883, 883, 883), a_brk != NULL);
if (mBrkAnm.init(modelData, a_brk, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, i_modify, false)) {
success = true;
+5 -1
View File
@@ -71,7 +71,11 @@ bool daObjVteng_c::create_heap() {
bool daObjVteng_c::jokai_demo() {
bool ret = false;
if (dDemo_setDemoData(this, 0x60, mpMorf, "Vteng", 0, NULL, 0, 0) == TRUE)
if (dDemo_setDemoData(
this,
dDemo_actor_c::ENABLE_ANM_e | dDemo_actor_c::ENABLE_ANM_FRAME_e,
mpMorf, "Vteng"
) == TRUE)
ret = true;
return ret;
+5 -1
View File
@@ -110,7 +110,11 @@ void daObjGong::Act_c::init_mtx() {
/* 00000454-000004A4 .text demo_move__Q29daObjGong5Act_cFv */
bool daObjGong::Act_c::demo_move() {
return dDemo_setDemoData(this, 0x6A, mpMorf, "Vdora", 0, NULL, 0, 0);
return dDemo_setDemoData(
this,
dDemo_actor_c::ENABLE_TRANS_e | dDemo_actor_c::ENABLE_ROTATE_e | dDemo_actor_c::ENABLE_ANM_e | dDemo_actor_c::ENABLE_ANM_FRAME_e,
mpMorf, "Vdora"
);
}
/* 000004A4-000004F0 .text _execute__Q29daObjGong5Act_cFv */
+5 -1
View File
@@ -215,7 +215,11 @@ void daObjZouk::Act_c::play_stop_joint_anime() {
/* 00001270-000012F0 .text jokai_demo__Q29daObjZouk5Act_cFv */
BOOL daObjZouk::Act_c::jokai_demo() {
if (dComIfGp_demo_getActor(demoActorID) != NULL) {
dDemo_setDemoData(this, 0x6a, M_anm, "VzouK", 0, 0, 0, 0);
dDemo_setDemoData(
this,
dDemo_actor_c::ENABLE_TRANS_e | dDemo_actor_c::ENABLE_ROTATE_e | dDemo_actor_c::ENABLE_ANM_e | dDemo_actor_c::ENABLE_ANM_FRAME_e,
M_anm, "VzouK"
);
return true;
} else {
return false;
+29 -6
View File
@@ -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(&current.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(&current.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(&current.pos, 0, 0);
mBrkAnm.setFrame(0.0f);
#endif
mpMorf->calc();
#if VERSION > VERSION_DEMO
g_env_light.settingTevStruct(TEV_TYPE_ACTOR, &current.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;
}