hookshot and player_hook cleanup, inlines

This commit is contained in:
LagoLunatic
2025-04-01 23:25:03 -04:00
parent ada32b70e5
commit 4f6533b871
11 changed files with 138 additions and 138 deletions
+32 -24
View File
@@ -6,6 +6,7 @@
#include "d/d_cc_d.h"
#include "d/d_bg_s_lin_chk.h"
#include "d/d_bg_s_gnd_chk.h"
#include "f_op/f_op_actor_mng.h"
class daHookshot_shape : public J3DPacket {
public:
@@ -18,25 +19,34 @@ class daHookshot_c : public fopAc_ac_c {
public:
typedef BOOL (daHookshot_c::*ProcFunc)();
enum Mode {
Mode_Wait = 0,
Mode_Shot = 1,
Mode_Return = 2,
Mode_Pull = 3,
};
int getChainCnt() { return mChainCnt; }
cXyz getMoveVec() const { return mMoveVec; }
fpc_ProcID getCarryActorID() const { return mCarryActorID; }
void getHookAngle() {}
const csXyz* getHookAngle() { return &mHookAngle; }
MtxP getMtxTop() { return mMtx; }
void getObjHookFlg() const {}
void getSightHit() const {}
void getObjSightCrossPos() {}
void onObjHookFlg() {}
void offObjHookFlg() {}
void checkPull() {}
void checkReturn() {}
void checkShipRideFlg() const {}
void checkShot() {}
void checkWait() {}
void setObjSightCrossPos(const cXyz*) {}
void setCarryOffset(const cXyz*) {}
void setReturn() {}
void setShot() {}
u32 getSightHit() const { return const_cast<dCcD_Cps*>(&mSightCps)->ChkAtHit(); }
const cXyz* getObjSightCrossPos() { return &mObjSightCrossPos; }
void setObjSightCrossPos(const cXyz* pos) { mObjSightCrossPos = *pos; }
void setCarryOffset(const cXyz* offset) { mCarryOffset = *offset; }
bool checkWait() { return fopAcM_GetParam(this) == Mode_Wait; }
bool checkShot() { return fopAcM_GetParam(this) == Mode_Shot; }
void setShot() { fopAcM_SetParam(this, Mode_Shot); }
bool checkReturn() { return fopAcM_GetParam(this) == Mode_Return; }
void setReturn() { fopAcM_SetParam(this, Mode_Return); }
bool checkPull() { return fopAcM_GetParam(this) == Mode_Pull; }
BOOL getObjHookFlg() const { return mObjHookFlg; }
void onObjHookFlg() { mObjHookFlg = TRUE; }
void offObjHookFlg() { mObjHookFlg = FALSE; }
bool checkShipRideFlg() const { return mShipRideFlg; }
daHookshot_c() {}
BOOL draw();
@@ -49,28 +59,26 @@ public:
BOOL hookshot_delete();
cPhs_State create();
public:
private:
/* 0x290 */ daHookshot_shape mShape;
/* 0x2A0 */ bool m2A0;
/* 0x2A1 */ u8 m2A1;
/* 0x2A2 */ u8 m2A2;
/* 0x2A2 */ bool mShipRideFlg;
/* 0x2A3 */ u8 m2A3;
/* 0x2A4 */ s16 m2A4;
/* 0x2A6 */ u16 m2A6;
/* 0x2A8 */ int mChainCnt;
/* 0x2AC */ u32 mMtrlSndId;
/* 0x2B0 */ int m2B0;
/* 0x2B4 */ s16 m2B4;
/* 0x2B6 */ s16 m2B6;
/* 0x2B8 */ s16 m2B8;
/* 0x2B0 */ BOOL mObjHookFlg;
/* 0x2B4 */ csXyz mHookAngle;
/* 0x2BA */ csXyz m2BA;
/* 0x2C0 */ cXyz mMoveVec;
/* 0x2CC */ cXyz m2CC;
/* 0x2CC */ cXyz mObjSightCrossPos;
/* 0x2D8 */ dBgS_RopeLinChk mLinChk;
/* 0x344 */ dBgS_ObjGndChk mGndChk;
/* 0x398 */ dCcD_Stts mStts;
/* 0x3D4 */ dCcD_Cps mCps;
/* 0x50C */ cXyz m50C;
/* 0x3D4 */ dCcD_Cps mSightCps;
/* 0x50C */ cXyz mCarryOffset;
/* 0x518 */ fpc_ProcID mCarryActorID;
/* 0x51C */ Mtx mMtx;
/* 0x54C */ ProcFunc mCurrProcFunc;
+4 -1
View File
@@ -257,7 +257,10 @@ public:
static u8 m_morf_frame;
static void onMabaFlg() { m_maba_flg = 1; }
static void offMabaFlg() { m_maba_flg = 0; }
static void offMabaFlg() {
m_maba_flg = 0;
m_maba_timer = 1;
}
static void decMabaTimer() { cLib_calcTimer(&m_maba_timer); }
static void decMorfFrame() { cLib_calcTimer(&m_morf_frame); }
static void getEyeMoveFlg() {}
+31 -31
View File
@@ -113,13 +113,13 @@ static BOOL daHookshot_Draw(daHookshot_c* i_this) {
void daHookshot_rockLineCallback(fopAc_ac_c* hookshot_actor, dCcD_GObjInf* objInf, fopAc_ac_c* collided_actor, dCcD_GObjInf*) {
daHookshot_c* i_this = (daHookshot_c*)hookshot_actor;
f32 f31 = objInf->GetAtHitPosP()->abs2(i_this->current.pos);
f32 f1 = i_this->m2CC.abs2(i_this->current.pos);
f32 f1 = i_this->getObjSightCrossPos()->abs2(i_this->current.pos);
if (f1 > f31) {
i_this->m2CC = *objInf->GetAtHitPosP();
i_this->setObjSightCrossPos(objInf->GetAtHitPosP());
if (fopAcM_CheckStatus(collided_actor, fopAcStts_UNK80000_e | fopAcStts_UNK200000_e | fopAcStts_UNK10000000_e)) {
i_this->m2B0 = 1;
i_this->onObjHookFlg();
} else {
i_this->m2B0 = 0;
i_this->offObjHookFlg();
}
}
}
@@ -127,12 +127,12 @@ void daHookshot_rockLineCallback(fopAc_ac_c* hookshot_actor, dCcD_GObjInf* objIn
/* 800F13E8-800F14CC .text procWait_init__12daHookshot_cFi */
BOOL daHookshot_c::procWait_init(BOOL playSe) {
daPy_lk_c* link = daPy_getPlayerLinkActorClass();
fopAcM_SetParam(this, 0);
fopAcM_SetParam(this, Mode_Wait);
mCurrProcFunc = &daHookshot_c::procWait;
mChainCnt = 0;
current.pos = link->getHookshotRootPos();
mCarryActorID = fpcM_ERROR_PROCESS_ID_e;
m2B0 = 0;
mObjHookFlg = FALSE;
if (playSe) {
mDoAud_seStart(JA_SE_LK_HS_WIND_UP_FIN, &link->current.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
}
@@ -148,61 +148,61 @@ BOOL daHookshot_c::procWait() {
mMtx[0][3] = current.pos.x;
mMtx[1][3] = current.pos.y;
mMtx[2][3] = current.pos.z;
m2B0 = 0;
mObjHookFlg = FALSE;
if (fopAcM_GetParam(this) == 1) {
if (fopAcM_GetParam(this) == Mode_Shot) {
int angleY = link->getBodyAngleY() + link->shape_angle.y;
int angleX = link->getBodyAngleX();
mMoveVec.x = cM_ssin(angleY) * cM_scos(angleX);
mMoveVec.y = -cM_ssin(angleX);
mMoveVec.z = cM_scos(angleY) * cM_scos(angleX);
mCps.ResetAtHit();
mCps.OffAtNoTgHitInfSet();
mCps.SetAtHitCallback(NULL);
mSightCps.ResetAtHit();
mSightCps.OffAtNoTgHitInfSet();
mSightCps.SetAtHitCallback(NULL);
cXyz r1_3C = current.pos - mMoveVec * 60.0f;
mLinChk.Set(&r1_3C, &current.pos, this);
m2A0 = true;
if (dComIfG_Bgsp()->LineCross(&mLinChk)) {
if (dComIfG_Bgsp()->ChkPolyHSStick(mLinChk)) {
fopAcM_SetParam(this, 3);
m2A2 = 0;
fopAcM_SetParam(this, Mode_Pull);
mShipRideFlg = false;
mCurrProcFunc = &daHookshot_c::procPlayerPull;
cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mLinChk);
m2B4 = cM_atan2s(triPla->GetNP()->y, triPla->GetNP()->absXZ());
m2B6 = cM_atan2s(-triPla->GetNP()->x, -triPla->GetNP()->z);
m2B8 = 0;
mHookAngle.x = cM_atan2s(triPla->GetNP()->y, triPla->GetNP()->absXZ());
mHookAngle.y = cM_atan2s(-triPla->GetNP()->x, -triPla->GetNP()->z);
mHookAngle.z = 0;
mMoveVec = cXyz::Zero;
} else {
fopAcM_SetParam(this, 2);
fopAcM_SetParam(this, Mode_Return);
mCurrProcFunc = &daHookshot_c::procReturn;
}
} else {
mMoveVec *= 7.0f;
mCps.SetStartEnd(r1_3C, current.pos);
mCps.SetR(5.0f);
mCps.CalcAtVec();
dComIfG_Ccsp()->Set(&mCps);
mSightCps.SetStartEnd(r1_3C, current.pos);
mSightCps.SetR(5.0f);
mSightCps.CalcAtVec();
dComIfG_Ccsp()->Set(&mSightCps);
// Using the inline breaks the match.
// dComIfG_Ccsp()->SetMass(&mCps, 1);
g_dComIfG_gameInfo.play.mCcS.SetMass(&mCps, 1);
g_dComIfG_gameInfo.play.mCcS.SetMass(&mSightCps, 1);
m2A3 = 0;
mCurrProcFunc = &daHookshot_c::procShot;
}
} else {
mCps.OnAtNoTgHitInfSet();
m2CC.set(
mSightCps.OnAtNoTgHitInfSet();
mObjSightCrossPos.set(
current.pos.x + cM_ssin(link->shape_angle.y) * 1500.0f * cM_scos(link->getBodyAngleX()),
current.pos.y - cM_ssin(link->getBodyAngleX()) * 1500.0f,
current.pos.z + cM_scos(link->shape_angle.y) * 1500.0f * cM_scos(link->getBodyAngleX())
);
mCps.SetStartEnd(current.pos, m2CC);
mCps.SetR(5.0f);
mCps.CalcAtVec();
mCps.SetAtHitCallback(daHookshot_rockLineCallback);
dComIfG_Ccsp()->Set(&mCps);
mSightCps.SetStartEnd(current.pos, mObjSightCrossPos);
mSightCps.SetR(5.0f);
mSightCps.CalcAtVec();
mSightCps.SetAtHitCallback(daHookshot_rockLineCallback);
dComIfG_Ccsp()->Set(&mSightCps);
}
return TRUE;
@@ -296,8 +296,8 @@ cPhs_State daHookshot_c::create() {
gravity = -5.0f;
mStts.Init(10, 0xFF, this);
mCps.Set(l_at_cps_src);
mCps.SetStts(&mStts);
mSightCps.Set(l_at_cps_src);
mSightCps.SetStts(&mStts);
int roomNo = dComIfGp_roomControl_getStayNo();
tevStr.mRoomNo = roomNo;
+1 -2
View File
@@ -88,8 +88,7 @@ BOOL daPy_lk_c::procFoodThrow_init() {
current.angle.y = shape_angle.y;
mVelocity = 0.0f;
daPy_matAnm_c::m_maba_flg = 0;
daPy_matAnm_c::m_maba_timer = 1;
daPy_matAnm_c::offMabaFlg();
setSingleMoveAnime(
ANM_ESAMAKI,
daPy_HIO_food_c0::m.field_0x4,
+63 -66
View File
@@ -19,25 +19,24 @@
/* 8014AB5C-8014ABA0 .text checkHookshotReturn__9daPy_lk_cFv */
BOOL daPy_lk_c::checkHookshotReturn() {
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
if ((mEquipItem != dItem_HOOKSHOT_e) || (hookshot == NULL)) {
return false;
} else {
return (fopAcM_GetParam(hookshot) == 3) || (fopAcM_GetParam(hookshot) == 2);
}
}
/* 8014ABA0-8014ABF4 .text setHookshotCarryOffset__9daPy_lk_cFUiPC4cXyz */
BOOL daPy_lk_c::setHookshotCarryOffset(fpc_ProcID param_0, const cXyz* param_1) {
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
if (mEquipItem != dItem_HOOKSHOT_e || hookshot == NULL) {
return false;
}
if (param_0 != hookshot->mCarryActorID) {
return hookshot->checkPull() || hookshot->checkReturn();
}
/* 8014ABA0-8014ABF4 .text setHookshotCarryOffset__9daPy_lk_cFUiPC4cXyz */
BOOL daPy_lk_c::setHookshotCarryOffset(fpc_ProcID carryActorID, const cXyz* offset) {
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
if (mEquipItem != dItem_HOOKSHOT_e || hookshot == NULL) {
return false;
}
hookshot->m50C = *param_1;
if (carryActorID != hookshot->getCarryActorID()) {
return false;
}
hookshot->setCarryOffset(offset);
return true;
}
@@ -56,7 +55,6 @@ void daPy_lk_c::setHookshotModel() {
/* 8014ACCC-8014B02C .text setHookshotSight__9daPy_lk_cFv */
void daPy_lk_c::setHookshotSight() {
/* Nonmatching - floats */
cXyz sp50(
cM_ssin(shape_angle.y) * cM_scos(mBodyAngle.x),
-cM_ssin(mBodyAngle.x),
@@ -67,29 +65,32 @@ void daPy_lk_c::setHookshotSight() {
sp38 = mHookshotRootPos + sp50 * 1500.0f;
sp44 = mHookshotRootPos - sp50 * 60.0f;
mRopeLinChk.Set(&sp44, &sp38, this);
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
BOOL r30 = dComIfG_Bgsp()->LineCross(&mRopeLinChk);
mSightPacket.onDrawFlg();
if (r30 || hookshot->mCps.ChkAtHit()) {
if (r30 || hookshot->getSightHit()) {
BOOL r3;
if (r30 && mHookshotRootPos.abs2(current.pos) > mRopeLinChk.GetCross().abs2(current.pos)) {
mSightPacket.setPos(&mHookshotRootPos);
r3 = FALSE;
} else if (!r30) {
mSightPacket.setPos(&hookshot->m2CC);
mSightPacket.setPos(hookshot->getObjSightCrossPos());
r3 = TRUE;
} else if (!hookshot->mCps.ChkAtHit()) {
} else if (!hookshot->getSightHit()) {
mSightPacket.setPos(&mRopeLinChk.GetCross());
r3 = FALSE;
} else if (mRopeLinChk.GetCross().abs2(mHookshotRootPos) > hookshot->m2CC.abs2(mHookshotRootPos)) {
mSightPacket.setPos(&hookshot->m2CC);
} else if (mRopeLinChk.GetCross().abs2(mHookshotRootPos) >
hookshot->getObjSightCrossPos()->abs2(mHookshotRootPos))
{
mSightPacket.setPos(hookshot->getObjSightCrossPos());
r3 = TRUE;
} else {
mSightPacket.setPos(&mRopeLinChk.GetCross());
r3 = FALSE;
}
if ((r3 && hookshot->m2B0) || (!r3 && dComIfG_Bgsp()->ChkPolyHSStick(mRopeLinChk))) {
if ((r3 && hookshot->getObjHookFlg()) || (!r3 && dComIfG_Bgsp()->ChkPolyHSStick(mRopeLinChk))) {
if (mSightPacket.getLockFlg()) {
mSightPacket.incFrame();
if (mSightPacket.checkSEFrame()) {
@@ -117,66 +118,64 @@ void daPy_lk_c::freeHookshotItem() {
if (hookshot == NULL) {
return;
}
if (fopAcM_GetParam(hookshot) == 0) {
if (hookshot->checkWait()) {
return;
}
fopAcM_SetParam(hookshot, 2);
hookshot->setReturn();
}
/* 8014B05C-8014B2B8 .text checkNextActionHookshotReady__9daPy_lk_cFv */
BOOL daPy_lk_c::checkNextActionHookshotReady() {
/* Nonmatching - sbss */
static JGeometry::TVec3<f32> eff_scale(1.0f, 1.0f, 0.0f);
static JGeometry::TVec3<f32> eff_dscale(0.2f, 0.2f, 0.2f);
static JGeometry::TVec3<f32> eff_pscale(0.4f, 0.4f, 0.4f);
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
if (fopAcM_GetParam(hookshot) == 0) {
if (((itemButton()) && (mEquipItem == getReadyItem())) && (m355C == 0)) {
if (hookshot->checkWait()) {
if (itemButton() && mEquipItem == getReadyItem() && m355C == 0) {
m355E = 1;
} else {
if ((!itemButton()) && (m355E != 0)) {
m355E = 0;
fopAcM_SetParam(hookshot, 1);
mVelocity = 0.0f;
daPy_matAnm_c::m_maba_flg = 0;
daPy_matAnm_c::m_maba_timer = 1;
seStartOnlyReverb(JA_SE_LK_HS_SHOOT);
voiceStart(41);
resetFootEffect();
if (m34B8 != 2) {
m34B8 = 2;
}
current.angle.y = shape_angle.y + 0x4000;
onModeFlg(ModeFlg_00000001);
m3598 = 0.0f;
setBlendAtnMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
mFrameCtrlUnder[UNDER_MOVE0_e].setRate(0.0f);
mFrameCtrlUnder[UNDER_MOVE1_e].setRate(0.0f);
mFrameCtrlUpper[UPPER_MOVE0_e].setRate(daPy_HIO_atnMove_c0::m.field_0x24);
mFrameCtrlUpper[UPPER_MOVE1_e].setRate(0.0f);
mFrameCtrlUpper[UPPER_MOVE2_e].setRate(0.0f);
return true;
} else if (!itemButton() && m355E != 0) {
m355E = 0;
hookshot->setShot();
mVelocity = 0.0f;
daPy_matAnm_c::offMabaFlg();
seStartOnlyReverb(JA_SE_LK_HS_SHOOT);
voiceStart(41);
resetFootEffect();
if (m34B8 != 2) {
m34B8 = 2;
}
current.angle.y = shape_angle.y + 0x4000;
onModeFlg(ModeFlg_00000001);
m3598 = 0.0f;
setBlendAtnMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
mFrameCtrlUnder[UNDER_MOVE0_e].setRate(0.0f);
mFrameCtrlUnder[UNDER_MOVE1_e].setRate(0.0f);
mFrameCtrlUpper[UPPER_MOVE0_e].setRate(daPy_HIO_atnMove_c0::m.field_0x24);
mFrameCtrlUpper[UPPER_MOVE1_e].setRate(0.0f);
mFrameCtrlUpper[UPPER_MOVE2_e].setRate(0.0f);
return true;
}
} else {
if (fopAcM_GetParam(hookshot) == 1) {
if ((itemTrigger()) && (mEquipItem == getReadyItem())) {
fopAcM_SetParam(hookshot, 2);
if (hookshot->checkShot()) {
if (itemTrigger() && mEquipItem == getReadyItem()) {
hookshot->setReturn();
}
return true;
}
if (fopAcM_GetParam(hookshot) == 2) {
if (hookshot->checkReturn()) {
return true;
}
if (fopAcM_GetParam(hookshot) == 3) {
if (hookshot->checkPull()) {
procHookshotFly_init();
return true;
}
}
if (m355C > 0) {
m355C--;
}
return cancelItemUpperReadyAnime();
}
@@ -219,7 +218,7 @@ BOOL daPy_lk_c::procHookshotSubject() {
}
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
if (fopAcM_GetParam(hookshot) == 0) {
if (hookshot->checkWait()) {
dComIfGp_setDoStatus(7);
}
@@ -229,13 +228,11 @@ BOOL daPy_lk_c::procHookshotSubject() {
mSightPacket.offDrawFlg();
if (checkNextMode(0) == 0 && fopAcM_GetParam(hookshot) == 0 && setBodyAngleToCamera() &&
fopAcM_GetParam(hookshot) == 0)
{
if (checkNextMode(0) == 0 && hookshot->checkWait() && setBodyAngleToCamera() && hookshot->checkWait()) {
setHookshotSight();
}
if (fopAcM_GetParam(hookshot) == 0) {
if (hookshot->checkWait()) {
dComIfGp_clearPlayerStatus0(0, daPyStts0_UNK40000_e);
} else {
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK40000_e);
@@ -258,7 +255,7 @@ BOOL daPy_lk_c::procHookshotMove_init() {
current.angle.y = shape_angle.y + 0x4000;
}
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
if (fopAcM_GetParam(hookshot) == 0) {
if (hookshot->checkWait()) {
setActAnimeUpper(LKANM_BCK_HOOKSHOTWAIT, UPPER_MOVE2_e, 1.0f, 0.0f, -1, -1.0f);
setBlendAtnMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
}
@@ -271,9 +268,10 @@ BOOL daPy_lk_c::procHookshotMove() {
if (!checkItemModeActorPointer()) {
return true;
}
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
mSightPacket.offDrawFlg();
if (fopAcM_GetParam(hookshot) == 0) {
if (hookshot->checkWait()) {
if (mpAttnActorLockOn != NULL) {
setSpeedAndAngleAtnActor();
} else if (m355E == 0 && !mpAttention->Lockon()) {
@@ -294,7 +292,7 @@ BOOL daPy_lk_c::procHookshotMove() {
} else {
offModeFlg(ModeFlg_00000001);
}
if (fopAcM_GetParam(hookshot) == 0) {
if (hookshot->checkWait()) {
setBlendAtnMoveAnime(fVar1);
setBodyAngleXReadyAnime();
}
@@ -304,7 +302,6 @@ BOOL daPy_lk_c::procHookshotMove() {
/* 8014B74C-8014B854 .text procHookshotFly_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procHookshotFly_init() {
/* Nonmatching - floats */
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
commonProcInit(daPyProc_HOOKSHOT_FLY_e);
for (int i = 0; i < 3; i++) {
@@ -334,11 +331,11 @@ BOOL daPy_lk_c::procHookshotFly() {
}
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
if (fopAcM_GetParam(hookshot) != 3) {
if ((hookshot->m2A2 != 0) && (procShipJumpRide_init())) {
if (!hookshot->checkPull()) {
if (hookshot->checkShipRideFlg() && procShipJumpRide_init()) {
return true;
}
if ((!mAcch.ChkGroundHit()) && (changeFrontWallTypeProc())) {
if (!mAcch.ChkGroundHit() && changeFrontWallTypeProc()) {
voiceStart(10);
return true;
}
+2 -4
View File
@@ -628,7 +628,6 @@ void daPy_lk_c::setTextureScrollResource(J3DAnmTextureSRTKey* btk, int r31) {
}
daPy_matAnm_c::setMorfFrame(3);
daPy_matAnm_c::offMabaFlg();
daPy_matAnm_c::setMabaTimer(1);
daPy_matAnm_c::setMabaTimer(75.0f + cM_rndF(30.0f));
}
@@ -2283,9 +2282,9 @@ BOOL daPy_lk_c::commonProcInit(daPy_PROC proc) {
m35EC = 0.0f;
if (mEquipItem == dItem_SKULL_HAMMER_e) {
mSwordAnim.changeBckOnly(getItemAnimeResource(0x97));
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_HAMMERDAM));
} else if (checkBowItem(mEquipItem) && !checkBowAnime()) {
mSwordAnim.changeBckOnly(getItemAnimeResource(0xD));
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_ARROWRELORDA));
}
m35E8 = 0.0f;
@@ -2365,7 +2364,6 @@ BOOL daPy_lk_c::procCall_init() {
commonProcInit(daPyProc_CALL_e);
mVelocity = 0.0f;
daPy_matAnm_c::offMabaFlg();
daPy_matAnm_c::setMabaTimer(1);
setSingleMoveAnime(ANM_YOBU, 1.0f, 0.0f, -1, daPy_HIO_basic_c0::m.field_0xC);
current.angle.y = shape_angle.y;
if (mEquipItem == daPyItem_BOKO_e) {
+1 -2
View File
@@ -54,8 +54,7 @@ BOOL daPy_lk_c::procPushPullWait_init(int param_0) {
if (checkEquipAnime()) {
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
}
daPy_matAnm_c::m_maba_flg = 0;
daPy_matAnm_c::m_maba_timer = 1;
daPy_matAnm_c::offMabaFlg();
setSingleMoveAnime(
ANM_WAITPUSHPULL, daPy_HIO_pushpull_c0::m.field_0x0, 0.0f, -1, daPy_HIO_pushpull_c0::m.field_0x4
);
+1 -2
View File
@@ -274,8 +274,7 @@ void daPy_lk_c::initShipCraneAnime() {
m3570 = 2;
m3574 = 2;
}
daPy_matAnm_c::m_maba_flg = 0;
daPy_matAnm_c::m_maba_timer = 1;
daPy_matAnm_c::offMabaFlg();
setSingleMoveAnime(dVar1, 1.0f, 0.0f, -1, 10.0f);
}
-2
View File
@@ -244,7 +244,6 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
commonProcInit(daPyProc_TACT_WAIT_e);
daPy_matAnm_c::offMabaFlg();
daPy_matAnm_c::setMabaTimer(1);
setSingleMoveAnime(ANM_WAITTAKT, daPy_HIO_tact_c0::m.mAnmRate, 0.0f, -1, daPy_HIO_tact_c0::m.field_0x4);
setActAnimeUpper(LKANM_BCK_WAITTAKT, UPPER_MOVE1_e, daPy_HIO_tact_c0::m.mAnmRate, 0.0f, -1, -1.0f);
mAnmRatioUpper[UPPER_MOVE1_e].setRatio(0.0f);
@@ -782,7 +781,6 @@ BOOL daPy_lk_c::procTactPlayOriginal_init() {
dComIfGp_setPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e);
m34D0 = 0;
daPy_matAnm_c::offMabaFlg();
daPy_matAnm_c::setMabaTimer(1);
setSingleMoveAnime(ANM_WAITTAKT, daPy_HIO_tact_c0::m.mAnmRate, 0.0f, -1, daPy_HIO_tact_c0::m.field_0x4);
m3570 = dComIfGp_event_getTactFreeMStick(m34D0);
+1 -2
View File
@@ -319,8 +319,7 @@ BOOL daPy_lk_c::procWHideReady() {
cLib_addCalc(&current.pos.x, m370C.x, 0.25f, 10.0f, 4.0f);
cLib_addCalc(&current.pos.z, m370C.z, 0.25f, 10.0f, 4.0f);
if (!cLib_addCalcAngleS(&shape_angle.y, m34D4, 2, 0x2000, 0x800)) {
daPy_matAnm_c::m_maba_flg = 0;
daPy_matAnm_c::m_maba_timer = 1;
daPy_matAnm_c::offMabaFlg();
procWHideWait_init();
}
}
+2 -2
View File
@@ -224,8 +224,8 @@ BOOL daRaceItem_c::execute() {
if (hitObj->ChkAtType(AT_TYPE_BOOMERANG)) {
cLib_onBit(field_0x645, (u8)0x01);
} else if (hitObj->ChkAtType(AT_TYPE_HOOKSHOT)) {
cXyz pos(0.0f, dItem_data::getH(m_itemNo) / 2.0f, 0.0f);
daPy_getPlayerActorClass()->setHookshotCarryOffset(fopAcM_GetID(this), &pos);
cXyz offset(0.0f, dItem_data::getH(m_itemNo) / 2.0f, 0.0f);
daPy_getPlayerActorClass()->setHookshotCarryOffset(fopAcM_GetID(this), &offset);
}
}
}