mirror of
https://github.com/zeldaret/tp
synced 2026-06-09 12:46:13 -04:00
d_a_e_pz equivalent (#2330)
* d_a_e_pz equivalent * rename var * match f_pc closer to debug * hopefully fix decompctx * sdk done * remove unneeded file
This commit is contained in:
+92
-94
@@ -9780,14 +9780,14 @@ s16 daAlink_c::getRoofAngle(cBgS_PolyInfo* param_0, s16 param_1) {
|
||||
|
||||
/* 800B01FC-800B02BC 0AAB3C 00C0+00 2/2 0/0 0/0 .text
|
||||
* getWallEdgePos__9daAlink_cFRC4cXyzP8cM3dGPlaP8cM3dGPlaP4cXyzi */
|
||||
BOOL daAlink_c::getWallEdgePos(cXyz const& param_0, cM3dGPla* param_1, cM3dGPla* param_2,
|
||||
cXyz* param_3, int param_4) {
|
||||
cXyz sp20(param_1->mNormal.z, 0.0f, -param_1->mNormal.x);
|
||||
sp20.normalizeZP();
|
||||
BOOL daAlink_c::getWallEdgePos(cXyz const& param_0, cM3dGPla* i_planeA, cM3dGPla* i_planeB,
|
||||
cXyz* o_outVec, int unused) {
|
||||
cXyz normal(i_planeA->mNormal.z, 0.0f, -i_planeA->mNormal.x);
|
||||
normal.normalizeZP();
|
||||
|
||||
cM3dGPla sp2C(&sp20, -((sp20.z * param_0.z) + ((sp20.x * param_0.x) + (sp20.y * param_0.y))));
|
||||
cM3dGPla planeC(&normal, -((normal.z * param_0.z) + ((normal.x * param_0.x) + (normal.y * param_0.y))));
|
||||
|
||||
return cM3d_3PlaneCrossPos(*param_1, *param_2, sp2C, param_3);
|
||||
return cM3d_3PlaneCrossPos(*i_planeA, *i_planeB, planeC, o_outVec);
|
||||
}
|
||||
|
||||
/* 800B02BC-800B146C 0AABFC 11B0+00 9/9 0/0 0/0 .text setFrontWallType__9daAlink_cFv */
|
||||
@@ -9806,8 +9806,8 @@ void daAlink_c::setFrontWallType() {
|
||||
if (field_0x2f91 == 0) {
|
||||
field_0x2f91 = 1;
|
||||
if (!checkMagneBootsOn()) {
|
||||
cXyz sp98;
|
||||
cXyz sp8C;
|
||||
cXyz chk_start_pos;
|
||||
cXyz chk_end_pos;
|
||||
f32 sp64 = cM_ssin(shape_angle.y);
|
||||
f32 sp60 = cM_scos(shape_angle.y);
|
||||
|
||||
@@ -9833,39 +9833,38 @@ void daAlink_c::setFrontWallType() {
|
||||
}
|
||||
}
|
||||
|
||||
sp98.x = mHookshotTopPos.x - (sp64 * var_f31);
|
||||
sp98.z = mHookshotTopPos.z - (sp60 * var_f31);
|
||||
sp8C.x = (2.0f * mHookshotTopPos.x) - sp98.x;
|
||||
sp8C.z = (2.0f * mHookshotTopPos.z) - sp98.z;
|
||||
chk_start_pos.x = mHookshotTopPos.x - (sp64 * var_f31);
|
||||
chk_start_pos.z = mHookshotTopPos.z - (sp60 * var_f31);
|
||||
chk_end_pos.x = (2.0f * mHookshotTopPos.x) - chk_start_pos.x;
|
||||
chk_end_pos.z = (2.0f * mHookshotTopPos.z) - chk_start_pos.z;
|
||||
sp50 = mHookshotTopPos.y;
|
||||
sp54 = 10.0f + mHookshotTopPos.y;
|
||||
} else {
|
||||
sp98.x = current.pos.x;
|
||||
sp98.z = current.pos.z;
|
||||
sp8C.x = sp98.x + (sp64 * (25.0f + var_f31));
|
||||
sp8C.z = sp98.z + (sp60 * (25.0f + var_f31));
|
||||
chk_start_pos.x = current.pos.x;
|
||||
chk_start_pos.z = current.pos.z;
|
||||
chk_end_pos.x = chk_start_pos.x + (sp64 * (25.0f + var_f31));
|
||||
chk_end_pos.z = chk_start_pos.z + (sp60 * (25.0f + var_f31));
|
||||
sp50 = current.pos.y;
|
||||
sp54 = 100.0f + current.pos.y;
|
||||
}
|
||||
|
||||
BOOL sp4C = 0;
|
||||
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
sp98.y = sp50 + mAcchCir[i].GetWallH();
|
||||
sp8C.y = sp98.y;
|
||||
chk_start_pos.y = sp50 + mAcchCir[i].GetWallH();
|
||||
chk_end_pos.y = chk_start_pos.y;
|
||||
|
||||
if (commonLineCheck(&sp98, &sp8C)) {
|
||||
if (commonLineCheck(&chk_start_pos, &chk_end_pos)) {
|
||||
var_r27 = dComIfG_Bgsp().GetWallCode(mLinkLinChk);
|
||||
|
||||
if (i == 0 && var_r27 == 3 && checkStageName("D_MN10") != 0 && fopAcM_GetRoomNo(this) == 6) {
|
||||
sp4C = 1;
|
||||
} else if (!checkWolf() && sp5C == 0 && ((i == 0 && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) || mProcID == PROC_HOOKSHOT_FLY) && var_r27 == 0) {
|
||||
sp5C = 1;
|
||||
sp98.y = sp54;
|
||||
sp8C.y = sp98.y;
|
||||
chk_start_pos.y = sp54;
|
||||
chk_end_pos.y = chk_start_pos.y;
|
||||
|
||||
if (commonLineCheck(&sp98, &sp8C) && checkClimbCode(mLinkLinChk)) {
|
||||
if (commonLineCheck(&chk_start_pos, &chk_end_pos) && checkClimbCode(mLinkLinChk)) {
|
||||
sp58 = 1;
|
||||
break;
|
||||
}
|
||||
@@ -9883,24 +9882,24 @@ void daAlink_c::setFrontWallType() {
|
||||
return;
|
||||
}
|
||||
|
||||
sp98.y = sp50 + mAcchCir[0].GetWallH();
|
||||
sp8C.y = sp98.y;
|
||||
chk_start_pos.y = sp50 + mAcchCir[0].GetWallH();
|
||||
chk_end_pos.y = chk_start_pos.y;
|
||||
|
||||
if (!commonLineCheck(&sp98, &sp8C)) {
|
||||
if (!commonLineCheck(&chk_start_pos, &chk_end_pos)) {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
sp4C = 0;
|
||||
}
|
||||
|
||||
cM3dGPla spE0;
|
||||
dComIfG_Bgsp().GetTriPla(mLinkLinChk, &spE0);
|
||||
cM3dGPla linchk_tri;
|
||||
dComIfG_Bgsp().GetTriPla(mLinkLinChk, &linchk_tri);
|
||||
|
||||
if ((fabsf(spE0.mNormal.y) > 0.05f)) {
|
||||
if ((fabsf(linchk_tri.mNormal.y) > 0.05f)) {
|
||||
return;
|
||||
}
|
||||
|
||||
field_0x306e = spE0.mNormal.atan2sX_Z();
|
||||
field_0x306e = linchk_tri.mNormal.atan2sX_Z();
|
||||
BOOL sp48 = 0;
|
||||
|
||||
s16 spA;
|
||||
@@ -9926,29 +9925,28 @@ void daAlink_c::setFrontWallType() {
|
||||
if (checkModeFlg(2)) {
|
||||
field_0x34ec = mLinkLinChk.i_GetCross();
|
||||
} else {
|
||||
sp40 = spE0.getSignedLenPos(¤t.pos);
|
||||
field_0x34ec.set(current.pos.x - (sp40 * spE0.mNormal.x), current.pos.y, current.pos.z - (sp40 * spE0.mNormal.z));
|
||||
sp40 = linchk_tri.getSignedLenPos(¤t.pos);
|
||||
field_0x34ec.set(current.pos.x - (sp40 * linchk_tri.mNormal.x), current.pos.y, current.pos.z - (sp40 * linchk_tri.mNormal.z));
|
||||
|
||||
int temp_r3 = dComIfG_Bgsp().GetWallCode(mLinkLinChk);
|
||||
if (temp_r3 != 4 && temp_r3 != 5) {
|
||||
sp98.x = current.pos.x;
|
||||
sp98.z = current.pos.z;
|
||||
sp8C.x = sp98.x - (2.0f * sp40 * spE0.mNormal.x);
|
||||
sp8C.z = sp98.z - (2.0f * sp40 * spE0.mNormal.z);
|
||||
chk_start_pos.x = current.pos.x;
|
||||
chk_start_pos.z = current.pos.z;
|
||||
chk_end_pos.x = chk_start_pos.x - (2.0f * sp40 * linchk_tri.mNormal.x);
|
||||
chk_end_pos.z = chk_start_pos.z - (2.0f * sp40 * linchk_tri.mNormal.z);
|
||||
|
||||
//int i;
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (i == 0 && sp58 != 0) {
|
||||
sp98.y = sp54;
|
||||
chk_start_pos.y = sp54;
|
||||
} else {
|
||||
sp98.y = current.pos.y + mAcchCir[i].GetWallH();
|
||||
chk_start_pos.y = current.pos.y + mAcchCir[i].GetWallH();
|
||||
}
|
||||
|
||||
sp8C.y = sp98.y;
|
||||
chk_end_pos.y = chk_start_pos.y;
|
||||
|
||||
if (commonLineCheck(&sp98, &sp8C)) {
|
||||
if (commonLineCheck(&chk_start_pos, &chk_end_pos)) {
|
||||
dComIfG_Bgsp().GetTriPla(mLinkLinChk, &spCC);
|
||||
cXyz sp80 = spE0.mNormal - spCC.mNormal;
|
||||
cXyz sp80 = linchk_tri.mNormal - spCC.mNormal;
|
||||
|
||||
if (sp80.abs() < 0.001f) {
|
||||
break;
|
||||
@@ -9976,7 +9974,7 @@ void daAlink_c::setFrontWallType() {
|
||||
return;
|
||||
}
|
||||
|
||||
cXyz sp74;
|
||||
cXyz wall_edge_pos;
|
||||
if (var_r29 != 1 && var_r29 != 5 && var_r29 != 4) {
|
||||
offNoResetFlg3(FLG3_UNK_400000);
|
||||
}
|
||||
@@ -10026,26 +10024,26 @@ void daAlink_c::setFrontWallType() {
|
||||
sp34 = current.pos.y;
|
||||
}
|
||||
|
||||
sp98.set(field_0x34ec.x - (15.0f * spE0.mNormal.x), 150.0f + sp34, field_0x34ec.z - (15.0f * spE0.mNormal.z));
|
||||
mLinkGndChk.SetPos(&sp98);
|
||||
chk_start_pos.set(field_0x34ec.x - (15.0f * linchk_tri.mNormal.x), 150.0f + sp34, field_0x34ec.z - (15.0f * linchk_tri.mNormal.z));
|
||||
mLinkGndChk.SetPos(&chk_start_pos);
|
||||
f32 sp38 = dComIfG_Bgsp().GroundCross(&mLinkGndChk);
|
||||
|
||||
if (sp38 >= current.pos.y && dBgS_CheckBGroundPoly(mLinkGndChk)) {
|
||||
cM3dGPla spB8;
|
||||
dComIfG_Bgsp().GetTriPla(mLinkGndChk, &spB8);
|
||||
|
||||
if (getWallEdgePos(field_0x34ec, &spE0, &spB8, &sp74, 0)) {
|
||||
if (sp74.y - sp34 <= 150.0f) {
|
||||
if (getWallEdgePos(field_0x34ec, &linchk_tri, &spB8, &wall_edge_pos, 0)) {
|
||||
if (wall_edge_pos.y - sp34 <= 150.0f) {
|
||||
if (checkModeFlg(0x40000)) {
|
||||
field_0x34ec = sp74;
|
||||
field_0x34ec = wall_edge_pos;
|
||||
field_0x2f91 = 7;
|
||||
return;
|
||||
} else if (mProcID != PROC_HOOKSHOT_FLY) {
|
||||
field_0x34ec = sp74;
|
||||
field_0x34ec = wall_edge_pos;
|
||||
field_0x2f91 = 0xA;
|
||||
return;
|
||||
} else {
|
||||
current.pos.y = sp74.y - 150.0f;
|
||||
current.pos.y = wall_edge_pos.y - 150.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10075,40 +10073,40 @@ void daAlink_c::setFrontWallType() {
|
||||
return;
|
||||
}
|
||||
|
||||
f32 var_f30;
|
||||
f32 sp30;
|
||||
f32 sp2C;
|
||||
f32 sp28;
|
||||
f32 hang_height;
|
||||
f32 small_jump_height;
|
||||
f32 climb_height;
|
||||
f32 body_height;
|
||||
|
||||
if (checkWolf()) {
|
||||
if (checkModeFlg(2)) {
|
||||
var_f30 = daAlinkHIO_wlAutoJump_c0::m.field_0x78;
|
||||
hang_height = daAlinkHIO_wlAutoJump_c0::m.field_0x78;
|
||||
} else {
|
||||
var_f30 = daAlinkHIO_wlWallHang_c0::m.field_0x84;
|
||||
hang_height = daAlinkHIO_wlWallHang_c0::m.field_0x84;
|
||||
}
|
||||
sp30 = daAlinkHIO_wlWallHang_c0::m.field_0x7C;
|
||||
sp2C = daAlinkHIO_wlWallHang_c0::m.field_0x80;
|
||||
small_jump_height = daAlinkHIO_wlWallHang_c0::m.field_0x7C;
|
||||
climb_height = daAlinkHIO_wlWallHang_c0::m.field_0x80;
|
||||
} else {
|
||||
if (checkModeFlg(2)) {
|
||||
var_f30 = daAlinkHIO_autoJump_c0::m.mHangHeightLimit;
|
||||
hang_height = daAlinkHIO_autoJump_c0::m.mHangHeightLimit;
|
||||
} else {
|
||||
var_f30 = daAlinkHIO_wallHang_c0::m.field_0x14;
|
||||
hang_height = daAlinkHIO_wallHang_c0::m.jump_hang_height;
|
||||
}
|
||||
sp30 = daAlinkHIO_wallHang_c0::m.field_0x8;
|
||||
sp2C = daAlinkHIO_wallHang_c0::m.field_0xC;
|
||||
small_jump_height = daAlinkHIO_wallHang_c0::m.small_jump_height;
|
||||
climb_height = daAlinkHIO_wallHang_c0::m.climb_height;
|
||||
}
|
||||
|
||||
sp28 = current.pos.y + mSinkShapeOffset;
|
||||
sp98.set(current.pos.x, sp28 + (0.01f + var_f30), current.pos.z);
|
||||
sp8C.set(sp98.x + (sp64 * (50.0f + var_f31)), sp98.y, sp98.z + (sp60 * (50.0f + var_f31)));
|
||||
body_height = current.pos.y + mSinkShapeOffset;
|
||||
chk_start_pos.set(current.pos.x, body_height + (0.01f + hang_height), current.pos.z);
|
||||
chk_end_pos.set(chk_start_pos.x + (sp64 * (50.0f + var_f31)), chk_start_pos.y, chk_start_pos.z + (sp60 * (50.0f + var_f31)));
|
||||
|
||||
BOOL sp24 = commonLineCheck(&sp98, &sp8C);
|
||||
BOOL sp24 = commonLineCheck(&chk_start_pos, &chk_end_pos);
|
||||
if (sp24) {
|
||||
sp98 = mLinkLinChk.i_GetCross();
|
||||
chk_start_pos = mLinkLinChk.i_GetCross();
|
||||
dComIfG_Bgsp().GetTriPla(mLinkLinChk, &spCC);
|
||||
sp98.x = (sp98.x + (25.0f * spCC.mNormal.x));
|
||||
sp98.z = (sp98.z + (25.0f * spCC.mNormal.z));
|
||||
mLinkGndChk.SetPos(&sp98);
|
||||
chk_start_pos.x = (chk_start_pos.x + (25.0f * spCC.mNormal.x));
|
||||
chk_start_pos.z = (chk_start_pos.z + (25.0f * spCC.mNormal.z));
|
||||
mLinkGndChk.SetPos(&chk_start_pos);
|
||||
|
||||
if (dComIfG_Bgsp().GroundCross(&mLinkGndChk) > current.pos.y + l_autoUpHeight) {
|
||||
dComIfG_Bgsp().GetTriPla(mLinkGndChk, &spCC);
|
||||
@@ -10120,51 +10118,51 @@ void daAlink_c::setFrontWallType() {
|
||||
|
||||
if (sp24 == 0) {
|
||||
mLinkRoofChk.SetPos(current.pos);
|
||||
sp24 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - sp28 > 10.0f + var_f30 ? 0 : 1;
|
||||
sp24 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - body_height > 10.0f + hang_height ? 0 : 1;
|
||||
}
|
||||
|
||||
if (sp24 != 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
cM3dGPla spA4;
|
||||
bool sp8 = 0;
|
||||
cM3dGPla gndchk_tri;
|
||||
bool found_gnd_tri = false;
|
||||
int sp20 = 0;
|
||||
|
||||
sp98.set(field_0x34ec.x - (7.5f * spE0.mNormal.x), sp28 + (0.01f + var_f30), field_0x34ec.z - (7.5f * spE0.mNormal.z));
|
||||
mLinkGndChk.SetPos(&sp98);
|
||||
chk_start_pos.set(field_0x34ec.x - (7.5f * linchk_tri.mNormal.x), body_height + (0.01f + hang_height), field_0x34ec.z - (7.5f * linchk_tri.mNormal.z));
|
||||
mLinkGndChk.SetPos(&chk_start_pos);
|
||||
f32 sp1C = dComIfG_Bgsp().GroundCross(&mLinkGndChk);
|
||||
|
||||
sp98.set(field_0x34ec.x - (1.5f * spE0.mNormal.x), sp28 + (0.01f + var_f30), field_0x34ec.z - (1.5f * spE0.mNormal.z));
|
||||
mLinkGndChk.SetPos(&sp98);
|
||||
chk_start_pos.set(field_0x34ec.x - (1.5f * linchk_tri.mNormal.x), body_height + (0.01f + hang_height), field_0x34ec.z - (1.5f * linchk_tri.mNormal.z));
|
||||
mLinkGndChk.SetPos(&chk_start_pos);
|
||||
f32 sp38 = dComIfG_Bgsp().GroundCross(&mLinkGndChk);
|
||||
|
||||
if (-1000000000.0f != sp38 && fabsf(sp1C - sp38) < l_autoUpHeight) {
|
||||
sp8 = dComIfG_Bgsp().GetTriPla(mLinkGndChk, &spA4);
|
||||
found_gnd_tri = dComIfG_Bgsp().GetTriPla(mLinkGndChk, &gndchk_tri);
|
||||
}
|
||||
if ((!checkModeFlg(0x40000) && sp38 < sp28) || sp8 == 0) {
|
||||
if ((!checkModeFlg(0x40000) && sp38 < body_height) || !found_gnd_tri) {
|
||||
return;
|
||||
}
|
||||
if (-1000000000.0f == sp38 || !cBgW_CheckBGround(spA4.mNormal.y)) {
|
||||
if (-1000000000.0f == sp38 || !cBgW_CheckBGround(gndchk_tri.mNormal.y)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!getWallEdgePos(field_0x34ec, &spE0, &spA4, &sp74, sp20)) {
|
||||
if (!getWallEdgePos(field_0x34ec, &linchk_tri, &gndchk_tri, &wall_edge_pos, sp20)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (dComIfG_Bgsp().GetGroundCode(mLinkGndChk) != 6) {
|
||||
f32 sp18 = 36.5f;
|
||||
sp98.set(sp74.x + (10.0f * spE0.mNormal.x), sp74.y + l_autoUpHeight, sp74.z + (10.0f * spE0.mNormal.z));
|
||||
sp8C.set(sp74.x - (spE0.mNormal.x * sp18), sp98.y, sp74.z - (spE0.mNormal.z * sp18));
|
||||
chk_start_pos.set(wall_edge_pos.x + (10.0f * linchk_tri.mNormal.x), wall_edge_pos.y + l_autoUpHeight, wall_edge_pos.z + (10.0f * linchk_tri.mNormal.z));
|
||||
chk_end_pos.set(wall_edge_pos.x - (linchk_tri.mNormal.x * sp18), chk_start_pos.y, wall_edge_pos.z - (linchk_tri.mNormal.z * sp18));
|
||||
|
||||
if (commonLineCheck(&sp98, &sp8C)) {
|
||||
if (commonLineCheck(&chk_start_pos, &chk_end_pos)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
field_0x34ec = sp74;
|
||||
f32 temp_f29 = field_0x34ec.y - sp28;
|
||||
field_0x34ec = wall_edge_pos;
|
||||
f32 temp_f29 = field_0x34ec.y - body_height;
|
||||
|
||||
if (checkModeFlg(0x40000)) {
|
||||
f32 sp14;
|
||||
@@ -10185,19 +10183,19 @@ void daAlink_c::setFrontWallType() {
|
||||
}
|
||||
}
|
||||
} else if (checkModeFlg(2)) {
|
||||
if (sp38 - mLinkAcch.GetGroundH() > field_0x598 && temp_f29 < var_f30) {
|
||||
if (sp38 - mLinkAcch.GetGroundH() > field_0x598 && temp_f29 < hang_height) {
|
||||
if (!checkWolf() && mProcID != PROC_HOOKSHOT_FLY && temp_f29 < daAlinkHIO_autoJump_c0::m.mGrabHeightLimit) {
|
||||
field_0x2f91 = 0xB;
|
||||
} else {
|
||||
field_0x2f91 = 0xA;
|
||||
}
|
||||
}
|
||||
} else if (!(temp_f29 >= 0.01f + var_f30) && (!checkGrabAnime() || !(temp_f29 >= 0.01f + sp30))) {
|
||||
if (temp_f29 < 0.01f + sp30) {
|
||||
} else if (!(temp_f29 >= 0.01f + hang_height) && (!checkGrabAnime() || !(temp_f29 >= 0.01f + small_jump_height))) {
|
||||
if (temp_f29 < 0.01f + small_jump_height) {
|
||||
field_0x2f91 = 6;
|
||||
} else if (temp_f29 < 0.01f + sp2C) {
|
||||
} else if (temp_f29 < 0.01f + climb_height) {
|
||||
field_0x2f91 = 7;
|
||||
} else if (checkWolf() || (temp_f29 < 0.01f + daAlinkHIO_wallHang_c0::m.field_0x10)) {
|
||||
} else if (checkWolf() || (temp_f29 < 0.01f + daAlinkHIO_wallHang_c0::m.jump_climb_height)) {
|
||||
field_0x2f91 = 8;
|
||||
} else {
|
||||
field_0x2f91 = 9;
|
||||
@@ -12199,7 +12197,7 @@ BOOL daAlink_c::checkAutoJumpAction() {
|
||||
}
|
||||
}
|
||||
|
||||
if (!checkEndResetFlg0(ERFLG0_NOT_HANG) && mSpecialMode != 0x2B && var_r29 && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 2 && sp28 < -daAlinkHIO_wallHang_c0::m.field_0x18 && current.pos.y - mWaterY > sp18 && (fabsf(sp44.mNormal.y) <= 0.05f || (sp44.mNormal.y < 0.05f && var_r27 && getWallEdgePos(mLinkLinChk.i_GetCross(), &sp44, &sp58, mLinkLinChk.GetCrossP(), 0)))) {
|
||||
if (!checkEndResetFlg0(ERFLG0_NOT_HANG) && mSpecialMode != 0x2B && var_r29 && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 2 && sp28 < -daAlinkHIO_wallHang_c0::m.hang_foot_pos_height && current.pos.y - mWaterY > sp18 && (fabsf(sp44.mNormal.y) <= 0.05f || (sp44.mNormal.y < 0.05f && var_r27 && getWallEdgePos(mLinkLinChk.i_GetCross(), &sp44, &sp58, mLinkLinChk.GetCrossP(), 0)))) {
|
||||
current.pos.x = mLinkLinChk.i_GetCross().x;
|
||||
current.pos.z = mLinkLinChk.i_GetCross().z;
|
||||
|
||||
@@ -12358,7 +12356,7 @@ BOOL daAlink_c::checkFrontWallTypeAction() {
|
||||
field_0x3078 = var_r27 + 1;
|
||||
|
||||
if (field_0x2f91 == 6) {
|
||||
if (field_0x3078 > daAlinkHIO_wallHang_c0::m.field_0x0) {
|
||||
if (field_0x3078 > daAlinkHIO_wallHang_c0::m.small_jump_input_time) {
|
||||
if (checkWolf()) {
|
||||
return procWolfStepMoveInit();
|
||||
} else {
|
||||
@@ -12366,7 +12364,7 @@ BOOL daAlink_c::checkFrontWallTypeAction() {
|
||||
}
|
||||
}
|
||||
} else if (field_0x2f91 == 7 || field_0x2f91 == 8 || field_0x2f91 == 9) {
|
||||
if (field_0x3078 > daAlinkHIO_wallHang_c0::m.field_0x2) {
|
||||
if (field_0x3078 > daAlinkHIO_wallHang_c0::m.grab_input_time) {
|
||||
if (checkWolf()) {
|
||||
if (field_0x2f91 == 7 || field_0x2f91 == 8) {
|
||||
if (checkModeFlg(0x40000)) {
|
||||
|
||||
@@ -197,7 +197,7 @@ void daAlink_c::setHangGroundY() {
|
||||
int daAlink_c::changeHangEndProc() {
|
||||
setHangGroundY();
|
||||
|
||||
if (current.pos.y < field_0x33d8 + daAlinkHIO_wallHang_c0::m.field_0x18 - 1.0f &&
|
||||
if (current.pos.y < field_0x33d8 + daAlinkHIO_wallHang_c0::m.hang_foot_pos_height - 1.0f &&
|
||||
(mProcID != PROC_HANG_FALL_START || !(mUnderFrameCtrl->getFrame() < 3.0f)) &&
|
||||
field_0x33d8 < current.pos.y - 5.0f)
|
||||
{
|
||||
|
||||
@@ -434,7 +434,7 @@ void daAlink_c::changeLink(int param_0) {
|
||||
mLinkAcch.SetRoofCrrHeight(field_0x598);
|
||||
field_0x594 = daAlinkHIO_move_c0::m.mMaxSpeed;
|
||||
|
||||
l_autoUpHeight = daAlinkHIO_wallHang_c0::m.field_0x4 + 0.01f;
|
||||
l_autoUpHeight = daAlinkHIO_wallHang_c0::m.auto_walk_height + 0.01f;
|
||||
l_autoDownHeight = -l_autoUpHeight;
|
||||
field_0x3470 = cM_scos(cM_deg2s(daAlinkHIO_slide_c0::m.mSlideAngle));
|
||||
field_0x3122 = cM_deg2s(daAlinkHIO_slide_c0::m.mClimbAngle);
|
||||
|
||||
+2643
-2498
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user