1
0
Fork 0

Fixed friction being applied whilst airborne

Reported by tonibm9 in #1300.
This commit is contained in:
Tiger Wang 2014-09-12 20:50:24 +01:00
parent c0a069b260
commit 4019847857
1 changed files with 13 additions and 11 deletions

View File

@ -941,19 +941,21 @@ void cEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk)
}
NextSpeed.y += fallspeed;
}
// Friction
if (NextSpeed.SqrLength() > 0.0004f)
else
{
NextSpeed.x *= 0.7f / (1 + a_Dt);
if (fabs(NextSpeed.x) < 0.05)
// Friction on ground
if (NextSpeed.SqrLength() > 0.0004f)
{
NextSpeed.x = 0;
}
NextSpeed.z *= 0.7f / (1 + a_Dt);
if (fabs(NextSpeed.z) < 0.05)
{
NextSpeed.z = 0;
NextSpeed.x *= 0.7f / (1 + a_Dt);
if (fabs(NextSpeed.x) < 0.05)
{
NextSpeed.x = 0;
}
NextSpeed.z *= 0.7f / (1 + a_Dt);
if (fabs(NextSpeed.z) < 0.05)
{
NextSpeed.z = 0;
}
}
}