diff --git a/src/date.cpp b/src/date.cpp index 16f77be1b0..9122b21c88 100644 --- a/src/date.cpp +++ b/src/date.cpp @@ -255,6 +255,9 @@ static void OnNewDay() SetWindowWidgetDirty(WC_STATUS_BAR, 0, 0); EnginesDailyLoop(); + + /* Refresh after possible snowline change */ + SetWindowClassesDirty(WC_TOWN_VIEW); } /** diff --git a/src/lang/english.txt b/src/lang/english.txt index ceb915f6fa..28b702250a 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -2387,6 +2387,7 @@ STR_TOWN_VIEW_PASSENGERS_LAST_MONTH_MAX :{BLACK}Passenge STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX :{BLACK}Mail last month: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Cargo needed for town growth: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{STRING}{BLACK} required +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} required in winter STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_LAST_MONTH :{ORANGE}{CARGO}{BLACK} delivered last month STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Noise limit in town: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centre the main view on town location. Ctrl+Click opens a new viewport on town location diff --git a/src/town_gui.cpp b/src/town_gui.cpp index 4951254ca3..fef1e5da49 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -374,10 +374,12 @@ public: SetDParam(1, this->town->max_mail); DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_LEFT, y += FONT_HEIGHT_NORMAL, STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX); + StringID required_text = STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED; uint cargo_needed_for_growth = 0; switch (_settings_game.game_creation.landscape) { case LT_ARCTIC: if (TilePixelHeight(this->town->xy) >= LowestSnowLine()) cargo_needed_for_growth = 1; + if (TilePixelHeight(this->town->xy) < GetSnowLine()) required_text = STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER; break; case LT_TROPIC: @@ -408,7 +410,7 @@ public: DrawString(cargo_text_left, cargo_text_right, y += FONT_HEIGHT_NORMAL, STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_LAST_MONTH); } else { SetDParam(0, food_name); - DrawString(cargo_text_left, cargo_text_right, y += FONT_HEIGHT_NORMAL, STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED); + DrawString(cargo_text_left, cargo_text_right, y += FONT_HEIGHT_NORMAL, required_text); } if (cargo_needed_for_growth > 1) { @@ -418,7 +420,7 @@ public: DrawString(cargo_text_left, cargo_text_right, y += FONT_HEIGHT_NORMAL, STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_LAST_MONTH); } else { SetDParam(0, water_name); - DrawString(cargo_text_left, cargo_text_right, y += FONT_HEIGHT_NORMAL, STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED); + DrawString(cargo_text_left, cargo_text_right, y += FONT_HEIGHT_NORMAL, required_text); } } }