From ef91136633638530926308dd1247f032c75de797 Mon Sep 17 00:00:00 2001 From: Daniel Robinson <62957152+carlossss111@users.noreply.github.com> Date: Wed, 13 Sep 2023 16:19:44 +0100 Subject: [PATCH] Fix #10600: 'Replace Vehicles' didn't show numbers >999 (#10680) (cherry picked from commit 71c28787990746bd4e9fbe10f3493b778e0e220d) --- src/build_vehicle_gui.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 3fcf283e84..603eeb3d2b 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1239,7 +1239,15 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_li int count_width = 0; if (show_count) { replace_icon = GetSpriteSize(SPR_GROUP_REPLACE_ACTIVE); - SetDParamMaxDigits(0, 3, FS_SMALL); + + uint biggest_num_engines = 0; + for (auto i = min; i < max; i++) { + const auto &item = eng_list[i]; + const uint num_engines = GetGroupNumEngines(_local_company, selected_group, item.engine_id); + biggest_num_engines = std::max(biggest_num_engines, num_engines); + } + + SetDParam(0, biggest_num_engines); count_width = GetStringBoundingBox(STR_JUST_COMMA, FS_SMALL).width; }