diff --git a/changelog.md b/changelog.md index a4f54bf0283e..65eb8d991aaa 100644 --- a/changelog.md +++ b/changelog.md @@ -57,6 +57,7 @@ * MacOS: Fixed moving the mouse with a touchpad also scrolling GUI dialogs * MacOS: Add build number to OS version report * Fix layout of Preferences window with some localisations (such as Czech) + * Force leader sprites larger than 72x72 to be downscaled in Load Game (issue #3474). ### Miscellaneous and bug fixes * Fix some minor problems in macOS package * Fast Micro AI: Fix bug crashing the AI when units with chance-to-hit diff --git a/data/core/images/units/monsters/fire-dragon.png b/data/core/images/units/monsters/fire-dragon.png index 085b5366209d..d02b35dec104 100644 Binary files a/data/core/images/units/monsters/fire-dragon.png and b/data/core/images/units/monsters/fire-dragon.png differ diff --git a/src/gui/dialogs/game_load.cpp b/src/gui/dialogs/game_load.cpp index d4e67f6840ae..97706f1b4dee 100644 --- a/src/gui/dialogs/game_load.cpp +++ b/src/gui/dialogs/game_load.cpp @@ -18,6 +18,7 @@ #include "desktop/open.hpp" #include "filesystem.hpp" +#include "formatter.hpp" #include "formula/string_utils.hpp" #include "gettext.hpp" #include "game_config.hpp" @@ -174,6 +175,8 @@ void game_load::display_savegame(window& window) leader_list.clear(); + const std::string sprite_scale_mod = (formatter() << "~SCALE_INTO(" << game_config::tile_size << ',' << game_config::tile_size << ')').str(); + for(const auto& leader : summary_.child_range("leader")) { std::map data; string_map item; @@ -194,6 +197,9 @@ void game_load::display_savegame(window& window) if(leader_image.empty()) { leader_image = "units/unknown-unit.png" + leader["leader_image_tc_modifier"].str(); + } else { + // Scale down any sprites larger than 72x72 + leader_image += sprite_scale_mod; } item["label"] = leader_image;