From cbbd4c2dc0526c82bccd3be61b6e792421397fd3 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Thu, 8 May 2025 23:00:19 -0400 Subject: [PATCH] Match more player_main regalloc/stack/etc issues --- include/SSystem/SComponent/c_bg_w.h | 16 +- include/d/actor/d_a_player_main.h | 6 +- include/d/d_particle.h | 14 +- src/SSystem/SComponent/c_bg_w.cpp | 8 - src/d/actor/d_a_arrow.cpp | 2 +- src/d/actor/d_a_bk.cpp | 2 +- src/d/actor/d_a_hookshot.cpp | 2 +- src/d/actor/d_a_leaflift.cpp | 7 +- src/d/actor/d_a_player_climb.inc | 2 +- src/d/actor/d_a_player_crawl.inc | 11 +- src/d/actor/d_a_player_grab.inc | 8 +- src/d/actor/d_a_player_main.cpp | 1295 +++++++++++++-------------- src/d/actor/d_a_player_swim.inc | 2 +- src/d/actor/d_a_player_sword.inc | 16 +- src/d/actor/d_a_player_whide.inc | 9 +- src/d/d_bg_s_acch.cpp | 2 +- src/d/d_particle.cpp | 2 +- 17 files changed, 656 insertions(+), 748 deletions(-) diff --git a/include/SSystem/SComponent/c_bg_w.h b/include/SSystem/SComponent/c_bg_w.h index 04dd17289..6918c9272 100644 --- a/include/SSystem/SComponent/c_bg_w.h +++ b/include/SSystem/SComponent/c_bg_w.h @@ -273,8 +273,18 @@ public: /* 0xA4 */ int m_rootGrpIdx; }; -bool cBgW_CheckBGround(f32 ny); -bool cBgW_CheckBRoof(f32 ny); -bool cBgW_CheckBWall(f32 ny); +inline bool cBgW_CheckBGround(f32 ny) { + return ny >= 0.5f; +} + +inline bool cBgW_CheckBRoof(f32 ny) { + return ny < (-4.0f / 5.0f); +} + +inline bool cBgW_CheckBWall(float y) { + if (!cBgW_CheckBGround(y) && !cBgW_CheckBRoof(y)) + return true; + return false; +} #endif /* C_BG_W_H */ diff --git a/include/d/actor/d_a_player_main.h b/include/d/actor/d_a_player_main.h index 11f4c9030..8b9545f35 100644 --- a/include/d/actor/d_a_player_main.h +++ b/include/d/actor/d_a_player_main.h @@ -179,15 +179,15 @@ public: void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8); void end(); ~daPy_followEcallBack_c() {} + JPABaseEmitter* getEmitter() { return mpEmitter; } - void setPos(const cXyz* pos) { mPos = *pos; } cXyz& getPos() { return mPos; } + void setPos(const cXyz* pos) { mPos = *pos; } void setAngle(s16 x, s16 y, s16 z) { mAngle.set(x, y, z); } /* 0x04 */ JPABaseEmitter* mpEmitter; /* 0x08 */ cXyz mPos; /* 0x14 */ csXyz mAngle; - /* 0x1A */ u8 field_0x1A[0x1C - 0x1A]; }; // Size: 0x1C class daPy_waterDropEcallBack_c : public daPy_followEcallBack_c { @@ -1011,7 +1011,7 @@ public: BOOL checkNextActionFromButton(); void setShieldGuard(); BOOL checkItemModeActorPointer(); - BOOL checkNextActionItemFly(); + void checkNextActionItemFly(); BOOL checkNextMode(int); BOOL checkIceSlipFall(); void setFrontWallType(); diff --git a/include/d/d_particle.h b/include/d/d_particle.h index 8f58f71e6..0e75e5c41 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -310,19 +310,19 @@ public: virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8); void end(); - void getAlpha() {} - void remove() {} - void setAlpha(u8) {} - void setPosArray(cXyz* param_1, s16 param_2) { - field_0x8 = param_1; + u8 getAlpha() { return mAlpha; } + void setAlpha(u8 alpha) { mAlpha = alpha;} + void remove() { end(); } + void setPosArray(cXyz* pos_array, s16 param_2) { + mPosArray = pos_array; field_0x6 = param_2; } public: - /* 0x04 */ u8 field_0x4; + /* 0x04 */ u8 mAlpha; /* 0x05 */ u8 field_0x5; /* 0x06 */ u16 field_0x6; - /* 0x08 */ cXyz* field_0x8; + /* 0x08 */ cXyz* mPosArray; /* 0x0C */ JPABaseEmitter* mpBaseEmitter; }; // Size: 0x10 diff --git a/src/SSystem/SComponent/c_bg_w.cpp b/src/SSystem/SComponent/c_bg_w.cpp index f1baa6cbd..c5aafd61e 100644 --- a/src/SSystem/SComponent/c_bg_w.cpp +++ b/src/SSystem/SComponent/c_bg_w.cpp @@ -138,14 +138,6 @@ void cBgW::BlckConnect(u16* rwg, int* prev, int i_no) { pm_rwg[*prev].next = -1; } -inline bool cBgW_CheckBGround(f32 ny) { - return ny >= 0.5f; -} - -inline bool cBgW_CheckBRoof(f32 ny) { - return ny < (-4.0f / 5.0f); -} - /* 80247A24-80247BF8 .text ClassifyPlane__4cBgWFv */ void cBgW::ClassifyPlane() { if (pm_vtx_tbl == NULL) diff --git a/src/d/actor/d_a_arrow.cpp b/src/d/actor/d_a_arrow.cpp index f587d9e55..31c826aa5 100644 --- a/src/d/actor/d_a_arrow.cpp +++ b/src/d/actor/d_a_arrow.cpp @@ -904,7 +904,7 @@ BOOL daArrow_c::procReturn() { s32 temp3 = -field_0x69c; field_0x69c = (temp3 / 2); triPla = dComIfG_Bgsp()->GetTriPla(mLinChk); - if (triPla->mNormal.y >= 0.5f) { + if (cBgW_CheckBGround(triPla->GetNP()->y)) { field_0x69a = true; } } else if (field_0x69a && speed.y < 0.0f) { diff --git a/src/d/actor/d_a_bk.cpp b/src/d/actor/d_a_bk.cpp index fe86d014e..1ddbd865f 100644 --- a/src/d/actor/d_a_bk.cpp +++ b/src/d/actor/d_a_bk.cpp @@ -3264,7 +3264,7 @@ static void rope_on(bk_class* i_this) { break; case 2: { i_this->speedF = 70.0f; - s16 targetAngle = fopAcM_searchPlayerAngleY((i_this)); + s16 targetAngle = fopAcM_searchPlayerAngleY(i_this); cLib_addCalcAngleS2(&i_this->current.angle.y, targetAngle, 4, 0x1000); if (i_this->dr.mAcch.ChkWallHit()) { i_this->speed.y = 100.0f + REG0_F(16); diff --git a/src/d/actor/d_a_hookshot.cpp b/src/d/actor/d_a_hookshot.cpp index 598ed4f8b..e579cfeda 100644 --- a/src/d/actor/d_a_hookshot.cpp +++ b/src/d/actor/d_a_hookshot.cpp @@ -280,7 +280,7 @@ BOOL daHookshot_c::procShot() { if ( strcmp(dComIfGp_getStartStageName(), "kazeB") == 0 && ( - (sp8C.y < 950.0f && dComIfG_Bgsp()->GetTriPla(mLinChk)->GetNP()->y >= 0.5f) || + (sp8C.y < 950.0f && cBgW_CheckBGround(dComIfG_Bgsp()->GetTriPla(mLinChk)->GetNP()->y)) || dComIfG_Bgsp()->GetAttributeCode(mLinChk) == dBgS_Attr_SAND_e ) ) { diff --git a/src/d/actor/d_a_leaflift.cpp b/src/d/actor/d_a_leaflift.cpp index 707755006..5a09029dd 100644 --- a/src/d/actor/d_a_leaflift.cpp +++ b/src/d/actor/d_a_leaflift.cpp @@ -240,8 +240,11 @@ bool daLlift_c::_execute() { cXyz adjustedPosition; float distXZ = fopAcM_searchActorDistanceXZ(this, dComIfGp_getPlayer(0)); mActorLifetimeFrameCount++; - if ((m43F) && (m43F--, !m43F)) { - m43E = TRUE; + if (m43F > 0) { + m43F--; + if (m43F == 0) { + m43E = TRUE; + } } if ((!m43C) && (m43E)) { mTargetRotation = ZeroQuat; diff --git a/src/d/actor/d_a_player_climb.inc b/src/d/actor/d_a_player_climb.inc index 571b29e22..bc302e7d3 100644 --- a/src/d/actor/d_a_player_climb.inc +++ b/src/d/actor/d_a_player_climb.inc @@ -190,7 +190,7 @@ void daPy_lk_c::checkBgClimbMove() { local_5c.set(current.pos.x + (25.0f * dVar7), local_68.y + 30.0f, current.pos.z + (25.0f * dVar6)); mGndChk.SetPos(&local_5c); dVar3 = dComIfG_Bgsp()->GroundCross(&mGndChk); - if (C_BG_MIN_HEIGHT != dVar3 && dComIfG_Bgsp()->GetTriPla(mGndChk)->GetNP()->y >= 0.5f && + if (C_BG_MIN_HEIGHT != dVar3 && cBgW_CheckBGround(dComIfG_Bgsp()->GetTriPla(mGndChk)->GetNP()->y) && dVar3 >= local_68.y - 30.0f) { dVar4 = 3.0f; diff --git a/src/d/actor/d_a_player_crawl.inc b/src/d/actor/d_a_player_crawl.inc index 984279238..43ab781a8 100644 --- a/src/d/actor/d_a_player_crawl.inc +++ b/src/d/actor/d_a_player_crawl.inc @@ -168,21 +168,14 @@ int daPy_lk_c::getCrawlMoveVec(cXyz* param_0, cXyz* param_1, cXyz* param_2) { if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) { cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk); int iVar4 = dComIfG_Bgsp()->GetSpecialCode(mLinkLinChk); - f32 fVar1 = triPla->GetNP()->y; - bool bVar2; - if (!(fVar1 >= 0.5f || fVar1 < -0.8f)) { - bVar2 = true; - } else { - bVar2 = false; - } - if (bVar2) { + if (cBgW_CheckBWall(triPla->GetNP()->y)) { cXyz local_3c = (*param_1 - mLinkLinChk.GetCross()); f32 dVar7 = local_3c.absXZ(); param_2->x = -dVar7 * triPla->GetNP()->x; param_2->y = local_3c.y; param_2->z = -dVar7 * triPla->GetNP()->z; return true; - } else if (iVar4 == 1 || (fVar1 < 0.643832f && iVar4 == 2)) { + } else if (iVar4 == 1 || (triPla->GetNP()->y < 0.643832f && iVar4 == 2)) { *param_2 = (*param_1 - mLinkLinChk.GetCross()); return true; } diff --git a/src/d/actor/d_a_player_grab.inc b/src/d/actor/d_a_player_grab.inc index 8536a7035..d3d7a4b3b 100644 --- a/src/d/actor/d_a_player_grab.inc +++ b/src/d/actor/d_a_player_grab.inc @@ -661,13 +661,7 @@ BOOL daPy_lk_c::procGrabPut() { mLinkLinChk.Set(&m370C, &local_2c, this); if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) { cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk); - bool bVar1; - if ((!(triPla->GetNP()->y >= 0.5f)) && (!(triPla->GetNP()->y < -0.8f))) { - bVar1 = true; - } else { - bVar1 = false; - } - if (bVar1) { + if (cBgW_CheckBWall(triPla->GetNP()->y)) { cXyz local_44 = (local_2c - mLinkLinChk.GetCross()); f32 dVar7 = local_44.abs(); f32 dVar5 = local_44.absXZ(); diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp index 6417b763e..ae5557784 100644 --- a/src/d/actor/d_a_player_main.cpp +++ b/src/d/actor/d_a_player_main.cpp @@ -482,19 +482,19 @@ BOOL daPy_lk_c::jointCB1() { mDoMtx_stack_c::revConcat(mpCLModel->getAnmMtx(0x20)); mpCLModel->setAnmMtx(0x20, mDoMtx_stack_c::get()); mDoMtx_stack_c::transM(pJVar4->mTranslate.x, pJVar4->mTranslate.y, pJVar4->mTranslate.z); - mDoMtx_stack_c::quatM((pQVar2)); + mDoMtx_stack_c::quatM(pQVar2); pJVar4++; pQVar2++; mDoMtx_stack_c::ZrotM(mFootData[1].field_0x00A); mpCLModel->setAnmMtx(0x21, mDoMtx_stack_c::get()); mDoMtx_stack_c::transM(pJVar4->mTranslate.x, pJVar4->mTranslate.y, pJVar4->mTranslate.z); - mDoMtx_stack_c::quatM((pQVar2)); + mDoMtx_stack_c::quatM(pQVar2); pJVar4++; pQVar2++; mDoMtx_stack_c::ZrotM(mFootData[1].field_0x002); mpCLModel->setAnmMtx(0x22, mDoMtx_stack_c::get()); mDoMtx_stack_c::transM(pJVar4->mTranslate.x, pJVar4->mTranslate.y, pJVar4->mTranslate.z); - mDoMtx_stack_c::quatM((pQVar2)); + mDoMtx_stack_c::quatM(pQVar2); mpCLModel->setAnmMtx(0x23, mDoMtx_stack_c::get()); pJVar4 = m_old_fdata->getOldFrameTransInfo(0x26); pQVar2 = m_old_fdata->getOldFrameQuaternion(0x26); @@ -502,19 +502,19 @@ BOOL daPy_lk_c::jointCB1() { mDoMtx_stack_c::revConcat(mpCLModel->getAnmMtx(0x25)); mpCLModel->setAnmMtx(0x25, mDoMtx_stack_c::get()); mDoMtx_stack_c::transM(pJVar4->mTranslate.x, pJVar4->mTranslate.y, pJVar4->mTranslate.z); - mDoMtx_stack_c::quatM((pQVar2)); + mDoMtx_stack_c::quatM(pQVar2); pJVar4++; pQVar2++; mDoMtx_stack_c::ZrotM(mFootData[0].field_0x00A); mpCLModel->setAnmMtx(0x26, mDoMtx_stack_c::get()); mDoMtx_stack_c::transM(pJVar4->mTranslate.x, pJVar4->mTranslate.y, pJVar4->mTranslate.z); - mDoMtx_stack_c::quatM((pQVar2)); + mDoMtx_stack_c::quatM(pQVar2); pJVar4++; pQVar2++; mDoMtx_stack_c::ZrotM(mFootData[0].field_0x002); mpCLModel->setAnmMtx(0x27, mDoMtx_stack_c::get()); mDoMtx_stack_c::transM(pJVar4->mTranslate.x, pJVar4->mTranslate.y, pJVar4->mTranslate.z); - mDoMtx_stack_c::quatM((pQVar2)); + mDoMtx_stack_c::quatM(pQVar2); mpCLModel->setAnmMtx(0x28, mDoMtx_stack_c::get()); return true; } @@ -765,7 +765,7 @@ void daPy_lk_c::setTextureAnime(u16 param_1, int param_2) { } dVar9 = cM_rnd(); if (m_tex_scroll_heap.mIdx != btk_idx) { - if ((((bVar3) && checkModeFlg(ModeFlg_00000001)) && daPy_matAnm_c::m_maba_flg != 0) && + if (((bVar3 && checkModeFlg(ModeFlg_00000001)) && daPy_matAnm_c::m_maba_flg != 0) && (((!dComIfGp_event_runCheck() && mpAttnActorLockOn == NULL) && btk_idx == LKANM_BTK_TMABA))) { if (daPy_matAnm_c::m_maba_timer == 0) { @@ -808,7 +808,7 @@ void daPy_lk_c::setTextureAnime(u16 param_1, int param_2) { setTextureScrollResource(loadTextureScrollResource(btk_idx, 0), param_2); } } - } else if (((((bVar3) && (checkModeFlg(ModeFlg_00000001))) && (!dComIfGp_event_runCheck())) && + } else if ((((bVar3 && (checkModeFlg(ModeFlg_00000001))) && (!dComIfGp_event_runCheck())) && ((daPy_matAnm_c::m_maba_timer == 0 && (mpAttnActorLockOn == NULL)))) && (((btk_idx == LKANM_BTK_TMABA && ((m_tex_scroll_heap.field_0x2 == 0xFFFF && (m_tex_scroll_heap.field_0x4 == 0xFFFF)))) && @@ -2274,24 +2274,11 @@ void daPy_lk_c::setNormalSpeedF(f32 param_1, f32 param_2, f32 param_3, f32 param /* 80108D80-8010959C .text posMoveFromFootPos__9daPy_lk_cFv */ void daPy_lk_c::posMoveFromFootPos() { - /* Nonmatching - first for loop, math */ - static const Vec rtoe_pos_offset = {-14.05f, 0.0f, 5.02f}; - static const Vec rheel_pos_offset = {-10.85f, 0.0f, -6.52f}; - s16 sVar5; - uint uVar2; - int iVar7; - f32 dVar12; - f32 dVar13; - f32 dVar14; - cXyz local_c0; - cXyz local_b4; - cXyz local_90; - cXyz local_78[3]; - cXyz local_60[3]; - if (m_old_fdata->getOldFrameFlg() == false) { m34BC = 2; speedF = 0.0f; + static const Vec rtoe_pos_offset = {-14.05f, 0.0f, 5.02f}; + static const Vec rheel_pos_offset = {-10.85f, 0.0f, -6.52f}; mFootData[0].field_0x018 = rtoe_pos_offset; mFootData[0].field_0x00C = rheel_pos_offset; mFootData[1].field_0x018.x = -rtoe_pos_offset.x; @@ -2300,125 +2287,126 @@ void daPy_lk_c::posMoveFromFootPos() { mFootData[1].field_0x00C.x = -rheel_pos_offset.x; mFootData[1].field_0x00C.y = rheel_pos_offset.y; mFootData[1].field_0x00C.z = rheel_pos_offset.z; - - } else { - mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(0x22), mDoMtx_stack_c::get()); - mDoMtx_stack_c::multVec(&l_toe_pos, local_60); - mDoMtx_stack_c::multVec(&l_heel_pos, local_78); - mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(0x27), mDoMtx_stack_c::get()); - mDoMtx_stack_c::multVec(&l_toe_pos, local_60); - mDoMtx_stack_c::multVec(&l_heel_pos, local_78); - mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(0x1E), mDoMtx_stack_c::get()); - dVar14 = cM_ssin(m34E0); - dVar12 = cM_scos(m34E0); - for (iVar7 = 0; iVar7 < 2; iVar7++) { - local_90 = local_78[0] + local_b4; - local_b4 *= 0.5f; - local_78[iVar7].x = mDoMtx_stack_c::now[1][3]; - local_78[iVar7].y = mDoMtx_stack_c::now[1][3] - dVar14; - local_78[iVar7].z = mDoMtx_stack_c::now[2][3] - dVar12; - } - if (local_b4.y < local_b4.x) { - m34BC = 0; - } else { - m34BC = 1; - } - local_c0 = local_b4 - mFootData[0].field_0x018; - dVar12 = local_c0.absXZ(); - if ((m3598 < 1.0f) && (std::abs(m35B4 - mStickDistance) < 0.2f)) { - dVar12 = ((dVar12 * 0.3f) + 0.7f * m359C); - } - dVar14 = mVelocity; - local_c0.x = dVar14 * (1.0f - m3598); - if (mVelocity < 0.0f) { - local_c0.x -= (dVar12 * dVar14); - } else { - local_c0.x += (dVar12 * dVar14); - } - if (((!mAcch.ChkGroundHit()) || (!dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd))) || - (m3580 == 8)) - { - sVar5 = 0; - } else { - sVar5 = getGroundAngle(&mAcch.m_gnd, current.angle.y); - } - f32 fVar1 = 0.0f; - local_c0.x *= cM_scos(sVar5); - if (local_c0.x < 0) { - local_c0.x *= 0.85f; - } - if (std::abs(local_c0.x) < 0.05f) { - speedF = 0.0f; - speed.x = fVar1; - speed.z = fVar1; - } else { - speedF = local_c0.x; - fVar1 = 0.0f; - if (mCurProc == daPyProc_SWIM_MOVE_e) { - uVar2 = cM_rad2s((M_PI * (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() / - mFrameCtrlUnder[UNDER_MOVE0_e].getEnd()))); - dVar13 = std::abs(cM_scos((uVar2 & 0xFFFF))); - dVar14 = getSwimTimerRate(); - fVar1 = (((1.0f + (dVar14 * daPy_HIO_swim_c0::m.field_0x7C)) / - ((1.0f - (speedF * daPy_HIO_swim_c0::m.field_0x7C)) + - (speedF * dVar13) * daPy_HIO_swim_c0::m.field_0x60))); - speed.x = fVar1 * cM_ssin(current.angle.y); - speed.z = fVar1 * cM_scos(current.angle.y); - } else if (((mCurProc != daPyProc_CUT_ROLL_e) || (!dComIfGp_event_runCheck())) || - ((mDemo.getDemoType() != 0 || - (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK2B_e)))) - { - speed.x = speedF * cM_ssin(current.angle.y); - speed.z = speedF * cM_scos(current.angle.y); - } else { - speed.x = 0.0f; - speed.z = fVar1; - } - } - m36AC = m36A0; - if (((!checkModeFlg(ModeFlg_MIDAIR | ModeFlg_WHIDE | ModeFlg_HANG | ModeFlg_ROPE | - ModeFlg_IN_SHIP | ModeFlg_CLIMB | ModeFlg_PUSHPULL | ModeFlg_LADDER | - ModeFlg_CRAWL | ModeFlg_CAUGHT)) && - (!dComIfGp_event_runCheck())) && - ((mDemo.getDemoType() == 0 && - ((((!checkHeavyStateOn() && (mCurrAttributeCode == dBgS_Attr_ICE_e)) && - (!checkNoResetFlg0(daPy_FLG0(daPyFlg0_UNK20000000 | daPyFlg0_UNK80000000)))) && - ((!mAcch.ChkWallHit() && (mAcch.ChkGroundHit())))))))) - { - cLib_addCalc(&m36A0.x, 0.0f, 0.03f, 100.0f, 0.5f); - cLib_addCalc(&m36A0.z, 0.0f, 0.03f, 100.0f, 0.5f); - m36A0 += (mOldSpeed - speed) * 0.75f; - speed += (mOldSpeed - speed) * 0.25f; - } else { - fVar1 = 0.0f; - m36A0.x = 0.0f; - m36A0.z = fVar1; - } - m36A0.y = 0.0f; - setBeltConveyerPower(); - setWindAtPower(); - dVar14 = speed.y; - if (checkHeavyStateOn()) { - speed.y += gravity * 2.25f; - if (speed.y < (maxFallSpeed * 1.5f)) { - speed.y = maxFallSpeed * 1.5f; - } - } else { - speed.y += gravity; - if (speed.y < maxFallSpeed) { - speed.y = maxFallSpeed; - } - } - if ((speed.y <= 0.0f) && (dVar14 > 0.0f)) { - m35F0 = current.pos.y; - } - current.pos += speed; - for (iVar7 = 0; iVar7 < 2; iVar7++) { - mFootData[iVar7].field_0x018 = local_60[iVar7]; - mFootData[iVar7].field_0x00C = local_78[iVar7]; - } - m359C = dVar12; + return; } + + cXyz spB0[2]; + cXyz sp98[2]; + mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(0x22), mDoMtx_stack_c::get()); + mDoMtx_stack_c::multVec(&l_toe_pos, &spB0[1]); + mDoMtx_stack_c::multVec(&l_heel_pos, &sp98[1]); + mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(0x27), mDoMtx_stack_c::get()); + mDoMtx_stack_c::multVec(&l_toe_pos, &spB0[0]); + mDoMtx_stack_c::multVec(&l_heel_pos, &sp98[0]); + mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(0x1E), mDoMtx_stack_c::get()); + MtxP r26 = mDoMtx_stack_c::get(); + f32 f31 = cM_ssin(m34E0); + f32 f30 = cM_scos(m34E0); + f32 sp0C[2]; + cXyz sp80[2]; + for (int i = 0; i < 2; i++) { + sp80[i] = sp98[i] + spB0[i]; + sp80[i] *= 0.5f; + f32 f2 = r26[1][3] + f30 * (sp80[i].y - r26[1][3]); + sp0C[i] = f2 + f31 * (sp80[i].z - r26[2][3]); + } + if (sp0C[0] < sp0C[1]) { + m34BC = 0; + } else { + m34BC = 1; + } + cXyz sp7C; + cXyz sp68; + sp68 = spB0[m34BC] - mFootData[m34BC].field_0x018; + f32 f31_2 = sp68.absXZ(); + if ((m3598 < 1.0f) && (std::abs(m35B4 - mStickDistance) < 0.2f)) { + f31_2 = ((f31_2 * 0.3f) + 0.7f * m359C); + } + sp7C.z = mVelocity * (1.0f - m3598); + if (mVelocity < 0.0f) { + sp7C.z -= (f31_2 * m3598); + } else { + sp7C.z += (f31_2 * m3598); + } + s16 r3; + if (((!mAcch.ChkGroundHit()) || (!dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd))) || (m3580 == 8)) { + r3 = 0; + } else { + r3 = getGroundAngle(&mAcch.m_gnd, current.angle.y); + } + sp7C.z *= cM_scos(r3); + if (r3 < 0) { + sp7C.z *= 0.85f; + } + if (std::abs(sp7C.z) < 0.05f) { + speedF = 0.0f; + speed.x = 0.0f; + speed.z = 0.0f; + } else { + speedF = sp7C.z; + if (mCurProc == daPyProc_SWIM_MOVE_e) { + u16 r3 = + cM_rad2s(M_PI * (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() / mFrameCtrlUnder[UNDER_MOVE0_e].getEnd())); + f32 f30; + f30 = std::abs(cM_scos(r3 & 0xFFFF)); + f32 f1 = + ((speedF * (1.0f - daPy_HIO_swim_c0::m.field_0x60)) + daPy_HIO_swim_c0::m.field_0x60 * (speedF * f30)) / + (1.0f + (daPy_HIO_swim_c0::m.field_0x7C * getSwimTimerRate())); + speed.x = f1 * cM_ssin(current.angle.y); + speed.z = f1 * cM_scos(current.angle.y); + } else if (((mCurProc != daPyProc_CUT_ROLL_e) || (!dComIfGp_event_runCheck())) || + (mDemo.getDemoType() != 0 || (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK2B_e))) + { + speed.x = speedF * cM_ssin(current.angle.y); + speed.z = speedF * cM_scos(current.angle.y); + } else { + speed.x = 0.0f; + speed.z = 0.0f; + } + } + m36AC = m36A0; + if (!checkModeFlg( + // Note: These flags combine into 0x11612832. + ModeFlg_MIDAIR | ModeFlg_WHIDE | ModeFlg_HANG | ModeFlg_ROPE | ModeFlg_IN_SHIP | ModeFlg_CLIMB | + ModeFlg_PUSHPULL | ModeFlg_LADDER | ModeFlg_CRAWL | ModeFlg_CAUGHT + ) && + !dComIfGp_event_runCheck() && mDemo.getDemoType() == 0 && !checkHeavyStateOn() && + mCurrAttributeCode == dBgS_Attr_ICE_e && + !checkNoResetFlg0(daPy_FLG0(daPyFlg0_UNK20000000 | daPyFlg0_UNK80000000)) && !mAcch.ChkWallHit() && + mAcch.ChkGroundHit()) + { + cLib_addCalc(&m36A0.x, 0.0f, 0.03f, 100.0f, 0.5f); + cLib_addCalc(&m36A0.z, 0.0f, 0.03f, 100.0f, 0.5f); + m36A0 += (mOldSpeed - speed) * 0.75f; + speed += (mOldSpeed - speed) * 0.25f; + } else { + m36A0.x = 0.0f; + m36A0.z = 0.0f; + } + m36A0.y = 0.0f; + setBeltConveyerPower(); + setWindAtPower(); + f32 f1 = speed.y; + if (checkHeavyStateOn()) { + speed.y += gravity * 2.25f; + if (speed.y < (maxFallSpeed * 1.5f)) { + speed.y = maxFallSpeed * 1.5f; + } + } else { + speed.y += gravity; + if (speed.y < maxFallSpeed) { + speed.y = maxFallSpeed; + } + } + if (speed.y <= 0.0f && f1 > 0.0f) { + m35F0 = current.pos.y; + } + current.pos += speed; + for (int i = 0; i < 2; i++) { + mFootData[i].field_0x018 = spB0[i]; + mFootData[i].field_0x00C = sp98[i]; + } + m359C = f31_2; } /* 8010959C-80109E80 .text posMove__9daPy_lk_cFv */ @@ -2474,7 +2462,7 @@ void daPy_lk_c::posMove() { pJVar11->mTranslate.x = local_54.x; pJVar11->mTranslate.y = local_54.y; pJVar11->mTranslate.z = local_54.z; - } else if ((m34C2 == 2) || (m34C2 == 6)) { + } else if (m34C2 == 2 || m34C2 == 6) { pJVar11->mTranslate.x = local_54.x; pJVar11->mTranslate.z = local_54.z; if (m34C2 == 6) { @@ -2491,7 +2479,7 @@ void daPy_lk_c::posMove() { pJVar11->mTranslate.y = local_94.y; m35E0 = local_94.y; m34C2 = 5; - } else if ((m34C2 == 7) || (m34C2 == 3)) { + } else if (m34C2 == 7 || m34C2 == 3) { local_94.x = local_54.x; local_94.y = local_54.y; local_94.z = local_54.z; @@ -2505,8 +2493,8 @@ void daPy_lk_c::posMove() { posMoveFromFootPos(); if (!checkNoCollisionCorret()) { current.pos += *mStts.GetCCMoveP(); - if ((!dComIfGp_event_runCheck()) && (mDemo.getDemoType() == 0)) { - if ((!checkNoResetFlg1(daPyFlg1_UNK10000000)) || (!checkHeavyStateOn())) { + if (!dComIfGp_event_runCheck() && mDemo.getDemoType() == 0) { + if (!checkNoResetFlg1(daPyFlg1_UNK10000000) || !checkHeavyStateOn()) { current.pos.x += m3644 * cM_ssin(m3640); current.pos.z += m3644 * cM_scos(m3640); } @@ -2528,7 +2516,7 @@ void daPy_lk_c::posMove() { } else { m3610 = 0.0f; } - if ((mAcch.ChkGroundHit()) && (dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd))) { + if (mAcch.ChkGroundHit() && dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd)) { uVar8 = getGroundAngle(&mAcch.m_gnd, 0); current.pos.z += m36A0.z * cM_scos(uVar8 & 0xFFFF); uVar8 = getGroundAngle(&mAcch.m_gnd, 0x4000); @@ -2540,9 +2528,9 @@ void daPy_lk_c::posMove() { current.pos.z += m3730.z; } } - } else if ((((!dComIfGp_event_runCheck()) && (mDemo.getDemoType() == 0)) && - (daPy_getPlayerActorClass() == this)) && - (mCurProc == daPyProc_HANG_MOVE_e)) + } else if (((!dComIfGp_event_runCheck() && mDemo.getDemoType() == 0) && + daPy_getPlayerActorClass() == this) && + mCurProc == daPyProc_HANG_MOVE_e) { dVar13 = mStts.GetCCMoveP()->absXZ(); if (dVar13 > 1.0f) { @@ -2558,8 +2546,8 @@ void daPy_lk_c::posMove() { } m3644 = 0.0f; mStts.GetCCMoveP()->zero(); - if ((((m34C2 == 1) || (m34C2 == 8)) || (m34C2 == 9)) || (m34C2 == 5)) { - if ((m34C2 == 1) || (m34C2 == 5)) { + if (((m34C2 == 1 || m34C2 == 8) || m34C2 == 9) || m34C2 == 5) { + if (m34C2 == 1 || m34C2 == 5) { local_a0 = m3700 - local_94; } else { local_a0 = local_94 - m3700; @@ -2582,7 +2570,7 @@ void daPy_lk_c::setShapeAngleToAtnActor() { /* 80109ED8-80109F4C .text cancelItemUpperReadyAnime__9daPy_lk_cFv */ BOOL daPy_lk_c::cancelItemUpperReadyAnime() { - if ((dComIfGp_getDoStatus() == dActStts_RETURN_e) && (doTrigger())) { + if (dComIfGp_getDoStatus() == dActStts_RETURN_e && doTrigger()) { seStartOnlyReverb(JA_SE_CANCEL_1); resetActAnimeUpper(UPPER_MOVE2_e, -1.0f); procWait_init(); @@ -2631,7 +2619,7 @@ BOOL daPy_lk_c::setBodyAngleToCamera() { s16 local_16; s16 local_18; - if ((dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x10)) != 0) { + if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x10) != 0) { bVar1 = dCam_getBody()->CalcSubjectAngle(&local_16, &local_18); if (bVar1 != 0) { shape_angle.y = local_18; @@ -2697,15 +2685,15 @@ void daPy_lk_c::setSpeedAndAngleNormal(s16 param_1) { if (checkGrabWear()) { dVar11 *= 1.0f / (daPy_HIO_move_c0::m.field_0x74 * daPy_HIO_move_c0::m.field_0x74); } - if (((!mpAttention->Lockon()) && (cLib_distanceAngleS(m34E8, current.angle.y) > 0x7800)) && - (mCurProc != daPyProc_MOVE_TURN_e)) + if ((!mpAttention->Lockon() && cLib_distanceAngleS(m34E8, current.angle.y) > 0x7800) && + mCurProc != daPyProc_MOVE_TURN_e) { if (checkModeFlg(ModeFlg_00000001)) { return; } if (mCurProc == daPyProc_MOVE_e) { if ((speedF / mMaxNormalSpeed > daPy_HIO_slip_c0::m.field_0x4) && - (getDirectionFromAngle(m34EA - m34DC) == DIR_BACKWARD)) + getDirectionFromAngle(m34EA - m34DC) == DIR_BACKWARD) { return; } @@ -2767,8 +2755,8 @@ void daPy_lk_c::setSpeedAndAngleNormal(s16 param_1) { } else { dVar9 = 0.0f; } - if (((!mpAttention->Lockon()) && (mCurProc != daPyProc_MOVE_TURN_e)) && - (mStickDistance > 0.05f)) + if ((!mpAttention->Lockon() && mCurProc != daPyProc_MOVE_TURN_e) && + mStickDistance > 0.05f) { sVar6 = shape_angle.y; cLib_addCalcAngleS(&shape_angle.y, m34E8, daPy_HIO_move_c0::m.field_0x6, @@ -2883,9 +2871,9 @@ void daPy_lk_c::setFrameCtrl(J3DFrameCtrl* frameCtrl, u8 attribute, s16 start, s /* 8010ACEC-8010AD2C .text checkAtnWaitAnime__9daPy_lk_cFv */ BOOL daPy_lk_c::checkAtnWaitAnime() { - if (((mpAttnActorLockOn != NULL) && - (((fopAcM_GetGroup(mpAttnActorLockOn) == fopAc_ENEMY_e) || - (fopAcM_GetName(mpAttnActorLockOn) == PROC_BOOMERANG)))) || + if ((mpAttnActorLockOn != NULL && + ((fopAcM_GetGroup(mpAttnActorLockOn) == fopAc_ENEMY_e || + fopAcM_GetName(mpAttnActorLockOn) == PROC_BOOMERANG))) || (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK17_e)) { return true; @@ -2895,80 +2883,73 @@ BOOL daPy_lk_c::checkAtnWaitAnime() { /* 8010AD2C-8010B798 .text setBlendMoveAnime__9daPy_lk_cFf */ void daPy_lk_c::setBlendMoveAnime(f32 param_1) { - /* Nonmatching - regalloc */ - f32 fVar1; - s16 sVar5; - int iVar6; - daPy_ANM dVar9; - daPy_ANM dVar10; - f32 dVar14; - f32 in_f27; - f32 dVar16; - f32 dVar17; - + f32 f1_1; if (m3580 == 8) { - fVar1 = 1.0f; + f1_1 = 1.0f; } else { - fVar1 = cM_scos(m34E2); + f1_1 = cM_scos(m34E2); } - f32 dVar18 = (std::abs(mVelocity * fVar1) / mMaxNormalSpeed); + f32 f30 = (std::abs(mVelocity * f1_1) / mMaxNormalSpeed); J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE1_e]; - if (dComIfGp_event_runCheck() || (mDemo.getDemoType() != 0)) { - dVar17 = daPy_HIO_move_c0::m.field_0x44; - dVar16 = daPy_HIO_move_c0::m.field_0x64; + f32 f29; + f32 f28; + if (dComIfGp_event_runCheck() || mDemo.getDemoType() != 0) { + f29 = daPy_HIO_move_c0::m.field_0x44; + f28 = daPy_HIO_move_c0::m.field_0x64; } else if (checkHeavyStateOn()) { - dVar17 = daPy_HIO_move_c0::m.field_0x78; - dVar16 = daPy_HIO_move_c0::m.field_0x7C; + f29 = daPy_HIO_move_c0::m.field_0x78; + f28 = daPy_HIO_move_c0::m.field_0x7C; } else { - dVar17 = daPy_HIO_move_c0::m.field_0x40; - dVar16 = daPy_HIO_move_c0::m.field_0x60; + f29 = daPy_HIO_move_c0::m.field_0x40; + f28 = daPy_HIO_move_c0::m.field_0x60; } - daPy_ANM dVar11 = ANM_WAITS; + daPy_ANM r28 = ANM_WAITS; + daPy_ANM r27; + daPy_ANM r26; if (checkGrabWear()) { - dVar10 = ANM_WALKBARREL; - dVar9 = ANM_WALKBARREL; + r27 = ANM_WALKBARREL; + r26 = ANM_WALKBARREL; } else if (checkHeavyStateOn()) { - if (((m373C.abs2XZ() > 25.0f) && + if ((m373C.abs2XZ() > 25.0f && (cLib_distanceAngleS(cM_atan2s(m373C.x, m373C.z), shape_angle.y) >= 0x4000)) || ((checkNoResetFlg1(daPyFlg1_UNK10000000) && m3644 > 5.0f) && - (cLib_distanceAngleS(m3640, shape_angle.y) >= 0x4000))) + cLib_distanceAngleS(m3640, shape_angle.y) >= 0x4000)) { - dVar10 = ANM_WALKHBOOTSKAZE; - dVar9 = ANM_WALKHBOOTSKAZE; + r27 = ANM_WALKHBOOTSKAZE; + r26 = ANM_WALKHBOOTSKAZE; if (!checkNoResetFlg1(daPyFlg1_UNK1000000)) { param_1 = daPy_HIO_basic_c0::m.field_0xC; onNoResetFlg1(daPyFlg1_UNK1000000); } } else { - dVar10 = ANM_WALKHBOOTS; - dVar9 = ANM_WALKHBOOTS; + r27 = ANM_WALKHBOOTS; + r26 = ANM_WALKHBOOTS; if (checkNoResetFlg1(daPyFlg1_UNK1000000)) { param_1 = daPy_HIO_basic_c0::m.field_0xC; offNoResetFlg1(daPyFlg1_UNK1000000); } } } else if (m3580 != 8 && m34E2 <= -0x11C7) { - dVar10 = ANM_WALKSLOPE; - dVar9 = ANM_WALKSLOPE; + r27 = ANM_WALKSLOPE; + r26 = ANM_WALKSLOPE; if (!checkNoResetFlg1(daPyFlg1_UNK80)) { param_1 = daPy_HIO_basic_c0::m.field_0xC; onNoResetFlg1(daPyFlg1_UNK80); } } else { - dVar10 = ANM_WALK; - dVar14 = m3730.abs2XZ(); - if ((dVar14 > 25.0f && + r27 = ANM_WALK; + if ((m3730.abs2XZ() > 25.0f && (cLib_distanceAngleS(cM_atan2s(m3730.x, m3730.z), shape_angle.y) >= 0x4000)) || ((checkNoResetFlg1(daPyFlg1_UNK10000000) && m3644 > 5.0f) && - (cLib_distanceAngleS(m3640, shape_angle.y) >= 0x4000))) + cLib_distanceAngleS(m3640, shape_angle.y) >= 0x4000)) { - dVar9 = ANM_DASHKAZE; + r26 = ANM_DASHKAZE; if (!checkNoResetFlg1(daPyFlg1_UNK1000000)) { param_1 = daPy_HIO_basic_c0::m.field_0xC; onNoResetFlg1(daPyFlg1_UNK1000000); } } else { - dVar9 = ANM_DASH; + r26 = ANM_DASH; if (checkNoResetFlg1(daPyFlg1_UNK1000000)) { param_1 = daPy_HIO_basic_c0::m.field_0xC; offNoResetFlg1(daPyFlg1_UNK1000000); @@ -2979,24 +2960,24 @@ void daPy_lk_c::setBlendMoveAnime(f32 param_1) { offNoResetFlg1(daPyFlg1_UNK80); } } - BOOL bVar4 = false; - f32 dVar12 = m36A0.abs2XZ(); - f32 dVar13 = m3730.abs2XZ(); - dVar14 = m36B8.abs2XZ(); + BOOL r25 = false; + f32 f31 = m36A0.abs2XZ(); + f32 f25 = m3730.abs2XZ(); + f32 f1_2 = m36B8.abs2XZ(); BOOL bVar3; - if (dVar12 > dVar13) { - if (dVar12 > dVar14) { - dVar14 = dVar12; + if (f31 > f25) { + if (f31 > f1_2) { + f1_2 = f31; } bVar3 = true; - } else if (dVar13 > dVar14) { - dVar14 = dVar13; + } else if (f25 > f1_2) { + f1_2 = f25; bVar3 = false; } else { bVar3 = false; } if (mStickDistance < 0.05f && - ((dVar14 >= 25.0f || ((dVar14 >= 0.09f && ((m34C3 == 9 || m34C3 == 10))))))) + ((f1_2 >= 25.0f || ((f1_2 >= 0.09f && ((m34C3 == 9 || m34C3 == 10))))))) { seStartMapInfo(JA_SE_LK_SLIP_SUS); if ((m34C3 != 9 && (bVar3)) || ((m34C3 != 10 && (!bVar3)))) { @@ -3026,16 +3007,22 @@ void daPy_lk_c::setBlendMoveAnime(f32 param_1) { if (m34C3 == 9) { param_1 = daPy_HIO_basic_c0::m.field_0xC; } - if (dVar18 < daPy_HIO_move_c0::m.field_0x2C || checkHeavyStateOn()) { + if (f30 < daPy_HIO_move_c0::m.field_0x2C || checkHeavyStateOn()) { if (checkHeavyStateOn()) { - dVar14 = dVar18 / daPy_HIO_move_c0::m.field_0x80; - if (dVar14 > 0.55f) { - bVar4 = true; + f25 = f30 / daPy_HIO_move_c0::m.field_0x80; + if (f25 > 0.55f) { + r25 = true; } } else { - dVar14 = dVar18 / daPy_HIO_move_c0::m.field_0x2C; + f25 = f30 / daPy_HIO_move_c0::m.field_0x2C; } - dVar11 = ANM_WAITS; + r28 = ANM_WAITS; + int r24; + f32 in_f27; // Bug? This variable is uninitialized in some paths. TODO: Look into this. + #ifdef __clang__ + // Just a quick hack to hide clangd's warning for now. + in_f27 = 0.0f; + #endif if (checkModeFlg(ModeFlg_00000001)) { if (mpAttention->Lockon()) { if (checkUpperGuardAnime()) { @@ -3045,36 +3032,36 @@ void daPy_lk_c::setBlendMoveAnime(f32 param_1) { return; } } - fVar1 = m3598 = 0.0f; - iVar6 = 2; - if ((checkNoResetFlg1(daPyFlg1_CONFUSE) && (mDemo.getDemoType() == 0)) && + f32 f1 = m3598 = 0.0f; + r24 = 2; + if ((checkNoResetFlg1(daPyFlg1_CONFUSE) && mDemo.getDemoType() == 0) && !dComIfGp_event_runCheck()) { if (m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_WAITQ) { - setSingleMoveAnime(ANM_WAITQ, daPy_HIO_move_c0::m.field_0x84, fVar1, -1, + setSingleMoveAnime(ANM_WAITQ, daPy_HIO_move_c0::m.field_0x84, f1, -1, daPy_HIO_basic_c0::m.field_0xC); m34C3 = 2; } return; } if (shape_angle.y != m34DE && !mpAttention->Lockon()) { - sVar5 = (s16)(shape_angle.y - m34DE); - if (sVar5 > 0) { - dVar10 = ANM_ATNWLS; + s16 r3 = (s16)(shape_angle.y - m34DE); + if (r3 > 0) { + r27 = ANM_ATNWLS; } else { - dVar10 = ANM_ATNWRS; + r27 = ANM_ATNWRS; } - dVar14 = (0.5f + 0.001f * abs(sVar5)); - if (dVar14 > 1.0f) { - dVar14 = 1.0f; + f25 = (0.5f + 0.001f * abs(r3)); + if (f25 > 1.0f) { + f25 = 1.0f; } if (!checkNoResetFlg1(daPyFlg1_UNK800000)) { param_1 = daPy_HIO_basic_c0::m.field_0xC; } onNoResetFlg1(daPyFlg1_UNK800000); - dVar17 = daPy_HIO_atnMove_c0::m.field_0x28; + f29 = daPy_HIO_atnMove_c0::m.field_0x28; } else if (checkRestHPAnime()) { - dVar11 = ANM_WAITB; + r28 = ANM_WAITB; in_f27 = daPy_HIO_move_c0::m.field_0x3C; if (checkNoResetFlg1(daPyFlg1_UNK800000)) { param_1 = daPy_HIO_basic_c0::m.field_0xC; @@ -3088,13 +3075,13 @@ void daPy_lk_c::setBlendMoveAnime(f32 param_1) { offNoResetFlg1(daPyFlg1_UNK800000); } } else { - m3598 = (1.0f - ((1.0f - dVar16) * dVar14)); - iVar6 = 1; + m3598 = (1.0f - ((1.0f - f28) * f25)); + r24 = 1; in_f27 = daPy_HIO_move_c0::m.field_0x38; } - setMoveAnime(dVar14, in_f27, dVar17, dVar11, dVar10, iVar6, param_1); - if (((dVar11 == ANM_WAITB) && - ((!dComIfGp_event_runCheck() || (mDemo.getDemoType() != 3)))) && + setMoveAnime(f25, in_f27, f29, r28, r27, r24, param_1); + if ((r28 == ANM_WAITB && + ((!dComIfGp_event_runCheck() || mDemo.getDemoType() != 3))) && (mFrameCtrlUnder[UNDER_MOVE0_e].checkPass(15.0f))) { if (dComIfGs_getLife() <= 2) { @@ -3103,24 +3090,24 @@ void daPy_lk_c::setBlendMoveAnime(f32 param_1) { voiceStart(20); } } - } else if (dVar18 < daPy_HIO_move_c0::m.field_0x30) { - fVar1 = (dVar18 - daPy_HIO_move_c0::m.field_0x2C) / + } else if (f30 < daPy_HIO_move_c0::m.field_0x30) { + f32 f1 = (f30 - daPy_HIO_move_c0::m.field_0x2C) / (daPy_HIO_move_c0::m.field_0x30 - daPy_HIO_move_c0::m.field_0x2C); - dVar14 = fVar1; - setMoveAnime(fVar1, dVar17, daPy_HIO_move_c0::m.field_0x48, dVar10, dVar9, 1, param_1); - m3598 = (dVar16 * (1.0f - dVar14)); + setMoveAnime(f1, f29, daPy_HIO_move_c0::m.field_0x48, r27, r26, 1, param_1); + m3598 = (f28 * (1.0f - f1)); } else { - if (dVar12 >= 169.0f) { - fVar1 = 1.7f * daPy_HIO_move_c0::m.field_0x48; + f32 f1; + if (f31 >= 169.0f) { + f1 = 1.7f * daPy_HIO_move_c0::m.field_0x48; onResetFlg0(daPyRFlg0_UNK40000); } else { - fVar1 = daPy_HIO_move_c0::m.field_0x48; + f1 = daPy_HIO_move_c0::m.field_0x48; } - setMoveAnime(1.0f, fVar1, fVar1, dVar9, dVar9, 1, param_1); + setMoveAnime(1.0f, f1, f1, r26, r26, 1, param_1); m3598 = 0.0f; } } - if ((dVar18 >= 0.9f) || (bVar4)) { + if (f30 >= 0.9f || (r25)) { onResetFlg0(daPyRFlg0_UNK10); } if (!checkModeFlg(ModeFlg_00000001)) { @@ -3132,13 +3119,13 @@ void daPy_lk_c::setBlendMoveAnime(f32 param_1) { resetFootEffect(); } } - if ((m34C3 != 9) && (m34C3 != 10)) { - if (dVar18 > daPy_HIO_move_c0::m.field_0x34) { - setHandModel(dVar9); - } else if (dVar18 > 0.0f) { - setHandModel(dVar11); + if (m34C3 != 9 && m34C3 != 10) { + if (f30 > daPy_HIO_move_c0::m.field_0x34) { + setHandModel(r26); + } else if (f30 > 0.0f) { + setHandModel(r27); } else { - setHandModel(dVar10); + setHandModel(r28); } } } @@ -3183,9 +3170,9 @@ void daPy_lk_c::setBlendAtnBackMoveAnime(f32 param_1) { setMoveAnime(fVar1, daPy_HIO_atnMoveB_c0::m.field_0x24, daPy_HIO_atnMoveB_c0::m.field_0x28, ANM_ATNWB, ANM_ATNDB, 4, param_1); m3598 = 1.0f - dVar6; - if ((frameCtrl.checkPass(5.0f)) || (frameCtrl.checkPass(15.0f))) { + if (frameCtrl.checkPass(5.0f) || frameCtrl.checkPass(15.0f)) { onResetFlg0(daPyRFlg0_RIGHT_FOOT_ON_GROUND); - } else if ((frameCtrl.checkPass(3.0f)) || (frameCtrl.checkPass(13.0f))) { + } else if (frameCtrl.checkPass(3.0f) || frameCtrl.checkPass(13.0f)) { onResetFlg0(daPyRFlg0_LEFT_FOOT_ON_GROUND); } } else { @@ -3197,9 +3184,9 @@ void daPy_lk_c::setBlendAtnBackMoveAnime(f32 param_1) { } setMoveAnime(1.0f, fVar1, fVar1, ANM_ATNDB, ANM_ATNDB, 4, dVar6); m3598 = 0.0f; - if ((frameCtrl.checkPass(5.0f)) || (frameCtrl.checkPass(15.0f))) { + if (frameCtrl.checkPass(5.0f) || frameCtrl.checkPass(15.0f)) { onResetFlg0(daPyRFlg0_RIGHT_FOOT_ON_GROUND); - } else if ((frameCtrl.checkPass(3.0f)) || (frameCtrl.checkPass(13.0f))) { + } else if (frameCtrl.checkPass(3.0f) || frameCtrl.checkPass(13.0f)) { onResetFlg0(daPyRFlg0_LEFT_FOOT_ON_GROUND); } } @@ -3213,21 +3200,16 @@ void daPy_lk_c::setBlendAtnBackMoveAnime(f32 param_1) { } /* 8010BB08-8010C010 .text setBlendAtnMoveAnime__9daPy_lk_cFf */ -void daPy_lk_c::setBlendAtnMoveAnime(f32 param_1) { - /* Nonmatching - "fmr" instruction in wrong place */ - f32 dVar6 = param_1; - s16 uVar5; - daPy_ANM dVar8; - daPy_ANM dVar9; - - if ((mAcch.ChkGroundHit()) || (!dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd))) { - uVar5 = 0; +void daPy_lk_c::setBlendAtnMoveAnime(f32 f30) { + s16 r3; + if (mAcch.ChkGroundHit() || !dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd)) { + r3 = 0; } else { - uVar5 = getGroundAngle(&mAcch.m_gnd, current.angle.y); + r3 = getGroundAngle(&mAcch.m_gnd, current.angle.y); } - f32 dVar13 = std::abs((mVelocity * cM_scos(uVar5)) / mMaxNormalSpeed); + f32 f31 = std::abs((mVelocity * cM_scos(r3)) / mMaxNormalSpeed); int iVar6 = current.angle.y - shape_angle.y; - f32 fVar3 = cM_ssin(iVar6); + f32 f2 = cM_ssin(iVar6); f32 fVar4 = cM_scos(iVar6); u8 uVar1 = mDirection; if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK17_e) { @@ -3237,8 +3219,8 @@ void daPy_lk_c::setBlendAtnMoveAnime(f32 param_1) { mDirection = DIR_RIGHT; } } else if (mStickDistance > 0.05f) { - if ((mpAttnActorLockOn == NULL) && ((fVar4 <= daPy_HIO_atnMoveB_c0::m.field_0x30 || - (fVar4 >= daPy_HIO_atnMoveB_c0::m.field_0x2C)))) + if (mpAttnActorLockOn == NULL && + (fVar4 <= daPy_HIO_atnMoveB_c0::m.field_0x30 || (fVar4 >= daPy_HIO_atnMoveB_c0::m.field_0x2C))) { if (fVar4 <= daPy_HIO_atnMoveB_c0::m.field_0x30) { mDirection = DIR_BACKWARD; @@ -3246,41 +3228,43 @@ void daPy_lk_c::setBlendAtnMoveAnime(f32 param_1) { mDirection = DIR_FORWARD; } } else { - if ((uVar1 == DIR_BACKWARD) || (uVar1 == DIR_FORWARD)) { + if (uVar1 == DIR_BACKWARD || uVar1 == DIR_FORWARD) { mDirection = DIR_RIGHT; mMaxNormalSpeed = daPy_HIO_atnMove_c0::m.field_0xC; } - if (fVar3 > 0.0f) { + if (f2 > 0.0f) { mDirection = DIR_LEFT; - } else if (fVar3 < 0.0f) { + } else if (f2 < 0.0f) { mDirection = DIR_RIGHT; } } } u8 uVar2 = mDirection; if (uVar1 != uVar2) { - dVar6 = daPy_HIO_basic_c0::m.field_0xC; + f30 = daPy_HIO_basic_c0::m.field_0xC; } if (uVar2 == DIR_BACKWARD) { mMaxNormalSpeed = daPy_HIO_atnMoveB_c0::m.field_0xC; - setBlendAtnBackMoveAnime(dVar6); + setBlendAtnBackMoveAnime(f30); } else if (uVar2 == DIR_FORWARD) { mMaxNormalSpeed = daPy_HIO_move_c0::m.field_0x18; - setBlendMoveAnime(dVar6); + setBlendMoveAnime(f30); } else { - if ((uVar2 != DIR_RIGHT) && (uVar2 != DIR_LEFT)) { + daPy_ANM dVar8; + daPy_ANM dVar9; + if (uVar2 != DIR_RIGHT && uVar2 != DIR_LEFT) { mDirection = DIR_RIGHT; - dVar6 = daPy_HIO_basic_c0::m.field_0xC; + f30 = daPy_HIO_basic_c0::m.field_0xC; } J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE1_e]; + f32 f29; if (checkHeavyStateOn()) { - fVar3 = 0.6f; + f29 = 0.6f; } else { - fVar3 = 1.0f; + f29 = 1.0f; } - f32 dVar11 = fVar3; - if (dVar13 < daPy_HIO_atnMove_c0::m.field_0x1C) { - fVar3 = dVar13 / daPy_HIO_atnMove_c0::m.field_0x1C; + if (f31 < daPy_HIO_atnMove_c0::m.field_0x1C) { + f32 f1 = f31 / daPy_HIO_atnMove_c0::m.field_0x1C; if (mDirection == DIR_LEFT) { dVar8 = ANM_ATNLS; dVar9 = ANM_ATNWLS; @@ -3295,14 +3279,13 @@ void daPy_lk_c::setBlendAtnMoveAnime(f32 param_1) { iVar6 = 4; m3598 = 1.0f; } - setMoveAnime(fVar3, daPy_HIO_atnMove_c0::m.field_0x24, - (daPy_HIO_atnMove_c0::m.field_0x28 * dVar11), dVar8, dVar9, iVar6, dVar6); + f32 f2 = daPy_HIO_atnMove_c0::m.field_0x24; + f32 f3 = daPy_HIO_atnMove_c0::m.field_0x28 * f29; + setMoveAnime(f1, f2, f3, dVar8, dVar9, iVar6, f30); } else { - f32 dVar10; - if (dVar13 < daPy_HIO_atnMove_c0::m.field_0x20) { - fVar3 = (dVar13 - daPy_HIO_atnMove_c0::m.field_0x1C) / - (daPy_HIO_atnMove_c0::m.field_0x20 - daPy_HIO_atnMove_c0::m.field_0x1C); - dVar10 = fVar3; + if (f31 < daPy_HIO_atnMove_c0::m.field_0x20) { + f32 f28 = (f31 - daPy_HIO_atnMove_c0::m.field_0x1C) / + (daPy_HIO_atnMove_c0::m.field_0x20 - daPy_HIO_atnMove_c0::m.field_0x1C); if (mDirection == DIR_LEFT) { dVar8 = ANM_ATNWLS; dVar9 = ANM_ATNDLS; @@ -3310,27 +3293,28 @@ void daPy_lk_c::setBlendAtnMoveAnime(f32 param_1) { dVar8 = ANM_ATNWRS; dVar9 = ANM_ATNDRS; } - setMoveAnime(fVar3, (daPy_HIO_atnMove_c0::m.field_0x28 * dVar11), - (daPy_HIO_atnMove_c0::m.field_0x2C * dVar11), dVar8, dVar9, 4, dVar6); - m3598 = 1.0f - (dVar10 * m3598); + f32 f2 = daPy_HIO_atnMove_c0::m.field_0x28 * f29; + f32 f3 = daPy_HIO_atnMove_c0::m.field_0x2C * f29; + setMoveAnime(f28, f2, f3, dVar8, dVar9, 4, f30); + m3598 = 1.0f - (f28 * m3598); } else { if (mDirection == DIR_LEFT) { dVar9 = ANM_ATNDLS; } else { dVar9 = ANM_ATNDRS; } - dVar10 = m36A0.abs2XZ(); - if (dVar10 >= 49.0f) { - fVar3 = 1.9f * daPy_HIO_atnMove_c0::m.field_0x2C; + f32 f2; + if (m36A0.abs2XZ() >= 49.0f) { + f2 = 1.9f * daPy_HIO_atnMove_c0::m.field_0x2C; onResetFlg0(daPyRFlg0_UNK40000); } else { - fVar3 = daPy_HIO_atnMove_c0::m.field_0x2C * dVar11; + f2 = daPy_HIO_atnMove_c0::m.field_0x2C * f29; } - setMoveAnime(1.0f, fVar3, fVar3, dVar9, dVar9, 4, dVar6); + setMoveAnime(1.0f, f2, f2, dVar9, dVar9, 4, f30); m3598 = 0.0f; } } - if (dVar13 >= 0.9f) { + if (f31 >= 0.9f) { onResetFlg0(daPyRFlg0_UNK10); } if (!checkModeFlg(ModeFlg_00000001)) { @@ -3566,9 +3550,9 @@ void daPy_lk_c::deleteEquipItem(BOOL param_1) { /* 8010C71C-8010C7F4 .text setFallVoice__9daPy_lk_cFv */ void daPy_lk_c::setFallVoice() { - if (((!checkNoResetFlg0(daPyFlg0_NO_FALL_VOICE)) && - ((((!checkNoResetFlg0(daPyFlg0_UNK80) || (m35D0 < mAcch.GetGroundH())) || (m3580 == 4)) || - (C_BG_MIN_HEIGHT == mAcch.GetGroundH())))) && + if ((!checkNoResetFlg0(daPyFlg0_NO_FALL_VOICE) && + ((((!checkNoResetFlg0(daPyFlg0_UNK80) || m35D0 < mAcch.GetGroundH()) || m3580 == 4) || + C_BG_MIN_HEIGHT == mAcch.GetGroundH()))) && (m35F0 - current.pos.y > 500.0f)) { if (current.pos.y - mAcch.GetGroundH() >= 100.0f * daPy_HIO_fall_c0::m.field_0x14) { @@ -3717,14 +3701,14 @@ BOOL daPy_lk_c::checkNewItemChange(u8 param_1) { if (uVar4 == dItem_MAGIC_ARMOR_e) { return changeDragonShield(1); } - if ((((((uVar4 == dItem_IRON_BOOTS_e) || (uVar4 == WATER_BOOTS)) || - (uVar4 == dItem_TINGLE_TUNER_e)) || - ((uVar4 == NORMAL_SAIL || (isEsa(uVar4))))) || - ((isDaizaItem(uVar4) || ((isEmono(uVar4) || (checkBottleItem(uVar4))))))) || - ((uVar4 >= dItem_FATHER_LETTER_e && (uVar4 <= KAISEN_PRESENT2)))) + if (((((uVar4 == dItem_IRON_BOOTS_e || uVar4 == WATER_BOOTS) || + uVar4 == dItem_TINGLE_TUNER_e) || + ((uVar4 == NORMAL_SAIL || isEsa(uVar4)))) || + ((isDaizaItem(uVar4) || ((isEmono(uVar4) || checkBottleItem(uVar4)))))) || + ((uVar4 >= dItem_FATHER_LETTER_e && uVar4 <= KAISEN_PRESENT2))) { - if ((mAcch.ChkGroundHit()) && (!daPy_lk_c::checkPlayerFly())) { - if ((uVar4 == dItem_IRON_BOOTS_e) || (uVar4 == WATER_BOOTS)) { + if (mAcch.ChkGroundHit() && (!daPy_lk_c::checkPlayerFly())) { + if (uVar4 == dItem_IRON_BOOTS_e || uVar4 == WATER_BOOTS) { procBootsEquip_init(uVar4); } else { if (isEsa(uVar4)) { @@ -3757,9 +3741,9 @@ BOOL daPy_lk_c::checkNewItemChange(u8 param_1) { return false; } } - if ((mEquipItem != uVar4) && (uVar4 != dItem_NONE_e)) { - if ((uVar4 == dItem_BOMB_BAG_e) && - ((mActivePlayerBombs >= 3) || (dComIfGs_getBombNum() == 0))) + if (mEquipItem != uVar4 && uVar4 != dItem_NONE_e) { + if (uVar4 == dItem_BOMB_BAG_e && + (mActivePlayerBombs >= 3 || dComIfGs_getBombNum() == 0)) { mDoAud_seStart(JA_SE_ITEM_TARGET_OUT); return false; @@ -3828,25 +3812,25 @@ BOOL daPy_lk_c::checkItemChangeFromButton() { /* 8010D26C-8010D754 .text checkItemAction__9daPy_lk_cFv */ void daPy_lk_c::checkItemAction() { - if ((mEquipItem == dComIfGp_getSelectItem(dItemBtn_X_e)) && - (mEquipItem != dComIfGp_getSelectItem(dItemBtn_Y_e)) && - (mEquipItem != dComIfGp_getSelectItem(dItemBtn_Z_e))) + if (mEquipItem == dComIfGp_getSelectItem(dItemBtn_X_e) && + mEquipItem != dComIfGp_getSelectItem(dItemBtn_Y_e) && + mEquipItem != dComIfGp_getSelectItem(dItemBtn_Z_e)) { mReadyItemBtn = dItemBtn_X_e; - } else if (((mEquipItem == dComIfGp_getSelectItem(dItemBtn_Y_e)) && - (mEquipItem != dComIfGp_getSelectItem(dItemBtn_X_e))) && - (mEquipItem != dComIfGp_getSelectItem(dItemBtn_Z_e))) + } else if ((mEquipItem == dComIfGp_getSelectItem(dItemBtn_Y_e) && + mEquipItem != dComIfGp_getSelectItem(dItemBtn_X_e)) && + mEquipItem != dComIfGp_getSelectItem(dItemBtn_Z_e)) { mReadyItemBtn = dItemBtn_Y_e; - } else if (((mEquipItem == dComIfGp_getSelectItem(dItemBtn_Z_e)) && - (mEquipItem != dComIfGp_getSelectItem(dItemBtn_X_e))) && - (mEquipItem != dComIfGp_getSelectItem(dItemBtn_Y_e))) + } else if ((mEquipItem == dComIfGp_getSelectItem(dItemBtn_Z_e) && + mEquipItem != dComIfGp_getSelectItem(dItemBtn_X_e)) && + mEquipItem != dComIfGp_getSelectItem(dItemBtn_Y_e)) { mReadyItemBtn = dItemBtn_Z_e; } - if ((((checkEquipAnime()) || (checkUpperAnime(LKANM_BCK_BOOMTHROW))) || - (checkUpperAnime(LKANM_BCK_BOOMCATCH))) || - (checkUpperAnime(LKANM_BCK_ROPETHROW))) + if (((checkEquipAnime() || checkUpperAnime(LKANM_BCK_BOOMTHROW)) || + checkUpperAnime(LKANM_BCK_BOOMCATCH)) || + checkUpperAnime(LKANM_BCK_ROPETHROW)) { J3DFrameCtrl& frameCtrl = mFrameCtrlUpper[UPPER_MOVE2_e]; if (checkUpperAnime(LKANM_BCK_BOOMCATCH)) { @@ -3863,7 +3847,7 @@ void daPy_lk_c::checkItemAction() { procShipPaddle_init(); } } else if (checkUpperAnime(LKANM_BCK_BOOMTHROW)) { - if ((frameCtrl.getRate() < 0.01f) || + if (frameCtrl.getRate() < 0.01f || ((mStickDistance > 0.05f && (frameCtrl.getFrame() > daPy_HIO_boom_c0::m.field_0x10)))) { @@ -3882,7 +3866,7 @@ void daPy_lk_c::checkItemAction() { } } else { if (checkEquipAnime()) { - if ((mEquipItem == daPyItem_SWORD_e) && + if (mEquipItem == daPyItem_SWORD_e && (((checkUpperAnime(LKANM_BCK_REST) && (frameCtrl.checkPass(7.0f - frameCtrl.getRate()))) || ((((checkUpperAnime(LKANM_BCK_TAKE) && @@ -3899,17 +3883,17 @@ void daPy_lk_c::checkItemAction() { if (std::fabsf(frameCtrl.getRate()) < 0.01f) { resetActAnimeUpper(UPPER_MOVE2_e, daPy_HIO_basic_c0::m.field_0xC); } else { - if (((((checkUpperAnime(LKANM_BCK_REST)) && - (frameCtrl.checkPass(7.0f))) || + if ((((checkUpperAnime(LKANM_BCK_REST) && + frameCtrl.checkPass(7.0f)) || ((checkUpperAnime(LKANM_BCK_TAKE) && - (frameCtrl.checkPass(7.0f))))) || + frameCtrl.checkPass(7.0f)))) || ((checkUpperAnime(LKANM_BCK_TAKEBOTH) && - (frameCtrl.checkPass(daPy_HIO_item_c0::m.field_0x30))))) || + frameCtrl.checkPass(daPy_HIO_item_c0::m.field_0x30)))) || ((checkSingleItemEquipAnime() && - (frameCtrl.checkPass(daPy_HIO_item_c0::m.field_0x20))))) + frameCtrl.checkPass(daPy_HIO_item_c0::m.field_0x20)))) { - if (((mEquipItem != daPyItem_NONE_e) && (mEquipItem != daPyItem_SWORD_e)) || - ((m3562 != daPyItem_NONE_e && (m3562 != daPyItem_SWORD_e)))) + if ((mEquipItem != daPyItem_NONE_e && mEquipItem != daPyItem_SWORD_e) || + ((m3562 != daPyItem_NONE_e && m3562 != daPyItem_SWORD_e))) { seStartOnlyReverb(JA_SE_LK_ITEM_TAKEOUT); } @@ -3921,11 +3905,11 @@ void daPy_lk_c::checkItemAction() { } deleteEquipItem(FALSE); mEquipItem = m3562; - if ((!dComIfGp_event_runCheck()) && (mDemo.getDemoType() == 0)) { - if ((mEquipItem != daPyItem_SWORD_e) || - (!checkNoResetFlg1(daPyFlg1_UNK4000000))) + if (!dComIfGp_event_runCheck() && mDemo.getDemoType() == 0) { + if (mEquipItem != daPyItem_SWORD_e || + !checkNoResetFlg1(daPyFlg1_UNK4000000)) { - if (((mpAttention->Lockon()) || (mEquipItem != daPyItem_SWORD_e)) || + if ((mpAttention->Lockon() || mEquipItem != daPyItem_SWORD_e) || var_r28) { onResetFlg0(daPyRFlg0_UNK80); @@ -3950,12 +3934,12 @@ void daPy_lk_c::checkItemAction() { /* 8010D754-8010D810 .text getSlidePolygon__9daPy_lk_cFv */ cM3dGPla* daPy_lk_c::getSlidePolygon() { if (((!checkNoResetFlg0(daPy_FLG0(daPyFlg0_UNK20000000 | daPyFlg0_UNK80000000))) && - (mAcch.ChkGroundHit())) && - (dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd))) + mAcch.ChkGroundHit()) && + dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd)) { cM3dGPla* iVar2 = dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd); int iVar3 = dComIfG_Bgsp()->GetSpecialCode(mAcch.m_gnd); - if ((iVar2 != NULL) && (dComIfG_Bgsp()->GetGroundCode(mAcch.m_gnd) != 8) && (iVar3 == 1)) { + if (iVar2 != NULL && dComIfG_Bgsp()->GetGroundCode(mAcch.m_gnd) != 8 && iVar3 == 1) { return iVar2; } } @@ -3964,11 +3948,11 @@ cM3dGPla* daPy_lk_c::getSlidePolygon() { /* 8010D810-8010D8B0 .text checkJumpCutFromButton__9daPy_lk_cFv */ BOOL daPy_lk_c::checkJumpCutFromButton() { - if ((((mEquipItem == daPyItem_SWORD_e) && - ((checkResetFlg0(daPyRFlg0_UNK80) || (swordTrigger())))) || - ((mEquipItem == daPyItem_BOKO_e && (swordTrigger())))) || - (((mEquipItem == dItem_SKULL_HAMMER_e && (itemTrigger())) && - (mEquipItem == getReadyItem())))) + if (((mEquipItem == daPyItem_SWORD_e && + ((checkResetFlg0(daPyRFlg0_UNK80) || swordTrigger()))) || + ((mEquipItem == daPyItem_BOKO_e && swordTrigger()))) || + (((mEquipItem == dItem_SKULL_HAMMER_e && itemTrigger()) && + mEquipItem == getReadyItem()))) { return procJumpCut_init(1); } @@ -3977,23 +3961,21 @@ BOOL daPy_lk_c::checkJumpCutFromButton() { /* 8010D8B0-8010DB58 .text orderTalk__9daPy_lk_cFv */ int daPy_lk_c::orderTalk() { - if (((((dComIfGp_getDoStatus() == dActStts_SPEAK_e) || - (dComIfGp_getDoStatus() == dActStts_LOOK_e)) || - (dComIfGp_getDoStatus() == dActStts_READ_e)) || - (dComIfGp_getDoStatus() == dActStts_CHECK_e)) && - (talkTrigger())) + if ((dComIfGp_getDoStatus() == dActStts_SPEAK_e || dComIfGp_getDoStatus() == dActStts_LOOK_e || + dComIfGp_getDoStatus() == dActStts_READ_e || dComIfGp_getDoStatus() == dActStts_CHECK_e) && + talkTrigger()) { fopAcM_orderTalkEvent(this, mpAttnActorA); return true; } - if (((mpAttnEntryX != NULL) && ((mpAttnEntryX->mType == fopAc_Attn_TYPE_SPEAK_e || + if ((mpAttnEntryX != NULL && ((mpAttnEntryX->mType == fopAc_Attn_TYPE_SPEAK_e || ((mpAttnEntryX->mType == fopAc_Attn_TYPE_TALK_e && - (mpAttnActorLockOn == mpAttnActorX)))))) && - (itemTriggerX())) + mpAttnActorLockOn == mpAttnActorX))))) && + itemTriggerX()) { if (((isEsa(dComIfGp_getSelectItem(dItemBtn_X_e))) && - (dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_HYOI_PEAR_e)) && - (m3630 != fpcM_ERROR_PROCESS_ID_e)) + dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_HYOI_PEAR_e) && + m3630 != fpcM_ERROR_PROCESS_ID_e) { mDoAud_seStart(JA_SE_ITEM_TARGET_OUT); return false; @@ -4001,14 +3983,14 @@ int daPy_lk_c::orderTalk() { fopAcM_orderTalkXBtnEvent(this, mpAttnActorX); return true; } - if (((mpAttnEntryY != NULL) && ((mpAttnEntryY->mType == fopAc_Attn_TYPE_SPEAK_e || + if ((mpAttnEntryY != NULL && ((mpAttnEntryY->mType == fopAc_Attn_TYPE_SPEAK_e || ((mpAttnEntryY->mType == fopAc_Attn_TYPE_TALK_e && - (mpAttnActorLockOn == mpAttnActorY)))))) && - (itemTriggerY())) + mpAttnActorLockOn == mpAttnActorY))))) && + itemTriggerY()) { if (((isEsa(dComIfGp_getSelectItem(dItemBtn_Y_e))) && - (dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_HYOI_PEAR_e)) && - (m3630 != fpcM_ERROR_PROCESS_ID_e)) + dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_HYOI_PEAR_e) && + m3630 != fpcM_ERROR_PROCESS_ID_e) { mDoAud_seStart(JA_SE_ITEM_TARGET_OUT); return false; @@ -4016,14 +3998,14 @@ int daPy_lk_c::orderTalk() { fopAcM_orderTalkYBtnEvent(this, mpAttnActorY); return true; } - if ((mpAttnEntryZ != NULL) && (((mpAttnEntryZ->mType == fopAc_Attn_TYPE_SPEAK_e || + if (mpAttnEntryZ != NULL && (((mpAttnEntryZ->mType == fopAc_Attn_TYPE_SPEAK_e || ((mpAttnEntryZ->mType == fopAc_Attn_TYPE_TALK_e && - (mpAttnActorLockOn == mpAttnActorZ)))) && - (itemTriggerZ())))) + mpAttnActorLockOn == mpAttnActorZ))) && + itemTriggerZ()))) { if (((isEsa(dComIfGp_getSelectItem(dItemBtn_Z_e))) && - (dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_HYOI_PEAR_e)) && - (m3630 != fpcM_ERROR_PROCESS_ID_e)) + dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_HYOI_PEAR_e) && + m3630 != fpcM_ERROR_PROCESS_ID_e) { mDoAud_seStart(JA_SE_ITEM_TARGET_OUT); return false; @@ -4043,7 +4025,7 @@ BOOL daPy_lk_c::checkNextActionFromButton() { resetActAnimeUpper(UPPER_MOVE2_e, -1.0f); return changeCutProc(); } - if ((checkPhotoBoxItem(mEquipItem)) || (mEquipItem == dItem_TELESCOPE_e)) { + if (checkPhotoBoxItem(mEquipItem) || mEquipItem == dItem_TELESCOPE_e) { return procScope_init(mEquipItem); } if (mEquipItem == dItem_DEKU_LEAF_e) { @@ -4096,7 +4078,7 @@ BOOL daPy_lk_c::checkNextActionFromButton() { setDoStatusBasic(); } else { setDoStatus(); - if ((spActionTrigger()) && (dComIfGp_getRStatus() == dActStts_GRAB_e)) { + if (spActionTrigger() && dComIfGp_getRStatus() == dActStts_GRAB_e) { return procPushPullWait_init(1); } if (orderTalk()) { @@ -4126,8 +4108,8 @@ BOOL daPy_lk_c::checkNextActionFromButton() { } return true; } - if ((dComIfGp_getDoStatus() == dActStts_LIFT_e) || - (dComIfGp_getDoStatus() == dActStts_PICK_UP_e)) + if (dComIfGp_getDoStatus() == dActStts_LIFT_e || + dComIfGp_getDoStatus() == dActStts_PICK_UP_e) { return procGrabReady_init(); } @@ -4140,23 +4122,23 @@ BOOL daPy_lk_c::checkNextActionFromButton() { } } } - if ((!checkEquipAnime()) && (!checkPlayerGuard())) { + if (!checkEquipAnime() && !checkPlayerGuard()) { if (!daPy_dmEcallBack_c::checkCurse()) { if (mEquipItem == daPyItem_SWORD_e) { if (checkNoResetFlg0(daPyFlg0_UNK4)) { return procCutTurnCharge_init(); } - if ((swordTrigger()) && (abs(m3578) > 0xF800)) { + if (swordTrigger() && abs(m3578) > 0xF800) { return procCutTurn_init(1); } - if ((swordTrigger()) || (m34C5 != 0)) { + if (swordTrigger() || m34C5 != 0) { return changeCutProc(); } } else if (mEquipItem == daPyItem_BOKO_e) { if (checkNoResetFlg0(daPyFlg0_UNK4)) { return procCutTurnCharge_init(); } - if ((swordTrigger()) && (mActorKeepEquip.getActor() != NULL)) { + if (swordTrigger() && mActorKeepEquip.getActor() != NULL) { if (abs(m3578) > 0xF800) { return procCutTurn_init(1); } else if ((fopAcM_GetParam(mActorKeepEquip.getActor()) == 0) || @@ -4169,11 +4151,11 @@ BOOL daPy_lk_c::checkNextActionFromButton() { return procWeaponFrontSwingReady_init(); } } - if ((doTrigger()) && (dComIfGp_getDoStatus() == dActStts_THROW_e)) { + if (doTrigger() && dComIfGp_getDoStatus() == dActStts_THROW_e) { return procWeaponThrow_init(); } } - if (itemTrigger() && (mEquipItem == getReadyItem())) { + if (itemTrigger() && mEquipItem == getReadyItem()) { if (mEquipItem == dItem_HOOKSHOT_e) { if (!checkHookshotReadyAnime()) { return checkNextHookshotMode(); @@ -4197,15 +4179,15 @@ BOOL daPy_lk_c::checkNextActionFromButton() { } if (mEquipItem == dItem_SKULL_HAMMER_e) { direction = getDirectionFromShapeAngle(); - if ((mStickDistance > 0.05f) && - ((direction == DIR_LEFT || (direction == DIR_RIGHT)))) + if (mStickDistance > 0.05f && + ((direction == DIR_LEFT || direction == DIR_RIGHT))) { return procHammerSideSwing_init(); } else { return procHammerFrontSwingReady_init(); } } - if ((checkPhotoBoxItem(mEquipItem)) || (mEquipItem == dItem_TELESCOPE_e)) { + if (checkPhotoBoxItem(mEquipItem) || mEquipItem == dItem_TELESCOPE_e) { return procScope_init(mEquipItem); } if (mEquipItem == dItem_WIND_WAKER_e) { @@ -4217,8 +4199,8 @@ BOOL daPy_lk_c::checkNextActionFromButton() { if (changeSpecialBattle()) return true; } - if (((dComIfGp_getRStatus() == dActStts_BLANK_e) && (!checkUpperReadyThrowAnime())) && - (!checkEquipAnime())) + if ((dComIfGp_getRStatus() == dActStts_BLANK_e && !checkUpperReadyThrowAnime()) && + !checkEquipAnime()) { if (!checkGrabAnime()) { if (checkNoResetFlg1(daPyFlg1_NPC_CALL_COMMAND)) { @@ -4233,8 +4215,8 @@ BOOL daPy_lk_c::checkNextActionFromButton() { m_old_fdata->initOldFrameMorf(5.0f, 0, 0x2A); return true; } - } else if ((dComIfGs_getSelectEquip(1) == dItem_NONE_e) || - (mEquipItem == daPyItem_NONE_e)) + } else if (dComIfGs_getSelectEquip(1) == dItem_NONE_e || + mEquipItem == daPyItem_NONE_e) { if (checkModeFlg(ModeFlg_00000001)) { dComIfGp_setRStatus(dActStts_CROUCH_e); @@ -4255,21 +4237,21 @@ BOOL daPy_lk_c::checkNextActionFromButton() { if (doTrigger()) { if (dComIfGp_getDoStatus() == dActStts_JUMP_e) { direction = getDirectionFromShapeAngle(); - if ((direction == DIR_LEFT) || (direction == DIR_RIGHT)) { + if (direction == DIR_LEFT || direction == DIR_RIGHT) { return procSideStep_init(direction); } if (direction == DIR_BACKWARD) { return procBackJump_init(); } } else if (dComIfGp_getDoStatus() == dActStts_ATTACK_e) { - if ((!mpAttention->Lockon()) && (mStickDistance > 0.05f)) { + if (!mpAttention->Lockon() && mStickDistance > 0.05f) { shape_angle.y = m34E8; } return procFrontRoll_init(daPy_HIO_roll_c0::m.field_0xC); } } - if (((daPy_getPlayerActorClass() == this) && (!dComIfGp_event_runCheck())) && - (!checkGrabWear())) + if ((daPy_getPlayerActorClass() == this && !dComIfGp_event_runCheck()) && + !checkGrabWear()) { onResetFlg0(daPyRFlg0_UNK4000000); if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000)) { @@ -4282,12 +4264,10 @@ BOOL daPy_lk_c::checkNextActionFromButton() { /* 8010E448-8010E75C .text setShieldGuard__9daPy_lk_cFv */ void daPy_lk_c::setShieldGuard() { f32 local_18 = m_pbCalc[PART_UPPER_e]->getRatio(2); - if ((checkGuardSlip()) || (((!checkEquipAnime()) && (!checkGrabAnime())) && - ((((mpAttention->Lockon()) && (mEquipItem != daPyItem_BOKO_e)) && - (dComIfGs_getSelectEquip(1) != dItem_NONE_e)) && - (checkGuardAccept())) && - ((mActorKeepEquip.getID() == fpcM_ERROR_PROCESS_ID_e || - (mActorKeepEquip.getActor() != NULL))))) + if (checkGuardSlip() || + (!checkEquipAnime() && !checkGrabAnime() && mpAttention->Lockon() && mEquipItem != daPyItem_BOKO_e && + dComIfGs_getSelectEquip(1) != dItem_NONE_e && checkGuardAccept() && + (mActorKeepEquip.getID() == fpcM_ERROR_PROCESS_ID_e || mActorKeepEquip.getActor() != NULL))) { dComIfGp_setRStatus(dActStts_DEFEND_e); } @@ -4298,7 +4278,7 @@ void daPy_lk_c::setShieldGuard() { uVar3 = LKANM_BCK_ATNG; } if (!checkGuardSlip()) { - if ((spActionButton()) && (dComIfGp_getRStatus() == dActStts_DEFEND_e)) { + if (spActionButton() && dComIfGp_getRStatus() == dActStts_DEFEND_e) { freeGrabItem(); if (!checkUpperAnime(uVar3)) { resetActAnimeUpper(UPPER_MOVE2_e, -1.0f); @@ -4356,7 +4336,7 @@ BOOL daPy_lk_c::checkItemModeActorPointer() { } /* 8010E7C4-8010E828 .text checkNextActionItemFly__9daPy_lk_cFv */ -BOOL daPy_lk_c::checkNextActionItemFly() { +void daPy_lk_c::checkNextActionItemFly() { if (!daPy_dmEcallBack_c::checkCurse()) { if (checkBowItem(mEquipItem)) { checkNextActionBowFly(); @@ -4367,115 +4347,98 @@ BOOL daPy_lk_c::checkNextActionItemFly() { } /* 8010E828-8010EC78 .text checkNextMode__9daPy_lk_cFi */ -BOOL daPy_lk_c::checkNextMode(int param_1) { - /* Nonmatching - regalloc */ - bool bVar2; - bool bVar3; - bool bVar4; - bool bVar5; - f32 dVar11; - - dVar11 = mMaxNormalSpeed; +BOOL daPy_lk_c::checkNextMode(int r29) { + f32 f31 = mMaxNormalSpeed; setFrontWallType(); + if (checkNoResetFlg1(daPyFlg1_FORCE_VOMIT_JUMP)) { return procVomitJump_init(2); } if (checkNoResetFlg1(daPyFlg1_FORCE_VOMIT_JUMP_SHORT)) { return procVomitJump_init(3); } - bVar5 = true; - bVar4 = true; - bVar3 = true; - if (!mpAttention->Lockon()) { - bVar2 = false; - if ((mActorKeepThrow.getActor() != NULL) && - (mpAttnActorLockOn == mActorKeepThrow.getActor())) - { - bVar2 = true; - } - if (!bVar2) { - bVar3 = false; - } - } - if ((!bVar3) && (!checkUpperReadyThrowAnime())) { - bVar4 = false; - } - if ((!bVar4) && (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK17_e)) { - bVar5 = false; - } - if (bVar5) { + + BOOL r24 = mpAttention->Lockon() || + (mActorKeepThrow.getActor() != NULL && mpAttnActorLockOn == mActorKeepThrow.getActor()) || + checkUpperReadyThrowAnime() || + mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK17_e; + + if (r24) { mMaxNormalSpeed = daPy_HIO_atnMove_c0::m.field_0xC; } else { mMaxNormalSpeed = daPy_HIO_move_c0::m.field_0x18; } + if (changeSlideProc()) { return true; } if (checkNextActionFromButton()) { return true; } - if ((param_1 != 0) && ((!(mStickDistance > 0.05f) && (!spActionButton())))) { - mMaxNormalSpeed = dVar11; + if (r29 != 0 && ((!(mStickDistance > 0.05f) && !spActionButton()))) { + mMaxNormalSpeed = f31; return false; } - if (bVar5) { + + BOOL r3; + if (r24) { if (checkBoomerangAnime()) { - param_1 = checkNextBoomerangMode(); + r3 = checkNextBoomerangMode(); } else if (checkBowAnime()) { - param_1 = checkNextBowMode(); + r3 = checkNextBowMode(); } else if (checkHookshotReadyAnime()) { - param_1 = checkNextHookshotMode(); + r3 = checkNextHookshotMode(); } else if (checkRopeAnime()) { - param_1 = checkNextRopeMode(); - } else { - if ((mpAttnActorLockOn != NULL) || (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK17_e)) { - if (std::abs(mVelocity) <= 0.001f) { - param_1 = procAtnActorWait_init(); - } else { - param_1 = procAtnActorMove_init(); - } - } else if (std::abs(mVelocity) <= 0.001f) { - param_1 = changeWaitProc(); + r3 = checkNextRopeMode(); + } else if (mpAttnActorLockOn != NULL || (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK17_e)) { + if (std::abs(mVelocity) <= 0.001f) { + r3 = procAtnActorWait_init(); } else { - param_1 = procAtnMove_init(); + r3 = procAtnActorMove_init(); } + } else if (std::abs(mVelocity) <= 0.001f) { + r3 = changeWaitProc(); + } else { + r3 = procAtnMove_init(); } } else { mDirection = DIR_NONE; int direction = getDirectionFromCurrentAngle(); if (std::abs(mVelocity) <= 0.001f) { - if ((cLib_distanceAngleS(m34E8, current.angle.y) > 0x7800) && (mStickDistance > 0.05f)) + if (cLib_distanceAngleS(m34E8, current.angle.y) > 0x7800 && mStickDistance > 0.05f) { - if (((!procWaitTurn_init()) && (!dComIfGp_event_runCheck())) && - (mDemo.getDemoType() == 0)) + r3 = procWaitTurn_init(); + if (!r3 && !dComIfGp_event_runCheck() && mDemo.getDemoType() == 0) { - param_1 = changeWaitProc(); + r3 = changeWaitProc(); } } else { - param_1 = changeWaitProc(); + r3 = changeWaitProc(); } - } else if ((mCurProc == daPyProc_MOVE_TURN_e) && (current.angle.y != shape_angle.y)) { - param_1 = procMoveTurn_init(0); - } else if ((cLib_distanceAngleS(m34E8, current.angle.y) > 0x7800) && - (mStickDistance > 0.05f)) + } else if (mCurProc == daPyProc_MOVE_TURN_e && current.angle.y != shape_angle.y) { + r3 = procMoveTurn_init(0); + } else if (cLib_distanceAngleS(m34E8, current.angle.y) > 0x7800 && + mStickDistance > 0.05f) { if ((speedF / mMaxNormalSpeed > daPy_HIO_slip_c0::m.field_0x4) && - (mCurrAttributeCode != dBgS_Attr_ICE_e) && - ((!checkGrabAnime()) && (getDirectionFromAngle(m34EA - m34DC) == DIR_BACKWARD))) + mCurrAttributeCode != dBgS_Attr_ICE_e && + (!checkGrabAnime() && getDirectionFromAngle(m34EA - m34DC) == DIR_BACKWARD)) { - param_1 = procSlip_init(); + r3 = procSlip_init(); } else { - param_1 = procMoveTurn_init(1); + r3 = procMoveTurn_init(1); } - } else if ((direction == DIR_BACKWARD) && (mStickDistance > 0.05f)) { - param_1 = procMoveTurn_init(1); + } else if (direction == DIR_BACKWARD && mStickDistance > 0.05f) { + r3 = procMoveTurn_init(1); } else { - param_1 = procMove_init(); + r3 = procMove_init(); } } - if (param_1 == 0) { - checkJumpFlower(); + + if (!r3) { + r3 = checkJumpFlower(); } + return r3; } /* 8010EC78-8010ED68 .text checkIceSlipFall__9daPy_lk_cFv */ @@ -4493,8 +4456,8 @@ BOOL daPy_lk_c::checkIceSlipFall() { } f32 dVar5 = fVar2; f32 dVar6 = fVar1; - if ((cLib_distanceAngleS(sVar3, current.angle.y) > 0x7000) && (mVelocity >= dVar6) && - (m36A0.abs2XZ() >= dVar5)) + if (cLib_distanceAngleS(sVar3, current.angle.y) > 0x7000 && mVelocity >= dVar6 && + m36A0.abs2XZ() >= dVar5) { m34D0--; if (m34D0 == 0) { @@ -4611,7 +4574,7 @@ void daPy_lk_c::setFrontWallType() { dVar16 = dComIfG_Bgsp()->GroundCross(&mGndChk); if (dVar16 >= current.pos.y) { uVar7 = dComIfG_Bgsp()->GetTriPla(mGndChk); - if (uVar7->GetNP()->y >= 0.5f) { + if (cBgW_CheckBGround(uVar7->GetNP()->y)) { sp78.set(pVVar6->GetNP()->z, 0.0f, pVVar6->GetNP()->x); sp78.normalize(); cM3dGPla spC8(&sp78, -(sp78.x * m3724.x + sp78.z * m3724.z)); @@ -4630,7 +4593,7 @@ void daPy_lk_c::setFrontWallType() { mFrontWallType = 3; return; } - if ((iVar10 == 4) || (iVar10 == 5 && (!checkModeFlg(ModeFlg_MIDAIR)))) { + if (iVar10 == 4 || (iVar10 == 5 && !checkModeFlg(ModeFlg_MIDAIR))) { if (iVar10 == 4) { mFrontWallType = 4; } else { @@ -4687,7 +4650,7 @@ void daPy_lk_c::setFrontWallType() { } } if (cVar8 != 0) { - if ((!checkGrabAnime()) && (!checkModeFlg(ModeFlg_MIDAIR | ModeFlg_SWIM))) { + if (!checkGrabAnime() && !checkModeFlg(ModeFlg_MIDAIR | ModeFlg_SWIM)) { spA8.set(current.pos.x, current.pos.y + 149.9f, current.pos.z); sp9C.set( spA8.x + (2.0f * dVar16) * cM_ssin(current.angle.y), @@ -4712,7 +4675,7 @@ void daPy_lk_c::setFrontWallType() { if (!checkModeFlg(ModeFlg_SWIM) && dVar16 < current.pos.y) { return; } - if (dVar16 == C_BG_MIN_HEIGHT || !(dComIfG_Bgsp()->GetTriPla(mGndChk)->GetNP()->y >= 0.5f)) { + if (dVar16 == C_BG_MIN_HEIGHT || !cBgW_CheckBGround(dComIfG_Bgsp()->GetTriPla(mGndChk)->GetNP()->y)) { return; } cXyz sp3C; @@ -4725,16 +4688,16 @@ void daPy_lk_c::setFrontWallType() { m3724 = sp3C; f32 fVar3 = m3724.y - current.pos.y; if (checkModeFlg(ModeFlg_SWIM)) { - if ((fVar3 <= 0.1f + daPy_HIO_swim_c0::m.field_0x6C) && (fVar3 >= -5.0f)) { + if ((fVar3 <= 0.1f + daPy_HIO_swim_c0::m.field_0x6C) && fVar3 >= -5.0f) { mFrontWallType = 7; } } else if (checkModeFlg(ModeFlg_MIDAIR)) { - if (((dVar16 - mAcch.GetGroundH()) > 125.0f) && (mCurProc != daPyProc_HOOKSHOT_FLY_e || (fVar3 < 100.0f))) { + if (((dVar16 - mAcch.GetGroundH()) > 125.0f) && (mCurProc != daPyProc_HOOKSHOT_FLY_e || fVar3 < 100.0f)) { mFrontWallType = 7; } } else if (fVar3 >= 0.1f + daPy_HIO_wallCatch_c0::m.field_0x18) { - // - } else if ((!checkGrabAnime()) || !(fVar3 >= 0.1f + daPy_HIO_wallCatch_c0::m.field_0xC)) { + // TODO? + } else if (!checkGrabAnime() || !(fVar3 >= 0.1f + daPy_HIO_wallCatch_c0::m.field_0xC)) { if (fVar3 < 27.09f) { return; } else if (fVar3 < daPy_HIO_wallCatch_c0::m.field_0xC + 0.1f) { @@ -4760,7 +4723,7 @@ BOOL daPy_lk_c::changeFrontWallTypeProc() { setFrontWallType(); sVar5 = m3544; m3544 = 0; - if ((mStickDistance <= 0.05f) && (!checkModeFlg(ModeFlg_MIDAIR))) { + if (mStickDistance <= 0.05f && !checkModeFlg(ModeFlg_MIDAIR)) { return false; } if (checkModeFlg(ModeFlg_MIDAIR)) { @@ -4860,7 +4823,7 @@ BOOL daPy_lk_c::changeFrontWallTypeProc() { if (mFrontWallType == 7) { return procHangWallCatch_init(); } - if ((mFrontWallType == 8) || (mFrontWallType == 9)) { + if (mFrontWallType == 8 || mFrontWallType == 9) { return procVerticalJump_init(); } m3544 = 0; @@ -4879,7 +4842,7 @@ int daPy_lk_c::changeSlideProc() { if (m34C3 != 0) { cLib_addCalc(&mVelocity, 0.0f, 0.4f, 5.0f, 1.0f); m3526--; - if ((mVelocity > 5.0f) || (m3526 > 0)) { + if (mVelocity > 5.0f || m3526 > 0) { return false; } } @@ -4914,7 +4877,7 @@ BOOL daPy_lk_c::changeLandProc(f32 param_1) { f32 dVar7; dVar7 = m35F0 - current.pos.y; - if ((mCurrAttributeCode != dBgS_Attr_GIANT_FLOWER_e) && + if (mCurrAttributeCode != dBgS_Attr_GIANT_FLOWER_e && ((dVar7 >= (100.0f * daPy_HIO_fall_c0::m.field_0x14)))) { if (dVar7 >= (100.0f * daPy_HIO_fall_c0::m.field_0x10)) { @@ -4925,16 +4888,16 @@ BOOL daPy_lk_c::changeLandProc(f32 param_1) { } dVar6 = param_1; int direction = getDirectionFromAngle(current.angle.y - shape_angle.y); - if ((mCurProc == daPyProc_CUT_EX_MJ_e) && ((m34C5 != 0 || (checkNoResetFlg0(daPyFlg0_UNK4))))) { + if (mCurProc == daPyProc_CUT_EX_MJ_e && ((m34C5 != 0 || checkNoResetFlg0(daPyFlg0_UNK4)))) { bVar2 = true; } else { bVar2 = false; } - if (((((!checkGrabAnime()) && (mStickDistance > 0.5f)) && (direction != DIR_BACKWARD)) && + if ((((!checkGrabAnime() && mStickDistance > 0.5f) && direction != DIR_BACKWARD) && (!bVar2)) && (((mCurProc == daPyProc_CUT_EX_MJ_e || (m3688.y - current.pos.y >= 300.0f)) && ((!checkNoResetFlg1(daPyFlg1_UNK8000000) && - (getDirectionFromCurrentAngle() == DIR_FORWARD)))))) + getDirectionFromCurrentAngle() == DIR_FORWARD))))) { voiceStart(7); if (direction == DIR_FORWARD) { @@ -4945,8 +4908,8 @@ BOOL daPy_lk_c::changeLandProc(f32 param_1) { } } else { if (((dVar7 >= (0.5f * (daPy_HIO_fall_c0::m.field_0x14 * 100.0f))) && - (!checkBossGomaStage())) && - (mCurrAttributeCode != dBgS_Attr_GIANT_FLOWER_e)) + !checkBossGomaStage()) && + mCurrAttributeCode != dBgS_Attr_GIANT_FLOWER_e) { procLandDamage_init(0); } else { @@ -4982,10 +4945,10 @@ BOOL daPy_lk_c::setDamagePoint(f32 amount) { /* 80110338-80110448 .text checkNormalDamage__9daPy_lk_cFi */ BOOL daPy_lk_c::checkNormalDamage(int param_1) { f32 fVar2; - if (((checkGrabAnime()) || (mCurProc != daPyProc_MOVE_e)) || + if ((checkGrabAnime() || mCurProc != daPyProc_MOVE_e) || (std::abs((mVelocity * (m3580 == 8 ? fVar2 = 1.0f : fVar2 = cM_scos(m34E2))) / mMaxNormalSpeed) < 0.9f) || - (((!checkNoDamageMode()) && (!dComIfGs_checkBottle(dItem_FAIRY_BOTTLE_e))) && + ((!checkNoDamageMode() && !dComIfGs_checkBottle(dItem_FAIRY_BOTTLE_e)) && !(dComIfGs_getLife() > param_1))) { return true; @@ -5006,7 +4969,7 @@ void daPy_lk_c::setDashDamage() { /* 801104E4-8011054C .text checkAtHitEnemy__9daPy_lk_cFP12dCcD_GObjInf */ BOOL daPy_lk_c::checkAtHitEnemy(dCcD_GObjInf* param_1) { - if (((param_1->ChkAtHit()) && (param_1->GetAtHitAc() != NULL)) && + if ((param_1->ChkAtHit() && param_1->GetAtHitAc() != NULL) && (fopAcM_GetGroup(param_1->GetAtHitAc()) == fopAc_ENEMY_e)) { return true; @@ -5016,7 +4979,7 @@ BOOL daPy_lk_c::checkAtHitEnemy(dCcD_GObjInf* param_1) { /* 8011054C-801105D8 .text checkElecReturnDamage__9daPy_lk_cFP12dCcD_GObjInfP4cXyz */ BOOL daPy_lk_c::checkElecReturnDamage(dCcD_GObjInf* param_1, cXyz* param_2) { - if ((param_1->ChkAtHit()) && (param_1->GetAtHitGObj() != NULL)) { + if (param_1->ChkAtHit() && param_1->GetAtHitGObj() != NULL) { dCcD_GObjInf* gobj_p = (dCcD_GObjInf*)param_1->GetAtHitGObj(); if (gobj_p->GetTgSpl() == dCcG_Tg_Spl_UNK1) { param_2->x = param_1->GetAtHitPosP()->x; @@ -5030,9 +4993,9 @@ BOOL daPy_lk_c::checkElecReturnDamage(dCcD_GObjInf* param_1, cXyz* param_2) { /* 801105D8-80110654 .text checkWallAtributeDamage__9daPy_lk_cFP12dBgS_AcchCir */ s32 daPy_lk_c::checkWallAtributeDamage(dBgS_AcchCir* param_1) { - if ((param_1->ChkWallHit()) && (dComIfG_Bgsp()->ChkPolySafe(*param_1))) { + if (param_1->ChkWallHit() && dComIfG_Bgsp()->ChkPolySafe(*param_1)) { int attrib_code = dComIfG_Bgsp()->GetAttributeCode(*param_1); - if ((attrib_code == dBgS_Attr_DAMAGE_e || (attrib_code == dBgS_Attr_ELECTRICITY_e))) { + if ((attrib_code == dBgS_Attr_DAMAGE_e || attrib_code == dBgS_Attr_ELECTRICITY_e)) { return attrib_code; } } @@ -5273,7 +5236,7 @@ BOOL daPy_lk_c::changeDamageProc() { BOOL daPy_lk_c::changeAutoJumpProc() { if ((!checkModeFlg(ModeFlg_MIDAIR | ModeFlg_ROPE | ModeFlg_IN_SHIP | ModeFlg_CLIMB | ModeFlg_SWIM | ModeFlg_LADDER | ModeFlg_CAUGHT)) && - (!mAcch.ChkGroundHit())) + !mAcch.ChkGroundHit()) { f32 dVar11 = mAcch.GetGroundH() - current.pos.y; mLavaGndChk.SetPos(¤t.pos); @@ -5307,11 +5270,9 @@ BOOL daPy_lk_c::changeAutoJumpProc() { pcVar4 = NULL; } dVar10 = mVelocity; - if ((dComIfGs_getLife() != 0) || (dComIfGs_checkBottle(dItem_FAIRY_BOTTLE_e))) { - if ((m357C != 3) && - ((((!(checkGrabWear()) && (dVar10 >= daPy_HIO_autoJump_c0::m.field_0x14)) && - (mStickDistance > 0.85f)) && - (cLib_distanceAngleS(sVar3, shape_angle.y) < 0x800)))) + if (dComIfGs_getLife() != 0 || dComIfGs_checkBottle(dItem_FAIRY_BOTTLE_e)) { + if (m357C != 3 && !checkGrabWear() && dVar10 >= daPy_HIO_autoJump_c0::m.field_0x14 && + mStickDistance > 0.85f && cLib_distanceAngleS(sVar3, shape_angle.y) < 0x800) { if (pcVar4 != NULL) { current.pos.x = mLinkLinChk.GetCrossP()->x; @@ -5319,10 +5280,9 @@ BOOL daPy_lk_c::changeAutoJumpProc() { } return procAutoJump_init(); } - if ((((pcVar4 != NULL) && (std::abs((pcVar4->mNormal).y) <= 0.05f)) && - ((dComIfG_Bgsp()->GetWallCode(mLinkLinChk) != 2 && - ((dVar11 < -125.0f && ((m35D0 - current.pos.y) < -125.0f)))))) && - (current.pos.y - m35D4 > 125.0f)) + if (pcVar4 != NULL && std::abs(pcVar4->GetNP()->y) <= 0.05f && + dComIfG_Bgsp()->GetWallCode(mLinkLinChk) != 2 && dVar11 < -125.0f && + m35D0 - current.pos.y < -125.0f && current.pos.y - m35D4 > 125.0f) { current.pos.x = mLinkLinChk.GetCrossP()->x; current.pos.z = mLinkLinChk.GetCrossP()->z; @@ -6200,13 +6160,17 @@ BOOL daPy_lk_c::procMove_init() { /* 80113628-801136D4 .text procMove__9daPy_lk_cFv */ BOOL daPy_lk_c::procMove() { - /* Nonmatching - regalloc */ setSpeedAndAngleNormal(daPy_HIO_move_c0::m.field_0x0); if (((!checkNextMode(0)) && (!changeFrontWallTypeProc())) && (!checkIceSlipFall())) { - if ((mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK02_e) && - (mVelocity > mMaxNormalSpeed * daPy_HIO_move_c0::m.field_0x2C)) - { - mVelocity = mMaxNormalSpeed * daPy_HIO_move_c0::m.field_0x2C; + if ((mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK02_e)) { + // Fakematch? Regalloc doesn't match unless all three of these vars are given temps. + f32 vel = mVelocity; + f32 temp1 = mMaxNormalSpeed; + f32 temp2 = daPy_HIO_move_c0::m.field_0x2C; + if (vel > temp1 * temp2) { + vel = temp1 * temp2; + mVelocity = vel; + } } setBlendMoveAnime(-1.0f); } @@ -6687,13 +6651,7 @@ BOOL daPy_lk_c::procSlip() { mLinkLinChk.Set(&local_1c, &local_28, this); if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) { cM3dGPla* iVar3 = dComIfG_Bgsp()->GetTriPla(mLinkLinChk); - bool bVar2; - if (!(iVar3->GetNP()->y >= 0.5f) && !(iVar3->GetNP()->y < -0.8f)) { - bVar2 = true; - } else { - bVar2 = false; - } - if (bVar2) { + if (cBgW_CheckBWall(iVar3->GetNP()->y)) { mVelocity = 0.0f; checkNextMode(0); } @@ -8036,11 +7994,9 @@ BOOL daPy_lk_c::procLargeDamageUp() { /* 80118640-801189AC .text procLargeDamageWall_init__9daPy_lk_cFiiss */ BOOL daPy_lk_c::procLargeDamageWall_init(int param_1, int param_2, s16 param_3, s16 param_4) { - /* Nonmatching - branching (missing cBgW_CheckBWall lnline?) */ f32 fVar1; f32 fVar2; s16 sVar3; - bool bVar4; f32 fVar5; s16 sVar6; s16 sVar7; @@ -8051,16 +8007,9 @@ BOOL daPy_lk_c::procLargeDamageWall_init(int param_1, int param_2, s16 param_3, } cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk); sVar6 = cM_atan2s(triPla->GetNP()->x, triPla->GetNP()->z); - if (!(param_1 < 0)) { - if (!(triPla->GetNP()->y >= 0.5f) && !(triPla->GetNP()->y < -0.8f)) { - bVar4 = true; - } else { - bVar4 = false; - } - if ((bVar4) && (cLib_distanceAngleS(sVar6, current.angle.y + -0x8000) > 0x1555)) { - return false; - } - } + if (param_1 < 0 || !cBgW_CheckBWall(triPla->GetNP()->y) || cLib_distanceAngleS(sVar6, current.angle.y + -0x8000) > 0x1555) { + return false; + } commonProcInit(daPyProc_LARGE_DAMAGE_WALL_e); sVar7 = cM_atan2s(triPla->GetNP()->y, triPla->GetNP()->absXZ()); current.angle.y = sVar6; @@ -8619,7 +8568,7 @@ BOOL daPy_lk_c::procNotUse() { /* 80119DA0-80119EBC .text getGroundAngle__9daPy_lk_cFP13cBgS_PolyInfos */ s16 daPy_lk_c::getGroundAngle(cBgS_PolyInfo* param_1, s16 param_2) { cM3dGPla* plane = dComIfG_Bgsp()->GetTriPla(*param_1); - if ((plane == NULL) || (!(plane->GetNP()->y >= 0.5f))) { + if ((plane == NULL) || (!cBgW_CheckBGround(plane->GetNP()->y))) { return 0; } f32 cos = cM_scos((cM_atan2s(plane->GetNP()->x, plane->GetNP()->z) - param_2)); @@ -8631,27 +8580,25 @@ s16 daPy_lk_c::getGroundAngle(cBgS_PolyInfo* param_1, s16 param_2) { /* 80119EBC-8011A508 .text setLegAngle__9daPy_lk_cFfiPsPs */ int daPy_lk_c::setLegAngle(f32 param_1, int param_2, s16* param_3, s16* param_4) { - /* Nonmatching - regalloc, cXyz */ - s16 sVar1; - s16 sVar2; - int iVar6; - s16 sVar7; f32 dVar8; f32 dVar9; f32 dVar10; f32 dVar11; f32 dVar12; f32 dVar13; - cXyz local_108; - cXyz local_fc; - cXyz local_f0; - cXyz local_e4; - cXyz local_d8; - cXyz local_c0; - cXyz local_78; - cXyz local_6c; - cXyz local_60; - cXyz local_54; + cXyz spE8; + cXyz spDC; + cXyz spD0; + cXyz spC4; + cXyz spB8; + cXyz spAC; + cXyz spA0; + cXyz sp94; + cXyz sp88; + cXyz sp7C; + cXyz sp70; + cXyz sp64; + cXyz sp58; if (std::abs(param_1) < 0.1f) { return false; @@ -8661,34 +8608,35 @@ int daPy_lk_c::setLegAngle(f32 param_1, int param_2, s16* param_3, s16* param_4) dVar9 = 10.0f; } dVar8 = param_1; - mDoMtx_concat(m37B4, mFootData[0].field_0x088[0], mDoMtx_stack_c::get()); - local_54.x = 0.0f; - local_54.y = mDoMtx_stack_c::now[1][3]; - local_54.z = mDoMtx_stack_c::now[2][3]; + mDoMtx_concat(m37B4, mFootData[param_2].field_0x088[0], mDoMtx_stack_c::get()); + spE8.x = 0.0f; + spE8.y = mDoMtx_stack_c::now[1][3]; + spE8.z = mDoMtx_stack_c::now[2][3]; - mDoMtx_concat(m37B4, mFootData[0].field_0x088[1], mDoMtx_stack_c::get()); - local_60.x = 0.0f; - local_60.y = mDoMtx_stack_c::now[1][3]; - local_60.z = mDoMtx_stack_c::now[2][3]; + mDoMtx_concat(m37B4, mFootData[param_2].field_0x088[1], mDoMtx_stack_c::get()); + spDC.x = 0.0f; + spDC.y = mDoMtx_stack_c::now[1][3]; + spDC.z = mDoMtx_stack_c::now[2][3]; - mDoMtx_concat(m37B4, mFootData[0].field_0x088[2], mDoMtx_stack_c::get()); - local_6c.x = 0.0f; - local_6c.y = mDoMtx_stack_c::now[1][3] + 3.25f; - local_6c.z = mDoMtx_stack_c::now[2][3]; - local_e4 = local_60 - local_54; - local_f0 = local_6c - local_60; - local_78.set(local_60.x, local_60.y + dVar8, local_60.z + dVar9); - local_78.y += param_1; - if (local_78.y >= local_54.y) { + mDoMtx_concat(m37B4, mFootData[param_2].field_0x088[2], mDoMtx_stack_c::get()); + spD0.x = 0.0f; + spD0.y = mDoMtx_stack_c::now[1][3] + 3.25f; + spD0.z = mDoMtx_stack_c::now[2][3]; + spAC = spDC - spE8; + spA0 = spD0 - spDC; + spB8.set(spD0.x, spD0.y, spD0.z); + spB8.y += dVar8; + spB8.z += dVar9; + if (spB8.y >= spE8.y) { return false; } - local_fc = local_e4 - local_78; - dVar9 = local_fc.abs2(); + sp7C = spB8 - spE8; + dVar9 = sp7C.abs2(); if (cM3d_IsZero(dVar9)) { return false; } - dVar10 = local_e4.abs2(); - dVar11 = local_f0.abs2(); + dVar10 = spAC.abs2(); + dVar11 = spA0.abs2(); dVar8 = std::sqrtf(dVar10); dVar12 = std::sqrtf(dVar11); dVar13 = std::sqrtf(dVar9); @@ -8696,38 +8644,42 @@ int daPy_lk_c::setLegAngle(f32 param_1, int param_2, s16* param_3, s16* param_4) return false; } dVar8 = (((dVar9 + dVar10) - dVar11) / (2.0f * dVar9)); - local_d8.set(0.0f, local_54.y + (dVar8 * local_fc.y), local_54.z + (dVar8 * local_fc.z)); - dVar9 = std::sqrtf(dVar10 - (dVar8 * (dVar9 * dVar8))); - local_c0.set(0.0f, local_fc.y, -local_fc.z); - dVar8 = local_e4.abs(); + sp58.set(0.0f, spE8.y + (dVar8 * sp7C.y), spE8.z + (dVar8 * sp7C.z)); + f32 f4 = dVar10 - (dVar8 * (dVar9 * dVar8)); + if (f4 < 0.0f) { + f4 = 0.0f; + } + dVar9 = std::sqrtf(f4); + sp70.set(0.0f, sp7C.z, -sp7C.y); + dVar8 = sp70.abs(); if (cM3d_IsZero(dVar8)) { return false; } - local_6c.set(0.0f, local_d8.y + (dVar9 / dVar8) * local_c0.y, - local_d8.z + (dVar9 / dVar8) * local_c0.z); - local_d8 = local_108 - local_6c; - local_c0 = local_fc - local_108; + f32 f2 = dVar9 / dVar8; + spC4.set(0.0f, sp58.y + f2 * sp70.y, sp58.z + f2 * sp70.z); + sp94 = spC4 - spE8; + sp88 = spB8 - spC4; mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(0), mDoMtx_stack_c::get()); - local_60.x = 0.0f; - local_60.y = mDoMtx_stack_c::now[1][3]; - local_60.z = mDoMtx_stack_c::now[2][3]; - sVar7 = cM_atan2s(-mDoMtx_stack_c::now[1][3], -mDoMtx_stack_c::now[2][3]); - sVar1 = cM_atan2s(local_d8.y, local_d8.z); - iVar6 = cM_atan2s(local_c0.y, local_c0.z); - if ((s16)(sVar1 - sVar7) > 0x6000) { - sVar1 = sVar7 + 0x6000; - } else if ((s16)(sVar1 - sVar7) < -0x4000) { - sVar1 = sVar7 + -0x4000; + sp64.x = 0.0f; + sp64.y = mDoMtx_stack_c::now[1][3]; + sp64.z = mDoMtx_stack_c::now[2][3]; + s16 r29 = cM_atan2s(-mDoMtx_stack_c::now[1][3], -mDoMtx_stack_c::now[2][3]); + s16 r27 = cM_atan2s(sp94.y, sp94.z); + s16 r26 = cM_atan2s(sp88.y, sp88.z); + s16 r3 = r27 - r29; + if (r3 > 0x6000) { + r27 = r29 + 0x6000; + } else if (r3 < -0x4000) { + r27 = r29 + -0x4000; } - sVar2 = (s16)iVar6 - sVar1; - sVar7 = sVar1; - if (sVar2 > 0) { - sVar7 = (s16)iVar6; - } else if (sVar2 < -0x7000) { - sVar7 = sVar1 + -0x7000; + s16 r0 = r26 - r27; + if (r0 > 0) { + r26 = r27; + } else if (r0 < -0x7000) { + r26 = r27 + -0x7000; } - *param_3 = cM_atan2s(local_f0.y, local_f0.z) - sVar1; - *param_4 = cM_atan2s(local_e4.y, local_e4.z) - sVar7; + *param_3 = cM_atan2s(spAC.y, spAC.z) - r27; + *param_4 = cM_atan2s(spA0.y, spA0.z) - r26; return true; } @@ -9544,7 +9496,7 @@ void daPy_lk_c::setHatAngle() { dVar18 = 1.0f; } dVar17 = dVar18; - if ((bVar6) && (!checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES))) { + if (bVar6 && (!checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES))) { dVar18 = 3.5f; dVar17 = 1.0f; mDoAud_seStart(JA_SE_LK_HAT_SWING, &eyePos, 0, mReverb); @@ -9553,8 +9505,8 @@ void daPy_lk_c::setHatAngle() { m3514 = m3514 + sVar8; fVar1 = cM_scos(m3514); m350E = (s16)((2280.0f * dVar17) * fVar1); - m3510 = (s16)((3908.0f * dVar17) * cM_scos((m3514)-3.0f * (sVar8))); - m3512 = (s16)((7568.0f * dVar17) * cM_scos((m3514)-6.0f * (sVar8))); + m3510 = (s16)((3908.0f * dVar17) * cM_scos(m3514-3.0f * (sVar8))); + m3512 = (s16)((7568.0f * dVar17) * cM_scos(m3514-6.0f * (sVar8))); m3718 = local_d0; if (checkModeFlg(ModeFlg_SWIM)) { m351A = 0; @@ -10089,7 +10041,7 @@ void daPy_lk_c::setCollision() { mDoMtx_stack_c::copy(mpCLModel->getBaseTRMtx()); mDoMtx_stack_c::YrotM(-0x2BC); mDoMtx_stack_c::multVec(&local_c4, &local_ac); - if (m331C.field_0x4 == 0xFF) { + if (m331C.getAlpha() == 0xFF) { pcVar23 = &mSwBlur.field_0x304[0]; m331C.setPosArray(pcVar23, 10); m332C.setPosArray(pcVar23, 10); @@ -10119,7 +10071,7 @@ void daPy_lk_c::setCollision() { mDoMtx_multVec(mpCLModel->getBaseTRMtx(), &mSwBlur.mpPosBuffer[iVar12 * 2 + 3], &local_ac); mAtCyl.MoveCAt(current.pos); - if (m331C.field_0x4 == 0xFF) { + if (m331C.getAlpha() == 0xFF) { sVar16 = mSwBlur.field_0x018 - iVar13; m331C.setPosArray(&mSwBlur.field_0x304[0], sVar16); m332C.setPosArray(&mSwBlur.field_0x304[0], sVar16); @@ -10211,7 +10163,7 @@ void daPy_lk_c::setCollision() { if (dComIfG_Bgsp()->LineCross(&mArrowLinChk)) { pfVar15 = dComIfG_Bgsp()->GetTriPla(mArrowLinChk); local_100.set(*mArrowLinChk.GetCrossP()); - if (!(pfVar15->GetNP()->y >= 0.5f)) { + if (!cBgW_CheckBGround(pfVar15->GetNP()->y)) { m3534 = 0; m33E8.end(); mpYuchw00Brk->setFrame(mpYuchw00Brk->getFrameMax() - 0.001f); @@ -10389,13 +10341,6 @@ int daPy_lk_c::setRoomInfo() { /* 8011EF94-8011F9C0 .text setDemoData__9daPy_lk_cFv */ void daPy_lk_c::setDemoData() { - /* Nonmatching - for loop, cXyz */ - u32 unaff_r26; - f32 dVar22; - cXyz local_90; - cXyz local_84; - cXyz local_78; - dDemo_actor_c* demo_actor_p = dComIfGp_demo_getActor(demoActorID); cXyz* pos_p = NULL; s16 angle; @@ -10453,30 +10398,13 @@ void daPy_lk_c::setDemoData() { } if ((demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_SHAPE_e))) { if (dComIfGs_getClearCount() == 0) { - unaff_r26 = demo_actor_p->getShapeId(); - if ((checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES) && (unaff_r26 == 0)) || - ((!checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES) && (unaff_r26 == 1)))) + u32 shape = demo_actor_p->getShapeId(); + if ((checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES) && (shape == 0)) || + ((!checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES) && (shape == 1)))) { - ResTIMG* pRVar11; - ResTIMG* local_48; - pRVar11 = mpCurrLinktex; - // f32 local_4c; - // f32* pfVar17 = &local_4c; - // u32* puVar16 = &pRVar11[-1].imageOffset; - // int iVar9 = 4; - // do { - // for (iVar9 = 0; iVar9 != NULL; iVar9++) { - // f32* pfVar1 = (f32*)(puVar16 + 1); - // puVar16 = puVar16 + 2; - // f32 fVar7 = (f32)*puVar16; - // pfVar17[1] = *pfVar1; - // pfVar17 = pfVar17 + 2; - // *pfVar17 = fVar7; - // iVar9 = iVar9 + -1; - // } while (iVar9 != 0); - // } - *pRVar11 = mOtherLinktex; - mOtherLinktex = *local_48; + ResTIMG casualLinktex = *mpCurrLinktex; + *mpCurrLinktex = mOtherLinktex; + mOtherLinktex = casualLinktex; if (checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES)) { offNoResetFlg1(daPyFlg1_CASUAL_CLOTHES); } else { @@ -10490,7 +10418,7 @@ void daPy_lk_c::setDemoData() { mDemo.setDemoType(2); } if (mStaffIdx != -1) { - char* cut_name = dComIfGp_getPEvtManager()->getMyNowCutName((mStaffIdx)); + char* cut_name = dComIfGp_getPEvtManager()->getMyNowCutName(mStaffIdx); if (cut_name != NULL) { // Take the first 3 chars in cut_name, convert them to integers, and calculate // demo_mode @@ -10545,9 +10473,8 @@ void daPy_lk_c::setDemoData() { if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK0E_e) { if (mDemo.getTimer() != 0) { mDemo.decTimer(); - local_78 = current.pos - home.pos; - dVar22 = local_78.abs2XZ(); - if (dVar22 > 90000.0f) { + cXyz sp5C = current.pos - home.pos; + if (sp5C.abs2XZ() > 90000.0f) { mDemo.setTimer(0); dComIfGp_evmng_cutEnd(mStaffIdx); } @@ -10596,19 +10523,19 @@ void daPy_lk_c::setDemoData() { } } } else if (demo_mode == daPy_demo_c::DEMO_UNK2B_e) { - local_84 = current.pos - *pos_p; - angle = current.angle.y; - current.angle.y = cM_atan2s(local_84.x, local_84.z); + cXyz sp50 = *pos_p - current.pos; + s16 r24 = current.angle.y; + current.angle.y = cM_atan2s(sp50.x, sp50.z); shape_angle.y = current.angle.y; - m34EC -= current.angle.y - angle; + m34EC -= (s16)(current.angle.y - r24); } else if ((demo_mode == daPy_demo_c::DEMO_UNK02_e) || (demo_mode == daPy_demo_c::DEMO_UNK03_e)) { - local_90 = current.pos - *pos_p; + cXyz sp44 = *pos_p - current.pos; if (std::abs(mVelocity) / mMaxNormalSpeed < daPy_HIO_move_c0::m.field_0x2C) { demo_mode = daPy_demo_c::DEMO_UNK02_e; } - dVar22 = local_90.abs2XZ(); + f32 dVar22 = sp44.abs2XZ(); if ((dVar22 < 100.0f) || ((dVar22 < 2500.0f) && (std::abs(mVelocity) < 0.001f))) { demo_mode = daPy_demo_c::DEMO_UNK01_e; mVelocity = 0.0f; @@ -10617,7 +10544,7 @@ void daPy_lk_c::setDemoData() { { mDemo.setStick(0.0f); } - mDemo.setMoveAngle(cM_atan2s(local_90.x, local_90.z)); + mDemo.setMoveAngle(cM_atan2s(sp44.x, sp44.z)); } else if ((demo_mode == daPy_demo_c::DEMO_UNK05_e) || (demo_mode == daPy_demo_c::DEMO_UNK18_e)) { @@ -10766,7 +10693,7 @@ void daPy_lk_c::setStickData() { if (checkGrabWear()) { mStickDistance = mStickDistance * daPy_HIO_move_c0::m.field_0x74; } - if ((bVar1) && (dComIfGp_event_runCheck() == 0)) { + if (bVar1 && (dComIfGp_event_runCheck() == 0)) { mDoAud_seStart(JA_SE_ITEM_TARGET_OUT); } } @@ -11604,7 +11531,7 @@ BOOL daPy_lk_c::execute() { offNoResetFlg0(daPyFlg0_UNK400000); if (current.pos.y < 2000.0f && dComIfG_Bgsp()->GetSpecialCode(mAcch.m_gnd) != 1) { cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd); - if (triPla->GetNP()->y >= 0.5f) { + if (cBgW_CheckBGround(triPla->GetNP()->y)) { offNoResetFlg0(daPyFlg0_DEKU_SP_RETURN_FLG); } } @@ -11880,10 +11807,10 @@ BOOL daPy_lk_c::playerDelete() { m32E4.end(); m32F0.end(); m33E8.end(); - mSmokeEcallBack.end(); - m331C.end(); - m332C.end(); - m333C.end(); + mSmokeEcallBack.remove(); + m331C.remove(); + m332C.remove(); + m333C.remove(); m3400.end(); m3410.end(); m3438.end(); @@ -12816,83 +12743,73 @@ void daPy_lk_c::resetSeAnime() { } /* 80127E08-8012821C .text setMoveAnime__9daPy_lk_cFfffQ29daPy_lk_c8daPy_ANMQ29daPy_lk_c8daPy_ANMif */ -int daPy_lk_c::setMoveAnime(f32 param_1, f32 param_2, f32 param_3, daPy_ANM param_4, daPy_ANM param_5, int param_6, f32 param_7) { - /* Nonmatching - regalloc */ - f32 fVar2; - f32 dVar7; - f32 dVar8; - f32 dVar10; - f32 dVar12; - f32 dVar15; - J3DAnmTransform* local_c8; - J3DAnmTransform* local_c4; - J3DAnmTransform* local_c0; - J3DAnmTransform* local_bc; - - J3DAnmTransform* pJVar4 = mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform(); +int daPy_lk_c::setMoveAnime(f32 f27, f32 f28, f32 f25, daPy_ANM r27, daPy_ANM r28, int r29, f32 f29) { + J3DAnmTransform* r3 = mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform(); J3DFrameCtrl& frameCtrl0 = mFrameCtrlUnder[UNDER_MOVE0_e]; J3DFrameCtrl& frameCtrl1 = mFrameCtrlUnder[UNDER_MOVE1_e]; + f32 f31; if (((m34C3 == 0) || (m34C3 == 9)) || (m34C3 == 10)) { - dVar15 = 0.0f; + f31 = 0.0f; } else { - dVar15 = pJVar4->getFrame() / pJVar4->getFrameMax(); + f31 = r3->getFrame() / r3->getFrameMax(); } - const daPy_anmIndex_c* pdVar5 = getAnmData(param_4); - const daPy_anmIndex_c* pdVar6 = getAnmData(param_5); - getUnderUpperAnime(pdVar5, &local_bc, &local_c0, 0, 0x2400); - getUnderUpperAnime(pdVar6, &local_c4, &local_c8, 1, 0x2400); - dVar7 = 1.0f; - fVar2 = dVar7 - param_1; - mAnmRatioUnder[UNDER_MOVE0_e].setRatio(fVar2); - mAnmRatioUnder[UNDER_MOVE1_e].setRatio(param_1); - mAnmRatioUpper[UPPER_MOVE0_e].setRatio(fVar2); - mAnmRatioUpper[UPPER_MOVE1_e].setRatio(param_1); - dVar10 = local_bc->getFrameMax(); - dVar12 = local_c4->getFrameMax(); - dVar7 = dVar7 / dVar10; - fVar2 = (param_2 + (param_1 * (((param_3 * dVar10) / dVar12) - param_2))); - param_2 = fVar2; - setFrameCtrl(&frameCtrl0, local_bc->getAttribute(), 0, dVar8, fVar2, (dVar15 * dVar10)); - local_bc->setFrame(frameCtrl0.getFrame()); - setFrameCtrl(&frameCtrl1, local_c4->getAttribute(), 0, dVar12, (dVar7 * (param_2 * dVar12)), - (dVar15 * dVar12)); - local_c4->setFrame(frameCtrl1.getFrame()); - mAnmRatioUnder[UNDER_MOVE0_e].setAnmTransform(local_bc); - mAnmRatioUnder[UNDER_MOVE1_e].setAnmTransform(local_c4); - if (local_c0 != NULL) { - dVar8 = local_c0->getFrameMax(); - mAnmRatioUpper[UPPER_MOVE0_e].setAnmTransform(local_c0); - setFrameCtrl(&mFrameCtrlUpper[UPPER_MOVE0_e], local_c0->getAttribute(), 0, param_3, - (dVar7 * (param_2 * dVar8)), (dVar15 * dVar8)); - local_c0->setFrame(mFrameCtrlUpper[UPPER_MOVE0_e].getFrame()); + const daPy_anmIndex_c* r25 = getAnmData(r27); + const daPy_anmIndex_c* r24 = getAnmData(r28); + J3DAnmTransform* sp14; + J3DAnmTransform* sp10; + getUnderUpperAnime(r25, &sp14, &sp10, 0, 0x2400); + J3DAnmTransform* sp0C; + J3DAnmTransform* sp08; + getUnderUpperAnime(r24, &sp0C, &sp08, 1, 0x2400); + mAnmRatioUnder[UNDER_MOVE0_e].setRatio(1.0f - f27); + mAnmRatioUnder[UNDER_MOVE1_e].setRatio(f27); + mAnmRatioUpper[UPPER_MOVE0_e].setRatio(1.0f - f27); + mAnmRatioUpper[UPPER_MOVE1_e].setRatio(f27); + f32 f3 = sp14->getFrameMax(); + f32 f26 = sp0C->getFrameMax(); + f32 f30 = 1.0f / f3; + f27 = (f28 + (f27 * (((f25 * f3) / f26) - f28))); + setFrameCtrl(&frameCtrl0, sp14->getAttribute(), 0, f3, f27, (f31 * f3)); + sp14->setFrame(frameCtrl0.getFrame()); + setFrameCtrl(&frameCtrl1, sp0C->getAttribute(), 0, f26, (f30 * (f27 * f26)), + (f31 * f26)); + sp0C->setFrame(frameCtrl1.getFrame()); + mAnmRatioUnder[UNDER_MOVE0_e].setAnmTransform(sp14); + mAnmRatioUnder[UNDER_MOVE1_e].setAnmTransform(sp0C); + if (sp10 != NULL) { + f32 f2 = sp10->getFrameMax(); + mAnmRatioUpper[UPPER_MOVE0_e].setAnmTransform(sp10); + setFrameCtrl(&mFrameCtrlUpper[UPPER_MOVE0_e], sp10->getAttribute(), 0, f2, + (f30 * (f27 * f2)), (f31 * f2)); + sp10->setFrame(mFrameCtrlUpper[UPPER_MOVE0_e].getFrame()); } else { - mAnmRatioUpper[UPPER_MOVE0_e].setAnmTransform(local_bc); + mAnmRatioUpper[UPPER_MOVE0_e].setAnmTransform(sp14); } - if (local_c8 != NULL) { - dVar8 = local_c8->getFrameMax(); - mAnmRatioUpper[UPPER_MOVE1_e].setAnmTransform(local_c8); - setFrameCtrl(&mFrameCtrlUpper[UPPER_MOVE1_e], local_c8->getAttribute(), 0, param_3, - (dVar7 * (param_2 * dVar8)), (dVar15 * dVar8)); - local_c8->setFrame(mFrameCtrlUpper[UPPER_MOVE1_e].getFrame()); + if (sp08 != NULL) { + f32 f2 = sp08->getFrameMax(); + mAnmRatioUpper[UPPER_MOVE1_e].setAnmTransform(sp08); + setFrameCtrl(&mFrameCtrlUpper[UPPER_MOVE1_e], sp08->getAttribute(), 0, f2, + (f30 * (f27 * f2)), (f31 * f2)); + sp08->setFrame(mFrameCtrlUpper[UPPER_MOVE1_e].getFrame()); } else { - mAnmRatioUpper[UPPER_MOVE1_e].setAnmTransform(local_c4); + mAnmRatioUpper[UPPER_MOVE1_e].setAnmTransform(sp0C); } - if (param_7 >= 0.0f) { - m_old_fdata->initOldFrameMorf(param_7, 0, 0x2A); + if (f29 >= 0.0f) { + m_old_fdata->initOldFrameMorf(f29, 0, 0x2A); } if ((mDirection == DIR_BACKWARD) || ((mCurProc == daPyProc_ROPE_SWING_e && (!checkModeFlg(ModeFlg_00000400))))) { - setTextureAnime(mAnmDataTable[param_5].mTexAnmIdx, 0); + setTextureAnime(mAnmDataTable[r28].mTexAnmIdx, 0); } else { - setTextureAnime(mAnmDataTable[param_4].mTexAnmIdx, 0); + setTextureAnime(mAnmDataTable[r27].mTexAnmIdx, 0); } - if ((param_6 == 5) || (param_6 == 2)) { + if ((r29 == 5) || (r29 == 2)) { setSeAnime(&m_anm_heap_under[UNDER_MOVE0_e], &frameCtrl0); } else { setSeAnime(&m_anm_heap_under[UNDER_MOVE1_e], &frameCtrl1); } - m34C3 = param_6; + m34C3 = r29; return true; } diff --git a/src/d/actor/d_a_player_swim.inc b/src/d/actor/d_a_player_swim.inc index 54fcd2a88..ea4d0e7ba 100644 --- a/src/d/actor/d_a_player_swim.inc +++ b/src/d/actor/d_a_player_swim.inc @@ -231,7 +231,7 @@ BOOL daPy_lk_c::changeSwimOutProc() { return procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54); } - if (!checkNoResetFlg0(daPyFlg0_UNK80) || (pcVar1 && pcVar1->mNormal.y >= 0.5f && m35D0 - mAcch.GetGroundH() < daPy_HIO_swim_c0::m.field_0x24 - 5.0f)) { + if (!checkNoResetFlg0(daPyFlg0_UNK80) || (pcVar1 && cBgW_CheckBGround(pcVar1->GetNP()->y) && m35D0 - mAcch.GetGroundH() < daPy_HIO_swim_c0::m.field_0x24 - 5.0f)) { current.pos.y = m35D0; if (mCurProc == daPyProc_SWIM_MOVE_e && mDirection != DIR_FORWARD) { diff --git a/src/d/actor/d_a_player_sword.inc b/src/d/actor/d_a_player_sword.inc index e4ce847e9..8d3b24809 100644 --- a/src/d/actor/d_a_player_sword.inc +++ b/src/d/actor/d_a_player_sword.inc @@ -458,7 +458,7 @@ int daPy_lk_c::changeCutReverseProc(daPy_ANM param_0) { mLinkLinChk.Set(&local_24, &mSwordTopPos, this); if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) { cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk); - if (!(triPla->GetNP()->y >= 0.5f) || + if (!cBgW_CheckBGround(triPla->GetNP()->y) || (mCurProc == daPyProc_HAMMER_FRONT_SWING_e && triPla->GetNP()->y < 0.64278764f)) { if (mEquipItem != dItem_DEKU_LEAF_e) { @@ -1454,13 +1454,13 @@ BOOL daPy_lk_c::procCutTurn() { } if (frameCtrl.checkPass(daPy_HIO_cutTurn_c0::m.field_0x34)) { - m331C.field_0x4 = 0x80; - m332C.field_0x4 = 0x80; - m333C.field_0x4 = 0x80; - } else if (m331C.field_0x4 == 0x80) { - m331C.field_0x4 = 0; - m332C.field_0x4 = 0; - m333C.field_0x4 = 0; + m331C.setAlpha(0x80); + m332C.setAlpha(0x80); + m333C.setAlpha(0x80); + } else if (m331C.getAlpha() == 0x80) { + m331C.setAlpha(0x00); + m332C.setAlpha(0x00); + m333C.setAlpha(0x00); } m34C2 = 1; return true; diff --git a/src/d/actor/d_a_player_whide.inc b/src/d/actor/d_a_player_whide.inc index 8aff325ae..16762518a 100644 --- a/src/d/actor/d_a_player_whide.inc +++ b/src/d/actor/d_a_player_whide.inc @@ -99,7 +99,7 @@ cM3dGPla* daPy_lk_c::getWHideModePolygon(cXyz* param_0, cXyz* param_1, cXyz* par local_3c.z = param_2->z + cM_ssin(uVar3) * daPy_HIO_wall_c0::m.field_0x50; mGndChk.SetPos(&local_3c); float f31 = bgs->GroundCross(&mGndChk); - if (C_BG_MIN_HEIGHT != f31 && (!(bgs->GetTriPla(mGndChk)->GetNP()->y >= 0.5f))) { + if (C_BG_MIN_HEIGHT != f31 && (!cBgW_CheckBGround(bgs->GetTriPla(mGndChk)->GetNP()->y))) { return NULL; } @@ -350,7 +350,6 @@ BOOL daPy_lk_c::procWHideWait_init() { /* 80137DF0-80138074 .text procWHideWait__9daPy_lk_cFv */ BOOL daPy_lk_c::procWHideWait() { - cXyz cStack_24; cXyz cStack_3c; cXyz cStack_48; @@ -385,7 +384,7 @@ BOOL daPy_lk_c::procWHideWait() { } if (mStickDistance > 0.05f && C_BG_MIN_HEIGHT != mAcch.GetGroundH() && - dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd)->GetNP()->y >= 0.5f) + cBgW_CheckBGround(dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd)->GetNP()->y)) { int direction = getDirectionFromCurrentAngle(); if (direction == DIR_RIGHT || direction == DIR_LEFT) { @@ -453,7 +452,7 @@ BOOL daPy_lk_c::procWHideMove() { if (checkWHideModeChange(&acStack_24) != 0) { fVar2 = 0.0f; } else if (mStickDistance > 0.05f && C_BG_MIN_HEIGHT != mAcch.GetGroundH() && - dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd)->GetNP()->y >= 0.5f) + cBgW_CheckBGround(dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd)->GetNP()->y)) { int direction = getDirectionFromCurrentAngle(); if (direction == DIR_BACKWARD) { @@ -492,7 +491,7 @@ BOOL daPy_lk_c::procWHideMove() { if (std::fabsf(mVelocity) <= 0.001f) { return procWHideWait_init(); } - if (mAcch.GetGroundH() == C_BG_MIN_HEIGHT || !(dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd)->GetNP()->y >= 0.5f) || + if (mAcch.GetGroundH() == C_BG_MIN_HEIGHT || !cBgW_CheckBGround(dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd)->GetNP()->y) || !checkWHideBackWall(&cStack_30)) { mVelocity = 0.0f; diff --git a/src/d/d_bg_s_acch.cpp b/src/d/d_bg_s_acch.cpp index 2380ac545..65102d746 100644 --- a/src/d/d_bg_s_acch.cpp +++ b/src/d/d_bg_s_acch.cpp @@ -198,7 +198,7 @@ void dBgS_Acch::LineCheck(dBgS& i_bgs) { pm_out_poly_info->SetPolyInfo(linChk); cM3dGPla* pla = i_bgs.GetTriPla(linChk); - if (!(pla->GetNP()->y >= 0.5f)) { + if (!cBgW_CheckBGround(pla->GetNP()->y)) { VECAdd(pm_pos, pla->GetNP(), pm_pos); if (!cM3d_IsZero(std::sqrtf(pla->GetNP()->x*pla->GetNP()->x + pla->GetNP()->z*pla->GetNP()->z))) pm_acch_cir[i].SetWallHDirect(pm_pos->y); diff --git a/src/d/d_particle.cpp b/src/d/d_particle.cpp index 36bc99cf3..853bbcc06 100644 --- a/src/d/d_particle.cpp +++ b/src/d/d_particle.cpp @@ -1059,7 +1059,7 @@ void dPa_cutTurnEcallBack_c::setup(JPABaseEmitter* param_1, const cXyz* param_2, mpBaseEmitter = param_1; field_0x6 = 0; field_0x5 = 0; - field_0x4 = 0xFF; + mAlpha = 0xFF; } /* 8007E9D4-8007EAC4 .text executeAfter__22dPa_cutTurnEcallBack_cFP14JPABaseEmitter */