d_a_player_weapon.inc - All matching except floats. (#730)

Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
This commit is contained in:
123456789758
2025-04-01 14:30:48 -04:00
committed by GitHub
parent 2496ab825b
commit d484e5de53
+275 -12
View File
@@ -11,6 +11,7 @@
*/
#include "d/actor/d_a_player_main.h"
#include "d/actor/d_a_player_HIO.h"
#include "d/actor/d_a_boko.h"
/* 80153554-801535D8 .text setEnemyWeaponAtParam__9daPy_lk_cFi */
@@ -40,60 +41,322 @@ void daPy_lk_c::setEnemyWeaponAtParam(BOOL r4) {
/* 801535D8-8015372C .text procWeaponNormalSwing_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponNormalSwing_init() {
/* Nonmatching */
if (mActorKeepEquip.getActor() == NULL) {
return false;
} else {
commonProcInit(daPyProc_WEAPON_NORMAL_SWING_e);
setSingleMoveAnime(ANM_CUTBOKO, daPy_HIO_cutBoko_c0::m.field_0x10,
daPy_HIO_cutBoko_c0::m.field_0x18,
daPy_HIO_cutBoko_c0::m.field_0x6,
daPy_HIO_cutBoko_c0::m.field_0x34);
current.angle.y = shape_angle.y;
m3700 = cXyz::Zero;
m34C2 = 1;
voiceStart(1);
if ((mpAttention->Lockon()) || (mStickDistance <= 0.05f)) {
m34D4 = shape_angle.y;
} else {
m34D4 = m34E8;
}
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
m351E = m34DC;
setBlurPosResource(LKANM__CUTBOKO_POS);
setEnemyWeaponAtParam(0);
m34D0 = daPy_HIO_cutBoko_c0::m.field_0x4;
}
return true;
}
/* 8015372C-801539C8 .text procWeaponNormalSwing__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponNormalSwing() {
/* Nonmatching */
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
if ((swordButton()) && (mActorKeepEquip.getActor() != NULL)) {
onNoResetFlg0(daPyFlg0_UNK4);
} else {
offNoResetFlg0(daPyFlg0_UNK4);
}
if ((frameCtrl.getRate() < 0.0099999998f) ||
(mActorKeepEquip.getActor() == NULL)) {
if (mActorKeepEquip.getActor() == NULL) {
m34D0 = 0;
offNoResetFlg0(daPyFlg0_UNK4);
}
if ((int)m34D0 > 0) {
m34D0--;
} else {
mVelocity = 0.0f;
m34B8 = 3;
checkNextMode(0);
return true;
}
} else if (frameCtrl.getFrame() > daPy_HIO_cutBoko_c0::m.field_0x1C) {
f32 dVar4 = mVelocity;
u8 uVar1 = m34B8;
mVelocity = 0.0f;
m34B8 = 3;
if (checkNextMode(1)) {
return true;
}
mVelocity = dVar4;
m34B8 = uVar1;
}
if (changeCutReverseProc(ANM_CUTRER)) {
return true;
} else {
m34C2 = 1;
if (mpAttnActorLockOn != NULL) {
setShapeAngleToAtnActor();
m34D4 = shape_angle.y;
} else {
cLib_addCalcAngleS(&shape_angle.y, m34D4, daPy_HIO_turn_c0::m.field_0x4,
daPy_HIO_turn_c0::m.field_0x0,
daPy_HIO_turn_c0::m.field_0x2);
}
current.angle.y = shape_angle.y;
if (frameCtrl.checkPass(daPy_HIO_cutBoko_c0::m.field_0x38)) {
mVelocity = std::fabsf(speedF) * daPy_HIO_cutBoko_c0::m.field_0x20 +
daPy_HIO_cutBoko_c0::m.field_0x24;
}
if (frameCtrl.checkPass(daPy_HIO_cutBoko_c0::m.field_0x3C)) {
frameCtrl.setRate(daPy_HIO_cutBoko_c0::m.field_0x14);
}
if ((frameCtrl.getFrame() >= daPy_HIO_cutBoko_c0::m.field_0x40) &&
(frameCtrl.getFrame() < daPy_HIO_cutBoko_c0::m.field_0x44)) {
if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) {
onResetFlg0(daPyRFlg0_UNK1);
seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S);
}
onResetFlg0(daPyRFlg0_UNK2);
}
cLib_addCalc(&mVelocity, 0.0f, daPy_HIO_cutBoko_c0::m.field_0x30,
daPy_HIO_cutBoko_c0::m.field_0x28,
daPy_HIO_cutBoko_c0::m.field_0x2C);
}
return true;
}
/* 801539C8-80153A68 .text procWeaponSideSwing_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponSideSwing_init() {
/* Nonmatching */
commonProcInit(daPyProc_WEAPON_SIDE_SWING_e);
setSingleMoveAnime(ANM_HAMSWINGA, daPy_HIO_cutBoko_c0::m.field_0x48,
daPy_HIO_cutBoko_c0::m.field_0x4C,
daPy_HIO_cutBoko_c0::m.field_0x8,
daPy_HIO_cutBoko_c0::m.field_0x54);
current.angle.y = shape_angle.y;
mVelocity = 0.0f;
voiceStart(1);
m34D4 = shape_angle.y;
setBlurPosResource(LKANM__HAMMERSIDE_POS);
setEnemyWeaponAtParam(0);
return true;
}
/* 80153A68-80153C30 .text procWeaponSideSwing__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponSideSwing() {
/* Nonmatching */
if ((swordButton()) && (mActorKeepEquip.getActor() != NULL)) {
onNoResetFlg0(daPyFlg0_UNK4);
} else {
offNoResetFlg0(daPyFlg0_UNK4);
}
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) ||
(mActorKeepEquip.getActor() == NULL)) {
mVelocity = 0.0f;
m34B8 = 3;
checkNextMode(0);
return true;
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
daPy_HIO_cutBoko_c0::m.field_0x50) {
f32 dVar4 = mVelocity;
u8 uVar1 = m34B8;
mVelocity = 0.0f;
m34B8 = 3;
if (checkNextMode(1)) {
return true;
}
mVelocity = dVar4;
m34B8 = uVar1;
}
if (changeCutReverseProc(ANM_CUTREL)) {
return true;
} else {
if (mpAttnActorLockOn != NULL) {
setShapeAngleToAtnActor();
m34D4 = shape_angle.y;
} else {
cLib_addCalcAngleS(&shape_angle.y, m34D4, daPy_HIO_turn_c0::m.field_0x4,
daPy_HIO_turn_c0::m.field_0x0,
daPy_HIO_turn_c0::m.field_0x2);
}
current.angle.y = shape_angle.y;
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >=
daPy_HIO_cutBoko_c0::m.field_0x58) &&
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() <
daPy_HIO_cutBoko_c0::m.field_0x5C)) {
if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) {
onResetFlg0(daPyRFlg0_UNK1);
seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S);
}
onResetFlg0(daPyRFlg0_UNK2);
}
}
return true;
}
/* 80153C30-80153D1C .text procWeaponFrontSwingReady_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponFrontSwingReady_init() {
/* Nonmatching */
commonProcInit(daPyProc_WEAPON_FRONT_SWING_READY_e);
setSingleMoveAnime(ANM_HAMSWINGBPRE, daPy_HIO_cutBoko_c0::m.field_0x60,
daPy_HIO_cutBoko_c0::m.field_0x64,
daPy_HIO_cutBoko_c0::m.field_0xA,
daPy_HIO_cutBoko_c0::m.field_0x68);
current.angle.y = shape_angle.y;
mVelocity = 0.0f;
if ((mpAttention->Lockon()) || (mStickDistance <= 0.05f)) {
m34D4 = shape_angle.y;
} else {
m34D4 = m34E8;
}
setEnemyWeaponAtParam(0);
voiceStart(7);
return true;
}
/* 80153D1C-80153DBC .text procWeaponFrontSwingReady__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponFrontSwingReady() {
/* Nonmatching */
if (mActorKeepEquip.getActor() == NULL) {
return checkNextMode(0);
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
return procWeaponFrontSwing_init();
} else {
if (mpAttnActorLockOn != NULL) {
setShapeAngleToAtnActor();
m34D4 = shape_angle.y;
} else {
cLib_addCalcAngleS(&shape_angle.y, m34D4, daPy_HIO_turn_c0::m.field_0x4,
daPy_HIO_turn_c0::m.field_0x0,
daPy_HIO_turn_c0::m.field_0x2);
}
current.angle.y = shape_angle.y;
return true;
}
}
/* 80153DBC-80153ED8 .text procWeaponFrontSwing_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponFrontSwing_init() {
/* Nonmatching */
commonProcInit(daPyProc_WEAPON_FRONT_SWING_e);
setSingleMoveAnime(ANM_HAMSWINGBHIT, 4.0f * daPy_HIO_cutBoko_c0::m.field_0x6C,
daPy_HIO_cutBoko_c0::m.field_0x70,
daPy_HIO_cutBoko_c0::m.field_0xC, 0.0f);
current.angle.y = shape_angle.y;
mVelocity = 0.0f;
voiceStart(1);
if (mpAttention->Lockon() || (mStickDistance <= 0.05f)) {
m34D4 = shape_angle.y;
} else {
m34D4 = m34E8;
}
m34D4 = shape_angle.y;
setBlurPosResource(LKANM__HAMMERFRONT_POS);
setEnemyWeaponAtParam(0);
onResetFlg0(daPy_RFLG0(daPyRFlg0_UNK1 | daPyRFlg0_UNK2));
m34D0 = 0;
return true;
}
/* 80153ED8-80153FA0 .text procWeaponFrontSwing__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponFrontSwing() {
/* Nonmatching */
if (mActorKeepEquip.getActor() == NULL) {
return checkNextMode(0);
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
return procWeaponFrontSwingEnd_init();
} else {
if (changeCutReverseProc(ANM_CUTREL)) {
return true;
} else {
if (mpAttnActorLockOn != NULL) {
setShapeAngleToAtnActor();
m34D4 = shape_angle.y;
} else {
cLib_addCalcAngleS(&shape_angle.y, m34D4, daPy_HIO_turn_c0::m.field_0x4,
daPy_HIO_turn_c0::m.field_0x0,
daPy_HIO_turn_c0::m.field_0x2);
}
current.angle.y = shape_angle.y;
onResetFlg0(daPyRFlg0_UNK2);
return true;
}
}
}
/* 80153FA0-80154014 .text procWeaponFrontSwingEnd_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponFrontSwingEnd_init() {
/* Nonmatching */
commonProcInit(daPyProc_WEAPON_FRONT_SWING_END_e);
setSingleMoveAnime(ANM_HAMSWINGBEND, daPy_HIO_cutBoko_c0::m.field_0x74,
daPy_HIO_cutBoko_c0::m.field_0x78,
daPy_HIO_cutBoko_c0::m.field_0xE,
daPy_HIO_cutBoko_c0::m.field_0x80);
current.angle.y = shape_angle.y;
mVelocity = 0.0f;
setEnemyWeaponAtParam(0);
return true;
}
/* 80154014-801540B4 .text procWeaponFrontSwingEnd__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponFrontSwingEnd() {
/* Nonmatching */
if ((swordButton()) && (mActorKeepEquip.getActor() != NULL)) {
onNoResetFlg0(daPyFlg0_UNK4);
} else {
offNoResetFlg0(daPyFlg0_UNK4);
}
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) ||
(mActorKeepEquip.getActor() == NULL)) {
return checkNextMode(0);
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
daPy_HIO_cutBoko_c0::m.field_0x7C) {
return checkNextMode(1);
} else {
return true;
}
}
/* 801540B4-8015411C .text procWeaponThrow_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponThrow_init() {
/* Nonmatching */
commonProcInit(daPyProc_WEAPON_THROW_e);
setSingleMoveAnime(ANM_CUTA, 1.0f, 0.0f, -1, 5.0f);
current.angle.y = shape_angle.y;
mVelocity = 0.0f;
m34C2 = 1;
return true;
}
/* 8015411C-80154334 .text procWeaponThrow__9daPy_lk_cFv */
BOOL daPy_lk_c::procWeaponThrow() {
/* Nonmatching */
/* Nonmatching - floats */
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
if ((frameCtrl.getRate() < 0.0099999998f) ||
(mActorKeepEquip.getActor() == NULL)) {
checkNextMode(0);
} else if (frameCtrl.getFrame() > 100.0f) {
checkNextMode(1);
} else {
if (frameCtrl.checkPass(10.0f)) {
daBoko_c *boko = static_cast<daBoko_c *>(mActorKeepEquip.getActor());
s16 uVar2 = 0xf400;
if (mpAttnActorLockOn != NULL) {
cXyz local_34 = (mpAttnActorLockOn->eyePos - boko->current.pos);
f32 dVar5 = local_34.abs();
if (dVar5 >= 1.0f) {
dVar5 = local_34.absXZ();
uVar2 = cM_atan2s(-local_34.y, dVar5);
}
}
boko->m2BA = 1;
boko->m2CA = uVar2;
voiceStart(0);
deleteEquipItem(0);
}
return true;
}
}