# HG changeset patch # User glx # Date 2019-12-16 16:53:40 # Node ID 7332b2a6afc59565436ef85d8232a226b9dcbb26 # Parent 3272bfac7f4a27758e33e704b6a3306419c871f6 Codechange: Replace FOR_ALL_GOALS with range-based for loops diff --git a/src/economy.cpp b/src/economy.cpp --- a/src/economy.cpp +++ b/src/economy.cpp @@ -532,8 +532,7 @@ void ChangeOwnershipOfCompanyItems(Owner } /* Remove Game Script created Goals, CargoMonitors and Story pages. */ - Goal *g; - FOR_ALL_GOALS(g) { + for (Goal *g : Goal::Iterate()) { if (g->company == old_owner) delete g; } diff --git a/src/goal_base.h b/src/goal_base.h --- a/src/goal_base.h +++ b/src/goal_base.h @@ -37,7 +37,4 @@ struct Goal : GoalPool::PoolItem<&_goal_ inline ~Goal() { free(this->text); free(this->progress); } }; -#define FOR_ALL_GOALS_FROM(var, start) FOR_ALL_ITEMS_FROM(Goal, goal_index, var, start) -#define FOR_ALL_GOALS(var) FOR_ALL_GOALS_FROM(var, 0) - #endif /* GOAL_BASE_H */ diff --git a/src/goal_gui.cpp b/src/goal_gui.cpp --- a/src/goal_gui.cpp +++ b/src/goal_gui.cpp @@ -66,8 +66,7 @@ struct GoalListWindow : public Window { int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_GOAL_LIST, WD_FRAMERECT_TOP); int num = 0; - const Goal *s; - FOR_ALL_GOALS(s) { + for (const Goal *s : Goal::Iterate()) { if (s->company == INVALID_COMPANY) { y--; if (y == 0) { @@ -86,7 +85,7 @@ struct GoalListWindow : public Window { y -= 2; // "Company specific goals:" line. if (y < 0) return; - FOR_ALL_GOALS(s) { + for (const Goal *s : Goal::Iterate()) { if (s->company == this->window_number) { y--; if (y == 0) { @@ -158,8 +157,7 @@ struct GoalListWindow : public Window { /* Count number of (non) awarded goals. */ uint num_global = 0; uint num_company = 0; - const Goal *s; - FOR_ALL_GOALS(s) { + for (const Goal *s : Goal::Iterate()) { if (s->company == INVALID_COMPANY) { num_global++; } else if (s->company == this->window_number) { @@ -207,8 +205,7 @@ struct GoalListWindow : public Window { bool rtl = _current_text_dir == TD_RTL; uint num = 0; - const Goal *s; - FOR_ALL_GOALS(s) { + for (const Goal *s : Goal::Iterate()) { if (global_section ? s->company == INVALID_COMPANY : (s->company == this->window_number && s->company != INVALID_COMPANY)) { if (IsInsideMM(pos, 0, cap)) { switch (column) { @@ -278,8 +275,7 @@ struct GoalListWindow : public Window { /* Calculate progress column width. */ uint max_width = 0; - Goal *s; - FOR_ALL_GOALS(s) { + for (const Goal *s : Goal::Iterate()) { if (s->progress != nullptr) { SetDParamStr(0, s->progress); StringID str = s->completed ? STR_GOALS_PROGRESS_COMPLETE : STR_GOALS_PROGRESS; diff --git a/src/saveload/goal_sl.cpp b/src/saveload/goal_sl.cpp --- a/src/saveload/goal_sl.cpp +++ b/src/saveload/goal_sl.cpp @@ -26,8 +26,7 @@ static const SaveLoad _goals_desc[] = { static void Save_GOAL() { - Goal *s; - FOR_ALL_GOALS(s) { + for (Goal *s : Goal::Iterate()) { SlSetArrayIndex(s->index); SlObject(s, _goals_desc); }