diff options
-rw-r--r-- | src/build_vehicle_gui.cpp | 7 | ||||
-rw-r--r-- | src/cargotype.h | 2 | ||||
-rw-r--r-- | src/graph_gui.cpp | 17 |
3 files changed, 17 insertions, 9 deletions
diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index e4cfba54d..351941838 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -853,9 +853,10 @@ struct BuildVehicleWindow : Window { } /* Collect available cargo types for filtering. */ - for (int i = 0; i < _sorted_cargo_specs_size; i++) { - this->cargo_filter[filter_items] = _sorted_cargo_specs[i]->Index(); - this->cargo_filter_texts[filter_items] = _sorted_cargo_specs[i]->name; + const CargoSpec *cs; + FOR_ALL_SORTED_CARGOSPECS(cs) { + this->cargo_filter[filter_items] = cs->Index(); + this->cargo_filter_texts[filter_items] = cs->name; filter_items++; } diff --git a/src/cargotype.h b/src/cargotype.h index c0d552a5d..4ce5e60f6 100644 --- a/src/cargotype.h +++ b/src/cargotype.h @@ -149,4 +149,6 @@ static inline bool IsCargoInClass(CargoID c, CargoClass cc) if ((var = CargoSpec::Get(cargospec_index))->IsValid()) #define FOR_ALL_CARGOSPECS(var) FOR_ALL_CARGOSPECS_FROM(var, 0) +#define FOR_ALL_SORTED_CARGOSPECS(var) for (uint8 index = 0; var = _sorted_cargo_specs[index], index < _sorted_cargo_specs_size; index++) + #endif /* CARGOTYPE_H */ diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index cc352caba..7fbc53e7d 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -845,8 +845,11 @@ struct PaymentRatesGraphWindow : BaseGraphWindow { { this->excluded_data = 0; - for (int i = 0; i < _sorted_cargo_specs_size; i++) { - if (HasBit(_legend_excluded_cargo, _sorted_cargo_specs[i]->Index())) SetBit(this->excluded_data, i); + int i = 0; + const CargoSpec *cs; + FOR_ALL_SORTED_CARGOSPECS(cs) { + if (HasBit(_legend_excluded_cargo, cs->Index())) SetBit(this->excluded_data, i); + i++; } } @@ -919,12 +922,14 @@ struct PaymentRatesGraphWindow : BaseGraphWindow { { this->UpdateExcludedData(); - int i; - for (i = 0; i < _sorted_cargo_specs_size; i++) { - this->colours[i] = _sorted_cargo_specs[i]->legend_colour; + int i = 0; + const CargoSpec *cs; + FOR_ALL_SORTED_CARGOSPECS(cs) { + this->colours[i] = cs->legend_colour; for (uint j = 0; j != 20; j++) { - this->cost[i][j] = GetTransportedGoodsIncome(10, 20, j * 4 + 4, _sorted_cargo_specs[i]->Index()); + this->cost[i][j] = GetTransportedGoodsIncome(10, 20, j * 4 + 4, cs->Index()); } + i++; } this->num_dataset = i; } |