r3202 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sun Jan 20 17:36:37 EST 2008
Author: div0
Date: 2008-01-20 17:36:37 -0500 (Sun, 20 Jan 2008)
New Revision: 3202
Modified:
trunk/data/qcsrc/server/cl_weaponsystem.qc
Log:
even more antilag debug code (developer 2)
Modified: trunk/data/qcsrc/server/cl_weaponsystem.qc
===================================================================
--- trunk/data/qcsrc/server/cl_weaponsystem.qc 2008-01-20 21:39:44 UTC (rev 3201)
+++ trunk/data/qcsrc/server/cl_weaponsystem.qc 2008-01-20 22:36:37 UTC (rev 3202)
@@ -79,6 +79,26 @@
{
// prydon cursor aimbot or odd network conditions
dprint("WARNING: antilag ghost trace for ", self.netname, " failed!\n");
+ if(cvar("developer") >= 2)
+ {
+ vector v, vplus, vel;
+ float X;
+ v = antilag_takebackorigin(self.cursor_trace_ent, time - (self.ping * 0.001 ));
+ vplus = antilag_takebackorigin(self.cursor_trace_ent, time - (self.ping * 0.001 + 0.01));
+ vel = (vplus - v) * (1 / 0.01);
+ // solve: v + X * vel = closest to self.origin + self.view_ofs, v_forward axis
+ v -= (self.origin + self.view_ofs);
+ // solve: v + X * vel = closest to v_forward axis
+ // project into 2D by subtracting v_forward components:
+ v -= (v * v_forward) * v_forward;
+ vel -= (vel * v_forward) * v_forward;
+ // solve: v + X * vel = closest to origin
+ // (v + X * vel)^2 closest to 0
+ // v^2 + 2 * X * (v * vel) + X^2 * vel^2 closest to 0
+ X = -(v * vel) / (vel * vel);
+ dprint("... could have adjusted antilag by ", ftos(X), "\n");
+ dprint(" (that is, ", ftos(self.ping + X * 1000), " instead of ", ftos(self.ping), "\n");
+ }
}
}
}
More information about the nexuiz-commits
mailing list