From bb5cc3cfb1ba4e5c1c7a53a3911abd919494daec Mon Sep 17 00:00:00 2001 From: div0 Date: Wed, 14 Jan 2009 12:32:26 +0000 Subject: [PATCH] fix a case where trace_endpos made no sense git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5520 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/g_subs.qc | 1 + data/qcsrc/server/gamecommand.qc | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/data/qcsrc/server/g_subs.qc b/data/qcsrc/server/g_subs.qc index cdeb4b998..211d9329c 100644 --- a/data/qcsrc/server/g_subs.qc +++ b/data/qcsrc/server/g_subs.qc @@ -312,6 +312,7 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon { // went too far trace_fraction = 1; + trace_endpos = v2; return c; } diff --git a/data/qcsrc/server/gamecommand.qc b/data/qcsrc/server/gamecommand.qc index 7282cecc1..1a1213034 100644 --- a/data/qcsrc/server/gamecommand.qc +++ b/data/qcsrc/server/gamecommand.qc @@ -10,15 +10,15 @@ float FullTraceFraction(vector a, vector mi, vector ma, vector b) c = a; - // float n, m; - // n = m = 0; + float n, m; + n = m = 0; while(vlen(c - b) > 1) { - //++m; + ++m; tracebox(c, mi, ma, b, MOVE_WORLDONLY, world); - //++n; + ++n; if(!trace_startsolid) { @@ -26,13 +26,14 @@ float FullTraceFraction(vector a, vector mi, vector ma, vector b) c = trace_endpos; } - /* n += */ tracebox_inverted(c, mi, ma, b, MOVE_WORLDONLY, world); + n += tracebox_inverted(c, mi, ma, b, MOVE_WORLDONLY, world); white += vlen(trace_endpos - c); c = trace_endpos; } - //dprint("FullTraceFraction: ", ftos(n), " total traces, ", ftos(m), " iterations\n"); + if(n > 200) + print("HOLY SHIT! FullTraceFraction: ", ftos(n), " total traces, ", ftos(m), " iterations\n"); return white / (black + white); } -- 2.39.2