mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-20 05:37:03 -04:00
More demo work, fix some fakematches in retail
This commit is contained in:
+109
-28
@@ -50,9 +50,11 @@ JGeometry::TVec3<f32> l_hammer_splash_particle_scale(0.67f, 0.67f, 0.67f);
|
||||
|
||||
#include "d/actor/d_a_player_HIO_data.inc"
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
cXyz l_debug_keep_pos;
|
||||
csXyz l_debug_current_angle;
|
||||
csXyz l_debug_shape_angle;
|
||||
#endif
|
||||
|
||||
GXColor l_freeze_fade_color = {0xFF, 0xFF, 0xFF, 0xFF};
|
||||
|
||||
@@ -1325,9 +1327,10 @@ s32 daPy_lk_c::setItemModel() {
|
||||
((m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_DASHS ||
|
||||
(m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_DASH))))))
|
||||
{
|
||||
dVar16 = mDoMtx_stack_c::now[0][3];
|
||||
dVar15 = mDoMtx_stack_c::now[1][3];
|
||||
dVar17 = mDoMtx_stack_c::now[2][3];
|
||||
MtxP mtx = mDoMtx_stack_c::get();
|
||||
dVar16 = mtx[0][3];
|
||||
dVar15 = mtx[1][3];
|
||||
dVar17 = mtx[2][3];
|
||||
u16 uVar10 =
|
||||
cM_rad2s(((6.2831855f * (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - 22.0f)) /
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].getEnd()));
|
||||
@@ -1532,7 +1535,11 @@ void daPy_lk_c::drawMirrorLightModel() {
|
||||
mDoMtx_stack_c::transS(l_ms_light_local_start);
|
||||
mDoMtx_stack_c::YrotM(-0x8000);
|
||||
mDoMtx_stack_c::revConcat(mpEquippedShieldModel->getBaseTRMtx());
|
||||
#if VERSION == VERSION_DEMO
|
||||
mMirrorPacket.update(mDoMtx_stack_c::get(), 0xFF);
|
||||
#else
|
||||
mMirrorPacket.update(mDoMtx_stack_c::get(), 0xFF, 60.0f);
|
||||
#endif
|
||||
dComIfGd_getXluList()->entryImm(&mMirrorPacket, 0xFF);
|
||||
updateDLSetLight(mpYmsls00Model, 0);
|
||||
}
|
||||
@@ -1563,37 +1570,55 @@ void daPy_lk_c::drawShadow() {
|
||||
}
|
||||
mtl->getShape()->hide();
|
||||
}
|
||||
f32 fVar1;
|
||||
f32 f31;
|
||||
if (checkModeFlg(ModeFlg_HANG)) {
|
||||
fVar1 = m35DC;
|
||||
f31 = m35DC;
|
||||
} else {
|
||||
fVar1 = mAcch.GetGroundH();
|
||||
f31 = mAcch.GetGroundH();
|
||||
}
|
||||
f32 dVar9 = fVar1;
|
||||
if ((!strcmp(dComIfGp_getStartStageName(), "M_DaiB")) ||
|
||||
(!strcmp(dComIfGp_getStartStageName(), "Xboss2")))
|
||||
f32 f1;
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "M_DaiB") ||
|
||||
!strcmp(dComIfGp_getStartStageName(), "Xboss2"))
|
||||
{
|
||||
fVar1 = 1400.0f;
|
||||
f1 = 1400.0f;
|
||||
} else {
|
||||
fVar1 = daPy_HIO_basic_c0::m.field_0x10;
|
||||
f1 = daPy_HIO_basic_c0::m.field_0x10;
|
||||
}
|
||||
int iVar4 = dComIfGd_setShadow(m3614, 0, mpCLModel, &local_30, fVar1, 30.0f, current.pos.y,
|
||||
dVar9, mAcch.m_gnd, &tevStr, 0, 1.0f,
|
||||
int iVar4 = dComIfGd_setShadow(m3614, 0, mpCLModel, &local_30, f1, 30.0f, current.pos.y,
|
||||
f31, mAcch.m_gnd, &tevStr, 0, 1.0f,
|
||||
&dDlst_shadowControl_c::mSimpleTexObj);
|
||||
m3614 = iVar4;
|
||||
if ((u32)m3614 != 0) {
|
||||
if ((checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES)) && (!checkCaughtShapeHide())) {
|
||||
dComIfGd_addRealShadow(m3614, mpKatsuraModel);
|
||||
}
|
||||
if ((checkSwordEquip()) && (!checkDemoSwordNoDraw(1))) {
|
||||
if (checkSwordEquip()
|
||||
#if VERSION == VERSION_DEMO
|
||||
&& !checkLastDemoSwordNoDraw(1)
|
||||
#else
|
||||
&& !checkDemoSwordNoDraw(1)
|
||||
#endif
|
||||
) {
|
||||
dComIfGd_addRealShadow(m3614, mpEquippedSwordModel);
|
||||
}
|
||||
if (((mpEquipItemModel != NULL) && (!checkDemoSwordNoDraw(0))) &&
|
||||
if ((mpEquipItemModel != NULL
|
||||
#if VERSION == VERSION_DEMO
|
||||
&& !checkLastDemoSwordNoDraw(0)
|
||||
#else
|
||||
&& !checkDemoSwordNoDraw(0)
|
||||
#endif
|
||||
) &&
|
||||
((!checkBowItem(mEquipItem) || (!checkPlayerGuard()))))
|
||||
{
|
||||
dComIfGd_addRealShadow(m3614, mpEquipItemModel);
|
||||
}
|
||||
if ((dComIfGs_getSelectEquip(1) != dItem_NONE_e) && (!checkDemoShieldNoDraw())) {
|
||||
if (dComIfGs_getSelectEquip(1) != dItem_NONE_e
|
||||
#if VERSION == VERSION_DEMO
|
||||
&& !checkLastDemoSwordNoDraw(1)
|
||||
#else
|
||||
&& !checkDemoShieldNoDraw()
|
||||
#endif
|
||||
) {
|
||||
dComIfGd_addRealShadow(m3614, mpEquippedShieldModel);
|
||||
}
|
||||
fopAc_ac_c* pfVar10;
|
||||
@@ -1813,9 +1838,13 @@ BOOL daPy_lk_c::draw() {
|
||||
} else {
|
||||
hideHatAndBackle(link_root_joint->getMesh());
|
||||
}
|
||||
if ((!checkNormalSwordEquip() && dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo()) != dStageType_FF1_e) ||
|
||||
checkCaughtShapeHide() || checkDemoShieldNoDraw())
|
||||
{
|
||||
if (
|
||||
(!checkNormalSwordEquip() && dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo()) != dStageType_FF1_e)
|
||||
|| checkCaughtShapeHide()
|
||||
#if VERSION > VERSION_DEMO
|
||||
|| checkDemoShieldNoDraw()
|
||||
#endif
|
||||
) {
|
||||
mpCLModelData->getJointNodePointer(0x0D)->getMesh()->getShape()->hide(); // cl_podA joint
|
||||
} else {
|
||||
mpCLModelData->getJointNodePointer(0x0D)->getMesh()->getShape()->show(); // cl_podA joint
|
||||
@@ -1838,7 +1867,11 @@ BOOL daPy_lk_c::draw() {
|
||||
mpCLModelData->getJointNodePointer(0x29)->getMesh()->getShape()->show(); // cl_back joint
|
||||
if (!r24) {
|
||||
entryDLSetLight(mpHandsModel, checkNoResetFlg1(daPyFlg1_FREEZE_STATE));
|
||||
if (checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES) && !checkCaughtShapeHide() && !dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x20)) {
|
||||
if (checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES) && !checkCaughtShapeHide()
|
||||
#if VERSION > VERSION_DEMO
|
||||
&& !dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x20)
|
||||
#endif
|
||||
) {
|
||||
entryDLSetLight(mpKatsuraModel, checkNoResetFlg1(daPyFlg1_FREEZE_STATE));
|
||||
}
|
||||
if (checkFreezeState() && checkMaskDraw()) {
|
||||
@@ -1847,7 +1880,11 @@ BOOL daPy_lk_c::draw() {
|
||||
if (dComIfGs_getSelectEquip(2) == dItem_POWER_BRACELETS_e) {
|
||||
entryDLSetLight(mpPringModel, checkNoResetFlg1(daPyFlg1_FREEZE_STATE));
|
||||
}
|
||||
if (checkMasterSwordEquip() && !checkCaughtShapeHide() && !checkDemoShieldNoDraw()) {
|
||||
if (checkMasterSwordEquip() && !checkCaughtShapeHide()
|
||||
#if VERSION > VERSION_DEMO
|
||||
&& !checkDemoShieldNoDraw()
|
||||
#endif
|
||||
) {
|
||||
updateDLSetLight(mpPodmsModel, checkNoResetFlg1(daPyFlg1_FREEZE_STATE));
|
||||
}
|
||||
}
|
||||
@@ -1880,11 +1917,23 @@ BOOL daPy_lk_c::draw() {
|
||||
mDoExt_modelUpdateDL(mpSuimenMunyaModel);
|
||||
}
|
||||
if (!r24 && !dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x20)) {
|
||||
if (checkSwordEquip() && !checkDemoSwordNoDraw(TRUE)) {
|
||||
if (checkSwordEquip()
|
||||
#if VERSION == VERSION_DEMO
|
||||
&& !checkLastDemoSwordNoDraw(1)
|
||||
#else
|
||||
&& !checkDemoSwordNoDraw(1)
|
||||
#endif
|
||||
) {
|
||||
entryDLSetLight(mpEquippedSwordModel, checkNoResetFlg1(daPyFlg1_FREEZE_STATE));
|
||||
}
|
||||
}
|
||||
if (dComIfGs_getSelectEquip(1) != dItem_NONE_e && !checkCaughtShapeHide() && !checkDemoShieldNoDraw()) {
|
||||
if (dComIfGs_getSelectEquip(1) != dItem_NONE_e && !checkCaughtShapeHide()
|
||||
#if VERSION == VERSION_DEMO
|
||||
&& !checkLastDemoSwordNoDraw(1)
|
||||
#else
|
||||
&& !checkDemoShieldNoDraw()
|
||||
#endif
|
||||
) {
|
||||
entryDLSetLight(mpEquippedShieldModel, checkNoResetFlg1(daPyFlg1_FREEZE_STATE));
|
||||
}
|
||||
dComIfGd_setList();
|
||||
@@ -1894,7 +1943,13 @@ BOOL daPy_lk_c::draw() {
|
||||
if (mpBottleContentsModel != NULL) {
|
||||
updateDLSetLight(mpBottleContentsModel, 0);
|
||||
}
|
||||
if (mpEquipItemModel && !checkCaughtShapeHide() && !checkDemoSwordNoDraw(FALSE)) {
|
||||
if (mpEquipItemModel && !checkCaughtShapeHide()
|
||||
#if VERSION == VERSION_DEMO
|
||||
&& !checkLastDemoSwordNoDraw(0)
|
||||
#else
|
||||
&& !checkDemoSwordNoDraw(0)
|
||||
#endif
|
||||
) {
|
||||
if (!checkBowItem(mEquipItem) || !checkPlayerGuard()) {
|
||||
if (mEquipItem == dItem_HOOKSHOT_e) {
|
||||
if (mActorKeepEquip.getActor()) {
|
||||
@@ -8973,8 +9028,8 @@ void daPy_lk_c::setNeckAngle() {
|
||||
r28 = true;
|
||||
} else if (checkModeFlg(ModeFlg_00000080 | ModeFlg_08000000)) {
|
||||
if ((!dComIfGp_event_runCheck()) || (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK39_e)) {
|
||||
if (dComIfGp_getAttention().getLookTarget() != NULL) {
|
||||
sp18 = &dComIfGp_getAttention().getLookTarget()->eyePos;
|
||||
if (dComIfGp_att_getLookTarget() != NULL) {
|
||||
sp18 = &dComIfGp_att_getLookTarget()->eyePos;
|
||||
r28 = true;
|
||||
} else {
|
||||
if ((((checkAttentionPosAngle(r23_2, &sp18)) ||
|
||||
@@ -11157,9 +11212,11 @@ void daPy_lk_c::checkRoofRestart() {
|
||||
/* 80121870-80122D30 .text execute__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::execute() {
|
||||
/* Nonmatching - regalloc */
|
||||
#if VERSION > VERSION_DEMO
|
||||
if (setGetDemo()) {
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (checkNoResetFlg1(daPyFlg1_UNK200)) {
|
||||
fopMsgM_demoMsgFlagOn();
|
||||
@@ -11179,9 +11236,11 @@ BOOL daPy_lk_c::execute() {
|
||||
dComIfGs_setBottleItemIn(dItem_FOREST_WATER_e, dItem_WATER_BOTTLE_e);
|
||||
mDemo.setDemoType(5);
|
||||
m3628 = fpcM_ERROR_PROCESS_ID_e;
|
||||
#if VERSION > VERSION_DEMO
|
||||
if (mCurProc == daPyProc_SCOPE_e) {
|
||||
procWait_init();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11229,9 +11288,11 @@ BOOL daPy_lk_c::execute() {
|
||||
}
|
||||
}
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
current.pos = l_debug_keep_pos;
|
||||
shape_angle = l_debug_shape_angle;
|
||||
current.angle = l_debug_current_angle;
|
||||
#endif
|
||||
|
||||
mCameraInfoIdx = dComIfGp_getPlayerCameraID(0);
|
||||
m3748 = current.pos;
|
||||
@@ -11503,7 +11564,7 @@ BOOL daPy_lk_c::execute() {
|
||||
m357C = m3580;
|
||||
m3580 = -1;
|
||||
mCurrAttributeCode = dBgS_Attr_UNK1B_e;
|
||||
roomNo = current.roomNo;
|
||||
roomNo = fopAcM_GetRoomNo(this);
|
||||
checkFallCode();
|
||||
}
|
||||
|
||||
@@ -11541,7 +11602,9 @@ BOOL daPy_lk_c::execute() {
|
||||
mpCLModelData->getJointNodePointer(0x02)->setMtxCalc(m_pbCalc[PART_UPPER_e]); // body_chn joint
|
||||
mpCLModelData->getJointNodePointer(0x1D)->setMtxCalc(m_pbCalc[PART_UNDER_e]); // wash_chn joint
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
checkOriginalHatAnimation();
|
||||
#endif
|
||||
|
||||
static const Vec nsword_top = {45.0f, -31.0f, 0.0f};
|
||||
static const Vec msword_top = {57.0f, 48.0f, 0.0f};
|
||||
@@ -11578,7 +11641,11 @@ BOOL daPy_lk_c::execute() {
|
||||
m36D0 = mSwordTopPos;
|
||||
m36DC = m36C4;
|
||||
|
||||
if (mEquipItem == daPyItem_BOKO_e && mActorKeepEquip.getActor()) {
|
||||
if (mEquipItem == daPyItem_BOKO_e
|
||||
#if VERSION > VERSION_DEMO
|
||||
&& mActorKeepEquip.getActor()
|
||||
#endif
|
||||
) {
|
||||
daBoko_c* boko = static_cast<daBoko_c*>(mActorKeepEquip.getActor());
|
||||
boko->getTopPos(&mSwordTopPos);
|
||||
boko->getBlurRootPos(&m36C4);
|
||||
@@ -11618,7 +11685,9 @@ BOOL daPy_lk_c::execute() {
|
||||
eventInfo.onCondition(dEvtCnd_CANTALK_e);
|
||||
}
|
||||
}
|
||||
#if VERSION > VERSION_DEMO
|
||||
eventInfo.onCondition(dEvtCnd_CANGETITEM_e);
|
||||
#endif
|
||||
|
||||
JPABaseEmitter* emitter = mSmokeEcallBack.getEmitter();
|
||||
if (emitter) {
|
||||
@@ -11650,9 +11719,11 @@ BOOL daPy_lk_c::execute() {
|
||||
if (dComIfGp_getDoStatus() == dActStts_UNK43) {
|
||||
dComIfGp_setDoStatus(dActStts_JUMP_e);
|
||||
}
|
||||
#if VERSION > VERSION_DEMO
|
||||
if (checkResetFlg0(daPyRFlg0_UNK10000000)) {
|
||||
dComIfGp_setAStatus(dActStts_BLANK_e);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
offNoResetFlg1((daPy_FLG1)(daPyFlg1_UNK4 | daPyFlg1_FORCE_VOMIT_JUMP | daPyFlg1_FORCE_VOMIT_JUMP_SHORT | daPyFlg1_UNK10000000));
|
||||
|
||||
@@ -11681,9 +11752,11 @@ BOOL daPy_lk_c::execute() {
|
||||
|
||||
mWhirlId = fpcM_ERROR_PROCESS_ID_e;
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
l_debug_keep_pos = current.pos;
|
||||
l_debug_shape_angle = shape_angle;
|
||||
l_debug_current_angle = current.angle;
|
||||
#endif
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -12583,9 +12656,11 @@ cPhs_State daPy_lk_c::makeBgWait() {
|
||||
if ((dComIfGs_getLastSceneMode() & 0x4000) != 0) {
|
||||
onNoResetFlg1(daPyFlg1_UNK8000);
|
||||
}
|
||||
#if VERSION > VERSION_DEMO
|
||||
l_debug_keep_pos = current.pos;
|
||||
l_debug_shape_angle = shape_angle;
|
||||
l_debug_current_angle = current.angle;
|
||||
#endif
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
||||
@@ -12956,9 +13031,11 @@ void daPy_lk_c::setPlayerPosAndAngle(cXyz* param_1, s16 param_2) {
|
||||
shape_angle.y = param_2;
|
||||
current.angle.y = param_2;
|
||||
m34DE = shape_angle.y;
|
||||
#if VERSION > VERSION_DEMO
|
||||
l_debug_keep_pos = current.pos;
|
||||
l_debug_shape_angle = shape_angle;
|
||||
l_debug_current_angle = current.angle;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 80128C10-80128CE4 .text setPlayerPosAndAngle__9daPy_lk_cFP4cXyzP5csXyz */
|
||||
@@ -12975,9 +13052,11 @@ void daPy_lk_c::setPlayerPosAndAngle(cXyz* param_1, csXyz* param_2) {
|
||||
current.angle.y = shape_angle.y;
|
||||
m34DE = shape_angle.y;
|
||||
}
|
||||
#if VERSION > VERSION_DEMO
|
||||
l_debug_keep_pos = current.pos;
|
||||
l_debug_shape_angle = shape_angle;
|
||||
l_debug_current_angle = current.angle;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 80128CE4-80128DC0 .text setPlayerPosAndAngle__9daPy_lk_cFPA4_f */
|
||||
@@ -12990,9 +13069,11 @@ void daPy_lk_c::setPlayerPosAndAngle(MtxP param_1) {
|
||||
mDoMtx_MtxToRot(param_1, &shape_angle);
|
||||
current.angle.y = shape_angle.y;
|
||||
m34DE = shape_angle.y;
|
||||
#if VERSION > VERSION_DEMO
|
||||
l_debug_keep_pos = current.pos;
|
||||
l_debug_shape_angle = shape_angle;
|
||||
l_debug_current_angle = current.angle;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user