[nexuiz-commits] r6141 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri Mar 13 17:23:18 EDT 2009
Author: div0
Date: 2009-03-13 17:23:18 -0400 (Fri, 13 Mar 2009)
New Revision: 6141
Modified:
trunk/data/qcsrc/server/cl_client.qc
trunk/data/qcsrc/server/g_subs.qc
Log:
fight float inaccuracy in the animation system
Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc 2009-03-13 21:20:35 UTC (rev 6140)
+++ trunk/data/qcsrc/server/cl_client.qc 2009-03-13 21:23:18 UTC (rev 6141)
@@ -2186,7 +2186,8 @@
if (self.deadflag != DEAD_NO)
{
float button_pressed, force_respawn;
- player_anim();
+ if(frametime)
+ player_anim();
button_pressed = (self.BUTTON_ATCK || self.BUTTON_JUMP || self.BUTTON_ATCK2 || self.BUTTON_HOOK || self.BUTTON_USE);
force_respawn = (g_lms || cvar("g_forced_respawn"));
if (self.deadflag == DEAD_DYING)
@@ -2305,11 +2306,13 @@
GrapplingHookFrame();
- W_WeaponFrame();
+ if(frametime)
+ W_WeaponFrame();
player_powerups();
player_regen();
- player_anim();
+ if(frametime)
+ player_anim();
if (g_minstagib)
minstagib_ammocheck();
Modified: trunk/data/qcsrc/server/g_subs.qc
===================================================================
--- trunk/data/qcsrc/server/g_subs.qc 2009-03-13 21:20:35 UTC (rev 6140)
+++ trunk/data/qcsrc/server/g_subs.qc 2009-03-13 21:23:18 UTC (rev 6141)
@@ -22,8 +22,8 @@
e.animstate_startframe = anim_x;
e.animstate_numframes = anim_y;
e.animstate_framerate = anim_z;
- e.animstate_starttime = time;
- e.animstate_endtime = time + e.animstate_numframes / e.animstate_framerate;
+ e.animstate_starttime = time - frametime * 0.1; // shift it a bit into the past to prevent float inaccuracy hiccups
+ e.animstate_endtime = e.animstate_starttime + e.animstate_numframes / e.animstate_framerate;
e.animstate_looping = looping;
e.animstate_override = override;
e.frame = e.animstate_startframe;
@@ -36,7 +36,7 @@
if (e.animstate_looping)
{
e.animstate_starttime = e.animstate_endtime;
- e.animstate_endtime = e.animstate_endtime + e.animstate_numframes / e.animstate_framerate;
+ e.animstate_endtime = e.animstate_starttime + e.animstate_numframes / e.animstate_framerate;
}
e.animstate_override = FALSE;
}
More information about the nexuiz-commits
mailing list