diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index 0b950c4d3..67be0f45e 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -837,7 +837,7 @@ public: f32 getFrame() const { return mFrame; } void setFrame(f32 frame) { mFrame = frame; } -public: +private: /* 0x04 */ u8 mAttribute; /* 0x05 */ u8 mState; /* 0x06 */ s16 mStart; diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index 2da8b690a..04cddfcbc 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -121,7 +121,7 @@ public: J3DMtxCalcMayaAnm(J3DAnmTransform* pAnmTransform) : J3DMtxCalcMaya(), J3DMtxCalcAnm(pAnmTransform) {} virtual ~J3DMtxCalcMayaAnm() {} - virtual void calc(u16 v) { J3DMtxCalcAnm::calc(v); } + virtual void calc(u16 jnt_no) { J3DMtxCalcAnm::calc(jnt_no); } }; enum J3DJointMtxType { diff --git a/include/d/actor/d_a_player_main.h b/include/d/actor/d_a_player_main.h index ffe0471ba..a8a8fb611 100644 --- a/include/d/actor/d_a_player_main.h +++ b/include/d/actor/d_a_player_main.h @@ -997,7 +997,7 @@ public: void makeItemType(); void setScopeModel(); void setPhotoBoxModel(); - void changeDragonShield(int); + BOOL changeDragonShield(int); BOOL checkNewItemChange(u8); BOOL checkItemChangeFromButton(); void checkItemAction(); @@ -1480,7 +1480,7 @@ public: void setShipRidePos(int); void setShipAttentionAnmSpeed(f32); void setShipAttnetionBodyAngle(); - int changeShipEndProc(); + BOOL changeShipEndProc(); void initShipBaseAnime(); void initShipCraneAnime(); BOOL procShipReady_init(); @@ -1563,7 +1563,7 @@ public: void setBowReadyAnime(); void setBowReloadAnime(); BOOL checkNextActionBowReady(); - BOOL checkNextActionBowFly(); + void checkNextActionBowFly(); BOOL checkNextBowMode(); void setBowModel(); BOOL procBowSubject_init(); diff --git a/include/d/actor/d_a_ship.h b/include/d/actor/d_a_ship.h index fafd9ee59..425bb5999 100644 --- a/include/d/actor/d_a_ship.h +++ b/include/d/actor/d_a_ship.h @@ -34,7 +34,7 @@ public: daSFLG_UNK4000_e = 0x00004000, daSFLG_UNK8000_e = 0x00008000, daSFLG_UNK10000_e = 0x00010000, - daSFLG_UNK20000_e = 0x00020000, + daSFLG_SHOOT_CANNON_e = 0x00020000, daSFLG_UNK40000_e = 0x00040000, daSFLG_UNK80000_e = 0x00080000, daSFLG_UNK100000_e = 0x00100000, @@ -62,12 +62,15 @@ public: bool checkStateFlg(daSHIP_SFLG flag) const { return mStateFlag & flag; } bool checkHeadNoDraw() const { return checkStateFlg(daSFLG_HEAD_NO_DRAW_e); } + bool checkShootCannon() const { return checkStateFlg(daSFLG_SHOOT_CANNON_e); } int getTactWarpPosNum() const { return mTactWarpPosNum; } void setTactWarpPosNum(int num) { mTactWarpPosNum = num; } u32 getTactWarpID() { return mTactWarpID; } void setTactWarpID(u32 warpID) { mTactWarpID = warpID; } - + + Mtx& getBodyMtx() { return m0298->getModel()->getBaseTRMtx(); } + void checkCraneMode() const {} void checkCraneUpEnd() const {} BOOL checkForceMove() const { return getTornadoActor() || getWhirlActor(); } @@ -75,11 +78,9 @@ public: void checkRopeCntMax() const {} void checkRopeDownStart() const {} void checkSalvageDemo() const {} - void checkShootCannon() const {} void checkTornadoFlg() const {} void checkTornadoUp() const {} void getBeltSpeed() const {} - void getBodyMtx() {} s16 getCannonAngleX() const { return shape_angle.x + m0396 - 0x4000; } s16 getCannonAngleY() const { return shape_angle.y + m0394; } void getCraneAngle() const {} diff --git a/src/JSystem/J3DGraphAnimator/J3DJoint.cpp b/src/JSystem/J3DGraphAnimator/J3DJoint.cpp index 4d0a67989..76161fcad 100644 --- a/src/JSystem/J3DGraphAnimator/J3DJoint.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DJoint.cpp @@ -12,16 +12,16 @@ #include "dolphin/types.h" /* 802F4DC0-802F4EB0 .text calc__13J3DMtxCalcAnmFUs */ -void J3DMtxCalcAnm::calc(u16 param_0) { +void J3DMtxCalcAnm::calc(u16 jnt_no) { j3dSys.setCurrentMtxCalc(this); J3DTransformInfo info; J3DAnmTransform* transform = mOne[0]; if (transform) { - transform->getTransform(param_0, &info); + transform->getTransform(jnt_no, &info); } else { - info = j3dSys.getModel()->getModelData()->getJointNodePointer(param_0)->getTransformInfo(); + info = j3dSys.getModel()->getModelData()->getJointNodePointer(jnt_no)->getTransformInfo(); } - calcTransform(param_0, info); + calcTransform(jnt_no, info); } /* 802F4EB0-802F4EF8 .text __ct__15J3DMtxCalcBasicFv */ @@ -52,16 +52,16 @@ void J3DMtxCalcBasic::recursiveCalc(J3DNode* node) { } /* 802F5090-802F525C .text calcTransform__15J3DMtxCalcBasicFUsRC16J3DTransformInfo */ -void J3DMtxCalcBasic::calcTransform(u16 param_0, const J3DTransformInfo& info) { +void J3DMtxCalcBasic::calcTransform(u16 jnt_no, const J3DTransformInfo& info) { J3DSys::mCurrentS.x *= info.mScale.x; J3DSys::mCurrentS.y *= info.mScale.y; J3DSys::mCurrentS.z *= info.mScale.z; s32 r29; if (checkScaleOne(J3DSys::mCurrentS)) { - j3dSys.getModel()->setScaleFlag(param_0, 1); + j3dSys.getModel()->setScaleFlag(jnt_no, 1); r29 = 1; } else { - j3dSys.getModel()->setScaleFlag(param_0, 0); + j3dSys.getModel()->setScaleFlag(jnt_no, 0); r29 = 0; } Mtx mtx; @@ -79,17 +79,17 @@ void J3DMtxCalcBasic::calcTransform(u16 param_0, const J3DTransformInfo& info) { } MTXConcat(J3DSys::mCurrentMtx, mtx, J3DSys::mCurrentMtx); J3DModel* model = j3dSys.getModel(); - MTXCopy(J3DSys::mCurrentMtx, model->getAnmMtx(param_0)); + MTXCopy(J3DSys::mCurrentMtx, model->getAnmMtx(jnt_no)); } /* 802F525C-802F52BC .text calc__15J3DMtxCalcBasicFUs */ -void J3DMtxCalcBasic::calc(u16 param_0) { +void J3DMtxCalcBasic::calc(u16 jnt_no) { j3dSys.setCurrentMtxCalc(this); - calcTransform(param_0, j3dSys.getModel()->getModelData()->getJointNodePointer(param_0)->getTransformInfo()); + calcTransform(jnt_no, j3dSys.getModel()->getModelData()->getJointNodePointer(jnt_no)->getTransformInfo()); } /* 802F52BC-802F5508 .text calcTransform__19J3DMtxCalcSoftimageFUsRC16J3DTransformInfo */ -void J3DMtxCalcSoftimage::calcTransform(u16 param_0, const J3DTransformInfo& info) { +void J3DMtxCalcSoftimage::calcTransform(u16 jnt_no, const J3DTransformInfo& info) { /* Nonmatching */ Mtx mtx; J3DGetTranslateRotateMtx( @@ -107,10 +107,10 @@ void J3DMtxCalcSoftimage::calcTransform(u16 param_0, const J3DTransformInfo& inf J3DSys::mCurrentS.z = J3DSys::mCurrentS.z * info.mScale.z; s32 var2; if (checkScaleOne(J3DSys::mCurrentS)) { - j3dSys.getModel()->setScaleFlag(param_0, 1); + j3dSys.getModel()->setScaleFlag(jnt_no, 1); var2 = 1; } else { - j3dSys.getModel()->setScaleFlag(param_0, 0); + j3dSys.getModel()->setScaleFlag(jnt_no, 0); var2 = 0; } if (!var2) { @@ -127,23 +127,23 @@ void J3DMtxCalcSoftimage::calcTransform(u16 param_0, const J3DTransformInfo& inf mtx[2][2] = J3DSys::mCurrentMtx[2][2] * J3DSys::mCurrentS.z; mtx[2][3] = J3DSys::mCurrentMtx[2][3]; J3DModel* model = j3dSys.getModel(); - MTXCopy(mtx, model->getAnmMtx(param_0)); + MTXCopy(mtx, model->getAnmMtx(jnt_no)); } else { J3DModel* model = j3dSys.getModel(); - MTXCopy(J3DSys::mCurrentMtx, model->getAnmMtx(param_0)); + MTXCopy(J3DSys::mCurrentMtx, model->getAnmMtx(jnt_no)); } } /* 802F5508-802F5724 .text calcTransform__14J3DMtxCalcMayaFUsRC16J3DTransformInfo */ -void J3DMtxCalcMaya::calcTransform(u16 param_1, const J3DTransformInfo& param_2) { +void J3DMtxCalcMaya::calcTransform(u16 jnt_no, const J3DTransformInfo& param_2) { J3DModel* model = j3dSys.getModel(); - u8 scaleCompensate = model->getModelData()->getJointNodePointer(param_1)->getScaleCompensate(); + u8 scaleCompensate = model->getModelData()->getJointNodePointer(jnt_no)->getScaleCompensate(); s32 tmp; if (param_2.mScale.x == 1.0f && param_2.mScale.y == 1.0f && param_2.mScale.z == 1.0f) { - model->setScaleFlag(param_1, 1); + model->setScaleFlag(jnt_no, 1); tmp = true; } else { - model->setScaleFlag(param_1, 0); + model->setScaleFlag(jnt_no, 0); tmp = false; } Mtx mtx; @@ -175,7 +175,7 @@ void J3DMtxCalcMaya::calcTransform(u16 param_1, const J3DTransformInfo& param_2) } MTXConcat(J3DSys::mCurrentMtx, mtx, J3DSys::mCurrentMtx); model = j3dSys.getModel(); - MTXCopy(J3DSys::mCurrentMtx, model->getAnmMtx(param_1)); + MTXCopy(J3DSys::mCurrentMtx, model->getAnmMtx(jnt_no)); J3DSys::mParentS.x = param_2.mScale.x; J3DSys::mParentS.y = param_2.mScale.y; J3DSys::mParentS.z = param_2.mScale.z; diff --git a/src/d/actor/d_a_player_bow.inc b/src/d/actor/d_a_player_bow.inc index 92676b593..c81388173 100644 --- a/src/d/actor/d_a_player_bow.inc +++ b/src/d/actor/d_a_player_bow.inc @@ -56,13 +56,12 @@ BOOL daPy_lk_c::bowButton() const { /* 8014A008-8014A02C .text checkBowReadyAnime__9daPy_lk_cCFv */ BOOL daPy_lk_c::checkBowReadyAnime() const { - return (checkUpperAnime(LKANM_BCK_ARROWRELORD)) || - (checkUpperAnime(LKANM_BCK_BOWWAIT)); + return checkUpperAnime(LKANM_BCK_ARROWRELORD) || checkUpperAnime(LKANM_BCK_BOWWAIT); } /* 8014A02C-8014A080 .text checkBowAnime__9daPy_lk_cCFv */ BOOL daPy_lk_c::checkBowAnime() const { - return (checkBowReadyAnime()) || (checkUpperAnime(LKANM_BCK_ARROWSHOOT)); + return checkBowReadyAnime() || checkUpperAnime(LKANM_BCK_ARROWSHOOT); } /* 8014A080-8014A180 .text makeArrow__9daPy_lk_cFv */ @@ -74,7 +73,7 @@ void daPy_lk_c::makeArrow() { void daPy_lk_c::deleteArrow() { fopAc_ac_c* pfVar1 = mActorKeepEquip.getActor(); - if ((pfVar1 != NULL) && (fopAcM_GetName(pfVar1) == PROC_ARROW)) { + if (pfVar1 != NULL && fopAcM_GetName(pfVar1) == PROC_ARROW) { fopAcM_delete(pfVar1); mActorKeepEquip.clearData(); } @@ -142,11 +141,12 @@ BOOL daPy_lk_c::checkNextActionBowReady() { } m355C = 1; } else if (daArrow_c::changeArrowMp()) { - if (((mEquipItem != dItem_BOW_e) && (dComIfGp_setRStatus(0x22), spActionTrigger())) && - (arrow != NULL)) - { - mActorKeepEquip.setData(arrow->changeArrowType()); - setBowReloadAnime(); + if (mEquipItem != dItem_BOW_e) { + dComIfGp_setRStatus(0x22); + if (spActionTrigger() && arrow != NULL) { + mActorKeepEquip.setData(arrow->changeArrowType()); + setBowReloadAnime(); + } } } } else if (checkUpperAnime(LKANM_BCK_ARROWRELORD)) { @@ -158,15 +158,21 @@ BOOL daPy_lk_c::checkNextActionBowReady() { } } else if (checkUpperAnime(LKANM_BCK_ARROWSHOOT)) { if (mFrameCtrlUpper[UPPER_MOVE2_e].getRate() < 0.01f) { - if ((m355E == 0) && (bowButton()) && (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK44_e || mEquipItem == getReadyItem()) && !checkNoResetFlg1(daPyFlg1_USE_ARROW_EFFECT)) { + if (m355E == 0 && bowButton() && + (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK44_e || mEquipItem == getReadyItem()) && + !checkNoResetFlg1(daPyFlg1_USE_ARROW_EFFECT)) + { setBowReloadAnime(); makeArrow(); if (mActorKeepEquip.getActor() == NULL) { mDoAud_seStart(JA_SE_ITEM_TARGET_OUT); } } else if (daArrow_c::changeArrowMp()) { - if ((mEquipItem != dItem_BOW_e) && (dComIfGp_setRStatus(0x22), spActionTrigger())) { - daArrow_c::changeArrowTypeNotReady(); + if (mEquipItem != dItem_BOW_e) { + dComIfGp_setRStatus(0x22); + if (spActionTrigger()) { + daArrow_c::changeArrowTypeNotReady(); + } } } } @@ -175,33 +181,30 @@ BOOL daPy_lk_c::checkNextActionBowReady() { } } - cancelItemUpperReadyAnime(); + return cancelItemUpperReadyAnime(); } /* 8014A60C-8014A680 .text checkNextActionBowFly__9daPy_lk_cFv */ -BOOL daPy_lk_c::checkNextActionBowFly() { +void daPy_lk_c::checkNextActionBowFly() { if (checkBowAnime()) { checkNextActionBowReady(); - } else { - if ((itemTrigger()) && (mEquipItem == getReadyItem())) { - setBowReadyAnime(); - m355E = 0; - } + } else if (itemTrigger() && mEquipItem == getReadyItem()) { + setBowReadyAnime(); + m355E = 0; } } /* 8014A680-8014A6F4 .text checkNextBowMode__9daPy_lk_cFv */ BOOL daPy_lk_c::checkNextBowMode() { if (mpAttention->Lockon()) { - procBowMove_init(); + return procBowMove_init(); } else { - procBowSubject_init(); + return procBowSubject_init(); } } /* 8014A6F4-8014A834 .text setBowModel__9daPy_lk_cFv */ void daPy_lk_c::setBowModel() { - /* Nonmatching - regalloc */ J3DAnmTransform* bck = getItemAnimeResource(LKANM_BCK_ARROWRELORDA); JKRHeap* oldHeap = setItemHeap(); J3DModelData* tmp_modelData = initModel(&mpEquipItemModel, LINK_BDL_BOW, 0x37221222); @@ -211,9 +214,10 @@ void daPy_lk_c::setBowModel() { } mDoExt_setCurrentHeap(oldHeap); m35EC = 0.0f; - J3DMaterial* mesh = mpEquipItemModel->getModelData()->getJointNodePointer(0x00)->getMesh()->getNext(); - mesh->getNext()->getShape()->show(); - mesh->getShape()->hide(); + J3DMaterial* r3 = mpEquipItemModel->getModelData()->getJointNodePointer(0x00)->getMesh()->getNext(); + J3DMaterial* r4 = r3->getNext(); + r3->getShape()->show(); + r4->getShape()->hide(); tmp_modelData->getJointNodePointer(6)->setCallBack(daPy_bowJointCB); tmp_modelData->getJointNodePointer(11)->setCallBack(daPy_bowJointCB); mpEquipItemModel->setUserArea(reinterpret_cast(this)); @@ -280,12 +284,10 @@ BOOL daPy_lk_c::procBowMove_init() { BOOL daPy_lk_c::procBowMove() { if (mpAttnActorLockOn != NULL) { setSpeedAndAngleAtnActor(); + } else if (!mpAttention->Lockon() && mActorKeepEquip.getActor() == NULL) { + resetActAnimeUpper(UPPER_MOVE2_e, -1.0f); } else { - if ((!mpAttention->Lockon()) && (mActorKeepEquip.getActor() == NULL)) { - resetActAnimeUpper(UPPER_MOVE2_e, -1.0f); - } else { - setSpeedAndAngleAtn(); - } + setSpeedAndAngleAtn(); } if (!checkNextMode(0)) { f32 fVar1 = -1.0f; diff --git a/src/d/actor/d_a_player_crawl.inc b/src/d/actor/d_a_player_crawl.inc index 5105eb560..4dffb458f 100644 --- a/src/d/actor/d_a_player_crawl.inc +++ b/src/d/actor/d_a_player_crawl.inc @@ -328,7 +328,7 @@ BOOL daPy_lk_c::procCrawlAutoMove() { mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform()->setFrame(fVar2); mVelocity = fVar3; } else { - if (std::fabsf(frameCtrl.mRate) < 0.01f) { + if (std::fabsf(frameCtrl.getRate()) < 0.01f) { mVelocity = 0.0f; m34D0--; } diff --git a/src/d/actor/d_a_player_grab.inc b/src/d/actor/d_a_player_grab.inc index ccb9a2f98..d607c7af0 100644 --- a/src/d/actor/d_a_player_grab.inc +++ b/src/d/actor/d_a_player_grab.inc @@ -501,7 +501,7 @@ BOOL daPy_lk_c::procGrabMiss() { } if (mProcVar0.m3570 == 0) { if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) { - if ((int)m34D0 > 0) { + if (m34D0 > 0) { m34D0--; } else { setSingleMoveAnime( @@ -784,7 +784,7 @@ BOOL daPy_lk_c::procGrabWait() { } setBlendMoveAnime(fVar2); m_pbCalc[PART_UPPER_e]->setRatio(2, 1.0f); - m35A0 = 0.0049999999f * (short)(shape_angle.y - m34DE); + m35A0 = 0.005f * (short)(shape_angle.y - m34DE); onNoResetFlg1(daPyFlg1_UNK800000); } else if (checkNoResetFlg1(daPyFlg1_UNK800000)) { if (checkGrabSpecialHeavyState()) { diff --git a/src/d/actor/d_a_player_ladder.inc b/src/d/actor/d_a_player_ladder.inc index 7877e13b8..207f67f2c 100644 --- a/src/d/actor/d_a_player_ladder.inc +++ b/src/d/actor/d_a_player_ladder.inc @@ -379,7 +379,7 @@ BOOL daPy_lk_c::procLadderMove() { m34C2 = 0; procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54); } else if (std::fabsf(mFrameCtrlUnder[UNDER_MOVE0_e].getRate()) < 0.01f) { - if ((int)m34D0 > 0) { + if (m34D0 > 0) { m34D0--; setLadderFootSe(); } else { diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp index 2f5aba771..94862eef4 100644 --- a/src/d/actor/d_a_player_main.cpp +++ b/src/d/actor/d_a_player_main.cpp @@ -381,19 +381,19 @@ static BOOL daPy_auraCallback(J3DNode* node, int calcTiming) { } /* 80103494-80103A88 .text jointBeforeCB__9daPy_lk_cFiP16J3DTransformInfoP10Quaternion */ -BOOL daPy_lk_c::jointBeforeCB(int, J3DTransformInfo*, Quaternion*) { +BOOL daPy_lk_c::jointBeforeCB(int jnt_no, J3DTransformInfo*, Quaternion*) { /* Nonmatching */ static Mtx root_mtx; static Quaternion norm_quat = {0.0f, 0.0f, 0.0f, 1.0f}; } /* 80103A88-80103AAC .text daPy_jointBeforeCallback__FUlUsP16J3DTransformInfoP10Quaternion */ -static BOOL daPy_jointBeforeCallback(u32 userArea, u16 param_1, J3DTransformInfo* param_2, Quaternion* param_3) { - return reinterpret_cast(userArea)->jointBeforeCB(param_1, param_2, param_3); +static BOOL daPy_jointBeforeCallback(u32 userArea, u16 jnt_no, J3DTransformInfo* param_2, Quaternion* param_3) { + return reinterpret_cast(userArea)->jointBeforeCB(jnt_no, param_2, param_3); } /* 80103AAC-80103C1C .text jointAfterCB__9daPy_lk_cFiP16J3DTransformInfoP10Quaternion */ -BOOL daPy_lk_c::jointAfterCB(int param_1, J3DTransformInfo* param_2, Quaternion* param_3) { +BOOL daPy_lk_c::jointAfterCB(int jnt_no, J3DTransformInfo* param_2, Quaternion* param_3) { if (m34C6 != 0) { if ((m34C6 & 1) != 0) { param_3->x = m3658.x; @@ -408,25 +408,25 @@ BOOL daPy_lk_c::jointAfterCB(int param_1, J3DTransformInfo* param_2, Quaternion* } m34C6 = 0; } - if (param_1 == 0x22) { + if (jnt_no == 0x22) { mDoMtx_copy(mpCLModel->getAnmMtx(0x22), mFootData[1].field_0x088[2]); - } else if (param_1 == 0x27) { + } else if (jnt_no == 0x27) { mDoMtx_copy(mpCLModel->getAnmMtx(0x27), mFootData[0].field_0x088[2]); - } else if (param_1 == 0x20) { + } else if (jnt_no == 0x20) { mDoMtx_copy(mpCLModel->getAnmMtx(0x20), mFootData[1].field_0x088[0]); - } else if (param_1 == 0x21) { + } else if (jnt_no == 0x21) { mDoMtx_copy(mpCLModel->getAnmMtx(0x21), mFootData[1].field_0x088[1]); - } else if (param_1 == 0x25) { + } else if (jnt_no == 0x25) { mDoMtx_copy(mpCLModel->getAnmMtx(0x25), mFootData[0].field_0x088[0]); - } else if (param_1 == 0x26) { + } else if (jnt_no == 0x26) { mDoMtx_copy(mpCLModel->getAnmMtx(0x26), mFootData[0].field_0x088[1]); } return true; } /* 80103C1C-80103C40 .text daPy_jointAfterCallback__FUlUsP16J3DTransformInfoP10Quaternion */ -static BOOL daPy_jointAfterCallback(u32 userArea, u16 param_1, J3DTransformInfo* param_2, Quaternion* param_3) { - return reinterpret_cast(userArea)->jointAfterCB(param_1, param_2, param_3); +static BOOL daPy_jointAfterCallback(u32 userArea, u16 jnt_no, J3DTransformInfo* param_2, Quaternion* param_3) { + return reinterpret_cast(userArea)->jointAfterCB(jnt_no, param_2, param_3); } /* 80103C40-80103EE4 .text jointCB0__9daPy_lk_cFi */ @@ -1989,7 +1989,7 @@ void daPy_lk_c::setPhotoBoxModel() { } /* 8010CC78-8010CD34 .text changeDragonShield__9daPy_lk_cFi */ -void daPy_lk_c::changeDragonShield(int) { +BOOL daPy_lk_c::changeDragonShield(int) { /* Nonmatching */ } @@ -3790,7 +3790,7 @@ BOOL daPy_lk_c::procFrontRollCrash() { } if ((mAcch.ChkGroundHit()) && (checkModeFlg(ModeFlg_MIDAIR))) { mVelocity = 0.0f; - mFrameCtrlUnder[UNDER_MOVE0_e].mRate = daPy_HIO_roll_c0::m.field_0x24; + mFrameCtrlUnder[UNDER_MOVE0_e].setRate(daPy_HIO_roll_c0::m.field_0x24); voiceStart(9); offModeFlg(ModeFlg_MIDAIR); onModeFlg(ModeFlg_00008000); diff --git a/src/d/actor/d_a_player_rope.inc b/src/d/actor/d_a_player_rope.inc index d9a399f99..997808256 100644 --- a/src/d/actor/d_a_player_rope.inc +++ b/src/d/actor/d_a_player_rope.inc @@ -10,9 +10,9 @@ * based on the original names of the functions it contains. */ - #include "d/actor/d_a_player_main.h" - #include "d/actor/d_a_player_HIO.h" - #include "d/actor/d_a_himo2.h" +#include "d/actor/d_a_player_main.h" +#include "d/actor/d_a_player_HIO.h" +#include "d/actor/d_a_himo2.h" #include "d/d_attention.h" #include "d/d_procname.h" #include "f_op/f_op_actor_mng.h" @@ -20,8 +20,7 @@ /* 80142D08-80142D68 .text checkRopeAnime__9daPy_lk_cCFv */ BOOL daPy_lk_c::checkRopeAnime() const { - return ((checkRopeReadyAnime()) || - (checkUpperAnime(LKANM_BCK_ROPETHROW))); + return (checkRopeReadyAnime()) || (checkUpperAnime(LKANM_BCK_ROPETHROW)); } /* 80142D68-80142E0C .text freeRopeItem__9daPy_lk_cFv */ @@ -49,8 +48,7 @@ void daPy_lk_c::freeRopeItem() { f32 daPy_lk_c::checkRopeRoofHit(s16 param_0) { cXyz local_c; - local_c.set(current.pos.x - 15.0f * cM_ssin(param_0), current.pos.y, - current.pos.z - 15.0f * cM_scos(param_0)); + local_c.set(current.pos.x - 15.0f * cM_ssin(param_0), current.pos.y, current.pos.z - 15.0f * cM_scos(param_0)); mRoofChk.SetPos(local_c); dComIfG_Bgsp()->RoofChk(&mRoofChk); } @@ -59,7 +57,7 @@ f32 daPy_lk_c::checkRopeRoofHit(s16 param_0) { int daPy_lk_c::changeRopeSwingProc() { if (mCyl.ChkCoHit() != 0) { fopAc_ac_c* pfVar2 = mCyl.GetCoHitAc(); - if (((pfVar2 != NULL)) && (fopAcM_GetName(pfVar2) == PROC_HIMO3)) { + if ((pfVar2 != NULL) && (fopAcM_GetName(pfVar2) == PROC_HIMO3)) { cXyz local_24 = (pfVar2->current.pos - current.pos); if ((local_24.abs() - 95.0f >= 100.0f) && (pfVar2->current.pos.y > current.pos.y)) { return procRopeSwing_init(pfVar2, 0x1800); @@ -90,8 +88,7 @@ int daPy_lk_c::changeRopeEndProc(int param_0) { /* 801430D4-80143138 .text checkSpecialRope__9daPy_lk_cFv */ BOOL daPy_lk_c::checkSpecialRope() { - if ((!strcmp(dComIfGp_getStartStageName(), "GanonK")) && ((mActorKeepEquip.getActor() == NULL))) - { + if ((!strcmp(dComIfGp_getStartStageName(), "GanonK")) && (mActorKeepEquip.getActor() == NULL)) { return true; } else { return false; @@ -134,103 +131,105 @@ BOOL daPy_lk_c::checkRopeSwingWall(cXyz*, cXyz*, s16*, f32*) { /* 80143694-80143A44 .text setBlendRopeMoveAnime__9daPy_lk_cFi */ void daPy_lk_c::setBlendRopeMoveAnime(int param_0) { - /* Nonmatching - regalloc */ - float fVar1; - u16* puVar3; - daPy_ANM dVar4; - float dVar5; - float dVar6; - float local_48; + daPy_ANM anm; + f32 dVar6; + f32 f30; + f32 f2; + f32 sp08; - dVar5 = std::fabsf(m35A4 * m35A8); + f30 = m35A4 * m35A8; + f2 = std::fabsf(f30); if (checkModeFlg(ModeFlg_00000400)) { - local_48 = 0.0f; - dVar4 = ANM_ROPESWINGB; + sp08 = 0.0f; + anm = ANM_ROPESWINGB; } else { - local_48 = m_pbCalc[PART_UNDER_e]->getRatio(1); + sp08 = m_pbCalc[PART_UNDER_e]->getRatio(1); if (m34D0 != 0) { if (m34D0 == -1) { - dVar4 = ANM_ROPESWINGF; + anm = ANM_ROPESWINGF; } else { - dVar4 = ANM_ROPESWINGB; + anm = ANM_ROPESWINGB; } dVar6 = 1.0f; - cLib_chaseF(&local_48, dVar6, 0.05f); - if (((m34D0 == -1) && (M_PI / 2 < dVar5)) || ((m34D0 == 1 && (-M_PI / 2 < dVar5)))) { + cLib_chaseF(&sp08, dVar6, 0.05f); + if (((m34D0 == -1) && (M_PI / 2 < f30)) || (m34D0 == 1 && (-M_PI / 2 < f30))) { m34D0 = 0; } - } else { - if (((param_0 != 0) || (mStickDistance <= 0.05f)) || (spActionButton())) { - if (dVar5 <= M_PI / 2) { - dVar4 = ANM_ROPESWINGB; - } else { - dVar4 = ANM_ROPESWINGF; - } - dVar6 = ((0.6f * m34D4)) / daPy_HIO_rope_c0::m.field_0x0; - if (checkSpecialRope()) { - dVar6 *= 8.0f; - } - if (dVar6 > 0.6f) { - dVar6 = 0.6f; - } + } else if (((param_0 != 0) || (mStickDistance <= 0.05f)) || (spActionButton())) { + if (f2 <= M_PI / 2) { + anm = ANM_ROPESWINGB; } else { - if ((M_PI / 2 > dVar5) && (M_PI / 10 <= dVar5)) { - setMoveAnime(0.0f, daPy_HIO_rope_c0::m.field_0x18, 1.0f, ANM_ROPECATCH, - ANM_ROPESWINGF, 7, 7.0f); - m34D0 = -1; - return; - } - if ((-M_PI / 2 > dVar5) && (-2.8274333f <= dVar5)) { - setMoveAnime(0.0f, daPy_HIO_rope_c0::m.field_0x18, 1.0f, ANM_ROPECATCH, - ANM_ROPESWINGB, 7, 7.0f); - m34D0 = 1; - return; - } - if (dVar5 <= M_PI / 2) { - dVar4 = ANM_ROPESWINGB; - } else { - dVar4 = ANM_ROPESWINGF; - } - dVar6 = (0.6f * m34D4) / daPy_HIO_rope_c0::m.field_0x0; - if (checkSpecialRope()) { - dVar6 *= 8.0f; - } - if (dVar6 > 0.6f) { - dVar6 = 0.6f; - } + anm = ANM_ROPESWINGF; + } + dVar6 = (0.6f * m34D4) / daPy_HIO_rope_c0::m.field_0x0; + if (checkSpecialRope()) { + dVar6 *= 8.0f; + } + if (dVar6 > 0.6f) { + dVar6 = 0.6f; + } + } else { + if ((M_PI / 2 > f30) && (M_PI / 10 <= f30)) { + setMoveAnime(0.0f, daPy_HIO_rope_c0::m.field_0x18, 1.0f, ANM_ROPECATCH, ANM_ROPESWINGF, 7, 7.0f); + m34D0 = -1; + return; + } + if ((-M_PI / 2 > f30) && (-2.8274333f <= f30)) { + setMoveAnime(0.0f, daPy_HIO_rope_c0::m.field_0x18, 1.0f, ANM_ROPECATCH, ANM_ROPESWINGB, 7, 7.0f); + m34D0 = 1; + return; + } + if (f2 <= M_PI / 2) { + anm = ANM_ROPESWINGB; + } else { + anm = ANM_ROPESWINGF; + } + dVar6 = (0.6f * m34D4) / daPy_HIO_rope_c0::m.field_0x0; + if (checkSpecialRope()) { + dVar6 *= 8.0f; + } + if (dVar6 > 0.6f) { + dVar6 = 0.6f; } } - puVar3 = (u16*)getAnmData(dVar4); - if (*puVar3 != (m_anm_heap_under[UNDER_MOVE1_e]).mIdx) { - cLib_addCalc(&local_48, -dVar6, 0.5f, 0.05f, 0.005f); - if (local_48 <= 0.0f) { - local_48 = 0.0f; + u16 anm_bck = getAnmData(anm)->mUnderBckIdx; + if (anm_bck != m_anm_heap_under[UNDER_MOVE1_e].mIdx) { + cLib_addCalc(&sp08, -dVar6, 0.5f, 0.05f, 0.005f); + if (sp08 <= 0.0f) { + sp08 = 0.0f; } else { - if (dVar4 == ANM_ROPESWINGB) { - dVar4 = ANM_ROPESWINGF; + if (anm == ANM_ROPESWINGB) { + anm = ANM_ROPESWINGF; } else { - dVar4 = ANM_ROPESWINGB; + anm = ANM_ROPESWINGB; } } } else { if (m34D0 == 0) { - cLib_addCalc(&local_48, dVar6, 0.5f, 0.05f, 0.005f); + cLib_addCalc(&sp08, dVar6, 0.5f, 0.05f, 0.005f); } } } + f32 f4; if (param_0 != 0) { - fVar1 = daPy_HIO_rope_c0::m.field_0x20; + f4 = daPy_HIO_rope_c0::m.field_0x20; } else { - fVar1 = -1.0f; + f4 = -1.0f; } - setMoveAnime(local_48, daPy_HIO_rope_c0::m.field_0x18, 1.0f, ANM_ROPECATCH, dVar4, 7, fVar1); + setMoveAnime(sp08, daPy_HIO_rope_c0::m.field_0x18, 1.0f, ANM_ROPECATCH, anm, 7, f4); } /* 80143A44-80143C5C .text throwRope__9daPy_lk_cFv */ int daPy_lk_c::throwRope() { himo2_class* rope = (himo2_class*)mActorKeepEquip.getActor(); - setActAnimeUpper(LKANM_BCK_ROPETHROW, UPPER_MOVE2_e, daPy_HIO_rope_c0::m.field_0x44, - daPy_HIO_rope_c0::m.field_0x48, daPy_HIO_rope_c0::m.field_0x8, -1.0f); + setActAnimeUpper( + LKANM_BCK_ROPETHROW, + UPPER_MOVE2_e, + daPy_HIO_rope_c0::m.field_0x44, + daPy_HIO_rope_c0::m.field_0x48, + daPy_HIO_rope_c0::m.field_0x8, + -1.0f + ); setPriTextureAnime(0x48, 0); mVelocity = 0.0f; if (mDirection != DIR_RIGHT) { @@ -246,9 +245,11 @@ int daPy_lk_c::throwRope() { local_1c = pfVar4->eyePos; } else { f32 fVar3 = 500.0f * cM_scos(mBodyAngle.x); - local_1c.set(current.pos.x + fVar3 * cM_ssin(shape_angle.y), - (100.0f + current.pos.y) - 500.0f * cM_ssin(mBodyAngle.x), - current.pos.z + fVar3 * cM_scos(shape_angle.y)); + local_1c.set( + current.pos.x + fVar3 * cM_ssin(shape_angle.y), + (100.0f + current.pos.y) - 500.0f * cM_ssin(mBodyAngle.x), + current.pos.z + fVar3 * cM_scos(shape_angle.y) + ); } cXyz local_28; local_28.set(current.pos.x, current.pos.y + 100.0f, current.pos.z); @@ -293,12 +294,10 @@ BOOL daPy_lk_c::checkNextActionRopeReady() { } } } - if ((cancelItemUpperReadyAnime())) { + if (cancelItemUpperReadyAnime()) { return true; } - } else if (((pnVar3->field_0x2DC == 5) || (pnVar3->field_0x2DC == 8)) || - (pnVar3->field_0x2DC == 9)) - { + } else if (((pnVar3->field_0x2DC == 5) || (pnVar3->field_0x2DC == 8)) || (pnVar3->field_0x2DC == 9)) { return procRopeThrowCatch_init(); } else { checkNextRopeMode(); @@ -416,16 +415,14 @@ BOOL daPy_lk_c::procRopeSubject() { /* 8014422C-80144464 .text procRopeReady_init__9daPy_lk_cFv */ BOOL daPy_lk_c::procRopeReady_init() { - /* Nonmatching - "extsh" mFrame */ fopAc_ac_c* pfVar3 = mActorKeepEquip.getActor(); commonProcInit(daPyProc_ROPE_READY_e); - setMoveAnime(0.5f, daPy_HIO_rope_c0::m.field_0x18, 1.0f, ANM_ROPECATCH, ANM_ROPESWINGB, 7, - daPy_HIO_rope_c0::m.field_0x20); - mFrameCtrlUnder[UNDER_MOVE0_e].mStart = daPy_HIO_rope_c0::m.field_0x1C; - mFrameCtrlUnder[UNDER_MOVE0_e].mFrame = daPy_HIO_rope_c0::m.field_0x0; - mFrameCtrlUnder[UNDER_MOVE0_e].mEnd = daPy_HIO_rope_c0::m.field_0x4; - mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform()->setFrame( - mFrameCtrlUnder[UNDER_MOVE0_e].getFrame()); + setMoveAnime( + 0.5f, daPy_HIO_rope_c0::m.field_0x18, 1.0f, ANM_ROPECATCH, ANM_ROPESWINGB, 7, daPy_HIO_rope_c0::m.field_0x20 + ); + mFrameCtrlUnder[UNDER_MOVE0_e].setStart(daPy_HIO_rope_c0::m.field_0x1C); + mFrameCtrlUnder[UNDER_MOVE0_e].setEnd(daPy_HIO_rope_c0::m.field_0x4); + mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform()->setFrame(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame()); m3688 = current.pos; m35F0 = m3688.y; m35F4 = m3688.y; @@ -484,7 +481,6 @@ BOOL daPy_lk_c::procRopeReady() { /* 80144620-80144C58 .text procRopeSwing_init__9daPy_lk_cFP10fopAc_ac_cs */ BOOL daPy_lk_c::procRopeSwing_init(fopAc_ac_c* param_0, s16 param_1) { - /* Nonmatching - regalloc */ float dVar8; float dVar9; cXyz local_84; @@ -500,7 +496,7 @@ BOOL daPy_lk_c::procRopeSwing_init(fopAc_ac_c* param_0, s16 param_1) { mEquipItem = dItem_GRAPPLING_HOOK_e; local_84 = (param_0->current.pos - current.pos); dVar8 = (local_84.abs() - 95.0f); - dVar9 = pfVar7->field_0x15F8.y; + dVar9 = ((himo2_class*)param_0)->field_0x15F8.y; if (dVar8 > dVar9) { dVar8 = dVar9; } @@ -525,7 +521,7 @@ BOOL daPy_lk_c::procRopeSwing_init(fopAc_ac_c* param_0, s16 param_1) { local_78.x = fVar2 * local_84.x - fVar1 * local_84.z; local_78.y = local_84.y; local_78.z = fVar1 * local_84.x + fVar2 * local_84.z; - s16 sVar4 = cM_atan2s(-local_78.x, local_78.z); + s16 sVar4 = cM_atan2s(-local_78.z, local_78.y); if (sVar4 > m34D4) { sVar4 = m34D4; } else if (sVar4 < -m34D4) { @@ -569,12 +565,10 @@ BOOL daPy_lk_c::procRopeSwing_init(fopAc_ac_c* param_0, s16 param_1) { if (pfVar7 == NULL) { m_old_fdata->initOldFrameMorf(15.0f, 0, 0x2A); } - mFrameCtrlUnder[UNDER_MOVE0_e].mStart = daPy_HIO_rope_c0::m.field_0x1C; - mFrameCtrlUnder[UNDER_MOVE0_e].mFrame = daPy_HIO_rope_c0::m.field_0x0; - mFrameCtrlUnder[UNDER_MOVE0_e].mEnd = daPy_HIO_rope_c0::m.field_0x4; + mFrameCtrlUnder[UNDER_MOVE0_e].setStart(daPy_HIO_rope_c0::m.field_0x1C); + mFrameCtrlUnder[UNDER_MOVE0_e].setEnd(daPy_HIO_rope_c0::m.field_0x4); if ((pfVar7 != NULL) && (mActorKeepEquip.getActor() == NULL)) { - mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform()->setFrame( - mFrameCtrlUnder[UNDER_MOVE0_e].getFrame()); + mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform()->setFrame(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame()); } m34D0 = 0; shape_angle.x = param_1; @@ -583,45 +577,35 @@ BOOL daPy_lk_c::procRopeSwing_init(fopAc_ac_c* param_0, s16 param_1) { /* 80144C58-801456D8 .text procRopeSwing__9daPy_lk_cFv */ BOOL daPy_lk_c::procRopeSwing() { - /* Nonmatching, regalloc, math */ - fopAc_ac_c* pfVar5; - short sVar8; - short sVar9; - short sVar10; - float dVar11; - float dVar12; - float dVar13; - short local_98[2]; - float local_94; - cXyz cStack_90; - cXyz local_6c; - float local_48; - if (checkHangRopeActorNull()) { return true; } - mDoMtx_multVecZero(mpCLModel->getAnmMtx(1), &local_6c); - pfVar5 = mActorKeepRope.getActor(); - mRopePos = pfVar5->current.pos; + + cXyz sp34; + mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x28), &sp34); + fopAc_ac_c* rope = mActorKeepRope.getActor(); + mRopePos = rope->current.pos; dComIfGp_setRStatus(0x13); - dVar12 = (m35A8 * m35A4); - dVar13 = (m35AC * m35A4); + f32 f30 = (m35A8 * m35A4); + f32 dVar13 = (m35AC * m35A4); mDoMtx_stack_c::ZrotS(-shape_angle.z); mDoMtx_stack_c::XrotM(-shape_angle.x); mDoMtx_stack_c::YrotM(-shape_angle.y); mDoMtx_stack_c::transM(-current.pos.x, -current.pos.y, -current.pos.z); - mDoMtx_stack_c::multVec(&local_6c, &cStack_90); + cXyz sp28; + mDoMtx_stack_c::multVec(&sp34, &sp28); + if (checkSpecialRope()) { + f30 = 0.0f; dVar13 = 0.0f; - dVar12 = dVar13; } else { - if ((0.0f <= dVar12) && (dVar12 <= M_PI / 2)) { - dVar12 = -0.45f * cM_ssin(cM_rad2s(dVar12)); + if ((0.0f <= f30) && (f30 <= M_PI / 2)) { + f30 = -0.45f * cM_ssin(cM_rad2s(f30)); } else { - if (dVar12 <= -M_PI / 2) { - dVar12 = 0.45f * cM_ssin(cM_rad2s(dVar12)); + if (f30 <= -M_PI / 2) { + f30 = 0.45f * cM_ssin(cM_rad2s(f30)); } else { - dVar12 = 0.0f; + f30 = 0.0f; } } if ((0.0f <= dVar13) && (dVar13 <= M_PI / 2)) { @@ -634,18 +618,19 @@ BOOL daPy_lk_c::procRopeSwing() { } } } - dVar11 = 1.0f; - m35A8 = m35A8 + (dVar11 + dVar12); + + f32 dVar11 = 1.0f; + m35A8 = m35A8 + (dVar11 + f30); m35AC = m35AC + (dVar11 + dVar13); - local_94 = m35A8 * m35A4; - dVar12 = (m35AC * m35A4); - if (local_94 >= M_PI) { - local_94 = local_94 - M_PI * 2; - m35A8 = local_94 / m35A4; + f32 sp0C = m35A8 * m35A4; + f30 = (m35AC * m35A4); + if (sp0C >= M_PI) { + sp0C = sp0C - M_PI * 2; + m35A8 = sp0C / m35A4; } - if (dVar12 >= M_PI) { - dVar12 = (dVar12 - M_PI * 2); - m35AC = (dVar12 / m35A4); + if (f30 >= M_PI) { + f30 = (f30 - M_PI * 2); + m35AC = (f30 / m35A4); } if ((checkModeFlg(ModeFlg_00000400)) && (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) { offModeFlg(ModeFlg_00000400); @@ -653,80 +638,95 @@ BOOL daPy_lk_c::procRopeSwing() { setTextureAnime(8, 0); } setBlendRopeMoveAnime(0); + + s16 r30; + s16 r28; + s16 r29; if (checkSpecialRope()) { - sVar10 = daPy_HIO_rope_c0::m.field_0x0 * 0.125f; - sVar8 = 4; - sVar9 = 8; + r30 = daPy_HIO_rope_c0::m.field_0x0 / 8.0f; + r28 = 4; + r29 = 8; } else { - sVar10 = daPy_HIO_rope_c0::m.field_0x0; - sVar8 = 0x20; - sVar9 = 0x40; + r30 = daPy_HIO_rope_c0::m.field_0x0; + r28 = 0x20; + r29 = 0x40; } if (spActionButton()) { - cLib_chaseS(&m34D4, 0, sVar8 * 10); - cLib_chaseS(&m34D6, 0, sVar8 * 10); + cLib_chaseS(&m34D4, 0, r28 * 10); + cLib_chaseS(&m34D6, 0, r28 * 10); } else { - cLib_chaseS(&m34D6, 0, sVar8); - if (std::fabsf(mStickDistance) > 0.05f) { - m34D4 += sVar9 * std::abs(cM_scos(cM_rad2s((local_94)))); + cLib_chaseS(&m34D6, 0, r28); + f32 f1 = std::fabsf(sp0C); + if (mStickDistance > 0.05f) { + m34D4 += r29 * std::abs(cM_scos(cM_rad2s(f1))); } else { - cLib_chaseS(&m34D4, 0, sVar8); + cLib_chaseS(&m34D4, 0, r28); } } - if (sVar10 > m34D4) { - m34D4 = sVar10; + if (m34D4 > r30) { + m34D4 = r30; } - local_98[0] = -m34D4 * cM_ssin(cM_rad2s(local_94)); - local_48 = m34D6 * cM_ssin(cM_rad2s(dVar12)); + + s16 sp08 = -m34D4 * cM_ssin(cM_rad2s(sp0C)); + s16 r29_2 = m34D6 * cM_ssin(cM_rad2s(f30)); + s16 r28_2; if (m34D0 != 0) { - m_pbCalc[PART_UNDER_e]->setRatio(1, dVar13); - sVar8 = m34D4 * cM_ssin(cM_rad2s(local_94)) + (-m34D4 * (0.5f * m34D0) * dVar13); + dVar13 = m_pbCalc[PART_UNDER_e]->getRatio(1); + f32 f2 = -m34D4 * cM_ssin(cM_rad2s(sp0C)); + f32 f0 = 0.5f * m34D4 * m34D0; + r28_2 = f2 + (f0 * dVar13); } else { - sVar8 = -m34D4 * cM_ssin(cM_rad2s((local_48 - 0.62831855f))); + r28_2 = -m34D4 * cM_ssin(cM_rad2s(sp0C - 0.62831855f)); } - cLib_addCalcAngleS(&shape_angle.x, sVar8, 8, 0xc00, 0x100); - dVar13 = cM_scos(cM_rad2s(dVar12)); - cLib_addCalcAngleS(&shape_angle.z, m34D6 * cM_ssin(cM_rad2s((dVar12 - 1.0995574f))), 8, - (1024.0f + (2048.0f * dVar13)), (128.0f + (128.0f * dVar13))); - local_6c.set(0.0f, -m35A0, 0.0f); + cLib_addCalcAngleS(&shape_angle.x, r28_2, 8, 0xc00, 0x100); + dVar13 = cM_scos(cM_rad2s(f30)); + cLib_addCalcAngleS( + &shape_angle.z, + m34D6 * cM_ssin(cM_rad2s(f30 - 1.0995574f)), + 8, + (1024.0f + (2048.0f * dVar13)), + (128.0f + (128.0f * dVar13)) + ); + cXyz sp1C(0.0f, -m35A0, 0.0f); mDoMtx_stack_c::transS(mRopePos.x, mRopePos.y, mRopePos.z); - mDoMtx_stack_c::ZXYrotM(local_98[0], shape_angle.y, local_98[1]); - mDoMtx_stack_c::multVec(&cStack_90, ¤t.pos); + mDoMtx_stack_c::ZXYrotM(sp08, shape_angle.y, r29_2); + mDoMtx_stack_c::multVec(&sp1C, ¤t.pos); mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); - sVar8 = shape_angle.y; - mDoMtx_stack_c::ZXYrotM(-m34D4 * cM_ssin(cM_rad2s((local_94 + m35A4))), sVar8, local_98[0]); - mDoMtx_stack_c::multVec(&local_6c, &cStack_90); - if (!checkRopeSwingWall(&local_6c, &cStack_90, local_98, &local_94)) { + mDoMtx_stack_c::ZXYrotM(-m34D4 * cM_ssin(cM_rad2s(sp0C + m35A4)), shape_angle.y, r29_2); + cXyz sp10; + mDoMtx_stack_c::multVec(&sp28, &sp10); + if (!checkRopeSwingWall(&sp34, &sp10, &sp08, &sp0C)) { static cXyz local_height_offset(0.0f, -105.0f, 0.0f); mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); - mDoMtx_stack_c::multVec(&local_height_offset, &cStack_90); - if (!checkRopeSwingWall(¤t.pos, &cStack_90, local_98, &local_94)) { + mDoMtx_stack_c::multVec(&local_height_offset, &sp10); + if (!checkRopeSwingWall(¤t.pos, &sp10, &sp08, &sp0C)) { resetFootEffect(); } } - dVar12 = ((f32)m34D4 / sVar10); + + f30 = ((f32)m34D4 / r30); if (changeRopeEndProc(0)) { dVar13 = (m35A0 / (100.0f * daPy_HIO_rope_c0::m.field_0x14)); if (dVar13 < 1.0f) { dVar13 = 1.0f; } - mVelocity = (dVar12 * dVar13) * daPy_HIO_rope_c0::m.field_0xC; - if (std::abs(local_94) > M_PI / 2) { + f30 *= dVar13; + mVelocity = daPy_HIO_rope_c0::m.field_0xC * f30; + if (std::abs(sp0C) > M_PI / 2) { current.angle.y = shape_angle.y + 0x8000; } - speed.y = (dVar12 * dVar13) * daPy_HIO_rope_c0::m.field_0x10; + speed.y = daPy_HIO_rope_c0::m.field_0x10 * f30; procFall_init(0, daPy_HIO_wallCatch_c0::m.field_0x54); onNoResetFlg1(daPyFlg1_UNK8000000); - } else { - if ((m34D4 == 0) && (m34D6 == 0)) { - procRopeHangWait_init(0); - } else if (dVar12 > 0.6f) { - if (cM_scos(cM_rad2s(local_94)) > 0.77f) { - mDoAud_seStart(JA_SE_LK_ROPE_SWING_F, &mRopePos, NULL, mReverb); - } + } else if ((m34D4 == 0) && (m34D6 == 0)) { + procRopeHangWait_init(0); + } else if (f30 > 0.6f) { + if (cM_scos(cM_rad2s(sp0C)) > 0.77f) { + mDoAud_seStart(JA_SE_LK_ROPE_SWING_F, &mRopePos, NULL, mReverb); } } + return true; } @@ -741,13 +741,13 @@ BOOL daPy_lk_c::procRopeHangWait_init(int param_0) { gravity = 0.0f; if (param_0 == 0) { m34D0 = daPy_HIO_rope_c0::m.field_0x6; - setSingleMoveAnime(ANM_ROPECATCH, 1.0f, mFrameCtrlUnder[UNDER_MOVE0_e].getEnd() - 0.001f, - -1, daPy_HIO_rope_c0::m.field_0x28); + setSingleMoveAnime( + ANM_ROPECATCH, 1.0f, mFrameCtrlUnder[UNDER_MOVE0_e].getEnd() - 0.001f, -1, daPy_HIO_rope_c0::m.field_0x28 + ); setTextureAnime(2, 0); } else { m34D0 = -1; - setSingleMoveAnime(ANM_ROPEWAIT, daPy_HIO_rope_c0::m.field_0x24, 0.0f, -1, - daPy_HIO_rope_c0::m.field_0x28); + setSingleMoveAnime(ANM_ROPEWAIT, daPy_HIO_rope_c0::m.field_0x24, 0.0f, -1, daPy_HIO_rope_c0::m.field_0x28); } m34D4 = 0; return true; @@ -761,7 +761,7 @@ BOOL daPy_lk_c::procRopeHangWait() { float dVar4; dComIfGp_setRStatus(0x13); - if (0 < (int)m34D0) { + if (m34D0 > 0) { m34D0--; } if (checkHangRopeActorNull()) { @@ -817,8 +817,9 @@ BOOL daPy_lk_c::procRopeHangWait() { bVar1 = true; if (m34D0 != -1) { m34D0 = -1; - setSingleMoveAnime(ANM_ROPEWAIT, daPy_HIO_rope_c0::m.field_0x24, 0.0f, -1, - daPy_HIO_rope_c0::m.field_0x2C); + setSingleMoveAnime( + ANM_ROPEWAIT, daPy_HIO_rope_c0::m.field_0x24, 0.0f, -1, daPy_HIO_rope_c0::m.field_0x2C + ); } } else if ((direction == DIR_FORWARD) || (direction == DIR_BACKWARD)) { procRopeSwingStart_init(); @@ -827,8 +828,7 @@ BOOL daPy_lk_c::procRopeHangWait() { bVar1 = true; } else if (m34D0 == 0) { m34D0 = -1; - setSingleMoveAnime(ANM_ROPEWAIT, daPy_HIO_rope_c0::m.field_0x24, 0.0f, -1, - daPy_HIO_rope_c0::m.field_0x2C); + setSingleMoveAnime(ANM_ROPEWAIT, daPy_HIO_rope_c0::m.field_0x24, 0.0f, -1, daPy_HIO_rope_c0::m.field_0x2C); } unaff_r29 = 0; bVar1 = true; @@ -850,13 +850,9 @@ BOOL daPy_lk_c::procRopeHangWait() { /* 80145B38-80145C3C .text specialRopeHangUp__9daPy_lk_cFv */ int daPy_lk_c::specialRopeHangUp() { - /* Nonmatching - shape_angle.y */ - u32 uVar1; - int iVar2; - if (checkSpecialRope()) { - uVar1 = (int)shape_angle.y ^ 0x4000; - iVar2 = abs((((int)uVar1 >> 1) - (uVar1 & 0x4000)) >> 0x1f); + u32 uVar1 = shape_angle.y >= 0x4000 ? 0 : 1; + int iVar2 = abs(uVar1); if (iVar2 != 0) { current.pos.z = -15.8f; shape_angle.y = 0; @@ -864,8 +860,8 @@ int daPy_lk_c::specialRopeHangUp() { current.pos.z = 15.8f; shape_angle.y = -0x8000; } - current.pos.x = 361.39999f; - current.pos.y = 4464.7998f; + current.pos.x = 361.4f; + current.pos.y = 4464.8f; old.pos = current.pos; current.angle.y = shape_angle.y; m3724 = current.pos; @@ -908,9 +904,8 @@ BOOL daPy_lk_c::procRopeUp_init() { } else { commonProcInit(daPyProc_ROPE_UP_e); dComIfGp_setPlayerStatus0(0, daPyStts0_UNK800000_e); - setSingleMoveAnime(ANM_ROPECLIMB, daPy_HIO_rope_c0::m.field_0x30, 0.0f, -1, - daPy_HIO_rope_c0::m.field_0x34); - mFrameCtrlUnder[UNDER_MOVE0_e].mAttribute = 0; + setSingleMoveAnime(ANM_ROPECLIMB, daPy_HIO_rope_c0::m.field_0x30, 0.0f, -1, daPy_HIO_rope_c0::m.field_0x34); + mFrameCtrlUnder[UNDER_MOVE0_e].setAttribute(J3DFrameCtrl::EMode_NONE); m35A0 = dVar4; gravity = 0.0f; return true; @@ -943,9 +938,8 @@ BOOL daPy_lk_c::procRopeUp() { procRopeHangWait_init(0); } } else { - setSingleMoveAnime(ANM_ROPECLIMB, daPy_HIO_rope_c0::m.field_0x30, 0.0f, -1, - -1.0f); - mFrameCtrlUnder[UNDER_MOVE0_e].setAttribute(0); + setSingleMoveAnime(ANM_ROPECLIMB, daPy_HIO_rope_c0::m.field_0x30, 0.0f, -1, -1.0f); + mFrameCtrlUnder[UNDER_MOVE0_e].setAttribute(J3DFrameCtrl::EMode_NONE); } } else { procRopeHangWait_init(0); @@ -987,8 +981,7 @@ BOOL daPy_lk_c::procRopeDown_init() { } else { commonProcInit(daPyProc_ROPE_DOWN_e); dComIfGp_setPlayerStatus0(0, daPyStts0_UNK800000_e); - setSingleMoveAnime(ANM_ROPEDOWN, daPy_HIO_rope_c0::m.field_0x38, 0.0f, -1, - daPy_HIO_rope_c0::m.field_0x3C); + setSingleMoveAnime(ANM_ROPEDOWN, daPy_HIO_rope_c0::m.field_0x38, 0.0f, -1, daPy_HIO_rope_c0::m.field_0x3C); gravity = 0.0f; m35A0 = 0.0f; return true; @@ -998,7 +991,7 @@ BOOL daPy_lk_c::procRopeDown_init() { /* 801460EC-80146240 .text procRopeDown__9daPy_lk_cFv */ BOOL daPy_lk_c::procRopeDown() { dComIfGp_setRStatus(0x13); - if ((checkHangRopeActorNull())) { + if (checkHangRopeActorNull()) { return true; } if (!changeRopeEndProc(1)) { @@ -1106,8 +1099,7 @@ BOOL daPy_lk_c::procRopeMove_init() { current.angle.y = shape_angle.y + -0x4000; } if (fopAcM_GetParam(mActorKeepEquip.getActor()) == 0) { - setActAnimeUpper(LKANM_BCK_ROPETHROWWAIT, UPPER_MOVE2_e, daPy_HIO_rope_c0::m.field_0x50, - 0.0f, -1, -1.0f); + setActAnimeUpper(LKANM_BCK_ROPETHROWWAIT, UPPER_MOVE2_e, daPy_HIO_rope_c0::m.field_0x50, 0.0f, -1, -1.0f); setBlendAtnMoveAnime(daPy_HIO_rope_c0::m.field_0x54); } dComIfGp_setPlayerStatus0(0, daPyStts0_ROPE_AIM_e); @@ -1150,9 +1142,13 @@ BOOL daPy_lk_c::procRopeMove() { /* 80146848-801468C4 .text procRopeThrowCatch_init__9daPy_lk_cFv */ BOOL daPy_lk_c::procRopeThrowCatch_init() { commonProcInit(daPyProc_ROPE_THROW_CATCH_e); - setSingleMoveAnime(ANM_ROPETHROWCATCH, daPy_HIO_rope_c0::m.field_0x58, - daPy_HIO_rope_c0::m.field_0x5C, daPy_HIO_rope_c0::m.field_0xA, - daPy_HIO_rope_c0::m.field_0x64); + setSingleMoveAnime( + ANM_ROPETHROWCATCH, + daPy_HIO_rope_c0::m.field_0x58, + daPy_HIO_rope_c0::m.field_0x5C, + daPy_HIO_rope_c0::m.field_0xA, + daPy_HIO_rope_c0::m.field_0x64 + ); mVelocity = 0.0f; dComIfGp_setPlayerStatus0(0, daPyStts0_ROPE_AIM_e); m34D0 = 0x1e; @@ -1172,7 +1168,7 @@ BOOL daPy_lk_c::procRopeThrowCatch() { if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) { m34D0--; himo2_class* rope = (himo2_class*)mActorKeepEquip.getActor(); - if ((rope->field_0x2DC == 0 || (m34D0 == 0))) { + if (rope->field_0x2DC == 0 || (m34D0 == 0)) { checkNextRopeMode(); } } diff --git a/src/d/actor/d_a_player_ship.inc b/src/d/actor/d_a_player_ship.inc index 11bd4975c..7e0a57a9f 100644 --- a/src/d/actor/d_a_player_ship.inc +++ b/src/d/actor/d_a_player_ship.inc @@ -38,7 +38,7 @@ BOOL daPy_lk_c::checkJumpRideShip() { if (hit_ac != NULL && fopAcM_GetName(hit_ac) == PROC_SHIP) { daShip_c* ship = (daShip_c*)hit_ac; cXyz sp20; - mDoMtx_multVec(ship->m0298->getModel()->getBaseTRMtx(), &l_ship_offset, &sp20); + mDoMtx_multVec(ship->getBodyMtx(), &l_ship_offset, &sp20); sp20 = old.pos - sp20; if (sp20.y > 5.0f && sp20.abs2XZ() < 10000.0f) { return procShipJumpRide_init(); @@ -50,9 +50,9 @@ BOOL daPy_lk_c::checkJumpRideShip() { /* 8013F984-8013F9B0 .text checkShipNotNormalMode__9daPy_lk_cFv */ BOOL daPy_lk_c::checkShipNotNormalMode() { - if (((m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_SHIP_JUMP2) && - (m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_VOYAGE1)) && - (m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_SHIP_JUMP1)) + if (m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_SHIP_JUMP2 && + m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_VOYAGE1 && + m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_SHIP_JUMP1) { return true; } @@ -60,18 +60,18 @@ BOOL daPy_lk_c::checkShipNotNormalMode() { } /* 8013F9B0-8013FE78 .text setShipRideArmAngle__9daPy_lk_cFiP16J3DTransformInfo */ -void daPy_lk_c::setShipRideArmAngle(int param_1, J3DTransformInfo* param_2) { +void daPy_lk_c::setShipRideArmAngle(int jnt_no, J3DTransformInfo* param_2) { /* Nonmatching - regalloc, math */ static cXyz arm_pos(0.0f, 0.0f, 0.0f); static cXyz armA_offset(17.0f, 0.0f, 0.0f); cXyz local_74; cXyz local_68; - s32 uVar3 = (param_1 == 0xA) ? 1 : 0; - if (uVar3 != 0) { + BOOL uVar3 = jnt_no == 0xA ? TRUE : FALSE; + if (uVar3) { f32 fVar1 = m_old_fdata->getOldFrameRate(); f32 fVar2 = 1.0f / (1.0f - fVar1); - J3DTransformInfo* iVar4 = m_old_fdata->getOldFrameTransInfo(param_1); + J3DTransformInfo* iVar4 = m_old_fdata->getOldFrameTransInfo(jnt_no); param_2->mTranslate.x *= fVar2 - iVar4->mTranslate.x * fVar1; param_2->mTranslate.y *= fVar2 - iVar4->mTranslate.y * fVar1; param_2->mTranslate.z *= fVar2 - iVar4->mTranslate.z * fVar1; @@ -82,17 +82,17 @@ void daPy_lk_c::setShipRideArmAngle(int param_1, J3DTransformInfo* param_2) { f32 dVar10 = local_68.absXZ(); u32 uVar5 = cM_atan2s(local_68.y, dVar10); mDoMtx_stack_c::transS(arm_pos.x, arm_pos.y, arm_pos.z); - f32 dVar12 = (26.299999f * cM_scos((uVar5 & 0xffff))); + f32 dVar12 = (26.3f * cM_scos(uVar5 & 0xffff)); f32 dVar8 = local_68.absXZ(); dVar10 = dVar8; - if (uVar3 == 0) { + if (!uVar3) { mDoMtx_stack_c::YrotM(cM_atan2s(local_68.x, local_68.z) + -0x4000); if (dVar10 >= dVar12) { mDoMtx_stack_c::scaleM((dVar10 / dVar12), 1.0f, 1.0f); } } else { f32 dVar9 = (17.0f * cM_scos(uVar5 & 0xffff)); - f32 dVar11 = (dVar12 + dVar9); + f32 dVar11 = dVar12 + dVar9; if (dVar10 >= dVar11) { mDoMtx_stack_c::YrotM(cM_atan2s(local_68.x, local_68.z) + -0x4000); mDoMtx_stack_c::scaleM((dVar10 / dVar11), 1.0f, 1.0f); @@ -100,17 +100,16 @@ void daPy_lk_c::setShipRideArmAngle(int param_1, J3DTransformInfo* param_2) { dVar12 = ((dVar8 + ((dVar9 * dVar9) - (dVar12 * dVar12))) / (2.0f * dVar8)); mDoMtx_stack_c::YrotM( (cM_atan2s(local_68.x, local_68.z) + -0x4000) - - cM_atan2s(std::sqrtf((dVar9 * dVar9) - (dVar12 * (dVar8 * dVar12))), - (dVar10 * dVar12))); + cM_atan2s(std::sqrtf((dVar9 * dVar9) - (dVar12 * (dVar8 * dVar12))), (dVar10 * dVar12)) + ); } } mDoMtx_stack_c::ZrotM(uVar5); mDoMtx_stack_c::XrotM(0x4000); mDoMtx_copy(mDoMtx_stack_c::now, J3DSys::mCurrentMtx); - if (uVar3 != 0) { + if (uVar3) { mDoMtx_stack_c::multVec(&armA_offset, &arm_pos); } - return; } /* 8013FE78-8013FEF4 .text checkShipRideUseItem__9daPy_lk_cFi */ @@ -133,7 +132,7 @@ void daPy_lk_c::initShipRideUseItem(int param_1, int param_2) { if (param_1 == 0) { return; } - dComIfGp_getShipActor()->m034D = 2; // TODO probably inline setter + dComIfGp_getShipActor()->m034D = 2; // TODO probably inline setter gravity = 0.0f; speed.y = 0.0f; if (param_1 == 1) { @@ -161,34 +160,34 @@ void daPy_lk_c::setShipRidePosUseItem() { /* 80140018-801403E0 .text setShipRidePos__9daPy_lk_cFi */ void daPy_lk_c::setShipRidePos(int param_0) { - daShip_c* iVar1 = dComIfGp_getShipActor(); - if (iVar1 != 0) { - if (iVar1->mStateFlag & 0x4000) { + daShip_c* ship = dComIfGp_getShipActor(); + if (ship != NULL) { + if (ship->mStateFlag & 0x4000) { dComIfGp_setRStatus(0x12); } if (param_0 != 0) { - shape_angle.y = iVar1->shape_angle.y; + shape_angle.y = ship->shape_angle.y; current.angle.y = shape_angle.y; } if (mCurProc == ANM_MSTEPOVER_JMPED) { - m353C = iVar1->shape_angle.x; - m353E = iVar1->shape_angle.z; + m353C = ship->shape_angle.x; + m353E = ship->shape_angle.z; m3540 = 0; m3542 = 0; } else { m353C = m353C + m3540; - m3540 = (s16)(m3540 + 0.75f * (s16)(iVar1->shape_angle.x - m353C)); + m3540 = (s16)(m3540 + 0.75f * (s16)(ship->shape_angle.x - m353C)); cLib_addCalcAngleS(&m3540, 0, 5, 0x200, 0x100); m353E = m353E + m3542; - m3542 += ((s16)(iVar1->shape_angle.z - m353E) >> 1); + m3542 += ((s16)(ship->shape_angle.z - m353E) >> 1); cLib_addCalcAngleS(&m3542, 0, 5, 0x100, 0x30); } if (mCurProc == ANM_WARPOUT) { - mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset3, ¤t.pos); + mDoMtx_multVec(ship->m0298->getModel()->getBaseTRMtx(), &l_ship_offset3, ¤t.pos); } else if (mCurProc == ANM_SETBOOTS && m34D8 != 0) { - mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset2, ¤t.pos); + mDoMtx_multVec(ship->m0298->getModel()->getBaseTRMtx(), &l_ship_offset2, ¤t.pos); } else { - mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset, ¤t.pos); + mDoMtx_multVec(ship->m0298->getModel()->getBaseTRMtx(), &l_ship_offset, ¤t.pos); } if (checkShipNotNormalMode()) { mBodyAngle.y = 0; @@ -196,28 +195,27 @@ void daPy_lk_c::setShipRidePos(int param_0) { cXyz local_38; f32 sp08; dKyw_get_AllWind_vec(¤t.pos, &local_38, &sp08); - f32 fVar2 = (30.0f * sp08 + iVar1->speedF) / 30.0f; + f32 fVar2 = (30.0f * sp08 + ship->speedF) / 30.0f; if (fVar2 > 1.0f) { fVar2 = 1.0f; } - mFrameCtrlUpper[UPPER_MOVE2_e].setRate((1.0f - daPy_HIO_ship_c0::m.field_0xC) * fVar2 + - daPy_HIO_ship_c0::m.field_0xC); - if ((iVar1->mStateFlag & 0x40) != 0) { - if (iVar1->m03E4 > 0.6f) { + mFrameCtrlUpper[UPPER_MOVE2_e].setRate( + (1.0f - daPy_HIO_ship_c0::m.field_0xC) * fVar2 + daPy_HIO_ship_c0::m.field_0xC + ); + if ((ship->mStateFlag & 0x40) != 0) { + if (ship->m03E4 > 0.6f) { voiceStart(6); - } else { - if (iVar1->m03E4 > 0.2f) { - voiceStart(7); - } + } else if (ship->m03E4 > 0.2f) { + voiceStart(7); } setSingleMoveAnime(ANM_SHIP_JUMP1, 1.0f, 0.0f, -1, 20.0f); } - if (iVar1->mStateFlag & 0x80) { + if (ship->mStateFlag & 0x80) { setSingleMoveAnime(ANM_SHIP_JUMP2, 1.0f, 3.0f, -1, 3.0f); } if (m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_SHIP_JUMP2) { if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) { - if ((iVar1->mStateFlag & 1) != 0) { + if ((ship->mStateFlag & 1) != 0) { setSingleMoveAnime(ANM_SHIP_JUMP1, 1.0f, 0.0f, -1, 20.0f); } else { setSingleMoveAnime(ANM_VOYAGE1, 1.0f, 0.0f, -1, 5.0f); @@ -228,7 +226,7 @@ void daPy_lk_c::setShipRidePos(int param_0) { } s16 sVar4; if (m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_VOYAGE1) { - sVar4 = -daPy_HIO_ship_c0::m.field_0x4 * iVar1->m03DC; + sVar4 = -daPy_HIO_ship_c0::m.field_0x4 * ship->m03DC; } else { sVar4 = 0; } @@ -294,7 +292,7 @@ void daPy_lk_c::setShipAttnetionBodyAngle() { } /* 801405F0-80140C88 .text changeShipEndProc__9daPy_lk_cFv */ -int daPy_lk_c::changeShipEndProc() { +BOOL daPy_lk_c::changeShipEndProc() { /* Nonmatching - branching */ daBoomerang_c* pfVar4; @@ -309,39 +307,36 @@ int daPy_lk_c::changeShipEndProc() { pfVar4->onCancelFlg(); } } - if (((((mCurProc != daPyProc_SHIP_SCOPE_e) && (mCurProc != daPyProc_SHIP_BOW_e)) && - (mCurProc != daPyProc_SHIP_HOOKSHOT_e)) && - ((mCurProc != daPyProc_SHIP_BOOMERANG_e || (mEquipItem != dItem_BOOMERANG_e)))) && - ((ship->mStateFlag & 1) == 0)) + if (mCurProc != daPyProc_SHIP_SCOPE_e && mCurProc != daPyProc_SHIP_BOW_e && mCurProc != daPyProc_SHIP_HOOKSHOT_e && + (mCurProc != daPyProc_SHIP_BOOMERANG_e || mEquipItem != dItem_BOOMERANG_e) && (ship->mStateFlag & 1) == 0) { setTalkStatus(); if (orderTalk()) { return true; } } - if ((dComIfGp_getMiniGameType() != 1) && (ship->speedF < 3.0f)) { + if (dComIfGp_getMiniGameType() != 1 && ship->speedF < 3.0f) { if (ship->m1044.absXZ() < 3.0f) { - if (((!checkShipNotNormalMode() || - (m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_FREEA)) || - (m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_FREEB)) || - (m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_FREED)) + if (((!checkShipNotNormalMode() || m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_FREEA) || + m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_FREEB) || + m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_FREED) { - if (((!dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e) && - (!spActionButton())) && - ((dComIfGp_getDoStatus() == 0 && (mCurProc == daPyProc_SHIP_PADDLE_e))))) + if ((!dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e) && !spActionButton()) && + (dComIfGp_getDoStatus() == 0 && mCurProc == daPyProc_SHIP_PADDLE_e)) { - if ((!ship->checkForceMove()) && (dComIfGp_setDoStatus(29), doTrigger())) { - return procShipGetOff_init(); + if (!ship->checkForceMove()) { + dComIfGp_setDoStatus(29); + if (doTrigger()) { + return procShipGetOff_init(); + } } } } } } - if ((mCurProc != daPyProc_SHIP_SCOPE_e) && ((ship->mStateFlag & 1) == 0)) { + if (mCurProc != daPyProc_SHIP_SCOPE_e && ((ship->mStateFlag & 1) == 0)) { if (dComIfGp_getDoStatus() == 0) { - if ((ship->mShipMode == 1) || (ship->checkForceMove()) || - (((ship->speedF < 3.0f) && (ship->mShipMode != 0)))) - { + if (ship->mShipMode == 1 || ship->checkForceMove() || (ship->speedF < 3.0f && ship->mShipMode != 0)) { dComIfGp_setDoStatus(8); } } @@ -350,54 +345,61 @@ int daPy_lk_c::changeShipEndProc() { if (pfVar4 != NULL) { pfVar4->onCancelFlg(); } - procShipSteer_init(); - } else if (checkSetItemTrigger(dItem_BOMB_BAG_e, 1)) { + return procShipSteer_init(); + } + if (checkSetItemTrigger(dItem_BOMB_BAG_e, 1)) { pfVar4 = (daBoomerang_c*)mActorKeepThrow.getActor(); if (pfVar4 != NULL) { pfVar4->onCancelFlg(); } - procShipCannon_init(); - } else if (checkSetItemTrigger(dItem_GRAPPLING_HOOK_e, 1)) { + return procShipCannon_init(); + } + if (checkSetItemTrigger(dItem_GRAPPLING_HOOK_e, 1)) { pfVar4 = (daBoomerang_c*)mActorKeepThrow.getActor(); if (pfVar4 != NULL) { pfVar4->onCancelFlg(); } - procShipCrane_init(); - } else if (checkSetItemTrigger(dItem_TELESCOPE_e, 1)) { + return procShipCrane_init(); + } + if (checkSetItemTrigger(dItem_TELESCOPE_e, 1)) { pfVar4 = (daBoomerang_c*)mActorKeepThrow.getActor(); if (pfVar4 != NULL) { pfVar4->onCancelFlg(); } - procShipScope_init(1); - } else if (checkSetItemTrigger(daPyItem_PHOTOBOX_e, 1)) { + return procShipScope_init(1); + } + if (checkSetItemTrigger(daPyItem_PHOTOBOX_e, 1)) { pfVar4 = (daBoomerang_c*)mActorKeepThrow.getActor(); if (pfVar4 != NULL) { pfVar4->onCancelFlg(); } - procShipScope_init(0); - } else if (checkSetItemTrigger(daPyItem_BOW_e, 1)) { + return procShipScope_init(0); + } + if (checkSetItemTrigger(daPyItem_BOW_e, 1)) { pfVar4 = (daBoomerang_c*)mActorKeepThrow.getActor(); if (pfVar4 != NULL) { pfVar4->onCancelFlg(); } - procShipBow_init(); - } else if ((checkSetItemTrigger(dItem_BOOMERANG_e, 1)) && - (mActorKeepThrow.getActor() == NULL)) - { - procShipBoomerang_init(); - } else if (checkSetItemTrigger(dItem_HOOKSHOT_e, 1)) { + return procShipBow_init(); + } + if (checkSetItemTrigger(dItem_BOOMERANG_e, 1) && mActorKeepThrow.getActor() == NULL) { + return procShipBoomerang_init(); + } + if (checkSetItemTrigger(dItem_HOOKSHOT_e, 1)) { pfVar4 = (daBoomerang_c*)mActorKeepThrow.getActor(); if (pfVar4 != NULL) { pfVar4->onCancelFlg(); } - procShipHookshot_init(); - } else if (checkSetItemTrigger(dItem_WIND_WAKER_e, 1)) { + return procShipHookshot_init(); + } + if (checkSetItemTrigger(dItem_WIND_WAKER_e, 1)) { pfVar4 = (daBoomerang_c*)mActorKeepThrow.getActor(); if (pfVar4 != NULL) { pfVar4->onCancelFlg(); } - procTactWait_init(-1); - } else if (checkSetItemTrigger(dItem_TINGLE_TUNER_e, 1)) { + return procTactWait_init(-1); + } + if (checkSetItemTrigger(dItem_TINGLE_TUNER_e, 1)) { fopAcM_orderTalkEvent(this, (fopAc_ac_c*)dComIfGp_getAgb()); if (checkShipNotNormalMode()) { setShipRidePos(0); @@ -405,31 +407,38 @@ int daPy_lk_c::changeShipEndProc() { setShipRidePos(1); } return true; - } else if (checkSetItemTrigger(dItem_MAGIC_ARMOR_e, 1)) { + } + if (checkSetItemTrigger(dItem_MAGIC_ARMOR_e, 1)) { if (checkShipNotNormalMode()) { setShipRidePos(0); } else { setShipRidePos(1); } - changeDragonShield(1); - } else if (checkSetItemTrigger(daPyItem_DRINK_BOTTLE_e, 0)) { - procBottleDrink_init(dComIfGp_getSelectItem(mReadyItemBtn)); - } else if (checkSetItemTrigger(dItem_FAIRY_BOTTLE_e, 0)) { - procBottleOpen_init(0x57); - } else if (checkSetItemTrigger(daPyItem_OPEN_BOTTLE_e, 1)) { - procBottleOpen_init(dComIfGp_getSelectItem(mReadyItemBtn)); - } else if (checkSetItemTrigger(dItem_EMPTY_BOTTLE_e, 1)) { - procBottleSwing_init(1); - } else if (checkSetItemTrigger(dItem_HYOI_PEAR_e, 1)) { - procFoodSet_init(); - } else if (checkSetItemTrigger(daPyItem_ESA_e, 1)) { - procFoodThrow_init(); - } else if ((doTrigger()) && (dComIfGp_getDoStatus() == 8)) { - procShipPaddle_init(); + return changeDragonShield(1); + } + if (checkSetItemTrigger(daPyItem_DRINK_BOTTLE_e, 0)) { + return procBottleDrink_init(dComIfGp_getSelectItem(mReadyItemBtn)); + } + if (checkSetItemTrigger(dItem_FAIRY_BOTTLE_e, 0)) { + return procBottleOpen_init(0x57); + } + if (checkSetItemTrigger(daPyItem_OPEN_BOTTLE_e, 1)) { + return procBottleOpen_init(dComIfGp_getSelectItem(mReadyItemBtn)); + } + if (checkSetItemTrigger(dItem_EMPTY_BOTTLE_e, 1)) { + return procBottleSwing_init(1); + } + if (checkSetItemTrigger(dItem_HYOI_PEAR_e, 1)) { + return procFoodSet_init(); + } + if (checkSetItemTrigger(daPyItem_ESA_e, 1)) { + return procFoodThrow_init(); + } + if (doTrigger() && dComIfGp_getDoStatus() == 8) { + return procShipPaddle_init(); } - } else { - return false; } + return false; } /* 80140C88-80140D04 .text initShipBaseAnime__9daPy_lk_cFv */ @@ -462,27 +471,31 @@ void daPy_lk_c::initShipCraneAnime() { BOOL daPy_lk_c::procShipReady_init() { commonProcInit(daPyProc_SHIP_READY_e); deleteEquipItem(TRUE); - daShip_c* iVar1 = dComIfGp_getShipActor(); - setSingleMoveAnime(ANM_VJMPCL, daPy_HIO_wallCatch_c0::m.field_0x24, - daPy_HIO_wallCatch_c0::m.field_0x2C, daPy_HIO_wallCatch_c0::m.field_0x4, - daPy_HIO_wallCatch_c0::m.field_0x28); + daShip_c* ship = dComIfGp_getShipActor(); + setSingleMoveAnime( + ANM_VJMPCL, + daPy_HIO_wallCatch_c0::m.field_0x24, + daPy_HIO_wallCatch_c0::m.field_0x2C, + daPy_HIO_wallCatch_c0::m.field_0x4, + daPy_HIO_wallCatch_c0::m.field_0x28 + ); gravity = 0.0f; mVelocity = 0.0f; - s16 sVar3 = fopAcM_searchActorAngleY((fopAc_ac_c*)iVar1, this); - if ((s16)(sVar3 - iVar1->shape_angle.y) > 0) { - mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_ledge, ¤t.pos); - shape_angle.y = iVar1->shape_angle.y + -0x4000; + s16 sVar3 = fopAcM_searchActorAngleY(ship, this); + if ((s16)(sVar3 - ship->shape_angle.y) > 0) { + mDoMtx_multVec(ship->m0298->getModel()->getBaseTRMtx(), &l_ship_ledge, ¤t.pos); + shape_angle.y = ship->shape_angle.y + -0x4000; m34D4 = shape_angle.y; m34D0 = 0; } else { - mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_redge, ¤t.pos); - shape_angle.y = iVar1->shape_angle.y + 0x4000; + mDoMtx_multVec(ship->m0298->getModel()->getBaseTRMtx(), &l_ship_redge, ¤t.pos); + shape_angle.y = ship->shape_angle.y + 0x4000; m34D4 = shape_angle.y + 0x8000; m34D0 = 1; } current.angle.y = shape_angle.y; mProcVar0.m3570 = 0; - iVar1->m034D = 3; + ship->m034D = 3; dComIfGp_setPlayerStatus0(0, daPyStts0_UNK1000000_e); swimOutAfter(1); offNoResetFlg0(daPyFlg0_SHIP_DROP); @@ -497,7 +510,7 @@ BOOL daPy_lk_c::procShipReady_init() { BOOL daPy_lk_c::procShipReady() { daShip_c* ship = (daShip_c*)dComIfGp_getShipActor(); - if (ship == 0) { + if (ship == NULL) { return checkNextMode(0); } @@ -520,7 +533,7 @@ BOOL daPy_lk_c::procShipReady() { current.pos.y = current.pos.y + (ship->current.pos.y - m35A0); cLib_chaseF(¤t.pos.y, (ship->current.pos.y + l_ship_offset.y), 2.0f); m35A0 = ship->current.pos.y; - if (!(fopAcM_seenActorAngleY(this, (fopAc_ac_c*)ship) < 0x4000)) { + if (fopAcM_seenActorAngleY(this, ship) >= 0x4000) { procShipPaddle_init(); } } @@ -530,9 +543,9 @@ BOOL daPy_lk_c::procShipReady() { /* 8014105C-80141140 .text procShipJumpRide_init__9daPy_lk_cFv */ BOOL daPy_lk_c::procShipJumpRide_init() { - daShip_c* iVar1 = dComIfGp_getShipActor(); + daShip_c* ship = dComIfGp_getShipActor(); - if (iVar1 == 0 || ((iVar1->attention_info.flags & fopAc_Attn_ACTION_SHIP_e) == 0)) { + if (ship == NULL || ((ship->attention_info.flags & fopAc_Attn_ACTION_SHIP_e) == 0)) { return false; } @@ -541,8 +554,8 @@ BOOL daPy_lk_c::procShipJumpRide_init() { gravity = 0.0f; speed.y = 0.0f; mVelocity = 0.0f; - iVar1->m034D = 2; - iVar1->mStateFlag = iVar1->mStateFlag | 0x2000; + ship->m034D = 2; + ship->mStateFlag = ship->mStateFlag | 0x2000; setSingleMoveAnime(ANM_SLIPICE, 1.0f, 0.0f, -1, 5.0f); setShipRidePos(0); offNoResetFlg0(daPyFlg0_SHIP_DROP); @@ -564,9 +577,9 @@ BOOL daPy_lk_c::procShipJumpRide() { /* 80141180-8014123C .text procShipSteer_init__9daPy_lk_cFv */ BOOL daPy_lk_c::procShipSteer_init() { offNoResetFlg0(daPyFlg0_UNK1); - daShip_c* iVar1 = dComIfGp_getShipActor(); + daShip_c* ship = dComIfGp_getShipActor(); if (mCurProc == daPyProc_SHIP_STEER_e) { - iVar1->m034D = 1; + ship->m034D = 1; return false; } @@ -575,7 +588,7 @@ BOOL daPy_lk_c::procShipSteer_init() { gravity = 0.0f; mVelocity = 0.0f; speed.y = 0.0f; - iVar1->m034D = 1; + ship->m034D = 1; initShipBaseAnime(); setShipRidePos(1); dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e); @@ -599,7 +612,7 @@ BOOL daPy_lk_c::procShipPaddle_init() { return false; } - daShip_c* iVar1 = dComIfGp_getShipActor(); + daShip_c* ship = dComIfGp_getShipActor(); BOOL bVar1; if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) && !checkShipNotNormalMode()) { bVar1 = true; @@ -611,10 +624,10 @@ BOOL daPy_lk_c::procShipPaddle_init() { gravity = 0.0f; speed.y = 0.0f; mVelocity = 0.0f; - iVar1->m034D = 2; + ship->m034D = 2; initShipBaseAnime(); if (!bVar1) { - setOldRootQuaternion(0, shape_angle.y - iVar1->shape_angle.y, 0); + setOldRootQuaternion(0, shape_angle.y - ship->shape_angle.y, 0); } setShipRidePos(1); dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e); @@ -632,7 +645,7 @@ BOOL daPy_lk_c::procShipPaddle() { } setShipRidePos(1); dComIfGp_setRStatus(0x2c); - if ((dComIfGp_getDoStatus() == 0) && (dComIfGp_getShipActor()->speedF >= 3.0f)) { + if (dComIfGp_getDoStatus() == 0 && dComIfGp_getShipActor()->speedF >= 3.0f) { dComIfGp_setDoStatus(19); } if (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e)) { @@ -642,14 +655,12 @@ BOOL daPy_lk_c::procShipPaddle() { } } else { onResetFlg0(daPyRFlg0_UNK4000000); - if (((dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000))) && - (dComIfGp_event_runCheck() == 0)) - { + if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000) && dComIfGp_event_runCheck() == 0) { setSubjectMode(); } } daShip_c* ship = (daShip_c*)dComIfGp_getShipActor(); - if ((m34D0 == -1) || (m34D0 == -2)) { + if (m34D0 == -1 || m34D0 == -2) { if (m34D0 == -2) { if (mFrameCtrlUnder[UNDER_MOVE0_e].checkPass(168.0f)) { voiceStart(48); @@ -657,35 +668,31 @@ BOOL daPy_lk_c::procShipPaddle() { voiceStart(47); } } - if (((mStickDistance > 0.05f) || (dComIfGp_event_runCheck())) || - (dComIfGp_getDoStatus() != 29) || (ship->checkForceMove()) || (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) + if ((mStickDistance > 0.05f || dComIfGp_event_runCheck()) || dComIfGp_getDoStatus() != 29 || + ship->checkForceMove() || (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) { initShipBaseAnime(); m34D0 = cM_rndF(150.0f) + 300.0f; } - } else { - if (((!dComIfGp_event_runCheck()) && (dComIfGp_getDoStatus() == 29)) && - (mStickDistance <= 0.05f) && (!ship->checkForceMove()) && (!checkShipNotNormalMode())) - { - m34D0--; - if (m34D0 == 0) { - dVar6 = cM_rnd(); - m34D0 = -1; - if (dVar6 < 0.3333f) { - dVar5 = ANM_FREEA; - } else { - if (dVar6 < 0.6666f) { - dVar5 = ANM_FREEB; - m34D0 = -2; - } else { - dVar5 = ANM_FREED; - } - } - setSingleMoveAnime(dVar5, 1.0f, 0.0f, -1, 5.0f); + } else if (!dComIfGp_event_runCheck() && dComIfGp_getDoStatus() == 29 && mStickDistance <= 0.05f && + !ship->checkForceMove() && !checkShipNotNormalMode()) + { + m34D0--; + if (m34D0 == 0) { + dVar6 = cM_rnd(); + m34D0 = -1; + if (dVar6 < 0.3333f) { + dVar5 = ANM_FREEA; + } else if (dVar6 < 0.6666f) { + dVar5 = ANM_FREEB; + m34D0 = -2; + } else { + dVar5 = ANM_FREED; } - } else { - m34D0 = cM_rndF(150.0f) + 300.0f; + setSingleMoveAnime(dVar5, 1.0f, 0.0f, -1, 5.0f); } + } else { + m34D0 = cM_rndF(150.0f) + 300.0f; } return true; @@ -693,11 +700,11 @@ BOOL daPy_lk_c::procShipPaddle() { /* 801416BC-801417EC .text procShipScope_init__9daPy_lk_cFi */ BOOL daPy_lk_c::procShipScope_init(int param_0) { - daShip_c* iVar1 = dComIfGp_getShipActor(); + daShip_c* ship = dComIfGp_getShipActor(); commonProcInit(daPyProc_SHIP_SCOPE_e); deleteEquipItem(TRUE); gravity = 0.0f; - iVar1->m034D = 2; + ship->m034D = 2; setShipRidePos(0); setSingleMoveAnime(ANM_WAITS, daPy_HIO_move_c0::m.field_0x38, 0.0f, -1, 5.0f); dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e); @@ -722,14 +729,11 @@ BOOL daPy_lk_c::procShipScope() { } if (checkScopeEnd()) { procShipPaddle_init(); - } else { - if ((((dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x10))) && - (!dComIfGp_event_runCheck())) && - (mDemo.getDemoType() == 0)) - { - shape_angle.y = fopCamM_GetAngleY(dComIfGp_getCamera(mCameraInfoIdx)); - iVar2 = 0; - } + } else if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x10) && !dComIfGp_event_runCheck() && + mDemo.getDemoType() == 0) + { + shape_angle.y = fopCamM_GetAngleY(dComIfGp_getCamera(mCameraInfoIdx)); + iVar2 = 0; } offNoResetFlg0(daPyFlg0_SCOPE_CANCEL); setShipRidePos(iVar2); @@ -738,7 +742,7 @@ BOOL daPy_lk_c::procShipScope() { /* 801418B4-801419B4 .text procShipBoomerang_init__9daPy_lk_cFv */ BOOL daPy_lk_c::procShipBoomerang_init() { - daShip_c* iVar1 = dComIfGp_getShipActor(); + daShip_c* ship = dComIfGp_getShipActor(); if (mCurProc == daPyProc_SHIP_BOOMERANG_e) { return false; } @@ -746,7 +750,7 @@ BOOL daPy_lk_c::procShipBoomerang_init() { commonProcInit(daPyProc_SHIP_BOOMERANG_e); deleteEquipItem(TRUE); gravity = 0.0f; - iVar1->m034D = 2; + ship->m034D = 2; mEquipItem = dItem_BOOMERANG_e; setSingleMoveAnime(ANM_ATNRS, 0.0f, 0.0f, -1, 5.0f); setActAnimeUpper(LKANM_BCK_BOOMWAIT, UPPER_MOVE2_e, 0.0f, 0.0f, -1, -1.0f); @@ -754,7 +758,7 @@ BOOL daPy_lk_c::procShipBoomerang_init() { makeItemType(); dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e | daPyStts0_BOOMERANG_AIM_e); setShipRidePos(0); - m34D4 = iVar1->shape_angle.y; + m34D4 = ship->shape_angle.y; m34DA = 0; return true; } @@ -764,57 +768,52 @@ BOOL daPy_lk_c::procShipBoomerang() { if (changeShipEndProc()) { dComIfGp_clearPlayerStatus0(0, daPyStts0_BOOMERANG_WAIT_e); return true; - } else { - setShipRidePos(0); - if (mActorKeepThrow.getActor() == NULL) { - if (!checkUpperAnime(LKANM_BCK_BOOMCATCH)) { - dComIfGp_setDoStatus(7); - if (doTrigger()) { - { - procShipPaddle_init(); - deleteEquipItem(TRUE); - return true; - } - } + } + setShipRidePos(0); + if (mActorKeepThrow.getActor() == NULL) { + if (!checkUpperAnime(LKANM_BCK_BOOMCATCH)) { + dComIfGp_setDoStatus(7); + if (doTrigger()) { + procShipPaddle_init(); + deleteEquipItem(TRUE); + return true; } } - mSightPacket.offDrawFlg(); - daShip_c* ship = (daShip_c*)dComIfGp_getShipActor(); - if (!checkUpperAnime(LKANM_BCK_BOOMCATCH)) { - if (mEquipItem == dItem_BOOMERANG_e) { - if (checkUpperAnime(LKANM_BCK_BOOMWAIT)) { - setShipAttentionAnmSpeed(daPy_HIO_boom_c0::m.field_0x18); - checkNextActionBoomerangReady(); - if (mpAttention->Lockon()) { - setShipAttnetionBodyAngle(); - } else { - m34DA = 0; - if (setBodyAngleToCamera()) { - daBoomerang_c* this_01 = (daBoomerang_c*)mActorKeepEquip.getActor(); - if (this_01 != NULL) { - { - cXyz local_28; - checkSightLine(this_01->getFlyMax(), &local_28); - mSightPacket.setPos(&local_28); - mSightPacket.onDrawFlg(); - } - } + } + mSightPacket.offDrawFlg(); + daShip_c* ship = (daShip_c*)dComIfGp_getShipActor(); + if (!checkUpperAnime(LKANM_BCK_BOOMCATCH)) { + if (mEquipItem == dItem_BOOMERANG_e) { + if (checkUpperAnime(LKANM_BCK_BOOMWAIT)) { + setShipAttentionAnmSpeed(daPy_HIO_boom_c0::m.field_0x18); + checkNextActionBoomerangReady(); + if (mpAttention->Lockon()) { + setShipAttnetionBodyAngle(); + } else { + m34DA = 0; + if (setBodyAngleToCamera()) { + daBoomerang_c* this_01 = (daBoomerang_c*)mActorKeepEquip.getActor(); + if (this_01 != NULL) { + cXyz local_28; + checkSightLine(this_01->getFlyMax(), &local_28); + mSightPacket.setPos(&local_28); + mSightPacket.onDrawFlg(); } } - if (mpAttnActorLockOn == NULL) { - shape_angle.y += (s16)(ship->shape_angle.y - m34D4); - } } - } else { - if (mActorKeepThrow.getActor() == NULL) { - return procShipPaddle_init(); + if (mpAttnActorLockOn == NULL) { + shape_angle.y += (s16)(ship->shape_angle.y - m34D4); } - setShapeAngleToAtnActor(); - mFrameCtrlUnder[UNDER_MOVE0_e].setRate(daPy_HIO_atnMove_c0::m.field_0x24); } + } else { + if (mActorKeepThrow.getActor() == NULL) { + return procShipPaddle_init(); + } + setShapeAngleToAtnActor(); + mFrameCtrlUnder[UNDER_MOVE0_e].setRate(daPy_HIO_atnMove_c0::m.field_0x24); } - m34D4 = ship->shape_angle.y; } + m34D4 = ship->shape_angle.y; return true; } @@ -849,53 +848,49 @@ BOOL daPy_lk_c::procShipHookshot_init() { /* 80141CF8-80141F2C .text procShipHookshot__9daPy_lk_cFv */ BOOL daPy_lk_c::procShipHookshot() { - /* Nonmatching - regalloc */ if (changeShipEndProc()) { return true; } setShipRidePos(0); dComIfGp_setDoStatus(7); - daHookshot_c* pfVar4 = (daHookshot_c*)mActorKeepEquip.getActor(); - if (doTrigger() || pfVar4 == NULL || - (mProcVar0.m3570 != 0 && m355E == 0 && !mpAttention->Lockon())) - { + daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor(); + if (doTrigger() || hookshot == NULL || (mProcVar0.m3570 != 0 && m355E == 0 && !mpAttention->Lockon())) { procShipPaddle_init(); deleteEquipItem(TRUE); return true; - } else { - mSightPacket.offDrawFlg(); - checkNextActionHookshotReady(); - daShip_c* ship = (daShip_c*)dComIfGp_getShipActor(); - if (pfVar4->checkWait()) { - setShipAttentionAnmSpeed(1.0f); - } - if (mpAttention->Lockon()) { - if (pfVar4->checkWait()) { - setShipAttnetionBodyAngle(); - } else { - m34DA = 0; - } - mProcVar0.m3570 = 1; + } + mSightPacket.offDrawFlg(); + checkNextActionHookshotReady(); + daShip_c* ship = dComIfGp_getShipActor(); + if (hookshot->checkWait()) { + setShipAttentionAnmSpeed(1.0f); + } + if (mpAttention->Lockon()) { + if (hookshot->checkWait()) { + setShipAttnetionBodyAngle(); } else { m34DA = 0; - setBodyAngleToCamera(); - mProcVar0.m3570 = 0; } - if (mpAttnActorLockOn == NULL) { - shape_angle.y += (s16)(ship->shape_angle.y - m34D4); - } - if (pfVar4->checkWait()) { - if (!mpAttention->Lockon()) { - setHookshotSight(); - } else { - mSightPacket.offDrawFlg(); - } - dComIfGp_clearPlayerStatus0(0, daPyStts0_UNK40000_e); - } else { - dComIfGp_setPlayerStatus0(0, daPyStts0_UNK40000_e); - } - m34D4 = ship->shape_angle.y; + mProcVar0.m3570 = 1; + } else { + m34DA = 0; + setBodyAngleToCamera(); + mProcVar0.m3570 = 0; } + if (mpAttnActorLockOn == NULL) { + shape_angle.y += (s16)(ship->shape_angle.y - m34D4); + } + if (hookshot->checkWait()) { + if (!mpAttention->Lockon()) { + setHookshotSight(); + } else { + mSightPacket.offDrawFlg(); + } + dComIfGp_clearPlayerStatus0(0, daPyStts0_UNK40000_e); + } else { + dComIfGp_setPlayerStatus0(0, daPyStts0_UNK40000_e); + } + m34D4 = ship->shape_angle.y; return true; } @@ -933,15 +928,13 @@ BOOL daPy_lk_c::procShipBow_init() { /* 80142084-80142250 .text procShipBow__9daPy_lk_cFv */ BOOL daPy_lk_c::procShipBow() { - if ((mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK44_e) && (changeShipEndProc())) { + if ((mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK44_e) && changeShipEndProc()) { return true; } setShipRidePos(0); if (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK44_e) { dComIfGp_setDoStatus(7); - if ((doTrigger()) || - (((!mpAttention->Lockon()) && (mActorKeepEquip.getActor() == NULL)) && (mProcVar0.m3570 != 0))) - { + if (doTrigger() || ((!mpAttention->Lockon() && mActorKeepEquip.getActor() == NULL) && mProcVar0.m3570 != 0)) { procShipPaddle_init(); deleteEquipItem(TRUE); return true; @@ -949,11 +942,11 @@ BOOL daPy_lk_c::procShipBow() { } else { dComIfGp_evmng_cutEnd(mStaffIdx); } - daShip_c* iVar1 = (daShip_c*)dComIfGp_getShipActor(); + daShip_c* ship = (daShip_c*)dComIfGp_getShipActor(); if (checkUpperAnime(LKANM_BCK_BOWWAIT)) { setShipAttentionAnmSpeed(1.0f); } - if ((mpAttention->Lockon()) && (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK44_e)) { + if (mpAttention->Lockon() && (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK44_e)) { setShipAttnetionBodyAngle(); mProcVar0.m3570 = 1; } else { @@ -962,9 +955,9 @@ BOOL daPy_lk_c::procShipBow() { mProcVar0.m3570 = 0; } if (mpAttnActorLockOn == NULL) { - shape_angle.y += (s16)(iVar1->shape_angle.y - m34D4); + shape_angle.y += (s16)(ship->shape_angle.y - m34D4); } - m34D4 = iVar1->shape_angle.y; + m34D4 = ship->shape_angle.y; checkNextActionBowReady(); m35EC = mFrameCtrlUpper[UPPER_MOVE2_e].getFrame(); return true; @@ -976,12 +969,12 @@ BOOL daPy_lk_c::procShipCannon_init() { return false; } - daShip_c* iVar1 = dComIfGp_getShipActor(); + daShip_c* ship = dComIfGp_getShipActor(); commonProcInit(daPyProc_SHIP_CANNON_e); deleteEquipItem(TRUE); gravity = 0.0f; mVelocity = 0.0f; - iVar1->m034D = 9; + ship->m034D = 9; initShipBaseAnime(); setShipRidePos(1); dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e); @@ -1009,13 +1002,13 @@ BOOL daPy_lk_c::procShipCrane_init() { return false; } - daShip_c* iVar1 = dComIfGp_getShipActor(); + daShip_c* ship = dComIfGp_getShipActor(); commonProcInit(daPyProc_SHIP_CRANE_e); deleteEquipItem(TRUE); gravity = 0.0f; mVelocity = 0.0f; - iVar1->m034D = 10; - if ((s16)iVar1->mCurrentRopeSegmentIndex != 0) { + ship->m034D = 10; + if ((s16)ship->mCurrentRopeSegmentIndex != 0) { initShipCraneAnime(); } else { initShipBaseAnime(); @@ -1038,45 +1031,49 @@ BOOL daPy_lk_c::procShipGetOff_init() { return false; } - daShip_c* iVar1 = dComIfGp_getShipActor(); + daShip_c* ship = dComIfGp_getShipActor(); commonProcInit(daPyProc_SHIP_GET_OFF_e); deleteEquipItem(TRUE); setSingleMoveAnime(ANM_DASH, daPy_HIO_move_c0::m.field_0x40, 0.0f, -1, 5.0f); mVelocity = 8.0f; gravity = 0.0f; - shape_angle.y = iVar1->shape_angle.y + -0x4000; + shape_angle.y = ship->shape_angle.y + -0x4000; current.angle.y = shape_angle.y; mProcVar0.m3570 = 0; m370C.x = current.pos.x + cM_ssin(shape_angle.y) * l_ship_ledge.x; - m370C.y = iVar1->current.pos.y + l_ship_ledge.y; + m370C.y = ship->current.pos.y + l_ship_ledge.y; m370C.z = current.pos.z + cM_scos(shape_angle.y) * l_ship_ledge.x; - iVar1->m034D = 5; + ship->m034D = 5; mBodyAngle.y = 0; - m35A0 = iVar1->current.pos.y; + m35A0 = ship->current.pos.y; return true; } /* 80142A5C-80142C08 .text procShipGetOff__9daPy_lk_cFv */ BOOL daPy_lk_c::procShipGetOff() { - /* Nonmatching - branching */ - daShip_c* iVar1 = dComIfGp_getShipActor(); - if (iVar1 == 0) { - checkNextMode(0); - } else if (mProcVar0.m3570 == 0) { - current.pos.y = current.pos.y + (iVar1->current.pos.y - m35A0); - cLib_chaseF(¤t.pos.y, iVar1->current.pos.y + l_ship_ledge.y, 4.0f); - m35A0 = iVar1->current.pos.y; + daShip_c* ship = dComIfGp_getShipActor(); + if (ship == NULL) { + return checkNextMode(0); + } + if (mProcVar0.m3570 == 0) { + current.pos.y = current.pos.y + (ship->current.pos.y - m35A0); + cLib_chaseF(¤t.pos.y, ship->current.pos.y + l_ship_ledge.y, 4.0f); + m35A0 = ship->current.pos.y; s16 sVar3 = cLib_targetAngleY(¤t.pos, &m370C); if (cLib_distanceAngleS(sVar3, shape_angle.y) >= 0x4000) { setSingleMoveAnime( - ANM_JMPST, daPy_HIO_autoJump_c0::m.field_0x20, daPy_HIO_autoJump_c0::m.field_0x2C, - daPy_HIO_autoJump_c0::m.field_0x2, daPy_HIO_autoJump_c0::m.field_0x30); + ANM_JMPST, + daPy_HIO_autoJump_c0::m.field_0x20, + daPy_HIO_autoJump_c0::m.field_0x2C, + daPy_HIO_autoJump_c0::m.field_0x2, + daPy_HIO_autoJump_c0::m.field_0x30 + ); gravity = daPy_HIO_autoJump_c0::m.field_0xC; mVelocity = daPy_HIO_ship_c0::m.field_0x10; speed.y = daPy_HIO_ship_c0::m.field_0x14; mProcVar0.m3570 = 1; m34C2 = 1; - iVar1->m034D = 6; + ship->m034D = 6; onModeFlg(ModeFlg_MIDAIR); } } else { @@ -1084,13 +1081,11 @@ BOOL daPy_lk_c::procShipGetOff() { dComIfGp_evmng_cutEnd(mStaffIdx); if (mAcch.ChkGroundHit()) { changeLandProc(daPy_HIO_autoJump_c0::m.field_0x24); - } else { - if (checkFanGlideProc(0)) { - return true; - } else if (speed.y < -gravity) { - procFall_init(0, daPy_HIO_smallJump_c0::m.field_0x18); - setTextureAnime(0x37, 0); - } + } else if (checkFanGlideProc(0)) { + return true; + } else if (speed.y < -gravity) { + procFall_init(0, daPy_HIO_smallJump_c0::m.field_0x18); + setTextureAnime(0x37, 0); } } return true; @@ -1098,10 +1093,10 @@ BOOL daPy_lk_c::procShipGetOff() { /* 80142C08-80142C9C .text procShipRestart_init__9daPy_lk_cFv */ BOOL daPy_lk_c::procShipRestart_init() { - daShip_c* iVar1 = dComIfGp_getShipActor(); + daShip_c* ship = dComIfGp_getShipActor(); commonProcInit(daPyProc_SHIP_RESTART_e); gravity = 0.0f; - iVar1->m034D = 2; + ship->m034D = 2; setShipRidePos(1); setSingleMoveAnime(ANM_SEARESET, 1.0f, 0.0f, -1, -1.0f); dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e); diff --git a/src/d/actor/d_a_player_vomit.inc b/src/d/actor/d_a_player_vomit.inc index 91da147a5..9b4051adb 100644 --- a/src/d/actor/d_a_player_vomit.inc +++ b/src/d/actor/d_a_player_vomit.inc @@ -260,7 +260,7 @@ BOOL daPy_lk_c::procVomitLand() { checkNextMode(1); } } else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) { - if ((s32)m34D0 > 0) { + if (m34D0 > 0) { m34D0--; } else { setSingleMoveAnime( diff --git a/src/d/actor/d_a_player_weapon.inc b/src/d/actor/d_a_player_weapon.inc index f0fb389b7..75381310e 100644 --- a/src/d/actor/d_a_player_weapon.inc +++ b/src/d/actor/d_a_player_weapon.inc @@ -43,30 +43,31 @@ void daPy_lk_c::setEnemyWeaponAtParam(BOOL r4) { BOOL daPy_lk_c::procWeaponNormalSwing_init() { if (mActorKeepEquip.getActor() == NULL) { return false; - } else { - commonProcInit(daPyProc_WEAPON_NORMAL_SWING_e); - setSingleMoveAnime( - ANM_CUTBOKO, - daPy_HIO_cutBoko_c0::m.field_0x10, - daPy_HIO_cutBoko_c0::m.field_0x18, - daPy_HIO_cutBoko_c0::m.field_0x6, - daPy_HIO_cutBoko_c0::m.field_0x34 - ); - current.angle.y = shape_angle.y; - m3700 = cXyz::Zero; - m34C2 = 1; - voiceStart(1); - if ((mpAttention->Lockon()) || (mStickDistance <= 0.05f)) { - m34D4 = shape_angle.y; - } else { - m34D4 = m34E8; - } - dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e); - m351E = m34DC; - setBlurPosResource(LKANM__CUTBOKO_POS); - setEnemyWeaponAtParam(0); - m34D0 = daPy_HIO_cutBoko_c0::m.field_0x4; } + + commonProcInit(daPyProc_WEAPON_NORMAL_SWING_e); + setSingleMoveAnime( + ANM_CUTBOKO, + daPy_HIO_cutBoko_c0::m.field_0x10, + daPy_HIO_cutBoko_c0::m.field_0x18, + daPy_HIO_cutBoko_c0::m.field_0x6, + daPy_HIO_cutBoko_c0::m.field_0x34 + ); + current.angle.y = shape_angle.y; + m3700 = cXyz::Zero; + m34C2 = 1; + voiceStart(1); + if (mpAttention->Lockon() || mStickDistance <= 0.05f) { + m34D4 = shape_angle.y; + } else { + m34D4 = m34E8; + } + dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e); + m351E = m34DC; + setBlurPosResource(LKANM__CUTBOKO_POS); + setEnemyWeaponAtParam(0); + m34D0 = daPy_HIO_cutBoko_c0::m.field_0x4; + return true; } @@ -74,17 +75,17 @@ BOOL daPy_lk_c::procWeaponNormalSwing_init() { BOOL daPy_lk_c::procWeaponNormalSwing() { J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e]; - if ((swordButton()) && (mActorKeepEquip.getActor() != NULL)) { + if (swordButton() && mActorKeepEquip.getActor() != NULL) { onNoResetFlg0(daPyFlg0_UNK4); } else { offNoResetFlg0(daPyFlg0_UNK4); } - if ((frameCtrl.getRate() < 0.01f) || (mActorKeepEquip.getActor() == NULL)) { + if (frameCtrl.getRate() < 0.01f || mActorKeepEquip.getActor() == NULL) { if (mActorKeepEquip.getActor() == NULL) { m34D0 = 0; offNoResetFlg0(daPyFlg0_UNK4); } - if ((int)m34D0 > 0) { + if (m34D0 > 0) { m34D0--; } else { mVelocity = 0.0f; @@ -103,46 +104,49 @@ BOOL daPy_lk_c::procWeaponNormalSwing() { mVelocity = dVar4; mDirection = orig_direction; } + if (changeCutReverseProc(ANM_CUTRER)) { return true; + } + + m34C2 = 1; + if (mpAttnActorLockOn != NULL) { + setShapeAngleToAtnActor(); + m34D4 = shape_angle.y; } else { - m34C2 = 1; - if (mpAttnActorLockOn != NULL) { - setShapeAngleToAtnActor(); - m34D4 = shape_angle.y; - } else { - cLib_addCalcAngleS( - &shape_angle.y, - m34D4, - daPy_HIO_turn_c0::m.field_0x4, - daPy_HIO_turn_c0::m.field_0x0, - daPy_HIO_turn_c0::m.field_0x2 - ); - } - current.angle.y = shape_angle.y; - if (frameCtrl.checkPass(daPy_HIO_cutBoko_c0::m.field_0x38)) { - mVelocity = std::fabsf(speedF) * daPy_HIO_cutBoko_c0::m.field_0x20 + daPy_HIO_cutBoko_c0::m.field_0x24; - } - if (frameCtrl.checkPass(daPy_HIO_cutBoko_c0::m.field_0x3C)) { - frameCtrl.setRate(daPy_HIO_cutBoko_c0::m.field_0x14); - } - if ((frameCtrl.getFrame() >= daPy_HIO_cutBoko_c0::m.field_0x40) && - (frameCtrl.getFrame() < daPy_HIO_cutBoko_c0::m.field_0x44)) - { - if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) { - onResetFlg0(daPyRFlg0_UNK1); - seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S); - } - onResetFlg0(daPyRFlg0_UNK2); - } - cLib_addCalc( - &mVelocity, - 0.0f, - daPy_HIO_cutBoko_c0::m.field_0x30, - daPy_HIO_cutBoko_c0::m.field_0x28, - daPy_HIO_cutBoko_c0::m.field_0x2C + cLib_addCalcAngleS( + &shape_angle.y, + m34D4, + daPy_HIO_turn_c0::m.field_0x4, + daPy_HIO_turn_c0::m.field_0x0, + daPy_HIO_turn_c0::m.field_0x2 ); } + + current.angle.y = shape_angle.y; + if (frameCtrl.checkPass(daPy_HIO_cutBoko_c0::m.field_0x38)) { + mVelocity = std::fabsf(speedF) * daPy_HIO_cutBoko_c0::m.field_0x20 + daPy_HIO_cutBoko_c0::m.field_0x24; + } + if (frameCtrl.checkPass(daPy_HIO_cutBoko_c0::m.field_0x3C)) { + frameCtrl.setRate(daPy_HIO_cutBoko_c0::m.field_0x14); + } + if (frameCtrl.getFrame() >= daPy_HIO_cutBoko_c0::m.field_0x40 && + frameCtrl.getFrame() < daPy_HIO_cutBoko_c0::m.field_0x44) + { + if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) { + onResetFlg0(daPyRFlg0_UNK1); + seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S); + } + onResetFlg0(daPyRFlg0_UNK2); + } + cLib_addCalc( + &mVelocity, + 0.0f, + daPy_HIO_cutBoko_c0::m.field_0x30, + daPy_HIO_cutBoko_c0::m.field_0x28, + daPy_HIO_cutBoko_c0::m.field_0x2C + ); + return true; } @@ -167,17 +171,20 @@ BOOL daPy_lk_c::procWeaponSideSwing_init() { /* 80153A68-80153C30 .text procWeaponSideSwing__9daPy_lk_cFv */ BOOL daPy_lk_c::procWeaponSideSwing() { - if ((swordButton()) && (mActorKeepEquip.getActor() != NULL)) { + if (swordButton() && mActorKeepEquip.getActor() != NULL) { onNoResetFlg0(daPyFlg0_UNK4); } else { offNoResetFlg0(daPyFlg0_UNK4); } - if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) || (mActorKeepEquip.getActor() == NULL)) { + + if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f || mActorKeepEquip.getActor() == NULL) { mVelocity = 0.0f; mDirection = DIR_RIGHT; checkNextMode(0); return true; - } else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_cutBoko_c0::m.field_0x50) { + } + + if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_cutBoko_c0::m.field_0x50) { f32 dVar4 = mVelocity; u8 orig_direction = mDirection; mVelocity = 0.0f; @@ -188,32 +195,34 @@ BOOL daPy_lk_c::procWeaponSideSwing() { mVelocity = dVar4; mDirection = orig_direction; } + if (changeCutReverseProc(ANM_CUTREL)) { return true; - } else { - if (mpAttnActorLockOn != NULL) { - setShapeAngleToAtnActor(); - m34D4 = shape_angle.y; - } else { - cLib_addCalcAngleS( - &shape_angle.y, - m34D4, - daPy_HIO_turn_c0::m.field_0x4, - daPy_HIO_turn_c0::m.field_0x0, - daPy_HIO_turn_c0::m.field_0x2 - ); - } - current.angle.y = shape_angle.y; - if ((mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >= daPy_HIO_cutBoko_c0::m.field_0x58) && - (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() < daPy_HIO_cutBoko_c0::m.field_0x5C)) - { - if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) { - onResetFlg0(daPyRFlg0_UNK1); - seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S); - } - onResetFlg0(daPyRFlg0_UNK2); - } } + + if (mpAttnActorLockOn != NULL) { + setShapeAngleToAtnActor(); + m34D4 = shape_angle.y; + } else { + cLib_addCalcAngleS( + &shape_angle.y, + m34D4, + daPy_HIO_turn_c0::m.field_0x4, + daPy_HIO_turn_c0::m.field_0x0, + daPy_HIO_turn_c0::m.field_0x2 + ); + } + current.angle.y = shape_angle.y; + if ((mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >= daPy_HIO_cutBoko_c0::m.field_0x58) && + (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() < daPy_HIO_cutBoko_c0::m.field_0x5C)) + { + if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) { + onResetFlg0(daPyRFlg0_UNK1); + seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S); + } + onResetFlg0(daPyRFlg0_UNK2); + } + return true; } @@ -229,7 +238,7 @@ BOOL daPy_lk_c::procWeaponFrontSwingReady_init() { ); current.angle.y = shape_angle.y; mVelocity = 0.0f; - if ((mpAttention->Lockon()) || (mStickDistance <= 0.05f)) { + if (mpAttention->Lockon() || mStickDistance <= 0.05f) { m34D4 = shape_angle.y; } else { m34D4 = m34E8; @@ -243,24 +252,26 @@ BOOL daPy_lk_c::procWeaponFrontSwingReady_init() { BOOL daPy_lk_c::procWeaponFrontSwingReady() { if (mActorKeepEquip.getActor() == NULL) { return checkNextMode(0); - } else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) { - return procWeaponFrontSwing_init(); - } else { - if (mpAttnActorLockOn != NULL) { - setShapeAngleToAtnActor(); - m34D4 = shape_angle.y; - } else { - cLib_addCalcAngleS( - &shape_angle.y, - m34D4, - daPy_HIO_turn_c0::m.field_0x4, - daPy_HIO_turn_c0::m.field_0x0, - daPy_HIO_turn_c0::m.field_0x2 - ); - } - current.angle.y = shape_angle.y; - return true; } + if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) { + return procWeaponFrontSwing_init(); + } + + if (mpAttnActorLockOn != NULL) { + setShapeAngleToAtnActor(); + m34D4 = shape_angle.y; + } else { + cLib_addCalcAngleS( + &shape_angle.y, + m34D4, + daPy_HIO_turn_c0::m.field_0x4, + daPy_HIO_turn_c0::m.field_0x0, + daPy_HIO_turn_c0::m.field_0x2 + ); + } + + current.angle.y = shape_angle.y; + return true; } /* 80153DBC-80153ED8 .text procWeaponFrontSwing_init__9daPy_lk_cFv */ @@ -276,7 +287,7 @@ BOOL daPy_lk_c::procWeaponFrontSwing_init() { current.angle.y = shape_angle.y; mVelocity = 0.0f; voiceStart(1); - if (mpAttention->Lockon() || (mStickDistance <= 0.05f)) { + if (mpAttention->Lockon() || mStickDistance <= 0.05f) { m34D4 = shape_angle.y; } else { m34D4 = m34E8; @@ -293,29 +304,29 @@ BOOL daPy_lk_c::procWeaponFrontSwing_init() { BOOL daPy_lk_c::procWeaponFrontSwing() { if (mActorKeepEquip.getActor() == NULL) { return checkNextMode(0); - } else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) { - return procWeaponFrontSwingEnd_init(); - } else { - if (changeCutReverseProc(ANM_CUTREL)) { - return true; - } else { - if (mpAttnActorLockOn != NULL) { - setShapeAngleToAtnActor(); - m34D4 = shape_angle.y; - } else { - cLib_addCalcAngleS( - &shape_angle.y, - m34D4, - daPy_HIO_turn_c0::m.field_0x4, - daPy_HIO_turn_c0::m.field_0x0, - daPy_HIO_turn_c0::m.field_0x2 - ); - } - current.angle.y = shape_angle.y; - onResetFlg0(daPyRFlg0_UNK2); - return true; - } } + if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) { + return procWeaponFrontSwingEnd_init(); + } + if (changeCutReverseProc(ANM_CUTREL)) { + return true; + } + + if (mpAttnActorLockOn != NULL) { + setShapeAngleToAtnActor(); + m34D4 = shape_angle.y; + } else { + cLib_addCalcAngleS( + &shape_angle.y, + m34D4, + daPy_HIO_turn_c0::m.field_0x4, + daPy_HIO_turn_c0::m.field_0x0, + daPy_HIO_turn_c0::m.field_0x2 + ); + } + current.angle.y = shape_angle.y; + onResetFlg0(daPyRFlg0_UNK2); + return true; } /* 80153FA0-80154014 .text procWeaponFrontSwingEnd_init__9daPy_lk_cFv */ @@ -336,12 +347,13 @@ BOOL daPy_lk_c::procWeaponFrontSwingEnd_init() { /* 80154014-801540B4 .text procWeaponFrontSwingEnd__9daPy_lk_cFv */ BOOL daPy_lk_c::procWeaponFrontSwingEnd() { - if ((swordButton()) && (mActorKeepEquip.getActor() != NULL)) { + if (swordButton() && mActorKeepEquip.getActor() != NULL) { onNoResetFlg0(daPyFlg0_UNK4); } else { offNoResetFlg0(daPyFlg0_UNK4); } - if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) || (mActorKeepEquip.getActor() == NULL)) { + + if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f || mActorKeepEquip.getActor() == NULL) { return checkNextMode(0); } else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_cutBoko_c0::m.field_0x7C) { return checkNextMode(1); @@ -364,27 +376,29 @@ BOOL daPy_lk_c::procWeaponThrow_init() { BOOL daPy_lk_c::procWeaponThrow() { J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e]; - if ((frameCtrl.getRate() < 0.01f) || (mActorKeepEquip.getActor() == NULL)) { - checkNextMode(0); - } else if (frameCtrl.getFrame() > 100.0f) { - checkNextMode(1); - } else { - if (frameCtrl.checkPass(10.0f)) { - daBoko_c* boko = static_cast(mActorKeepEquip.getActor()); - s16 uVar2 = 0xf400; - if (mpAttnActorLockOn != NULL) { - cXyz local_34 = mpAttnActorLockOn->eyePos - boko->current.pos; - f32 dVar5 = local_34.abs(); - if (dVar5 >= 1.0f) { - dVar5 = local_34.absXZ(); - uVar2 = cM_atan2s(-local_34.y, dVar5); - } - } - boko->m2BA = 1; - boko->m2CA = uVar2; - voiceStart(0); - deleteEquipItem(FALSE); - } - return true; + if (frameCtrl.getRate() < 0.01f || mActorKeepEquip.getActor() == NULL) { + return checkNextMode(0); } + if (frameCtrl.getFrame() > 100.0f) { + return checkNextMode(1); + } + + if (frameCtrl.checkPass(10.0f)) { + daBoko_c* boko = static_cast(mActorKeepEquip.getActor()); + s16 uVar2 = 0xf400; + if (mpAttnActorLockOn != NULL) { + cXyz local_34 = mpAttnActorLockOn->eyePos - boko->current.pos; + f32 dVar5 = local_34.abs(); + if (dVar5 >= 1.0f) { + dVar5 = local_34.absXZ(); + uVar2 = cM_atan2s(-local_34.y, dVar5); + } + } + boko->m2BA = 1; + boko->m2CA = uVar2; + voiceStart(0); + deleteEquipItem(FALSE); + } + + return true; } diff --git a/src/d/actor/d_a_ship.cpp b/src/d/actor/d_a_ship.cpp index 30f87114b..cf3a8e906 100644 --- a/src/d/actor/d_a_ship.cpp +++ b/src/d/actor/d_a_ship.cpp @@ -3533,7 +3533,7 @@ BOOL daShip_c::execute() { mEvtStaffId = -1; } - offStateFlg(daSHIP_SFLG(daSFLG_UNK40_e | daSFLG_UNK80_e | daSFLG_UNK100_e | daSFLG_UNK4000_e | daSFLG_UNK20000_e | daSFLG_UNK100000_e | daSFLG_UNK8000000_e)); + offStateFlg(daSHIP_SFLG(daSFLG_UNK40_e | daSFLG_UNK80_e | daSFLG_UNK100_e | daSFLG_UNK4000_e | daSFLG_SHOOT_CANNON_e | daSFLG_UNK100000_e | daSFLG_UNK8000000_e)); if (m0388 > 0) { m0388--; @@ -3971,7 +3971,7 @@ BOOL daShip_c::execute() { seStart(JA_SE_LK_SHIP_CANNON_FIRE, &m1038); - onStateFlg(daSFLG_UNK20000_e); + onStateFlg(daSFLG_SHOOT_CANNON_e); dComIfGp_setItemBombNumCount(-1); diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 452bbaa9d..a2904b27e 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -24,13 +24,13 @@ static Vec dummy_2100 = {1.0f, 1.0f, 1.0f}; /* 8000DA70-8000DCF0 .text mDoExt_setJ3DData__FPA4_fPC16J3DTransformInfoUs */ -void mDoExt_setJ3DData(Mtx mtx, const J3DTransformInfo* transformInfo, u16 param_2) { +void mDoExt_setJ3DData(Mtx mtx, const J3DTransformInfo* transformInfo, u16 jnt_no) { bool local_28; if (cM3d_IsZero(transformInfo->mScale.x - 1.0f) && cM3d_IsZero(transformInfo->mScale.y - 1.0f) && cM3d_IsZero(transformInfo->mScale.z - 1.0f)) { - j3dSys.getModel()->setScaleFlag(param_2, 1); + j3dSys.getModel()->setScaleFlag(jnt_no, 1); local_28 = true; } else { - j3dSys.getModel()->setScaleFlag(param_2, 0); + j3dSys.getModel()->setScaleFlag(jnt_no, 0); local_28 = false; } mtx[0][3] = transformInfo->mTranslate.x; @@ -48,7 +48,7 @@ void mDoExt_setJ3DData(Mtx mtx, const J3DTransformInfo* transformInfo, u16 param mtx[2][1] *= transformInfo->mScale.y; mtx[2][2] *= transformInfo->mScale.z; } - if (j3dSys.getModel()->getModelData()->getJointNodePointer(param_2)->getScaleCompensate() == 1) { + if (j3dSys.getModel()->getModelData()->getJointNodePointer(jnt_no)->getScaleCompensate() == 1) { f32 x = 1.0f / J3DSys::mParentS.x; f32 y = 1.0f / J3DSys::mParentS.y; f32 z = 1.0f / J3DSys::mParentS.z; @@ -63,7 +63,7 @@ void mDoExt_setJ3DData(Mtx mtx, const J3DTransformInfo* transformInfo, u16 param mtx[2][2] *= z; } mDoMtx_concat(J3DSys::mCurrentMtx, mtx, J3DSys::mCurrentMtx); - j3dSys.getModel()->setAnmMtx(param_2, J3DSys::mCurrentMtx); + j3dSys.getModel()->setAnmMtx(jnt_no, J3DSys::mCurrentMtx); J3DSys::mParentS.x = transformInfo->mScale.x; J3DSys::mParentS.y = transformInfo->mScale.y; J3DSys::mParentS.z = transformInfo->mScale.z; @@ -1010,26 +1010,26 @@ s32 mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id) { } /* 80011EE4-80012140 .text calc__25mDoExt_MtxCalcAnmBlendTblFUs */ -void mDoExt_MtxCalcAnmBlendTbl::calc(u16 param_0) { +void mDoExt_MtxCalcAnmBlendTbl::calc(u16 jnt_no) { j3dSys.setCurrentMtxCalc(this); if (mNum == 1) { J3DTransformInfo info1; - mAnmRatio->getAnmTransform()->getTransform(param_0, &info1); - calcTransform(param_0, info1); // Doesn't match because J3DMtxCalcBasic's vtable is in the wrong order + mAnmRatio->getAnmTransform()->getTransform(jnt_no, &info1); + calcTransform(jnt_no, info1); return; } J3DTransformInfo info2; Quaternion quat1; Quaternion quat2; Quaternion quat3; - mAnmRatio->getAnmTransform()->getTransform(param_0, &info2); + mAnmRatio->getAnmTransform()->getTransform(jnt_no, &info2); JMAEulerToQuat(info2.mRotation.x, info2.mRotation.y, info2.mRotation.z, &quat1); quat3 = quat1; for (int i = 1; i < mNum; i++) { J3DAnmTransform* transform = mAnmRatio[i].getAnmTransform(); if (transform) { J3DTransformInfo info3; - transform->getTransform(param_0, &info3); + transform->getTransform(jnt_no, &info3); f32 ratio = mAnmRatio[i].getRatio(); f32 f30 = 1.0f - ratio; JMAEulerToQuat(info3.mRotation.x, info3.mRotation.y, info3.mRotation.z, &quat2); @@ -1045,24 +1045,24 @@ void mDoExt_MtxCalcAnmBlendTbl::calc(u16 param_0) { } Mtx mtx; MTXQuat(mtx, &quat3); - mDoExt_setJ3DData(mtx, &info2, param_0); + mDoExt_setJ3DData(mtx, &info2, jnt_no); } /* 80012140-80012548 .text calc__28mDoExt_MtxCalcAnmBlendTblOldFUs */ -void mDoExt_MtxCalcAnmBlendTblOld::calc(u16 param_0) { +void mDoExt_MtxCalcAnmBlendTblOld::calc(u16 jnt_no) { j3dSys.setCurrentMtxCalc(this); J3DTransformInfo info1; Quaternion quat1; Quaternion quat2; Quaternion quat3; - mAnmRatio->getAnmTransform()->getTransform(param_0, &info1); + mAnmRatio->getAnmTransform()->getTransform(jnt_no, &info1); JMAEulerToQuat(info1.mRotation.x, info1.mRotation.y, info1.mRotation.z, &quat1); quat3 = quat1; for (int i = 1; i < mNum; i++) { if (mAnmRatio[i].getAnmTransform()) { J3DAnmTransform* transform = mAnmRatio[i].getAnmTransform(); J3DTransformInfo info2; - transform->getTransform(param_0, &info2); + transform->getTransform(jnt_no, &info2); f32 ratio = mAnmRatio[i].getRatio(); f32 f30 = 1.0f - ratio; JMAEulerToQuat(info2.mRotation.x, info2.mRotation.y, info2.mRotation.z, &quat2); @@ -1078,10 +1078,10 @@ void mDoExt_MtxCalcAnmBlendTblOld::calc(u16 param_0) { } J3DModel* model = j3dSys.getModel(); - J3DTransformInfo* oldTransInfo = mOldFrame->getOldFrameTransInfo(param_0); - Quaternion* oldQuat = mOldFrame->getOldFrameQuaternion(param_0); + J3DTransformInfo* oldTransInfo = mOldFrame->getOldFrameTransInfo(jnt_no); + Quaternion* oldQuat = mOldFrame->getOldFrameQuaternion(jnt_no); if (mOldFrame->getOldFrameFlg()) { - if (mOldFrame->getOldFrameRate() > 0.0f && mOldFrame->getOldFrameStartJoint() <= param_0 && mOldFrame->getOldFrameEndJoint() > param_0) { + if (mOldFrame->getOldFrameRate() > 0.0f && mOldFrame->getOldFrameStartJoint() <= jnt_no && mOldFrame->getOldFrameEndJoint() > jnt_no) { f32 oldFrameRate = mOldFrame->getOldFrameRate(); f32 f31 = 1.0f - oldFrameRate; JMAQuatLerp(oldQuat, &quat1, f31, &quat3); @@ -1092,21 +1092,21 @@ void mDoExt_MtxCalcAnmBlendTblOld::calc(u16 param_0) { info1.mScale.y = info1.mScale.y * f31 + oldTransInfo->mScale.y * oldFrameRate; info1.mScale.z = info1.mScale.z * f31 + oldTransInfo->mScale.z * oldFrameRate; } - } else if (param_0 == model->getModelData()->getJointNum() - 1) { + } else if (jnt_no == model->getModelData()->getJointNum() - 1) { mOldFrame->onOldFrameFlg(); } Mtx mtx; if (mBeforeCallback) { - mBeforeCallback(mUserArea, param_0, &info1, &quat3); + mBeforeCallback(mUserArea, jnt_no, &info1, &quat3); } mDoMtx_quat(mtx, &quat3); - mDoExt_setJ3DData(mtx, &info1, param_0); + mDoExt_setJ3DData(mtx, &info1, jnt_no); if (mAfterCallback) { - mAfterCallback(mUserArea, param_0, &info1, &quat3); + mAfterCallback(mUserArea, jnt_no, &info1, &quat3); } *oldQuat = quat3; *oldTransInfo = info1; - if (param_0 == model->getModelData()->getJointNum() - 1) { + if (jnt_no == model->getModelData()->getJointNum() - 1) { mOldFrame->decOldFrameMorfCounter(); } }