trackgen: fix some cppcheck warnings

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@8149 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: 4000fd88f8ce71fe543d4905efca6e89e23de839
Former-commit-id: 386a7d1396281f07773db8ddde980af1a9801c92
This commit is contained in:
iobyte 2022-05-06 23:33:59 +00:00
parent d6a3042401
commit 82049a54e2
10 changed files with 96 additions and 105 deletions

View file

@ -42,9 +42,9 @@ Ac3dOpen(const std::string &filename, int nbObjects)
{
FILE *save_fd = fopen(filename.c_str(), "w");
if (save_fd == NULL) {
if (save_fd == nullptr) {
GfOut("Failed to open '%s' for writing (%s)", filename.c_str(), strerror(errno));
return NULL;
return nullptr;
}
fprintf(save_fd, "AC3Db\n");

View file

@ -1736,7 +1736,7 @@ groups(void)
r_node = (struct nod *)calloc(Nn, sizeof(struct nod));
r_elem = (struct ele *)calloc(Ne, sizeof(struct ele));
r_side = (struct sid *)calloc(Ns, sizeof(struct sid));
if (r_side == NULL) {
if (r_side == nullptr) {
fprintf(stderr, "Sorry, cannot allocate enough memory !\n");
return ;
}
@ -1993,9 +1993,9 @@ GenerateMesh(tTrack *Track, bool rightside, bool reverse, bool exterior, bool us
/* Right side */
startNeeded = 1;
for (i = 0, mseg = Track->seg->next; i < Track->nseg; i++, mseg = mseg->next) {
if (mseg->rside != NULL) {
if (mseg->rside != nullptr) {
seg = mseg->rside;
if (seg->rside != NULL) {
if (seg->rside != nullptr) {
seg = seg->rside;
}
} else {
@ -2221,16 +2221,16 @@ GenerateTerrain(tTrack *track, void *TrackHandle, const std::string &outfile, FI
{
const char *FileName;
const char *mat;
FILE *curFd = NULL;
FILE *curFd = nullptr;
TrackStep = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_TSTEP, NULL, 10.0);
TrackStep = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_TSTEP, nullptr, 10.0);
GfOut("Track step: %.2f\n", TrackStep);
Margin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BMARGIN, NULL, 100.0);
GridStep = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BSTEP, NULL, 10.0);
ExtHeight = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BHEIGHT, NULL, 0.0);
Margin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BMARGIN, nullptr, 100.0);
GridStep = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BSTEP, nullptr, 10.0);
ExtHeight = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BHEIGHT, nullptr, 0.0);
GfOut("Border margin: %.2f step: %.2f height: %.2f\n", Margin, GridStep, ExtHeight);
GroupSize = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_GRPSZ, NULL, 100.0);
GroupSize = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_GRPSZ, nullptr, 100.0);
XGroupOffset = track->min.x - Margin;
YGroupOffset = track->min.y - Margin;
@ -2250,16 +2250,16 @@ GenerateTerrain(tTrack *track, void *TrackHandle, const std::string &outfile, FI
sprintf(buf, "%s/%s", TRK_SECT_SURFACES, mat);
}
TexName = GfParmGetStr(TrackHandle, buf, TRK_ATT_TEXTURE, "grass.png");
TexSize = GfParmGetNum(TrackHandle, buf, TRK_ATT_TEXSIZE, (char*)NULL, 20.0f);
TexRand = GfParmGetNum(TrackHandle, buf, TRK_ATT_SURFRAND, (char*)NULL, (tdble)(TexSize / 10.0));
TexSize = GfParmGetNum(TrackHandle, buf, TRK_ATT_TEXSIZE, nullptr, 20.0f);
TexRand = GfParmGetNum(TrackHandle, buf, TRK_ATT_SURFRAND, nullptr, (tdble)(TexSize / 10.0));
FileName = GfParmGetStr(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_RELIEF, NULL);
FileName = GfParmGetStr(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_RELIEF, nullptr);
if (FileName) {
sprintf(buf, "tracks/%s/%s/%s", track->category, track->internalname, FileName);
LoadRelief(TrackHandle, buf);
}
if (noElevation == -1) {
FileName = GfParmGetStr(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_ELEVATION, NULL);
FileName = GfParmGetStr(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_ELEVATION, nullptr);
if (FileName) {
sprintf(buf, "tracks/%s/%s/%s", track->category, track->internalname, FileName);
LoadElevation(track, TrackHandle, buf);

View file

@ -63,7 +63,7 @@ void LoadElevation(tTrack *track, void *TrackHandle, const std::string &imgFile)
printf("Loading Elevation Map %s\n", imgFile.c_str());
Margin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BMARGIN, NULL, Margin);
Margin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BMARGIN, nullptr, Margin);
xmin = track->min.x - Margin;
xmax = track->max.x + Margin;
@ -76,8 +76,8 @@ void LoadElevation(tTrack *track, void *TrackHandle, const std::string &imgFile)
dY = -ymin * kY;
ElvOk = 1;
zmin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_ALT_MIN, NULL, track->min.z);
zmax = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_ALT_MAX, NULL, track->max.z);
zmin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_ALT_MIN, nullptr, track->min.z);
zmax = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_ALT_MAX, nullptr, track->max.z);
dZ = zmin;
kZ = (zmax - dZ) / MAX_CLR;
@ -86,14 +86,11 @@ void LoadElevation(tTrack *track, void *TrackHandle, const std::string &imgFile)
tdble GetElevation(tdble x, tdble y, tdble z)
{
int iX, iY;
int clr;
if (ElvOk) {
iX = (int)(x * kX + dX);
iY = (int)(y * kY + dY);
int iX = (int)(x * kX + dX);
int iY = (int)(y * kY + dY);
/* RGBA */
clr = ElvImage[4 * (iY * width + iX)];
int clr = ElvImage[4 * (iY * width + iX)];
return (tdble)clr * kZ + dZ;
}
@ -101,7 +98,7 @@ tdble GetElevation(tdble x, tdble y, tdble z)
}
void SaveElevation(tTrack *track, void *TrackHandle, const std::string &imgFile, const std::string &meshFile, int dispf, int heightSteps)
void SaveElevation(tTrack *track, void *TrackHandle, const std::string &imgFile, const std::string &meshFile, int disp, int heightSteps)
{
ssgLoaderOptionsEx options;
float zmin, zmax;
@ -117,12 +114,12 @@ void SaveElevation(tTrack *track, void *TrackHandle, const std::string &imgFile,
s = getenv("COLUMNS");
if (s) {
columns = strtol(getenv("COLUMNS"), NULL, 0);
columns = strtol(getenv("COLUMNS"), nullptr, 0);
} else {
columns = 80;
}
Margin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BMARGIN, NULL, Margin);
Margin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BMARGIN, nullptr, Margin);
xmin = track->min.x - Margin;
xmax = track->max.x + Margin;
@ -138,11 +135,11 @@ void SaveElevation(tTrack *track, void *TrackHandle, const std::string &imgFile,
kY = (ymax - ymin) / height;
dY = ymin;
zmin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_ALT_MIN, NULL, track->min.z);
zmax = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_ALT_MAX, NULL, track->max.z);
zmin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_ALT_MIN, nullptr, track->min.z);
zmax = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_ALT_MAX, nullptr, track->max.z);
heightStep = (float)(zmax - zmin) / (float)heightSteps;
if (dispf == 2) {
if (disp == 2) {
printf("Height of steps = %f\n", heightStep);
}
@ -161,7 +158,7 @@ void SaveElevation(tTrack *track, void *TrackHandle, const std::string &imgFile,
ssgModelPath(buf);
root = (ssgRoot*)ssgLoadAC(meshFile.c_str());
if (root == NULL) {
if (root == nullptr) {
printf("Could not load %s, ", meshFile.c_str());
printf("please generate it with \"trackgen -c %s -n %s -a\"\n", track->category, track->internalname);
return;
@ -187,7 +184,7 @@ void SaveElevation(tTrack *track, void *TrackHandle, const std::string &imgFile,
y = j * kY + dY;
z = getHOT(root, x, y);
if (z != -1000000.0f) {
switch (dispf) {
switch (disp) {
case 0:
clr = 0;
break;

View file

@ -201,7 +201,7 @@ bool Application::parseOptions()
}
else if (itOpt->strLongName == "saveelev")
{
DoSaveElevation = strtol(itOpt->strValue.c_str(), NULL, 0);
DoSaveElevation = strtol(itOpt->strValue.c_str(), nullptr, 0);
TrackOnly = false;
}
else if (itOpt->strLongName == "category")
@ -210,7 +210,7 @@ bool Application::parseOptions()
}
else if (itOpt->strLongName == "steps4")
{
HeightSteps = strtol(itOpt->strValue.c_str(), NULL, 0);
HeightSteps = strtol(itOpt->strValue.c_str(), nullptr, 0);
}
}
@ -273,7 +273,7 @@ int Application::generate()
std::string OutputFileName(buf2);
// Number of groups for the complete track.
FILE *outfd = NULL;
FILE *outfd = nullptr;
if (TrackOnly) {
// Track.
if (!Bump && !Raceline)

View file

@ -46,9 +46,9 @@
static char path[1024];
static char buf[1024];
static ssgRoot *Root = NULL;
static ssgRoot *GroupRoot = NULL;
static ssgRoot *TrackRoot = NULL;
static ssgRoot *Root = nullptr;
static ssgRoot *GroupRoot = nullptr;
static ssgRoot *TrackRoot = nullptr;
struct group
{
@ -112,7 +112,7 @@ InitObjects(tTrack *track, void *TrackHandle)
ObjUniqId = 0;
srand((unsigned int)GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_SEED, NULL, 1));
srand((unsigned int)GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_SEED, nullptr, 1));
ssgSetCurrentOptions ( &options ) ;
@ -131,8 +131,8 @@ InitObjects(tTrack *track, void *TrackHandle)
for (int i = 0; i < objnb; i++)
{
objdef *curObj = (struct objdef *)malloc(sizeof(struct objdef));
curObj->color = (unsigned int)GfParmGetCurNum(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_COLOR, NULL, 0);
const char *objName = GfParmGetCurStr(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_OBJECT, NULL);
curObj->color = (unsigned int)GfParmGetCurNum(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_COLOR, nullptr, 0);
const char *objName = GfParmGetCurStr(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_OBJECT, nullptr);
if (!objName)
{
@ -152,8 +152,8 @@ InitObjects(tTrack *track, void *TrackHandle)
if (strcmp(GfParmGetCurStr(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_ORIENTATION_TYPE, ""), "random") == 0)
{
curObj->deltaHeight = GfParmGetCurNum(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_DH, NULL, 0);
curObj->deltaVert = GfParmGetCurNum(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_DV, NULL, 5.0);
curObj->deltaHeight = GfParmGetCurNum(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_DH, nullptr, 0);
curObj->deltaVert = GfParmGetCurNum(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_DV, nullptr, 5.0);
curObj->random = true;
}
else
@ -185,7 +185,7 @@ InitObjects(tTrack *track, void *TrackHandle)
if (strcmp(GfParmGetCurStr(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_ORIENTATION_TYPE, ""), "border") == 0)
{
curObj->borderOriented = true;
curObj->distance = GfParmGetCurNum(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_BORDER_DISTANCE, NULL, 1.0);
curObj->distance = GfParmGetCurNum(TrackHandle, TRK_SECT_OBJECTS, TRK_ATT_BORDER_DISTANCE, nullptr, 1.0);
}
else
{
@ -343,18 +343,18 @@ ssgSaveLeaf (ssgEntity *ent, FILE *save_fd)
{
const char* tfname = ss->getTextureFilename ();
if ((tfname != NULL) && (tfname[0] != 0))
if ((tfname != nullptr) && (tfname[0] != 0))
{
if (writeTextureWithoutPath)
{
char *s = strrchr ((char *)tfname, '\\');
if (s == NULL)
if (s == nullptr)
{
s = strrchr ((char *)tfname, '/');
}
if (s == NULL)
if (s == nullptr)
{
fprintf (save_fd, "texture \"%s\"\n", tfname);
}
@ -485,8 +485,8 @@ Group(tTrack *track, void *TrackHandle, ssgEntity *ent)
GroupRoot = new ssgRoot();
Margin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BMARGIN, NULL, 100.0);
GroupSize = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_GRPSZ, NULL, 100.0);
Margin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BMARGIN, nullptr, 100.0);
GroupSize = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_GRPSZ, nullptr, 100.0);
XGroupOffset = track->min.x - Margin;
YGroupOffset = track->min.y - Margin;
@ -509,17 +509,12 @@ void
GenerateObjects(tTrack *track, void *TrackHandle, void *CfgHandle, FILE *save_fd, const std::string &meshFile, const std::string &outputFile)
{
ssgLoaderOptionsEx options;
int i, j;
const char *map;
unsigned char *MapImage;
int width, height;
tdble xmin, xmax, ymin, ymax;
tdble Margin;
tdble kX, kY, dX, dY;
unsigned int clr;
int index;
const char *extName;
FILE *curFd;
ssgSetCurrentOptions(&options);
sprintf(buf, "tracks/%s/%s;data/textures;data/img;.", track->category, track->internalname);
@ -530,7 +525,7 @@ GenerateObjects(tTrack *track, void *TrackHandle, void *CfgHandle, FILE *save_fd
InitObjects(track, TrackHandle);
Margin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BMARGIN, NULL, 0);
Margin = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BMARGIN, nullptr, 0);
xmin = track->min.x - Margin;
xmax = track->max.x + Margin;
@ -552,11 +547,11 @@ GenerateObjects(tTrack *track, void *TrackHandle, void *CfgHandle, FILE *save_fd
Root = new ssgRoot();
index++;
map = GfParmGetCurStr(TrackHandle, path, TRK_ATT_OBJMAP, "");
const char *map = GfParmGetCurStr(TrackHandle, path, TRK_ATT_OBJMAP, "");
sprintf(buf, "tracks/%s/%s/%s", track->category, track->internalname, map);
printf("Processing object map %s\n", buf);
MapImage = GfTexReadImageFromPNG(buf, 2.2, &width, &height, 0, 0, false);
unsigned char *MapImage = GfTexReadImageFromPNG(buf, 2.2, &width, &height, 0, 0, false);
if (!MapImage)
{
@ -568,9 +563,9 @@ GenerateObjects(tTrack *track, void *TrackHandle, void *CfgHandle, FILE *save_fd
kY = (ymax - ymin) / height;
dY = ymin;
for (j = 0; j < height; j++)
for (int j = 0; j < height; j++)
{
for (i = 0; i < width; i++)
for (int i = 0; i < width; i++)
{
clr = (MapImage[4 * (i + width * j)] << 16) + (MapImage[4 * (i + width * j) + 1] << 8) + MapImage[4 * (i + width * j) + 2];
@ -583,9 +578,9 @@ GenerateObjects(tTrack *track, void *TrackHandle, void *CfgHandle, FILE *save_fd
Group(track, TrackHandle, Root);
extName = GfParmGetStr(CfgHandle, "Files", "object", "obj");
const char *extName = GfParmGetStr(CfgHandle, "Files", "object", "obj");
sprintf(buf, "%s-%s-%d.ac", outputFile.c_str(), extName, index);
curFd = Ac3dOpen(buf, 1);
FILE *curFd = Ac3dOpen(buf, 1);
ssgSaveACInner(GroupRoot, curFd);
Ac3dClose(curFd);

View file

@ -33,7 +33,7 @@ struct RacelineSegment
};
static const double SegLength = 2.0;
static RacelineSegment* rlseg = NULL;
static RacelineSegment* rlseg = nullptr;
static int nSegments = 0;
static double SideDistExt = 2.0; // Security distance wrt outside
static double SideDistInt = 2.0; // Security distance wrt inside
@ -43,7 +43,7 @@ static const double SecurityR = 100.0; // Security radius
static void SplitTrack(tTrack *ptrack)
{
const tTrackSeg *seg = ptrack->seg;
const tTrackSeg *first = NULL;
const tTrackSeg *first = nullptr;
// Find pointer to start (seems not to start at the "start" all the time, e.g e-track-1)
do {
if (seg->lgfromstart == 0.0)

View file

@ -55,7 +55,7 @@ tRingListHead ExteriorList;
static tdble GridStep;
static ssgEntity *Root = NULL;
static ssgEntity *Root = nullptr;
/*
* Read the faces from AC3D file
@ -87,7 +87,7 @@ LoadRelief(void *TrackHandle, const char *reliefFile)
GF_TAILQ_INIT(&InteriorList);
GF_TAILQ_INIT(&ExteriorList);
GridStep = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BSTEP, NULL, GridStep);
GridStep = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_BSTEP, nullptr, GridStep);
ssgLoaderOptions *loaderopt = new ssgLoaderOptions();
@ -124,7 +124,7 @@ CountRelief(bool interior, int *nb_vert, int *nb_seg)
*nb_vert = *nb_seg = 0;
if (Root == NULL) {
if (Root == nullptr) {
return;
}
@ -135,7 +135,7 @@ CountRelief(bool interior, int *nb_vert, int *nb_seg)
}
curLine = GF_TAILQ_FIRST(curHead);
while (curLine != NULL) {
while (curLine != nullptr) {
ssgBranch *br = curLine->branch->getParent(0);
ssgBranch *br2 = new ssgBranch();
@ -200,7 +200,7 @@ GenRelief(bool interior)
tRingListHead *curHead;
if (Root == NULL) {
if (Root == nullptr) {
return;
}
@ -211,7 +211,7 @@ GenRelief(bool interior)
}
curLine = GF_TAILQ_FIRST(curHead);
while (curLine != NULL) {
while (curLine != nullptr) {
genRec((ssgEntity *)curLine->branch);
curLine = GF_TAILQ_NEXT(curLine, link);

View file

@ -86,8 +86,8 @@ static tdble TrackStep;
static void initPits(tTrack *theTrack, void *TrackHandle, tTrackPitInfo *pits) {
tTrackSeg *curMainSeg;
tTrackSeg *curPitSeg = NULL;
tTrackSeg *pitBuildingsStart = NULL;
tTrackSeg *curPitSeg = nullptr;
tTrackSeg *pitBuildingsStart = nullptr;
const char *segName;
tTrkLocPos curPos;
int i;
@ -112,7 +112,7 @@ static void initPits(tTrack *theTrack, void *TrackHandle, tTrackPitInfo *pits) {
curPos.type = TR_TOMIDDLE;
//TR_LPOS_MAIN; //NB: TR_LPOS_MAIN not handled by RtTrackLocal2Global!
segName = GfParmGetStr(TrackHandle, path2, TRK_ATT_BUILDINGS_START, NULL);
segName = GfParmGetStr(TrackHandle, path2, TRK_ATT_BUILDINGS_START, nullptr);
if (segName != 0) {
pitBuildingsStart = theTrack->seg;
found = false;
@ -131,12 +131,12 @@ static void initPits(tTrack *theTrack, void *TrackHandle, tTrackPitInfo *pits) {
if (!found)
{
pitBuildingsStart = NULL;
pitBuildingsStart = nullptr;
}
}
if (pitBuildingsStart == NULL) {
if (pits->pitStart == NULL) {
if (pitBuildingsStart == nullptr) {
if (pits->pitStart == nullptr) {
GfLogError("Can't find pit start\n");
exit(1);
}
@ -256,7 +256,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
{
int i;
tTrackSeg *seg;
tTrackSeg *lastSeg = NULL;
tTrackSeg *lastSeg = nullptr;
tTrackSeg *mseg;
int nbvert;
tdble width;
@ -272,7 +272,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
tdble xprev = 0;
tdble yprev = 0;
tDispElt *aDispElt = NULL;
tDispElt *aDispElt = nullptr;
unsigned int prevTexId;
unsigned int curTexId = 0;
int curTexType = 0;
@ -281,8 +281,8 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
tdble curTexSeg;
tdble curTexSize = 0;
tdble curHeight;
tTexElt *texList = (tTexElt*)NULL;
tTexElt *curTexElt = NULL;
tTexElt *texList = nullptr;
tTexElt *curTexElt = nullptr;
tTrackBarrier *curBarrier;
tdble texLen;
tdble texStep;
@ -297,7 +297,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
tdble tmHSpace = Track->graphic.turnMarksInfo.hSpace;
char buf[256];
int hasBorder;
tDispElt *theCurDispElt = NULL;
tDispElt *theCurDispElt = nullptr;
char sname[256];
// float dmax = 0;
@ -344,9 +344,9 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
if (raceline)
{
double SideDistExt = GfParmGetNum(TrackHandle, TRK_SECT_MAIN, TRK_ATT_RLEXT, (char*)NULL, 2.0);
double SideDistInt = GfParmGetNum(TrackHandle, TRK_SECT_MAIN, TRK_ATT_RLINT, (char*)NULL, 2.0);
rlWidthScale = GfParmGetNum(TrackHandle, TRK_SECT_MAIN, TRK_ATT_RLWIDTHSCALE, (char*)NULL, 1.0);
double SideDistExt = GfParmGetNum(TrackHandle, TRK_SECT_MAIN, TRK_ATT_RLEXT, nullptr, 2.0);
double SideDistInt = GfParmGetNum(TrackHandle, TRK_SECT_MAIN, TRK_ATT_RLINT, nullptr, 2.0);
rlWidthScale = GfParmGetNum(TrackHandle, TRK_SECT_MAIN, TRK_ATT_RLWIDTHSCALE, nullptr, 1.0);
rlOffset = (1.0 - 1.0/rlWidthScale)/2.0;
generateRaceLine(Track, SideDistExt, SideDistInt);
}
@ -356,7 +356,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
#define SETTEXTURE(texname, texnamebump, texnameraceline, _mipmap) do { \
int found = 0; \
curTexElt = texList; \
if (curTexElt == NULL) { \
if (curTexElt == nullptr) { \
curTexElt = (tTexElt*)calloc(1, sizeof(tTexElt)); \
curTexElt->next = curTexElt; \
texList = curTexElt; \
@ -392,7 +392,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
#define NEWDISPLIST(texchange, _name, _id) do { \
if (!bump || (*(curTexElt->namebump) != 0)) { \
if (theCurDispElt != NULL) { \
if (theCurDispElt != nullptr) { \
startNeeded = texchange; \
if (theCurDispElt->start != nbvert) { \
theCurDispElt->nb = nbvert - theCurDispElt->start; \
@ -448,7 +448,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
texnamebump = GfParmGetStr(TrackHandle, path_, TRK_ATT_BUMPNAME, ""); \
texnameraceline = GfParmGetStr(TrackHandle, path_, TRK_ATT_RACELINENAME, "raceline.png"); \
texname = GfParmGetStr(TrackHandle, path_, TRK_ATT_TEXTURE, "tr-asphalt.png"); \
mipmap = (int)GfParmGetNum(TrackHandle, path_, TRK_ATT_TEXMIPMAP, (char*)NULL, 0); \
mipmap = (int)GfParmGetNum(TrackHandle, path_, TRK_ATT_TEXMIPMAP, nullptr, 0); \
SETTEXTURE(texname, texnamebump, texnameraceline, mipmap); \
if ((curTexId != prevTexId) || (startNeeded)) { \
const char *textype; \
@ -456,7 +456,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
curTexType = 1; \
curTexLink = 1; \
curTexOffset = -off; \
curTexSize = GfParmGetNum(TrackHandle, path_, TRK_ATT_BUMPSIZE, (char*)NULL, 20.0); \
curTexSize = GfParmGetNum(TrackHandle, path_, TRK_ATT_BUMPSIZE, nullptr, 20.0); \
} else { \
textype = GfParmGetStr(TrackHandle, path_, TRK_ATT_TEXTYPE, "continuous"); \
if (strcmp(textype, "continuous") == 0) \
@ -473,7 +473,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
curTexOffset = -off; \
else \
curTexOffset = 0; \
curTexSize = GfParmGetNum(TrackHandle, path_, TRK_ATT_TEXSIZE, (char*)NULL, 20.0); \
curTexSize = GfParmGetNum(TrackHandle, path_, TRK_ATT_TEXSIZE, nullptr, 20.0); \
} \
prevTexId = curTexId; \
NEWDISPLIST(1, name, id); \
@ -707,7 +707,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
runninglentgh = 0;
sprintf(sname, "t%dRB", j);
for (i = 0, mseg = Track->seg->next; i < Track->nseg; i++, mseg = mseg->next) {
if ((mseg->rside != NULL) && (mseg->rside->type2 == TR_RBORDER)) {
if ((mseg->rside != nullptr) && (mseg->rside->type2 == TR_RBORDER)) {
seg = mseg->rside;
CHECKDISPLIST(seg->surface->material, sname, i, mseg->lgfromstart);
if (!curTexLink) {
@ -1086,10 +1086,10 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
runninglentgh = 0;
hasBorder = 0;
for (i = 0, mseg = Track->seg->next; i < Track->nseg; i++, mseg = mseg->next) {
if ((mseg->rside != NULL) &&
((mseg->rside->type2 == TR_RSIDE) || (mseg->rside->rside != NULL))) {
if ((mseg->rside != nullptr) &&
((mseg->rside->type2 == TR_RSIDE) || (mseg->rside->rside != nullptr))) {
seg = mseg->rside;
if (seg->rside != NULL) {
if (seg->rside != nullptr) {
seg = seg->rside;
if (hasBorder == 0) {
startNeeded = 1;
@ -1241,7 +1241,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
runninglentgh = 0;
sprintf(sname, "t%dLB", j);
for (i = 0, mseg = Track->seg->next; i < Track->nseg; i++, mseg = mseg->next) {
if ((mseg->lside != NULL) && (mseg->lside->type2 == TR_LBORDER)) {
if ((mseg->lside != nullptr) && (mseg->lside->type2 == TR_LBORDER)) {
seg = mseg->lside;
CHECKDISPLIST(seg->surface->material, sname, i, mseg->lgfromstart);
if (!curTexLink) {
@ -1614,8 +1614,8 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
runninglentgh = 0;
hasBorder = 0;
for (i = 0, mseg = Track->seg->next; i < Track->nseg; i++, mseg = mseg->next) {
if ((mseg->lside != NULL) &&
((mseg->lside->type2 == TR_LSIDE) || (mseg->lside->lside != NULL))) {
if ((mseg->lside != nullptr) &&
((mseg->lside->type2 == TR_LSIDE) || (mseg->lside->lside != nullptr))) {
seg = mseg->lside;
if (seg->lside) {
seg = seg->lside;
@ -1768,7 +1768,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
runninglentgh = 0;
sprintf(sname, "B%dRt", j);
for (i = 0, mseg = Track->seg->next; i < Track->nseg; i++, mseg = mseg->next) {
if ((mseg->rside != NULL) && (mseg->rside->raceInfo & TR_PITBUILD)) {
if ((mseg->rside != nullptr) && (mseg->rside->raceInfo & TR_PITBUILD)) {
startNeeded = 1;
runninglentgh = 0;
NEWDISPLIST(0, sname, i);
@ -2038,7 +2038,7 @@ InitScene(tTrack *Track, void *TrackHandle, bool bump, bool raceline)
runninglentgh = 0;
sprintf(sname, "B%dLt", j);
for (i = 0, mseg = Track->seg->next; i < Track->nseg; i++, mseg = mseg->next) {
if ((mseg->lside != NULL) && (mseg->lside->raceInfo & TR_PITBUILD)) {
if ((mseg->lside != nullptr) && (mseg->lside->raceInfo & TR_PITBUILD)) {
runninglentgh = 0;
startNeeded = 1;
NEWDISPLIST(0, sname, i);
@ -2785,7 +2785,7 @@ SaveMainTrack(FILE *curFd, bool bump, bool raceline)
*/
void CalculateTrack(tTrack * Track, void *TrackHandle, bool bump, bool raceline)
{
TrackStep = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_TSTEP, NULL, TrackStep);
TrackStep = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_TSTEP, nullptr, TrackStep);
printf("Track step: %.2f ", TrackStep);
InitScene(Track, TrackHandle, bump, raceline);
@ -2804,7 +2804,7 @@ void CalculateTrack(tTrack * Track, void *TrackHandle, bool bump, bool raceline)
void
GenerateTrack(tTrack * Track, void *TrackHandle, const std::string &outFile, FILE *AllFd, bool bump, bool raceline)
{
TrackStep = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_TSTEP, NULL, TrackStep);
TrackStep = GfParmGetNum(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_TSTEP, nullptr, TrackStep);
printf("Track step: %.2f ", TrackStep);
InitScene(Track, TrackHandle, bump, raceline);

View file

@ -225,11 +225,10 @@ float
getBorderAngle(tTrack *Track, void *TrackHandle, float x, float y, float distance, float *xRet, float *yRet, float *zRet )
{
float angle=0, dst=100000, shDst=100000;
int i;
tTrackSeg *seg = Track->seg;
tTrkLocPos curPos, closePos, objPos;
float x2, y2, x3, y3;
for(i = 0; i < Track->nseg; i++)
for(int i = 0; i < Track->nseg; i++)
{
seg=seg->next;
curPos.seg=seg;
@ -300,7 +299,7 @@ getBorderAngle(tTrack *Track, void *TrackHandle, float x, float y, float distanc
curPos.toStart+=0.001;
RtTrackLocal2Global(&curPos, &x2, &y2, TR_TORIGHT);
angle=-90.0-atan2f(x2-x3,y2-y3)*180/PI;
RtTrackLocal2Global(&objPos, &*xRet, &*yRet, TR_TORIGHT);
RtTrackLocal2Global(&objPos, xRet, yRet, TR_TORIGHT);
}
else
// left side
@ -310,7 +309,7 @@ getBorderAngle(tTrack *Track, void *TrackHandle, float x, float y, float distanc
curPos.toStart+=0.001;
RtTrackLocal2Global(&curPos, &x2, &y2, TR_TOLEFT);
angle=90.0-atan2f(x2-x3,y2-y3)*180/PI;
RtTrackLocal2Global(&objPos, &*xRet, &*yRet, TR_TOLEFT);
RtTrackLocal2Global(&objPos, xRet, yRet, TR_TOLEFT);
}
*zRet=RtTrackHeightG(seg, *xRet, *yRet);

View file

@ -45,12 +45,12 @@ class ssgLoaderOptionsEx : public ssgLoaderOptions
virtual void makeModelPath ( char* path, const char *fname ) const
{
ulFindFile ( path, model_dir, fname, NULL ) ;
ulFindFile ( path, model_dir, fname, nullptr ) ;
}
virtual void makeTexturePath ( char* path, const char *fname ) const
{
ulFindFile ( path, texture_dir, fname, NULL ) ;
ulFindFile ( path, texture_dir, fname, nullptr ) ;
}
};