mirror of https://github.com/zeldaret/tp.git
d_a_alink_HIO work (#2852)
* daAlink_c::jointControll OK * daalink debug work * checkpoint * fix casting * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * remaining functions + fixes round 1 * fixes round 2 * fixes round 3 * fixes round 4 * revert getNeckAimAngle for now
This commit is contained in:
parent
139722c731
commit
20e9957356
File diff suppressed because it is too large
Load Diff
|
|
@ -310,7 +310,7 @@ public:
|
|||
/* 800196A0 */ void drawBallModel(dKy_tevstr_c*);
|
||||
|
||||
bool checkWolfNoLock() const { return mFlags & fopEn_flag_WolfNoLock; }
|
||||
bool checkHeadLockFlg() const { return mFlags & fopEn_flag_HeadLock; }
|
||||
BOOL checkHeadLockFlg() const { return mFlags & fopEn_flag_HeadLock; }
|
||||
BOOL checkWolfBiteDamage() const { return mFlags & fopEn_flag_WolfBiteDamage; }
|
||||
bool checkWolfDownPullFlg() const { return mFlags & fopEn_flag_WolfDownPull; }
|
||||
bool checkDownFlg() { return mFlags & fopEn_flag_Down; }
|
||||
|
|
|
|||
|
|
@ -92,19 +92,19 @@ void JORReflexible::listenPropertyEvent(const JORPropertyEvent* pEvent) {
|
|||
case 'CMBX':
|
||||
if (pEvent->field_0x14 >= 4) {
|
||||
JORPropertyEvent* event = (JORPropertyEvent*)pEvent;
|
||||
JORServer::defSetVal(event->id, event->kind, event->field_0x18.U32);
|
||||
JORServer::defSetVal((void*)event->id, event->kind, event->field_0x18.U32);
|
||||
}
|
||||
break;
|
||||
case 'CHBX':
|
||||
if (pEvent->field_0x14 >= 4) {
|
||||
JORPropertyEvent* event = (JORPropertyEvent*)pEvent;
|
||||
JORServer::defSetBitVal(event->id, event->kind, (u16)event->field_0x18.U16[0], (u16)event->field_0x18.U16[1]);
|
||||
JORServer::defSetBitVal((void*)event->id, event->kind, (u16)event->field_0x18.U16[0], (u16)event->field_0x18.U16[1]);
|
||||
}
|
||||
break;
|
||||
case 'EDBX':
|
||||
JORPropertyEvent* event = (JORPropertyEvent*)pEvent;
|
||||
JSUMemoryInputStream stream(&event->field_0x18, event->field_0x14);
|
||||
stream >> event->id;
|
||||
stream >> (char*)event->id;
|
||||
break;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ BOOL daAlink_c::getE3Zhint() {
|
|||
return false;
|
||||
}
|
||||
|
||||
#include "d/actor/d_a_alink_HIO.inc"
|
||||
|
||||
/* 80452C50-80452C58 001250 0005+03 2/2 0/0 0/0 .sdata2 l_wArcName */
|
||||
static const char l_wArcName[] = "Wmdl";
|
||||
|
||||
|
|
@ -81,23 +83,6 @@ static const char l_sWShdArcName[] = "SWShd";
|
|||
/* 80452C90-80452C98 001290 0006+02 7/7 0/0 0/0 .sdata2 l_arcName */
|
||||
static const char l_arcName[] = "Alink";
|
||||
|
||||
#if DEBUG
|
||||
void daAlinkHIO_c::jumpStateUpdate(const cXyz* param_0, const cXyz* param_1, f32 param_2) {
|
||||
char buf[68];
|
||||
|
||||
f32 xDiff = param_0->x - param_1->x;
|
||||
f32 zDiff = param_0->z - param_1->z;
|
||||
JORMContext* ctx = attachJORMContext(8);
|
||||
ctx->startUpdateNode(this);
|
||||
sprintf(buf, "水平距離 %-8.3f", JMAFastSqrt(xDiff * xDiff + zDiff * zDiff));
|
||||
ctx->updateLabel(2, 0x4000006, buf);
|
||||
sprintf(buf, "最頂点 %-8.3f", param_2);
|
||||
ctx->updateLabel(2, 0x4000007, buf);
|
||||
ctx->endUpdateNode();
|
||||
releaseJORMContext(ctx);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 8009D884-8009D88C 0981C4 0008+00 0/0 0/0 13/13 .text getAlinkArcName__9daAlink_cFv */
|
||||
const char* daAlink_c::getAlinkArcName() {
|
||||
return l_arcName;
|
||||
|
|
@ -1797,7 +1782,17 @@ static dJntColData_c l_wolfJntColData[] = {
|
|||
|
||||
#include "d/actor/d_a_alink_swindow.inc"
|
||||
|
||||
#include "d/actor/d_a_alink_HIO.inc"
|
||||
/* 80140B88-80140B98 13B4C8 0010+00 1/1 0/0 0/0 .text __ct__12daAlinkHIO_cFv */
|
||||
daAlinkHIO_c::daAlinkHIO_c() {}
|
||||
|
||||
/* 80140B98-80140BD4 13B4D8 003C+00 1/1 0/0 0/0 .text __dt__17daAlinkHIO_wolf_cFv */
|
||||
daAlinkHIO_wolf_c::~daAlinkHIO_wolf_c() {}
|
||||
|
||||
/* 80140BD4-80140C10 13B514 003C+00 1/1 0/0 0/0 .text __dt__16daAlinkHIO_cut_cFv */
|
||||
daAlinkHIO_cut_c::~daAlinkHIO_cut_c() {}
|
||||
|
||||
/* 80140C10-80140C80 13B550 0070+00 1/0 0/0 0/0 .text __dt__12daAlinkHIO_cFv */
|
||||
daAlinkHIO_c::~daAlinkHIO_c() {}
|
||||
|
||||
/* 80450FC8-80450FCC -00001 0004+00 5/5 0/0 0/0 .sbss None */
|
||||
/* 80450FC8 0001+00 data_80450FC8 None */
|
||||
|
|
@ -1927,8 +1922,8 @@ int daAlink_c::jointControll(int param_0) {
|
|||
csXyz sp18(0, 0, 0);
|
||||
int var_r27 = 0;
|
||||
|
||||
J3DTransformInfo sp80;
|
||||
J3DTransformInfo sp60 = *field_0x2060->getOldFrameTransInfo(param_0);
|
||||
J3DTransformInfo jointTrans;
|
||||
J3DTransformInfo rootTrans = *field_0x2060->getOldFrameTransInfo(param_0);
|
||||
|
||||
Quaternion sp50;
|
||||
Quaternion sp40;
|
||||
|
|
@ -1962,7 +1957,7 @@ int daAlink_c::jointControll(int param_0) {
|
|||
|
||||
sp18.set(field_0x3080, 0, field_0x3082);
|
||||
sp10.set(2, 1, 0);
|
||||
sp80 = *field_0x2060->getOldFrameTransInfo(0);
|
||||
jointTrans = *field_0x2060->getOldFrameTransInfo(0);
|
||||
var_r27 |= 2;
|
||||
} else if (param_0 == 3) {
|
||||
sp18.set((field_0x30d6 + field_0x30b2), 0, field_0x30b0);
|
||||
|
|
@ -2022,12 +2017,12 @@ int daAlink_c::jointControll(int param_0) {
|
|||
sp18.set(field_0x3080, 0, field_0x3082);
|
||||
sp10.set(2, 0, 1);
|
||||
|
||||
sp80 = *field_0x2060->getOldFrameTransInfo(0);
|
||||
jointTrans = *field_0x2060->getOldFrameTransInfo(0);
|
||||
var_r27 |= 2;
|
||||
if (field_0x2f99 == 0x60) {
|
||||
sp80.mTranslate.x -= field_0x384c->x;
|
||||
sp80.mTranslate.y -= field_0x384c->y;
|
||||
sp80.mTranslate.z -= field_0x384c->z;
|
||||
jointTrans.mTranslate.x -= field_0x384c->x;
|
||||
jointTrans.mTranslate.y -= field_0x384c->y;
|
||||
jointTrans.mTranslate.z -= field_0x384c->z;
|
||||
}
|
||||
} else if (param_0 == 0x1B) {
|
||||
setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(param_0), mFootData1[0].field_0x6, 0, 0, 1, NULL);
|
||||
|
|
@ -2100,7 +2095,7 @@ int daAlink_c::jointControll(int param_0) {
|
|||
|
||||
J3DTransformInfo* var_r25;
|
||||
if ((var_r27 & 2)) {
|
||||
var_r25 = &sp80;
|
||||
var_r25 = &jointTrans;
|
||||
} else {
|
||||
var_r25 = field_0x2060->getOldFrameTransInfo(param_0);
|
||||
}
|
||||
|
|
@ -2112,7 +2107,7 @@ int daAlink_c::jointControll(int param_0) {
|
|||
spC = field_0x2060->getOldFrameQuaternion(param_0);
|
||||
}
|
||||
|
||||
mDoMtx_stack_c::transS(sp60.mTranslate.x, sp60.mTranslate.y, sp60.mTranslate.z);
|
||||
mDoMtx_stack_c::transS(rootTrans.mTranslate.x, rootTrans.mTranslate.y, rootTrans.mTranslate.z);
|
||||
mDoMtx_stack_c::quatM(&sp20);
|
||||
mDoMtx_stack_c::inverse();
|
||||
cMtx_concat(temp_r26, mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
|
||||
|
|
@ -2960,7 +2955,11 @@ s16 daAlink_c::getNeckAimAngle(cXyz* param_0, s16* param_1, s16* param_2, s16* p
|
|||
s16 sp18;
|
||||
s16 sp16 = field_0x2fe6 + mBodyAngle.y;
|
||||
if ((mProcID == PROC_GOAT_CATCH && mProcVar1.field_0x300a == 0) || (mProcID == PROC_HAND_PAT && mProcVar2.field_0x300c == 0)) {
|
||||
#if VERSION == VERSION_SHIELD_DEBUG
|
||||
sp16 += (s16)0x8000;
|
||||
#else
|
||||
sp16 -= (s16)0x8000;
|
||||
#endif
|
||||
}
|
||||
|
||||
cXyz sp28 = eyePos - field_0x34e0;
|
||||
|
|
@ -2996,25 +2995,25 @@ s16 daAlink_c::getNeckAimAngle(cXyz* param_0, s16* param_1, s16* param_2, s16* p
|
|||
var_r28 = cLib_minMaxLimit<s16>((s16)var_r28, -daAlinkHIO_wolf_c0::m.mMaxNeckTurnH, daAlinkHIO_wolf_c0::m.mMaxNeckTurnH);
|
||||
}
|
||||
} else {
|
||||
temp_r24 = cLib_minMaxLimit<s16>((s16)temp_r24, daAlinkHIO_basic_c0::m.mNeckMaxUp, daAlinkHIO_basic_c0::m.mNeckMaxDown);
|
||||
temp_r24 = cLib_minMaxLimit<s16>((s16)temp_r24, daAlinkHIO_basic_c0::m.mHeadMaxTurnUp, daAlinkHIO_basic_c0::m.mHeadMaxTurnDown);
|
||||
|
||||
s16 spC;
|
||||
s16 spA;
|
||||
if (dComIfGp_checkPlayerStatus1(0, 0x02000000)) {
|
||||
if (field_0x3020 == 1) {
|
||||
spC = -0x1000;
|
||||
spA = daAlinkHIO_basic_c0::m.mNeckMaxHorizontal;
|
||||
spA = daAlinkHIO_basic_c0::m.mHeadMaxTurnHorizontal;
|
||||
} else {
|
||||
spC = -daAlinkHIO_basic_c0::m.mNeckMaxHorizontal;
|
||||
spC = -daAlinkHIO_basic_c0::m.mHeadMaxTurnHorizontal;
|
||||
spA = 0x1000;
|
||||
}
|
||||
} else {
|
||||
if (checkGrabAnimeCarry()) {
|
||||
spC = 0;
|
||||
} else {
|
||||
spC = -daAlinkHIO_basic_c0::m.mNeckMaxHorizontal;
|
||||
spC = -daAlinkHIO_basic_c0::m.mHeadMaxTurnHorizontal;
|
||||
}
|
||||
spA = daAlinkHIO_basic_c0::m.mNeckMaxHorizontal;
|
||||
spA = daAlinkHIO_basic_c0::m.mHeadMaxTurnHorizontal;
|
||||
}
|
||||
|
||||
var_r28 = cLib_minMaxLimit<s16>((s16)var_r28, spC, spA);
|
||||
|
|
@ -3285,7 +3284,7 @@ void daAlink_c::setMoveSlantAngle() {
|
|||
s16 var_r29;
|
||||
s16 var_r28;
|
||||
|
||||
if ((mProcID == PROC_MOVE && temp_f31 > daAlinkHIO_move_c0::m.mRunChangeRate) || (mProcID == PROC_WOLF_MOVE && temp_f31 > daAlinkHIO_wlMove_c0::m.field_0x84)) {
|
||||
if ((mProcID == PROC_MOVE && temp_f31 > daAlinkHIO_move_c0::m.mRunChangeRate) || (mProcID == PROC_WOLF_MOVE && temp_f31 > daAlinkHIO_wlMove_c0::m.mIdleToWalkRate)) {
|
||||
var_r28 = cLib_minMaxLimit<s16>((s16)(field_0x2fe6 - shape_angle.y) * 2, -0xC00, 0xC00);
|
||||
if (abs(var_r28) > 0x800) {
|
||||
int var_r27;
|
||||
|
|
@ -3300,7 +3299,7 @@ void daAlink_c::setMoveSlantAngle() {
|
|||
var_r29 = 0;
|
||||
}
|
||||
|
||||
if ((mProcID == PROC_WOLF_MOVE && checkAttentionState()) || temp_f31 < daAlinkHIO_wlMove_c0::m.field_0x8C) {
|
||||
if ((mProcID == PROC_WOLF_MOVE && checkAttentionState()) || temp_f31 < daAlinkHIO_wlMove_c0::m.mStandbyRunToRunRate) {
|
||||
var_r28 = 0;
|
||||
}
|
||||
} else if ((mProcID == PROC_WOLF_WAIT || mProcID == PROC_WOLF_SWIM_MOVE) && shape_angle.y != field_0x2fe6) {
|
||||
|
|
@ -4579,9 +4578,9 @@ int daAlink_c::setStartProcInit() {
|
|||
} else if (checkSwimAction(1)) {
|
||||
if (start_mode == 1) {
|
||||
if (checkWolf()) {
|
||||
mNormalSpeed = 0.5f * daAlinkHIO_wlSwim_c0::m.field_0x50;
|
||||
mNormalSpeed = 0.5f * daAlinkHIO_wlSwim_c0::m.mMaxSpeed;
|
||||
} else {
|
||||
mNormalSpeed = 0.5f * daAlinkHIO_swim_c0::m.mMaxForwardSpeed;
|
||||
mNormalSpeed = 0.5f * daAlinkHIO_swim_c0::m.mForwardMaxSpeed;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4598,7 +4597,7 @@ int daAlink_c::setStartProcInit() {
|
|||
field_0x2f99 = 0;
|
||||
} else if (start_mode == 1) {
|
||||
if (checkWolf()) {
|
||||
mNormalSpeed = daAlinkHIO_wlMove_c0::m.field_0x84 * daAlinkHIO_wlMove_c0::m.field_0x64;
|
||||
mNormalSpeed = daAlinkHIO_wlMove_c0::m.mIdleToWalkRate * daAlinkHIO_wlMove_c0::m.mMaxSpeed;
|
||||
speedF = mNormalSpeed;
|
||||
procWolfMoveInit();
|
||||
} else {
|
||||
|
|
@ -4624,8 +4623,8 @@ int daAlink_c::setStartProcInit() {
|
|||
procCrawlMoveInit(0, 0);
|
||||
}
|
||||
} else if (checkWolf()) {
|
||||
if (mNormalSpeed > daAlinkHIO_wlMove_c0::m.field_0x64) {
|
||||
mNormalSpeed = daAlinkHIO_wlMove_c0::m.field_0x64;
|
||||
if (mNormalSpeed > daAlinkHIO_wlMove_c0::m.mMaxSpeed) {
|
||||
mNormalSpeed = daAlinkHIO_wlMove_c0::m.mMaxSpeed;
|
||||
}
|
||||
speedF = mNormalSpeed;
|
||||
procWolfMoveInit();
|
||||
|
|
@ -5131,12 +5130,12 @@ void daAlink_c::setPolygonSpeed() {
|
|||
f32 var_f29;
|
||||
if (temp_f27 < sp3C - 29.9f) {
|
||||
if (checkWolf()) {
|
||||
var_f29 = daAlinkHIO_wlMoveNoP_c0::m.field_0x8;
|
||||
var_f29 = daAlinkHIO_wlMoveNoP_c0::m.mMaxSpeed;
|
||||
} else {
|
||||
var_f29 = daAlinkHIO_move_c0::m.mMaxSpeed;
|
||||
}
|
||||
} else if (checkWolf()) {
|
||||
var_f29 = daAlinkHIO_wlSlide_c0::m.field_0x70;
|
||||
var_f29 = daAlinkHIO_wlSlide_c0::m.mClimbingMaxSpeedWeak;
|
||||
} else {
|
||||
var_f29 = daAlinkHIO_slide_c0::m.mMaxClimbSpeed;
|
||||
}
|
||||
|
|
@ -6600,7 +6599,7 @@ void daAlink_c::setFrameCtrl(daPy_frameCtrl_c* i_ctrl, u8 i_attr, s16 i_start, s
|
|||
if (checkZoraWearAbility()) {
|
||||
i_rate *= daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed;
|
||||
} else {
|
||||
i_rate *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate;
|
||||
i_rate *= daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -6795,14 +6794,14 @@ int daAlink_c::setDoubleAnime(f32 i_blendRate, f32 i_anmSpeedA, f32 i_anmSpeedB,
|
|||
if (i_anmA == ANM_WAIT_B && checkModeFlg(1)) {
|
||||
i_morf = daAlinkHIO_move_c0::m.mWaitBInterpolation;
|
||||
} else {
|
||||
i_morf = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
|
||||
i_morf = daAlinkHIO_basic_c0::m.mBasicInterpolation;
|
||||
}
|
||||
|
||||
if (checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
if (checkZoraWearAbility()) {
|
||||
i_morf *= (1.0f / daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed);
|
||||
} else {
|
||||
i_morf *= (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate);
|
||||
i_morf *= (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate);
|
||||
}
|
||||
}
|
||||
} else if (i_anmA == ANM_WAIT_B && checkModeFlg(1) && i_morf > 0.0f) {
|
||||
|
|
@ -6812,7 +6811,7 @@ int daAlink_c::setDoubleAnime(f32 i_blendRate, f32 i_anmSpeedA, f32 i_anmSpeedB,
|
|||
if (checkZoraWearAbility()) {
|
||||
i_morf *= (1.0f / daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed);
|
||||
} else {
|
||||
i_morf *= (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate);
|
||||
i_morf *= (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6881,7 +6880,7 @@ void daAlink_c::commonSingleAnime(J3DAnmTransform* param_0, J3DAnmTransform* par
|
|||
if (checkZoraWearAbility() && mProcID != PROC_FRONT_ROLL && mEquipItem == 0x103) {
|
||||
param_2 *= daAlinkHIO_magneBoots_c0::m.mWaterVelRateSword * (1.0f / daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed);
|
||||
} else if (!checkZoraWearAbility()) {
|
||||
param_2 *= daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate * (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate);
|
||||
param_2 *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate * (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -7101,7 +7100,7 @@ int daAlink_c::setUpperAnime(u16 i_anmResID, daAlink_c::daAlink_UPPER param_1, f
|
|||
}
|
||||
|
||||
if (!checkZoraWearAbility() && (checkEquipAnime() || checkCutDashAnime()) && (checkNoResetFlg0(FLG0_UNDERWATER) || !checkNoResetFlg0(FLG0_SWIM_UP))) {
|
||||
i_speed *= daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate * (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate);
|
||||
i_speed *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate * (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate);
|
||||
}
|
||||
|
||||
setFrameCtrl(&mUpperFrameCtrl[param_1], var_r30->getAttribute(), i_startFrame, i_endFrame, i_speed, var_f31);
|
||||
|
|
@ -7462,7 +7461,7 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) {
|
|||
var_f27 = 19.0f;
|
||||
}
|
||||
|
||||
var_f29 = daAlinkHIO_basic_c0::m.mWaitTurnSpeed;
|
||||
var_f29 = daAlinkHIO_basic_c0::m.mRotationASpeed;
|
||||
var_f28 = 0.85f + (0.001f * abs(sp8));
|
||||
if (var_f28 > 1.0f) {
|
||||
var_f28 = 1.0f;
|
||||
|
|
@ -8542,12 +8541,12 @@ void daAlink_c::setFrontWallType() {
|
|||
|
||||
if (checkWolf()) {
|
||||
if (checkModeFlg(2)) {
|
||||
hang_height = daAlinkHIO_wlAutoJump_c0::m.field_0x78;
|
||||
hang_height = daAlinkHIO_wlAutoJump_c0::m.mHangLimitHeight;
|
||||
} else {
|
||||
hang_height = daAlinkHIO_wlWallHang_c0::m.field_0x84;
|
||||
hang_height = daAlinkHIO_wlWallHang_c0::m.mClimbHeight;
|
||||
}
|
||||
small_jump_height = daAlinkHIO_wlWallHang_c0::m.field_0x7C;
|
||||
climb_height = daAlinkHIO_wlWallHang_c0::m.field_0x80;
|
||||
small_jump_height = daAlinkHIO_wlWallHang_c0::m.mSmallJumpHeight;
|
||||
climb_height = daAlinkHIO_wlWallHang_c0::m.mWallGrabHeight;
|
||||
} else {
|
||||
if (checkModeFlg(2)) {
|
||||
hang_height = daAlinkHIO_autoJump_c0::m.mHangHeightLimit;
|
||||
|
|
@ -8630,11 +8629,11 @@ void daAlink_c::setFrontWallType() {
|
|||
f32 sp14;
|
||||
f32 sp10;
|
||||
if (checkWolf()) {
|
||||
sp14 = 0.01f + daAlinkHIO_wlSwim_c0::m.field_0x7C;
|
||||
sp10 = daAlinkHIO_wlSwim_c0::m.field_0x94;
|
||||
sp14 = 0.01f + daAlinkHIO_wlSwim_c0::m.mClimbHeight;
|
||||
sp10 = daAlinkHIO_wlSwim_c0::m.mClimbBelowWaterSurface;
|
||||
} else {
|
||||
sp14 = 0.01f + daAlinkHIO_swim_c0::m.mClimbHeight;
|
||||
sp10 = daAlinkHIO_swim_c0::m.mUnderwaterClimbHeight;
|
||||
sp10 = daAlinkHIO_swim_c0::m.mClimbWaterSurfaceUnder;
|
||||
}
|
||||
|
||||
if (checkNoResetFlg0(FLG0_SWIM_UP)) {
|
||||
|
|
@ -9616,9 +9615,9 @@ void daAlink_c::setNormalSpeedF(f32 i_incSpeed, f32 param_1) {
|
|||
if (checkNoResetFlg3(FLG3_UNK_1000)) {
|
||||
f32 sp18;
|
||||
if (checkWolf()) {
|
||||
sp18 = daAlinkHIO_wlSwim_c0::m.field_0x48;
|
||||
sp18 = daAlinkHIO_wlSwim_c0::m.mStartHeight;
|
||||
} else {
|
||||
sp18 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
sp18 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
}
|
||||
|
||||
f32 sp14 = cLib_minMaxLimit<f32>((mWaterY - (30.0f + current.pos.y)) / (sp18 - 30.0f), 0.0f, 1.0f);
|
||||
|
|
@ -10623,9 +10622,9 @@ BOOL daAlink_c::checkAutoJumpAction() {
|
|||
f32 sp10;
|
||||
if (checkWolf()) {
|
||||
if (checkWolfDashMode()) {
|
||||
sp10 = daAlinkHIO_wlAutoJump_c0::m.field_0x44;
|
||||
sp10 = daAlinkHIO_wlAutoJump_c0::m.mJumpLimitSpeed;
|
||||
} else {
|
||||
sp10 = daAlinkHIO_wlAutoJump_c0::m.field_0x64;
|
||||
sp10 = daAlinkHIO_wlAutoJump_c0::m.mWeakJumpLimitSpeed;
|
||||
}
|
||||
sp18 = 0.0f;
|
||||
} else {
|
||||
|
|
@ -10701,7 +10700,7 @@ BOOL daAlink_c::checkAutoJumpAction() {
|
|||
}
|
||||
|
||||
if (checkWolf()) {
|
||||
return procWolfFallInit(1, daAlinkHIO_wlAutoJump_c0::m.field_0x54);
|
||||
return procWolfFallInit(1, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp);
|
||||
} else {
|
||||
return procFallInit(1, sp24);
|
||||
}
|
||||
|
|
@ -11106,11 +11105,11 @@ BOOL daAlink_c::checkUpperItemAction() {
|
|||
field_0x30f6--;
|
||||
|
||||
if (swordTrigger() || doTrigger()) {
|
||||
field_0x30f6 -= daAlinkHIO_damCaught_c0::m.field_0x16;
|
||||
field_0x30f6 -= daAlinkHIO_damCaught_c0::m.mInputFadeTime;
|
||||
}
|
||||
|
||||
if (checkInputOnR() && abs((s16)(mStickAngle - mPrevStickAngle)) > 0x1000) {
|
||||
field_0x30f6 -= daAlinkHIO_damCaught_c0::m.field_0x16;
|
||||
field_0x30f6 -= daAlinkHIO_damCaught_c0::m.mInputFadeTime;
|
||||
}
|
||||
|
||||
if (field_0x30f6 < 0 || !checkNoResetFlg0(FLG0_DK_CAUGHT)) {
|
||||
|
|
@ -12507,15 +12506,15 @@ void daAlink_c::initGravity() {
|
|||
if (checkWolf()) {
|
||||
if (checkModeFlg(MODE_SWIMMING)) {
|
||||
if (checkHeavyStateOn(1, 1)) {
|
||||
gravity = -daAlinkHIO_wlSwim_c0::m.field_0x9C;
|
||||
max_fall_speed = daAlinkHIO_wlSwim_c0::m.field_0xA0;
|
||||
gravity = -daAlinkHIO_wlSwim_c0::m.mHeavyBuoyancy;
|
||||
max_fall_speed = daAlinkHIO_wlSwim_c0::m.mHeavyMaxFallSpeed;
|
||||
} else {
|
||||
gravity = -daAlinkHIO_wlSwim_c0::m.field_0x60;
|
||||
max_fall_speed = daAlinkHIO_wlSwim_c0::m.field_0x58;
|
||||
gravity = -daAlinkHIO_wlSwim_c0::m.mBuoyancy;
|
||||
max_fall_speed = daAlinkHIO_wlSwim_c0::m.mMaxFallSpeed;
|
||||
}
|
||||
} else {
|
||||
gravity = daAlinkHIO_wlAutoJump_c0::m.field_0x58;
|
||||
max_fall_speed = daAlinkHIO_wlAutoJump_c0::m.field_0x5c;
|
||||
gravity = daAlinkHIO_wlAutoJump_c0::m.mGravity;
|
||||
max_fall_speed = daAlinkHIO_wlAutoJump_c0::m.mMaxFallSpeed;
|
||||
}
|
||||
} else if (checkModeFlg(MODE_SWIMMING) || checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
max_fall_speed = getSwimMaxFallSpeed();
|
||||
|
|
@ -12756,7 +12755,7 @@ void daAlink_c::posMove() {
|
|||
}
|
||||
|
||||
if (getZoraSwim() && !checkZoraWearAbility()) {
|
||||
speedF *= daAlinkHIO_swim_c0::m.mSurfaceSwimSpeedRate;
|
||||
speedF *= daAlinkHIO_swim_c0::m.mFloatUpSwimSpeedRate;
|
||||
}
|
||||
|
||||
f32 var_f31 = speedF;
|
||||
|
|
@ -12807,7 +12806,7 @@ void daAlink_c::posMove() {
|
|||
}
|
||||
|
||||
if (checkModeFlg(MODE_SWIMMING)) {
|
||||
cLib_chasePos(&field_0x3750, cXyz::Zero, daAlinkHIO_damSwim_c0::m.field_0x84);
|
||||
cLib_chasePos(&field_0x3750, cXyz::Zero, daAlinkHIO_damSwim_c0::m.mDeceleration);
|
||||
current.pos += field_0x3750;
|
||||
|
||||
if (checkNoResetFlg0(FLG0_SWIM_UP) && mProcID != PROC_SWIM_DIVE) {
|
||||
|
|
@ -12818,16 +12817,16 @@ void daAlink_c::posMove() {
|
|||
speed.y = 0.0f;
|
||||
} else if (checkWolf()) {
|
||||
if (checkHeavyStateOn(1, 1)) {
|
||||
speed.y += daAlinkHIO_wlSwim_c0::m.field_0x9C;
|
||||
speed.y += daAlinkHIO_wlSwim_c0::m.mHeavyBuoyancy;
|
||||
|
||||
if (speed.y > daAlinkHIO_wlSwim_c0::m.field_0xA4) {
|
||||
speed.y = daAlinkHIO_wlSwim_c0::m.field_0xA4;
|
||||
if (speed.y > daAlinkHIO_wlSwim_c0::m.mHeavyMaxSurfacingSpeed) {
|
||||
speed.y = daAlinkHIO_wlSwim_c0::m.mHeavyMaxSurfacingSpeed;
|
||||
}
|
||||
} else {
|
||||
speed.y += daAlinkHIO_wlSwim_c0::m.field_0x60;
|
||||
speed.y += daAlinkHIO_wlSwim_c0::m.mBuoyancy;
|
||||
|
||||
if (speed.y > daAlinkHIO_wlSwim_c0::m.field_0x5C) {
|
||||
speed.y = daAlinkHIO_wlSwim_c0::m.field_0x5C;
|
||||
if (speed.y > daAlinkHIO_wlSwim_c0::m.mMaxSurfacingSpeed) {
|
||||
speed.y = daAlinkHIO_wlSwim_c0::m.mMaxSurfacingSpeed;
|
||||
}
|
||||
}
|
||||
} else if (!checkEquipHeavyBoots() && getZoraSwim()) {
|
||||
|
|
@ -12845,9 +12844,9 @@ void daAlink_c::posMove() {
|
|||
speed.y += 1.0f;
|
||||
} else {
|
||||
if (checkZoraWearAbility() &&
|
||||
mWaterY > current.pos.y + daAlinkHIO_swim_c0::m.mNormalFloatDepth)
|
||||
mWaterY > current.pos.y + daAlinkHIO_swim_c0::m.mNormalBuoyancyWaterDepth)
|
||||
{
|
||||
speed.y += daAlinkHIO_swim_c0::m.mZoraFloatDepth;
|
||||
speed.y += daAlinkHIO_swim_c0::m.mZoraClothesBuoyancy;
|
||||
|
||||
if (speed.y < 0.0f) {
|
||||
speed.y = 0.0f;
|
||||
|
|
@ -13379,7 +13378,7 @@ BOOL daAlink_c::checkRestartRoom() {
|
|||
}
|
||||
} else if (mLinkAcch.ChkGroundHit() && field_0x2fbd == 2) {
|
||||
return procCoLavaReturnInit(1);
|
||||
} else if ((checkModeFlg(0x40000) || (checkNoResetFlg0(FLG0_UNK_80) && mWaterY - current.pos.y > daAlinkHIO_swim_c0::m.mInitHeight)) && fopAcM_GetRoomNo(this) == 0 && checkStageName("F_SP114")) {
|
||||
} else if ((checkModeFlg(0x40000) || (checkNoResetFlg0(FLG0_UNK_80) && mWaterY - current.pos.y > daAlinkHIO_swim_c0::m.mStartHeight)) && fopAcM_GetRoomNo(this) == 0 && checkStageName("F_SP114")) {
|
||||
return procCoSwimFreezeReturnInit();
|
||||
} else if (!checkCargoCarry() && (field_0x3174 == 4 || field_0x3174 == 10 || (-G_CM3D_F_INF == mLinkAcch.GetGroundH() && !checkModeFlg(0x40000)))) {
|
||||
BOOL temp_r28 = mWaterY > mLinkAcch.GetGroundH();
|
||||
|
|
@ -13557,7 +13556,7 @@ int daAlink_c::checkSceneChange(int exitID) {
|
|||
exit_speed = 10.0f;
|
||||
demo_stick = 0.6f;
|
||||
} else {
|
||||
exit_speed = daAlinkHIO_wlMoveNoP_c0::m.field_0x8;
|
||||
exit_speed = daAlinkHIO_wlMoveNoP_c0::m.mMaxSpeed;
|
||||
demo_stick = 1.0f;
|
||||
}
|
||||
} else if (mNormalSpeed < 10.0f || var_r3) {
|
||||
|
|
@ -13987,7 +13986,7 @@ BOOL daAlink_c::setItemActor() {
|
|||
setGrabItemActor(actor);
|
||||
dComIfGp_addSelectItemNum(mSelectItemId, -1);
|
||||
field_0x33e4 = 38.0f;
|
||||
setGrabUpperAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setGrabUpperAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
}
|
||||
}
|
||||
mEquipItem = fpcNm_ITEM_NONE;
|
||||
|
|
@ -14636,7 +14635,7 @@ void daAlink_c::setLight() {
|
|||
}
|
||||
} else {
|
||||
if (checkNoResetFlg1(FLG1_UNK_80)) {
|
||||
var_f31 = light_m->field_0xC;
|
||||
var_f31 = light_m->mPower;
|
||||
} else {
|
||||
var_f31 = 0.0f;
|
||||
}
|
||||
|
|
@ -14654,19 +14653,19 @@ void daAlink_c::setLight() {
|
|||
var_f29 = 0.2f;
|
||||
}
|
||||
|
||||
cLib_chaseF(&field_0x33fc, var_f31, light_m->field_0xC * var_f29);
|
||||
cLib_chaseF(&field_0x33fc, var_f31, light_m->mPower * var_f29);
|
||||
|
||||
cXyz spB8;
|
||||
f32 var_f27;
|
||||
if (field_0x33fc > 0.0f) {
|
||||
GXColor spF0 = {0x00, 0x00, 0x00, 0xFF};
|
||||
spF0.r = light_m->field_0x4;
|
||||
spF0.g = light_m->field_0x6;
|
||||
spF0.b = light_m->field_0x8;
|
||||
spF0.r = light_m->mColorR;
|
||||
spF0.g = light_m->mColorG;
|
||||
spF0.b = light_m->mColorB;
|
||||
|
||||
Vec spC4 = {0.0f, 0.0f, 0.0f};
|
||||
spC4.y = light_m->field_0x14;
|
||||
spC4.z = light_m->field_0x18;
|
||||
spC4.y = light_m->mYOffset;
|
||||
spC4.z = light_m->mZOffset;
|
||||
|
||||
f32 var_f26;
|
||||
if ((uintptr_t)light_m == (uintptr_t)&daAlinkHIO_wlLight_c0::m) {
|
||||
|
|
@ -14695,7 +14694,7 @@ void daAlink_c::setLight() {
|
|||
var_f26 = cM_sht2d(-shape_angle.y);
|
||||
}
|
||||
|
||||
dKy_WolfEyeLight_set(&spB8, var_f27 + light_m->field_0xA, var_f26, (light_m->field_0x10 * field_0x33fc) / light_m->field_0xC, &spF0, field_0x33fc, light_m->field_0x0, light_m->field_0x1);
|
||||
dKy_WolfEyeLight_set(&spB8, var_f27 + light_m->mXAngle, var_f26, (light_m->mWidth * field_0x33fc) / light_m->mPower, &spF0, field_0x33fc, light_m->mAngleAttenuationType, light_m->mDistanceAttenuationType);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -15034,7 +15033,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) {
|
|||
|
||||
if (((!checkEquipAnime() || !checkModeFlg(4)) && (!checkModeFlg(0x40000) || !checkWolfEnemyThrowAnime()) && !checkModeFlg(0x1000)) || (checkSwordTwirlAnime() && mProcID != PROC_ATN_ACTOR_WAIT && mProcID != PROC_ATN_ACTOR_MOVE) || (checkWolf() && checkFmChainGrabAnime() && checkModeFlg(0x40)) || checkNoResetFlg1(FLG1_UNK_10000000)) {
|
||||
if ((!checkDkCaught2Anime() || mProcID != PROC_DAMAGE) && !checkNoSetUpperAnime()) {
|
||||
resetUpperAnime(UPPER_2, daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
resetUpperAnime(UPPER_2, daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
}
|
||||
|
||||
if (checkBombItem(mEquipItem)) {
|
||||
|
|
@ -15158,7 +15157,7 @@ BOOL daAlink_c::commonProcInitNotSameProc(daAlink_PROC procID) {
|
|||
int daAlink_c::procPreActionUnequipInit(int i_procAfter, fopAc_ac_c* param_1) {
|
||||
commonProcInit(PROC_PREACTION_UNEQUIP);
|
||||
mNormalSpeed = 0.0f;
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
allUnequip(0);
|
||||
mProcVar4.field_0x3010 = 0;
|
||||
|
||||
|
|
@ -15335,7 +15334,7 @@ int daAlink_c::procWaitInit() {
|
|||
|
||||
commonProcInit(PROC_WAIT);
|
||||
mNormalSpeed = 0.0f;
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
current.angle.y = shape_angle.y;
|
||||
|
||||
if (var_r30) {
|
||||
|
|
@ -15399,7 +15398,7 @@ int daAlink_c::procMoveInit() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
setFootEffectProcType(3);
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -15417,8 +15416,8 @@ int daAlink_c::procMove() {
|
|||
setBlendMoveAnime(-1.0f);
|
||||
if (field_0x3174 != 8) {
|
||||
field_0x30a0 =
|
||||
cLib_minMaxLimit<s16>((s16)(field_0x2ff0 >> 1), daAlinkHIO_basic_c0::m.mNeckMaxUp,
|
||||
daAlinkHIO_basic_c0::m.mNeckMaxDown);
|
||||
cLib_minMaxLimit<s16>((s16)(field_0x2ff0 >> 1), daAlinkHIO_basic_c0::m.mHeadMaxTurnUp,
|
||||
daAlinkHIO_basic_c0::m.mHeadMaxTurnDown);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -15431,7 +15430,7 @@ int daAlink_c::procAtnMoveInit() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -15463,9 +15462,9 @@ int daAlink_c::procAtnActorWaitInit() {
|
|||
}
|
||||
|
||||
if (checkAtnWaitAnime()) {
|
||||
setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
} else {
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -15492,7 +15491,7 @@ int daAlink_c::procAtnActorMoveInit() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -15512,8 +15511,8 @@ int daAlink_c::procWaitTurnInit() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
setSingleAnimeBaseSpeed(ANM_STEP_TURN, daAlinkHIO_basic_c0::m.mWaitTurnSpeed,
|
||||
daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setSingleAnimeBaseSpeed(ANM_STEP_TURN, daAlinkHIO_basic_c0::m.mRotationASpeed,
|
||||
daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
if (checkEventRun()) {
|
||||
mNormalSpeed = 0.0f;
|
||||
}
|
||||
|
|
@ -15559,7 +15558,7 @@ int daAlink_c::procMoveTurnInit(int param_0) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
dComIfGp_setPlayerStatus0(0, 0x800);
|
||||
|
||||
if (param_0 != 0) {
|
||||
|
|
@ -15966,7 +15965,7 @@ int daAlink_c::procFrontRoll() {
|
|||
|
||||
if (checkInputOnR()) {
|
||||
cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_frontRoll_c0::m.mTurnRate,
|
||||
daAlinkHIO_frontRoll_c0::m.mTurnMaxAngle,
|
||||
daAlinkHIO_frontRoll_c0::m.mMaxTurnAngle,
|
||||
daAlinkHIO_frontRoll_c0::m.mTurnMinAngle);
|
||||
shape_angle.y = current.angle.y;
|
||||
}
|
||||
|
|
@ -17199,7 +17198,7 @@ int daAlink_c::procCoMetamorphoseInit() {
|
|||
setSingleAnimeWolfBase(WANM_TRANSFORM_TO_HUMAN);
|
||||
field_0x3588 = l_wolfBaseAnime;
|
||||
field_0x347c = 0.5f;
|
||||
field_0x3480 = daAlinkHIO_basic_c0::m.mWolfLinkTransformSpeed;
|
||||
field_0x3480 = daAlinkHIO_basic_c0::m.mWolfToLinkCancelFrame;
|
||||
mProcVar2.field_0x300c = shape_angle.x;
|
||||
|
||||
daMidna_c* midna = (daMidna_c*)getMidnaActor();
|
||||
|
|
@ -17217,7 +17216,7 @@ int daAlink_c::procCoMetamorphoseInit() {
|
|||
setSingleAnimeBase(ANM_TRANSFORM_TO_WOLF);
|
||||
setMetamorphoseModel(1);
|
||||
field_0x3588 = l_waitBaseAnime;
|
||||
field_0x3480 = daAlinkHIO_basic_c0::m.mLinkWolfTransformSpeed;
|
||||
field_0x3480 = daAlinkHIO_basic_c0::m.mLinkToWolfCancelFrame;
|
||||
|
||||
cXyz pos(current.pos.x + (cM_ssin(shape_angle.y) * 100.0f), current.pos.y + 300.0f,
|
||||
current.pos.z + (cM_scos(shape_angle.y) * 100.0f));
|
||||
|
|
@ -17299,7 +17298,7 @@ int daAlink_c::procCoMetamorphose() {
|
|||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14, -1.0f);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed, -1.0f);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, -1.0f);
|
||||
}
|
||||
|
|
@ -17345,7 +17344,7 @@ int daAlink_c::procCoMetamorphose() {
|
|||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14, -1.0f);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed, -1.0f);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, -1.0f);
|
||||
}
|
||||
|
|
@ -17462,7 +17461,7 @@ int daAlink_c::procCoMetamorphoseOnly() {
|
|||
mProcVar3.field_0x300e = 1;
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14,
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed,
|
||||
-1.0f);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, -1.0f);
|
||||
|
|
@ -17513,7 +17512,7 @@ int daAlink_c::procGoronRideWaitInit(fopAc_ac_c* param_0) {
|
|||
current.pos.z = param_0->current.pos.z;
|
||||
field_0x2f99 = 0x50;
|
||||
current.angle.y = shape_angle.y;
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -17544,7 +17543,7 @@ int daAlink_c::procGoronRideWait() {
|
|||
|
||||
var_f31 = 1.0f - var_f31;
|
||||
|
||||
setDoubleAnime(var_f31, daAlinkHIO_basic_c0::m.mWaitTurnSpeed, daAlinkHIO_move_c0::m.mWaitAnmSpeed, var_r28, ANM_WAIT, 2, -1.0f);
|
||||
setDoubleAnime(var_f31, daAlinkHIO_basic_c0::m.mRotationASpeed, daAlinkHIO_move_c0::m.mWaitAnmSpeed, var_r28, ANM_WAIT, 2, -1.0f);
|
||||
current.angle.y = shape_angle.y;
|
||||
}
|
||||
|
||||
|
|
@ -17985,13 +17984,13 @@ int daAlink_c::execute() {
|
|||
if (mProcID == PROC_HOOKSHOT_FLY) {
|
||||
var_f31 = current.pos.y - (field_0x598 * 0.5f);
|
||||
} else if (dComIfGp_checkPlayerStatus1(0, 0x2000000)) {
|
||||
var_f31 = (current.pos.y + -65.0f) - (daAlinkHIO_swim_c0::m.mInitHeight - 5.0f);
|
||||
var_f31 = (current.pos.y + -65.0f) - (daAlinkHIO_swim_c0::m.mStartHeight - 5.0f);
|
||||
} else {
|
||||
var_f31 = current.pos.y;
|
||||
}
|
||||
|
||||
if (!checkNoResetFlg0(FLG0_UNK_80) ||
|
||||
mWaterY - var_f31 <= daAlinkHIO_swim_c0::m.mInitHeight - 5.0f)
|
||||
mWaterY - var_f31 <= daAlinkHIO_swim_c0::m.mStartHeight - 5.0f)
|
||||
{
|
||||
swimOutAfter(0);
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -3149,13 +3149,11 @@ const daAlinkHIO_wlAtLock_c1 daAlinkHIO_wlAtLock_c0::m = {
|
|||
2.0f,
|
||||
20.0f,
|
||||
},
|
||||
{
|
||||
120,
|
||||
100.0f,
|
||||
550.0f,
|
||||
25.0f,
|
||||
85.0f,
|
||||
},
|
||||
120,
|
||||
100.0f,
|
||||
550.0f,
|
||||
25.0f,
|
||||
85.0f,
|
||||
80.0f,
|
||||
60.0f,
|
||||
120.0f,
|
||||
|
|
@ -3247,13 +3245,11 @@ const daAlinkHIO_wlPoint_c1 daAlinkHIO_wlPoint_c0::m = {
|
|||
3.0f,
|
||||
3.0f,
|
||||
},
|
||||
{
|
||||
20,
|
||||
1.0f,
|
||||
3.0f,
|
||||
5.0f,
|
||||
50.0f,
|
||||
},
|
||||
20,
|
||||
1.0f,
|
||||
3.0f,
|
||||
5.0f,
|
||||
50.0f,
|
||||
45.0f,
|
||||
65.0f,
|
||||
15.0f,
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* i_grabActor) {
|
|||
|
||||
setGrabItemActor(i_grabActor);
|
||||
field_0x33e4 = 38.0f;
|
||||
setGrabUpperAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setGrabUpperAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -459,7 +459,7 @@ int daAlink_c::procBoomerangMove() {
|
|||
|
||||
if (field_0x2f98 != 3) {
|
||||
field_0x2f98 = 3;
|
||||
var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
|
||||
var_f31 = daAlinkHIO_basic_c0::m.mBasicInterpolation;
|
||||
}
|
||||
} else {
|
||||
offModeFlg(1);
|
||||
|
|
|
|||
|
|
@ -290,7 +290,7 @@ int daAlink_c::commonBottleDrink(int param_0) {
|
|||
{
|
||||
if (checkAnmEnd(frameCtrl_p)) {
|
||||
if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_42_e) {
|
||||
setSingleAnimeParam(ANM_PICK_UP, &daAlinkHIO_pickUp_c0::m.field_0x14);
|
||||
setSingleAnimeParam(ANM_PICK_UP, &daAlinkHIO_pickUp_c0::m.mPlaceAnm);
|
||||
} else {
|
||||
allUnequip(mKeepItem == fpcNm_ITEM_KANTERA);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -640,7 +640,7 @@ int daAlink_c::procBowMove() {
|
|||
|
||||
if (field_0x2f98 != 3) {
|
||||
field_0x2f98 = 3;
|
||||
var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
|
||||
var_f31 = daAlinkHIO_basic_c0::m.mBasicInterpolation;
|
||||
}
|
||||
current.angle.y = shape_angle.y - 0x4000;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -365,7 +365,7 @@ int daAlink_c::procCopyRodMove() {
|
|||
|
||||
if (field_0x2f98 != 3) {
|
||||
field_0x2f98 = 3;
|
||||
var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
|
||||
var_f31 = daAlinkHIO_basic_c0::m.mBasicInterpolation;
|
||||
}
|
||||
} else {
|
||||
offModeFlg(1);
|
||||
|
|
|
|||
|
|
@ -177,8 +177,17 @@ bool daAlink_c::checkCutTurnInput() const {
|
|||
|
||||
/* 800D1424-800D1430 0CBD64 000C+00 7/7 0/0 0/0 .text getCutTurnDirection__9daAlink_cCFv
|
||||
*/
|
||||
// Debug version is correct, but breaks other versions due no longer inlining
|
||||
int daAlink_c::getCutTurnDirection() const {
|
||||
#if VERSION == VERSION_SHIELD_DEBUG
|
||||
if (field_0x3180 < 0) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
return field_0x3180 < 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 800D1430-800D1454 0CBD70 0024+00 17/17 0/0 0/0 .text resetCombo__9daAlink_cFi */
|
||||
|
|
|
|||
|
|
@ -449,7 +449,7 @@ BOOL daAlink_c::checkDamageAction() {
|
|||
if ((!checkModeFlg(0x70C52)) && (!checkWolf()) && (!checkDkCaught2Anime())) {
|
||||
setUpperAnimeBase(getMainBckData(ANM_HORSE_WAIT_D_B)->m_underID);
|
||||
setFacePriAnime(ANM_HORSE_WAIT_D_B);
|
||||
field_0x30f6 = daAlinkHIO_damCaught_c0::m.field_0x14;
|
||||
field_0x30f6 = daAlinkHIO_damCaught_c0::m.mGrabDuration;
|
||||
field_0x2f96 = 1;
|
||||
field_0x2f97 = 6;
|
||||
onNoResetFlg1(FLG1_UNK_100000);
|
||||
|
|
@ -831,8 +831,8 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
|
|||
var_r29->y,
|
||||
var_r29->z * var_f29 + var_r29->x * var_f30);
|
||||
|
||||
mProcVar2.field_0x300c = cLib_minMaxLimit<s16>(cM_atan2s(sp88.z, sp88.y), -daAlinkHIO_damNormal_c0::m.field_0x50, daAlinkHIO_damNormal_c0::m.field_0x50);
|
||||
mProcVar3.field_0x300e = cLib_minMaxLimit<s16>(cM_atan2s(sp88.x, -JMAFastSqrt(sp88.y * sp88.y + sp88.z * sp88.z)), -daAlinkHIO_damNormal_c0::m.field_0x52, daAlinkHIO_damNormal_c0::m.field_0x52);
|
||||
mProcVar2.field_0x300c = cLib_minMaxLimit<s16>(cM_atan2s(sp88.z, sp88.y), -daAlinkHIO_damNormal_c0::m.mFrontBackBodyMaxAngle, daAlinkHIO_damNormal_c0::m.mFrontBackBodyMaxAngle);
|
||||
mProcVar3.field_0x300e = cLib_minMaxLimit<s16>(cM_atan2s(sp88.x, -JMAFastSqrt(sp88.y * sp88.y + sp88.z * sp88.z)), -daAlinkHIO_damNormal_c0::m.mLeftRightBodyMaxAngle, daAlinkHIO_damNormal_c0::m.mLeftRightBodyMaxAngle);
|
||||
|
||||
if (freeze_player) {
|
||||
var_f31 = 0.0f;
|
||||
|
|
@ -850,23 +850,23 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
|
|||
|
||||
int direction = getDirectionFromAngle(cM_atan2s(-sp88.x, -sp88.z));
|
||||
if (direction == DIR_FORWARD) {
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_A, &daAlinkHIO_damNormal_c0::m.field_0x0);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x0.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_A, &daAlinkHIO_damNormal_c0::m.mFrontAnm);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.mFrontAnm.mCancelFrame;
|
||||
} else if (direction == DIR_BACKWARD) {
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_B, &daAlinkHIO_damNormal_c0::m.field_0x14);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x14.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_B, &daAlinkHIO_damNormal_c0::m.mRearAnm);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.mRearAnm.mCancelFrame;
|
||||
} else if (direction == DIR_LEFT) {
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_LEFT, &daAlinkHIO_damNormal_c0::m.field_0x28);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x28.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_LEFT, &daAlinkHIO_damNormal_c0::m.mLeftAnm);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.mLeftAnm.mCancelFrame;
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_RIGHT, &daAlinkHIO_damNormal_c0::m.field_0x3C);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x3C.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_RIGHT, &daAlinkHIO_damNormal_c0::m.mRightAnm);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.mRightAnm.mCancelFrame;
|
||||
}
|
||||
|
||||
current.angle.y = var_r29->atan2sX_Z();
|
||||
mProcVar4.field_0x3010 = current.angle.y;
|
||||
|
||||
mNormalSpeed = var_r29->absXZ() * daAlinkHIO_damNormal_c0::m.field_0x58 + daAlinkHIO_damNormal_c0::m.field_0x54;
|
||||
mNormalSpeed = var_r29->absXZ() * daAlinkHIO_damNormal_c0::m.mAttackSpeedRate + daAlinkHIO_damNormal_c0::m.mInitialSpeed;
|
||||
if (mNormalSpeed > daAlinkHIO_move_c0::m.mMaxSpeed) {
|
||||
mNormalSpeed = daAlinkHIO_move_c0::m.mMaxSpeed;
|
||||
}
|
||||
|
|
@ -875,7 +875,7 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
|
|||
field_0x347c = M_PI / (frame_ctrl->getEnd() - frame_ctrl->getStart());
|
||||
|
||||
if (freeze_player) {
|
||||
frame_ctrl->setRate(daAlinkHIO_damNormal_c0::m.field_0x60);
|
||||
frame_ctrl->setRate(daAlinkHIO_damNormal_c0::m.mIceDamageASpeed);
|
||||
frame_ctrl->setEnd(7);
|
||||
mNormalSpeed = 0.0f;
|
||||
mProcVar0.mIceFreezeTimer = 90;
|
||||
|
|
@ -898,7 +898,7 @@ int daAlink_c::procDamage() {
|
|||
mBodyAngle.z = -mProcVar3.field_0x300e * var_f31;
|
||||
mBodyAngle.y = 0;
|
||||
|
||||
cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_damNormal_c0::m.field_0x5C);
|
||||
cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_damNormal_c0::m.mDeceleration);
|
||||
|
||||
if (checkFreezeDamage()) {
|
||||
freezeTimerDamage();
|
||||
|
|
@ -1070,11 +1070,11 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16
|
|||
var_r29 = &daAlinkHIO_wlDamHuge_c0::m;
|
||||
}
|
||||
|
||||
setSpecialGravity(var_r29->field_0x54, maxFallSpeed, 0);
|
||||
mProcVar4.field_0x3010 = var_r29->field_0x50;
|
||||
field_0x3478 = var_r29->field_0x64;
|
||||
field_0x347c = var_r29->field_0x68;
|
||||
setSingleAnimeWolfBaseMorf((daAlink_c::daAlink_WANM)field_0x3198, var_r29->field_0x58);
|
||||
setSpecialGravity(var_r29->mGravity, maxFallSpeed, 0);
|
||||
mProcVar4.field_0x3010 = var_r29->mBodyRotationSpeed;
|
||||
field_0x3478 = var_r29->mBounceSpeed;
|
||||
field_0x347c = var_r29->mDeceleration;
|
||||
setSingleAnimeWolfBaseMorf((daAlink_c::daAlink_WANM)field_0x3198, var_r29->mDamageInterp);
|
||||
setFaceBasicTexture(FTANM_UNK_91);
|
||||
} else {
|
||||
if (param_1 != 0) {
|
||||
|
|
@ -1083,11 +1083,11 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16
|
|||
var_r28 = &daAlinkHIO_damHuge_c0::m;
|
||||
}
|
||||
|
||||
setSpecialGravity(var_r28->field_0xA4, maxFallSpeed, 0);
|
||||
mProcVar4.field_0x3010 = var_r28->field_0xA0;
|
||||
field_0x3478 = var_r28->field_0xB4;
|
||||
field_0x347c = var_r28->field_0xB8;
|
||||
setSingleAnimeBaseMorf((daAlink_c::daAlink_ANM)field_0x3198, var_r28->field_0xA8);
|
||||
setSpecialGravity(var_r28->mGravity, maxFallSpeed, 0);
|
||||
mProcVar4.field_0x3010 = var_r28->mBodyRotateRate;
|
||||
field_0x3478 = var_r28->mBounceSpeed;
|
||||
field_0x347c = var_r28->mDeceleration;
|
||||
setSingleAnimeBaseMorf((daAlink_c::daAlink_ANM)field_0x3198, var_r28->mDamageBlend);
|
||||
}
|
||||
|
||||
if (param_0 < 0) {
|
||||
|
|
@ -1103,11 +1103,11 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16
|
|||
speed.y = field_0x340c;
|
||||
} else {
|
||||
if (checkWolf()) {
|
||||
mNormalSpeed = var_r29->field_0x5C;
|
||||
speed.y = var_r29->field_0x60;
|
||||
mNormalSpeed = var_r29->mHorizontalSpeed;
|
||||
speed.y = var_r29->mVerticalSpeed;
|
||||
} else {
|
||||
mNormalSpeed = var_r28->field_0xAC;
|
||||
speed.y = var_r28->field_0xB0;
|
||||
mNormalSpeed = var_r28->mHorizontalSpeed;
|
||||
speed.y = var_r28->mVerticalSpeed;
|
||||
}
|
||||
|
||||
if (param_0 == -6) {
|
||||
|
|
@ -1134,9 +1134,9 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16
|
|||
}
|
||||
} else {
|
||||
if (checkWolf()) {
|
||||
mNormalSpeed = var_r29->field_0x64;
|
||||
mNormalSpeed = var_r29->mBounceSpeed;
|
||||
} else {
|
||||
mNormalSpeed = var_r28->field_0xB4;
|
||||
mNormalSpeed = var_r28->mBounceSpeed;
|
||||
}
|
||||
|
||||
current.pos.x += 35.0f * cM_ssin(current.angle.y);
|
||||
|
|
@ -1270,7 +1270,7 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16
|
|||
setSingleAnimeBase(ANM_DMG_FBW);
|
||||
|
||||
field_0x32cc = 0x88;
|
||||
field_0x3478 = var_r30->field_0x14.mCancelFrame;
|
||||
field_0x3478 = var_r30->mBackGetUpAnm.mCancelFrame;
|
||||
field_0x3480 = 39.0f;
|
||||
field_0x3484 = 1000.0f;
|
||||
} else if (param_0 < 0) {
|
||||
|
|
@ -1288,7 +1288,7 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16
|
|||
var_f31 = 1.0f;
|
||||
|
||||
mProcVar0.field_0x3008 = -1;
|
||||
field_0x3478 = var_r30->field_0x0.mCancelFrame;
|
||||
field_0x3478 = var_r30->mFrontGetUpAnm.mCancelFrame;
|
||||
field_0x3480 = 39.0f;
|
||||
field_0x2f9d = 4;
|
||||
field_0x3484 = 18.0f;
|
||||
|
|
@ -1296,14 +1296,14 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16
|
|||
if (param_0 == -2) {
|
||||
var_f30 = 0.0f;
|
||||
} else {
|
||||
var_f30 = daAlinkHIO_damLarge_c0::m.field_0x14.mInterpolation;
|
||||
var_f30 = daAlinkHIO_damLarge_c0::m.mBackGetUpAnm.mInterpolation;
|
||||
}
|
||||
|
||||
field_0x3484 = 9.0f;
|
||||
var_r28 = ANM_DMG_LARGE_LAND;
|
||||
var_f29 = 9.0f;
|
||||
var_r27 = -1;
|
||||
field_0x3478 = var_r30->field_0x14.mCancelFrame;
|
||||
field_0x3478 = var_r30->mBackGetUpAnm.mCancelFrame;
|
||||
|
||||
if (param_0 == -5 && mDemo.getParam1() > 0) {
|
||||
mProcVar0.field_0x3008 = mDemo.getParam1();
|
||||
|
|
@ -1331,27 +1331,27 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16
|
|||
field_0x2f9d = 4;
|
||||
|
||||
if (param_0 == 0x84) {
|
||||
setSingleAnimeParam(ANM_DMG_LARGE_LAND, &var_r30->field_0x14);
|
||||
field_0x3478 = var_r30->field_0x14.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_DMG_LARGE_LAND, &var_r30->mBackGetUpAnm);
|
||||
field_0x3478 = var_r30->mBackGetUpAnm.mCancelFrame;
|
||||
mProcVar1.field_0x300a = 1;
|
||||
field_0x3480 = 39.0f;
|
||||
field_0x32cc = 0x88;
|
||||
field_0x3484 = 9.0f;
|
||||
} else if (param_0 == 0x85) {
|
||||
setSingleAnimeParam(ANM_DMG_AIR_LEFT_LAND, &var_r30->field_0x28);
|
||||
field_0x3478 = var_r30->field_0x28.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_DMG_AIR_LEFT_LAND, &var_r30->mLeftGetUpAnm);
|
||||
field_0x3478 = var_r30->mLeftGetUpAnm.mCancelFrame;
|
||||
field_0x3480 = 29.0f;
|
||||
field_0x32cc = 0x89;
|
||||
field_0x3484 = 6.0f;
|
||||
} else if (param_0 == 0x86) {
|
||||
setSingleAnimeParam(ANM_DMG_AIR_RIGHT_LAND, &var_r30->field_0x3C);
|
||||
field_0x3478 = var_r30->field_0x3C.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_DMG_AIR_RIGHT_LAND, &var_r30->mRightGetUpAnm);
|
||||
field_0x3478 = var_r30->mRightGetUpAnm.mCancelFrame;
|
||||
field_0x3480 = 29.0f;
|
||||
field_0x32cc = 0x8A;
|
||||
field_0x3484 = 6.0f;
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_DMG_AIR_LAND, &var_r30->field_0x0);
|
||||
field_0x3478 = var_r30->field_0x0.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_DMG_AIR_LAND, &var_r30->mFrontGetUpAnm);
|
||||
field_0x3478 = var_r30->mFrontGetUpAnm.mCancelFrame;
|
||||
field_0x3480 = 39.0f;
|
||||
field_0x32cc = 0x87;
|
||||
field_0x3484 = 18.0f;
|
||||
|
|
@ -1383,7 +1383,7 @@ int daAlink_c::procLargeDamageUp() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
setSingleAnime(ANM_DMG_LARGE_LAND, daAlinkHIO_damLarge_c0::m.field_0x14.mSpeed, 9.0f, -1, daAlinkHIO_damLarge_c0::m.field_0x14.mInterpolation);
|
||||
setSingleAnime(ANM_DMG_LARGE_LAND, daAlinkHIO_damLarge_c0::m.mBackGetUpAnm.mSpeed, 9.0f, -1, daAlinkHIO_damLarge_c0::m.mBackGetUpAnm.mInterpolation);
|
||||
field_0x3198 = -3;
|
||||
field_0x347c = 2.0f / (field_0x3478 - 9.0f);
|
||||
}
|
||||
|
|
@ -1492,19 +1492,19 @@ int daAlink_c::procCoLargeDamageWallInit(int param_0, int param_1, s16 param_2,
|
|||
|
||||
if (param_0 == 0x84) {
|
||||
field_0x3198 = 0x88;
|
||||
setSingleAnimeParam(ANM_DMG_LARGE_LAND, &var_r28->field_0x64);
|
||||
setSingleAnimeParam(ANM_DMG_LARGE_LAND, &var_r28->mBackWallHitAnm);
|
||||
field_0x3080 = temp_r29 - 0x4000;
|
||||
} else if (param_0 == 0x85) {
|
||||
field_0x3198 = 0x89;
|
||||
setSingleAnimeParam(ANM_DMG_AIR_LEFT_LAND, &var_r28->field_0x78);
|
||||
setSingleAnimeParam(ANM_DMG_AIR_LEFT_LAND, &var_r28->mLeftWallHitAnm);
|
||||
field_0x3082 = temp_r29 - 0x4000;
|
||||
} else if (param_0 == 0x86) {
|
||||
field_0x3198 = 0x8A;
|
||||
setSingleAnimeParam(ANM_DMG_AIR_RIGHT_LAND, &var_r28->field_0x8C);
|
||||
setSingleAnimeParam(ANM_DMG_AIR_RIGHT_LAND, &var_r28->mRightWallHitAnm);
|
||||
field_0x3082 = 0x4000 - temp_r29;
|
||||
} else {
|
||||
field_0x3198 = 0x87;
|
||||
setSingleAnimeParam(ANM_DMG_AIR_LAND, &var_r28->field_0x50);
|
||||
setSingleAnimeParam(ANM_DMG_AIR_LAND, &var_r28->mFrontWallHitAnm);
|
||||
field_0x3080 = 0x4000 - temp_r29;
|
||||
}
|
||||
}
|
||||
|
|
@ -1544,9 +1544,9 @@ int daAlink_c::procCoPolyDamageInit() {
|
|||
commonProcInit(PROC_POLY_DAMAGE);
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfParam(WANM_DMG_SMALL, &daAlinkHIO_wlDamage_c0::m.field_0x14);
|
||||
setSingleAnimeWolfParam(WANM_DMG_SMALL, &daAlinkHIO_wlDamage_c0::m.mPolygonAnm);
|
||||
voiceStart(Z2SE_WL_V_DAMAGE);
|
||||
field_0x3478 = daAlinkHIO_wlDamage_c0::m.field_0x14.mCancelFrame;
|
||||
field_0x3478 = daAlinkHIO_wlDamage_c0::m.mPolygonAnm.mCancelFrame;
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_DMG, &daAlinkHIO_damage_c0::m.mFloorDmgAnm);
|
||||
field_0x3478 = daAlinkHIO_damage_c0::m.mFloorDmgAnm.mCancelFrame;
|
||||
|
|
@ -1769,7 +1769,7 @@ int daAlink_c::procCoElecDamage() {
|
|||
/* 800DB5B0-800DB610 0D5EF0 0060+00 2/2 0/0 0/0 .text procStEscapeInit__9daAlink_cFv */
|
||||
int daAlink_c::procStEscapeInit() {
|
||||
commonProcInit(PROC_HUMAN_ST_ESCAPE);
|
||||
setSingleAnimeParam(ANM_FROZEN_FREE, &daAlinkHIO_damCaught_c0::m.field_0x0);
|
||||
setSingleAnimeParam(ANM_FROZEN_FREE, &daAlinkHIO_damCaught_c0::m.mEscapeAnm);
|
||||
|
||||
mUnderFrameCtrl[0].setFrame(7.0f);
|
||||
getNowAnmPackUnder(UNDER_0)->setFrame(7.0f);
|
||||
|
|
@ -1785,7 +1785,7 @@ int daAlink_c::procStEscape() {
|
|||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
checkNextAction(0);
|
||||
} else if (frameCtrl->getFrame() > daAlinkHIO_damCaught_c0::m.field_0x0.mCancelFrame) {
|
||||
} else if (frameCtrl->getFrame() > daAlinkHIO_damCaught_c0::m.mEscapeAnm.mCancelFrame) {
|
||||
onModeFlg(4);
|
||||
checkNextAction(1);
|
||||
}
|
||||
|
|
@ -1808,7 +1808,7 @@ int daAlink_c::procDkCaughtInit(fpc_ProcID param_0) {
|
|||
|
||||
field_0x28f8 = param_0;
|
||||
mNormalSpeed = 0.0f;
|
||||
mProcVar0.field_0x3008 = daAlinkHIO_damCaught_c0::m.field_0x14;
|
||||
mProcVar0.field_0x3008 = daAlinkHIO_damCaught_c0::m.mGrabDuration;
|
||||
|
||||
fopAc_ac_c* temp_r3 = fopAcM_SearchByID(field_0x28f8);
|
||||
if (temp_r3 != NULL) {
|
||||
|
|
@ -1870,11 +1870,11 @@ int daAlink_c::procDkCaught() {
|
|||
mProcVar0.field_0x3008--;
|
||||
|
||||
if (escapeTrigger()) {
|
||||
mProcVar0.field_0x3008 -= daAlinkHIO_damCaught_c0::m.field_0x16;
|
||||
mProcVar0.field_0x3008 -= daAlinkHIO_damCaught_c0::m.mInputFadeTime;
|
||||
}
|
||||
|
||||
if (checkInputOnR() && abs((s16)(mStickAngle - mPrevStickAngle)) > 0x1000) {
|
||||
mProcVar0.field_0x3008 -= daAlinkHIO_damCaught_c0::m.field_0x16;
|
||||
mProcVar0.field_0x3008 -= daAlinkHIO_damCaught_c0::m.mInputFadeTime;
|
||||
}
|
||||
|
||||
if (mProcVar0.field_0x3008 < 0) {
|
||||
|
|
@ -1905,7 +1905,7 @@ int daAlink_c::procScreamWaitInit() {
|
|||
setScreamWaitAnime();
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed,
|
||||
daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
mProcVar2.field_0x300c = 0;
|
||||
}
|
||||
|
||||
|
|
@ -2062,18 +2062,18 @@ int daAlink_c::procCoSwimFreezeReturnInit() {
|
|||
|
||||
f32 var_f31;
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, daAlinkHIO_wlDamNormal_c0::m.field_0x5C,
|
||||
setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, daAlinkHIO_wlDamNormal_c0::m.mIceDamageAnmSpeed,
|
||||
10.0f);
|
||||
mUnderFrameCtrl[0].setEnd(3);
|
||||
mUnderFrameCtrl[0].setAttribute(0);
|
||||
setFaceBasicTexture(FTANM_UNK_90);
|
||||
mMidnaAnm = 1;
|
||||
var_f31 = daAlinkHIO_wlSwim_c0::m.field_0x48;
|
||||
var_f31 = daAlinkHIO_wlSwim_c0::m.mStartHeight;
|
||||
} else {
|
||||
setSingleAnime(ANM_SWIM_DMG_FREEZE, daAlinkHIO_damNormal_c0::m.field_0x60,
|
||||
setSingleAnime(ANM_SWIM_DMG_FREEZE, daAlinkHIO_damNormal_c0::m.mIceDamageASpeed,
|
||||
0.0f, 5, 10.0f);
|
||||
voiceStart(Z2SE_AL_V_DAMAGE_FREEZE);
|
||||
var_f31 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
var_f31 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
}
|
||||
|
||||
seStartOnlyReverb(Z2SE_AL_FREEZE);
|
||||
|
|
|
|||
|
|
@ -495,7 +495,7 @@ void daAlink_c::setDemoMoveData(u32* o_mode, cXyz const* i_goal) {
|
|||
f32 temp_f28;
|
||||
f32 var_f27;
|
||||
if (checkWolf()) {
|
||||
var_f27 = daAlinkHIO_wlMoveNoP_c0::m.field_0x8 / daAlinkHIO_move_c0::m.mMaxSpeed;
|
||||
var_f27 = daAlinkHIO_wlMoveNoP_c0::m.mMaxSpeed / daAlinkHIO_move_c0::m.mMaxSpeed;
|
||||
var_f27 *= var_f27;
|
||||
} else {
|
||||
var_f27 = 1.0f;
|
||||
|
|
@ -862,12 +862,12 @@ void daAlink_c::resetDemoBck() {
|
|||
mFaceBtkHeap.resetIdx();
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14,
|
||||
daAlinkHIO_wlMove_c0::m.field_0x94);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed,
|
||||
daAlinkHIO_wlMove_c0::m.mNormalInterpolation);
|
||||
setFaceBasicAnime(ANM_WAIT);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed,
|
||||
daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1742,12 +1742,12 @@ int daAlink_c::procCoTalkInit() {
|
|||
mNormalSpeed = 0.0f;
|
||||
|
||||
if (var_r30 == 0) {
|
||||
setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.field_0xBC);
|
||||
setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mIdleInterpolation);
|
||||
} else {
|
||||
if (var_r30 == 1) {
|
||||
field_0x2f99 = 13;
|
||||
setSingleAnimeWolfBaseSpeed(WANM_CROUCH_WALK, 0.0f,
|
||||
daAlinkHIO_wlLie_c0::m.field_0x40);
|
||||
daAlinkHIO_wlLie_c0::m.mProneMoveInterp);
|
||||
} else {
|
||||
field_0x2f99 = 13;
|
||||
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
|
||||
|
|
@ -1924,9 +1924,9 @@ int daAlink_c::procCoUnequipInit() {
|
|||
mProcVar3.field_0x300e = 0;
|
||||
|
||||
if (checkWolf()) {
|
||||
setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.field_0x94);
|
||||
setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mNormalInterpolation);
|
||||
} else {
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
|
||||
if (mDemo.getParam1() == 0) {
|
||||
if (mEquipItem != fpcNm_ITEM_NONE) {
|
||||
|
|
@ -2340,7 +2340,7 @@ int daAlink_c::procCoGetItem() {
|
|||
field_0x2f99 = 12;
|
||||
|
||||
if (checkWolf()) {
|
||||
setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.field_0x94);
|
||||
setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mNormalInterpolation);
|
||||
} else {
|
||||
if (mEquipItem == fpcNm_ITEM_KANTERA) {
|
||||
field_0x2f94 = 0;
|
||||
|
|
@ -2352,7 +2352,7 @@ int daAlink_c::procCoGetItem() {
|
|||
3.0f);
|
||||
field_0x2f99 = 0x60;
|
||||
} else {
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2422,7 +2422,7 @@ int daAlink_c::procDoorOpenInit() {
|
|||
f32 start_f = 0.0f;
|
||||
s16 end_f = -1;
|
||||
|
||||
field_0x3478 = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
|
||||
field_0x3478 = daAlinkHIO_basic_c0::m.mBasicInterpolation;
|
||||
mProcVar0.field_0x3008 = 0;
|
||||
|
||||
if (mDemo.getParam0() == 4) {
|
||||
|
|
@ -2555,9 +2555,9 @@ int daAlink_c::procCoLookWaitInit() {
|
|||
mNormalSpeed = 0.0f;
|
||||
|
||||
if (checkWolf()) {
|
||||
setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.field_0x94);
|
||||
setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mNormalInterpolation);
|
||||
} else {
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
}
|
||||
|
||||
current.angle.y = shape_angle.y;
|
||||
|
|
@ -2598,8 +2598,8 @@ int daAlink_c::procCoDemoPushPullWaitInit() {
|
|||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBase(WANM_WAIT_PP);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT_PUSH_PULL, daAlinkHIO_pushpull_c0::m.field_0x10,
|
||||
daAlinkHIO_pushpull_c0::m.field_0x14);
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT_PUSH_PULL, daAlinkHIO_pushpull_c0::m.mStandbyASpeed,
|
||||
daAlinkHIO_pushpull_c0::m.mStandbyInterpolation);
|
||||
}
|
||||
|
||||
mNormalSpeed = 0.0f;
|
||||
|
|
@ -2616,15 +2616,15 @@ int daAlink_c::procCoDemoPushMoveInit() {
|
|||
if (mDemo.getParam0() != 0) {
|
||||
setSingleAnimeWolfBase(WANM_PUSH);
|
||||
} else {
|
||||
setSingleAnimeWolf(WANM_PUSH_LIGHT, daAlinkHIO_wlPush_c0::m.field_0x8,
|
||||
0.0f, 24, daAlinkHIO_wlPush_c0::m.field_0xC);
|
||||
setSingleAnimeWolf(WANM_PUSH_LIGHT, daAlinkHIO_wlPush_c0::m.mPushAnmSpeed,
|
||||
0.0f, 24, daAlinkHIO_wlPush_c0::m.mPushInterp);
|
||||
}
|
||||
} else {
|
||||
if (mDemo.getParam0() != 0) {
|
||||
setSingleAnimeBase(ANM_PUSH);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_PUSH_LIGHT, daAlinkHIO_pushpull_c0::m.field_0x18,
|
||||
daAlinkHIO_pushpull_c0::m.field_0x1C);
|
||||
setSingleAnimeBaseSpeed(ANM_PUSH_LIGHT, daAlinkHIO_pushpull_c0::m.mPushASpeed,
|
||||
daAlinkHIO_pushpull_c0::m.mPushInterpolation);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2701,7 +2701,7 @@ int daAlink_c::procDemoBoomerangCatch() {
|
|||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
|
||||
if (checkAnmEnd(mUnderFrameCtrl)) {
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -2728,7 +2728,7 @@ int daAlink_c::procCoDeadInit(int param_0) {
|
|||
if (checkNoResetFlg2(FLG2_FORCE_GAMEOVER)) {
|
||||
if (param_0) {
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.field_0x70, 3.0f);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed, 3.0f);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f);
|
||||
}
|
||||
|
|
@ -2990,9 +2990,9 @@ int daAlink_c::procCoCaughtInit() {
|
|||
}
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseMorf(WANM_WAIT_START, daAlinkHIO_wlDamCaught_c0::m.field_0x8);
|
||||
setSingleAnimeWolfBaseMorf(WANM_WAIT_START, daAlinkHIO_wlDamCaught_c0::m.mWaitInterp);
|
||||
} else {
|
||||
setSingleAnimeBaseMorf(ANM_WAIT_START, daAlinkHIO_damCaught_c0::m.field_0x1C);
|
||||
setSingleAnimeBaseMorf(ANM_WAIT_START, daAlinkHIO_damCaught_c0::m.mStandbyInterp);
|
||||
}
|
||||
|
||||
if (chk_40000) {
|
||||
|
|
@ -3142,7 +3142,7 @@ int daAlink_c::procCoFogDeadInit() {
|
|||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_FALL_LAND, 0.0f,
|
||||
daAlinkHIO_wlDamFall_c0::m.field_0x3C);
|
||||
daAlinkHIO_wlDamFall_c0::m.mAirAnmInterp);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_DMG_FALL, 0.0f,
|
||||
daAlinkHIO_damFall_c0::m.mFallAnmMorf);
|
||||
|
|
@ -3194,8 +3194,8 @@ int daAlink_c::procWolfSmellWaitInit() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
setSingleAnimeWolfBaseSpeed(WANM_SMELL, daAlinkHIO_wlChain_c0::m.field_0x54,
|
||||
daAlinkHIO_wlChain_c0::m.field_0x58);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_SMELL, daAlinkHIO_wlChain_c0::m.mSniffAnmSpeed,
|
||||
daAlinkHIO_wlChain_c0::m.mSniffInterp);
|
||||
current.angle.y = shape_angle.y;
|
||||
mNormalSpeed = 0.0f;
|
||||
return 1;
|
||||
|
|
@ -3352,7 +3352,7 @@ int daAlink_c::procCoGetReadySitInit() {
|
|||
commonProcInit(PROC_GET_READY_SIT);
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.field_0x70, 3.0f);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed, 3.0f);
|
||||
mProcVar2.field_0x300c = 1;
|
||||
} else {
|
||||
setSingleAnime(ANM_TRES_OPEN_SMALL, 1.0f, 36.0f, -1, 3.0f);
|
||||
|
|
@ -3462,13 +3462,13 @@ int daAlink_c::procWolfSnowEscape() {
|
|||
|
||||
if (mProcVar2.field_0x300c == 0) {
|
||||
mProcVar2.field_0x300c = 1;
|
||||
setSingleAnimeWolfParam(WANM_SLIDE_FORWARD_START, &daAlinkHIO_wlSlide_c0::m.field_0x0);
|
||||
setSingleAnimeWolfParam(WANM_SLIDE_FORWARD_START, &daAlinkHIO_wlSlide_c0::m.mFrontSlideAnm);
|
||||
field_0x3588 = l_wolfBaseAnime;
|
||||
field_0x3478 = 1.0f / (f32)frameCtrl_p->getEnd();
|
||||
field_0x2f99 = 13;
|
||||
voiceStart(Z2SE_WL_V_SLIP_ROLL);
|
||||
} else {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.field_0x70, 3.0f);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed, 3.0f);
|
||||
field_0x2f99 = 0x30;
|
||||
mProcVar3.field_0x300e = 1;
|
||||
}
|
||||
|
|
@ -4103,7 +4103,7 @@ int daAlink_c::procDungeonWarpSceneStartInit() {
|
|||
|
||||
setSpecialGravity(0.0f, maxFallSpeed, 0);
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed,
|
||||
daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
|
||||
if (checkDungeon() && !checkLv7DungeonShop()) {
|
||||
createNpcTks(¤t.pos, fopAcM_GetRoomNo(this), 4);
|
||||
|
|
@ -4341,7 +4341,7 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) {
|
|||
deleteEquipItem(FALSE, TRUE);
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.field_0x70, 3.0f);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed, 3.0f);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f);
|
||||
}
|
||||
|
|
@ -4463,7 +4463,7 @@ int daAlink_c::procCoWarp() {
|
|||
|
||||
f32 var_f1;
|
||||
if (checkWolf()) {
|
||||
var_f1 = daAlinkHIO_wlAutoJump_c0::m.field_0x58;
|
||||
var_f1 = daAlinkHIO_wlAutoJump_c0::m.mGravity;
|
||||
} else {
|
||||
var_f1 = daAlinkHIO_autoJump_c0::m.mGravity;
|
||||
}
|
||||
|
|
@ -4571,7 +4571,7 @@ int daAlink_c::commonLargeDamageUpInit(int param_0, int param_1, s16 param_2, s1
|
|||
/* 80120534-80120580 11AE74 004C+00 4/4 0/0 0/0 .text commonFallInit__9daAlink_cFi */
|
||||
int daAlink_c::commonFallInit(int param_0) {
|
||||
if (checkWolf()) {
|
||||
return procWolfFallInit(param_0, daAlinkHIO_wlAutoJump_c0::m.field_0x54);
|
||||
return procWolfFallInit(param_0, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp);
|
||||
} else {
|
||||
return procFallInit(param_0, daAlinkHIO_autoJump_c0::m.mFallInterpolation);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -440,9 +440,9 @@ void daAlink_c::setEffect() {
|
|||
if (checkWolf()) {
|
||||
spB8.x += 40.0f * cM_ssin(current.angle.y);
|
||||
spB8.z += 40.0f * cM_scos(current.angle.y);
|
||||
spAC.y -= daAlinkHIO_wlSwim_c0::m.field_0x48;
|
||||
spAC.y -= daAlinkHIO_wlSwim_c0::m.mStartHeight;
|
||||
} else {
|
||||
spAC.y -= daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
spAC.y -= daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
}
|
||||
|
||||
spB8.y = mWaterY;
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ BOOL daAlink_c::setForceGrab(fopAc_ac_c* p_actor, int param_1, int param_2) {
|
|||
deleteEquipItem(TRUE, FALSE);
|
||||
setGrabItemActor(p_actor);
|
||||
field_0x33e4 = 38.0f;
|
||||
setGrabUpperAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setGrabUpperAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -159,7 +159,7 @@ void daAlink_c::setGrabUpperAnime(f32 param_0) {
|
|||
if (checkZoraWearAbility()) {
|
||||
param_0 *= 1.0f / daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed;
|
||||
} else {
|
||||
param_0 *= 1.0f / daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate;
|
||||
param_0 *= 1.0f / daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -745,9 +745,9 @@ int daAlink_c::procGrabReadyInit() {
|
|||
}
|
||||
|
||||
if (checkGrabCarryActor()) {
|
||||
setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.field_0x8C.mSpeed, daAlinkHIO_grab_c0::m.field_0x8C.mStartFrame, 9, daAlinkHIO_grab_c0::m.field_0x8C.mInterpolation);
|
||||
setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.mFailAnm.mSpeed, daAlinkHIO_grab_c0::m.mFailAnm.mStartFrame, 9, daAlinkHIO_grab_c0::m.mFailAnm.mInterpolation);
|
||||
mProcVar3.field_0x300e = 1;
|
||||
field_0x347c = 1.0f / (9.0f - daAlinkHIO_grab_c0::m.field_0x8C.mStartFrame);
|
||||
field_0x347c = 1.0f / (9.0f - daAlinkHIO_grab_c0::m.mFailAnm.mStartFrame);
|
||||
|
||||
f32 var_f31;
|
||||
if (fopAcM_GetName(mGrabItemAcKeep.getActor()) == PROC_DO) {
|
||||
|
|
@ -759,8 +759,8 @@ int daAlink_c::procGrabReadyInit() {
|
|||
field_0x33ec = 4.0f * ((var_f31 * mGrabItemAcKeep.getActor()->scale.x) - 1.0f);
|
||||
} else {
|
||||
field_0x33ec = 0.0f;
|
||||
setSingleAnimeParam(ANM_GRAB_UP_START, &daAlinkHIO_grab_c0::m.field_0x0);
|
||||
field_0x347c = 1.0f / (daAlinkHIO_grab_c0::m.field_0x0.mEndFrame - daAlinkHIO_grab_c0::m.field_0x0.mStartFrame);
|
||||
setSingleAnimeParam(ANM_GRAB_UP_START, &daAlinkHIO_grab_c0::m.mPrepareAnm);
|
||||
field_0x347c = 1.0f / (daAlinkHIO_grab_c0::m.mPrepareAnm.mEndFrame - daAlinkHIO_grab_c0::m.mPrepareAnm.mStartFrame);
|
||||
mProcVar3.field_0x300e = 0;
|
||||
}
|
||||
|
||||
|
|
@ -781,15 +781,15 @@ int daAlink_c::procGrabReady() {
|
|||
|
||||
if (checkAnmEnd(&mUnderFrameCtrl[0])) {
|
||||
if (field_0x3198 != 0) {
|
||||
setSingleAnime(ANM_PICK_UP_LARGE_START, daAlinkHIO_grab_c0::m.field_0x78.mSpeed, daAlinkHIO_grab_c0::m.field_0x78.mStartFrame, daAlinkHIO_grab_c0::m.field_0x78.mCancelFrame, daAlinkHIO_grab_c0::m.field_0x78.mInterpolation);
|
||||
setSingleAnime(ANM_PICK_UP_LARGE_START, daAlinkHIO_grab_c0::m.mRecoilAnm.mSpeed, daAlinkHIO_grab_c0::m.mRecoilAnm.mStartFrame, daAlinkHIO_grab_c0::m.mRecoilAnm.mCancelFrame, daAlinkHIO_grab_c0::m.mRecoilAnm.mInterpolation);
|
||||
field_0x3198 = 0;
|
||||
} else {
|
||||
procGrabUpInit();
|
||||
}
|
||||
} else if (mProcVar3.field_0x300e != 0) {
|
||||
setCarryArmAngle(field_0x347c * (mUnderFrameCtrl[0].getFrame() - daAlinkHIO_grab_c0::m.field_0x8C.mStartFrame), 0.0f);
|
||||
setCarryArmAngle(field_0x347c * (mUnderFrameCtrl[0].getFrame() - daAlinkHIO_grab_c0::m.mFailAnm.mStartFrame), 0.0f);
|
||||
} else {
|
||||
setCarryArmAngle(0.0f, field_0x347c * (mUnderFrameCtrl[0].getFrame() - daAlinkHIO_grab_c0::m.field_0x0.mStartFrame));
|
||||
setCarryArmAngle(0.0f, field_0x347c * (mUnderFrameCtrl[0].getFrame() - daAlinkHIO_grab_c0::m.mPrepareAnm.mStartFrame));
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -801,11 +801,11 @@ int daAlink_c::procGrabUpInit() {
|
|||
commonProcInit(PROC_GRAB_UP);
|
||||
|
||||
if (checkGrabCarryActor()) {
|
||||
setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.field_0x8C.mSpeed, 9.0f + daAlinkHIO_grab_c0::m.field_0x8C.mSpeed, daAlinkHIO_grab_c0::m.field_0x8C.mEndFrame, 0.0f);
|
||||
setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.mFailAnm.mSpeed, 9.0f + daAlinkHIO_grab_c0::m.mFailAnm.mSpeed, daAlinkHIO_grab_c0::m.mFailAnm.mEndFrame, 0.0f);
|
||||
mProcVar3.field_0x300e = 1;
|
||||
setCarryArmAngle(1.0f, 0.0f);
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_GRAB_UP, &daAlinkHIO_grab_c0::m.field_0x14);
|
||||
setSingleAnimeParam(ANM_GRAB_UP, &daAlinkHIO_grab_c0::m.mLiftBackAnm);
|
||||
mProcVar3.field_0x300e = 0;
|
||||
setCarryArmAngle(0.0f, 1.0f);
|
||||
}
|
||||
|
|
@ -834,7 +834,7 @@ int daAlink_c::procGrabUp() {
|
|||
return checkNextAction(0);
|
||||
}
|
||||
|
||||
if (checkAnmEnd(temp_r29) || (checkInputOnR() && (temp_r29->getFrame() > daAlinkHIO_grab_c0::m.field_0x14.mCancelFrame))) {
|
||||
if (checkAnmEnd(temp_r29) || (checkInputOnR() && (temp_r29->getFrame() > daAlinkHIO_grab_c0::m.mLiftBackAnm.mCancelFrame))) {
|
||||
onResetFlg0(RFLG0_GRAB_UP_END);
|
||||
|
||||
if (fopAcM_CheckCarryType(temp_r3, fopAcM_CARRY(fopAcM_CARRY_UNK_40 | fopAcM_CARRY_HEAVY | fopAcM_CARRY_TYPE_1))) {
|
||||
|
|
@ -875,13 +875,13 @@ int daAlink_c::procGrabMiss() {
|
|||
int daAlink_c::procGrabThrowInit(int param_0) {
|
||||
if (checkModeFlg(0x400)) {
|
||||
if (checkGrabHeavyActor()) {
|
||||
setUpperAnimeParam(0x17B, UPPER_2, &daAlinkHIO_grab_c0::m.field_0xC8);
|
||||
setUpperAnimeParam(0x17B, UPPER_2, &daAlinkHIO_grab_c0::m.mIronBallThrowAnm);
|
||||
field_0x343c = 14.0f;
|
||||
} else if (checkGrabAnimeSide()) {
|
||||
setUpperAnimeParam(0x51, UPPER_2, &daAlinkHIO_grab_c0::m.field_0xB4);
|
||||
setUpperAnimeParam(0x51, UPPER_2, &daAlinkHIO_grab_c0::m.mCarryPlaceReverseAnm);
|
||||
field_0x343c = 4.0f;
|
||||
} else {
|
||||
setUpperAnimeParam(0x170, UPPER_2, &daAlinkHIO_grab_c0::m.field_0x3C);
|
||||
setUpperAnimeParam(0x170, UPPER_2, &daAlinkHIO_grab_c0::m.mLiftAnm);
|
||||
field_0x343c = 5.0f;
|
||||
}
|
||||
|
||||
|
|
@ -894,9 +894,9 @@ int daAlink_c::procGrabThrowInit(int param_0) {
|
|||
}
|
||||
|
||||
if (checkGrabHeavyActor()) {
|
||||
setSingleAnimeParam(ANM_THROW_HEAVY, &daAlinkHIO_grab_c0::m.field_0xC8);
|
||||
setSingleAnimeParam(ANM_THROW_HEAVY, &daAlinkHIO_grab_c0::m.mIronBallThrowAnm);
|
||||
field_0x343c = 14.0f;
|
||||
field_0x347c = daAlinkHIO_grab_c0::m.field_0xC8.mCancelFrame;
|
||||
field_0x347c = daAlinkHIO_grab_c0::m.mIronBallThrowAnm.mCancelFrame;
|
||||
mProcVar2.field_0x300c = 2;
|
||||
} else if (checkGrabSideActor()) {
|
||||
f32 var_f31;
|
||||
|
|
@ -906,15 +906,15 @@ int daAlink_c::procGrabThrowInit(int param_0) {
|
|||
var_f31 = daAlinkHIO_noActAtnMove_c0::m.mWaitAnmSpeed;
|
||||
}
|
||||
|
||||
setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, var_f31, daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setUpperAnimeParam(0x51, UPPER_0, &daAlinkHIO_grab_c0::m.field_0xB4);
|
||||
setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, var_f31, daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
setUpperAnimeParam(0x51, UPPER_0, &daAlinkHIO_grab_c0::m.mCarryPlaceReverseAnm);
|
||||
field_0x343c = 4.0f;
|
||||
field_0x347c = daAlinkHIO_grab_c0::m.field_0xB4.mCancelFrame;
|
||||
field_0x347c = daAlinkHIO_grab_c0::m.mCarryPlaceReverseAnm.mCancelFrame;
|
||||
mProcVar2.field_0x300c = 1;
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_THROW, &daAlinkHIO_grab_c0::m.field_0x3C);
|
||||
setSingleAnimeParam(ANM_THROW, &daAlinkHIO_grab_c0::m.mLiftAnm);
|
||||
field_0x343c = 5.0f;
|
||||
field_0x347c = daAlinkHIO_grab_c0::m.field_0x3C.mCancelFrame;
|
||||
field_0x347c = daAlinkHIO_grab_c0::m.mLiftAnm.mCancelFrame;
|
||||
mProcVar2.field_0x300c = 0;
|
||||
}
|
||||
|
||||
|
|
@ -980,15 +980,15 @@ int daAlink_c::procGrabPutInit() {
|
|||
|
||||
if (checkGrabCarryActor()) {
|
||||
field_0x3198 = 0;
|
||||
setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.field_0xA0.mSpeed, 9.0f, daAlinkHIO_grab_c0::m.field_0xA0.mEndFrame, daAlinkHIO_grab_c0::m.field_0xA0.mInterpolation);
|
||||
setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.mCarryLiftAnm.mSpeed, 9.0f, daAlinkHIO_grab_c0::m.mCarryLiftAnm.mEndFrame, daAlinkHIO_grab_c0::m.mCarryLiftAnm.mInterpolation);
|
||||
mProcVar3.field_0x300e = 1;
|
||||
field_0x347c = 1.0f / (daAlinkHIO_grab_c0::m.field_0xA0.mEndFrame - 9.0f);
|
||||
field_0x3480 = 1.0f / (daAlinkHIO_grab_c0::m.field_0xA0.mEndFrame - field_0x3478);
|
||||
field_0x347c = 1.0f / (daAlinkHIO_grab_c0::m.mCarryLiftAnm.mEndFrame - 9.0f);
|
||||
field_0x3480 = 1.0f / (daAlinkHIO_grab_c0::m.mCarryLiftAnm.mEndFrame - field_0x3478);
|
||||
} else {
|
||||
mProcVar3.field_0x300e = 0;
|
||||
field_0x3198 = 0;
|
||||
setSingleAnimeParam(ANM_GRAB_UP, &daAlinkHIO_grab_c0::m.field_0x50);
|
||||
field_0x347c = 1.0f / (daAlinkHIO_grab_c0::m.field_0x50.mEndFrame - daAlinkHIO_grab_c0::m.field_0x50.mStartFrame);
|
||||
setSingleAnimeParam(ANM_GRAB_UP, &daAlinkHIO_grab_c0::m.mThrowAnm);
|
||||
field_0x347c = 1.0f / (daAlinkHIO_grab_c0::m.mThrowAnm.mEndFrame - daAlinkHIO_grab_c0::m.mThrowAnm.mStartFrame);
|
||||
}
|
||||
|
||||
if (mGrabItemAcKeep.getActor() != NULL) {
|
||||
|
|
@ -1037,7 +1037,7 @@ int daAlink_c::procGrabPut() {
|
|||
}
|
||||
setCarryArmAngle(1.0f - (field_0x347c * (temp_r28->getFrame() - 9.0f)), var_f31);
|
||||
} else {
|
||||
setCarryArmAngle(0.0f, field_0x347c * (temp_r28->getFrame() - daAlinkHIO_grab_c0::m.field_0x50.mStartFrame));
|
||||
setCarryArmAngle(0.0f, field_0x347c * (temp_r28->getFrame() - daAlinkHIO_grab_c0::m.mThrowAnm.mStartFrame));
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -1060,7 +1060,7 @@ int daAlink_c::procGrabWaitInit() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
f32 var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
|
||||
f32 var_f31 = daAlinkHIO_basic_c0::m.mBasicInterpolation;
|
||||
if (!checkGrabAnime()) {
|
||||
setGrabUpperAnime(-1.0f);
|
||||
} else {
|
||||
|
|
@ -1071,12 +1071,12 @@ int daAlink_c::procGrabWaitInit() {
|
|||
if (checkZoraWearAbility() ) {
|
||||
var_f31 *= 1.0f / daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed;
|
||||
} else {
|
||||
var_f31 *= 1.0f / daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate;
|
||||
var_f31 *= 1.0f / daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate;
|
||||
}
|
||||
}
|
||||
|
||||
if (checkAttentionLock() && (checkGrabAnimeUp() || checkGrabAnimeSide())) {
|
||||
setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
} else {
|
||||
setBlendMoveAnime(var_f31);
|
||||
}
|
||||
|
|
@ -1117,7 +1117,7 @@ int daAlink_c::procGrabWait() {
|
|||
*/
|
||||
int daAlink_c::procGrabReboundInit(int param_0) {
|
||||
commonProcInit(PROC_GRAB_REBOUND);
|
||||
setSingleAnimeParam(ANM_PICK_UP_LARGE, &daAlinkHIO_grab_c0::m.field_0x64);
|
||||
setSingleAnimeParam(ANM_PICK_UP_LARGE, &daAlinkHIO_grab_c0::m.mCarryAnm);
|
||||
|
||||
mNormalSpeed = 0.0f;
|
||||
field_0x3198 = param_0;
|
||||
|
|
@ -1141,10 +1141,10 @@ int daAlink_c::procGrabRebound() {
|
|||
|
||||
if (field_0x3198 != 0) {
|
||||
if (field_0x2060->getOldFrameRate() < 0.1f) {
|
||||
setWaterInAnmRate(temp_r30, daAlinkHIO_grab_c0::m.field_0x64.mSpeed);
|
||||
setWaterInAnmRate(temp_r30, daAlinkHIO_grab_c0::m.mCarryAnm.mSpeed);
|
||||
field_0x3198 = 0;
|
||||
}
|
||||
} else if (checkAnmEnd(temp_r30) || (checkInputOnR() && (temp_r30->getFrame() > daAlinkHIO_grab_c0::m.field_0x64.mCancelFrame))) {
|
||||
} else if (checkAnmEnd(temp_r30) || (checkInputOnR() && (temp_r30->getFrame() > daAlinkHIO_grab_c0::m.mCarryAnm.mCancelFrame))) {
|
||||
initGrabNextMode();
|
||||
}
|
||||
|
||||
|
|
@ -1156,14 +1156,14 @@ int daAlink_c::procGrabStandInit() {
|
|||
commonProcInit(PROC_GRAB_STAND);
|
||||
|
||||
if (checkUnderMove0BckNoArc(ANM_CARRY)) {
|
||||
setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.field_0xA0.mSpeed, daAlinkHIO_grab_c0::m.field_0xA0.mStartFrame, (9.0f + daAlinkHIO_grab_c0::m.field_0xA0.mSpeed), 0.0f);
|
||||
field_0x3478 = daAlinkHIO_grab_c0::m.field_0xA0.mCancelFrame;
|
||||
field_0x347c = 1.0f / (9.0f - daAlinkHIO_grab_c0::m.field_0xA0.mStartFrame);
|
||||
setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.mCarryLiftAnm.mSpeed, daAlinkHIO_grab_c0::m.mCarryLiftAnm.mStartFrame, (9.0f + daAlinkHIO_grab_c0::m.mCarryLiftAnm.mSpeed), 0.0f);
|
||||
field_0x3478 = daAlinkHIO_grab_c0::m.mCarryLiftAnm.mCancelFrame;
|
||||
field_0x347c = 1.0f / (9.0f - daAlinkHIO_grab_c0::m.mCarryLiftAnm.mStartFrame);
|
||||
mProcVar3.field_0x300e = 1;
|
||||
setCarryArmAngle(1.0f, 0.0f);
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_GRAB_UP_START, &daAlinkHIO_grab_c0::m.field_0x28);
|
||||
field_0x3478 = daAlinkHIO_grab_c0::m.field_0x28.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_GRAB_UP_START, &daAlinkHIO_grab_c0::m.mStandReverseAnm);
|
||||
field_0x3478 = daAlinkHIO_grab_c0::m.mStandReverseAnm.mCancelFrame;
|
||||
mProcVar3.field_0x300e = 0;
|
||||
}
|
||||
|
||||
|
|
@ -1184,7 +1184,7 @@ int daAlink_c::procGrabStand() {
|
|||
onModeFlg(4);
|
||||
|
||||
if (!checkNextAction(1) && mProcVar3.field_0x300e != 0) {
|
||||
setCarryArmAngle(field_0x347c * (mUnderFrameCtrl[0].getFrame() - daAlinkHIO_grab_c0::m.field_0xA0.mStartFrame), 0.0f);
|
||||
setCarryArmAngle(field_0x347c * (mUnderFrameCtrl[0].getFrame() - daAlinkHIO_grab_c0::m.mCarryLiftAnm.mStartFrame), 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1295,7 +1295,7 @@ int daAlink_c::procPickUpInit() {
|
|||
fopAcM_onSwitch(field_0x27f4, 0x3F);
|
||||
var_r29 = 0;
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_PICK_UP, &daAlinkHIO_pickUp_c0::m.field_0x0);
|
||||
setSingleAnimeParam(ANM_PICK_UP, &daAlinkHIO_pickUp_c0::m.mGrabAnm);
|
||||
mProcVar3.field_0x300e = 0;
|
||||
mProcVar4.field_0x3010 = 0;
|
||||
var_r29 = 1;
|
||||
|
|
@ -1330,7 +1330,7 @@ int daAlink_c::procPickUp() {
|
|||
}
|
||||
} else if (checkAnmEnd(temp_r30)) {
|
||||
checkNextAction(0);
|
||||
} else if (temp_r30->getFrame() > daAlinkHIO_pickUp_c0::m.field_0x0.mCancelFrame) {
|
||||
} else if (temp_r30->getFrame() > daAlinkHIO_pickUp_c0::m.mGrabAnm.mCancelFrame) {
|
||||
onModeFlg(4);
|
||||
checkNextAction(1);
|
||||
} else if (temp_r30->checkPass(9.0f)) {
|
||||
|
|
@ -1352,7 +1352,7 @@ int daAlink_c::procPickPutInit(int param_0) {
|
|||
|
||||
commonProcInit(PROC_PICK_PUT);
|
||||
mNormalSpeed = 0.0f;
|
||||
setSingleAnimeParam(ANM_PICK_UP, &daAlinkHIO_pickUp_c0::m.field_0x14);
|
||||
setSingleAnimeParam(ANM_PICK_UP, &daAlinkHIO_pickUp_c0::m.mPlaceAnm);
|
||||
|
||||
if (mItemAcKeep.getActor() != NULL) {
|
||||
field_0x37c8 = mItemAcKeep.getActor()->current.pos;
|
||||
|
|
@ -1389,7 +1389,7 @@ int daAlink_c::procPickPut() {
|
|||
|
||||
if (checkAnmEnd(temp_r28)) {
|
||||
checkNextAction(0);
|
||||
} else if (temp_r28->getFrame() < daAlinkHIO_pickUp_c0::m.field_0x14.mCancelFrame) {
|
||||
} else if (temp_r28->getFrame() < daAlinkHIO_pickUp_c0::m.mPlaceAnm.mCancelFrame) {
|
||||
onModeFlg(4);
|
||||
checkNextAction(1);
|
||||
} else if (temp_r28->checkPass(9.0f)) {
|
||||
|
|
@ -1502,7 +1502,7 @@ int daAlink_c::procFmChainUpInit() {
|
|||
}
|
||||
|
||||
commonProcInit(PROC_CHAIN_UP);
|
||||
setSingleAnimeParam(ANM_CHAIN_PICK_UP, &daAlinkHIO_fmChain_c0::m.field_0x0);
|
||||
setSingleAnimeParam(ANM_CHAIN_PICK_UP, &daAlinkHIO_fmChain_c0::m.mGripAnm);
|
||||
mNormalSpeed = 0.0f;
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -1514,7 +1514,7 @@ int daAlink_c::procFmChainUp() {
|
|||
setGrabStatus(0x96, 2);
|
||||
setShapeAngleToAtnActor(0);
|
||||
|
||||
if (checkAnmEnd(temp_r29) || (checkInputOnR() && temp_r29->getFrame() > daAlinkHIO_fmChain_c0::m.field_0x0.mCancelFrame)) {
|
||||
if (checkAnmEnd(temp_r29) || (checkInputOnR() && temp_r29->getFrame() > daAlinkHIO_fmChain_c0::m.mGripAnm.mCancelFrame)) {
|
||||
u8 temp_r27 = field_0x2fa3;
|
||||
fopAc_ac_c* temp_r28 = field_0x2844.getActor();
|
||||
|
||||
|
|
@ -1708,14 +1708,14 @@ f32 daAlink_c::getPushPullAnimeSpeed() {
|
|||
getMoveBGActorName(mPolyInfo1, 0) == PROC_Obj_Bemos)
|
||||
{
|
||||
if (checkWolf()) {
|
||||
var_f31 = daAlinkHIO_wlPush_c0::m.field_0x10;
|
||||
var_f31 = daAlinkHIO_wlPush_c0::m.mHeavyPushAnmSpeed;
|
||||
} else {
|
||||
var_f31 = daAlinkHIO_pushpull_c0::m.field_0x38;
|
||||
var_f31 = daAlinkHIO_pushpull_c0::m.mPushASpeedHeavy;
|
||||
}
|
||||
} else if (checkWolf()) {
|
||||
var_f31 = daAlinkHIO_wlPush_c0::m.field_0x8;
|
||||
var_f31 = daAlinkHIO_wlPush_c0::m.mPushAnmSpeed;
|
||||
} else {
|
||||
var_f31 = daAlinkHIO_pushpull_c0::m.field_0x18;
|
||||
var_f31 = daAlinkHIO_pushpull_c0::m.mPushASpeed;
|
||||
}
|
||||
|
||||
return var_f31;
|
||||
|
|
@ -1734,14 +1734,14 @@ int daAlink_c::procCoPushPullWaitInit(int param_0) {
|
|||
|
||||
f32 var_f31;
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT_PP, daAlinkHIO_wlPush_c0::m.field_0x0, daAlinkHIO_wlPush_c0::m.field_0x4);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT_PP, daAlinkHIO_wlPush_c0::m.mIdleAnmSpeed, daAlinkHIO_wlPush_c0::m.mIdleInterp);
|
||||
var_f31 = 50.0f;
|
||||
} else {
|
||||
if (checkEquipAnime()) {
|
||||
resetUpperAnime(UPPER_2, -1.0f);
|
||||
}
|
||||
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT_PUSH_PULL, daAlinkHIO_pushpull_c0::m.field_0x10, daAlinkHIO_pushpull_c0::m.field_0x14);
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT_PUSH_PULL, daAlinkHIO_pushpull_c0::m.mStandbyASpeed, daAlinkHIO_pushpull_c0::m.mStandbyInterpolation);
|
||||
var_f31 = 50.0f;
|
||||
}
|
||||
|
||||
|
|
@ -1815,7 +1815,7 @@ int daAlink_c::procCoPushMoveInit(int param_0, int param_1) {
|
|||
setSingleAnimeWolfBase(WANM_PUSH_START);
|
||||
var_f31 = 1.0f;
|
||||
} else {
|
||||
setSingleAnimeWolf(WANM_PUSH_LIGHT, var_f31, 0.0f, 24, daAlinkHIO_wlPush_c0::m.field_0xC);
|
||||
setSingleAnimeWolf(WANM_PUSH_LIGHT, var_f31, 0.0f, 24, daAlinkHIO_wlPush_c0::m.mPushInterp);
|
||||
}
|
||||
|
||||
field_0x3478 = 17.0f;
|
||||
|
|
@ -1824,7 +1824,7 @@ int daAlink_c::procCoPushMoveInit(int param_0, int param_1) {
|
|||
setSingleAnimeBase(ANM_PUSH_START);
|
||||
var_f31 = 1.0f;
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_PUSH_LIGHT, var_f31, daAlinkHIO_pushpull_c0::m.field_0x1C);
|
||||
setSingleAnimeBaseSpeed(ANM_PUSH_LIGHT, var_f31, daAlinkHIO_pushpull_c0::m.mPushInterpolation);
|
||||
}
|
||||
|
||||
field_0x3478 = 15.0f;
|
||||
|
|
@ -1953,7 +1953,7 @@ int daAlink_c::procPullMoveInit(int param_0) {
|
|||
setSingleAnimeBase(ANM_PULL_START);
|
||||
} else {
|
||||
var_f31 = getPushPullAnimeSpeed();
|
||||
setSingleAnimeBaseSpeed(ANM_PULL_LIGHT, var_f31, daAlinkHIO_pushpull_c0::m.field_0x24);
|
||||
setSingleAnimeBaseSpeed(ANM_PULL_LIGHT, var_f31, daAlinkHIO_pushpull_c0::m.mPullInterpolation);
|
||||
}
|
||||
|
||||
mUnderFrameCtrl[0].setRate(var_f31);
|
||||
|
|
|
|||
|
|
@ -291,12 +291,12 @@ int daAlink_c::procHangStartInit() {
|
|||
|
||||
if (checkHangFootWall()) {
|
||||
if (!hang_ready && cM_rnd() < 0.7f) {
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.field_0x14);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x14.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.mWallAttachMissAnm);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachMissAnm.mCancelFrame;
|
||||
voiceStart(Z2SE_AL_V_FOOT_MISS);
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.field_0x0);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x0.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.mWallAttachAnm);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachAnm.mCancelFrame;
|
||||
voiceStart(Z2SE_AL_V_JUMP_HANG);
|
||||
}
|
||||
|
||||
|
|
@ -488,8 +488,8 @@ int daAlink_c::procHangWaitInit() {
|
|||
commonProcInit(PROC_HANG_WAIT);
|
||||
|
||||
if (checkNoResetFlg2(FLG2_UNK_2000) && checkHangFootWall()) {
|
||||
setSingleAnime(ANM_CLIMB_HANG, 0.0f, daAlinkHIO_ladder_c0::m.field_0x0.mEndFrame,
|
||||
daAlinkHIO_ladder_c0::m.field_0x0.mEndFrame, 5.0f);
|
||||
setSingleAnime(ANM_CLIMB_HANG, 0.0f, daAlinkHIO_ladder_c0::m.mWallAttachAnm.mEndFrame,
|
||||
daAlinkHIO_ladder_c0::m.mWallAttachAnm.mEndFrame, 5.0f);
|
||||
field_0x2f92 = 0xFE;
|
||||
field_0x2f93 = 0xFE;
|
||||
} else {
|
||||
|
|
@ -1203,7 +1203,7 @@ int daAlink_c::setLadderInit() {
|
|||
if (checkModeFlg(0x40000)) {
|
||||
setLadderPos(getLadderUnitCount() - 2);
|
||||
|
||||
while (mWaterY - current.pos.y > daAlinkHIO_swim_c0::m.mInitHeight) {
|
||||
while (mWaterY - current.pos.y > daAlinkHIO_swim_c0::m.mStartHeight) {
|
||||
current.pos.y += 37.5f;
|
||||
}
|
||||
|
||||
|
|
@ -1281,8 +1281,8 @@ void daAlink_c::setLadderPos(int param_0) {
|
|||
/* 800FD288-800FD2AC 0F7BC8 0024+00 2/2 0/0 0/0 .text getLadderMoveAnmSpeed__9daAlink_cFv
|
||||
*/
|
||||
f32 daAlink_c::getLadderMoveAnmSpeed() {
|
||||
return getAnmSpeedStickRate(daAlinkHIO_ladder_c0::m.field_0x48,
|
||||
daAlinkHIO_ladder_c0::m.field_0x4C);
|
||||
return getAnmSpeedStickRate(daAlinkHIO_ladder_c0::m.mMoveMinASpeed,
|
||||
daAlinkHIO_ladder_c0::m.mMoveMaxSpeed);
|
||||
}
|
||||
|
||||
/* 800FD2AC-800FD4A8 0F7BEC 01FC+00 3/3 0/0 0/0 .text changeLadderMoveProc__9daAlink_cFi
|
||||
|
|
@ -1384,8 +1384,8 @@ int daAlink_c::procLadderUpStartInit() {
|
|||
mNormalSpeed = 0.0f;
|
||||
speedF = 0.0f;
|
||||
|
||||
setSingleAnimeBaseSpeed(ANM_LADDER_UP_START, daAlinkHIO_ladder_c0::m.field_0x28,
|
||||
daAlinkHIO_ladder_c0::m.field_0x2C);
|
||||
setSingleAnimeBaseSpeed(ANM_LADDER_UP_START, daAlinkHIO_ladder_c0::m.mClimbUpStartASpeed,
|
||||
daAlinkHIO_ladder_c0::m.mClimbUpStartInterp);
|
||||
field_0x2f99 = 0x10;
|
||||
field_0x3588 = l_waitBaseAnime;
|
||||
dComIfGp_setPlayerStatus0(0, 0x2000000);
|
||||
|
|
@ -1431,8 +1431,8 @@ int daAlink_c::procLadderUpEndInit(int param_0) {
|
|||
commonProcInit(PROC_LADDER_UP_END);
|
||||
|
||||
daAlink_ANM anm_id = param_0 != 0 ? ANM_LADDER_UP_END_LEFT : ANM_LADDER_UP_END_RIGHT;
|
||||
setSingleAnimeBaseSpeed(anm_id, daAlinkHIO_ladder_c0::m.field_0x30,
|
||||
daAlinkHIO_ladder_c0::m.field_0x34);
|
||||
setSingleAnimeBaseSpeed(anm_id, daAlinkHIO_ladder_c0::m.mClimbUpEndASpeed,
|
||||
daAlinkHIO_ladder_c0::m.mClimbUpEndInterp);
|
||||
field_0x2f99 = 14;
|
||||
setSpecialGravity(0.0f, maxFallSpeed, 0);
|
||||
|
||||
|
|
@ -1459,7 +1459,7 @@ int daAlink_c::procLadderUpEnd() {
|
|||
|
||||
if (checkAnmEnd(frame_ctrl)) {
|
||||
checkNextAction(0);
|
||||
} else if (!(frame_ctrl->getFrame() > daAlinkHIO_ladder_c0::m.field_0x58) ||
|
||||
} else if (!(frame_ctrl->getFrame() > daAlinkHIO_ladder_c0::m.mClimbUpEndCF) ||
|
||||
!checkNextAction(1))
|
||||
{
|
||||
if (frame_ctrl->getFrame() >= 23.0f) {
|
||||
|
|
@ -1493,8 +1493,8 @@ int daAlink_c::procLadderDownStartInit() {
|
|||
shape_angle.y = field_0x306e + 0x8000;
|
||||
current.angle.y = field_0x306e;
|
||||
|
||||
setSingleAnimeBaseSpeed(ANM_LADDER_DOWN_START, daAlinkHIO_ladder_c0::m.field_0x38,
|
||||
daAlinkHIO_ladder_c0::m.field_0x3C);
|
||||
setSingleAnimeBaseSpeed(ANM_LADDER_DOWN_START, daAlinkHIO_ladder_c0::m.mClimbDownStartASpeed,
|
||||
daAlinkHIO_ladder_c0::m.mClimbDownStartInterp);
|
||||
field_0x2f99 = 0x10;
|
||||
field_0x3588 = l_waitBaseAnime;
|
||||
dComIfGp_setPlayerStatus0(0, 0x2000000);
|
||||
|
|
@ -1548,8 +1548,8 @@ int daAlink_c::procLadderDownEndInit(int param_0) {
|
|||
commonProcInit(PROC_LADDER_DOWN_END);
|
||||
|
||||
daAlink_ANM anm_id = param_0 != 0 ? ANM_LADDER_DOWN_END_LEFT : ANM_LADDER_DOWN_END_RIGHT;
|
||||
setSingleAnimeBaseSpeed(anm_id, daAlinkHIO_ladder_c0::m.field_0x40,
|
||||
daAlinkHIO_ladder_c0::m.field_0x44);
|
||||
setSingleAnimeBaseSpeed(anm_id, daAlinkHIO_ladder_c0::m.mClimbDownEndASpeed,
|
||||
daAlinkHIO_ladder_c0::m.mClimbDownEndInterp);
|
||||
field_0x2f99 = 14;
|
||||
setSpecialGravity(0.0f, maxFallSpeed, 0);
|
||||
|
||||
|
|
@ -1571,7 +1571,7 @@ int daAlink_c::procLadderDownEnd() {
|
|||
|
||||
if (checkAnmEnd(frame_ctrl)) {
|
||||
checkNextAction(0);
|
||||
} else if (!(frame_ctrl->getFrame() > daAlinkHIO_ladder_c0::m.field_0x54) ||
|
||||
} else if (!(frame_ctrl->getFrame() > daAlinkHIO_ladder_c0::m.mClimbDownEndCF) ||
|
||||
!checkNextAction(1))
|
||||
{
|
||||
if (frame_ctrl->getFrame() >= 11.0f) {
|
||||
|
|
@ -1629,7 +1629,7 @@ int daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) {
|
|||
}
|
||||
}
|
||||
|
||||
setSingleAnimeBaseSpeed(anm, anm_speed, daAlinkHIO_ladder_c0::m.field_0x50);
|
||||
setSingleAnimeBaseSpeed(anm, anm_speed, daAlinkHIO_ladder_c0::m.mMoveInterp);
|
||||
field_0x2f98 = param_1;
|
||||
|
||||
if (!param_1) {
|
||||
|
|
@ -1679,14 +1679,14 @@ int daAlink_c::procLadderMove() {
|
|||
|
||||
/* 800FE010-800FE034 0F8950 0024+00 3/3 0/0 0/0 .text getClimbMoveUpDownAnmSpeed__9daAlink_cFv */
|
||||
f32 daAlink_c::getClimbMoveUpDownAnmSpeed() {
|
||||
return getAnmSpeedStickRate(daAlinkHIO_ladder_c0::m.field_0x64,
|
||||
daAlinkHIO_ladder_c0::m.field_0x68);
|
||||
return getAnmSpeedStickRate(daAlinkHIO_ladder_c0::m.mWallVerticalMinAnmSpeed,
|
||||
daAlinkHIO_ladder_c0::m.mWallVerticalMaxAnmSpeed);
|
||||
}
|
||||
|
||||
/* 800FE034-800FE058 0F8974 0024+00 4/4 0/0 0/0 .text getClimbMoveSideAnmSpeed__9daAlink_cFv */
|
||||
f32 daAlink_c::getClimbMoveSideAnmSpeed() {
|
||||
return getAnmSpeedStickRate(daAlinkHIO_ladder_c0::m.field_0x5C,
|
||||
daAlinkHIO_ladder_c0::m.field_0x60);
|
||||
return getAnmSpeedStickRate(daAlinkHIO_ladder_c0::m.mWallHorizontalMinAnmSpeed,
|
||||
daAlinkHIO_ladder_c0::m.mWallHorizontalMaxAnmSpeed);
|
||||
}
|
||||
|
||||
/* 800FE058-800FE114 0F8998 00BC+00 9/9 0/0 0/0 .text checkClimbCode__9daAlink_cFR13cBgS_PolyInfo
|
||||
|
|
@ -2145,12 +2145,12 @@ int daAlink_c::procClimbUpStartInit(int param_0) {
|
|||
mNormalSpeed = 0.0f;
|
||||
|
||||
if (param_0 || var_r29 || cM_rnd() < 0.3f) {
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.field_0x0);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x0.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.mWallAttachAnm);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachAnm.mCancelFrame;
|
||||
voiceStart(Z2SE_AL_V_JUMP_HANG);
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.field_0x14);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x14.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.mWallAttachMissAnm);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachMissAnm.mCancelFrame;
|
||||
voiceStart(Z2SE_AL_V_FOOT_MISS);
|
||||
}
|
||||
|
||||
|
|
@ -2158,7 +2158,7 @@ int daAlink_c::procClimbUpStartInit(int param_0) {
|
|||
dComIfGp_setPlayerStatus0(0, 8);
|
||||
|
||||
if (param_0) {
|
||||
current.pos.y = field_0x34ec.y + daAlinkHIO_ladder_c0::m.field_0x6C;
|
||||
current.pos.y = field_0x34ec.y + daAlinkHIO_ladder_c0::m.mWallApproachOffset;
|
||||
}
|
||||
|
||||
field_0x2f99 = 2;
|
||||
|
|
@ -2226,12 +2226,12 @@ int daAlink_c::procClimbDownStartInit(s16 param_0) {
|
|||
deleteEquipItem(TRUE, FALSE);
|
||||
|
||||
if (cM_rnd() < 0.7f) {
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.field_0x0);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x0.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.mWallAttachAnm);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachAnm.mCancelFrame;
|
||||
mProcVar0.field_0x3008 = 0;
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.field_0x14);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x14.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.mWallAttachMissAnm);
|
||||
field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachMissAnm.mCancelFrame;
|
||||
mProcVar0.field_0x3008 = 1;
|
||||
voiceStart(Z2SE_AL_V_FOOT_MISS);
|
||||
}
|
||||
|
|
@ -2614,14 +2614,14 @@ int daAlink_c::procClimbToRoof() {
|
|||
|
||||
/* 801005CC-801005F0 0FAF0C 0024+00 2/2 0/0 0/0 .text getRoofHangFMoveAnmSpeed__9daAlink_cCFv */
|
||||
f32 daAlink_c::getRoofHangFMoveAnmSpeed() const {
|
||||
return getAnmSpeedStickRate(daAlinkHIO_roofHang_c0::m.field_0x24,
|
||||
daAlinkHIO_roofHang_c0::m.field_0x28);
|
||||
return getAnmSpeedStickRate(daAlinkHIO_roofHang_c0::m.mVertMoveMinASpeed,
|
||||
daAlinkHIO_roofHang_c0::m.mVertMoveMaxASpeed);
|
||||
}
|
||||
|
||||
/* 801005F0-80100614 0FAF30 0024+00 2/2 0/0 0/0 .text getRoofHangSMoveAnmSpeed__9daAlink_cCFv */
|
||||
f32 daAlink_c::getRoofHangSMoveAnmSpeed() const {
|
||||
return getAnmSpeedStickRate(daAlinkHIO_roofHang_c0::m.field_0x38,
|
||||
daAlinkHIO_roofHang_c0::m.field_0x3C);
|
||||
return getAnmSpeedStickRate(daAlinkHIO_roofHang_c0::m.mHorizMoveMinASpeed,
|
||||
daAlinkHIO_roofHang_c0::m.mHorizMoveMaxASpeed);
|
||||
}
|
||||
|
||||
/* 80100614-80100668 0FAF54 0054+00 3/3 0/0 0/0 .text
|
||||
|
|
@ -2734,7 +2734,7 @@ int daAlink_c::checkNextActionRoofHang() {
|
|||
int daAlink_c::procRoofHangStartInit(cBgS_PolyInfo const& param_0, cXyz const& param_1,
|
||||
int param_2) {
|
||||
commonProcInit(PROC_ROOF_HANG_START);
|
||||
setSingleAnimeParam(ANM_ROOF_HANG, &daAlinkHIO_roofHang_c0::m.field_0x0);
|
||||
setSingleAnimeParam(ANM_ROOF_HANG, &daAlinkHIO_roofHang_c0::m.mRoofHangAnm);
|
||||
mPolyInfo2.SetPolyInfo(param_0);
|
||||
|
||||
current.pos = param_1;
|
||||
|
|
@ -2766,7 +2766,7 @@ int daAlink_c::procRoofHangStart() {
|
|||
if (mProcVar0.field_0x3008 == 0 &&
|
||||
(checkAnmEnd(frame_ctrl) ||
|
||||
(checkInputOnR() &&
|
||||
frame_ctrl->getFrame() > daAlinkHIO_roofHang_c0::m.field_0x0.mCancelFrame)))
|
||||
frame_ctrl->getFrame() > daAlinkHIO_roofHang_c0::m.mRoofHangAnm.mCancelFrame)))
|
||||
{
|
||||
checkNextActionRoofHang();
|
||||
} else if (checkAnmEnd(frame_ctrl)) {
|
||||
|
|
@ -2797,7 +2797,7 @@ int daAlink_c::procRoofHangWaitInit(int param_0) {
|
|||
}
|
||||
}
|
||||
|
||||
setSingleAnimeBaseSpeed(ANM_ROOF_HANG_WAIT, daAlinkHIO_roofHang_c0::m.field_0x1C, daAlinkHIO_roofHang_c0::m.field_0x20);
|
||||
setSingleAnimeBaseSpeed(ANM_ROOF_HANG_WAIT, daAlinkHIO_roofHang_c0::m.mStandbyASpeed, daAlinkHIO_roofHang_c0::m.mStandbyInterp);
|
||||
|
||||
current.angle.y = shape_angle.y;
|
||||
setSpecialGravity(0.0f, maxFallSpeed, 0);
|
||||
|
|
@ -2846,7 +2846,7 @@ int daAlink_c::procRoofHangFrontMoveInit() {
|
|||
frame = mUnderFrameCtrl[0].getFrame();
|
||||
}
|
||||
|
||||
setSingleAnimeBaseSpeed(ANM_ROOF_HANG_MOVE, anm_speed, daAlinkHIO_roofHang_c0::m.field_0x2C);
|
||||
setSingleAnimeBaseSpeed(ANM_ROOF_HANG_MOVE, anm_speed, daAlinkHIO_roofHang_c0::m.mVertMoveInterp);
|
||||
|
||||
if (frame >= 0) {
|
||||
mUnderFrameCtrl[0].setFrame(frame);
|
||||
|
|
@ -2875,9 +2875,9 @@ int daAlink_c::procRoofHangFrontMove() {
|
|||
checkNextActionRoofHang();
|
||||
} else {
|
||||
if (!checkAttentionLock()) {
|
||||
cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_roofHang_c0::m.field_0x14,
|
||||
daAlinkHIO_roofHang_c0::m.field_0x16,
|
||||
daAlinkHIO_roofHang_c0::m.field_0x18);
|
||||
cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_roofHang_c0::m.mTurnAngleRate,
|
||||
daAlinkHIO_roofHang_c0::m.mMaxTurnAngle,
|
||||
daAlinkHIO_roofHang_c0::m.mMinTurnAngle);
|
||||
|
||||
if (field_0x2f98 == 0) {
|
||||
shape_angle.y = current.angle.y;
|
||||
|
|
@ -2893,8 +2893,8 @@ int daAlink_c::procRoofHangFrontMove() {
|
|||
frame = frameCtrl->getFrame();
|
||||
}
|
||||
|
||||
mNormalSpeed = getAnmSpeedStickRate(daAlinkHIO_roofHang_c0::m.field_0x30,
|
||||
daAlinkHIO_roofHang_c0::m.field_0x34) *
|
||||
mNormalSpeed = getAnmSpeedStickRate(daAlinkHIO_roofHang_c0::m.mVertMoveMinSpeed,
|
||||
daAlinkHIO_roofHang_c0::m.mVertMoveMaxSpeed) *
|
||||
cM_fsin((frame * M_PI) * 0.083333336f);
|
||||
if (mNormalSpeed < 0.0f) {
|
||||
mNormalSpeed = 0.0f;
|
||||
|
|
@ -2951,7 +2951,7 @@ int daAlink_c::procRoofHangSideMoveInit() {
|
|||
}
|
||||
|
||||
setSingleAnimeBaseSpeed(anm_id, getRoofHangSMoveAnmSpeed(),
|
||||
daAlinkHIO_roofHang_c0::m.field_0x40);
|
||||
daAlinkHIO_roofHang_c0::m.mHorizMoveInterp);
|
||||
setSpecialGravity(0.0f, maxFallSpeed, 0);
|
||||
|
||||
f32 tmp_0 = 0.0f;
|
||||
|
|
@ -2996,7 +2996,7 @@ int daAlink_c::procRoofHangTurnInit() {
|
|||
|
||||
f32 anm_speed;
|
||||
if ((s16)(field_0x2fe2 - shape_angle.y) < 0) {
|
||||
anm_speed = -daAlinkHIO_roofHang_c0::m.field_0x44;
|
||||
anm_speed = -daAlinkHIO_roofHang_c0::m.mInvertASpeed;
|
||||
mProcVar0.field_0x3008 = 1;
|
||||
shape_angle.y += 0x8000;
|
||||
setOldRootQuaternion(0, -0x8000, 0);
|
||||
|
|
@ -3005,7 +3005,7 @@ int daAlink_c::procRoofHangTurnInit() {
|
|||
field_0x3478 = 0.0f;
|
||||
field_0x347c = 10.0f;
|
||||
} else {
|
||||
anm_speed = daAlinkHIO_roofHang_c0::m.field_0x44;
|
||||
anm_speed = daAlinkHIO_roofHang_c0::m.mInvertASpeed;
|
||||
mProcVar0.field_0x3008 = 0;
|
||||
mProcVar2.field_0x300c = field_0x2fe2 + 0x8000;
|
||||
field_0x3478 = 10.0f;
|
||||
|
|
@ -3013,7 +3013,7 @@ int daAlink_c::procRoofHangTurnInit() {
|
|||
}
|
||||
|
||||
current.angle.y = shape_angle.y;
|
||||
setSingleAnimeBaseSpeed(ANM_ROOF_HANG_TURN, anm_speed, daAlinkHIO_roofHang_c0::m.field_0x48);
|
||||
setSingleAnimeBaseSpeed(ANM_ROOF_HANG_TURN, anm_speed, daAlinkHIO_roofHang_c0::m.mInvertInterp);
|
||||
|
||||
if (mProcVar0.field_0x3008 != 0) {
|
||||
setFaceBasicTexture(FTANM_UNK_4);
|
||||
|
|
@ -3071,7 +3071,7 @@ void daAlink_c::setRoofHangSwitch() {
|
|||
int daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) {
|
||||
commonProcInit(PROC_ROOF_SWITCH_HANG);
|
||||
deleteEquipItem(TRUE, FALSE);
|
||||
setSingleAnimeParam(ANM_ROOF_HANG, &daAlinkHIO_roofHang_c0::m.field_0x0);
|
||||
setSingleAnimeParam(ANM_ROOF_HANG, &daAlinkHIO_roofHang_c0::m.mRoofHangAnm);
|
||||
|
||||
setSpecialGravity(0.0f, maxFallSpeed, 0);
|
||||
f32 tmp_0 = 0.0f;
|
||||
|
|
@ -3103,8 +3103,8 @@ int daAlink_c::procRoofSwitchHang() {
|
|||
setRoofHangSwitch();
|
||||
|
||||
if (checkAnmEnd(mUnderFrameCtrl)) {
|
||||
setSingleAnimeBaseSpeed(ANM_ROOF_HANG_WAIT, daAlinkHIO_roofHang_c0::m.field_0x1C,
|
||||
daAlinkHIO_roofHang_c0::m.field_0x20);
|
||||
setSingleAnimeBaseSpeed(ANM_ROOF_HANG_WAIT, daAlinkHIO_roofHang_c0::m.mStandbyASpeed,
|
||||
daAlinkHIO_roofHang_c0::m.mStandbyInterp);
|
||||
mProcVar2.field_0x300c = 1;
|
||||
} else if (mProcVar2.field_0x300c != 0) {
|
||||
setDoStatus(0x33);
|
||||
|
|
|
|||
|
|
@ -1507,7 +1507,7 @@ int daAlink_c::procHookshotMove() {
|
|||
|
||||
if (field_0x2f98 != 2) {
|
||||
field_0x2f98 = 2;
|
||||
blend = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
|
||||
blend = daAlinkHIO_basic_c0::m.mBasicInterpolation;
|
||||
}
|
||||
} else {
|
||||
offModeFlg(1);
|
||||
|
|
|
|||
|
|
@ -710,8 +710,8 @@ int daAlink_c::setSyncHorse(int param_0) {
|
|||
s32 dir = getDirectionFromShapeAngle();
|
||||
if (dir == DIR_FORWARD)
|
||||
{
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mNoWalkTime;
|
||||
setSingleAnimeParam(ANM_WSTARTH, &daAlinkHIO_horse_c0::m.mWalkAnm);
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mWalkOutProhibitionTime;
|
||||
setSingleAnimeParam(ANM_WSTARTH, &daAlinkHIO_horse_c0::m.mWalkOutAnm);
|
||||
offNoResetFlg1(FLG1_UNK_1000);
|
||||
}
|
||||
}
|
||||
|
|
@ -755,7 +755,7 @@ int daAlink_c::setSyncHorse(int param_0) {
|
|||
setDoStatus(9);
|
||||
|
||||
if (doTrigger()) {
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mNoWalkTime;
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mWalkOutProhibitionTime;
|
||||
daAlink_ANM anm;
|
||||
const daAlinkHIO_anm_c* anmparam_p = &daAlinkHIO_horse_c0::m.mWhipAnm;
|
||||
anm = ANM_HORSE_LASH;
|
||||
|
|
@ -829,7 +829,7 @@ int daAlink_c::setSyncHorse(int param_0) {
|
|||
mProcID != PROC_HORSE_CUT_TURN) ||
|
||||
field_0x2f8c == 10)
|
||||
{
|
||||
if ((var_r28 || field_0x3004 != daAlinkHIO_horse_c0::m.mNoWalkTime) && field_0x3004 != 0) {
|
||||
if ((var_r28 || field_0x3004 != daAlinkHIO_horse_c0::m.mWalkOutProhibitionTime) && field_0x3004 != 0) {
|
||||
field_0x3004--;
|
||||
}
|
||||
|
||||
|
|
@ -878,8 +878,8 @@ int daAlink_c::setSyncBoar(int param_0) {
|
|||
{
|
||||
int direction = getDirectionFromShapeAngle();
|
||||
if (direction == DIR_FORWARD || direction == DIR_BACKWARD) {
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mNoWalkTime;
|
||||
setSingleAnimeParam(ANM_WSTARTH, &daAlinkHIO_horse_c0::m.mWalkAnm);
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mWalkOutProhibitionTime;
|
||||
setSingleAnimeParam(ANM_WSTARTH, &daAlinkHIO_horse_c0::m.mWalkOutAnm);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1067,10 +1067,10 @@ int daAlink_c::setRideSubjectAngle(s16 param_0) {
|
|||
if (mTargetedActor != NULL) {
|
||||
var_r30 = 10000;
|
||||
} else {
|
||||
var_r30 = daAlinkHIO_horse_c0::m.field_0x58;
|
||||
var_r30 = daAlinkHIO_horse_c0::m.mSubjectiveDownwardMaxAngle;
|
||||
}
|
||||
|
||||
mBodyAngle.x = cLib_minMaxLimit<s16>((s16)mBodyAngle.x, daAlinkHIO_horse_c0::m.field_0x5A, var_r30);
|
||||
mBodyAngle.x = cLib_minMaxLimit<s16>((s16)mBodyAngle.x, daAlinkHIO_horse_c0::m.mSubjectiveUpwardMaxAngle, var_r30);
|
||||
|
||||
s16 temp_r29 = shape_angle.y - param_0;
|
||||
if (checkHorseZelda()) {
|
||||
|
|
@ -1118,7 +1118,7 @@ BOOL daAlink_c::checkHorseGetOffWallCheck(cXyz* i_lineStartPos, cXyz* i_lineEndP
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
if (getGroundAngle(&mLinkLinChk, param_2) < -cM_deg2s(daAlinkHIO_wlSlide_c0::m.field_0x5C)) {
|
||||
if (getGroundAngle(&mLinkLinChk, param_2) < -cM_deg2s(daAlinkHIO_wlSlide_c0::m.mSlidingAngle)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -1538,7 +1538,7 @@ int daAlink_c::procHorseRide() {
|
|||
voiceStart(Z2SE_AL_V_RUSH_HORSE);
|
||||
|
||||
field_0x30a6 = daAlinkHIO_horse_c0::m.mWhipWaitTime;
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mNoWalkTime;
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mWalkOutProhibitionTime;
|
||||
var_r26->onPlayerBackRideLash();
|
||||
}
|
||||
} else if (mProcVar2.field_0x300c == 0 && checkHorseRide()) {
|
||||
|
|
@ -2158,7 +2158,7 @@ int daAlink_c::procHorseCut() {
|
|||
/* 800F1894-800F194C 0EC1D4 00B8+00 3/3 0/0 0/0 .text procHorseCutChargeReadyInit__9daAlink_cFv */
|
||||
int daAlink_c::procHorseCutChargeReadyInit() {
|
||||
commonProcInit(PROC_HORSE_CUT_CHARGE_READY);
|
||||
setUpperAnimeParam(0x96, UPPER_2, &daAlinkHIO_hoCutCharge_c0::m.field_0x0);
|
||||
setUpperAnimeParam(0x96, UPPER_2, &daAlinkHIO_hoCutCharge_c0::m.mChargeAnm);
|
||||
setFacePriBck(0xE8);
|
||||
field_0x2f96 = 2;
|
||||
|
||||
|
|
@ -2222,12 +2222,12 @@ int daAlink_c::procHorseCutTurnInit() {
|
|||
resetUnderAnime(UNDER_2, -1.0f);
|
||||
}
|
||||
|
||||
setSingleAnimeParam(ANM_HORSE_CUT_TURN, &daAlinkHIO_hoCutCharge_c0::m.field_0x28);
|
||||
setSingleAnimeParam(ANM_HORSE_CUT_TURN, &daAlinkHIO_hoCutCharge_c0::m.mSpinAnm);
|
||||
setCutType(43);
|
||||
setSyncRide(1);
|
||||
field_0x3478 = daAlinkHIO_hoCutCharge_c0::m.field_0x50;
|
||||
field_0x3478 = daAlinkHIO_hoCutCharge_c0::m.mSpinAttackRadius;
|
||||
setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_1, 3, 1, 3, field_0x3478 * 0.5f, 200.0f);
|
||||
mProcVar4.field_0x3010 = daAlinkHIO_hoCutCharge_c0::m.field_0x3E;
|
||||
mProcVar4.field_0x3010 = daAlinkHIO_hoCutCharge_c0::m.mSpinStopTime;
|
||||
voiceStart(Z2SE_AL_V_KAITEN);
|
||||
setCutWaterDropEffect();
|
||||
setHorseZeldaDamage();
|
||||
|
|
@ -2246,7 +2246,7 @@ int daAlink_c::procHorseCutTurn() {
|
|||
procHorseWaitInit();
|
||||
field_0x2060->initOldFrameMorf(4.0f, 0, 0x23);
|
||||
} else {
|
||||
if (temp_r30->getFrame() > daAlinkHIO_hoCutCharge_c0::m.field_0x28.mCancelFrame) {
|
||||
if (temp_r30->getFrame() > daAlinkHIO_hoCutCharge_c0::m.mSpinAnm.mCancelFrame) {
|
||||
if (orderTalk(1)) {
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -2261,7 +2261,7 @@ int daAlink_c::procHorseCutTurn() {
|
|||
}
|
||||
}
|
||||
|
||||
if (temp_r30->getFrame() >= daAlinkHIO_hoCutCharge_c0::m.field_0x48 && temp_r30->getFrame() < daAlinkHIO_hoCutCharge_c0::m.field_0x4C) {
|
||||
if (temp_r30->getFrame() >= daAlinkHIO_hoCutCharge_c0::m.mSpinAttackStartFrame && temp_r30->getFrame() < daAlinkHIO_hoCutCharge_c0::m.mSpinAttackEndFrame) {
|
||||
if (!checkNoResetFlg0(FLG0_UNK_40)) {
|
||||
seStartSwordCut(Z2SE_AL_KAITENGIRI);
|
||||
}
|
||||
|
|
@ -2296,7 +2296,7 @@ int daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) {
|
|||
if (checkUnderMove0BckNoArc(ANM_HORSE_STOP) || checkUnderMove0BckNoArc(ANM_HORSE_STOP_TO_STAND) || checkUnderMove0BckNoArc(ANM_HORSE_STAND) || checkUnderMove0BckNoArc(ANM_HORSE_DASH_B) || checkUnderMove0BckNoArc(ANM_HORSE_DASH_A) || checkUnderMove0BckNoArc(ANM_HORSE_DASH_START)) {
|
||||
mProcVar4.field_0x3010 = 0;
|
||||
mProcVar5.field_0x3012 = 0;
|
||||
setUpperAnimeParam(anmIdx[4], UPPER_2, &daAlinkHIO_damHorse_c0::m.field_0x0);
|
||||
setUpperAnimeParam(anmIdx[4], UPPER_2, &daAlinkHIO_damHorse_c0::m.mNoDirectionAnm);
|
||||
} else {
|
||||
cXyz* temp_r29 = getDamageVec(param_0);
|
||||
|
||||
|
|
@ -2304,11 +2304,11 @@ int daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) {
|
|||
f32 temp_f1 = cM_scos(shape_angle.y);
|
||||
cXyz spC((temp_r29->z * -temp_f31) + (temp_r29->x * temp_f1), temp_r29->y, (temp_r29->z * temp_f1) + (temp_r29->x * temp_f31));
|
||||
|
||||
mProcVar4.field_0x3010 = cLib_minMaxLimit<s16>(cM_atan2s(spC.z, spC.y), -daAlinkHIO_damHorse_c0::m.field_0x28, daAlinkHIO_damHorse_c0::m.field_0x28);
|
||||
mProcVar5.field_0x3012 = cLib_minMaxLimit<s16>(cM_atan2s(spC.x, -JMAFastSqrt((spC.y * spC.y) + (spC.z * spC.z))), -daAlinkHIO_damHorse_c0::m.field_0x2A, daAlinkHIO_damHorse_c0::m.field_0x2A);
|
||||
mProcVar4.field_0x3010 = cLib_minMaxLimit<s16>(cM_atan2s(spC.z, spC.y), -daAlinkHIO_damHorse_c0::m.mFrontBackBodyMaxAngle, daAlinkHIO_damHorse_c0::m.mFrontBackBodyMaxAngle);
|
||||
mProcVar5.field_0x3012 = cLib_minMaxLimit<s16>(cM_atan2s(spC.x, -JMAFastSqrt((spC.y * spC.y) + (spC.z * spC.z))), -daAlinkHIO_damHorse_c0::m.mLeftRightBodyMaxAngle, daAlinkHIO_damHorse_c0::m.mLeftRightBodyMaxAngle);
|
||||
|
||||
int direction = getDirectionFromAngle(cM_atan2s(-spC.x, -spC.z));
|
||||
setUpperAnimeParam(anmIdx[direction], UPPER_2, &daAlinkHIO_damHorse_c0::m.field_0x14);
|
||||
setUpperAnimeParam(anmIdx[direction], UPPER_2, &daAlinkHIO_damHorse_c0::m.mWithDirectionAnm);
|
||||
}
|
||||
|
||||
setFacePriBck(0xEA);
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ void daAlink_c::setIronBallWaitUpperAnime(int param_0) {
|
|||
if (!checkIronBallWaitAnime() && !checkIronBallPreSwingAnime() &&
|
||||
(mItemVar0.field_0x3018 == 0 || mItemVar0.field_0x3018 == 8) && (param_0 || checkNoUpperAnime())) {
|
||||
setUpperAnimeBaseSpeed(0x19C, daAlinkHIO_ironBall_c0::m.mWaitAnmSpeed,
|
||||
daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
daAlinkHIO_basic_c0::m.mBasicInterpolation);
|
||||
setFacePriBck(0xE8);
|
||||
field_0x2f96 = 254;
|
||||
field_0x2f97 = 5;
|
||||
|
|
@ -997,7 +997,7 @@ int daAlink_c::procIronBallMove() {
|
|||
|
||||
if (field_0x2f98 != 2) {
|
||||
field_0x2f98 = 2;
|
||||
var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
|
||||
var_f31 = daAlinkHIO_basic_c0::m.mBasicInterpolation;
|
||||
}
|
||||
} else {
|
||||
offModeFlg(1);
|
||||
|
|
|
|||
|
|
@ -254,8 +254,8 @@ int daAlink_c::procCoSwimSubjectivityInit() {
|
|||
setSubjectMode();
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, daAlinkHIO_wlSwim_c0::m.field_0x88,
|
||||
daAlinkHIO_wlSwim_c0::m.field_0x68);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, daAlinkHIO_wlSwim_c0::m.mIdleAnmSpeedWeak,
|
||||
daAlinkHIO_wlSwim_c0::m.mIdleInterp);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, daAlinkHIO_swim_c0::m.mWaitAnmSpeed,
|
||||
daAlinkHIO_swim_c0::m.mWaitInterpolation);
|
||||
|
|
|
|||
|
|
@ -281,7 +281,7 @@ int daAlink_c::procSumouMove() {
|
|||
if (mSpeedModifier > 0.0f && checkInputOnR()) {
|
||||
int direction = getDirectionFromAngle(mStickAngle);
|
||||
if (direction == DIR_LEFT || direction == DIR_RIGHT) {
|
||||
var_r31 = field_0x33ac * (daAlinkHIO_pushpull_c0::m.field_0xE * field_0x33ac);
|
||||
var_r31 = field_0x33ac * (daAlinkHIO_pushpull_c0::m.mSumoRotationAngle * field_0x33ac);
|
||||
|
||||
if (direction == DIR_RIGHT) {
|
||||
var_r31 = -var_r31;
|
||||
|
|
|
|||
|
|
@ -38,13 +38,13 @@ bool daAlink_c::getZoraSwim() const {
|
|||
*/
|
||||
f32 daAlink_c::getSwimFrontMaxSpeed() const {
|
||||
if (checkBootsOrArmorHeavy()) {
|
||||
return daAlinkHIO_swim_c0::m.mUnderwaterMaxSinkSpeed;
|
||||
return daAlinkHIO_swim_c0::m.mUnderwaterFallMaxSpeed;
|
||||
} else if (checkZoraWearAbility()) {
|
||||
return 14.0f;
|
||||
} else if (checkSwimDashMode()) {
|
||||
return daAlinkHIO_swim_c0::m.mDMaxSpeed;
|
||||
return daAlinkHIO_swim_c0::m.mDashMaxSpeed;
|
||||
} else {
|
||||
return daAlinkHIO_swim_c0::m.mMaxForwardSpeed;
|
||||
return daAlinkHIO_swim_c0::m.mForwardMaxSpeed;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -52,13 +52,13 @@ f32 daAlink_c::getSwimFrontMaxSpeed() const {
|
|||
*/
|
||||
f32 daAlink_c::getSwimMaxFallSpeed() const {
|
||||
if (mProcID == PROC_DIVE_JUMP) {
|
||||
return -daAlinkHIO_swim_c0::m.mMaxUnderwaterSpeed;
|
||||
return -daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed;
|
||||
} else if (checkBootsOrArmorHeavy()) {
|
||||
return daAlinkHIO_swim_c0::m.mBootsMaxSinkSpeed;
|
||||
return daAlinkHIO_swim_c0::m.mBootsMaxFallSpeed;
|
||||
} else if (getZoraSwim()) {
|
||||
return daAlinkHIO_swim_c0::m.mMaxSinkSpeed;
|
||||
return daAlinkHIO_swim_c0::m.mMaxFallSpeed;
|
||||
} else {
|
||||
return daAlinkHIO_swim_c0::m.mInitMaxSinkSpeed;
|
||||
return daAlinkHIO_swim_c0::m.mStandingMaxFallSpeed;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -121,7 +121,7 @@ void daAlink_c::setWaterInAnmRate(daPy_frameCtrl_c* i_frameCtrl, f32 i_rate) {
|
|||
if (checkZoraWearAbility()) {
|
||||
i_rate *= daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed;
|
||||
} else {
|
||||
i_rate *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate;
|
||||
i_rate *= daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -144,7 +144,7 @@ void daAlink_c::swimBgCheck(f32 param_0) {
|
|||
var_r29 = field_0x3080;
|
||||
} else {
|
||||
var_r29 = mProcVar2.field_0x300c;
|
||||
start_pos.y += daAlinkHIO_wlWallHang_c0::m.field_0x78;
|
||||
start_pos.y += daAlinkHIO_wlWallHang_c0::m.mAutoWalkHeight;
|
||||
}
|
||||
|
||||
f32 var_f28 = param_0 * cM_scos(var_r29);
|
||||
|
|
@ -243,7 +243,7 @@ void daAlink_c::setSpeedAndAngleSwim() {
|
|||
var_r28 = shape_angle.y + (16384.0f * cM_ssin(mStickAngle));
|
||||
}
|
||||
|
||||
cLib_addCalcAngleS(&shape_angle.y, var_r28, daAlinkHIO_swim_c0::m.mUnderwaterTurnRate, daAlinkHIO_swim_c0::m.mUnderwaterTurnMax, daAlinkHIO_swim_c0::m.mUnderwaterTurnMin);
|
||||
cLib_addCalcAngleS(&shape_angle.y, var_r28, daAlinkHIO_swim_c0::m.mUnderwaterTurnRate, daAlinkHIO_swim_c0::m.mUnderwaterMaxTurn, daAlinkHIO_swim_c0::m.mUnderwaterMinTurn);
|
||||
}
|
||||
|
||||
current.angle.y = shape_angle.y;
|
||||
|
|
@ -252,9 +252,9 @@ void daAlink_c::setSpeedAndAngleSwim() {
|
|||
if (checkInputOnR()) {
|
||||
s16 temp_r29_2 = shape_angle.y;
|
||||
if (checkNoResetFlg0(FLG0_SWIM_UP)) {
|
||||
cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mTurnRate, daAlinkHIO_swim_c0::m.mTurnMax, daAlinkHIO_swim_c0::m.mTurnMin);
|
||||
cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mTurnRate, daAlinkHIO_swim_c0::m.mMaxTurn, daAlinkHIO_swim_c0::m.mMinTurn);
|
||||
} else {
|
||||
cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mUnderwaterTurnRate, daAlinkHIO_swim_c0::m.mUnderwaterTurnMax, daAlinkHIO_swim_c0::m.mUnderwaterTurnMin);
|
||||
cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mUnderwaterTurnRate, daAlinkHIO_swim_c0::m.mUnderwaterMaxTurn, daAlinkHIO_swim_c0::m.mUnderwaterMinTurn);
|
||||
}
|
||||
|
||||
f32 var_f29;
|
||||
|
|
@ -288,9 +288,9 @@ void daAlink_c::setSpeedAndAngleSwim() {
|
|||
|
||||
s16 temp_r29_3 = current.angle.y;
|
||||
if (checkNoResetFlg0(FLG0_SWIM_UP)) {
|
||||
cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mTurnRate, daAlinkHIO_swim_c0::m.mTurnMax, daAlinkHIO_swim_c0::m.mTurnMin);
|
||||
cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mTurnRate, daAlinkHIO_swim_c0::m.mMaxTurn, daAlinkHIO_swim_c0::m.mMinTurn);
|
||||
} else {
|
||||
cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mUnderwaterTurnRate, daAlinkHIO_swim_c0::m.mUnderwaterTurnMax, daAlinkHIO_swim_c0::m.mUnderwaterTurnMin);
|
||||
cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mUnderwaterTurnRate, daAlinkHIO_swim_c0::m.mUnderwaterMaxTurn, daAlinkHIO_swim_c0::m.mUnderwaterMinTurn);
|
||||
}
|
||||
|
||||
var_f30 = daAlinkHIO_swim_c0::m.mAcceleration * field_0x33a8 * cM_scos((s16)(current.angle.y - temp_r29_3));
|
||||
|
|
@ -300,8 +300,8 @@ void daAlink_c::setSpeedAndAngleSwim() {
|
|||
}
|
||||
|
||||
f32 var_f28;
|
||||
if (daAlinkHIO_swim_c0::m.mMaxForwardSpeed < mNormalSpeed && !checkZoraWearAbility()) {
|
||||
var_f28 = daAlinkHIO_swim_c0::m.mDDeceleration;
|
||||
if (daAlinkHIO_swim_c0::m.mForwardMaxSpeed < mNormalSpeed && !checkZoraWearAbility()) {
|
||||
var_f28 = daAlinkHIO_swim_c0::m.mDashDeceleration;
|
||||
} else {
|
||||
var_f28 = daAlinkHIO_swim_c0::m.mDeceleration;
|
||||
}
|
||||
|
|
@ -376,10 +376,10 @@ int daAlink_c::checkSwimAction(int param_0) {
|
|||
if (getMoveBGActorName(mLinkAcch.m_gnd, NULL) == PROC_Obj_ITA) {
|
||||
var_f31 = 200.0f;
|
||||
} else {
|
||||
var_f31 = daAlinkHIO_wlSwim_c0::m.field_0x48;
|
||||
var_f31 = daAlinkHIO_wlSwim_c0::m.mStartHeight;
|
||||
}
|
||||
} else {
|
||||
var_f31 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
var_f31 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
}
|
||||
|
||||
if (checkNoResetFlg0(FLG0_UNK_80) && !checkNoResetFlg0(FLG0_UNDERWATER) && !checkModeFlg(0x40000) && mProcID != PROC_MAGNE_BOOTS_FLY && ((mProcID != PROC_WOLF_LOCK_ATTACK && mProcID != PROC_WOLF_LOCK_ATTACK_TURN) || mProcVar5.field_0x3012 == 0) && mDemo.getDemoMode() != 0x11) {
|
||||
|
|
@ -389,12 +389,12 @@ int daAlink_c::checkSwimAction(int param_0) {
|
|||
|
||||
if (checkWolf()) {
|
||||
if (checkWolfDashMode()) {
|
||||
var_f29 = daAlinkHIO_wlSwim_c0::m.field_0x50;
|
||||
var_f29 = daAlinkHIO_wlSwim_c0::m.mMaxSpeed;
|
||||
} else {
|
||||
var_f29 = daAlinkHIO_wlSwim_c0::m.field_0x80;
|
||||
var_f29 = daAlinkHIO_wlSwim_c0::m.mMaxSpeedWeak;
|
||||
}
|
||||
|
||||
var_f28 = daAlinkHIO_wlSwim_c0::m.field_0x58;
|
||||
var_f28 = daAlinkHIO_wlSwim_c0::m.mMaxFallSpeed;
|
||||
} else {
|
||||
var_f29 = getSwimFrontMaxSpeed();
|
||||
var_f28 = getSwimMaxFallSpeed();
|
||||
|
|
@ -524,9 +524,9 @@ int daAlink_c::checkSwimUpAction() {
|
|||
|
||||
if (!getZoraSwim()) {
|
||||
if (checkWolf()) {
|
||||
field_0x3480 = daAlinkHIO_wlSwim_c0::m.field_0x48;
|
||||
field_0x3480 = daAlinkHIO_wlSwim_c0::m.mStartHeight;
|
||||
} else {
|
||||
cLib_addCalc(&field_0x3480, daAlinkHIO_swim_c0::m.mInitHeight, 0.5f, 15.0f, 1.0f);
|
||||
cLib_addCalc(&field_0x3480, daAlinkHIO_swim_c0::m.mStartHeight, 0.5f, 15.0f, 1.0f);
|
||||
}
|
||||
} else {
|
||||
field_0x3480 = 65.0f;
|
||||
|
|
@ -534,9 +534,9 @@ int daAlink_c::checkSwimUpAction() {
|
|||
|
||||
f32 var_f31;
|
||||
if (checkWolf()) {
|
||||
var_f31 = daAlinkHIO_wlSwim_c0::m.field_0x4C;
|
||||
var_f31 = daAlinkHIO_wlSwim_c0::m.mSurfacingHeight;
|
||||
} else {
|
||||
var_f31 = daAlinkHIO_swim_c0::m.mResurfaceHeight;
|
||||
var_f31 = daAlinkHIO_swim_c0::m.mFloatUpHeight;
|
||||
}
|
||||
|
||||
if (!checkBootsOrArmorHeavy() && !checkNoResetFlg0(FLG0_SWIM_UP)) {
|
||||
|
|
@ -614,9 +614,9 @@ BOOL daAlink_c::checkSwimFall() {
|
|||
int daAlink_c::checkSwimOutAction() {
|
||||
f32 var_f31;
|
||||
if (checkWolf()) {
|
||||
var_f31 = daAlinkHIO_wlSwim_c0::m.field_0x48;
|
||||
var_f31 = daAlinkHIO_wlSwim_c0::m.mStartHeight;
|
||||
} else {
|
||||
var_f31 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
var_f31 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
}
|
||||
|
||||
if (checkSwimFall()) {
|
||||
|
|
@ -627,10 +627,10 @@ int daAlink_c::checkSwimOutAction() {
|
|||
current.angle.y = sp8.atan2sX_Z();
|
||||
|
||||
if (checkWolf()) {
|
||||
if (mNormalSpeed > daAlinkHIO_wlAutoJump_c0::m.field_0x74) {
|
||||
mNormalSpeed = daAlinkHIO_wlAutoJump_c0::m.field_0x74;
|
||||
if (mNormalSpeed > daAlinkHIO_wlAutoJump_c0::m.mWeakJumpMaxSpeed) {
|
||||
mNormalSpeed = daAlinkHIO_wlAutoJump_c0::m.mWeakJumpMaxSpeed;
|
||||
}
|
||||
return procWolfFallInit(2, daAlinkHIO_wlAutoJump_c0::m.field_0x54);
|
||||
return procWolfFallInit(2, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp);
|
||||
} else {
|
||||
if (mNormalSpeed > daAlinkHIO_autoJump_c0::m.mMaxJumpSpeed) {
|
||||
mNormalSpeed = daAlinkHIO_autoJump_c0::m.mMaxJumpSpeed;
|
||||
|
|
@ -680,13 +680,13 @@ void daAlink_c::setSwimMoveAnime() {
|
|||
BOOL var_r25 = 0;
|
||||
|
||||
if (field_0x2f98 == 4) {
|
||||
f32 temp_f29 = daAlinkHIO_swim_c0::m.mMaxUnderwaterSpeed + daAlinkHIO_swim_c0::m.mUnderwaterButtonSpeed;
|
||||
f32 temp_f29 = daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed + daAlinkHIO_swim_c0::m.mUnderwaterButtonAdditionalSpeed;
|
||||
|
||||
field_0x3478 = daAlinkHIO_swim_c0::m.mUnderwaterMinAnmSpeed;
|
||||
field_0x347c = daAlinkHIO_swim_c0::m.mUnderwaterMaxAnmSpeed;
|
||||
|
||||
if (field_0x594 < daAlinkHIO_swim_c0::m.mMaxUnderwaterSpeed) {
|
||||
field_0x594 = daAlinkHIO_swim_c0::m.mMaxUnderwaterSpeed;
|
||||
if (field_0x594 < daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed) {
|
||||
field_0x594 = daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed;
|
||||
} else if (doTrigger()) {
|
||||
field_0x594 += 0.75f;
|
||||
if (field_0x594 > temp_f29) {
|
||||
|
|
@ -708,10 +708,10 @@ void daAlink_c::setSwimMoveAnime() {
|
|||
mProcVar5.field_0x3012 = 1;
|
||||
}
|
||||
} else if (!checkSwimMoveHandAnime()) {
|
||||
cLib_chaseF(&field_0x594, daAlinkHIO_swim_c0::m.mMaxUnderwaterSpeed, 0.4f);
|
||||
cLib_chaseF(&field_0x594, daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed, 0.4f);
|
||||
}
|
||||
|
||||
var_f31 = 1.0f / daAlinkHIO_swim_c0::m.mMaxUnderwaterSpeed;
|
||||
var_f31 = 1.0f / daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed;
|
||||
|
||||
if (checkZoraWearAbility() && (field_0x3198 == ANM_SWIM_DIVE || (field_0x3198 == ANM_SWIM_ZORA_START && !checkAnmEnd(temp_r28)))) {
|
||||
var_r29 = ANM_SWIM_ZORA_START;
|
||||
|
|
@ -736,9 +736,9 @@ void daAlink_c::setSwimMoveAnime() {
|
|||
}
|
||||
|
||||
if (checkSwimDashMode()) {
|
||||
field_0x3478 = daAlinkHIO_swim_c0::m.mDMinAnmSpeed;
|
||||
field_0x347c = daAlinkHIO_swim_c0::m.mDMaxAnmSpeed;
|
||||
field_0x594 = daAlinkHIO_swim_c0::m.mDMaxSpeed;
|
||||
field_0x3478 = daAlinkHIO_swim_c0::m.mDashMinAnmSpeed;
|
||||
field_0x347c = daAlinkHIO_swim_c0::m.mDashMaxAnmSpeed;
|
||||
field_0x594 = daAlinkHIO_swim_c0::m.mDashMaxSpeed;
|
||||
} else {
|
||||
field_0x3478 = daAlinkHIO_swim_c0::m.mForwardMinAnmSpeed;
|
||||
field_0x347c = daAlinkHIO_swim_c0::m.mForwardMaxAnmSpeed;
|
||||
|
|
@ -754,7 +754,7 @@ void daAlink_c::setSwimMoveAnime() {
|
|||
if (checkZoraWearAbility()) {
|
||||
field_0x594 = 10.0f;
|
||||
} else {
|
||||
field_0x594 = daAlinkHIO_swim_c0::m.mMaxBackwardSpeed;
|
||||
field_0x594 = daAlinkHIO_swim_c0::m.mBackwardMaxSpeed;
|
||||
}
|
||||
|
||||
var_f31 = 1.0f / field_0x594;
|
||||
|
|
@ -771,7 +771,7 @@ void daAlink_c::setSwimMoveAnime() {
|
|||
if (checkZoraWearAbility()) {
|
||||
field_0x594 = 12.0f;
|
||||
} else {
|
||||
field_0x594 = daAlinkHIO_swim_c0::m.mMaxStrafeSpeed;
|
||||
field_0x594 = daAlinkHIO_swim_c0::m.mStrafeMaxSpeed;
|
||||
}
|
||||
|
||||
var_f31 = 1.0f / field_0x594;
|
||||
|
|
@ -785,7 +785,7 @@ void daAlink_c::setSwimMoveAnime() {
|
|||
|
||||
if (checkBootsOrArmorHeavy()) {
|
||||
var_r29 = ANM_SWIM_WAIT;
|
||||
field_0x594 = daAlinkHIO_swim_c0::m.mUnderwaterMaxSinkSpeed;
|
||||
field_0x594 = daAlinkHIO_swim_c0::m.mUnderwaterFallMaxSpeed;
|
||||
if (mEquipItem != fpcNm_ITEM_NONE && !checkHookshotAnime()) {
|
||||
setDoStatus(4);
|
||||
}
|
||||
|
|
@ -818,7 +818,7 @@ void daAlink_c::setSwimMoveAnime() {
|
|||
if (var_r29 != ANM_SWIM_WAIT && var_r29 != ANM_SWIM_DASH) {
|
||||
f32 temp_f30 = var_f31 * fabsf(mNormalSpeed);
|
||||
if (temp_f30 > 1.0f && field_0x2f98 == 4) {
|
||||
temp_r28->setRate(daAlinkHIO_swim_c0::m.mUnderwaterMaxAnmSpeed + ((temp_f30 - 1.0f) * daAlinkHIO_swim_c0::m.mUnderwaterButtonAnmSpeed));
|
||||
temp_r28->setRate(daAlinkHIO_swim_c0::m.mUnderwaterMaxAnmSpeed + ((temp_f30 - 1.0f) * daAlinkHIO_swim_c0::m.mUnderwaterAdditionalAnmSpeed));
|
||||
} else {
|
||||
temp_r28->setRate(field_0x3478 + (field_0x347c * temp_f30));
|
||||
}
|
||||
|
|
@ -915,12 +915,12 @@ void daAlink_c::setSwimUpDownOffset() {
|
|||
f32 var_f1;
|
||||
if (checkWolf()) {
|
||||
if (checkHeavyStateOn(1, 1)) {
|
||||
var_f1 = daAlinkHIO_wlSwim_c0::m.field_0x98;
|
||||
var_f1 = daAlinkHIO_wlSwim_c0::m.mHeavyIdleUpDownSwayAmount;
|
||||
} else {
|
||||
var_f1 = daAlinkHIO_wlSwim_c0::m.field_0x6C;
|
||||
var_f1 = daAlinkHIO_wlSwim_c0::m.mIdleUpDownSwayAmount;
|
||||
}
|
||||
} else {
|
||||
var_f1 = daAlinkHIO_swim_c0::m.mWaitVibrationIntensity;
|
||||
var_f1 = daAlinkHIO_swim_c0::m.mWaitUpDownShakeAmount;
|
||||
}
|
||||
|
||||
field_0x2b98 = var_f1 * cM_ssin(mProcVar2.field_0x300c);
|
||||
|
|
@ -939,11 +939,11 @@ int daAlink_c::procSwimUpInit() {
|
|||
field_0x3080 = 0;
|
||||
onNoResetFlg0(FLG0_SWIM_UP);
|
||||
mZ2Link.setInWater(false);
|
||||
setSingleAnimeParam(ANM_SWIM_RESURFACE, &daAlinkHIO_swim_c0::m.mResurfaceAnm);
|
||||
setSingleAnimeParam(ANM_SWIM_RESURFACE, &daAlinkHIO_swim_c0::m.mFloatUpAnm);
|
||||
dComIfGp_setPlayerStatus0(0, 0x100000);
|
||||
mProcVar0.field_0x3008 = 0;
|
||||
mProcVar4.field_0x3010 = 0;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
field_0x3000 = 0;
|
||||
|
||||
seStartMapInfo(Z2SE_AL_OUTOF_WATER);
|
||||
|
|
@ -970,7 +970,7 @@ int daAlink_c::procSwimUp() {
|
|||
}
|
||||
} else if (checkAnmEnd(frame_ctrl)) {
|
||||
procSwimWaitInit(0);
|
||||
} else if (frame_ctrl->getFrame() > daAlinkHIO_swim_c0::m.mResurfaceAnm.mCancelFrame &&
|
||||
} else if (frame_ctrl->getFrame() > daAlinkHIO_swim_c0::m.mFloatUpAnm.mCancelFrame &&
|
||||
checkInputOnR())
|
||||
{
|
||||
procSwimMoveInit();
|
||||
|
|
@ -988,7 +988,7 @@ int daAlink_c::procSwimWaitInit(int param_0) {
|
|||
|
||||
if (checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
offNoResetFlg0(FLG0_UNDERWATER);
|
||||
current.pos.y += daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
current.pos.y += daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
}
|
||||
|
||||
commonProcInit(PROC_SWIM_WAIT);
|
||||
|
|
@ -996,10 +996,10 @@ int daAlink_c::procSwimWaitInit(int param_0) {
|
|||
if (param_0) {
|
||||
seStartMapInfo(Z2SE_AL_INTO_WATER);
|
||||
mProcVar4.field_0x3010 = 0;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
} else if (!mode_40000) {
|
||||
mProcVar4.field_0x3010 = 0;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
}
|
||||
|
||||
swimDeleteItem();
|
||||
|
|
@ -1098,7 +1098,7 @@ int daAlink_c::procSwimMoveInit() {
|
|||
}
|
||||
|
||||
if (!mode_40000) {
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
mProcVar4.field_0x3010 = 0;
|
||||
}
|
||||
|
||||
|
|
@ -1185,7 +1185,7 @@ int daAlink_c::procSwimDiveInit() {
|
|||
|
||||
field_0x2f99 = 0x10;
|
||||
field_0x3588 = l_waitBaseAnime;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
mProcVar4.field_0x3010 = 0;
|
||||
|
||||
dComIfGp_setPlayerStatus0(0, 0x100000);
|
||||
|
|
@ -1226,7 +1226,7 @@ int daAlink_c::procSwimDive() {
|
|||
}
|
||||
|
||||
if (checkAnmEnd(frame_ctrl)) {
|
||||
speed.y = daAlinkHIO_swim_c0::m.mMaxSinkSpeed;
|
||||
speed.y = daAlinkHIO_swim_c0::m.mMaxFallSpeed;
|
||||
|
||||
if (mProcVar2.field_0x300c != 0) {
|
||||
field_0x3080 = 0x2800;
|
||||
|
|
@ -1272,7 +1272,7 @@ int daAlink_c::procSwimHookshotSubjectInit() {
|
|||
mProcVar0.field_0x3008 = 0;
|
||||
field_0x594 = getSwimFrontMaxSpeed();
|
||||
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
mProcVar4.field_0x3010 = 0;
|
||||
field_0x30d0 = 0;
|
||||
|
||||
|
|
@ -1350,7 +1350,7 @@ int daAlink_c::procSwimHookshotMoveInit() {
|
|||
field_0x3080 = 0;
|
||||
}
|
||||
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
mProcVar4.field_0x3010 = 0;
|
||||
field_0x30d0 = 0;
|
||||
|
||||
|
|
@ -1437,16 +1437,16 @@ int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) {
|
|||
}
|
||||
|
||||
f32 scale =
|
||||
temp_r30->abs() * daAlinkHIO_damSwim_c0::m.field_0x80 + daAlinkHIO_damSwim_c0::m.field_0x7C;
|
||||
if (scale > daAlinkHIO_damSwim_c0::m.field_0x88) {
|
||||
scale = daAlinkHIO_damSwim_c0::m.field_0x88;
|
||||
temp_r30->abs() * daAlinkHIO_damSwim_c0::m.mAttackSpeedRate + daAlinkHIO_damSwim_c0::m.mInitialSpeed;
|
||||
if (scale > daAlinkHIO_damSwim_c0::m.mMaxSpeed) {
|
||||
scale = daAlinkHIO_damSwim_c0::m.mMaxSpeed;
|
||||
}
|
||||
|
||||
field_0x3750 = temp_r30->normZP();
|
||||
field_0x3750 *= scale;
|
||||
|
||||
if (getZoraSwim()) {
|
||||
setUpperAnimeParam(0xBF, UPPER_2, &daAlinkHIO_damSwim_c0::m.field_0x50);
|
||||
setUpperAnimeParam(0xBF, UPPER_2, &daAlinkHIO_damSwim_c0::m.mSinkAnm);
|
||||
setFacePriBck(0xEA);
|
||||
setFacePriTexture(FTANM_UNK_27);
|
||||
return 1;
|
||||
|
|
@ -1458,36 +1458,36 @@ int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) {
|
|||
temp_r30->z * cM_scos(shape_angle.y) + temp_r30->x * cM_ssin(shape_angle.y));
|
||||
|
||||
mProcVar0.field_0x3008 =
|
||||
cLib_minMaxLimit(cM_atan2s(sp24.z, sp24.y), (s16)-daAlinkHIO_damSwim_c0::m.field_0x78,
|
||||
(s16)daAlinkHIO_damSwim_c0::m.field_0x78);
|
||||
cLib_minMaxLimit(cM_atan2s(sp24.z, sp24.y), (s16)-daAlinkHIO_damSwim_c0::m.mFrontBackBodyMaxAngle,
|
||||
(s16)daAlinkHIO_damSwim_c0::m.mFrontBackBodyMaxAngle);
|
||||
|
||||
mProcVar1.field_0x300a = cLib_minMaxLimit(
|
||||
cM_atan2s(sp24.x, -JMAFastSqrt(sp24.y * sp24.y + sp24.z * sp24.z)),
|
||||
(s16)-daAlinkHIO_damSwim_c0::m.field_0x7A, (s16)daAlinkHIO_damSwim_c0::m.field_0x7A);
|
||||
(s16)-daAlinkHIO_damSwim_c0::m.mLeftRightBodyMaxAngle, (s16)daAlinkHIO_damSwim_c0::m.mLeftRightBodyMaxAngle);
|
||||
|
||||
int dir = getDirectionFromAngle(cM_atan2s(-sp24.x, -sp24.z));
|
||||
if (bvar4) {
|
||||
setSingleAnimeParam(ANM_SWIM_DMG_FREEZE, &daAlinkHIO_damSwim_c0::m.field_0x64);
|
||||
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x64.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_SWIM_DMG_FREEZE, &daAlinkHIO_damSwim_c0::m.mSurfaceAnm);
|
||||
field_0x3478 = daAlinkHIO_damSwim_c0::m.mSurfaceAnm.mCancelFrame;
|
||||
mProcVar0.field_0x3008 = 0;
|
||||
mProcVar1.field_0x300a = 0;
|
||||
} else if (dir == DIR_FORWARD) {
|
||||
setSingleAnimeParam(ANM_SWIM_DMG_FRONT, &daAlinkHIO_damSwim_c0::m.field_0x0);
|
||||
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x0.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_SWIM_DMG_FRONT, &daAlinkHIO_damSwim_c0::m.mFrontAnm);
|
||||
field_0x3478 = daAlinkHIO_damSwim_c0::m.mFrontAnm.mCancelFrame;
|
||||
} else if (dir == DIR_BACKWARD) {
|
||||
setSingleAnimeParam(ANM_SWIM_DMG_BACK, &daAlinkHIO_damSwim_c0::m.field_0x14);
|
||||
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x14.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_SWIM_DMG_BACK, &daAlinkHIO_damSwim_c0::m.mRearAnm);
|
||||
field_0x3478 = daAlinkHIO_damSwim_c0::m.mRearAnm.mCancelFrame;
|
||||
} else if (dir == DIR_LEFT) {
|
||||
setSingleAnimeParam(ANM_SWIM_DMG_LEFT, &daAlinkHIO_damSwim_c0::m.field_0x28);
|
||||
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x28.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_SWIM_DMG_LEFT, &daAlinkHIO_damSwim_c0::m.mLeftAnm);
|
||||
field_0x3478 = daAlinkHIO_damSwim_c0::m.mLeftAnm.mCancelFrame;
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_SWIM_DMG_RIGHT, &daAlinkHIO_damSwim_c0::m.field_0x3C);
|
||||
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x3C.mCancelFrame;
|
||||
setSingleAnimeParam(ANM_SWIM_DMG_RIGHT, &daAlinkHIO_damSwim_c0::m.mRightAnm);
|
||||
field_0x3478 = daAlinkHIO_damSwim_c0::m.mRightAnm.mCancelFrame;
|
||||
}
|
||||
|
||||
mNormalSpeed = 0.0f;
|
||||
field_0x347c = M_PI / (mUnderFrameCtrl->getEnd() - mUnderFrameCtrl->getStart());
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight;
|
||||
current.angle.y = shape_angle.y;
|
||||
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -290,7 +290,7 @@ int daAlink_c::procCoHorseCallWaitInit(int param_0) {
|
|||
}
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.field_0x70, 3.0f);
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed, 3.0f);
|
||||
} else {
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f);
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -148,7 +148,7 @@ void daNpc_Bans_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) {
|
|||
JORFile jorFile;
|
||||
int len;
|
||||
|
||||
switch (reinterpret_cast<u32>(event->id)) {
|
||||
switch ((u32)event->id) {
|
||||
case 0x40000002:
|
||||
if (jorFile.open(6, "", NULL, NULL, NULL)) {
|
||||
memset(buffer, 0, sizeof(buffer));
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ void daNpc_Kn_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) {
|
|||
|
||||
JORFile aJStack_910;
|
||||
int len;
|
||||
switch (reinterpret_cast<u32>(event->id)) {
|
||||
switch ((u32)event->id) {
|
||||
case 0x40000002:
|
||||
if (aJStack_910.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL) != 0) {
|
||||
memset(msg_buffer, 0, sizeof(msg_buffer));
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ void daNpc_Toby_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) {
|
|||
|
||||
JORFile aJStack_910;
|
||||
int len;
|
||||
switch (reinterpret_cast<u32>(event->id)) {
|
||||
switch ((u32)event->id) {
|
||||
case 0x40000002:
|
||||
if (aJStack_910.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL) != 0) {
|
||||
memset(msg_buffer, 0, 2000);
|
||||
|
|
|
|||
|
|
@ -596,7 +596,7 @@ void daNpcWrestler_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) {
|
|||
|
||||
JORFile aJStack_910;
|
||||
int len;
|
||||
switch (reinterpret_cast<u32>(event->id)) {
|
||||
switch ((u32)event->id) {
|
||||
case 0x40000002:
|
||||
if (aJStack_910.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL) != 0) {
|
||||
memset(msg_buffer, 0, 2000);
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ void daNpc_yamiD_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) {
|
|||
|
||||
JORFile aJStack_910;
|
||||
int len;
|
||||
switch (reinterpret_cast<u32>(event->id)) {
|
||||
switch ((u32)event->id) {
|
||||
case 0x40000002:
|
||||
if (aJStack_910.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL) != 0) {
|
||||
memset(auStack_7e0, 0, 2000);
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ void daNpc_Zelda_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) {
|
|||
JORReflexible::listenPropertyEvent(event);
|
||||
|
||||
JORFile aJStack_910;
|
||||
switch (reinterpret_cast<u32>(event->id)) {
|
||||
switch ((u32)event->id) {
|
||||
case 0x40000002:
|
||||
if (aJStack_910.open(6, "", NULL, NULL, NULL) != 0) {
|
||||
memset(auStack_7e0, 0, 2000);
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ void daObj_ItaMato_HIO_c::listenPropertyEvent(const JORPropertyEvent* i_event) {
|
|||
JORReflexible::listenPropertyEvent(i_event);
|
||||
JORFile jorFile;
|
||||
|
||||
switch (reinterpret_cast<u32>(i_event->id)) {
|
||||
switch ((u32)i_event->id) {
|
||||
case 0x40000002:
|
||||
if (jorFile.open(6, "すべてのファイル(*.*)", NULL, NULL, NULL)) {
|
||||
memset(buffer, 0, sizeof(buffer));
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ void daObj_Pumpkin_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) {
|
|||
JORReflexible::listenPropertyEvent(event);
|
||||
JORFile file_handle;
|
||||
int len;
|
||||
switch (reinterpret_cast<u32>(event->id)) {
|
||||
switch ((u32)event->id) {
|
||||
case 0x40000002:
|
||||
if (file_handle.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL) != 0) {
|
||||
memset(msg_buffer, 0, 2000);
|
||||
|
|
|
|||
Loading…
Reference in New Issue