added NAN error checks to traceline and tracebox calls, these cause a PRVM_ERROR
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 22 Feb 2006 07:50:02 +0000 (07:50 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 22 Feb 2006 07:50:02 +0000 (07:50 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@6001 d7cf8633-e32d-0410-b094-e92efae38249

svvm_cmds.c

index 40d6c17..863e94f 100644 (file)
@@ -439,6 +439,9 @@ void PF_traceline (void)
        move = PRVM_G_FLOAT(OFS_PARM2);
        ent = PRVM_G_EDICT(OFS_PARM3);
 
+       if (IS_NAN(v1[0]) || IS_NAN(v1[1]) || IS_NAN(v1[2]) || IS_NAN(v2[0]) || IS_NAN(v1[2]) || IS_NAN(v2[2]))
+               PRVM_ERROR("%s: NAN errors detected in traceline('%f %f %f', '%f %f %f', %i, entity %i)\n", PRVM_NAME, v1[0], v1[1], v1[2], v2[0], v2[1], v2[2], move, PRVM_EDICT_TO_PROG(ent));
+
        trace = SV_Move (v1, vec3_origin, vec3_origin, v2, move, ent);
 
        prog->globals.server->trace_allsolid = trace.allsolid;
@@ -485,6 +488,9 @@ void PF_tracebox (void)
        move = PRVM_G_FLOAT(OFS_PARM4);
        ent = PRVM_G_EDICT(OFS_PARM5);
 
+       if (IS_NAN(v1[0]) || IS_NAN(v1[1]) || IS_NAN(v1[2]) || IS_NAN(v2[0]) || IS_NAN(v1[2]) || IS_NAN(v2[2]))
+               PRVM_ERROR("%s: NAN errors detected in tracebox('%f %f %f', '%f %f %f', '%f %f %f', '%f %f %f', %i, entity %i)\n", PRVM_NAME, v1[0], v1[1], v1[2], m1[0], m1[1], m1[2], m2[0], m2[1], m2[2], v2[0], v2[1], v2[2], move, PRVM_EDICT_TO_PROG(ent));
+
        trace = SV_Move (v1, m1, m2, v2, move, ent);
 
        prog->globals.server->trace_allsolid = trace.allsolid;