-
/*
-this code written by Forest Hale, on 2004-10-17, and placed into public domain
+this code written by Ashley Rose Hale (LadyHavoc), on 2004-10-17, and placed into public domain
this implements Quadratic BSpline surfaces as seen in Quake3 by id Software
a small rant on misuse of the name 'bezier': many people seem to think that
{
float f;
// f is actually a squared 2x curve area... so the formula had to be adjusted to give roughly the same subdivisions
- f = pow(largestsquared3xcurvearea / 64.0, 0.25) / tolerance;
+ f = pow(largestsquared3xcurvearea / 64.0f, 0.25f) / tolerance;
//if(f < 0.25) // VERY flat patches
if(f < 0.0001) // TOTALLY flat patches
return 0;
else if(f < 2)
return 1;
else
- return (int) floor(log(f) / log(2)) + 1;
+ return (int) floor(log(f) / log(2.0f)) + 1;
// this is always at least 2
// maps [0.25..0.5[ to -1 (actually, 1 is returned)
// maps [0.5..1[ to 0 (actually, 1 is returned)
// maps [4..8[ to 4
}
-float Squared3xCurveArea(const float *a, const float *control, const float *b, int components)
+static float Squared3xCurveArea(const float *a, const float *control, const float *b, int components)
{
#if 0
// mimicing the old behaviour with the new code...
{
for (x=0; x<width; x+=2)
{
- qboolean found = true;
+ qbool found = true;
for (j=0; j<numcomponents; j++)
if (fabs(*(vertex+j) - *(vertices+j)) > 0.05)
// div0: this is notably smaller than the smallest radiant grid
struct {int id1,id2;} commonverts[8];
int i, j, k, side1, side2, *tess1, *tess2;
- int dist1, dist2;
- qboolean modified = false;
+ int dist1 = 0, dist2 = 0;
+ qbool modified = false;
// Potential paired vertices (corners of the first patch)
commonverts[0].id1 = 0;