From f8b08b334ecc2afb620aeb2aaf5e886645b55f5c Mon Sep 17 00:00:00 2001 From: Ted John Date: Sun, 21 Jul 2019 12:09:23 +0100 Subject: [PATCH] Fix a few more bugs --- src/openrct2-ui/windows/GuestList.cpp | 2 +- src/openrct2-ui/windows/NewCampaign.cpp | 11 ++++++++++- src/openrct2-ui/windows/Ride.cpp | 10 +++++++--- src/openrct2/peep/Peep.cpp | 1 + 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/openrct2-ui/windows/GuestList.cpp b/src/openrct2-ui/windows/GuestList.cpp index 9595fed51e..dd4153bdcf 100644 --- a/src/openrct2-ui/windows/GuestList.cpp +++ b/src/openrct2-ui/windows/GuestList.cpp @@ -886,7 +886,7 @@ static int32_t window_guest_list_is_peep_in_filter(Peep* peep) if (_window_guest_list_filter_arguments.GetFirstStringId() == STR_NONE && _window_guest_list_selected_filter == 1) { - set_format_arg_on(_window_guest_list_filter_arguments.args, 0, rct_string_id, STR_NONE); + set_format_arg_on(peepArgs.args, 0, rct_string_id, STR_NONE); } if (_window_guest_list_filter_arguments == peepArgs) diff --git a/src/openrct2-ui/windows/NewCampaign.cpp b/src/openrct2-ui/windows/NewCampaign.cpp index 0164d23c9a..78748c3ec5 100644 --- a/src/openrct2-ui/windows/NewCampaign.cpp +++ b/src/openrct2-ui/windows/NewCampaign.cpp @@ -288,8 +288,17 @@ static void window_new_campaign_mousedown(rct_window* w, rct_widgetindex widgetI if (ride == nullptr) break; + // HACK until dropdown items have longer argument buffers gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; - ride->FormatNameTo(&gDropdownItemsArgs[i]); + if (ride->custom_name.empty()) + { + ride->FormatNameTo(&gDropdownItemsArgs[i]); + } + else + { + gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM; + set_format_arg_on((uint8_t*)&gDropdownItemsArgs[i], 0, const char*, ride->custom_name.c_str()); + } numItems++; } diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index da9077429c..88a6247d68 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -3012,7 +3012,8 @@ static void window_ride_vehicle_invalidate(rct_window* w) ride = get_ride(w->number); rideEntry = ride->GetRideEntry(); - ride->FormatNameTo(gCommonFormatArgs); + w->widgets[WIDX_TITLE].text = STR_ARG_20_STRINGID; + ride->FormatNameTo(gCommonFormatArgs + 20); // Widget setup carsPerTrain = ride->num_cars_per_train - rideEntry->zero_cars; @@ -4696,7 +4697,8 @@ static void window_ride_colour_invalidate(rct_window* w) ride = get_ride(w->number); rideEntry = ride->GetRideEntry(); - ride->FormatNameTo(gCommonFormatArgs); + w->widgets[WIDX_TITLE].text = STR_ARG_16_STRINGID; + ride->FormatNameTo(gCommonFormatArgs + 16); // Track colours int32_t colourScheme = w->ride_colour; @@ -6516,7 +6518,9 @@ static void window_ride_income_invalidate(rct_window* w) window_ride_set_pressed_tab(w); Ride* ride = get_ride(w->number); - ride->FormatNameTo(gCommonFormatArgs); + + w->widgets[WIDX_TITLE].text = STR_ARG_14_STRINGID; + ride->FormatNameTo(gCommonFormatArgs + 14); rideEntry = ride->GetRideEntry(); diff --git a/src/openrct2/peep/Peep.cpp b/src/openrct2/peep/Peep.cpp index 0ad3ce6974..29c4384d68 100644 --- a/src/openrct2/peep/Peep.cpp +++ b/src/openrct2/peep/Peep.cpp @@ -1846,6 +1846,7 @@ void Peep::FormatActionTo(void* argsV) const set_format_arg_on(args, 0, rct_string_id, STR_ON_RIDE); set_format_arg_on(args, 2, rct_string_id, STR_NONE); } + break; } case PEEP_STATE_BUYING: {