# HG changeset patch # User terkhen # Date 2010-04-02 12:20:41 # Node ID 3d9a47be1c5aae69acd4f8b5483af58c3db6d023 # Parent 076ddfff1625f6114a58e2c37bef62ab7f643732 (svn r19539) -Codechange: Use a macro to loop through the list of sorted cargo specifications. diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp --- 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 --- a/src/cargotype.h +++ b/src/cargotype.h @@ -149,4 +149,6 @@ static inline bool IsCargoInClass(CargoI 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 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -845,8 +845,11 @@ struct PaymentRatesGraphWindow : BaseGra { 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 : BaseGra { 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; }