- Update USR's driver
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@6845 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: edd2529a11bbd5892b2550955c0cefeb1d8918e5 Former-commit-id: 1aa4ee8e81363386f7e06c5369ca95d23737ff0e
This commit is contained in:
parent
c56f6a7e1a
commit
6cd820d139
4 changed files with 16 additions and 16 deletions
|
@ -57,7 +57,7 @@ void SingleCardata::update()
|
|||
|
||||
TYREWEAR = MIN(TyreTreadDepthFront(), TyreTreadDepthRear());
|
||||
CRITICAL_TYREWEAR = MAX(MAX(car->_tyreCritTreadDepth(0), car->_tyreCritTreadDepth(1)), MAX(car->_tyreCritTreadDepth(2), car->_tyreCritTreadDepth(3)));
|
||||
LogUSR.info(" # Condition = %.7f - wear tread = %.7f - Critical tread = %.7f\n", GRIP_FACTOR, TYREWEAR, CRITICAL_TYREWEAR);
|
||||
LogUSR.debug(" # Condition = %.7f - wear tread = %.7f - Critical tread = %.7f\n", GRIP_FACTOR, TYREWEAR, CRITICAL_TYREWEAR);
|
||||
}
|
||||
|
||||
lastspeed[2].ax = lastspeed[1].ax;
|
||||
|
|
|
@ -140,9 +140,9 @@ Driver::Driver(int index)
|
|||
opponents = NULL;
|
||||
opponent = NULL;
|
||||
pit = NULL;
|
||||
strategy = nullptr;
|
||||
cardata = nullptr;
|
||||
mycardata = nullptr;
|
||||
strategy = NULL;
|
||||
cardata = NULL;
|
||||
mycardata = NULL;
|
||||
currentsimtime = 0.0;
|
||||
test_raceline = test_rnd_raceline = 0;
|
||||
outside_overtake_inhibitor = 1.0f;
|
||||
|
@ -680,7 +680,7 @@ bool Driver::calcSpeed()
|
|||
|
||||
if(mycardata->HasTYC)
|
||||
{
|
||||
if (mycardata->TYREWEAR < mycardata->CRITICAL_TYREWEAR + 0.02)
|
||||
if ((mycardata->TYREWEAR / 100) < mycardata->CRITICAL_TYREWEAR + 0.05)
|
||||
factor *= 1.0 - (1.0 * mycardata->GRIP_FACTOR);
|
||||
}
|
||||
|
||||
|
|
|
@ -856,9 +856,9 @@ double LRaceLine::getCornerSpeed(int Div, int rl)
|
|||
if (!(labelOverride->getOverrideValue(Div, &cornerspeed_cold_override)))
|
||||
cornerspeed_cold_override = cornerspeed_override;
|
||||
|
||||
if (cardata->GRIP_FACTOR < 0.8)
|
||||
if (cardata->GRIP_FACTOR < 0.9)
|
||||
coldfactor = MIN(1.0, MAX(0.5, cornerspeed_cold_override / cornerspeed_override));
|
||||
else if (cardata->GRIP_FACTOR < 0.70)
|
||||
else if (cardata->GRIP_FACTOR < 0.90)
|
||||
coldfactor = MIN(1.0, MAX(0.4, (cardata->GRIP_FACTOR)));
|
||||
|
||||
if (cardata->GRIP_FACTOR < 0.8)
|
||||
|
@ -887,9 +887,9 @@ double LRaceLine::getCornerSpeed(int Div, int rl)
|
|||
if (!(labelOverride->getOverrideValue(Div, &cornerspeed_cold_override)))
|
||||
cornerspeed_cold_override = cornerspeed_override;
|
||||
|
||||
if (cardata->GRIP_FACTOR < 0.8)
|
||||
if (cardata->GRIP_FACTOR < 0.9)
|
||||
coldfactor = MIN(1.0, MAX(0.5, cornerspeed_cold_override / cornerspeed_override));
|
||||
else if (cardata->GRIP_FACTOR < 0.7)
|
||||
else if (cardata->GRIP_FACTOR < 0.8)
|
||||
coldfactor = MIN(1.0, MAX(0.4, cardata->GRIP_FACTOR));
|
||||
}
|
||||
|
||||
|
@ -919,9 +919,9 @@ double LRaceLine::getCornerSpeed(int Div, int rl)
|
|||
if (!(labelOverride->getOverrideValue(Div, &cornerspeed_cold_override)))
|
||||
cornerspeed_cold_override = cornerspeed_override;
|
||||
|
||||
if (cardata->GRIP_FACTOR < 0.8)
|
||||
if (cardata->GRIP_FACTOR < 0.9)
|
||||
coldfactor = MIN(1.0, MAX(0.5, cornerspeed_cold_override / cornerspeed_override));
|
||||
else if (cardata->GRIP_FACTOR < 0.7)
|
||||
else if (cardata->GRIP_FACTOR < 0.8)
|
||||
coldfactor = MIN(1.0, MAX(0.4, (cardata->GRIP_FACTOR)));
|
||||
}
|
||||
|
||||
|
@ -1718,7 +1718,7 @@ void LRaceLine::UpdateRacelineSpeeds(int raceType)
|
|||
{
|
||||
shouldUpdate = (fabs(car->_fuel - cardata->fuel) > (raceType == RM_TYPE_QUALIF ? 1.0 : 5.0) ||
|
||||
fabs(car->_dammage - cardata->damage) > 100.0f ||
|
||||
(/*(CaTT() - */cardata->GRIP_FACTOR < 0.8 || cardata->GRIP_FACTOR /*- CaTT()*/ > 0.9) && (cardata->TYREWEAR < cardata->CRITICAL_TYREWEAR + 0.50));
|
||||
(cardata->GRIP_FACTOR < 0.8 || cardata->GRIP_FACTOR > 0.97) && ((cardata->TYREWEAR / 100 ) < cardata->CRITICAL_TYREWEAR + 0.05));
|
||||
}
|
||||
else
|
||||
shouldUpdate = (fabs(car->_fuel - cardata->fuel) > (raceType == RM_TYPE_QUALIF ? 1.0 : 5.0) || fabs(car->_dammage - cardata->damage) > 100.0f);
|
||||
|
@ -1728,7 +1728,7 @@ void LRaceLine::UpdateRacelineSpeeds(int raceType)
|
|||
if (cardata->HasTYC == true)
|
||||
shouldUpdate = (fabs(car->_fuel - cardata->fuel) > (raceType == RM_TYPE_QUALIF ? 1.0 : 5.0) ||
|
||||
fabs(car->_dammage - cardata->damage) > 100.0f ||
|
||||
(/*(CaTT() - */cardata->GRIP_FACTOR < 0.8 || cardata->GRIP_FACTOR /*- CaTT()*/ > 0.9) && (cardata->TYREWEAR < cardata->CRITICAL_TYREWEAR + 0.50));
|
||||
(cardata->GRIP_FACTOR < 0.8 || cardata->GRIP_FACTOR > 0.97) || ((cardata->TYREWEAR / 100 ) < cardata->CRITICAL_TYREWEAR + 0.05));
|
||||
else
|
||||
shouldUpdate = (fabs(car->_fuel - cardata->fuel) > (raceType == RM_TYPE_QUALIF ? 1.0 : 5.0) || fabs(car->_dammage - cardata->damage) > 100.0f);
|
||||
}
|
||||
|
@ -2142,7 +2142,7 @@ double LRaceLine::getLookAhead(int rl, double leftMargin, double rightMargin, bo
|
|||
double rlfactor = 1.0 + fabs(tRInverse[rl][Next])*rlmult * (1.0 + fabs(tRInverse[rl][Next])*rlmult);
|
||||
double speedfactor = (tSpeed[rl][Next] - car->_speed_x < spdmrgn || fabs(tRInverse[rl][Next]) < 0.0005 ? 1.0 : MIN(1.0, (car->_speed_x + spdmrgn) / MIN(tSpeed[rl][Next], 80.0) / rlfactor));
|
||||
#endif
|
||||
double trfactor = MIN(1.0, MAX(0.7, 0.7 + (cardata->GRIP_FACTOR / cardata->TYREWEAR)*0.3));
|
||||
double trfactor = MIN(1.0, MAX(0.7, 1.0 * cardata->GRIP_FACTOR ));
|
||||
double fuelCarMu = cardata->carMu;
|
||||
double gripfactor = MAX(0.3, MIN(1.0, (cardata->carMu / fuelCarMu) * (cardata->carMu / fuelCarMu)));
|
||||
if (tSpeed[rl][Next] > tSpeed[rl][(Next - 5 + Divs) % Divs]) gripfactor = 1.0;
|
||||
|
@ -2221,7 +2221,7 @@ double LRaceLine::getLookAhead(int rl, double leftMargin, double rightMargin, bo
|
|||
double lookahead = (lookAheadEmpty - (lookAheadEmpty - lookAhead)*fuel_status) * factor * speedfactor * trfactor * gripfactor;
|
||||
|
||||
if (cardata->GRIP_FACTOR < 0.90)
|
||||
lookahead *= (lookAheadColdFactor - ((lookAheadColdFactor - 1.0) * (cardata->GRIP_FACTOR / cardata->TYREWEAR)));
|
||||
lookahead *= (lookAheadColdFactor - ((lookAheadColdFactor - 1.0) * (cardata->GRIP_FACTOR )));
|
||||
|
||||
return lookahead;
|
||||
}
|
||||
|
|
|
@ -508,7 +508,7 @@ bool SimpleStrategy::needPitstop(tCarElt* car, tSituation *s)
|
|||
aFT = aFT / 2;
|
||||
|
||||
if (tRL < raceRemainingLaps && raceRemainingLaps > 1 &&
|
||||
(/*mW > m_mWL || */mW < 0.5f && cardata->TYREWEAR < 70.0f) || m_checkFuel
|
||||
((cardata->TYREWEAR / 100 ) < cardata->CRITICAL_TYREWEAR)|| m_checkFuel
|
||||
|| (m_checkDamage && mW > 0.4))
|
||||
{
|
||||
pitNeeded = true;
|
||||
|
|
Loading…
Reference in a new issue