+ VectorMA(ent->v->origin, time_left, ent->v->velocity, end);
+ trace = SV_Move(ent->v->origin, ent->v->mins, ent->v->maxs, end, MOVE_NORMAL, ent);
+#if 0
+ //if (trace.fraction < 0.002)
+ {
+#if 1
+ vec3_t start;
+ trace_t testtrace;
+ VectorCopy(ent->v->origin, start);
+ start[2] += 3;//0.03125;
+ VectorMA(ent->v->origin, time_left, ent->v->velocity, end);
+ end[2] += 3;//0.03125;
+ testtrace = SV_Move(start, ent->v->mins, ent->v->maxs, end, MOVE_NORMAL, ent);
+ if (trace.fraction < testtrace.fraction && !testtrace.startsolid && (testtrace.fraction == 1 || DotProduct(trace.plane.normal, ent->v->velocity) < DotProduct(testtrace.plane.normal, ent->v->velocity)))
+ {
+ Con_Printf("got further (new %f > old %f)\n", testtrace.fraction, trace.fraction);
+ trace = testtrace;
+ }
+#endif
+#if 0
+ //j = -1;
+ for (i = 0;i < numplanes;i++)
+ {
+ VectorCopy(ent->v->origin, start);
+ VectorMA(ent->v->origin, time_left, ent->v->velocity, end);
+ VectorMA(start, 3, planes[i], start);
+ VectorMA(end, 3, planes[i], end);
+ testtrace = SV_Move(start, ent->v->mins, ent->v->maxs, end, MOVE_NORMAL, ent);
+ if (trace.fraction < testtrace.fraction)
+ {
+ trace = testtrace;
+ VectorCopy(start, ent->v->origin);
+ //j = i;
+ }
+ }
+ //if (j >= 0)
+ // VectorAdd(ent->v->origin, planes[j], start);
+#endif
+ }
+#endif