diff options
author | terkhen <terkhen@openttd.org> | 2010-04-02 12:20:41 +0000 |
---|---|---|
committer | terkhen <terkhen@openttd.org> | 2010-04-02 12:20:41 +0000 |
commit | 8660890bbb82638dcb81f713047aa3e16ad82cf4 (patch) | |
tree | 063f78c516c6e1b24d983ec760b91f16e97f6fb1 | |
parent | 316384a26f5fd3d9e22a004ba801a3744a6b1cc6 (diff) | |
download | openttd-8660890bbb82638dcb81f713047aa3e16ad82cf4.tar.xz |
(svn r19539) -Codechange: Use a macro to loop through the list of sorted cargo specifications.
-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; } |