mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
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:
+3354
-2190
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;
|
||||
|
||||
+111
-112
File diff suppressed because it is too large
Load Diff
+5990
-8
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);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user