Use cut type enum in more places

This commit is contained in:
LagoLunatic
2026-05-01 01:42:53 -04:00
parent b46f2904d1
commit e9093fda7f
8 changed files with 199 additions and 135 deletions
+14 -7
View File
@@ -241,13 +241,20 @@ 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() == 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 ||
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;
+16 -8
View File
@@ -441,14 +441,22 @@ 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() == 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 ||
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;
+16 -8
View File
@@ -557,14 +557,22 @@ BOOL body_atari_check(cc_class* i_this) {
return FALSE;
}
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 ||
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;
+49 -13
View File
@@ -37,19 +37,55 @@ static daKanban_HIO_c l_HIO;
static fopAc_ac_c* target_info[10];
static s32 target_info_count;
static s16 pl_cut_real_no_dt[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
static s16 pl_cut_real_no_dt[] = {
daPy_py_c::CUT_TYPE_NONE,
daPy_py_c::CUT_TYPE_CUT_A,
daPy_py_c::CUT_TYPE_CUT_F,
daPy_py_c::CUT_TYPE_CUT_R,
daPy_py_c::CUT_TYPE_CUT_L,
daPy_py_c::CUT_TYPE_BT_JUMPCUT,
daPy_py_c::CUT_TYPE_CUT_EA,
daPy_py_c::CUT_TYPE_CUT_EB,
daPy_py_c::CUT_TYPE_CUT_TURN,
daPy_py_c::CUT_TYPE_CUT_ROLL,
daPy_py_c::CUT_TYPE_JUMPCUT_SWORD,
daPy_py_c::CUT_TYPE_STICK,
daPy_py_c::CUT_TYPE_JUMPCUT_STICK,
daPy_py_c::CUT_TYPE_MACHETE,
daPy_py_c::CUT_TYPE_JUMPCUT_MACHETE,
daPy_py_c::CUT_TYPE_BT_ROLLCUT,
daPy_py_c::CUT_TYPE_BT_VERTICALJUMPCUT,
daPy_py_c::CUT_TYPE_HAMMER_SIDESWING,
daPy_py_c::CUT_TYPE_HAMMER_FRONTSWING,
daPy_py_c::CUT_TYPE_JUMPCUT_HAMMER,
daPy_py_c::CUT_TYPE_CLUB,
daPy_py_c::CUT_TYPE_JUMPCUT_CLUB,
daPy_py_c::CUT_TYPE_DN_SWORD,
daPy_py_c::CUT_TYPE_JUMPCUT_DN_SWORD,
daPy_py_c::CUT_TYPE_SPEAR,
daPy_py_c::CUT_TYPE_JUMPCUT_SPEAR,
daPy_py_c::CUT_TYPE_CUT_EXA,
daPy_py_c::CUT_TYPE_CUT_EXB,
daPy_py_c::CUT_TYPE_PG_SWORD,
daPy_py_c::CUT_TYPE_JUMPCUT_PG_SWORD,
daPy_py_c::CUT_TYPE_CUT_EXMJ,
daPy_py_c::CUT_TYPE_CUT_KESA,
};
// TODO: enum for this
static s16 pl_cut_no_dt[] = {255, 0, 4, 3, 3, 1, 0, 4, 4, 4, 1, 3, 1, 3, 1, 1, 1, 3, 1, 1, 0, 1, 0, 1, 0, 1, 1, 4, 0, 1, 1, 1};
static u32 cut_parts_arg_data[] = {
0x2000000, 0x4000000, 0x800000, 0x1000000,
0x7FE00000, 0x7FE00000, 0x7FE00000, 0x7FE00000,
0x4000000, 0x800000, 0x1000000, 0x10000000,
0x40000000, 0x7FE00000, 0x7FE00000, 0x7FE00000,
0x400000, 0x200000, 0x2000000, 0x4000000,
0x7FE00000, 0x7FE00000, 0x7FE00000, 0x7FE00000,
0x200000, 0x2000000, 0x4000000, 0x800000,
0x7FE00000, 0x7FE00000, 0x7FE00000, 0x7FE00000,
0x8000000, 0x400000, 0x200000, 0x2000000,
0x4000000, 0x800000, 0x1000000, 0x10000000,
0x02000000, 0x04000000, 0x00800000, 0x01000000,
0x7FE00000, 0x7FE00000, 0x7FE00000, 0x7FE00000,
0x04000000, 0x00800000, 0x01000000, 0x10000000,
0x40000000, 0x7FE00000, 0x7FE00000, 0x7FE00000,
0x00400000, 0x00200000, 0x02000000, 0x04000000,
0x7FE00000, 0x7FE00000, 0x7FE00000, 0x7FE00000,
0x00200000, 0x02000000, 0x04000000, 0x00800000,
0x7FE00000, 0x7FE00000, 0x7FE00000, 0x7FE00000,
0x08000000, 0x00400000, 0x00200000, 0x02000000,
0x04000000, 0x00800000, 0x01000000, 0x10000000,
};
/* 000000EC-0000012C .text __ct__14daKanban_HIO_cFv */
@@ -377,13 +413,13 @@ void mother_move(kanban_class* i_this) {
case AT_TYPE_SWORD: {
s32 i = 0;
for (; i < 32; i++) {
for (; i < ARRAY_SSIZE(pl_cut_real_no_dt); i++) {
if (pl_cut_real_no_dt[i] == player->getCutType()) {
break;
}
}
if (i < 32 && pl_cut_no_dt[i] != 0xFF) {
if (i < ARRAY_SSIZE(pl_cut_real_no_dt) && pl_cut_no_dt[i] != 0xFF) {
i_this->m2C4 = pl_cut_no_dt[i];
cut_point_check(i_this);
}
+96 -88
View File
@@ -1026,6 +1026,7 @@ u16 daNpc_Ji1_c::next_msgStatus(u32* pMsgNo) {
break;
default:
status = fopMsgStts_MSG_ENDS_e;
break;
}
return status;
@@ -2036,6 +2037,7 @@ u32 daNpc_Ji1_c::privateCut() {
break;
default:
end = true;
break;
}
if(end) {
@@ -2750,22 +2752,23 @@ BOOL daNpc_Ji1_c::teachAction(void*) {
if(field_0x7E0.ChkTgHit() && field_0xD6C != 1) {
switch(field_0xC24) {
case 0xF:
case daPy_py_c::CUT_TYPE_BT_ROLLCUT:
teachSubActionJumpInit();
break;
case 1:
case 6:
case 8:
case 9:
case daPy_py_c::CUT_TYPE_CUT_A:
case daPy_py_c::CUT_TYPE_CUT_EA:
case daPy_py_c::CUT_TYPE_CUT_TURN:
case daPy_py_c::CUT_TYPE_CUT_ROLL:
setAnm(8, 0.0f, 1);
break;
case 10:
case daPy_py_c::CUT_TYPE_JUMPCUT_SWORD:
setAnm(10, 0.0f, 1);
field_0xC9C = 0.0f;
field_0xD38 = current.pos;
break;
default:
setAnm(9, 0.0f, 1);
break;
}
if(checkCutType(field_0xC24, field_0xD70)) {
@@ -2811,7 +2814,7 @@ BOOL daNpc_Ji1_c::teachAction(void*) {
if(checkCutType(field_0xC8C, field_0xD70)) {
if(--field_0xC98 > 0) {
if(field_0xC94 == 0 && field_0xC98 > 0 && field_0xD34 == 0) {
if(field_0xC8C != 9) {
if(field_0xC8C != daPy_py_c::CUT_TYPE_CUT_ROLL) {
fopAcM_orderOtherEventId(this, mEventIdx[1]);
eventInfo.onCondition(dEvtCnd_UNK2_e);
field_0xC90 = 1;
@@ -2825,7 +2828,7 @@ BOOL daNpc_Ji1_c::teachAction(void*) {
field_0xD6C = 0;
}
}
else if(field_0xC8C != 9 && field_0xD34 == 0) {
else if(field_0xC8C != daPy_py_c::CUT_TYPE_CUT_ROLL && field_0xD34 == 0) {
if(field_0xD70 >= 5 || (field_0xD70 >= 2 && !dComIfGs_isEventBit(dSv_event_flag_c::UNK_0001))) {
if(dComIfGs_isEventBit(dSv_event_flag_c::UNK_0001) && dComIfGs_isEventBit(dSv_event_flag_c::UNK_2F10) == 0) {
field_0xC84 = 0xF;
@@ -2846,7 +2849,7 @@ BOOL daNpc_Ji1_c::teachAction(void*) {
field_0xD34 = 3;
}
}
else if(field_0xC8C != 9 && field_0xD34 == 0) {
else if(field_0xC8C != daPy_py_c::CUT_TYPE_CUT_ROLL && field_0xD34 == 0) {
fopAcM_orderOtherEventId(this, mEventIdx[3]);
eventInfo.onCondition(dEvtCnd_UNK2_e);
field_0xC90 = 2;
@@ -2890,7 +2893,7 @@ BOOL daNpc_Ji1_c::teachAction(void*) {
field_0x6B0.OffTgShield();
field_0x7E0.OnTgShield();
if(field_0xC8C != 9) {
if(field_0xC8C != daPy_py_c::CUT_TYPE_CUT_ROLL) {
if(field_0xC90 == 1 || field_0xC90 == 3) {
field_0xD6C = 0;
field_0xC9C = 0.0f;
@@ -3063,23 +3066,24 @@ BOOL daNpc_Ji1_c::teachSPRollCutAction(void*) {
field_0x7E0.OnTgShield();
if(field_0x7E0.ChkTgHit() && field_0xD6C != 1) {
switch(field_0xC24) {
case 1:
case 6:
case 8:
case daPy_py_c::CUT_TYPE_CUT_A:
case daPy_py_c::CUT_TYPE_CUT_EA:
case daPy_py_c::CUT_TYPE_CUT_TURN:
setAnm(8, 0.0f, 1);
break;
case 9:
case daPy_py_c::CUT_TYPE_CUT_ROLL:
break;
case 10:
case daPy_py_c::CUT_TYPE_JUMPCUT_SWORD:
setAnm(10, 0.0f, 1);
field_0xC9C = 0.0f;
field_0xD38 = current.pos;
break;
default:
setAnm(9, 0.0f, 1);
break;
}
if(field_0xC24 == 9) {
if(field_0xC24 == daPy_py_c::CUT_TYPE_CUT_ROLL) {
setHitParticle(0, 0x4833);
field_0xC9C = 0.0f;
field_0xD38 = current.pos;
@@ -3096,7 +3100,7 @@ BOOL daNpc_Ji1_c::teachSPRollCutAction(void*) {
if(field_0xD6C == 1) {
if(!player->getCutAtFlg() || mpOrcaMorf->getFrame() > mpOrcaMorf->getEndFrame() - 2.0f) {
if(field_0xC90 == 0) {
if(field_0xC8C == 9) {
if(field_0xC8C == daPy_py_c::CUT_TYPE_CUT_ROLL) {
field_0xC84 = 0xA;
setAction(&daNpc_Ji1_c::eventAction, 0);
@@ -3112,7 +3116,7 @@ BOOL daNpc_Ji1_c::teachSPRollCutAction(void*) {
}
}
if(mAnimation == 10 && field_0xC8C == 9) {
if(mAnimation == 10 && field_0xC8C == daPy_py_c::CUT_TYPE_CUT_ROLL) {
cLib_addCalc2(&field_0xC9C, l_HIO.field_0x34 * 2.0f, 0.25f, l_HIO.field_0x38);
cXyz temp(field_0xD38);
temp.x -= field_0xC9C * cM_ssin(current.angle.y);
@@ -3708,7 +3712,7 @@ BOOL daNpc_Ji1_c::battleSubActionGuard() {
cXyz temp = field_0xD38;
if(field_0xC24 != 5) {
if(field_0xC24 != daPy_py_c::CUT_TYPE_BT_JUMPCUT) {
temp.x -= field_0xC9C * cM_ssin(current.angle.y);
temp.z -= field_0xC9C * cM_scos(current.angle.y);
}
@@ -3785,19 +3789,19 @@ BOOL daNpc_Ji1_c::battleGuardCheck() {
if(field_0x7E0.ChkTgHit() && field_0xD6C != 1) {
switch(field_0xC24) {
case 0xF:
case 0x10:
case daPy_py_c::CUT_TYPE_BT_ROLLCUT:
case daPy_py_c::CUT_TYPE_BT_VERTICALJUMPCUT:
battleSubActionJumpInit();
break;
case 5:
case daPy_py_c::CUT_TYPE_BT_JUMPCUT:
current.angle.y += 0x8000;
battleSubActionDamageInit();
break;
case 0x1:
case 0x6:
case 0x8:
case 0x9:
case 0x1A: {
case daPy_py_c::CUT_TYPE_CUT_A:
case daPy_py_c::CUT_TYPE_CUT_EA:
case daPy_py_c::CUT_TYPE_CUT_TURN:
case daPy_py_c::CUT_TYPE_CUT_ROLL:
case daPy_py_c::CUT_TYPE_CUT_EXA: {
if(!isAttackAnim()) {
if(!checkSubAction(&daNpc_Ji1_c::battleSubActionNockBack)) {
setAnm(8, 0.0f, 1);
@@ -3829,32 +3833,32 @@ BOOL daNpc_Ji1_c::battleGuardCheck() {
break;
}
case 0xA:
case daPy_py_c::CUT_TYPE_JUMPCUT_SWORD:
battleSubActionJpGuardInit();
break;
case 0x0:
case 0x2:
case 0x3:
case 0x4:
case 0x7:
case 0xB:
case 0xC:
case 0xD:
case 0xE:
case 0x11:
case 0x12:
case 0x13:
case 0x14:
case 0x15:
case 0x16:
case 0x17:
case 0x18:
case 0x19:
case 0x1B:
case 0x1C:
case 0x1D:
case 0x1E:
case 0x1F:
case daPy_py_c::CUT_TYPE_NONE:
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_CUT_EB:
case daPy_py_c::CUT_TYPE_STICK:
case daPy_py_c::CUT_TYPE_JUMPCUT_STICK:
case daPy_py_c::CUT_TYPE_MACHETE:
case daPy_py_c::CUT_TYPE_JUMPCUT_MACHETE:
case daPy_py_c::CUT_TYPE_HAMMER_SIDESWING:
case daPy_py_c::CUT_TYPE_HAMMER_FRONTSWING:
case daPy_py_c::CUT_TYPE_JUMPCUT_HAMMER:
case daPy_py_c::CUT_TYPE_CLUB:
case daPy_py_c::CUT_TYPE_JUMPCUT_CLUB:
case daPy_py_c::CUT_TYPE_DN_SWORD:
case daPy_py_c::CUT_TYPE_JUMPCUT_DN_SWORD:
case daPy_py_c::CUT_TYPE_SPEAR:
case daPy_py_c::CUT_TYPE_JUMPCUT_SPEAR:
case daPy_py_c::CUT_TYPE_CUT_EXB:
case daPy_py_c::CUT_TYPE_PG_SWORD:
case daPy_py_c::CUT_TYPE_JUMPCUT_PG_SWORD:
case daPy_py_c::CUT_TYPE_CUT_EXMJ:
case daPy_py_c::CUT_TYPE_CUT_KESA:
default: {
&daNpc_Ji1_c::battleSubActionNockBack; // seems super fake, needed to match .data
if(!isAttackAnim()) {
@@ -3890,15 +3894,19 @@ BOOL daNpc_Ji1_c::battleGuardCheck() {
}
}
if(field_0xC24 == 0) {
if(field_0xC24 == daPy_py_c::CUT_TYPE_NONE) {
setGuardParticle();
}
else {
if(field_0xC24 == 0xF || field_0xC24 == 0x10 || field_0xC24 == 0x5) {
if(
field_0xC24 == daPy_py_c::CUT_TYPE_BT_ROLLCUT ||
field_0xC24 == daPy_py_c::CUT_TYPE_BT_VERTICALJUMPCUT ||
field_0xC24 == daPy_py_c::CUT_TYPE_BT_JUMPCUT
) {
fopAcM_seStart(this, JA_SE_LK_SW_CRT_HIT, 0);
static cXyz scale(1.25f, 1.25f, 1.25f);
if(field_0xC24 == 5) {
if(field_0xC24 == daPy_py_c::CUT_TYPE_BT_JUMPCUT) {
setHitParticle(&scale, JA_SE_CV_JI_FUTTOBI);
}
else {
@@ -4040,23 +4048,23 @@ BOOL daNpc_Ji1_c::battleAction(void*) {
}
/* 0000CA98-0000CC28 .text checkCutType__11daNpc_Ji1_cFii */
BOOL daNpc_Ji1_c::checkCutType(int param_1, int param_2) {
BOOL daNpc_Ji1_c::checkCutType(int cutType, int param_2) {
daPy_py_c* player = daPy_getPlayerActorClass();
BOOL ret = false;
switch(param_2) {
case 0:
switch(param_1) {
case 3:
case 4:
case 7:
case 0x1A:
case 0x1B:
case 0x1E:
case 0x1F:
switch(cutType) {
case daPy_py_c::CUT_TYPE_CUT_R:
case daPy_py_c::CUT_TYPE_CUT_L:
case daPy_py_c::CUT_TYPE_CUT_EB:
case daPy_py_c::CUT_TYPE_CUT_EXA:
case daPy_py_c::CUT_TYPE_CUT_EXB:
case daPy_py_c::CUT_TYPE_CUT_EXMJ:
case daPy_py_c::CUT_TYPE_CUT_KESA:
ret = true;
break;
case 8:
case daPy_py_c::CUT_TYPE_CUT_TURN:
if(player->checkComboCutTurn()) {
ret = true;
}
@@ -4067,16 +4075,16 @@ BOOL daNpc_Ji1_c::checkCutType(int param_1, int param_2) {
break;
case 1:
switch(param_1) {
case 1:
case 6:
case 0x1A:
case 0x1B:
case 0x1E:
case 0x1F:
switch(cutType) {
case daPy_py_c::CUT_TYPE_CUT_A:
case daPy_py_c::CUT_TYPE_CUT_EA:
case daPy_py_c::CUT_TYPE_CUT_EXA:
case daPy_py_c::CUT_TYPE_CUT_EXB:
case daPy_py_c::CUT_TYPE_CUT_EXMJ:
case daPy_py_c::CUT_TYPE_CUT_KESA:
ret = true;
break;
case 8:
case daPy_py_c::CUT_TYPE_CUT_TURN:
if(player->checkComboCutTurn()) {
ret = true;
}
@@ -4087,13 +4095,13 @@ BOOL daNpc_Ji1_c::checkCutType(int param_1, int param_2) {
break;
case 2:
switch(param_1) {
case 2:
case 6:
case 0x1A:
case 0x1B:
case 0x1E:
case 0x1F:
switch(cutType) {
case daPy_py_c::CUT_TYPE_CUT_F:
case daPy_py_c::CUT_TYPE_CUT_EA:
case daPy_py_c::CUT_TYPE_CUT_EXA:
case daPy_py_c::CUT_TYPE_CUT_EXB:
case daPy_py_c::CUT_TYPE_CUT_EXMJ:
case daPy_py_c::CUT_TYPE_CUT_KESA:
ret = true;
break;
case 8:
@@ -4107,9 +4115,9 @@ BOOL daNpc_Ji1_c::checkCutType(int param_1, int param_2) {
break;
case 3:
switch(param_1) {
case 8:
case 9:
switch(cutType) {
case daPy_py_c::CUT_TYPE_CUT_TURN:
case daPy_py_c::CUT_TYPE_CUT_ROLL:
ret = true;
break;
default:
@@ -4118,10 +4126,10 @@ BOOL daNpc_Ji1_c::checkCutType(int param_1, int param_2) {
break;
case 4:
switch(param_1) {
case 5:
case 0xF:
case 0x10:
switch(cutType) {
case daPy_py_c::CUT_TYPE_BT_JUMPCUT:
case daPy_py_c::CUT_TYPE_BT_ROLLCUT:
case daPy_py_c::CUT_TYPE_BT_VERTICALJUMPCUT:
ret = true;
break;
default:
@@ -4130,8 +4138,8 @@ BOOL daNpc_Ji1_c::checkCutType(int param_1, int param_2) {
break;
default:
switch(param_1) {
case 0xA:
switch(cutType) {
case daPy_py_c::CUT_TYPE_JUMPCUT_SWORD:
ret = true;
break;
}
+3 -3
View File
@@ -380,7 +380,7 @@ BOOL daObjShmrgrd_c::check_player_angle(fopAc_ac_c* ac) {
/* 00000EF4-0000102C .text set_damage__14daObjShmrgrd_cFv */
void daObjShmrgrd_c::set_damage() {
u8 attackState = daPy_getPlayerActorClass()->getCutType();
u8 cutType = daPy_getPlayerActorClass()->getCutType();
M_damage = 0;
M_damage_dir = 0;
mSttsTg.Move();
@@ -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 == daPy_py_c::CUT_TYPE_HAMMER_FRONTSWING || attackState == daPy_py_c::CUT_TYPE_JUMPCUT_HAMMER)) {
if (check_player_angle(hitActor) && (cutType == daPy_py_c::CUT_TYPE_HAMMER_FRONTSWING || cutType == daPy_py_c::CUT_TYPE_JUMPCUT_HAMMER)) {
M_damage = 1;
} else if (attackState == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
} else if (cutType == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
M_damage_dir = cM_atan2s(mCylTg.GetTgRVecP()->x, mCylTg.GetTgRVecP()->z);
M_damage = 2;
}
+3 -3
View File
@@ -207,16 +207,16 @@ void daObjSwhammer::Act_c::init_mtx() {
/* 00000938-00000A58 .text set_damage__Q213daObjSwhammer5Act_cFv */
void daObjSwhammer::Act_c::set_damage() {
u8 attackState = daPy_getPlayerActorClass()->getCutType();
u8 cutType = daPy_getPlayerActorClass()->getCutType();
M_damage = 0;
M_damage_dir = 0;
if (mCylTg.ChkTgHit()) {
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 == daPy_py_c::CUT_TYPE_HAMMER_FRONTSWING || attackState == daPy_py_c::CUT_TYPE_JUMPCUT_HAMMER) {
if (cutType == daPy_py_c::CUT_TYPE_HAMMER_FRONTSWING || cutType == daPy_py_c::CUT_TYPE_JUMPCUT_HAMMER) {
M_damage = 1;
} else if (attackState == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
} else if (cutType == daPy_py_c::CUT_TYPE_HAMMER_SIDESWING) {
M_damage_dir = cM_atan2s(mCylTg.GetTgRVecP()->x, mCylTg.GetTgRVecP()->z);
M_damage = 2;
}
+2 -5
View File
@@ -1168,10 +1168,7 @@ s32 daPy_lk_c::setItemModel() {
if (mpBottleContentsModel != NULL) {
if (mEquipItem == dItem_FIREFLY_BOTTLE_e) {
cXyz bottleScale; // ?
fVar1 =
1.0f + 0.1f * cM_ssin(cM_rad2s(
(37.699112f * mpEquipItemBrk->getFrame()) / mpEquipItemBrk->getFrameMax()
));
fVar1 = 1.0f + 0.1f * cM_ssin(cM_rad2s((37.699112f * mpEquipItemBrk->getFrame()) / mpEquipItemBrk->getFrameMax()));
bottleScale.setall(fVar1);
mDoMtx_stack_c::transS(11.0f, 0.0f, 0.0f);
mDoMtx_stack_c::revConcat(pMVar13);
@@ -1436,7 +1433,7 @@ s32 daPy_lk_c::setDrawHandModel() {
uVar5 = mRightHandIdx;
}
} else if ((mEquipItem == dItem_GRAPPLING_HOOK_e && !checkModeFlg(ModeFlg_ROPE)) ||
(mEquipItem == dItem_SKULL_HAMMER_e && mCutType == 0))
(mEquipItem == dItem_SKULL_HAMMER_e && mCutType == CUT_TYPE_NONE))
{
uVar4 = 3;
uVar5 = 8;