*/
cvar_t sv_debugmove = {CVAR_NOTIFY, "sv_debugmove", "0"};
-cvar_t sv_polygoncollisions = {CVAR_NOTIFY, "sv_polygoncollisions", "0"};
cvar_t sv_areagrid_mingridsize = {CVAR_NOTIFY, "sv_areagrid_mingridsize", "64"};
void SV_AreaStats_f(void);
void SV_World_Init(void)
{
Cvar_RegisterVariable(&sv_debugmove);
- Cvar_RegisterVariable(&sv_polygoncollisions);
Cvar_RegisterVariable(&sv_areagrid_mingridsize);
Cmd_AddCommand("sv_areastats", SV_AreaStats_f);
Collision_Init();
VectorAdd(starttransformed, mins, starttransformedmins);
VectorAdd(endtransformed, mins, endtransformedmins);
- // FIXME: the PolygonClipTrace should go away (should all be done in model code)
- if (sv_polygoncollisions.integer == 1)
- Collision_PolygonClipTrace(&trace, ent, model, vec3_origin, vec3_origin, ent->v->mins, ent->v->maxs, starttransformed, mins, maxs, endtransformed);
- else if (model && model->brush.TraceBox)
+ if (model && model->brush.TraceBox)
model->brush.TraceBox(model, &trace, starttransformedmins, starttransformedmaxs, endtransformedmins, endtransformedmaxs);
else
Collision_ClipTrace_Box(&trace, ent->v->mins, ent->v->maxs, starttransformed, mins, maxs, endtransformed);
clip.type = type;
clip.passedict = passedict;
- Collision_RoundUpToHullSize(sv.worldmodel, clip.mins, clip.maxs, clip.hullmins, clip.hullmaxs);
+ if (sv.worldmodel && sv.worldmodel->brush.RoundUpToHullSize)
+ sv.worldmodel->brush.RoundUpToHullSize(sv.worldmodel, clip.mins, clip.maxs, clip.hullmins, clip.hullmaxs);
// clip to world
clip.trace = SV_ClipMoveToEntity(sv.edicts, clip.start, clip.hullmins, clip.hullmaxs, clip.end);
+ if (clip.type == MOVE_WORLDONLY)
//if (clip.trace.allsolid)
- // return clip.trace;
+ return clip.trace;
if (clip.type == MOVE_MISSILE)
{