[nexuiz-commits] r8741 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sat Mar 6 10:38:58 EST 2010
Author: div0
Date: 2010-03-06 10:38:58 -0500 (Sat, 06 Mar 2010)
New Revision: 8741
Modified:
trunk/data/qcsrc/server/cl_physics.qc
Log:
fix sideways friction negative
Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc 2010-03-06 11:18:20 UTC (rev 8740)
+++ trunk/data/qcsrc/server/cl_physics.qc 2010-03-06 15:38:58 UTC (rev 8741)
@@ -470,18 +470,19 @@
// negative: only apply so much sideways friction to stay below the speed you could get by "braking"
{
float f, fminimum;
- f = (1 - frametime * wishspeed * sidefric);
+ f = max(0, 1 + frametime * wishspeed * sidefric);
fminimum = (vel_xy_backward*vel_xy_backward - vel_straight*vel_straight) / (vel_perpend*vel_perpend);
+ // this cannot be > 1
if(fminimum <= 0)
- vel_perpend = vel_perpend * f;
+ vel_perpend = vel_perpend * max(0, f);
else
{
fminimum = sqrt(fminimum);
- vel_perpend = vel_perpend * bound(fminimum, f, 1);
+ vel_perpend = vel_perpend * max(fminimum, f);
}
}
else
- vel_perpend = vel_perpend * (1 - frametime * wishspeed * sidefric);
+ vel_perpend = vel_perpend * max(0, 1 - frametime * wishspeed * sidefric);
vel_xy = vel_straight * wishdir + vel_perpend;
More information about the nexuiz-commits
mailing list