1
0
Fork 0

(svn r19539) -Codechange: Use a macro to loop through the list of sorted cargo specifications.

release/1.1
terkhen 2010-04-02 12:20:41 +00:00
parent 316384a26f
commit 8660890bbb
3 changed files with 17 additions and 9 deletions

View File

@ -853,9 +853,10 @@ struct BuildVehicleWindow : Window {
} }
/* Collect available cargo types for filtering. */ /* Collect available cargo types for filtering. */
for (int i = 0; i < _sorted_cargo_specs_size; i++) { const CargoSpec *cs;
this->cargo_filter[filter_items] = _sorted_cargo_specs[i]->Index(); FOR_ALL_SORTED_CARGOSPECS(cs) {
this->cargo_filter_texts[filter_items] = _sorted_cargo_specs[i]->name; this->cargo_filter[filter_items] = cs->Index();
this->cargo_filter_texts[filter_items] = cs->name;
filter_items++; filter_items++;
} }

View File

@ -149,4 +149,6 @@ static inline bool IsCargoInClass(CargoID c, CargoClass cc)
if ((var = CargoSpec::Get(cargospec_index))->IsValid()) if ((var = CargoSpec::Get(cargospec_index))->IsValid())
#define FOR_ALL_CARGOSPECS(var) FOR_ALL_CARGOSPECS_FROM(var, 0) #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 */ #endif /* CARGOTYPE_H */

View File

@ -845,8 +845,11 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
{ {
this->excluded_data = 0; this->excluded_data = 0;
for (int i = 0; i < _sorted_cargo_specs_size; i++) { int i = 0;
if (HasBit(_legend_excluded_cargo, _sorted_cargo_specs[i]->Index())) SetBit(this->excluded_data, i); 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(); this->UpdateExcludedData();
int i; int i = 0;
for (i = 0; i < _sorted_cargo_specs_size; i++) { const CargoSpec *cs;
this->colours[i] = _sorted_cargo_specs[i]->legend_colour; FOR_ALL_SORTED_CARGOSPECS(cs) {
this->colours[i] = cs->legend_colour;
for (uint j = 0; j != 20; j++) { 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; this->num_dataset = i;
} }