mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-21 06:43:04 +01:00
Create MenuLabel constructor
This commit is contained in:
@@ -139,6 +139,11 @@ namespace OpenRCT2::Dropdown
|
||||
return ItemExt(-1, Dropdown::kSeparatorString, kStringIdEmpty);
|
||||
}
|
||||
|
||||
constexpr Item MenuLabel(StringId stringId)
|
||||
{
|
||||
return Item{ STR_DROPDOWN_MENU_LABEL, stringId };
|
||||
}
|
||||
|
||||
struct DropdownState
|
||||
{
|
||||
int32_t numItems{};
|
||||
|
||||
@@ -167,8 +167,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
auto numItems = std::size(kBannerColouredTextFormats) - 1;
|
||||
for (size_t i = 0; i < numItems; ++i)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = kBannerColouredTextFormats[i + 1];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(kBannerColouredTextFormats[i + 1]);
|
||||
}
|
||||
|
||||
// Switch to the dropdown box widget.
|
||||
|
||||
@@ -994,8 +994,7 @@ static StringId window_cheats_page_titles[] = {
|
||||
|
||||
for (size_t i = 0; i < std::size(_staffSpeedNames); i++)
|
||||
{
|
||||
gDropdown.items[i].args.generic = _staffSpeedNames[i];
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(_staffSpeedNames[i]);
|
||||
}
|
||||
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
@@ -1018,8 +1017,7 @@ static StringId window_cheats_page_titles[] = {
|
||||
|
||||
for (size_t i = 0; i < std::size(WeatherTypes); i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = WeatherTypes[i];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(WeatherTypes[i]);
|
||||
}
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
{ windowPos.x + dropdownWidget->left, windowPos.y + dropdownWidget->top }, dropdownWidget->height() + 1,
|
||||
|
||||
@@ -87,11 +87,8 @@ namespace OpenRCT2::Ui::Windows
|
||||
}
|
||||
break;
|
||||
case WIDX_AFFIX_DROPDOWN_BUTTON:
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_PREFIX;
|
||||
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].args.generic = STR_SUFFIX;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_PREFIX);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_SUFFIX);
|
||||
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
{ windowPos.x + widget->left, windowPos.y + widget->top }, widget->height() + 1, colours[1], 0,
|
||||
|
||||
@@ -749,8 +749,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
if (objectiveAllowedByMoneyUsage && objectiveAllowedByPaymentSettings)
|
||||
{
|
||||
gDropdown.items[numItems].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[numItems].args.generic = ObjectiveDropdownOptionNames[i];
|
||||
gDropdown.items[numItems] = Dropdown::MenuLabel(ObjectiveDropdownOptionNames[i]);
|
||||
numItems++;
|
||||
}
|
||||
}
|
||||
@@ -775,8 +774,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
{
|
||||
for (int32_t i = EnumValue(Scenario::Category::beginner); i <= EnumValue(Scenario::Category::other); i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = Scenario::kScenarioCategoryStringIds[i];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(Scenario::kScenarioCategoryStringIds[i]);
|
||||
}
|
||||
|
||||
Widget* dropdownWidget = &widgets[WIDX_CATEGORY];
|
||||
@@ -1557,12 +1555,9 @@ namespace OpenRCT2::Ui::Windows
|
||||
{
|
||||
Widget* dropdownWidget = &widgets[widgetIndex - 1];
|
||||
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_FREE_PARK_ENTER;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].args.generic = STR_PAY_PARK_ENTER;
|
||||
gDropdown.items[2].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[2].args.generic = STR_PAID_ENTRY_PAID_RIDES;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_FREE_PARK_ENTER);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_PAY_PARK_ENTER);
|
||||
gDropdown.items[2] = Dropdown::MenuLabel(STR_PAID_ENTRY_PAID_RIDES);
|
||||
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
{ windowPos.x + dropdownWidget->left, windowPos.y + dropdownWidget->top }, dropdownWidget->height() - 1,
|
||||
@@ -1896,15 +1891,10 @@ namespace OpenRCT2::Ui::Windows
|
||||
{
|
||||
auto& dropdownWidget = widgets[widgetIndex - 1];
|
||||
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[2].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[3].format = STR_DROPDOWN_MENU_LABEL;
|
||||
|
||||
gDropdown.items[0].args.generic = STR_GUESTS_PREFER_INTENSITY_NONE;
|
||||
gDropdown.items[1].args.generic = STR_GUESTS_PREFER_INTENSITY_BALANCED;
|
||||
gDropdown.items[2].args.generic = STR_GUESTS_PREFER_INTENSITY_LESS_INTENSE_RIDES;
|
||||
gDropdown.items[3].args.generic = STR_GUESTS_PREFER_INTENSITY_MORE_INTENSE_RIDES;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_GUESTS_PREFER_INTENSITY_NONE);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_GUESTS_PREFER_INTENSITY_BALANCED);
|
||||
gDropdown.items[2] = Dropdown::MenuLabel(STR_GUESTS_PREFER_INTENSITY_LESS_INTENSE_RIDES);
|
||||
gDropdown.items[3] = Dropdown::MenuLabel(STR_GUESTS_PREFER_INTENSITY_MORE_INTENSE_RIDES);
|
||||
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
{ windowPos.x + dropdownWidget.left, windowPos.y + dropdownWidget.top }, dropdownWidget.height() - 1,
|
||||
|
||||
@@ -348,10 +348,8 @@ namespace OpenRCT2::Ui::Windows
|
||||
}
|
||||
case WIDX_INFO_TYPE_DROPDOWN_BUTTON:
|
||||
{
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = GetViewName(GuestViewType::Actions);
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].args.generic = GetViewName(GuestViewType::Thoughts);
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(GetViewName(GuestViewType::Actions));
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(GetViewName(GuestViewType::Thoughts));
|
||||
|
||||
auto* widget = &widgets[widgetIndex - 1];
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
|
||||
@@ -905,17 +905,15 @@ namespace OpenRCT2::Ui::Windows
|
||||
gDropdown.items[0].format = STR_TOGGLE_OPTION;
|
||||
gDropdown.items[1].format = STR_TOGGLE_OPTION;
|
||||
gDropdown.items[2].format = STR_TOGGLE_OPTION;
|
||||
gDropdown.items[3].format = kStringIdEmpty;
|
||||
gDropdown.items[4].format = STR_DROPDOWN_BULLET_OPTION;
|
||||
gDropdown.items[5].format = STR_DROPDOWN_BULLET_OPTION;
|
||||
gDropdown.items[6].format = STR_DROPDOWN_BULLET_OPTION;
|
||||
gDropdown.items[3].format = Dropdown::kSeparatorString;
|
||||
|
||||
gDropdown.items[0].args.generic = STR_FILEBROWSER_CUSTOMISE_FILENAME;
|
||||
gDropdown.items[1].args.generic = STR_FILEBROWSER_CUSTOMISE_SIZE;
|
||||
gDropdown.items[2].args.generic = STR_FILEBROWSER_CUSTOMISE_DATE;
|
||||
gDropdown.items[4].args.generic = STR_FILEBROWSER_PREVIEW_DISABLED;
|
||||
gDropdown.items[5].args.generic = STR_FILEBROWSER_PREVIEW_MINIMAP;
|
||||
gDropdown.items[6].args.generic = STR_FILEBROWSER_PREVIEW_SCREENSHOT;
|
||||
|
||||
gDropdown.items[4] = Dropdown::MenuLabel(STR_FILEBROWSER_PREVIEW_DISABLED);
|
||||
gDropdown.items[5] = Dropdown::MenuLabel(STR_FILEBROWSER_PREVIEW_MINIMAP);
|
||||
gDropdown.items[6] = Dropdown::MenuLabel(STR_FILEBROWSER_PREVIEW_SCREENSHOT);
|
||||
|
||||
Widget* widget = &widgets[WIDX_SORT_CUSTOMISE];
|
||||
|
||||
|
||||
@@ -211,8 +211,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
int32_t maxSize = std::min(Dropdown::kItemsMaxSize, static_cast<int32_t>(ShopItems.size()));
|
||||
for (int32_t i = 0; i < maxSize; i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = GetShopItemDescriptor(ShopItems[i]).Naming.Plural;
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(GetShopItemDescriptor(ShopItems[i]).Naming.Plural);
|
||||
numItems++;
|
||||
}
|
||||
|
||||
|
||||
@@ -846,12 +846,9 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
break;
|
||||
case WIDX_FULLSCREEN_DROPDOWN:
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[2].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_OPTIONS_DISPLAY_WINDOWED;
|
||||
gDropdown.items[1].args.generic = STR_OPTIONS_DISPLAY_FULLSCREEN;
|
||||
gDropdown.items[2].args.generic = STR_OPTIONS_DISPLAY_FULLSCREEN_BORDERLESS;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_OPTIONS_DISPLAY_WINDOWED);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_OPTIONS_DISPLAY_FULLSCREEN);
|
||||
gDropdown.items[2] = Dropdown::MenuLabel(STR_OPTIONS_DISPLAY_FULLSCREEN_BORDERLESS);
|
||||
|
||||
ShowDropdown(widget, 3);
|
||||
|
||||
@@ -862,8 +859,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
const auto numItems = static_cast<int32_t>(std::size(kDrawingEngineStringIds));
|
||||
for (int32_t i = 0; i < numItems; i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = kDrawingEngineStringIds[i];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(kDrawingEngineStringIds[i]);
|
||||
}
|
||||
ShowDropdown(widget, numItems);
|
||||
gDropdown.items[EnumValue(Config::Get().general.DrawingEngine)].setChecked(true);
|
||||
@@ -886,12 +882,9 @@ namespace OpenRCT2::Ui::Windows
|
||||
break;
|
||||
case WIDX_FRAME_RATE_LIMIT_DROPDOWN:
|
||||
{
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[2].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_FRAME_RATE_LIMIT_DEFAULT;
|
||||
gDropdown.items[1].args.generic = STR_FRAME_RATE_LIMIT_VSYNC;
|
||||
gDropdown.items[2].args.generic = STR_FRAME_RATE_LIMIT_UNRESTRICTED;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_FRAME_RATE_LIMIT_DEFAULT);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_FRAME_RATE_LIMIT_VSYNC);
|
||||
gDropdown.items[2] = Dropdown::MenuLabel(STR_FRAME_RATE_LIMIT_UNRESTRICTED);
|
||||
|
||||
ShowDropdown(widget, 3);
|
||||
|
||||
@@ -1112,12 +1105,9 @@ namespace OpenRCT2::Ui::Windows
|
||||
switch (widgetIndex)
|
||||
{
|
||||
case WIDX_VIRTUAL_FLOOR_DROPDOWN:
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[2].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_VIRTUAL_FLOOR_STYLE_DISABLED;
|
||||
gDropdown.items[1].args.generic = STR_VIRTUAL_FLOOR_STYLE_TRANSPARENT;
|
||||
gDropdown.items[2].args.generic = STR_VIRTUAL_FLOOR_STYLE_GLASSY;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_VIRTUAL_FLOOR_STYLE_DISABLED);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_VIRTUAL_FLOOR_STYLE_TRANSPARENT);
|
||||
gDropdown.items[2] = Dropdown::MenuLabel(STR_VIRTUAL_FLOOR_STYLE_GLASSY);
|
||||
|
||||
Widget* widget = &widgets[widgetIndex - 1];
|
||||
ShowDropdown(widget, 3);
|
||||
@@ -1205,10 +1195,8 @@ namespace OpenRCT2::Ui::Windows
|
||||
switch (widgetIndex)
|
||||
{
|
||||
case WIDX_HEIGHT_LABELS_DROPDOWN:
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_HEIGHT_IN_UNITS;
|
||||
gDropdown.items[1].args.generic = STR_REAL_VALUES;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_HEIGHT_IN_UNITS);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_REAL_VALUES);
|
||||
|
||||
ShowDropdown(widget, 2);
|
||||
|
||||
@@ -1224,16 +1212,13 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
for (size_t i = 0; i < numOrdinaryCurrencies; i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = CurrencyDescriptors[i].stringId;
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(CurrencyDescriptors[i].stringId);
|
||||
}
|
||||
|
||||
gDropdown.items[numOrdinaryCurrencies].format = Dropdown::kSeparatorString;
|
||||
|
||||
gDropdown.items[numOrdinaryCurrencies + 1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[numOrdinaryCurrencies + 1].args.generic = CurrencyDescriptors[EnumValue(
|
||||
CurrencyType::Custom)]
|
||||
.stringId;
|
||||
gDropdown.items[numOrdinaryCurrencies + 1] = Dropdown::MenuLabel(
|
||||
CurrencyDescriptors[EnumValue(CurrencyType::Custom)].stringId);
|
||||
|
||||
ShowDropdown(widget, numItems);
|
||||
|
||||
@@ -1248,22 +1233,17 @@ namespace OpenRCT2::Ui::Windows
|
||||
break;
|
||||
}
|
||||
case WIDX_DISTANCE_DROPDOWN:
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[2].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_IMPERIAL;
|
||||
gDropdown.items[1].args.generic = STR_METRIC;
|
||||
gDropdown.items[2].args.generic = STR_SI;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_IMPERIAL);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_METRIC);
|
||||
gDropdown.items[2] = Dropdown::MenuLabel(STR_SI);
|
||||
|
||||
ShowDropdown(widget, 3);
|
||||
|
||||
gDropdown.items[static_cast<int32_t>(Config::Get().general.MeasurementFormat)].setChecked(true);
|
||||
break;
|
||||
case WIDX_TEMPERATURE_DROPDOWN:
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_CELSIUS;
|
||||
gDropdown.items[1].args.generic = STR_FAHRENHEIT;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_CELSIUS);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_FAHRENHEIT);
|
||||
|
||||
ShowDropdown(widget, 2);
|
||||
|
||||
@@ -1281,8 +1261,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
case WIDX_DATE_FORMAT_DROPDOWN:
|
||||
for (size_t i = 0; i < 4; i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = DateFormatStringIDs[i];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(DateFormatStringIDs[i]);
|
||||
}
|
||||
ShowDropdown(widget, 4);
|
||||
gDropdown.items[Config::Get().general.DateFormat].setChecked(true);
|
||||
@@ -1487,8 +1466,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
if (Config::Get().sound.TitleMusic == theme.Kind)
|
||||
checkedIndex = numItems;
|
||||
|
||||
gDropdown.items[numItems].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[numItems++].args.generic = theme.Name;
|
||||
gDropdown.items[numItems++] = Dropdown::MenuLabel(theme.Name);
|
||||
}
|
||||
ShowDropdown(widget, numItems);
|
||||
gDropdown.items[checkedIndex].setChecked(true);
|
||||
@@ -1938,10 +1916,9 @@ namespace OpenRCT2::Ui::Windows
|
||||
gDropdown.items[i].args.generic = reinterpret_cast<uintptr_t>(TitleSequenceManager::GetName(i));
|
||||
}
|
||||
|
||||
gDropdown.items[numItems].format = 0;
|
||||
gDropdown.items[numItems].format = Dropdown::kSeparatorString;
|
||||
numItems++;
|
||||
gDropdown.items[numItems].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[numItems].args.generic = STR_TITLE_SEQUENCE_RANDOM;
|
||||
gDropdown.items[numItems] = Dropdown::MenuLabel(STR_TITLE_SEQUENCE_RANDOM);
|
||||
numItems++;
|
||||
|
||||
WindowDropdownShowText(
|
||||
@@ -1958,10 +1935,8 @@ namespace OpenRCT2::Ui::Windows
|
||||
{
|
||||
uint32_t numItems = 2;
|
||||
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_SCENARIO_PREVIEWS_MINIMAPS;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].args.generic = STR_SCENARIO_PREVIEWS_SCREENSHOTS;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_SCENARIO_PREVIEWS_MINIMAPS);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_SCENARIO_PREVIEWS_SCREENSHOTS);
|
||||
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
{ windowPos.x + widget->left, windowPos.y + widget->top }, widget->height() + 1, colours[1], 0,
|
||||
@@ -1973,8 +1948,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
case WIDX_DEFAULT_INSPECTION_INTERVAL_DROPDOWN:
|
||||
for (size_t i = 0; i < 7; i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = kRideInspectionIntervalNames[i];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(kRideInspectionIntervalNames[i]);
|
||||
}
|
||||
|
||||
ShowDropdown(widget, 7);
|
||||
@@ -2169,8 +2143,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
case WIDX_AUTOSAVE_FREQUENCY_DROPDOWN:
|
||||
for (size_t i = AUTOSAVE_EVERY_MINUTE; i <= AUTOSAVE_NEVER; i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = AutosaveNames[i];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(AutosaveNames[i]);
|
||||
}
|
||||
|
||||
ShowDropdown(widget, AUTOSAVE_NEVER + 1);
|
||||
|
||||
@@ -445,10 +445,8 @@ namespace OpenRCT2::Ui::Windows
|
||||
if (widgetIndex == WIDX_OPEN_OR_CLOSE)
|
||||
{
|
||||
auto& widget = widgets[widgetIndex];
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_CLOSE_PARK;
|
||||
gDropdown.items[1].args.generic = STR_OPEN_PARK;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_CLOSE_PARK);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_OPEN_PARK);
|
||||
WindowDropdownShowText(
|
||||
{ windowPos.x + widget.left, windowPos.y + widget.top }, widget.height() + 1, colours[1], 0, 2);
|
||||
|
||||
|
||||
@@ -478,8 +478,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
for (std::size_t i = 0; i < std::size(kResearchFundingLevelNames); i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = kResearchFundingLevelNames[i];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(kResearchFundingLevelNames[i]);
|
||||
}
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
{ w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top }, dropdownWidget->height() + 1,
|
||||
|
||||
@@ -1761,8 +1761,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
colours[1], 0, 0, numItems, widget->right - dropdownWidget->left);
|
||||
|
||||
// First item
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_OVERALL_VIEW;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_OVERALL_VIEW);
|
||||
int32_t currentItem = 1;
|
||||
|
||||
// Vehicles
|
||||
@@ -1832,8 +1831,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
if (info.Ride->supportsStatus(status))
|
||||
{
|
||||
auto index = info.NumItems;
|
||||
gDropdown.items[index].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[index].args.generic = text;
|
||||
gDropdown.items[index] = Dropdown::MenuLabel(text);
|
||||
if (info.CurrentStatus == status)
|
||||
{
|
||||
info.CheckedIndex = index;
|
||||
@@ -1925,8 +1923,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
for (size_t i = 0; i < _rideDropdownData.size(); i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = _rideDropdownData[i].LabelId;
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(_rideDropdownData[i].LabelId);
|
||||
}
|
||||
|
||||
Widget* dropdownWidget = widget - 1;
|
||||
@@ -2073,8 +2070,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
for (size_t i = 0; i < numItems; i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = _vehicleDropdownData[i].LabelId;
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(_vehicleDropdownData[i].LabelId);
|
||||
}
|
||||
|
||||
Widget* dropdownWidget = widget - 1;
|
||||
@@ -2134,8 +2130,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
for (size_t i = 0; i < _entranceDropdownData.size(); i++)
|
||||
{
|
||||
gDropdown.items[i].args.generic = _entranceDropdownData[i].LabelId;
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(_entranceDropdownData[i].LabelId);
|
||||
if (_entranceDropdownData[i].EntranceTypeId == ride->entranceStyle)
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL_SELECTED;
|
||||
}
|
||||
@@ -3112,8 +3107,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
{
|
||||
if (availableModes & (1uLL << i))
|
||||
{
|
||||
gDropdown.items[numAvailableModes].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[numAvailableModes].args.generic = kRideModeNames[i];
|
||||
gDropdown.items[numAvailableModes] = Dropdown::MenuLabel(kRideModeNames[i]);
|
||||
|
||||
if (ride->mode == static_cast<RideMode>(i))
|
||||
checkedIndex = numAvailableModes;
|
||||
@@ -3141,8 +3135,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
auto dropdownWidget = widget - 1;
|
||||
for (auto i = 0; i < 5; i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = VehicleLoadNames[i];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(VehicleLoadNames[i]);
|
||||
}
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
{ windowPos.x + dropdownWidget->left, windowPos.y + dropdownWidget->top }, dropdownWidget->height() + 1,
|
||||
@@ -3791,8 +3784,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
dropdownWidget--;
|
||||
for (int32_t i = 0; i < 7; i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = kRideInspectionIntervalNames[i];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(kRideInspectionIntervalNames[i]);
|
||||
}
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
{ windowPos.x + dropdownWidget->left, windowPos.y + dropdownWidget->top }, dropdownWidget->height() + 1,
|
||||
@@ -3808,8 +3800,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
if (rideEntry->ride_type[j] != kRideTypeNull)
|
||||
break;
|
||||
}
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_DEBUG_FIX_RIDE;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_DEBUG_FIX_RIDE);
|
||||
for (int32_t i = 0; i < 8; i++)
|
||||
{
|
||||
assert(j < static_cast<int32_t>(std::size(rideEntry->ride_type)));
|
||||
@@ -3820,8 +3811,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
if (ride->numTrains != 1)
|
||||
continue;
|
||||
}
|
||||
gDropdown.items[numItems].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[numItems].args.generic = RideBreakdownReasonNames[i];
|
||||
gDropdown.items[numItems] = Dropdown::MenuLabel(RideBreakdownReasonNames[i]);
|
||||
numItems++;
|
||||
}
|
||||
}
|
||||
@@ -3854,8 +3844,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
gDropdown.items[numItems].setChecked(true);
|
||||
break;
|
||||
}
|
||||
gDropdown.items[numItems].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[numItems].args.generic = RideBreakdownReasonNames[i];
|
||||
gDropdown.items[numItems] = Dropdown::MenuLabel(RideBreakdownReasonNames[i]);
|
||||
numItems++;
|
||||
}
|
||||
}
|
||||
@@ -4325,8 +4314,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
{
|
||||
for (size_t i = 0; i < std::size(ColourSchemeNames); i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = ColourSchemeNames[i];
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(ColourSchemeNames[i]);
|
||||
}
|
||||
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
@@ -4352,8 +4340,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
{
|
||||
for (auto i = 0; i < 4; i++)
|
||||
{
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = MazeOptions[i].text;
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(MazeOptions[i].text);
|
||||
}
|
||||
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
@@ -4372,16 +4359,14 @@ namespace OpenRCT2::Ui::Windows
|
||||
auto vehicleTypeName = GetRideComponentName(ride->getRideTypeDescriptor().NameConvention.vehicle).singular;
|
||||
|
||||
auto numDropdownItems = 2;
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_ALL_VEHICLES_IN_SAME_COLOURS;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_ALL_VEHICLES_IN_SAME_COLOURS);
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].args.generic = (vehicleTypeName << 16) | STR_DIFFERENT_COLOURS_PER;
|
||||
|
||||
if (getNumVisibleCars() > 1)
|
||||
{
|
||||
numDropdownItems++;
|
||||
gDropdown.items[2].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[2].args.generic = STR_DIFFERENT_COLOURS_PER_VEHICLE;
|
||||
gDropdown.items[2] = Dropdown::MenuLabel(STR_DIFFERENT_COLOURS_PER_VEHICLE);
|
||||
}
|
||||
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
@@ -5085,8 +5070,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
for (size_t i = 0; i < numItems; i++)
|
||||
{
|
||||
auto musicObj = objManager.GetLoadedObject<MusicObject>(musicOrder[i]);
|
||||
gDropdown.items[i].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[i].args.generic = musicObj->NameStringId;
|
||||
gDropdown.items[i] = Dropdown::MenuLabel(musicObj->NameStringId);
|
||||
}
|
||||
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
|
||||
@@ -331,8 +331,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
selectedIndex = numItems;
|
||||
}
|
||||
|
||||
gDropdown.items[numItems].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[numItems].args.generic = ride_info_type_string_mapping[type];
|
||||
gDropdown.items[numItems] = Dropdown::MenuLabel(ride_info_type_string_mapping[type]);
|
||||
numItems++;
|
||||
}
|
||||
|
||||
|
||||
@@ -894,12 +894,9 @@ static uint64_t PageDisabledWidgets[] = {
|
||||
// Use dropdown instead of dropdown button
|
||||
widget--;
|
||||
// Fill dropdown list
|
||||
gDropdown.items[0].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[1].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[2].format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdown.items[0].args.generic = STR_TILE_INSPECTOR_WALL_FLAT;
|
||||
gDropdown.items[1].args.generic = STR_TILE_INSPECTOR_WALL_SLOPED_LEFT;
|
||||
gDropdown.items[2].args.generic = STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT;
|
||||
gDropdown.items[0] = Dropdown::MenuLabel(STR_TILE_INSPECTOR_WALL_FLAT);
|
||||
gDropdown.items[1] = Dropdown::MenuLabel(STR_TILE_INSPECTOR_WALL_SLOPED_LEFT);
|
||||
gDropdown.items[2] = Dropdown::MenuLabel(STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT);
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
{ windowPos.x + widget->left, windowPos.y + widget->top }, widget->height() + 1, colours[1], 0,
|
||||
Dropdown::Flag::StayOpen, 3, widget->width() - 3);
|
||||
|
||||
Reference in New Issue
Block a user