]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - world.c
added protocol.o
[xonotic/darkplaces.git] / world.c
diff --git a/world.c b/world.c
index ec9942e4d5f23d0b15877a4ee89f6abca378178e..0409d61a1220e6ab0a492a7c20f1743a5b948e1f 100644 (file)
--- a/world.c
+++ b/world.c
@@ -124,7 +124,6 @@ Offset is filled in to contain the adjustment that must be added to the
 testing object's origin to get a point to use with the returned hull.
 ================
 */
-extern qboolean hlbsp;
 hull_t *SV_HullForEntity (edict_t *ent, vec3_t mins, vec3_t maxs, vec3_t offset)
 {
        model_t         *model;
@@ -325,7 +324,7 @@ loc0:
                pr_global_struct->self = EDICT_TO_PROG(touch);
                pr_global_struct->other = EDICT_TO_PROG(ent);
                pr_global_struct->time = sv.time;
-               PR_ExecuteProgram (touch->v.touch);
+               PR_ExecuteProgram (touch->v.touch, "");
 
                pr_global_struct->self = old_self;
                pr_global_struct->other = old_other;
@@ -538,7 +537,19 @@ POINT TESTING IN HULLS
 ===============================================================================
 */
 
-// SV_HullPointContents moved to cpu_noasm.c
+/*
+==================
+SV_HullPointContents
+
+==================
+*/
+int SV_HullPointContents (hull_t *hull, int num, vec3_t p)
+{
+       while (num >= 0)
+               num = hull->clipnodes[num].children[(hull->planes[hull->clipnodes[num].planenum].type < 3 ? p[hull->planes[hull->clipnodes[num].planenum].type] : DotProduct (hull->planes[hull->clipnodes[num].planenum].normal, p)) < hull->planes[hull->clipnodes[num].planenum].dist];
+       
+       return num;
+}
 
 /*
 ============
@@ -748,10 +759,6 @@ loc0:
                return true;            // empty
        }
 
-       // LordHavoc: this can be eliminated by validating in the loader...  but Mercury told me not to bother
-       if (num < hull->firstclipnode || num > hull->lastclipnode)
-               Sys_Error ("SV_RecursiveHullCheck: bad node number");
-
 // find the point distances
        node = hull->clipnodes + num;
        plane = hull->planes + node->planenum;
@@ -1054,8 +1061,7 @@ loc0:
                        trace = SV_ClipMoveToEntity (touch, clip->start, clip->mins2, clip->maxs2, clip->end);
                else
                        trace = SV_ClipMoveToEntity (touch, clip->start, clip->mins, clip->maxs, clip->end);
-               if (trace.allsolid || trace.startsolid ||
-               trace.fraction < clip->trace.fraction)
+               if (trace.allsolid || trace.startsolid || trace.fraction < clip->trace.fraction)
                {
                        trace.ent = touch;
                        if (clip->trace.startsolid)