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

Add debugging tool CVars

This commit is contained in:
2021-01-10 18:44:42 -08:00
parent 386d6ef527
commit cede47be4d
6 changed files with 49 additions and 44 deletions

View File

@@ -1956,7 +1956,7 @@ void CMorphBall::CollidedWith(TUniqueId id, const CCollisionInfoList& list, CSta
if (wakeMaterial == EMaterialTypes::NoStepLogic) {
if (info.GetMaterialLeft().HasMaterial(EMaterialTypes::Floor)) {
EMaterialTypes tmpMaterial;
EMaterialTypes tmpMaterial = EMaterialTypes::NoStepLogic;
if (info.GetMaterialLeft().HasMaterial(EMaterialTypes::Dirt)) {
tmpMaterial = EMaterialTypes::Dirt;
} else {
@@ -2169,12 +2169,11 @@ float CMorphBall::CalculateSurfaceFriction() const {
}
void CMorphBall::ApplyGravity(const CStateManager& mgr) {
const float mass = x0_player.GetMass();
const bool hasGravitySuit = mgr.GetPlayerState()->HasPowerUp(CPlayerState::EItemType::GravitySuit);
const bool useWaterGravity = x0_player.CheckSubmerged() && !hasGravitySuit;
const float gravity = useWaterGravity ? g_tweakBall->GetBallWaterGravity() : g_tweakBall->GetBallGravity();
x0_player.SetMomentumWR(zeus::CVector3f(0.f, 0.f, gravity * mass));
if (!x0_player.CheckSubmerged() || mgr.GetPlayerState()->HasPowerUp(CPlayerState::EItemType::GravitySuit)) {
x0_player.SetMomentumWR({0.f, 0.f, x0_player.GetMass() * g_tweakBall->GetBallGravity()});
} else {
x0_player.SetMomentumWR({0.f, 0.f, x0_player.GetMass() * g_tweakBall->GetBallWaterGravity()});
}
}
void CMorphBall::SpinToSpeed(float holdMag, const zeus::CVector3f& torque, float mag) {