summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Nelson <peter1138@openttd.org>2021-04-28 21:49:58 +0100
committerPeterN <peter@fuzzle.org>2021-04-28 23:54:31 +0100
commit3b3d80c8efbf3310a80e0540b4436a7ded147378 (patch)
tree8b54f517b28ec05ecd0443f22027046ef2fb7b6e
parentae7f07de74a8d242dce8a67eaece26be9d06f064 (diff)
downloadopenttd-3b3d80c8efbf3310a80e0540b4436a7ded147378.tar.xz
Cleanup: Replace FOR_ALL_SORTED_RAILTYPES macro with range iterator.
-rw-r--r--src/company_gui.cpp9
-rw-r--r--src/rail.h6
-rw-r--r--src/rail_gui.cpp5
3 files changed, 5 insertions, 15 deletions
diff --git a/src/company_gui.cpp b/src/company_gui.cpp
index c9e3eaf86..3706db2f5 100644
--- a/src/company_gui.cpp
+++ b/src/company_gui.cpp
@@ -1840,8 +1840,7 @@ struct CompanyInfrastructureWindow : Window
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT).width);
- RailType rt;
- FOR_ALL_SORTED_RAILTYPES(rt) {
+ for (const auto &rt : _sorted_railtypes) {
if (HasBit(this->railtypes, rt)) {
lines++;
SetDParam(0, GetRailTypeInfo(rt)->strings.name);
@@ -1973,8 +1972,7 @@ struct CompanyInfrastructureWindow : Window
if (this->railtypes != RAILTYPES_NONE) {
/* Draw name of each valid railtype. */
- RailType rt;
- FOR_ALL_SORTED_RAILTYPES(rt) {
+ for (const auto &rt : _sorted_railtypes) {
if (HasBit(this->railtypes, rt)) {
SetDParam(0, GetRailTypeInfo(rt)->strings.name);
DrawString(r.left + offs_left, r.right - offs_right, y += FONT_HEIGHT_NORMAL, STR_WHITE_STRING);
@@ -1991,8 +1989,7 @@ struct CompanyInfrastructureWindow : Window
case WID_CI_RAIL_COUNT: {
/* Draw infrastructure count for each valid railtype. */
uint32 rail_total = c->infrastructure.GetRailTotal();
- RailType rt;
- FOR_ALL_SORTED_RAILTYPES(rt) {
+ for (const auto &rt : _sorted_railtypes) {
if (HasBit(this->railtypes, rt)) {
this->DrawCountLine(r, y, c->infrastructure.rail[rt], RailMaintenanceCost(rt, c->infrastructure.rail[rt], rail_total));
}
diff --git a/src/rail.h b/src/rail.h
index c5775b946..a0bbb0109 100644
--- a/src/rail.h
+++ b/src/rail.h
@@ -464,10 +464,4 @@ RailType AllocateRailType(RailTypeLabel label);
extern std::vector<RailType> _sorted_railtypes;
extern RailTypes _railtypes_hidden_mask;
-/**
- * Loop header for iterating over railtypes, sorted by sortorder.
- * @param var Railtype.
- */
-#define FOR_ALL_SORTED_RAILTYPES(var) for (uint8 index = 0; index < _sorted_railtypes.size() && (var = _sorted_railtypes[index], true) ; index++)
-
#endif /* RAIL_H */
diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp
index f0f5becca..49c7d736a 100644
--- a/src/rail_gui.cpp
+++ b/src/rail_gui.cpp
@@ -2191,17 +2191,16 @@ DropDownList GetRailTypeDropDownList(bool for_replacement, bool all_option)
}
Dimension d = { 0, 0 };
- RailType rt;
/* Get largest icon size, to ensure text is aligned on each menu item. */
if (!for_replacement) {
- FOR_ALL_SORTED_RAILTYPES(rt) {
+ for (const auto &rt : _sorted_railtypes) {
if (!HasBit(used_railtypes, rt)) continue;
const RailtypeInfo *rti = GetRailTypeInfo(rt);
d = maxdim(d, GetSpriteSize(rti->gui_sprites.build_x_rail));
}
}
- FOR_ALL_SORTED_RAILTYPES(rt) {
+ for (const auto &rt : _sorted_railtypes) {
/* If it's not used ever, don't show it to the user. */
if (!HasBit(used_railtypes, rt)) continue;