[nexuiz-commits] r6144 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sat Mar 14 09:03:43 EDT 2009
Author: div0
Date: 2009-03-14 09:03:39 -0400 (Sat, 14 Mar 2009)
New Revision: 6144
Modified:
trunk/data/qcsrc/server/defs.qh
trunk/data/qcsrc/server/g_subs.qc
trunk/data/qcsrc/server/sv_main.qc
trunk/data/qcsrc/server/t_quake3.qc
Log:
more robustness for weapon animation (should fix the jerkiness)
Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh 2009-03-14 12:55:44 UTC (rev 6143)
+++ trunk/data/qcsrc/server/defs.qh 2009-03-14 13:03:39 UTC (rev 6144)
@@ -549,3 +549,5 @@
#define BITXOR_ASSIGN(v,b) ((v) += ((b) - 2 * ((v) & (b))))
.float wasplayer;
+
+float servertime, serverprevtime, serverframetime;
Modified: trunk/data/qcsrc/server/g_subs.qc
===================================================================
--- trunk/data/qcsrc/server/g_subs.qc 2009-03-14 12:55:44 UTC (rev 6143)
+++ trunk/data/qcsrc/server/g_subs.qc 2009-03-14 13:03:39 UTC (rev 6144)
@@ -22,7 +22,7 @@
e.animstate_startframe = anim_x;
e.animstate_numframes = anim_y;
e.animstate_framerate = anim_z;
- e.animstate_starttime = time - 0.1 / e.animstate_framerate; // shift it a little bit into the past to prevent float inaccuracy hiccups
+ e.animstate_starttime = servertime - 0.1 * serverframetime; // shift it a little 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;
@@ -41,6 +41,7 @@
e.animstate_override = FALSE;
}
e.frame = e.animstate_startframe + bound(0, (time - e.animstate_starttime) * e.animstate_framerate, e.animstate_numframes - 1);
+ //print(ftos(time), " -> ", ftos(e.frame), "\n");
};
float animparseerror;
Modified: trunk/data/qcsrc/server/sv_main.qc
===================================================================
--- trunk/data/qcsrc/server/sv_main.qc 2009-03-14 12:55:44 UTC (rev 6143)
+++ trunk/data/qcsrc/server/sv_main.qc 2009-03-14 13:03:39 UTC (rev 6144)
@@ -134,6 +134,9 @@
void StartFrame (void)
{
remove = remove_unsafely; // not during spawning!
+ serverprevtime = servertime;
+ servertime = time;
+ serverframetime = frametime;
dprint_load(); // load dprint status from cvar
Modified: trunk/data/qcsrc/server/t_quake3.qc
===================================================================
--- trunk/data/qcsrc/server/t_quake3.qc 2009-03-14 12:55:44 UTC (rev 6143)
+++ trunk/data/qcsrc/server/t_quake3.qc 2009-03-14 13:03:39 UTC (rev 6144)
@@ -35,9 +35,9 @@
// Armor
void spawnfunc_item_armor_body() { spawnfunc_item_armor_large(); }
-void spawnfunc_item_armor_combat() { spawnfunc_item_armor_big(); }
+void spawnfunc_item_armor_combat() { spawnfunc_item_armor_big(); }
void spawnfunc_item_armor_shard() { spawnfunc_item_armor_small(); }
-void spawnfunc_item_enviro() { spawnfunc_item_armor_medium(); }
+void spawnfunc_item_enviro() { spawnfunc_item_invincible(); }
//void spawnfunc_item_flight() /* not supported */
//void spawnfunc_item_haste() /* not supported */
//void spawnfunc_item_health() /* handled in t_quake.qc */
More information about the nexuiz-commits
mailing list