d_a_player - Add cut type enum (#966)

Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
This commit is contained in:
123456789758
2026-05-01 01:12:52 -04:00
committed by GitHub
parent c56b902ed1
commit b46f2904d1
24 changed files with 176 additions and 127 deletions
+35
View File
@@ -420,6 +420,41 @@ public:
daPyFace_UNKNOWN = 0xAD, // Not an index, this is a special value checked in checkNormalFace()
};
enum daPy_CUT_TYPE {
/* 0x00 */ CUT_TYPE_NONE,
/* 0x01 */ CUT_TYPE_CUT_A, // Slash once while targeting and not holding a direction
/* 0x02 */ CUT_TYPE_CUT_F, // Slash once while holding a single direction (not diagonal)
/* 0x03 */ CUT_TYPE_CUT_R, // Right slash
/* 0x04 */ CUT_TYPE_CUT_L, // Left slash
/* 0x05 */ CUT_TYPE_BT_JUMPCUT, // Jumping over an enemy's head, slashing it's head, and landing behind it
/* 0x06 */ CUT_TYPE_CUT_EA, // 4 slash combo while holding a direction
/* 0x07 */ CUT_TYPE_CUT_EB, // 4 slash combo while not holding a direction
/* 0x08 */ CUT_TYPE_CUT_TURN, // Spin attack
/* 0x09 */ CUT_TYPE_CUT_ROLL, // Hurricane Spin
/* 0x0A */ CUT_TYPE_JUMPCUT_SWORD,
/* 0x0B */ CUT_TYPE_STICK,
/* 0x0C */ CUT_TYPE_JUMPCUT_STICK,
/* 0x0D */ CUT_TYPE_MACHETE,
/* 0x0E */ CUT_TYPE_JUMPCUT_MACHETE,
/* 0x0F */ CUT_TYPE_BT_ROLLCUT, // Rolling behind an enemy and slashing it's back
/* 0x10 */ CUT_TYPE_BT_VERTICALJUMPCUT, // Jumping and stabbing the ground to hit an enemy
/* 0x11 */ CUT_TYPE_HAMMER_SIDESWING,
/* 0x12 */ CUT_TYPE_HAMMER_FRONTSWING,
/* 0x13 */ CUT_TYPE_JUMPCUT_HAMMER,
/* 0x14 */ CUT_TYPE_CLUB,
/* 0x15 */ CUT_TYPE_JUMPCUT_CLUB,
/* 0x16 */ CUT_TYPE_DN_SWORD,
/* 0x17 */ CUT_TYPE_JUMPCUT_DN_SWORD,
/* 0x18 */ CUT_TYPE_SPEAR,
/* 0x19 */ CUT_TYPE_JUMPCUT_SPEAR,
/* 0x1A */ CUT_TYPE_CUT_EXA, // 3 slash combo while slashing an enemy
/* 0x1B */ CUT_TYPE_CUT_EXB, // 4 slash combo while slashing an enemy
/* 0x1C */ CUT_TYPE_PG_SWORD,
/* 0x1D */ CUT_TYPE_JUMPCUT_PG_SWORD,
/* 0x1E */ CUT_TYPE_CUT_EXMJ, // 3 slash combo after parrying (slashing while spinning and jumping)
/* 0x1F */ CUT_TYPE_CUT_KESA, // 3 slash combo after parrying and holding right (slashing while spinning and standing)
};
/* 0x290 */ u8 mCutType;
/* 0x291 */ u8 mCutCount;
/* 0x292 */ u8 field_0x292[0x294 - 0x292];
+1 -1
View File
@@ -207,7 +207,7 @@ static void body_atari_check(am_class* i_this) {
i_this->mAction = ACTION_HANDOU_MOVE;
i_this->mMode = MODE_HANDOU_MOVE_INIT;
i_this->mHugeKnockback = 0;
if (player->getCutType() == 0x11) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
// If the player hits the Armos Knight with the Skull Hammer's side swing, knock it back much farther than normal.
i_this->mHugeKnockback = 1;
}
+10 -7
View File
@@ -241,11 +241,14 @@ static BOOL week_atari_check(am2_class* i_this) {
case AT_TYPE_DARKNUT_SWORD:
case AT_TYPE_MOBLIN_SPEAR:
fopAcM_seStart(actor, JA_SE_LK_SW_HIT_S, 0x35);
if (player->getCutType() == 0x06 || player->getCutType() == 0x07 || player->getCutType() == 0x08 ||
player->getCutType() == 0x09 || player->getCutType() == 0x0A || player->getCutType() == 0x0C ||
player->getCutType() == 0x0E || player->getCutType() == 0x0F || player->getCutType() == 0x10 ||
player->getCutType() == 0x15 || player->getCutType() == 0x19 || player->getCutType() == 0x1A ||
player->getCutType() == 0x1B || player->getCutType() == 0x1E || player->getCutType() == 0x1F)
if (player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EA || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EB ||
player->getCutType() == daPy_py_c::CUT_TYPE_CUT_TURN || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_ROLL ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_SWORD || player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_STICK ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_MACHETE || player->getCutType() == daPy_py_c::CUT_TYPE_BT_ROLLCUT ||
player->getCutType() == daPy_py_c::CUT_TYPE_BT_VERTICALJUMPCUT || player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_CLUB ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_SPEAR || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EXA ||
player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EXB || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EXMJ ||
player->getCutType() == daPy_py_c::CUT_TYPE_CUT_KESA)
{
hitType = 1;
i_this->m2CE = 1;
@@ -267,7 +270,7 @@ static BOOL week_atari_check(am2_class* i_this) {
fopAcM_seStart(actor, JA_SE_LK_HAMMER_HIT, 0x35);
hitType = 1;
i_this->m2CE = 7;
if (player->getCutType() == 0x11) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
i_this->m2CE = 8;
}
break;
@@ -352,7 +355,7 @@ static BOOL body_atari_check(am2_class* i_this) {
i_this->mAction = ACTION_HANDOU_MOVE;
i_this->mMode = 30;
i_this->m2CE = 7;
if (player->getCutType() == 0x11) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
i_this->m2CE = 8;
}
break;
+4 -4
View File
@@ -2015,7 +2015,7 @@ static void fight_run(bk_class* i_this) {
daBk_player_way_check(i_this) &&
(
r27 || (
player->getCutType() != 0 &&
player->getCutType() != daPy_py_c::CUT_TYPE_NONE &&
(cc_pl_cut_bit_get() & i_this->m1208) &&
attention.Lockon() &&
i_this == attention.LockonTarget(0)
@@ -2025,7 +2025,7 @@ static void fight_run(bk_class* i_this) {
if (i_this->m02D4 != 0 && (cM_rndF(1.0f) <= 0.5f || l_bkHIO.m008 != 0)) {
i_this->dr.mAction = 10;
i_this->dr.mMode = 0;
if (player->getCutType() == 0xA) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_SWORD) {
i_this->m0300[1] = 0x1E;
} else {
i_this->m0300[1] = 0x0F;
@@ -3645,7 +3645,7 @@ static void damage_check(bk_class* i_this) {
if (r3 < 0) {
r3 = -r3;
}
if (player->getCutType() == 5) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_BT_JUMPCUT) {
r27 = 2;
} else if ((u16)r3 > 0x4000) {
if (atInfo.mbDead) {
@@ -3662,7 +3662,7 @@ static void damage_check(bk_class* i_this) {
r27 = 5;
}
}
} else if (atInfo.mResultingAttackType == 9 && player->getCutType() == 17) {
} else if (atInfo.mResultingAttackType == 9 && player->getCutType() == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
r27 = 7;
cMtx_YrotS(*calc_mtx, player->shape_angle.y + 0x4000);
} else if (atInfo.mResultingAttackType == 2) {
+11 -6
View File
@@ -441,10 +441,15 @@ BOOL body_atari_check(bpw_class* i_this) {
case AT_TYPE_MACHETE:
case AT_TYPE_SWORD:
fopAcM_seStart(actor, JA_SE_LK_SW_HIT_S, 0x44);
if (player->getCutType() == 6 || player->getCutType() == 7 || player->getCutType() == 8 || player->getCutType() == 9 || player->getCutType() == 10 ||
player->getCutType() == 0xc || player->getCutType() == 0xe || player->getCutType() == 5 || player->getCutType() == 0xf ||
player->getCutType() == 0x10 || player->getCutType() == 0x15 || player->getCutType() == 0x17 || player->getCutType() == 0x19 ||
player->getCutType() == 0x1a || player->getCutType() == 0x1b || player->getCutType() == 0x1e || player->getCutType() == 0x1f)
if (player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EA || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EB ||
player->getCutType() == daPy_py_c::CUT_TYPE_CUT_TURN || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_ROLL ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_SWORD || player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_STICK ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_MACHETE || player->getCutType() == daPy_py_c::CUT_TYPE_BT_JUMPCUT ||
player->getCutType() == daPy_py_c::CUT_TYPE_BT_ROLLCUT || player->getCutType() == daPy_py_c::CUT_TYPE_BT_VERTICALJUMPCUT ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_CLUB || player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_DN_SWORD ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_SPEAR || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EXA ||
player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EXB || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EXMJ ||
player->getCutType() == daPy_py_c::CUT_TYPE_CUT_KESA)
{
i_this->m3DF = 2;
anm_init(i_this, BPW_BCK_BOYON_L1, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1);
@@ -476,7 +481,7 @@ BOOL body_atari_check(bpw_class* i_this) {
case AT_TYPE_SKULL_HAMMER:
fopAcM_seStart(actor, JA_SE_LK_HAMMER_HIT, 0x44);
i_this->m3DF = 8;
if (player->mCutType == 17) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
i_this->m3DF = 9;
}
anm_init(i_this, BPW_BCK_BOYON_L1, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1);
@@ -3403,7 +3408,7 @@ BOOL kantera_atari_check(bpw_class* i_this) {
actor->speedF = 60.0f;
actor->current.angle.y = player->shape_angle.y;
i_this->m3DF = 8;
if (player->mCutType == 17) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
i_this->m3DF = 9;
actor->current.angle.y = player->shape_angle.y + -0x4000;
}
+1 -1
View File
@@ -2521,7 +2521,7 @@ static BOOL daBtd_Execute(btd_class* i_this) {
}
}
local_6c = player->eyePos - actor->eyePos;
if (player->mCutType != 0) {
if (player->getCutType() != daPy_py_c::CUT_TYPE_NONE) {
fVar12 = local_6c.abs();
if (fVar12 < 400.0f) {
i_this->m02F8 = 0x14;
+10 -6
View File
@@ -557,11 +557,15 @@ BOOL body_atari_check(cc_class* i_this) {
return FALSE;
}
if (player->getCutType() == 6 || player->getCutType() == 7 || player->getCutType() == 8 || player->getCutType() == 9 ||
player->getCutType() == 10 || player->getCutType() == 0xc || player->getCutType() == 0xe || player->getCutType() == 5 ||
player->getCutType() == 0xf || player->getCutType() == 0x10 || player->getCutType() == 0x15 || player->getCutType() == 0x17 ||
player->getCutType() == 0x19 || player->getCutType() == 0x1a || player->getCutType() == 0x1b || player->getCutType() == 0x1e ||
player->getCutType() == 0x1f)
if (player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EA || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EB ||
player->getCutType() == daPy_py_c::CUT_TYPE_CUT_TURN || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_ROLL ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_SWORD || player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_STICK ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_MACHETE || player->getCutType() == daPy_py_c::CUT_TYPE_BT_JUMPCUT ||
player->getCutType() == daPy_py_c::CUT_TYPE_BT_ROLLCUT || player->getCutType() == daPy_py_c::CUT_TYPE_BT_VERTICALJUMPCUT ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_CLUB || player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_DN_SWORD ||
player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_SPEAR || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EXA ||
player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EXB || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EXMJ ||
player->getCutType() == daPy_py_c::CUT_TYPE_CUT_KESA)
{
i_this->m2F6 = 1;
}
@@ -637,7 +641,7 @@ BOOL body_atari_check(cc_class* i_this) {
i_this->m2F6 = 1;
if (player->getCutType() == 0x12 || player->getCutType() == 0x13) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_HAMMER_FRONTSWING || player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_HAMMER) {
i_this->m2F6 = 6;
}
+16 -16
View File
@@ -826,23 +826,23 @@ bool daFm_c::checkTgHit() {
case AT_TYPE_MOBLIN_SPEAR:
fopAcM_seStart(this, JA_SE_LK_SW_HIT_S, 0x20);
switch(player->getCutType()) {
case 0x10:
case daPy_py_c::CUT_TYPE_BT_VERTICALJUMPCUT:
mHitType = 0xC;
break;
case 0x05:
case 0x06:
case 0x07:
case 0x08:
case 0x09:
case 0x0A:
case 0x0C:
case 0x0E:
case 0x0F:
case 0x15:
case 0x17:
case 0x19:
case 0x1A:
case 0x1B:
case daPy_py_c::CUT_TYPE_BT_JUMPCUT:
case daPy_py_c::CUT_TYPE_CUT_EA:
case daPy_py_c::CUT_TYPE_CUT_EB:
case daPy_py_c::CUT_TYPE_CUT_TURN:
case daPy_py_c::CUT_TYPE_CUT_ROLL:
case daPy_py_c::CUT_TYPE_JUMPCUT_SWORD:
case daPy_py_c::CUT_TYPE_JUMPCUT_STICK:
case daPy_py_c::CUT_TYPE_JUMPCUT_MACHETE:
case daPy_py_c::CUT_TYPE_BT_ROLLCUT:
case daPy_py_c::CUT_TYPE_JUMPCUT_CLUB:
case daPy_py_c::CUT_TYPE_JUMPCUT_DN_SWORD:
case daPy_py_c::CUT_TYPE_JUMPCUT_SPEAR:
case daPy_py_c::CUT_TYPE_CUT_EXA:
case daPy_py_c::CUT_TYPE_CUT_EXB:
mHitType = 1;
break;
default:
@@ -876,7 +876,7 @@ bool daFm_c::checkTgHit() {
case AT_TYPE_STALFOS_MACE:
fopAcM_seStart(this, JA_SE_LK_HAMMER_HIT, 0x20);
mHitType = 8;
if(player->getCutType() == 0x11) {
if(player->getCutType() == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
mHitType = 9;
}
break;
+1 -1
View File
@@ -363,7 +363,7 @@ void mother_move(kanban_class* i_this) {
switch (hitObj->GetAtType()) {
case AT_TYPE_SKULL_HAMMER:
i_this->m29A = 2;
if (player->getCutType() != 17) {
if (player->getCutType() != daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
i_this->m29B = 0;
i_this->m2A4 = 0.0f;
i_this->m2A8 = 0.0f;
+3 -3
View File
@@ -302,7 +302,7 @@ BOOL body_atari_check(ks_class* i_this) {
break;
}
case AT_TYPE_SKULL_HAMMER: {
if (player->getCutType() == 0x12 || player->getCutType() == 0x13) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_HAMMER_FRONTSWING || player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_HAMMER) {
actor->speedF = 0.0f;
actor->gravity = 0.0f;
actor->speed.setall(0.0f);
@@ -1032,9 +1032,9 @@ void action_omoi(ks_class* i_this) {
if (
link->checkFrontRollCrash() ||
link->getCutType() == 8 ||
link->getCutType() == daPy_py_c::CUT_TYPE_CUT_TURN ||
#if VERSION > VERSION_DEMO
link->getCutType() == 9 ||
link->getCutType() == daPy_py_c::CUT_TYPE_CUT_ROLL ||
#endif
dComIfGp_checkPlayerStatus0(0, daPyStts0_SWIM_e)
) {
+3 -3
View File
@@ -3031,10 +3031,10 @@ BOOL daNpc_Ji1_c::teachSPRollCutAction(void*) {
s32 cutType = player->getCutType();
#if VERSION == VERSION_DEMO
if(cutType == 9)
if(cutType == daPy_py_c::CUT_TYPE_CUT_ROLL)
#else
f32 y_diff = std::fabsf(temp.y);
if(cutType == 9 && y_diff < 20.0f)
if(cutType == daPy_py_c::CUT_TYPE_CUT_ROLL && y_diff < 20.0f)
#endif
{
dComIfGs_onEventBit(dSv_event_flag_c::UNK_0B20);
@@ -3051,7 +3051,7 @@ BOOL daNpc_Ji1_c::teachSPRollCutAction(void*) {
return TRUE;
}
if(cutType == 8) {
if(cutType == daPy_py_c::CUT_TYPE_CUT_TURN) {
field_0xC84 = 0xB;
setAction(&daNpc_Ji1_c::eventAction, 0);
+10 -10
View File
@@ -236,16 +236,16 @@ void daObjBarrier_c::break_start_wait_proc() {
dComIfGs_getSelectEquip(0) == dItem_MASTER_SWORD_3_e)
{
switch (player_p->getCutType()) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case daPy_py_c::CUT_TYPE_CUT_A:
case daPy_py_c::CUT_TYPE_CUT_F:
case daPy_py_c::CUT_TYPE_CUT_R:
case daPy_py_c::CUT_TYPE_CUT_L:
case daPy_py_c::CUT_TYPE_BT_JUMPCUT: // ???
case daPy_py_c::CUT_TYPE_CUT_EA:
case daPy_py_c::CUT_TYPE_CUT_EB:
case daPy_py_c::CUT_TYPE_CUT_TURN:
case daPy_py_c::CUT_TYPE_CUT_ROLL:
case daPy_py_c::CUT_TYPE_JUMPCUT_SWORD:
dComIfGs_onEventBit(dSv_event_flag_c::BARRIER_BREAK);
mEventID = dComIfGp_evmng_getEventIdx("seal");
mBarrierProc = PROC_BREAK_ORDER;
+2 -2
View File
@@ -388,9 +388,9 @@ void daObjShmrgrd_c::set_damage() {
cCcD_Obj *hitObj = mCylTg.GetTgHitObj();
fopAc_ac_c* hitActor = mCylTg.GetTgHitAc();
if (hitObj->ChkAtType(AT_TYPE_SKULL_HAMMER) && fopAcM_GetProfName(hitActor) == PROC_PLAYER) {
if (check_player_angle(hitActor) && (attackState == 0x12 || attackState == 0x13)) {
if (check_player_angle(hitActor) && (attackState == daPy_py_c::CUT_TYPE_HAMMER_FRONTSWING || attackState == daPy_py_c::CUT_TYPE_JUMPCUT_HAMMER)) {
M_damage = 1;
} else if (attackState == 0x11) {
} else if (attackState == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
M_damage_dir = cM_atan2s(mCylTg.GetTgRVecP()->x, mCylTg.GetTgRVecP()->z);
M_damage = 2;
}
+2 -2
View File
@@ -214,9 +214,9 @@ void daObjSwhammer::Act_c::set_damage() {
cCcD_Obj *hitObj = mCylTg.GetTgHitObj();
fopAc_ac_c* hitActor = mCylTg.GetTgHitAc();
if (hitObj->ChkAtType(AT_TYPE_SKULL_HAMMER) && fopAcM_GetProfName(hitActor) == PROC_PLAYER) {
if (attackState == 0x12 || attackState == 0x13) {
if (attackState == daPy_py_c::CUT_TYPE_HAMMER_FRONTSWING || attackState == daPy_py_c::CUT_TYPE_JUMPCUT_HAMMER) {
M_damage = 1;
} else if (attackState == 0x11) {
} else if (attackState == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
M_damage_dir = cM_atan2s(mCylTg.GetTgRVecP()->x, mCylTg.GetTgRVecP()->z);
M_damage = 2;
}
+1 -1
View File
@@ -426,7 +426,7 @@ void daObj_Warpt_c::checkHitSE() {
case AT_TYPE_PGANON_SWORD:
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
s32 cutType = player->getCutType();
if (cutType != 8 && cutType != 9) {
if (cutType != daPy_py_c::CUT_TYPE_CUT_TURN && cutType != daPy_py_c::CUT_TYPE_CUT_ROLL) {
fopAcM_seStart(this, JA_SE_OBJ_COL_SWM_NSTPOT, 0);
daObj::HitEff_hibana(this, &mCyl1);
}
+3 -3
View File
@@ -173,7 +173,7 @@ BOOL daPy_lk_c::procBtJumpCut_init(cXyz* param_0) {
dComIfGp_setPlayerStatus0(0, (daPyStts0_UNK2_e | daPyStts0_UNK400_e));
voiceStart(1);
setBlurPosResource(LKANM__BTJUMPCUT_POS);
setExtraFinishCutAtParam(5);
setExtraFinishCutAtParam(CUT_TYPE_BT_JUMPCUT);
dComIfGp_getVibration().StartShock(6, -0x21, cXyz(0.0f, 1.0f, 0.0f));
return true;
}
@@ -350,7 +350,7 @@ BOOL daPy_lk_c::procBtRollCut_init(cXyz* param_0) {
speed.y = m_HIO->mBattle.mBRoll.m.field_0x2C;
gravity = m_HIO->mBattle.mBRoll.m.field_0x30;
voiceStart(1);
setExtraFinishCutAtParam(15);
setExtraFinishCutAtParam(CUT_TYPE_BT_ROLLCUT);
offNoResetFlg0(daPyFlg0_NO_FALL_VOICE);
onResetFlg0(daPyRFlg0_UNK2);
onResetFlg0(daPyRFlg0_UNK1);
@@ -445,7 +445,7 @@ BOOL daPy_lk_c::procBtVerticalJumpCut_init() {
mpCutfBpk->setFrame(0.0f);
mpCutfBtk->setFrame(0.0f);
gravity = m_HIO->mBattle.mBVerJump.m.field_0x28;
setExtraFinishCutAtParam(16);
setExtraFinishCutAtParam(CUT_TYPE_BT_VERTICALJUMPCUT);
dComIfGp_setPlayerStatus0(0, (daPyStts0_UNK2_e | daPyStts0_UNK400_e));
return true;
}
+1 -1
View File
@@ -374,7 +374,7 @@ BOOL daPy_lk_c::procBottleOpen() {
onNoResetFlg1(daPyFlg1_FOREST_WATER_USE);
m3554 = 3;
}
setAtParam(AT_TYPE_WATER, 0, spl, 0, dCcG_AtHitMark_None_e, 0, 5.0f);
setAtParam(AT_TYPE_WATER, 0, spl, 0, dCcG_AtHitMark_None_e, CUT_TYPE_NONE, 5.0f);
} else if (
(mEquipItem == dItem_FAIRY_BOTTLE_e && frameCtrl.getFrame() >= m_HIO->mItem.mBottle.m.field_0x58) ||
(mEquipItem != dItem_FAIRY_BOTTLE_e && mEquipItem != dItem_FOREST_WATER_e && frameCtrl.getFrame() >= m_HIO->mItem.mBottle.m.field_0x4C)
+1 -1
View File
@@ -191,7 +191,7 @@ BOOL daPy_lk_c::procFanSwing_init() {
setFanModel();
mProcVar0.m3570 = 0;
voiceStart(7);
setAtParam(AT_TYPE_UNK2000000, 1, dCcG_At_Spl_UNK0, dCcG_SE_UNK4, dCcG_AtHitMark_Nrm_e, 0, 50.0f);
setAtParam(AT_TYPE_UNK2000000, 1, dCcG_At_Spl_UNK0, dCcG_SE_UNK4, dCcG_AtHitMark_Nrm_e, CUT_TYPE_NONE, 50.0f);
m35EC = m_HIO->mItem.mFan.m.field_0x10;
if (setShapeFanLeaf()) {
m34D0 = 1;
+4 -4
View File
@@ -182,7 +182,7 @@ BOOL daPy_lk_c::procHammerSideSwing_init() {
voiceStart(1);
m34D4 = shape_angle.y;
setBlurPosResource(LKANM__HAMMERSIDE_POS);
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK0, dCcG_SE_UNK5, dCcG_AtHitMark_Nrm_e, 17, 50.0f);
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK0, dCcG_SE_UNK5, dCcG_AtHitMark_Nrm_e, CUT_TYPE_HAMMER_SIDESWING, 50.0f);
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_HAMSWINGAA));
m35EC = m_HIO->mItem.mHam.m.field_0xC;
return true;
@@ -254,7 +254,7 @@ BOOL daPy_lk_c::procHammerFrontSwingReady_init() {
} else {
m34D4 = m34E8;
}
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK0, dCcG_SE_UNK5, dCcG_AtHitMark_Nrm_e, 18, 50.0f);
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK0, dCcG_SE_UNK5, dCcG_AtHitMark_Nrm_e, CUT_TYPE_HAMMER_FRONTSWING, 50.0f);
voiceStart(7);
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_HAMSWINGBPREA));
m35EC = m_HIO->mItem.mHam.m.field_0x24;
@@ -304,7 +304,7 @@ BOOL daPy_lk_c::procHammerFrontSwing_init() {
}
m34D4 = shape_angle.y;
setBlurPosResource(LKANM__HAMMERFRONT_POS);
mCutType = 18;
mCutType = CUT_TYPE_HAMMER_FRONTSWING;
offResetFlg0(daPyRFlg0_UNK8000000);
onResetFlg0(daPy_RFLG0(daPyRFlg0_UNK1 | daPyRFlg0_UNK2));
m34D0 = 0;
@@ -398,7 +398,7 @@ BOOL daPy_lk_c::procHammerFrontSwingEnd_init() {
);
current.angle.y = shape_angle.y;
mVelocity = 0.0f;
mCutType = 18;
mCutType = CUT_TYPE_HAMMER_FRONTSWING;
offResetFlg0(daPyRFlg0_UNK8000000);
return true;
}
+1 -1
View File
@@ -11363,7 +11363,7 @@ BOOL daPy_lk_c::execute() {
}
if (checkResetFlg0(daPyRFlg0_UNK8000000)) {
mCutType = 0;
mCutType = CUT_TYPE_NONE;
}
mResetFlg0 = 0;
+16 -16
View File
@@ -374,13 +374,13 @@ void daPy_lk_c::setJumpCutAtParam() {
radius = m_HIO->mCut.m.field_0x54;
m35FC = m_HIO->mCut.m.field_0x58;
}
setAtParam(AT_TYPE_SWORD, atp, dCcG_At_Spl_UNK1, dCcG_SE_UNK1, dCcG_AtHitMark_Big_e, 0xA, radius);
setAtParam(AT_TYPE_SWORD, atp, dCcG_At_Spl_UNK1, dCcG_SE_UNK1, dCcG_AtHitMark_Big_e, CUT_TYPE_JUMPCUT_SWORD, radius);
} else if (mEquipItem == dItem_SKULL_HAMMER_e) {
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK1, dCcG_SE_UNK5, dCcG_AtHitMark_Nrm_e, 0x13, 50.0f);
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK1, dCcG_SE_UNK5, dCcG_AtHitMark_Nrm_e, CUT_TYPE_JUMPCUT_HAMMER, 50.0f);
} else if (mActorKeepEquip.getActor()) {
setEnemyWeaponAtParam(TRUE);
} else {
setAtParam(AT_TYPE_MACHETE, 2, dCcG_At_Spl_UNK1, dCcG_SE_UNK1, dCcG_AtHitMark_Big_e, 0xE, 30.0f);
setAtParam(AT_TYPE_MACHETE, 2, dCcG_At_Spl_UNK1, dCcG_SE_UNK1, dCcG_AtHitMark_Big_e, CUT_TYPE_JUMPCUT_MACHETE, 30.0f);
}
}
@@ -582,7 +582,7 @@ BOOL daPy_lk_c::procCutA_init(s16 param_0) {
m351E = m34DC;
onNoResetFlg0(daPyFlg0_UNK4);
setBlurPosResource(LKANM__CUTA_POS);
setNormalCutAtParam(1);
setNormalCutAtParam(CUT_TYPE_CUT_A);
return true;
}
@@ -684,7 +684,7 @@ BOOL daPy_lk_c::procCutF_init(s16 param_0) {
m3522 = m_HIO->mCut.mCutF.m.field_0x0;
onNoResetFlg0(daPyFlg0_UNK4);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
setNormalCutAtParam(2);
setNormalCutAtParam(CUT_TYPE_CUT_F);
return true;
}
@@ -785,7 +785,7 @@ BOOL daPy_lk_c::procCutR_init(s16 param_0) {
onNoResetFlg0(daPyFlg0_UNK4);
setBlurPosResource(LKANM__CUTR_POS);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
setNormalCutAtParam(3);
setNormalCutAtParam(CUT_TYPE_CUT_R);
return true;
}
@@ -886,7 +886,7 @@ BOOL daPy_lk_c::procCutL_init(s16 param_0) {
onNoResetFlg0(daPyFlg0_UNK4);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
setBlurPosResource(LKANM__CUTL_POS);
setNormalCutAtParam(4);
setNormalCutAtParam(CUT_TYPE_CUT_L);
return true;
}
@@ -983,7 +983,7 @@ BOOL daPy_lk_c::procCutEA_init() {
voiceStart(1);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
setBlurPosResource(LKANM__CUTEA_POS);
setFinishCutAtParam(6);
setFinishCutAtParam(CUT_TYPE_CUT_EA);
m34C4 = 0;
m3522 = 0;
return true;
@@ -1067,7 +1067,7 @@ BOOL daPy_lk_c::procCutEB_init() {
voiceStart(1);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
setBlurPosResource(LKANM__CUTEB_POS);
setFinishCutAtParam(7);
setFinishCutAtParam(CUT_TYPE_CUT_EB);
m34C4 = 0;
m3522 = 0;
return true;
@@ -1148,7 +1148,7 @@ BOOL daPy_lk_c::procCutExA_init() {
voiceStart(1);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
setBlurPosResource(LKANM__CUTEXA_POS);
setExtraCutAtParam(26);
setExtraCutAtParam(CUT_TYPE_CUT_EXA);
m3522 = m_HIO->mCut.mCutExA.m.field_0x4;
return true;
}
@@ -1238,7 +1238,7 @@ BOOL daPy_lk_c::procCutExB_init() {
voiceStart(1);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
setBlurPosResource(LKANM__CUTEXB_POS);
setExtraFinishCutAtParam(27);
setExtraFinishCutAtParam(CUT_TYPE_CUT_EXB);
m34C4 = 0;
m3522 = 0;
return true;
@@ -1384,7 +1384,7 @@ BOOL daPy_lk_c::procCutTurn_init(int param_0) {
m3578 = 0;
voiceStart(1);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
mCutType = 8;
mCutType = CUT_TYPE_CUT_TURN;
offResetFlg0(daPyRFlg0_UNK8000000);
mAtCyl.SetR(m35A4 * 0.5f);
if (!checkNoResetFlg0(daPyFlg0_UNK80000000)) {
@@ -1504,7 +1504,7 @@ BOOL daPy_lk_c::procCutRoll_init() {
m3578 = 0;
seStartMapInfo(JA_SE_LK_V_KAITEN_S);
dComIfGp_setItemMagicCount(-2);
mCutType = 9;
mCutType = CUT_TYPE_CUT_ROLL;
mCutCount = 0;
offResetFlg0(daPyRFlg0_UNK8000000);
if (checkNormalSwordEquip()) {
@@ -2033,11 +2033,11 @@ BOOL daPy_lk_c::procCutExMJ_init(int param_0) {
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
if (m34C4 != 6) {
m3522 = m_HIO->mCut.mCutExMJ.m.field_0x2;
setExtraCutAtParam(30);
setExtraCutAtParam(CUT_TYPE_CUT_EXMJ);
} else {
m34C4 = 0;
m3522 = 0;
setExtraFinishCutAtParam(30);
setExtraFinishCutAtParam(CUT_TYPE_CUT_EXMJ);
}
speed.y = m_HIO->mCut.mCutExMJ.m.field_0x10;
gravity = m_HIO->mCut.mCutExMJ.m.field_0x14;
@@ -2135,7 +2135,7 @@ BOOL daPy_lk_c::procCutKesa_init() {
voiceStart(1);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
setBlurPosResource(LKANM__CUTKESA_POS);
setExtraCutAtParam(31);
setExtraCutAtParam(CUT_TYPE_CUT_KESA);
m3522 = m_HIO->mCut.mCutKesa.m.field_0x2;
return true;
}
+11 -11
View File
@@ -18,12 +18,12 @@
/* 80153554-801535D8 .text setEnemyWeaponAtParam__9daPy_lk_cFi */
void daPy_lk_c::setEnemyWeaponAtParam(BOOL r4) {
static const u8 cut_type[] = {
/* daBoko_c::Type_STICK_e */ 0x0B,
/* daBoko_c::Type_MACHETE_e */ 0x0D,
/* daBoko_c::Type_CLUB_e */ 0x14,
/* daBoko_c::Type_DN_SWORD_e */ 0x16,
/* daBoko_c::Type_SPEAR_e */ 0x18,
/* daBoko_c::Type_PG_SWORD_e */ 0x1C,
/* daBoko_c::Type_STICK_e */ CUT_TYPE_STICK,
/* daBoko_c::Type_MACHETE_e */ CUT_TYPE_MACHETE,
/* daBoko_c::Type_CLUB_e */ CUT_TYPE_CLUB,
/* daBoko_c::Type_DN_SWORD_e */ CUT_TYPE_DN_SWORD,
/* daBoko_c::Type_SPEAR_e */ CUT_TYPE_SPEAR,
/* daBoko_c::Type_PG_SWORD_e */ CUT_TYPE_PG_SWORD,
};
daBoko_c* boko = (daBoko_c*)mActorKeepEquip.getActor();
u8 cutType = cut_type[fopAcM_GetParam(boko)];
@@ -66,7 +66,7 @@ BOOL daPy_lk_c::procWeaponNormalSwing_init() {
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
m351E = m34DC;
setBlurPosResource(LKANM__CUTBOKO_POS);
setEnemyWeaponAtParam(0);
setEnemyWeaponAtParam(FALSE);
m34D0 = m_HIO->mCut.mCutBoko.m.field_0x4;
return true;
@@ -166,7 +166,7 @@ BOOL daPy_lk_c::procWeaponSideSwing_init() {
voiceStart(1);
m34D4 = shape_angle.y;
setBlurPosResource(LKANM__HAMMERSIDE_POS);
setEnemyWeaponAtParam(0);
setEnemyWeaponAtParam(FALSE);
return true;
}
@@ -244,7 +244,7 @@ BOOL daPy_lk_c::procWeaponFrontSwingReady_init() {
} else {
m34D4 = m34E8;
}
setEnemyWeaponAtParam(0);
setEnemyWeaponAtParam(FALSE);
voiceStart(7);
return true;
}
@@ -295,7 +295,7 @@ BOOL daPy_lk_c::procWeaponFrontSwing_init() {
}
m34D4 = shape_angle.y;
setBlurPosResource(LKANM__HAMMERFRONT_POS);
setEnemyWeaponAtParam(0);
setEnemyWeaponAtParam(FALSE);
onResetFlg0(daPy_RFLG0(daPyRFlg0_UNK1 | daPyRFlg0_UNK2));
m34D0 = 0;
return true;
@@ -342,7 +342,7 @@ BOOL daPy_lk_c::procWeaponFrontSwingEnd_init() {
);
current.angle.y = shape_angle.y;
mVelocity = 0.0f;
setEnemyWeaponAtParam(0);
setEnemyWeaponAtParam(FALSE);
return true;
}
+16 -16
View File
@@ -566,21 +566,21 @@ bool daRd_c::checkTgHit() {
fopAcM_seStart(this, JA_SE_LK_SW_HIT_S, 0x20);
switch (player->getCutType()) {
case 0x05:
case 0x06:
case 0x07:
case 0x08:
case 0x09:
case 0x0A:
case 0x0C:
case 0x0E:
case 0x0F:
case 0x10:
case 0x15:
case 0x17:
case 0x19:
case 0x1A:
case 0x1B:
case daPy_py_c::CUT_TYPE_BT_JUMPCUT:
case daPy_py_c::CUT_TYPE_CUT_EA:
case daPy_py_c::CUT_TYPE_CUT_EB:
case daPy_py_c::CUT_TYPE_CUT_TURN:
case daPy_py_c::CUT_TYPE_CUT_ROLL:
case daPy_py_c::CUT_TYPE_JUMPCUT_SWORD:
case daPy_py_c::CUT_TYPE_JUMPCUT_STICK:
case daPy_py_c::CUT_TYPE_JUMPCUT_MACHETE:
case daPy_py_c::CUT_TYPE_BT_ROLLCUT:
case daPy_py_c::CUT_TYPE_BT_VERTICALJUMPCUT:
case daPy_py_c::CUT_TYPE_JUMPCUT_CLUB:
case daPy_py_c::CUT_TYPE_JUMPCUT_DN_SWORD:
case daPy_py_c::CUT_TYPE_JUMPCUT_SPEAR:
case daPy_py_c::CUT_TYPE_CUT_EXA:
case daPy_py_c::CUT_TYPE_CUT_EXB:
mHitType = 1;
break;
default:
@@ -609,7 +609,7 @@ bool daRd_c::checkTgHit() {
case AT_TYPE_STALFOS_MACE:
fopAcM_seStart(this, JA_SE_LK_HAMMER_HIT, 0x20);
mHitType = 7;
if (player->getCutType() == 0x11) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
mHitType = 8;
}
break;
+13 -11
View File
@@ -16,23 +16,23 @@
u16 cc_pl_cut_bit_get() {
daPy_py_c* player = daPy_getPlayerActorClass();
u16 r3 = 0x00;
if (player->getCutType() == 1) {
if (player->getCutType() == daPy_py_c::CUT_TYPE_CUT_A) {
r3 = 0x01;
} else if (player->getCutType() == 2) {
} else if (player->getCutType() == daPy_py_c::CUT_TYPE_CUT_F) {
r3 = 0x02;
} else if (player->getCutType() == 3) {
} else if (player->getCutType() == daPy_py_c::CUT_TYPE_CUT_R) {
r3 = 0x04;
} else if (player->getCutType() == 4) {
} else if (player->getCutType() == daPy_py_c::CUT_TYPE_CUT_L) {
r3 = 0x08;
} else if (player->getCutType() == 5) {
} else if (player->getCutType() == daPy_py_c::CUT_TYPE_BT_JUMPCUT) {
r3 = 0x10;
} else if (player->getCutType() == 6) {
} else if (player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EA) {
r3 = 0x20;
} else if (player->getCutType() == 7) {
} else if (player->getCutType() == daPy_py_c::CUT_TYPE_CUT_EB) {
r3 = 0x40;
} else if (player->getCutType() == 8 || player->getCutType() == 9) {
} else if (player->getCutType() == daPy_py_c::CUT_TYPE_CUT_TURN || player->getCutType() == daPy_py_c::CUT_TYPE_CUT_ROLL) {
r3 = 0x80;
} else if (player->getCutType() == 10) {
} else if (player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_SWORD) {
r3 = 0x100;
}
return r3;
@@ -121,9 +121,11 @@ fopAc_ac_c* at_power_check(CcAtInfo* atInfo) {
atInfo->mHitSoundId = 1;
} else if (player->getCutCount() == 4) {
atInfo->mHitSoundId = 4;
} else if (player->getCutType() == 0xA) {
} else if (player->getCutType() == daPy_py_c::CUT_TYPE_JUMPCUT_SWORD) {
atInfo->mHitSoundId = 2;
} else if (player->getCutType() == 0x5 || player->getCutType() == 0xF || player->getCutType() == 0x10) {
} else if (player->getCutType() == daPy_py_c::CUT_TYPE_BT_JUMPCUT || player->getCutType() == daPy_py_c::CUT_TYPE_BT_ROLLCUT ||
player->getCutType() == daPy_py_c::CUT_TYPE_BT_VERTICALJUMPCUT)
{
atInfo->mHitSoundId = 3;
} else {
atInfo->mHitSoundId = 0;