entity_render_t *ent;
vec3_t tracemins, tracemaxs;
trace_t cliptrace, trace;
+ vec3_t origin;
vec3_t starttransformed, endtransformed, starttransformedmins, endtransformedmins, starttransformedmaxs, endtransformedmaxs;
vec3_t startmins, startmaxs, endmins, endmaxs, entmins, entmaxs;
vec_t *playermins, *playermaxs;
cliptrace.fraction = 1;
cliptrace.realfraction = 1;
- Mod_CheckLoaded(cl.worldmodel);
if (cl.worldmodel && cl.worldmodel->TraceBox)
cl.worldmodel->TraceBox(cl.worldmodel, 0, &cliptrace, startmins, startmaxs, endmins, endmaxs, hitsupercontentsmask);
// FIXME: crouch
playermins = cl_playerstandmins;
playermaxs = cl_playerstandmaxs;
- VectorAdd(ent->origin, playermins, entmins);
- VectorAdd(ent->origin, playermaxs, entmaxs);
+ Matrix4x4_OriginFromMatrix(&ent->matrix, origin);
+ VectorAdd(origin, playermins, entmins);
+ VectorAdd(origin, playermaxs, entmaxs);
if (!BoxesOverlap(tracemins, tracemaxs, entmins, entmaxs))
continue;
if (hitent)
*hitent = 0;
- Mod_CheckLoaded(cl.worldmodel);
if (cl.worldmodel && cl.worldmodel->TraceBox)
cl.worldmodel->TraceBox(cl.worldmodel, 0, &trace, start, start, end, end, SUPERCONTENTS_SOLID);