diff --git a/src/lang/english.txt b/src/lang/english.txt index 19581aee80..a0483967e6 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -2243,6 +2243,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_128X :128x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Highest resolution sprites to use: {STRING2} STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limit the maximum resolution to use for sprites. Limiting sprite resolution will avoid using high resolution graphics even when available. This can help keep the game appearance unified when using a mix of GRF files with and without high resolution graphics. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT_EXTRA :{STRING}{}{}Changing this setting from its default value will cause many extra-zoom/high-definition NewGRFs to display placeholder/incorrect graphics or no graphics at all (transparent sprites). If any graphical problems occur when the setting is not at its default value, change the setting back to its default value. ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x diff --git a/src/settings.cpp b/src/settings.cpp index 960635053d..5cee4f1907 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1773,6 +1773,19 @@ static bool LinkGraphDistributionSettingGUI(SettingOnGuiCtrlData &data) } } +static bool SpriteZoomMinSettingGUI(SettingOnGuiCtrlData &data) +{ + switch (data.type) { + case SOGCT_DESCRIPTION_TEXT: + SetDParam(0, data.text); + data.text = STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT_EXTRA; + return true; + + default: + return false; + } +} + /* End - GUI callbacks */ /** diff --git a/src/table/settings/settings.ini b/src/table/settings/settings.ini index ef763792b1..27ccb0f8a9 100644 --- a/src/table/settings/settings.ini +++ b/src/table/settings/settings.ini @@ -81,6 +81,7 @@ static int64 LinkGraphDistModeXrefChillPP(int64 val); static bool LinkGraphDistributionSettingGUI(SettingOnGuiCtrlData &data); static bool OrderTownGrowthRate(SettingOnGuiCtrlData &data); +static bool SpriteZoomMinSettingGUI(SettingOnGuiCtrlData &data); /* End - GUI callbacks */ @@ -4384,7 +4385,7 @@ startup = true [SDTC_VAR] var = gui.sprite_zoom_min type = SLE_UINT8 -flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN +flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN | SF_GUI_ADVISE_DEFAULT def = ZOOM_LVL_MIN min = ZOOM_LVL_MIN max = ZOOM_LVL_OUT_4X @@ -4392,6 +4393,8 @@ str = STR_CONFIG_SETTING_SPRITE_ZOOM_MIN strhelp = STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT strval = STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN post_cb = SpriteZoomMinChanged +guiproc = SpriteZoomMinSettingGUI +cat = SC_EXPERT [SDTC_BOOL] var = gui.population_in_label