diff --git a/src/economy.cpp b/src/economy.cpp index 47c73bd529..49fcddf269 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -345,8 +345,7 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner) Company::Get(old_owner)->money = UINT64_MAX >> 2; // jackpot ;p } - Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (Subsidy *s : Subsidy::Iterate()) { if (s->awarded == old_owner) { if (new_owner == INVALID_OWNER) { delete s; diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index f4e81b75bb..519e4d46e4 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -2219,8 +2219,7 @@ bool AfterLoadGame() if (IsSavegameVersionBefore(SLV_125)) { /* Convert old subsidies */ - Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (Subsidy *s : Subsidy::Iterate()) { if (s->remaining < 12) { /* Converting nonawarded subsidy */ s->remaining = 12 - s->remaining; // convert "age" to "remaining" diff --git a/src/saveload/subsidy_sl.cpp b/src/saveload/subsidy_sl.cpp index 2ee3b4f95a..d0db78b61d 100644 --- a/src/saveload/subsidy_sl.cpp +++ b/src/saveload/subsidy_sl.cpp @@ -29,8 +29,7 @@ static const SaveLoad _subsidies_desc[] = { static void Save_SUBS() { - Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (Subsidy *s : Subsidy::Iterate()) { SlSetArrayIndex(s->index); SlObject(s, _subsidies_desc); } diff --git a/src/script/api/script_subsidylist.cpp b/src/script/api/script_subsidylist.cpp index 600b6640c4..b92f1398c3 100644 --- a/src/script/api/script_subsidylist.cpp +++ b/src/script/api/script_subsidylist.cpp @@ -15,8 +15,7 @@ ScriptSubsidyList::ScriptSubsidyList() { - const Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (const Subsidy *s : Subsidy::Iterate()) { this->AddItem(s->index); } } diff --git a/src/subsidy.cpp b/src/subsidy.cpp index db436af257..32c8f0a1bc 100644 --- a/src/subsidy.cpp +++ b/src/subsidy.cpp @@ -135,8 +135,7 @@ void RebuildSubsidisedSourceAndDestinationCache() for (Industry *i : Industry::Iterate()) i->part_of_subsidy = POS_NONE; - const Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (const Subsidy *s : Subsidy::Iterate()) { SetPartOfSubsidyFlag(s->src_type, s->src, POS_SRC); SetPartOfSubsidyFlag(s->dst_type, s->dst, POS_DST); } @@ -151,8 +150,7 @@ void DeleteSubsidyWith(SourceType type, SourceID index) { bool dirty = false; - Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (Subsidy *s : Subsidy::Iterate()) { if ((s->src_type == type && s->src == index) || (s->dst_type == type && s->dst == index)) { delete s; dirty = true; @@ -176,8 +174,7 @@ void DeleteSubsidyWith(SourceType type, SourceID index) */ static bool CheckSubsidyDuplicate(CargoID cargo, SourceType src_type, SourceID src, SourceType dst_type, SourceID dst) { - const Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (const Subsidy *s : Subsidy::Iterate()) { if (s->cargo_type == cargo && s->src_type == src_type && s->src == src && s->dst_type == dst_type && s->dst == dst) { @@ -471,8 +468,7 @@ void SubsidyMonthlyLoop() { bool modified = false; - Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (Subsidy *s : Subsidy::Iterate()) { if (--s->remaining == 0) { if (!s->IsAwarded()) { Pair reftype = SetupSubsidyDecodeParam(s, true); @@ -564,8 +560,7 @@ bool CheckSubsidised(CargoID cargo_type, CompanyID company, SourceType src_type, * which are destination of subsidised path. Do that only if needed */ std::vector towns_near; if (!st->rect.IsEmpty()) { - Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (const Subsidy *s : Subsidy::Iterate()) { /* Don't create the cache if there is no applicable subsidy with town as destination */ if (s->dst_type != ST_TOWN) continue; if (s->cargo_type != cargo_type || s->src_type != src_type || s->src != src) continue; @@ -585,8 +580,7 @@ bool CheckSubsidised(CargoID cargo_type, CompanyID company, SourceType src_type, /* Check if there's a (new) subsidy that applies. There can be more subsidies triggered by this delivery! * Think about the case that subsidies are A->B and A->C and station has both B and C in its catchment area */ - Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (Subsidy *s : Subsidy::Iterate()) { if (s->cargo_type == cargo_type && s->src_type == src_type && s->src == src && (!s->IsAwarded() || s->awarded == company)) { switch (s->dst_type) { case ST_INDUSTRY: diff --git a/src/subsidy_base.h b/src/subsidy_base.h index 4f79339a90..ef26f64167 100644 --- a/src/subsidy_base.h +++ b/src/subsidy_base.h @@ -58,7 +58,4 @@ static const uint SUBSIDY_CARGO_MIN_POPULATION = 900; ///< Min. population of de static const uint SUBSIDY_MAX_PCT_TRANSPORTED = 42; ///< Subsidy will be created only for towns/industries with less % transported static const uint SUBSIDY_MAX_DISTANCE = 70; ///< Max. length of subsidised route (DistanceManhattan) -#define FOR_ALL_SUBSIDIES_FROM(var, start) FOR_ALL_ITEMS_FROM(Subsidy, subsidy_index, var, start) -#define FOR_ALL_SUBSIDIES(var) FOR_ALL_SUBSIDIES_FROM(var, 0) - #endif /* SUBSIDY_BASE_H */ diff --git a/src/subsidy_gui.cpp b/src/subsidy_gui.cpp index 1a6b2ab4a7..f9a17f7b72 100644 --- a/src/subsidy_gui.cpp +++ b/src/subsidy_gui.cpp @@ -42,8 +42,7 @@ struct SubsidyListWindow : Window { int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SUL_PANEL, WD_FRAMERECT_TOP); int num = 0; - const Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (const Subsidy *s : Subsidy::Iterate()) { if (!s->IsAwarded()) { y--; if (y == 0) { @@ -62,7 +61,7 @@ struct SubsidyListWindow : Window { y -= 2; // "Services already subsidised:" if (y < 0) return; - FOR_ALL_SUBSIDIES(s) { + for (const Subsidy *s : Subsidy::Iterate()) { if (s->IsAwarded()) { y--; if (y == 0) { @@ -110,8 +109,7 @@ struct SubsidyListWindow : Window { /* Count number of (non) awarded subsidies */ uint num_awarded = 0; uint num_not_awarded = 0; - const Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (const Subsidy *s : Subsidy::Iterate()) { if (!s->IsAwarded()) { num_not_awarded++; } else { @@ -159,8 +157,7 @@ struct SubsidyListWindow : Window { pos++; uint num = 0; - const Subsidy *s; - FOR_ALL_SUBSIDIES(s) { + for (const Subsidy *s : Subsidy::Iterate()) { if (!s->IsAwarded()) { if (IsInsideMM(pos, 0, cap)) { /* Displays the two offered towns */ @@ -184,7 +181,7 @@ struct SubsidyListWindow : Window { pos++; num = 0; - FOR_ALL_SUBSIDIES(s) { + for (const Subsidy *s : Subsidy::Iterate()) { if (s->IsAwarded()) { if (IsInsideMM(pos, 0, cap)) { SetupSubsidyDecodeParam(s, true);