diff --git a/src/modules/simu/simuv4/simu.cpp b/src/modules/simu/simuv4/simu.cpp index 306ac30fe..a4a3ff9fc 100644 --- a/src/modules/simu/simuv4/simu.cpp +++ b/src/modules/simu/simuv4/simu.cpp @@ -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; diff --git a/src/modules/simu/simuv4/transmission.cpp b/src/modules/simu/simuv4/transmission.cpp index c98f87d6d..ac177147d 100644 --- a/src/modules/simu/simuv4/transmission.cpp +++ b/src/modules/simu/simuv4/transmission.cpp @@ -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); diff --git a/src/modules/simu/simuv4/wheel.cpp b/src/modules/simu/simuv4/wheel.cpp index 62356c434..35d4cb3da 100644 --- a/src/modules/simu/simuv4/wheel.cpp +++ b/src/modules/simu/simuv4/wheel.cpp @@ -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; }