Skip to content
This repository was archived by the owner on Jan 5, 2024. It is now read-only.

Commit fd4d475

Browse files
committed
Revert use of GetJointPos in ACrab limb pushing due to bugs
1 parent 009b539 commit fd4d475

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

Entities/ACrab.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2400,14 +2400,14 @@ void ACrab::Update()
24002400

24012401
if (m_pLFGLeg && (!m_pLBGLeg || (!(m_Paths[LEFTSIDE][FGROUND][WALK].PathEnded() && LBGLegProg < 0.5F) || m_StrideStart[LEFTSIDE]))) {
24022402
m_StrideTimer[LEFTSIDE].Reset();
2403-
m_pLFGFootGroup->PushAsLimb(m_pLFGLeg->GetJointPos(), m_Vel, m_Rotation, m_Paths[LEFTSIDE][FGROUND][WALK], deltaTime, &restarted);
2403+
m_pLFGFootGroup->PushAsLimb(m_Pos + RotateOffset(m_pLFGLeg->GetParentOffset()), m_Vel, m_Rotation, m_Paths[LEFTSIDE][FGROUND][WALK], deltaTime, &restarted);
24042404
}
24052405

24062406
if (m_pLBGLeg) {
24072407
if (!m_pLFGLeg || !(m_Paths[LEFTSIDE][BGROUND][WALK].PathEnded() && LFGLegProg < 0.5F)) {
24082408
m_StrideStart[LEFTSIDE] = false;
24092409
m_StrideTimer[LEFTSIDE].Reset();
2410-
m_pLBGFootGroup->PushAsLimb(m_pLBGLeg->GetJointPos(), m_Vel, m_Rotation, m_Paths[LEFTSIDE][BGROUND][WALK], deltaTime);
2410+
m_pLBGFootGroup->PushAsLimb(m_Pos + RotateOffset(m_pLBGLeg->GetParentOffset()), m_Vel, m_Rotation, m_Paths[LEFTSIDE][BGROUND][WALK], deltaTime);
24112411
} else {
24122412
m_pLBGFootGroup->FlailAsLimb(m_Pos, RotateOffset(m_pLBGLeg->GetParentOffset()), m_pLBGLeg->GetMaxLength(), m_PrevVel, m_AngularVel, m_pLBGLeg->GetMass(), deltaTime);
24132413
}
@@ -2423,15 +2423,15 @@ void ACrab::Update()
24232423
if (!m_pRBGLeg || !(m_Paths[RIGHTSIDE][FGROUND][WALK].PathEnded() && RBGLegProg < 0.5F)) {
24242424
m_StrideStart[RIGHTSIDE] = false;
24252425
m_StrideTimer[RIGHTSIDE].Reset();
2426-
m_pRFGFootGroup->PushAsLimb(m_pRFGLeg->GetJointPos(), m_Vel, m_Rotation, m_Paths[RIGHTSIDE][FGROUND][WALK], deltaTime, &restarted);
2426+
m_pRFGFootGroup->PushAsLimb(m_Pos + RotateOffset(m_pRFGLeg->GetParentOffset()), m_Vel, m_Rotation, m_Paths[RIGHTSIDE][FGROUND][WALK], deltaTime, &restarted);
24272427
} else {
24282428
m_pRFGFootGroup->FlailAsLimb(m_Pos, RotateOffset(m_pRFGLeg->GetParentOffset()), m_pRFGLeg->GetMaxLength(), m_PrevVel, m_AngularVel, m_pRFGLeg->GetMass(), deltaTime);
24292429
}
24302430
}
24312431

24322432
if (m_pRBGLeg && (!m_pRFGLeg || (!(m_Paths[RIGHTSIDE][BGROUND][WALK].PathEnded() && RFGLegProg < 0.5F) || m_StrideStart[RIGHTSIDE]))) {
24332433
m_StrideTimer[RIGHTSIDE].Reset();
2434-
m_pRBGFootGroup->PushAsLimb(m_pRBGLeg->GetJointPos(), m_Vel, m_Rotation, m_Paths[RIGHTSIDE][BGROUND][WALK], deltaTime);
2434+
m_pRBGFootGroup->PushAsLimb(m_Pos + RotateOffset(m_pRBGLeg->GetParentOffset()), m_Vel, m_Rotation, m_Paths[RIGHTSIDE][BGROUND][WALK], deltaTime);
24352435
}
24362436

24372437
// Reset the right-side walking stride if it's taking longer than it should.
@@ -2447,13 +2447,13 @@ void ACrab::Update()
24472447
m_Paths[side][layer][WALK].Terminate();
24482448
}
24492449
}
2450-
if (m_pLFGLeg) { m_pLFGFootGroup->PushAsLimb(m_pLFGLeg->GetJointPos(), m_Vel, m_Rotation, m_Paths[LEFTSIDE][FGROUND][STAND], deltaTime); }
2450+
if (m_pLFGLeg) { m_pLFGFootGroup->PushAsLimb(m_Pos + RotateOffset(m_pLFGLeg->GetParentOffset()), m_Vel, m_Rotation, m_Paths[LEFTSIDE][FGROUND][STAND], deltaTime); }
24512451

2452-
if (m_pLBGLeg) { m_pLBGFootGroup->PushAsLimb(m_pLBGLeg->GetJointPos(), m_Vel, m_Rotation, m_Paths[LEFTSIDE][BGROUND][STAND], deltaTime); }
2452+
if (m_pLBGLeg) { m_pLBGFootGroup->PushAsLimb(m_Pos + RotateOffset(m_pLBGLeg->GetParentOffset()), m_Vel, m_Rotation, m_Paths[LEFTSIDE][BGROUND][STAND], deltaTime); }
24532453

2454-
if (m_pRFGLeg) { m_pRFGFootGroup->PushAsLimb(m_pRFGLeg->GetJointPos(), m_Vel, m_Rotation, m_Paths[RIGHTSIDE][FGROUND][STAND], deltaTime); }
2454+
if (m_pRFGLeg) { m_pRFGFootGroup->PushAsLimb(m_Pos + RotateOffset(m_pRFGLeg->GetParentOffset()), m_Vel, m_Rotation, m_Paths[RIGHTSIDE][FGROUND][STAND], deltaTime); }
24552455

2456-
if (m_pRBGLeg) { m_pRBGFootGroup->PushAsLimb(m_pRBGLeg->GetJointPos(), m_Vel, m_Rotation, m_Paths[RIGHTSIDE][BGROUND][STAND], deltaTime); }
2456+
if (m_pRBGLeg) { m_pRBGFootGroup->PushAsLimb(m_Pos + RotateOffset(m_pRBGLeg->GetParentOffset()), m_Vel, m_Rotation, m_Paths[RIGHTSIDE][BGROUND][STAND], deltaTime); }
24572457
}
24582458
}
24592459
} else {

0 commit comments

Comments
 (0)