mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-24 00:03:11 +01:00
Move climate dropdown from objective options to scenario options
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
- Feature: [#8099] Add Powered Launch mode to Inverted RC (for RCT1 parity).
|
||||
- Feature: [#8190] Allow building footpaths on 'corner down' terrain.
|
||||
- Feature: [#8191] Allow building on-ride photos and water S-bends on the Water Coaster.
|
||||
- Change: [#8222] The climate setting has been moved from objective options to scenario options.
|
||||
- Fix: [#6191] OpenRCT2 fails to run when the path has an emoji in it.
|
||||
- Fix: [#7473] Disabling sound effects also disables "Disable audio on focus loss".
|
||||
- Fix: [#7828] Copied entrances and exits stay when demolishing ride.
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#include <openrct2/scenario/Scenario.h>
|
||||
#include <openrct2/sprites.h>
|
||||
#include <openrct2/util/Util.h>
|
||||
#include <openrct2/world/Climate.h>
|
||||
#include <openrct2/world/Park.h>
|
||||
|
||||
#pragma region Widgets
|
||||
@@ -32,13 +31,6 @@ enum {
|
||||
WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_COUNT
|
||||
};
|
||||
|
||||
static constexpr const rct_string_id ClimateNames[] = {
|
||||
STR_CLIMATE_COOL_AND_WET,
|
||||
STR_CLIMATE_WARM,
|
||||
STR_CLIMATE_HOT_AND_DRY,
|
||||
STR_CLIMATE_COLD,
|
||||
};
|
||||
|
||||
static constexpr const rct_string_id ObjectiveDropdownOptionNames[] = {
|
||||
STR_OBJECTIVE_DROPDOWN_NONE,
|
||||
STR_OBJECTIVE_DROPDOWN_NUMBER_OF_GUESTS_AT_A_GIVEN_DATE,
|
||||
@@ -70,8 +62,6 @@ enum {
|
||||
WIDX_OBJECTIVE_ARG_2,
|
||||
WIDX_OBJECTIVE_ARG_2_INCREASE,
|
||||
WIDX_OBJECTIVE_ARG_2_DECREASE,
|
||||
WIDX_CLIMATE,
|
||||
WIDX_CLIMATE_DROPDOWN,
|
||||
WIDX_PARK_NAME,
|
||||
WIDX_SCENARIO_NAME,
|
||||
WIDX_CATEGORY,
|
||||
@@ -86,8 +76,8 @@ enum {
|
||||
{ WWT_CAPTION, 0, 1, 448, 1, 14, STR_OBJECTIVE_SELECTION, STR_WINDOW_TITLE_TIP }, \
|
||||
{ WWT_CLOSEBOX, 0, 437, 447, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \
|
||||
{ WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE }, \
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SELECT_OBJECTIVE_AND_PARK_NAME_TIP }, \
|
||||
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SELECT_RIDES_TO_BE_PRESERVED_TIP }
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SELECT_OBJECTIVE_AND_PARK_NAME_TIP }, \
|
||||
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SELECT_RIDES_TO_BE_PRESERVED_TIP }
|
||||
|
||||
static rct_widget window_editor_objective_options_main_widgets[] = {
|
||||
MAIN_OBJECTIVE_OPTIONS_WIDGETS,
|
||||
@@ -95,19 +85,17 @@ static rct_widget window_editor_objective_options_main_widgets[] = {
|
||||
{ WWT_BUTTON, 1, 430, 440, 49, 58, STR_DROPDOWN_GLYPH, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP },
|
||||
SPINNER_WIDGETS (1, 158, 277, 65, 76, STR_NONE, STR_NONE), // NB: 3 widgets
|
||||
SPINNER_WIDGETS (1, 158, 277, 82, 93, STR_NONE, STR_NONE), // NB: 3 widgets
|
||||
{ WWT_DROPDOWN, 1, 98, 277, 99, 110, STR_NONE, STR_SELECT_CLIMATE_TIP },
|
||||
{ WWT_BUTTON, 1, 266, 276, 100, 109, STR_DROPDOWN_GLYPH, STR_SELECT_CLIMATE_TIP },
|
||||
{ WWT_BUTTON, 1, 370, 444, 116, 127, STR_CHANGE, STR_CHANGE_NAME_OF_PARK_TIP },
|
||||
{ WWT_BUTTON, 1, 370, 444, 133, 144, STR_CHANGE, STR_CHANGE_NAME_OF_SCENARIO_TIP },
|
||||
{ WWT_DROPDOWN, 1, 98, 277, 150, 161, STR_NONE, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN },
|
||||
{ WWT_BUTTON, 1, 266, 276, 151, 160, STR_DROPDOWN_GLYPH, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN },
|
||||
{ WWT_BUTTON, 1, 370, 444, 167, 178, STR_CHANGE, STR_CHANGE_DETAIL_NOTES_ABOUT_PARK_SCENARIO_TIP },
|
||||
{ WWT_BUTTON, 1, 370, 444, 99, 110, STR_CHANGE, STR_CHANGE_NAME_OF_PARK_TIP },
|
||||
{ WWT_BUTTON, 1, 370, 444, 116, 127, STR_CHANGE, STR_CHANGE_NAME_OF_SCENARIO_TIP },
|
||||
{ WWT_DROPDOWN, 1, 98, 277, 133, 144, STR_NONE, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN },
|
||||
{ WWT_BUTTON, 1, 266, 276, 134, 143, STR_DROPDOWN_GLYPH, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN },
|
||||
{ WWT_BUTTON, 1, 370, 444, 150, 161, STR_CHANGE, STR_CHANGE_DETAIL_NOTES_ABOUT_PARK_SCENARIO_TIP },
|
||||
{ WIDGETS_END }
|
||||
};
|
||||
|
||||
static rct_widget window_editor_objective_options_rides_widgets[] = {
|
||||
MAIN_OBJECTIVE_OPTIONS_WIDGETS,
|
||||
{ WWT_SCROLL, 1, 3, 376, 60, 220, SCROLL_VERTICAL, STR_NONE },
|
||||
{ WWT_SCROLL, 1, 3, 376, 60, 220, SCROLL_VERTICAL, STR_NONE },
|
||||
{ WIDGETS_END }
|
||||
};
|
||||
|
||||
@@ -222,8 +210,6 @@ static uint64_t window_editor_objective_options_page_enabled_widgets[] = {
|
||||
(1 << WIDX_OBJECTIVE_ARG_1_DECREASE) |
|
||||
(1 << WIDX_OBJECTIVE_ARG_2_INCREASE) |
|
||||
(1 << WIDX_OBJECTIVE_ARG_2_DECREASE) |
|
||||
(1 << WIDX_CLIMATE) |
|
||||
(1 << WIDX_CLIMATE_DROPDOWN) |
|
||||
(1 << WIDX_PARK_NAME) |
|
||||
(1 << WIDX_SCENARIO_NAME) |
|
||||
(1 << WIDX_CATEGORY) |
|
||||
@@ -501,24 +487,6 @@ static void window_editor_objective_options_show_objective_dropdown(rct_window*
|
||||
}
|
||||
}
|
||||
|
||||
static void window_editor_objective_options_show_climate_dropdown(rct_window* w)
|
||||
{
|
||||
int32_t i;
|
||||
rct_widget* dropdownWidget;
|
||||
|
||||
dropdownWidget = &w->widgets[WIDX_CLIMATE];
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdownItemsArgs[i] = ClimateNames[i];
|
||||
}
|
||||
window_dropdown_show_text_custom_width(
|
||||
w->x + dropdownWidget->left, w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1,
|
||||
w->colours[1], 0, DROPDOWN_FLAG_STAY_OPEN, 4, dropdownWidget->right - dropdownWidget->left - 3);
|
||||
dropdown_set_checked(gClimate, true);
|
||||
}
|
||||
|
||||
static void window_editor_objective_options_show_category_dropdown(rct_window* w)
|
||||
{
|
||||
int32_t i;
|
||||
@@ -714,9 +682,6 @@ static void window_editor_objective_options_main_mousedown(rct_window* w, rct_wi
|
||||
case WIDX_OBJECTIVE_ARG_2_DECREASE:
|
||||
window_editor_objective_options_arg_2_decrease(w);
|
||||
break;
|
||||
case WIDX_CLIMATE_DROPDOWN:
|
||||
window_editor_objective_options_show_climate_dropdown(w);
|
||||
break;
|
||||
case WIDX_CATEGORY_DROPDOWN:
|
||||
window_editor_objective_options_show_category_dropdown(w);
|
||||
break;
|
||||
@@ -742,13 +707,6 @@ static void window_editor_objective_options_main_dropdown(rct_window* w, rct_wid
|
||||
if (gScenarioObjectiveType != newObjectiveType)
|
||||
window_editor_objective_options_set_objective(w, newObjectiveType);
|
||||
break;
|
||||
case WIDX_CLIMATE_DROPDOWN:
|
||||
if (gClimate != (uint8_t)dropdownIndex)
|
||||
{
|
||||
gClimate = (uint8_t)dropdownIndex;
|
||||
window_invalidate(w);
|
||||
}
|
||||
break;
|
||||
case WIDX_CATEGORY_DROPDOWN:
|
||||
if (gS6Info.category != (uint8_t)dropdownIndex)
|
||||
{
|
||||
@@ -783,8 +741,8 @@ static void window_editor_objective_options_main_update(rct_window* w)
|
||||
&& objectiveType != OBJECTIVE_GUESTS_AND_RATING && objectiveType != OBJECTIVE_10_ROLLERCOASTERS_LENGTH
|
||||
&& objectiveType != OBJECTIVE_FINISH_5_ROLLERCOASTERS)
|
||||
|| (
|
||||
// The park must be free for the monthly ride income objective
|
||||
!(parkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && objectiveType == OBJECTIVE_MONTHLY_RIDE_INCOME))
|
||||
// The park must be free for the monthly ride income objective
|
||||
!(parkFlags & PARK_FLAGS_PARK_FREE_ENTRY) && objectiveType == OBJECTIVE_MONTHLY_RIDE_INCOME))
|
||||
{
|
||||
// Reset objective
|
||||
window_editor_objective_options_set_objective(w, OBJECTIVE_GUESTS_AND_RATING);
|
||||
@@ -975,17 +933,6 @@ static void window_editor_objective_options_main_paint(rct_window* w, rct_drawpi
|
||||
gfx_draw_string_left(dpi, STR_WINDOW_OBJECTIVE_VALUE_DATE, &arg, COLOUR_BLACK, x, y);
|
||||
}
|
||||
|
||||
// Climate label
|
||||
x = w->x + 8;
|
||||
y = w->y + w->widgets[WIDX_CLIMATE].top;
|
||||
gfx_draw_string_left(dpi, STR_CLIMATE_LABEL, nullptr, COLOUR_BLACK, x, y);
|
||||
|
||||
// Climate value
|
||||
x = w->x + w->widgets[WIDX_CLIMATE].left + 1;
|
||||
y = w->y + w->widgets[WIDX_CLIMATE].top;
|
||||
stringId = ClimateNames[gClimate];
|
||||
gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y);
|
||||
|
||||
// Park name
|
||||
x = w->x + 8;
|
||||
y = w->y + w->widgets[WIDX_PARK_NAME].top;
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <openrct2/localisation/StringIds.h>
|
||||
#include <openrct2/management/Finance.h>
|
||||
#include <openrct2/sprites.h>
|
||||
#include <openrct2/world/Climate.h>
|
||||
#include <openrct2/world/Park.h>
|
||||
|
||||
#pragma region Widgets
|
||||
@@ -32,6 +33,13 @@ enum {
|
||||
WINDOW_EDITOR_SCENARIO_OPTIONS_PAGE_COUNT
|
||||
};
|
||||
|
||||
static constexpr const rct_string_id ClimateNames[] = {
|
||||
STR_CLIMATE_COOL_AND_WET,
|
||||
STR_CLIMATE_WARM,
|
||||
STR_CLIMATE_HOT_AND_DRY,
|
||||
STR_CLIMATE_COLD,
|
||||
};
|
||||
|
||||
enum {
|
||||
WIDX_BACKGROUND,
|
||||
WIDX_TITLE,
|
||||
@@ -40,8 +48,10 @@ enum {
|
||||
WIDX_TAB_1,
|
||||
WIDX_TAB_2,
|
||||
WIDX_TAB_3,
|
||||
WIDX_PAGE_START,
|
||||
|
||||
WIDX_NO_MONEY = 7,
|
||||
// Financial tab
|
||||
WIDX_NO_MONEY = WIDX_PAGE_START,
|
||||
WIDX_INITIAL_CASH,
|
||||
WIDX_INITIAL_CASH_INCREASE,
|
||||
WIDX_INITIAL_CASH_DECREASE,
|
||||
@@ -56,7 +66,8 @@ enum {
|
||||
WIDX_INTEREST_RATE_DECREASE,
|
||||
WIDX_FORBID_MARKETING,
|
||||
|
||||
WIDX_CASH_PER_GUEST = 7,
|
||||
// Guests tab
|
||||
WIDX_CASH_PER_GUEST = WIDX_PAGE_START,
|
||||
WIDX_CASH_PER_GUEST_INCREASE,
|
||||
WIDX_CASH_PER_GUEST_DECREASE,
|
||||
WIDX_GUEST_INITIAL_HAPPINESS,
|
||||
@@ -71,7 +82,8 @@ enum {
|
||||
WIDX_GUEST_PREFER_LESS_INTENSE_RIDES,
|
||||
WIDX_GUEST_PREFER_MORE_INTENSE_RIDES,
|
||||
|
||||
WIDX_LAND_COST = 7,
|
||||
// Park tab
|
||||
WIDX_LAND_COST = WIDX_PAGE_START,
|
||||
WIDX_LAND_COST_INCREASE,
|
||||
WIDX_LAND_COST_DECREASE,
|
||||
WIDX_CONSTRUCTION_RIGHTS_COST,
|
||||
@@ -82,6 +94,8 @@ enum {
|
||||
WIDX_ENTRY_PRICE,
|
||||
WIDX_ENTRY_PRICE_INCREASE,
|
||||
WIDX_ENTRY_PRICE_DECREASE,
|
||||
WIDX_CLIMATE,
|
||||
WIDX_CLIMATE_DROPDOWN,
|
||||
WIDX_FORBID_TREE_REMOVAL,
|
||||
WIDX_FORBID_LANDSCAPE_CHANGES,
|
||||
WIDX_FORBID_HIGH_CONSTRUCTION,
|
||||
@@ -94,9 +108,9 @@ static rct_widget window_editor_scenario_options_financial_widgets[] = {
|
||||
{ WWT_CAPTION, 0, 1, 278, 1, 14, STR_SCENARIO_OPTIONS_FINANCIAL, STR_WINDOW_TITLE_TIP },
|
||||
{ WWT_CLOSEBOX, 0, 267, 277, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
|
||||
{ WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE },
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP },
|
||||
{ WWT_TAB, 1, 34, 64, 17, 46, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP },
|
||||
{ WWT_TAB, 1, 65, 95, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP },
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP },
|
||||
{ WWT_TAB, 1, 34, 64, 17, 46, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP },
|
||||
{ WWT_TAB, 1, 65, 95, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP },
|
||||
|
||||
{ WWT_CHECKBOX, 1, 8, 271, 48, 59, STR_MAKE_PARK_NO_MONEY, STR_MAKE_PARK_NO_MONEY_TIP },
|
||||
SPINNER_WIDGETS (1, 168, 267, 65, 76, STR_NONE, STR_NONE ), // NB: 3 widgets
|
||||
@@ -112,9 +126,9 @@ static rct_widget window_editor_scenario_options_guests_widgets[] = {
|
||||
{ WWT_CAPTION, 0, 1, 278, 1, 14, STR_SCENARIO_OPTIONS_GUESTS, STR_WINDOW_TITLE_TIP },
|
||||
{ WWT_CLOSEBOX, 0, 267, 277, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
|
||||
{ WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE },
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP },
|
||||
{ WWT_TAB, 1, 34, 64, 17, 46, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP },
|
||||
{ WWT_TAB, 1, 65, 95, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP },
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP },
|
||||
{ WWT_TAB, 1, 34, 64, 17, 46, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP },
|
||||
{ WWT_TAB, 1, 65, 95, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP },
|
||||
|
||||
SPINNER_WIDGETS (1, 268, 337, 48, 59, STR_NONE, STR_NONE ), // NB: 3 widgets
|
||||
SPINNER_WIDGETS (1, 268, 337, 65, 76, STR_NONE, STR_NONE ), // NB: 3 widgets
|
||||
@@ -130,20 +144,22 @@ static rct_widget window_editor_scenario_options_park_widgets[] = {
|
||||
{ WWT_CAPTION, 0, 1, 278, 1, 14, STR_SCENARIO_OPTIONS_PARK, STR_WINDOW_TITLE_TIP },
|
||||
{ WWT_CLOSEBOX, 0, 267, 277, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
|
||||
{ WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE },
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP },
|
||||
{ WWT_TAB, 1, 34, 64, 17, 46, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP },
|
||||
{ WWT_TAB, 1, 65, 95, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP },
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP },
|
||||
{ WWT_TAB, 1, 34, 64, 17, 46, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP },
|
||||
{ WWT_TAB, 1, 65, 95, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP },
|
||||
|
||||
SPINNER_WIDGETS (1, 188, 257, 48, 59, STR_NONE, STR_NONE ), // NB: 3 widgets
|
||||
SPINNER_WIDGETS (1, 188, 257, 65, 76, STR_NONE, STR_NONE ), // NB: 3 widgets
|
||||
{ WWT_DROPDOWN, 1, 8, 217, 82, 93, STR_NONE, STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP },
|
||||
{ WWT_BUTTON, 1, 206, 216, 83, 92, STR_DROPDOWN_GLYPH, STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP },
|
||||
SPINNER_WIDGETS (1, 328, 397, 82, 93, STR_NONE, STR_NONE ), // NB: 3 widgets
|
||||
{ WWT_CHECKBOX, 1, 8, 391, 99, 110, STR_FORBID_TREE_REMOVAL, STR_FORBID_TREE_REMOVAL_TIP },
|
||||
{ WWT_CHECKBOX, 1, 8, 391, 116, 127, STR_FORBID_LANDSCAPE_CHANGES, STR_FORBID_LANDSCAPE_CHANGES_TIP },
|
||||
{ WWT_CHECKBOX, 1, 8, 391, 133, 144, STR_FORBID_HIGH_CONSTRUCTION, STR_FORBID_HIGH_CONSTRUCTION_TIP },
|
||||
{ WWT_CHECKBOX, 1, 8, 391, 150, 161, STR_HARD_PARK_RATING, STR_HARD_PARK_RATING_TIP },
|
||||
{ WWT_CHECKBOX, 1, 8, 391, 167, 178, STR_HARD_GUEST_GENERATION, STR_HARD_GUEST_GENERATION_TIP },
|
||||
SPINNER_WIDGETS (1, 328, 394, 82, 93, STR_NONE, STR_NONE ), // NB: 3 widgets
|
||||
{ WWT_DROPDOWN, 1, 188, 394, 99, 110, STR_NONE, STR_SELECT_CLIMATE_TIP },
|
||||
{ WWT_BUTTON, 1, 383, 393, 100, 109, STR_DROPDOWN_GLYPH, STR_SELECT_CLIMATE_TIP },
|
||||
{ WWT_CHECKBOX, 1, 8, 391, 116, 127, STR_FORBID_TREE_REMOVAL, STR_FORBID_TREE_REMOVAL_TIP },
|
||||
{ WWT_CHECKBOX, 1, 8, 391, 133, 144, STR_FORBID_LANDSCAPE_CHANGES, STR_FORBID_LANDSCAPE_CHANGES_TIP },
|
||||
{ WWT_CHECKBOX, 1, 8, 391, 150, 161, STR_FORBID_HIGH_CONSTRUCTION, STR_FORBID_HIGH_CONSTRUCTION_TIP },
|
||||
{ WWT_CHECKBOX, 1, 8, 391, 167, 178, STR_HARD_PARK_RATING, STR_HARD_PARK_RATING_TIP },
|
||||
{ WWT_CHECKBOX, 1, 8, 391, 184, 195, STR_HARD_GUEST_GENERATION, STR_HARD_GUEST_GENERATION_TIP },
|
||||
{ WIDGETS_END }
|
||||
};
|
||||
|
||||
@@ -323,6 +339,8 @@ static uint64_t window_editor_scenario_options_page_enabled_widgets[] = {
|
||||
(1ULL << WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN) |
|
||||
(1ULL << WIDX_ENTRY_PRICE_INCREASE) |
|
||||
(1ULL << WIDX_ENTRY_PRICE_DECREASE) |
|
||||
(1ULL << WIDX_CLIMATE) |
|
||||
(1ULL << WIDX_CLIMATE_DROPDOWN) |
|
||||
(1ULL << WIDX_FORBID_TREE_REMOVAL) |
|
||||
(1ULL << WIDX_FORBID_LANDSCAPE_CHANGES) |
|
||||
(1ULL << WIDX_FORBID_HIGH_CONSTRUCTION) |
|
||||
@@ -510,6 +528,24 @@ static void window_editor_scenario_options_financial_resize(rct_window* w)
|
||||
window_set_resize(w, 280, 149, 280, 149);
|
||||
}
|
||||
|
||||
static void window_editor_scenario_options_show_climate_dropdown(rct_window* w)
|
||||
{
|
||||
int32_t i;
|
||||
rct_widget* dropdownWidget;
|
||||
|
||||
dropdownWidget = &w->widgets[WIDX_CLIMATE];
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdownItemsArgs[i] = ClimateNames[i];
|
||||
}
|
||||
window_dropdown_show_text_custom_width(
|
||||
w->x + dropdownWidget->left, w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1,
|
||||
w->colours[1], 0, DROPDOWN_FLAG_STAY_OPEN, 4, dropdownWidget->right - dropdownWidget->left - 3);
|
||||
dropdown_set_checked(gClimate, true);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006704C8
|
||||
@@ -1095,7 +1131,7 @@ static void window_editor_scenario_options_park_mouseup(rct_window* w, rct_widge
|
||||
*/
|
||||
static void window_editor_scenario_options_park_resize(rct_window* w)
|
||||
{
|
||||
window_set_resize(w, 400, 183, 400, 183);
|
||||
window_set_resize(w, 400, 200, 400, 200);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1208,6 +1244,9 @@ static void window_editor_scenario_options_park_mousedown(rct_window* w, rct_wid
|
||||
dropdown_set_checked(1, true);
|
||||
|
||||
break;
|
||||
case WIDX_CLIMATE_DROPDOWN:
|
||||
window_editor_scenario_options_show_climate_dropdown(w);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1217,12 +1256,27 @@ static void window_editor_scenario_options_park_mousedown(rct_window* w, rct_wid
|
||||
*/
|
||||
static void window_editor_scenario_options_park_dropdown(rct_window* w, rct_widgetindex widgetIndex, int32_t dropdownIndex)
|
||||
{
|
||||
if (widgetIndex == WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN && dropdownIndex != -1)
|
||||
if (dropdownIndex == -1)
|
||||
{
|
||||
game_do_command(
|
||||
0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD, dropdownIndex,
|
||||
GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0);
|
||||
window_invalidate(w);
|
||||
return;
|
||||
}
|
||||
|
||||
switch (widgetIndex)
|
||||
{
|
||||
case WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN:
|
||||
game_do_command(
|
||||
0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD, dropdownIndex,
|
||||
GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0);
|
||||
window_invalidate(w);
|
||||
break;
|
||||
|
||||
case WIDX_CLIMATE_DROPDOWN:
|
||||
if (gClimate != (uint8_t)dropdownIndex)
|
||||
{
|
||||
gClimate = (uint8_t)dropdownIndex;
|
||||
window_invalidate(w);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1382,6 +1436,17 @@ static void window_editor_scenario_options_park_paint(rct_window* w, rct_drawpix
|
||||
arg = gParkEntranceFee;
|
||||
gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, x, y);
|
||||
}
|
||||
|
||||
// Climate label
|
||||
x = w->x + 8;
|
||||
y = w->y + w->widgets[WIDX_CLIMATE].top;
|
||||
gfx_draw_string_left(dpi, STR_CLIMATE_LABEL, nullptr, COLOUR_BLACK, x, y);
|
||||
|
||||
// Climate value
|
||||
x = w->x + w->widgets[WIDX_CLIMATE].left + 1;
|
||||
y = w->y + w->widgets[WIDX_CLIMATE].top;
|
||||
stringId = ClimateNames[gClimate];
|
||||
gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, x, y);
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
|
||||
Reference in New Issue
Block a user