FEAT_TIRETEMPDEG Initialize _tyreCondition to be 1.0 before race start

FEAT_REALGEARCHANGE _gearNext visible to drivers (allow correct shifting)

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

Former-commit-id: d58146595d74de049592e62f440dcb6a3b3edfec
Former-commit-id: da77763cf6e061e573b84b1ed260d2a7f7986a6e
This commit is contained in:
wdbee 2014-11-19 06:54:48 +00:00
parent 274b0e9f55
commit 3bdf2e36b7
3 changed files with 9 additions and 5 deletions

View file

@ -481,6 +481,7 @@ SimUpdate(tSituation *s, double deltaTime)
carElt->pub.corner[i] = car->corner[i].pos;
}
carElt->_gear = car->transmission.gearbox.gear;
carElt->_gearNext = car->transmission.gearbox.gearNext;
carElt->_enginerpm = car->engine.rads;
carElt->_fuel = car->fuel;
carElt->priv.collision |= car->collision;
@ -603,6 +604,7 @@ SimUpdateSingleCar(int index, double deltaTime,tSituation *s)
carElt->pub.corner[i] = car->corner[i].pos;
}
carElt->_gear = car->transmission.gearbox.gear;
carElt->_gearNext = car->transmission.gearbox.gearNext;
carElt->_enginerpm = car->engine.rads;
carElt->_fuel = car->fuel;
carElt->priv.collision |= car->collision;

View file

@ -32,7 +32,8 @@ SimTransmissionConfig(tCar *car)
const char *transType;
int i, j;
tdble gRatio = 0; // Avoid compiler warning: usage of possibly uninitialized variable
tdble fRatio, gEff;
tdble fRatio = 0;
tdble gEff = 0;
//tdble fEff; // Never used
tdble gearI;
char path[256];
@ -41,9 +42,6 @@ SimTransmissionConfig(tCar *car)
transType = GfParmGetStr(hdle, SECT_DRIVETRAIN, PRM_TYPE, VAL_TRANS_RWD);
trans->gearbox.shiftTime = clutch->releaseTime = GfParmGetNum(hdle, SECT_GEARBOX, PRM_SHIFTTIME, (char*)NULL, 0.2f);
fRatio = 0;
gEff = 0;
/* Link between the differentials */
for (j = 0; j < 2; j++) {
trans->differential[TRANS_FRONT_DIFF].inAxis[j] = &(car->wheel[j].feedBack);

View file

@ -120,6 +120,10 @@ SimWheelConfig(tCar *car, int index)
carElt->_tireWidth(index) = tirewidth;
carElt->_brakeDiskRadius(index) = wheel->brake.radius;
carElt->_wheelRadius(index) = wheel->radius;
if (car->features & FEAT_TIRETEMPDEG) {
// Assume new wheels
carElt->_tyreCondition(index) = 1.0;
}
wheel->mfC = (tdble)(2.0 - asin(RFactor) * 2.0 / PI);
wheel->mfB = Ca / wheel->mfC;
@ -388,7 +392,7 @@ void SimWheelUpdateForce(tCar *car, int index)
// If slip is over the limit, reduce brake command for this wheel
if (sx > ABS_SlipScale)
wheel->brake.ABS = MAX(0.0,MIN(1.0,1 - ABS_BrakeScale * sx));
wheel->brake.ABS = (tdble) MAX(0.0,MIN(1.0,1 - ABS_BrakeScale * sx));
else
wheel->brake.ABS = 1.0f;
}