From 643d79b700e7439b1a4e368764a232d90deeb99b Mon Sep 17 00:00:00 2001 From: 73 <94884086+733737@users.noreply.github.com> Date: Sat, 5 Nov 2022 08:43:15 -0400 Subject: [PATCH] Changed ride vehicle list to have less padding (#18350) Co-authored-by: Rik Smeets <30838294+rik-smeets@users.noreply.github.com> --- distribution/changelog.txt | 1 + src/openrct2-ui/interface/Dropdown.h | 1 + src/openrct2-ui/windows/Dropdown.cpp | 5 +++++ src/openrct2-ui/windows/Ride.cpp | 3 ++- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 08b7d1b79a..9f59065a98 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -5,6 +5,7 @@ - Improved: [#18214] Competition scenarios have received their own section. - Improved: [#18250] Added modern style file and folder pickers on Windows. - Improved: [#18332] Allow Inverted Roller Coaster to draw boosters. +- Improved: [#18350] Changed ride vehicle list to have less padding. - Improved: [#18422] Allow adding images to music objects. - Improved: [#18428] [Plugin] Add widget description interfaces to documentation. - Change: [#17998] Show cursor when using inverted mouse dragging. diff --git a/src/openrct2-ui/interface/Dropdown.h b/src/openrct2-ui/interface/Dropdown.h index 444bab88c9..4a19f7975b 100644 --- a/src/openrct2-ui/interface/Dropdown.h +++ b/src/openrct2-ui/interface/Dropdown.h @@ -56,6 +56,7 @@ void WindowDropdownShowColour(rct_window* w, rct_widget* widget, uint8_t dropdow void WindowDropdownShowColourAvailable( rct_window* w, rct_widget* widget, uint8_t dropdownColour, uint8_t selectedColour, uint32_t availableColours); uint32_t DropdownGetAppropriateImageDropdownItemsPerRow(uint32_t numItems); +bool WindowDropDownHasMultipleColumns(size_t numItems); namespace Dropdown { diff --git a/src/openrct2-ui/windows/Dropdown.cpp b/src/openrct2-ui/windows/Dropdown.cpp index 5e76773961..39da0cebe4 100644 --- a/src/openrct2-ui/windows/Dropdown.cpp +++ b/src/openrct2-ui/windows/Dropdown.cpp @@ -473,3 +473,8 @@ uint32_t DropdownGetAppropriateImageDropdownItemsPerRow(uint32_t numItems) { return numItems < std::size(_appropriateImageDropdownItemsPerRow) ? _appropriateImageDropdownItemsPerRow[numItems] : 8; } + +bool WindowDropDownHasMultipleColumns(size_t numItems) +{ + return numItems > DROPDOWN_TEXT_MAX_ROWS; +} diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index c8746b7f2e..677ec2fd43 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -2073,9 +2073,10 @@ static void WindowRideShowVehicleTypeDropdown(rct_window* w, rct_widget* widget) } rct_widget* dropdownWidget = widget - 1; + auto width = WindowDropDownHasMultipleColumns(numItems) ? dropdownWidget->width() - 24 : dropdownWidget->width(); WindowDropdownShowTextCustomWidth( { w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top }, dropdownWidget->height() + 1, - w->colours[1], 0, Dropdown::Flag::StayOpen, numItems, widget->right - dropdownWidget->left); + w->colours[1], 0, Dropdown::Flag::StayOpen, numItems, width); // Find the current vehicle type in the ordered list. int32_t pos = 0;