2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 15:47:46 +00:00

Various movement and HUD bug fixes

This commit is contained in:
Jack Andersen
2017-12-18 17:05:50 -10:00
parent 1bb7e882a0
commit 1c44f8d1bc
37 changed files with 84 additions and 62 deletions

View File

@@ -398,7 +398,7 @@ void CGroundMovement::MoveGroundCollider_New(CStateManager& mgr, CPhysicsActor&
float stepUp = player.GetStepUpHeight();
bool doStepDown = true;
CMaterialList material(EMaterialTypes::Unknown);
CMaterialList material(EMaterialTypes::NoStepLogic);
SMoveObjectResult result;
if (!startingJump)
@@ -437,7 +437,8 @@ void CGroundMovement::MoveGroundCollider_New(CStateManager& mgr, CPhysicsActor&
CMaterialList material2 = MoveObjectAnalytical(mgr, actor, dt, useNearList, cache, opts, result);
CPhysicsState physStatePost = actor.GetPhysicsState();
if (material2.XOR({EMaterialTypes::Unknown}))
/* NoStepLogic must be the only set material bit to bypass step logic */
if (material2.XOR({EMaterialTypes::NoStepLogic}))
{
SMovementOptions optsCopy = opts;
zeus::CVector3f postToPre = physStatePre.GetTranslation() - physStatePost.GetTranslation();
@@ -802,11 +803,10 @@ CMaterialList CGroundMovement::MoveObjectAnalytical(CStateManager& mgr, CPhysics
{
if (actor.x15c_force.canBeNormalized())
{
zeus::CVector3f prevForce = actor.x15c_force;
actor.x15c_force = CGroundMovement::CollisionDamping(actor.x15c_force,
actor.x15c_force.normalized(),
collisionNorm, 0.f, 1.f);
if (actor.x15c_force.z < -1000000.f)
printf("");
}
if (actor.x150_momentum.canBeNormalized())
{