[nexuiz-commits] r7634 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Sep 5 06:26:50 EDT 2009


Author: div0
Date: 2009-09-05 06:26:50 -0400 (Sat, 05 Sep 2009)
New Revision: 7634

Modified:
   trunk/data/qcsrc/server/cl_physics.qc
   trunk/data/qcsrc/server/race.qc
   trunk/data/qcsrc/server/race.qh
Log:
increase float accuracy for race time accumulation


Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc	2009-09-05 10:19:46 UTC (rev 7633)
+++ trunk/data/qcsrc/server/cl_physics.qc	2009-09-05 10:26:50 UTC (rev 7634)
@@ -549,7 +549,11 @@
 		}
 	}
 
-	self.race_movetime += frametime;
+	self.race_movetime_frac += frametime;
+	f = floor(self.race_movetime_frac);
+	self.race_movetime_frac -= f;
+	self.race_movetime_count += f;
+	self.race_movetime = self.race_movetime_frac + self.race_movetime_count;
 
 	buttons = self.BUTTON_ATCK + 2 * self.BUTTON_JUMP + 4 * self.BUTTON_ATCK2 + 8 * self.BUTTON_ZOOM + 16 * self.BUTTON_CROUCH + 32 * self.BUTTON_HOOK + 64 * self.BUTTON_USE + 128 * (self.movement_x < 0) + 256 * (self.movement_x > 0) + 512 * (self.movement_y < 0) + 1024 * (self.movement_y > 0);
 

Modified: trunk/data/qcsrc/server/race.qc
===================================================================
--- trunk/data/qcsrc/server/race.qc	2009-09-05 10:19:46 UTC (rev 7633)
+++ trunk/data/qcsrc/server/race.qc	2009-09-05 10:26:50 UTC (rev 7634)
@@ -288,7 +288,7 @@
 {
 	e.race_checkpoint = -1;
 	e.race_laptime = 0;
-	e.race_movetime = 0;
+	e.race_movetime = e.race_movetime_frac = e.race_movetime_count = 0;
 	e.race_penalty_accumulator = 0;
 	e.race_lastpenalty = world;
 
@@ -392,7 +392,7 @@
 		if(!self.race_checkpoint) // start line
 		{
 			other.race_laptime = time;
-			other.race_movetime = 0;
+			other.race_movetime = other.race_movetime_frac = other.race_movetime_count = 0;
 			other.race_penalty_accumulator = 0;
 			other.race_lastpenalty = world;
 		}

Modified: trunk/data/qcsrc/server/race.qh
===================================================================
--- trunk/data/qcsrc/server/race.qh	2009-09-05 10:19:46 UTC (rev 7633)
+++ trunk/data/qcsrc/server/race.qh	2009-09-05 10:26:50 UTC (rev 7634)
@@ -19,4 +19,7 @@
 float race_completing;
 void race_ImposePenaltyTime(entity pl, float penalty, string reason);
 void race_StartCompleting();
-.float race_movetime;
+
+.float race_movetime; // for reading
+.float race_movetime_frac; // fractional accumulator for higher accuracy (helper for writing)
+.float race_movetime_count; // integer accumulator



More information about the nexuiz-commits mailing list