forked from speed-dreams/speed-dreams-code
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:
parent
807777bd97
commit
07b0a65df7
1 changed files with 20 additions and 20 deletions
|
@ -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) {
|
||||||
|
|
Loading…
Reference in a new issue