Mercurial > hg > openttd
changeset 7087:39792f9f0512 draft
(svn r10354) -Fix [FS#950]: loading indicator showed "^" when the train would load at the given station.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Wed, 27 Jun 2007 14:37:46 +0000 |
parents | 787d1ac148e4 |
children | 2ee4ebcf0e11 |
files | src/vehicle.cpp |
diffstat | 1 files changed, 8 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -2272,22 +2272,27 @@ int max = 0; int cars = 0; int unloading = 0; + bool loading = false; assert(color != NULL); + const Vehicle *u = v; + const Station *st = GetStation(v->last_station_visited); + /* Count up max and used */ for (; v != NULL; v = v->next) { count += v->cargo.Count(); max += v->cargo_cap; if (v->cargo_cap != 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++; } } - if (unloading == 0) *color = STR_PERCENT_UP; - else if (cars == unloading) *color = STR_PERCENT_DOWN; - else *color = STR_PERCENT_UP_DOWN; + if (unloading == 0 && loading) *color = STR_PERCENT_UP; + else if (cars == unloading || !loading) *color = STR_PERCENT_DOWN; + else *color = STR_PERCENT_UP_DOWN; /* Train without capacity */ if (max == 0) return 100;