mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r10354) -Fix [FS#950]: loading indicator showed "^" when the train would load at the given station.
This commit is contained in:
parent
52fbdd62a2
commit
0c8ca15c18
|
@ -2272,22 +2272,27 @@ uint8 CalcPercentVehicleFilled(Vehicle *v, StringID *color)
|
||||||
int max = 0;
|
int max = 0;
|
||||||
int cars = 0;
|
int cars = 0;
|
||||||
int unloading = 0;
|
int unloading = 0;
|
||||||
|
bool loading = false;
|
||||||
|
|
||||||
assert(color != NULL);
|
assert(color != NULL);
|
||||||
|
|
||||||
|
const Vehicle *u = v;
|
||||||
|
const Station *st = GetStation(v->last_station_visited);
|
||||||
|
|
||||||
/* Count up max and used */
|
/* Count up max and used */
|
||||||
for (; v != NULL; v = v->next) {
|
for (; v != NULL; v = v->next) {
|
||||||
count += v->cargo.Count();
|
count += v->cargo.Count();
|
||||||
max += v->cargo_cap;
|
max += v->cargo_cap;
|
||||||
if (v->cargo_cap != 0) {
|
if (v->cargo_cap != 0) {
|
||||||
unloading += HASBIT(v->vehicle_flags, VF_CARGO_UNLOADING) ? 1 : 0;
|
unloading += HASBIT(v->vehicle_flags, VF_CARGO_UNLOADING) ? 1 : 0;
|
||||||
|
loading |= (u->current_order.flags & OF_UNLOAD) == 0 && st->goods[v->cargo_type].days_since_pickup != 255;
|
||||||
cars++;
|
cars++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unloading == 0) *color = STR_PERCENT_UP;
|
if (unloading == 0 && loading) *color = STR_PERCENT_UP;
|
||||||
else if (cars == unloading) *color = STR_PERCENT_DOWN;
|
else if (cars == unloading || !loading) *color = STR_PERCENT_DOWN;
|
||||||
else *color = STR_PERCENT_UP_DOWN;
|
else *color = STR_PERCENT_UP_DOWN;
|
||||||
|
|
||||||
/* Train without capacity */
|
/* Train without capacity */
|
||||||
if (max == 0) return 100;
|
if (max == 0) return 100;
|
||||||
|
|
Loading…
Reference in New Issue