From: havoc Date: Thu, 13 Jan 2005 05:57:41 +0000 (+0000) Subject: optimizations to CL_SelectTraceLine to scan entity list faster X-Git-Tag: xonotic-v0.1.0preview~5236 X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=commitdiff_plain;h=833b174daae8e8f6f0d93a699a17f4118b5371b1 optimizations to CL_SelectTraceLine to scan entity list faster git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4913 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/cl_collision.c b/cl_collision.c index bc888322..c0725fa0 100644 --- a/cl_collision.c +++ b/cl_collision.c @@ -138,19 +138,16 @@ float CL_SelectTraceLine(const vec3_t start, const vec3_t end, vec3_t impact, ve // look for embedded bmodels for (n = 0;n < MAX_EDICTS;n++) { - if (!cl_entities[n].state_current.active) + if (!cl_entities_active[n]) continue; ent = &cl_entities[n].render; + if (!BoxesOverlap(ent->mins, ent->maxs, tracemins, tracemaxs)) + continue; if (!ent->model || !ent->model->TraceBox) continue; // if transparent and not selectable, skip entity if (!(cl_entities[n].state_current.effects & EF_SELECTABLE) && (ent->alpha < 1 || (ent->effects & (EF_ADDITIVE | EF_NODEPTHTEST)))) continue; - if (ent->mins[0] > tracemaxs[0] || ent->maxs[0] < tracemins[0] - || ent->mins[1] > tracemaxs[1] || ent->maxs[1] < tracemins[1] - || ent->mins[2] > tracemaxs[2] || ent->maxs[2] < tracemins[2]) - continue; - Matrix4x4_Transform(&ent->inversematrix, start, starttransformed); Matrix4x4_Transform(&ent->inversematrix, end, endtransformed);