minor code cleanup; mark bug as todo
authordiv0 <div0@f962a42d-fe04-0410-a3ab-8c8b0445ebaa>
Sun, 28 Feb 2010 19:44:48 +0000 (19:44 +0000)
committerdiv0 <div0@f962a42d-fe04-0410-a3ab-8c8b0445ebaa>
Sun, 28 Feb 2010 19:44:48 +0000 (19:44 +0000)
git-svn-id: svn://svn.icculus.org/nexuiz/trunk@8716 f962a42d-fe04-0410-a3ab-8c8b0445ebaa

data/qcsrc/warpzonelib/TODO
data/qcsrc/warpzonelib/common.qc

index 8c5c4a5..5c9a55f 100644 (file)
@@ -1,5 +1,6 @@
 Open issues:
 - grep for TODO and FIXME
+- when shot origin is inside warpzone, nex shot fails (and is even drawn in totally wrong direction). WHY? Possibly v_forward got lost?
 
 Weapon support:
 
index 52e7086..5186830 100644 (file)
@@ -98,6 +98,8 @@ void WarpZone_TraceBox(vector org, vector mi, vector ma, vector end, float nomon
        vf = v_forward;
        vr = v_right;
        vu = v_up;
+       o0 = org;
+       e0 = end;
        // if starting in warpzone, first transform
        wz = WarpZone_Find(org + mi, org + ma);
        if(wz)
@@ -109,8 +111,6 @@ void WarpZone_TraceBox(vector org, vector mi, vector ma, vector end, float nomon
                WarpZone_trace_v_angle = WarpZone_TransformVAngles(wz, WarpZone_trace_v_angle);
        }
        WarpZone_MakeAllSolid();
-       o0 = org;
-       e0 = end;
        sol = -1;
        frac = 0;
        for(;;)
@@ -155,6 +155,8 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end,
        vf = v_forward;
        vr = v_right;
        vu = v_up;
+       o0 = org;
+       e0 = end;
        // if starting in warpzone, first transform
        wz = WarpZone_Find(org + mi, org + ma);
        if(wz)
@@ -174,8 +176,6 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end,
                WarpZone_trace_v_angle = WarpZone_TransformVAngles(wz, WarpZone_trace_v_angle);
        }
        WarpZone_MakeAllSolid();
-       o0 = org;
-       e0 = end;
        sol = -1;
        frac = 0;
        for(;;)
@@ -227,6 +227,8 @@ void WarpZone_TraceToss(entity e, entity forent)
        vf = v_forward;
        vr = v_right;
        vu = v_up;
+       v0 = e.velocity;
+       o0 = e.origin;
        // if starting in warpzone, first transform
        wz = WarpZone_Find(e.origin + e.mins, e.origin + e.maxs);
        if(wz)
@@ -237,8 +239,6 @@ void WarpZone_TraceToss(entity e, entity forent)
        WarpZone_MakeAllSolid();
        g = cvar("sv_gravity") * e.gravity;
        WarpZone_tracetoss_time = 0;
-       v0 = e.velocity;
-       o0 = e.origin;
        for(;;)
        {
                tracetoss(e, forent);