fix hud pit fuel value (get fuel tank capacity from car if not specified from driver/track)

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

Former-commit-id: 6d94e5f2bc463112699b4253574dd947ced50af3
Former-commit-id: ac679d3774ecc3e0ed8e9596603410043c612ac0
This commit is contained in:
iobyte 2020-05-12 23:38:06 +00:00
parent 53736a35ca
commit f5aa4d4db7

View file

@ -146,7 +146,8 @@ static const int FuelReserve = 3;
static const tdble MaxFuelPerMeter = 0.0008; // [kg/m] fuel consumption. static const tdble MaxFuelPerMeter = 0.0008; // [kg/m] fuel consumption.
static void updateKeys(void); static void updateKeys(void);
static void SetFuelAtRaceStart(tTrack *track, void **carParmHandle, tSituation *s, int idx); static void SetFuelAtRaceStart(tTrack *track, void *carHandle,
void **carParmHandle, tSituation *s, int idx);
static char sstring[1024]; static char sstring[1024];
static char buf[1024]; static char buf[1024];
@ -571,7 +572,7 @@ void HumanDriver::init_track(int index,
}//if-else curTrack->pits }//if-else curTrack->pits
//Initial fuel fill computation //Initial fuel fill computation
SetFuelAtRaceStart(track, carParmHandle, s, idx); SetFuelAtRaceStart(track, carHandle, carParmHandle, s, idx);
speedLimit = curTrack->pits.speedLimit; speedLimit = curTrack->pits.speedLimit;
@ -2137,7 +2138,7 @@ int HumanDriver::pit_cmd(int index, tCarElt* car, tSituation *s)
// Trivial strategy: // Trivial strategy:
// fill in as much fuel as required for the whole race, // fill in as much fuel as required for the whole race,
// or if the tank is too small, fill the tank completely. // or if the tank is too small, fill the tank completely.
static void SetFuelAtRaceStart(tTrack* track, void **carParmHandle, static void SetFuelAtRaceStart(tTrack* track, void *carHandle, void **carParmHandle,
tSituation *s, int idx) { tSituation *s, int idx) {
tdble fuel_requested; tdble fuel_requested;
const tdble initial_fuel = GfParmGetNum(*carParmHandle, SECT_CAR, const tdble initial_fuel = GfParmGetNum(*carParmHandle, SECT_CAR,
@ -2160,8 +2161,9 @@ static void SetFuelAtRaceStart(tTrack* track, void **carParmHandle,
// add some reserve: // add some reserve:
//fuel_for_race += FuelReserve; //fuel_for_race += FuelReserve;
const tdble tank_capacity = const tdble tank_capacity = GfParmExistsParam(*carParmHandle, SECT_CAR, PRM_TANK) ?
GfParmGetNum(*carParmHandle, SECT_CAR, PRM_TANK, NULL, 100.0f); GfParmGetNum(*carParmHandle, SECT_CAR, PRM_TANK, NULL, 100.0f) :
GfParmGetNum(carHandle, SECT_CAR, PRM_TANK, NULL, 100.0f);
fuel_requested = MIN(fuel_for_race, tank_capacity); fuel_requested = MIN(fuel_for_race, tank_capacity);
} }