From cd044e68c6ad1bcf15868a7f203b3cd5e146c29e Mon Sep 17 00:00:00 2001 From: havoc Date: Fri, 14 Apr 2006 03:45:43 +0000 Subject: [PATCH] better SUPERCONTENTS masks for a few TraceBox and PointContents calls slight cleanups git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@6274 d7cf8633-e32d-0410-b094-e92efae38249 --- cl_collision.c | 6 +++--- collision.c | 2 -- model_brush.c | 6 ------ sv_move.c | 2 +- 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/cl_collision.c b/cl_collision.c index 3ce27413..76f41263 100644 --- a/cl_collision.c +++ b/cl_collision.c @@ -137,7 +137,7 @@ trace_t CL_TraceBox(const vec3_t start, const vec3_t mins, const vec3_t maxs, co Matrix4x4_Transform(&ent->inversematrix, start, starttransformed); Matrix4x4_Transform(&ent->inversematrix, end, endtransformed); - Collision_ClipTrace_Box(&trace, playermins, playermaxs, starttransformed, mins, maxs, endtransformed, hitsupercontentsmask, SUPERCONTENTS_SOLID | SUPERCONTENTS_BODY, 0, NULL); + Collision_ClipTrace_Box(&trace, playermins, playermaxs, starttransformed, mins, maxs, endtransformed, hitsupercontentsmask, SUPERCONTENTS_BODY, 0, NULL); // LordHavoc: take the 'best' answers from the new trace and combine with existing data if (trace.allsolid) @@ -197,7 +197,7 @@ float CL_SelectTraceLine(const vec3_t start, const vec3_t end, vec3_t impact, ve if (hitent) *hitent = 0; if (cl.worldmodel && cl.worldmodel->TraceBox) - cl.worldmodel->TraceBox(cl.worldmodel, 0, &trace, start, vec3_origin, vec3_origin, end, SUPERCONTENTS_SOLID | SUPERCONTENTS_BODY); + cl.worldmodel->TraceBox(cl.worldmodel, 0, &trace, start, vec3_origin, vec3_origin, end, SUPERCONTENTS_SOLID); if (normal) VectorCopy(trace.plane.normal, normal); @@ -245,7 +245,7 @@ float CL_SelectTraceLine(const vec3_t start, const vec3_t end, vec3_t impact, ve Matrix4x4_Transform(&ent->inversematrix, end, endtransformed); //if (ent->model && ent->model->TraceBox) - ent->model->TraceBox(ent->model, ent->frameblend[0].frame, &trace, starttransformed, vec3_origin, vec3_origin, endtransformed, SUPERCONTENTS_SOLID | SUPERCONTENTS_BODY); + ent->model->TraceBox(ent->model, ent->frameblend[0].frame, &trace, starttransformed, vec3_origin, vec3_origin, endtransformed, SUPERCONTENTS_SOLID); if (maxrealfrac > trace.realfraction) { diff --git a/collision.c b/collision.c index 25dc46ae..fb7da1bb 100644 --- a/collision.c +++ b/collision.c @@ -990,12 +990,10 @@ void Collision_InitBrushForBox(void) int i; for (i = 0;i < MAX_BRUSHFORBOX;i++) { - brushforbox_brush[i].supercontents = SUPERCONTENTS_SOLID; brushforbox_brush[i].numpoints = 8; brushforbox_brush[i].numplanes = 6; brushforbox_brush[i].points = brushforbox_point + i * 8; brushforbox_brush[i].planes = brushforbox_plane + i * 6; - brushforpoint_brush[i].supercontents = SUPERCONTENTS_SOLID; brushforpoint_brush[i].numpoints = 1; brushforpoint_brush[i].numplanes = 0; brushforpoint_brush[i].points = brushforbox_point + i * 8; diff --git a/model_brush.c b/model_brush.c index 440c4129..3288b9f4 100644 --- a/model_brush.c +++ b/model_brush.c @@ -857,12 +857,6 @@ static void Mod_Q1BSP_TraceBox(struct model_s *model, int frame, trace_t *trace, else Mod_Q1BSP_RecursiveHullCheckPoint(&rhc, rhc.hull->firstclipnode); #endif - if (trace->fraction == 1) - { - trace->hitsupercontents = 0; - trace->hitq3surfaceflags = 0; - trace->hittexture = NULL; - } } void Collision_ClipTrace_Box(trace_t *trace, const vec3_t cmins, const vec3_t cmaxs, const vec3_t start, const vec3_t mins, const vec3_t maxs, const vec3_t end, int hitsupercontentsmask, int boxsupercontents, int boxq3surfaceflags, texture_t *boxtexture) diff --git a/sv_move.c b/sv_move.c index 99e1f60b..e89415fe 100644 --- a/sv_move.c +++ b/sv_move.c @@ -51,7 +51,7 @@ qboolean SV_CheckBottom (prvm_edict_t *ent) { start[0] = x ? maxs[0] : mins[0]; start[1] = y ? maxs[1] : mins[1]; - if (!(SV_PointSuperContents(start) & SUPERCONTENTS_SOLID)) + if (!(SV_PointSuperContents(start) & (SUPERCONTENTS_SOLID | SUPERCONTENTS_BODY))) goto realcheck; } -- 2.39.2