diff --git a/Runtime/World/CMorphBall.cpp b/Runtime/World/CMorphBall.cpp index af28c32e2..a34213840 100644 --- a/Runtime/World/CMorphBall.cpp +++ b/Runtime/World/CMorphBall.cpp @@ -653,7 +653,7 @@ void CMorphBall::ApplySpiderBallRollForces(const CFinalInput& input, CStateManag x18b4_linVelDamp = 0.4f; x18b8_angVelDamp = 0.2f; float viewControlMag = viewSurfaceForces.dot(x189c_spiderInterpBetweenPoints.normalized()); - if (continueTrackForce && x1920_spiderForcesReset) { + if (continueTrackForce && !x1920_spiderForcesReset) { viewControlMag = x1918_spiderViewControlMag; } else { x1918_spiderViewControlMag = viewControlMag; diff --git a/Runtime/World/CScriptSpiderBallWaypoint.cpp b/Runtime/World/CScriptSpiderBallWaypoint.cpp index 986ba209e..73d1f2425 100644 --- a/Runtime/World/CScriptSpiderBallWaypoint.cpp +++ b/Runtime/World/CScriptSpiderBallWaypoint.cpp @@ -197,7 +197,7 @@ void CScriptSpiderBallWaypoint::GetClosestPointAlongWaypoints(CStateManager& mgr closestPoint = lastPoint; if (wp->PreviousWaypoint(mgr, ECheckActiveWaypoint::Check) != kInvalidUniqueId) { wp = static_cast( - mgr.GetObjectById(wp->PreviousWaypoint(mgr, ECheckActiveWaypoint::SkipCheck))); + mgr.GetObjectById(wp->PreviousWaypoint(mgr, ECheckActiveWaypoint::Check))); deltaBetweenPoints = lastPoint - wp->GetTranslation(); interpDeltaBetweenPoints = deltaBetweenPoints; }