Fixed USR_GP3601 bad const char* conversion to char* (GCC4.2) and unused vars warnings

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

Former-commit-id: 64ae034e69d146e1eb7906a0a0a29ea9c4f4bf65
Former-commit-id: e942e84edbe91e1791f6fc3dfab1a186995f0808
This commit is contained in:
pouillot 2008-11-23 10:34:03 +00:00
parent 807777bd97
commit 07b0a65df7

View file

@ -237,8 +237,8 @@ void Driver::initTrack(tTrack* t, void *carHandle, void **carParmHandle, tSituat
char* trackname = strrchr(track->filename, '/') + 1; char* trackname = strrchr(track->filename, '/') + 1;
char carName[256]; char carName[256];
{ {
char *path = SECT_GROBJECTS "/" LST_RANGES "/" "1"; const char *path = SECT_GROBJECTS "/" LST_RANGES "/" "1";
char *key = PRM_CAR; const char *key = PRM_CAR;
strncpy( carName, GfParmGetStr(carHandle, path, key, ""), sizeof(carName) ); strncpy( carName, GfParmGetStr(carHandle, path, key, ""), sizeof(carName) );
char *p = strrchr(carName, '.'); char *p = strrchr(carName, '.');
if (p) *p = '\0'; if (p) *p = '\0';
@ -397,7 +397,7 @@ void Driver::newRace(tCarElt* car, tSituation *s)
opponent = opponents->getOpponentPtr(); opponent = opponents->getOpponentPtr();
// Set team mate. // Set team mate.
char *teammate = GfParmGetStr(car->_carHandle, BT_SECT_PRIV, BT_ATT_TEAMMATE, NULL); const char *teammate = GfParmGetStr(car->_carHandle, BT_SECT_PRIV, BT_ATT_TEAMMATE, NULL);
if (teammate != NULL) { if (teammate != NULL) {
opponents->setTeamMate(teammate); opponents->setTeamMate(teammate);
} }
@ -1047,7 +1047,7 @@ float Driver::getSteer(tSituation *s)
bool yr_ok = (fabs(car->_yaw_rate) < 0.1 || (car->_yaw_rate > rldata->rInverse*100-0.1 && car->_yaw_rate < rldata->rInverse*100+0.1)); bool yr_ok = (fabs(car->_yaw_rate) < 0.1 || (car->_yaw_rate > rldata->rInverse*100-0.1 && car->_yaw_rate < rldata->rInverse*100+0.1));
bool angle_ok = (angle > rldata->rlangle-0.06 && angle < rldata->rlangle+0.06); bool angle_ok = (angle > rldata->rlangle-0.06 && angle < rldata->rlangle+0.06);
double rlsteer = (fabs(rldata->rInverse) >= 0.004 ? rldata->rInverse * 12 : 0.0); //double rlsteer = (fabs(rldata->rInverse) >= 0.004 ? rldata->rInverse * 12 : 0.0);
bool steer_ok = (racesteer<laststeer+0.05 && racesteer>laststeer-0.05); bool steer_ok = (racesteer<laststeer+0.05 && racesteer>laststeer-0.05);
double skid = (car->_skid[0] + car->_skid[1] + car->_skid[2] + car->_skid[3]) / 2; double skid = (car->_skid[0] + car->_skid[1] + car->_skid[2] + car->_skid[3]) / 2;
@ -1216,7 +1216,7 @@ double Driver::calcSteer( double targetAngle, int rl )
if (fabs(angle) > fabs(speedangle)) if (fabs(angle) > fabs(speedangle))
{ {
// steer into the skid // steer into the skid
double sa = MAX(-0.3, MIN(0.3, speedangle/3)); //double sa = MAX(-0.3, MIN(0.3, speedangle/3));
//double anglediff = (sa - angle) * (0.3 + fabs(angle)/6); //double anglediff = (sa - angle) * (0.3 + fabs(angle)/6);
double anglediff = (speedangle - angle) * (0.1 + fabs(angle)/6); double anglediff = (speedangle - angle) * (0.1 + fabs(angle)/6);
steer += (float) (anglediff*0.5); steer += (float) (anglediff*0.5);
@ -1315,7 +1315,7 @@ int Driver::checkFlying()
float Driver::correctSteering( float avoidsteer, float racesteer ) float Driver::correctSteering( float avoidsteer, float racesteer )
{ {
float steer = avoidsteer; float steer = avoidsteer;
float accel = MIN(0.0f, car->_accel_x); //float accel = MIN(0.0f, car->_accel_x);
double speed = 50.0; //MAX(50.0, getSpeed()); double speed = 50.0; //MAX(50.0, getSpeed());
double changelimit = MIN(raceline->correctLimit(avoidsteer, racesteer), (((120.0-getSpeed())/6000) * (0.1 + fabs(rldata->mInverse/4)))) * SmoothSteer; double changelimit = MIN(raceline->correctLimit(avoidsteer, racesteer), (((120.0-getSpeed())/6000) * (0.1 + fabs(rldata->mInverse/4)))) * SmoothSteer;
@ -1653,7 +1653,7 @@ vec2f Driver::getTargetPoint()
// all the BT code below is for steering into pits only. // all the BT code below is for steering into pits only.
s.x = (seg->vertex[TR_SL].x + seg->vertex[TR_SR].x)/2; s.x = (seg->vertex[TR_SL].x + seg->vertex[TR_SR].x)/2;
s.y = (seg->vertex[TR_SL].y + seg->vertex[TR_SR].y)/2; s.y = (seg->vertex[TR_SL].y + seg->vertex[TR_SR].y)/2;
double dx, dy; //double dx, dy;
vec2f t, rt; vec2f t, rt;
if ( seg->type == TR_STR) { if ( seg->type == TR_STR) {
@ -1689,9 +1689,9 @@ bool Driver::canOvertake( Opponent *o, double *mincatchdist, bool outside, bool
if (!o) return false; if (!o) return false;
#if 1 #if 1
int segid = car->_trkPos.seg->id; //int segid = car->_trkPos.seg->id;
tCarElt *ocar = o->getCarPtr(); tCarElt *ocar = o->getCarPtr();
int osegid = ocar->_trkPos.seg->id; //int osegid = ocar->_trkPos.seg->id;
double otry_factor = (lenient ? (0.2 + (1.0 - ((simtime-frontavoidtime)/7.0)) * 0.8) : 1.0); double otry_factor = (lenient ? (0.2 + (1.0 - ((simtime-frontavoidtime)/7.0)) * 0.8) : 1.0);
double overtakecaution = rldata->overtakecaution + (outside ? MIN(0.0, car->_accel_x/8) : 0.0); double overtakecaution = rldata->overtakecaution + (outside ? MIN(0.0, car->_accel_x/8) : 0.0);
double distance = o->getDistance() * otry_factor * (1.0 + overtakecaution) - (ocar->_pos > car->_pos ? MIN(o->getDistance()/2, 3.0) : 0.0); double distance = o->getDistance() * otry_factor * (1.0 + overtakecaution) - (ocar->_pos > car->_pos ? MIN(o->getDistance()/2, 3.0) : 0.0);
@ -1868,8 +1868,8 @@ float Driver::getOffset()
{ {
// reduce amount we deviate from the raceline according to how long we've been avoiding, and also // reduce amount we deviate from the raceline according to how long we've been avoiding, and also
// how fast we're going. // how fast we're going.
double dspeed = MAX(0.0, rldata->speed - getSpeed()) * 4; //double dspeed = MAX(0.0, rldata->speed - getSpeed()) * 4;
double pspeed = MAX(1.0, 60.0 - (getSpeed() - (30.0 + MAX(0.0, car->_accel_x) + dspeed))) / 10; //double pspeed = MAX(1.0, 60.0 - (getSpeed() - (30.0 + MAX(0.0, car->_accel_x) + dspeed))) / 10;
// instead of toMiddle just aiming at where the car currently is, we move it in the direction // instead of toMiddle just aiming at where the car currently is, we move it in the direction
// the car's travelling ... but less so if the speedangle is different from the car's angle. // the car's travelling ... but less so if the speedangle is different from the car's angle.
@ -2148,13 +2148,13 @@ fprintf(stderr,"%s -> %s CANCEL 1 (%.1f > %.1f || %.1f < %.1f || %.3f > %.3f)\n"
tCarElt *ocar = o->getCarPtr(); tCarElt *ocar = o->getCarPtr();
// Compute the width around the middle which we can use for overtaking. // Compute the width around the middle which we can use for overtaking.
float w = ocar->_trkPos.seg->width/WIDTHDIV-BORDER_OVERTAKE_MARGIN; //float w = ocar->_trkPos.seg->width/WIDTHDIV-BORDER_OVERTAKE_MARGIN;
// Compute the opponents distance to the middle. // Compute the opponents distance to the middle.
float otm = ocar->_trkPos.toMiddle; //float otm = ocar->_trkPos.toMiddle;
// Define the with of the middle range. // Define the with of the middle range.
float wm = ocar->_trkPos.seg->width*CENTERDIV; //float wm = ocar->_trkPos.seg->width*CENTERDIV;
float sidedist = fabs(car->_trkPos.toMiddle-ocar->_trkPos.toMiddle); float sidedist = fabs(car->_trkPos.toMiddle-ocar->_trkPos.toMiddle);
double sdist = (rInverse > 0.0 ? (-sidedist - 3.0) : (sidedist - 3.0)); //double sdist = (rInverse > 0.0 ? (-sidedist - 3.0) : (sidedist - 3.0));
//int avoidingside = (otm > wm && myoffset > -w) ? TR_RGT : ((otm < -wm && myoffset < w) ? TR_LFT : TR_STR); //int avoidingside = (otm > wm && myoffset > -w) ? TR_RGT : ((otm < -wm && myoffset < w) ? TR_LFT : TR_STR);
int avoidingside = (car->_trkPos.toLeft > ocar->_trkPos.toLeft/*+4.0*/ ? TR_LFT : (car->_trkPos.toLeft<ocar->_trkPos.toLeft/*-4.0*/ ? TR_RGT : TR_STR)); int avoidingside = (car->_trkPos.toLeft > ocar->_trkPos.toLeft/*+4.0*/ ? TR_LFT : (car->_trkPos.toLeft<ocar->_trkPos.toLeft/*-4.0*/ ? TR_RGT : TR_STR));
@ -2629,7 +2629,7 @@ void Driver::update(tSituation *s)
for (int i=0; i<opponents->getNOpponents(); i++) for (int i=0; i<opponents->getNOpponents(); i++)
{ {
int idx = opponent[i].getIndex(); //int idx = opponent[i].getIndex();
if (opponent[i].getTeam() != TEAM_FRIEND) continue; if (opponent[i].getTeam() != TEAM_FRIEND) continue;
if (opponent[i].getCarPtr() == car) continue; if (opponent[i].getCarPtr() == car) continue;
if (opponent[i].getCarPtr()->_state > RM_CAR_STATE_PIT) if (opponent[i].getCarPtr()->_state > RM_CAR_STATE_PIT)
@ -2926,7 +2926,7 @@ void Driver::initWheelPos()
{ {
for (int i=0; i<4; i++) for (int i=0; i<4; i++)
{ {
char *WheelSect[4] = {SECT_FRNTRGTWHEEL, SECT_FRNTLFTWHEEL, SECT_REARRGTWHEEL, SECT_REARLFTWHEEL}; const char *WheelSect[4] = {SECT_FRNTRGTWHEEL, SECT_FRNTLFTWHEEL, SECT_REARRGTWHEEL, SECT_REARLFTWHEEL};
float rh = 0.0; float rh = 0.0;
rh = GfParmGetNum(car->_carHandle,WheelSect[i],PRM_RIDEHEIGHT,(char *)NULL, 0.10f); rh = GfParmGetNum(car->_carHandle,WheelSect[i],PRM_RIDEHEIGHT,(char *)NULL, 0.10f);
wheelz[i] = (-rh / 1.0 + car->info.wheel[i].wheelRadius) - 0.01; wheelz[i] = (-rh / 1.0 + car->info.wheel[i].wheelRadius) - 0.01;
@ -2935,7 +2935,7 @@ void Driver::initWheelPos()
void Driver::initCa() void Driver::initCa()
{ {
char *WheelSect[4] = {SECT_FRNTRGTWHEEL, SECT_FRNTLFTWHEEL, SECT_REARRGTWHEEL, SECT_REARLFTWHEEL}; const char *WheelSect[4] = {SECT_FRNTRGTWHEEL, SECT_FRNTLFTWHEEL, SECT_REARRGTWHEEL, SECT_REARLFTWHEEL};
float rearwingarea = GfParmGetNum(car->_carHandle, SECT_REARWING, PRM_WINGAREA, (char*) NULL, 0.0f); float rearwingarea = GfParmGetNum(car->_carHandle, SECT_REARWING, PRM_WINGAREA, (char*) NULL, 0.0f);
float rearwingangle = GfParmGetNum(car->_carHandle, SECT_REARWING, PRM_WINGANGLE, (char*) NULL, 0.0f); float rearwingangle = GfParmGetNum(car->_carHandle, SECT_REARWING, PRM_WINGANGLE, (char*) NULL, 0.0f);
float wingca = 1.23f*rearwingarea*sin(rearwingangle); float wingca = 1.23f*rearwingarea*sin(rearwingangle);
@ -2963,7 +2963,7 @@ void Driver::initCw()
// Init the friction coefficient of the the tires. // Init the friction coefficient of the the tires.
void Driver::initTireMu() void Driver::initTireMu()
{ {
char *WheelSect[4] = {SECT_FRNTRGTWHEEL, SECT_FRNTLFTWHEEL, SECT_REARRGTWHEEL, SECT_REARLFTWHEEL}; const char *WheelSect[4] = {SECT_FRNTRGTWHEEL, SECT_FRNTLFTWHEEL, SECT_REARRGTWHEEL, SECT_REARLFTWHEEL};
float tm = FLT_MAX; float tm = FLT_MAX;
int i; int i;
@ -3230,7 +3230,7 @@ fprintf(stderr,"friction %.3f accel=%.3f->%.3f\n",wseg0->surface->kFriction,acce
// Traction Control (TCL) setup. // Traction Control (TCL) setup.
void Driver::initTCLfilter() void Driver::initTCLfilter()
{ {
char *traintype = GfParmGetStr(car->_carHandle, SECT_DRIVETRAIN, PRM_TYPE, VAL_TRANS_RWD); const char *traintype = GfParmGetStr(car->_carHandle, SECT_DRIVETRAIN, PRM_TYPE, VAL_TRANS_RWD);
if (strcmp(traintype, VAL_TRANS_RWD) == 0) { if (strcmp(traintype, VAL_TRANS_RWD) == 0) {
GET_DRIVEN_WHEEL_SPEED = &Driver::filterTCL_RWD; GET_DRIVEN_WHEEL_SPEED = &Driver::filterTCL_RWD;
} else if (strcmp(traintype, VAL_TRANS_FWD) == 0) { } else if (strcmp(traintype, VAL_TRANS_FWD) == 0) {