@@ -1023,13 +1023,21 @@ void DrawEngineList(VehicleType type, co
int sprite_y_offset = ScaleSpriteTrad(sprite_y_offsets[type]) + ir.Height() / 2;
Dimension replace_icon = {0, 0};
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;
Rect tr = ir.Indent(circle_width + WidgetDimensions::scaled.hsep_normal + sprite_width + WidgetDimensions::scaled.hsep_wide, rtl); // Name position
Rect cr = tr.Indent(replace_icon.width + WidgetDimensions::scaled.hsep_wide, !rtl).WithWidth(count_width, !rtl); // Count position
Rect rr = tr.WithWidth(replace_icon.width, !rtl); // Replace icon position
Status change: