//Con_Printf("%c%i: startdist = %f, enddist = %f, startdist / (startdist - enddist) = %f\n", nplane2 != nplane ? 'b' : 'a', nplane2, startdist, enddist, startdist / (startdist - enddist));
// aside from collisions, this is also used for error correction
- if (startdist <= collision_impactnudge.value && nplane < numplanes1 && (startdepth < startdist || startdepth == 1))
+ if (startdist <= 0.0f && nplane < numplanes1 && (startdepth < startdist || startdepth == 1))
{
startdepth = startdist;
VectorCopy(startplane, startdepthnormal);
//Con_Printf("%c%i: startdist = %f, enddist = %f, startdist / (startdist - enddist) = %f\n", nplane2 != nplane ? 'b' : 'a', nplane2, startdist, enddist, startdist / (startdist - enddist));
// aside from collisions, this is also used for error correction
- if (startdist < collision_impactnudge.value && (startdepth < startdist || startdepth == 1))
+ if (startdist <= 0.0f && (startdepth < startdist || startdepth == 1))
{
startdepth = startdist;
VectorCopy(startplane, startdepthnormal);
// now we can transform the data
for(i = 0; i < brush->numplanes; ++i)
{
- Matrix4x4_TransformPositivePlane(matrix, brush->planes[i].normal[0], brush->planes[i].normal[1], brush->planes[i].normal[2], brush->planes[i].dist, brush->planes[i].normal);
+ Matrix4x4_TransformPositivePlane(matrix, brush->planes[i].normal[0], brush->planes[i].normal[1], brush->planes[i].normal[2], brush->planes[i].dist, brush->planes[i].normal_and_dist);
}
for(i = 0; i < brush->numedgedirs; ++i)
{
static int collision_cachedtrace_firstfree;
static int collision_cachedtrace_lastused;
static int collision_cachedtrace_max;
-static int collision_cachedtrace_sequence;
+static unsigned char collision_cachedtrace_sequence;
static int collision_cachedtrace_hashsize;
static int *collision_cachedtrace_hash;
static unsigned int *collision_cachedtrace_arrayfullhashindex;
{
int index;
int range = collision_cachedtrace_lastused + 1;
- int sequence = collision_cachedtrace_sequence;
+ unsigned char sequence = collision_cachedtrace_sequence;
int firstfree = collision_cachedtrace_max;
int lastused = 0;
int *hash = collision_cachedtrace_hash;
unsigned int fullhashindex;
int index = 0;
int range;
- int sequence = collision_cachedtrace_sequence;
+ unsigned char sequence = collision_cachedtrace_sequence;
int *hash = collision_cachedtrace_hash;
unsigned int *arrayfullhashindex = collision_cachedtrace_arrayfullhashindex;
unsigned int *arraynext = collision_cachedtrace_arraynext;
// transform plane
// NOTE: this relies on plane.dist being directly after plane.normal
- Matrix4x4_TransformPositivePlane(matrix, trace->plane.normal[0], trace->plane.normal[1], trace->plane.normal[2], trace->plane.dist, trace->plane.normal);
+ Matrix4x4_TransformPositivePlane(matrix, trace->plane.normal[0], trace->plane.normal[1], trace->plane.normal[2], trace->plane.dist, trace->plane.normal_and_dist);
}
void Collision_ClipToWorld(trace_t *trace, dp_model_t *model, const vec3_t tstart, const vec3_t mins, const vec3_t maxs, const vec3_t tend, int hitsupercontents, float extend)
// transform plane
// NOTE: this relies on plane.dist being directly after plane.normal
- Matrix4x4_TransformPositivePlane(matrix, trace->plane.normal[0], trace->plane.normal[1], trace->plane.normal[2], trace->plane.dist, trace->plane.normal);
+ Matrix4x4_TransformPositivePlane(matrix, trace->plane.normal[0], trace->plane.normal[1], trace->plane.normal[2], trace->plane.dist, trace->plane.normal_and_dist);
}
void Collision_ClipLineToWorld(trace_t *trace, dp_model_t *model, const vec3_t tstart, const vec3_t tend, int hitsupercontents, float extend, qboolean hitsurfaces)
VectorCopy(start, trace->endpos);
// transform plane
// NOTE: this relies on plane.dist being directly after plane.normal
- Matrix4x4_TransformPositivePlane(matrix, trace->plane.normal[0], trace->plane.normal[1], trace->plane.normal[2], trace->plane.dist, trace->plane.normal);
+ Matrix4x4_TransformPositivePlane(matrix, trace->plane.normal[0], trace->plane.normal[1], trace->plane.normal[2], trace->plane.dist, trace->plane.normal_and_dist);
}
void Collision_ClipPointToWorld(trace_t *trace, dp_model_t *model, const vec3_t start, int hitsupercontents)