mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
Use cut type enum in more places
This commit is contained in:
+14
-7
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user