mirror of https://github.com/OpenRCT2/OpenRCT2.git
Merge pull request #2859 from octaroot/cheat_ui_improvements
Cheat window updates (weather dropdown, a UI gap removed)
This commit is contained in:
commit
e96881b732
|
@ -2763,8 +2763,8 @@ STR_2753 :Mowed grass
|
|||
STR_2754 :Water plants
|
||||
STR_2755 :Fix vandalism
|
||||
STR_2756 :Remove litter
|
||||
STR_2757 :Force Sun
|
||||
STR_2758 :Force Thunder
|
||||
STR_2757 :<not used anymore>
|
||||
STR_2758 :<not used anymore>
|
||||
STR_2759 :Zero Clearance
|
||||
STR_2760 :+{CURRENCY}
|
||||
STR_2761 :<not used anymore>
|
||||
|
@ -4021,6 +4021,14 @@ STR_5716 :Not allowed in multiplayer mode
|
|||
# For identifying client network version in server list window
|
||||
STR_5717 :Network version: {STRING}
|
||||
STR_5718 :{SMALLFONT}{BLACK}Network version: {STRING}
|
||||
STR_5719 :Sunny
|
||||
STR_5720 :Partially Cloudy
|
||||
STR_5721 :Cloudy
|
||||
STR_5722 :Rain
|
||||
STR_5723 :Heavy Rain
|
||||
STR_5724 :Thunderstorm
|
||||
STR_5725 :{BLACK}Force weather:
|
||||
STR_5726 :{SMALLFONT}{BLACK}Sets the current weather in park
|
||||
|
||||
#############
|
||||
# Scenarios #
|
||||
|
|
|
@ -2313,6 +2313,15 @@ enum {
|
|||
STR_NETWORK_VERSION = 5717,
|
||||
STR_NETWORK_VERSION_TIP = 5718,
|
||||
|
||||
STR_SUNNY = 5719,
|
||||
STR_PARTIALLY_CLOUDY = STR_SUNNY + 1,
|
||||
STR_CLOUDY = STR_SUNNY + 2,
|
||||
STR_RAIN = STR_SUNNY + 3,
|
||||
STR_HEAVY_RAIN = STR_SUNNY + 4,
|
||||
STR_THUNDERSTORM = STR_SUNNY + 5,
|
||||
STR_FORCE_WEATHER = 5725,
|
||||
STR_FORCE_WEATHER_TOOLTIP = 5726,
|
||||
|
||||
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
|
||||
STR_COUNT = 32768
|
||||
};
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#include "../cheats.h"
|
||||
#include "../network/network.h"
|
||||
#include "error.h"
|
||||
#include "dropdown.h"
|
||||
|
||||
#define CHEATS_MONEY_INCREMENT MONEY(5000,00)
|
||||
#define CHEATS_TRAM_INCREMENT 250
|
||||
|
@ -102,8 +103,8 @@ enum WINDOW_CHEATS_WIDGET_IDX {
|
|||
WIDX_HAVE_FUN,
|
||||
WIDX_CLIMATE_GROUP,
|
||||
WIDX_FREEZE_CLIMATE,
|
||||
WIDX_WEATHER_SUN,
|
||||
WIDX_WEATHER_THUNDER,
|
||||
WIDX_WEATHER,
|
||||
WIDX_WEATHER_DROPDOWN_BUTTON,
|
||||
WIDX_STAFF_GROUP,
|
||||
WIDX_CLEAR_GRASS,
|
||||
WIDX_MOWED_GRASS,
|
||||
|
@ -186,7 +187,7 @@ enum {
|
|||
static rct_widget window_cheats_money_widgets[] = {
|
||||
MAIN_CHEATS_WIDGETS,
|
||||
{ WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(1), HPL(1), STR_CHEAT_5K_MONEY, STR_NONE }, // high money
|
||||
{ WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(5), HPL(5), STR_CHEAT_CLEAR_LOAN, STR_NONE }, // Clear loan
|
||||
{ WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(3), HPL(3), STR_CHEAT_CLEAR_LOAN, STR_NONE }, // Clear loan
|
||||
{ WIDGETS_END },
|
||||
};
|
||||
|
||||
|
@ -238,8 +239,8 @@ static rct_widget window_cheats_misc_widgets[] = {
|
|||
{ WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(5), HPL(5), STR_CHEAT_HAVE_FUN, STR_NONE}, // Have fun!
|
||||
{ WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(7), HPL(9.5), STR_CHEAT_CLIMATE_GROUP, STR_NONE }, // Climate group
|
||||
{ WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(8), HPL(8), STR_CHEAT_FREEZE_CLIMATE, STR_NONE}, // Freeze climate
|
||||
{ WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(9), HPL(9), STR_CHEAT_FORCE_SUN, STR_NONE}, // Sun
|
||||
{ WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(9), HPL(9), STR_CHEAT_FORCE_THUNDER, STR_NONE}, // Thunder
|
||||
{ WWT_DROPDOWN, 1, XPL(1), WPL(1), YPL(9) + 2, YPL(9) + 13, STR_NONE, STR_FORCE_WEATHER_TOOLTIP }, // Force weather
|
||||
{ WWT_DROPDOWN_BUTTON, 1, WPL(1) - 11, WPL(1) - 1, YPL(9) + 3, YPL(9) + 12, STR_DROPDOWN_GLYPH, STR_FORCE_WEATHER_TOOLTIP }, // Force weather
|
||||
{ WWT_GROUPBOX, 1, XPL(0) - GROUP_SPACE, WPL(1) + GROUP_SPACE, YPL(11), HPL(15.5), STR_CHEAT_STAFF_GROUP, STR_NONE }, // Staff group
|
||||
{ WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(12), HPL(12), STR_CHEAT_CLEAR_GRASS, STR_NONE}, // Clear grass
|
||||
{ WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(12), HPL(12), STR_CHEAT_MOWED_GRASS, STR_NONE}, // Mowed grass
|
||||
|
@ -276,6 +277,8 @@ static rct_widget *window_cheats_page_widgets[] = {
|
|||
};
|
||||
|
||||
static void window_cheats_money_mouseup(rct_window *w, int widgetIndex);
|
||||
static void window_cheats_misc_mousedown(int widgetIndex, rct_window *w, rct_widget* widget);
|
||||
static void window_cheats_misc_dropdown(rct_window *w, int widgetIndex, int dropdownIndex);
|
||||
static void window_cheats_guests_mouseup(rct_window *w, int widgetIndex);
|
||||
static void window_cheats_misc_mouseup(rct_window *w, int widgetIndex);
|
||||
static void window_cheats_rides_mouseup(rct_window *w, int widgetIndex);
|
||||
|
@ -350,8 +353,8 @@ static rct_window_event_list window_cheats_misc_events = {
|
|||
NULL,
|
||||
window_cheats_misc_mouseup,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
window_cheats_misc_mousedown,
|
||||
window_cheats_misc_dropdown,
|
||||
NULL,
|
||||
window_cheats_update,
|
||||
NULL,
|
||||
|
@ -419,7 +422,7 @@ static rct_window_event_list *window_cheats_page_events[] = {
|
|||
static uint64 window_cheats_page_enabled_widgets[] = {
|
||||
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_TAB_1) | (1ULL << WIDX_TAB_2) | (1ULL << WIDX_TAB_3) | (1ULL << WIDX_TAB_4) | (1ULL << WIDX_HIGH_MONEY) | (1ULL << WIDX_CLEAR_LOAN),
|
||||
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_TAB_1) | (1ULL << WIDX_TAB_2) | (1ULL << WIDX_TAB_3) | (1ULL << WIDX_TAB_4) | (1ULL << WIDX_GUEST_PARAMETERS_GROUP) | (1ULL << WIDX_GUEST_HAPPINESS_MAX) | (1ULL << WIDX_GUEST_HAPPINESS_MIN) | (1ULL << WIDX_GUEST_ENERGY_MAX) | (1ULL << WIDX_GUEST_ENERGY_MIN) | (1ULL << WIDX_GUEST_HUNGER_MAX) | (1ULL << WIDX_GUEST_HUNGER_MIN) | (1ULL << WIDX_GUEST_THIRST_MAX) | (1ULL << WIDX_GUEST_THIRST_MIN) | (1ULL << WIDX_GUEST_NAUSEA_MAX) | (1ULL << WIDX_GUEST_NAUSEA_MIN) | (1ULL << WIDX_GUEST_NAUSEA_TOLERANCE_MAX) | (1ULL << WIDX_GUEST_NAUSEA_TOLERANCE_MIN) | (1ULL << WIDX_GUEST_BATHROOM_MAX) | (1ULL << WIDX_GUEST_BATHROOM_MIN) | (1ULL << WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1) | (1ULL << WIDX_GUEST_RIDE_INTENSITY_LESS_THAN_15) | (1ULL << WIDX_GUEST_IGNORE_RIDE_INTENSITY) | (1ULL << WIDX_GIVE_ALL_GUESTS_GROUP) | (1ULL << WIDX_GIVE_GUESTS_MONEY) | (1ULL << WIDX_GIVE_GUESTS_PARK_MAPS) | (1ULL << WIDX_GIVE_GUESTS_BALLOONS) | (1ULL << WIDX_GIVE_GUESTS_UMBRELLAS) | (1ULL << WIDX_TRAM_GUESTS) | (1ULL << WIDX_REMOVE_ALL_GUESTS) | (1ULL << WIDX_EXPLODE_GUESTS) | (1ULL << WIDX_DISABLE_VANDALISM),
|
||||
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_TAB_1) | (1ULL << WIDX_TAB_2) | (1ULL << WIDX_TAB_3) | (1ULL << WIDX_TAB_4) | (1ULL << WIDX_FREEZE_CLIMATE) | (1ULL << WIDX_OPEN_CLOSE_PARK) | (1ULL << WIDX_WEATHER_SUN) | (1ULL << WIDX_WEATHER_THUNDER) | (1ULL << WIDX_CLEAR_GRASS) | (1ULL << WIDX_MOWED_GRASS) | (1ULL << WIDX_WATER_PLANTS) | (1ULL << WIDX_FIX_VANDALISM) | (1ULL << WIDX_REMOVE_LITTER) | (1ULL << WIDX_WIN_SCENARIO) | (1ULL << WIDX_HAVE_FUN) | (1ULL << WIDX_UNLOCK_ALL_PRICES) | (1ULL << WIDX_SANDBOX_MODE) | (1ULL << WIDX_FAST_STAFF) | (1ULL << WIDX_NORMAL_STAFF) | (1ULL << WIDX_PARK_PARAMETERS) | (1ULL << WIDX_FORCE_PARK_RATING) | (1ULL << WIDX_INCREASE_PARK_RATING) | (1ULL << WIDX_DECREASE_PARK_RATING),
|
||||
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_TAB_1) | (1ULL << WIDX_TAB_2) | (1ULL << WIDX_TAB_3) | (1ULL << WIDX_TAB_4) | (1ULL << WIDX_FREEZE_CLIMATE) | (1ULL << WIDX_OPEN_CLOSE_PARK) | (1ULL << WIDX_WEATHER) | (1ULL << WIDX_WEATHER_DROPDOWN_BUTTON) | (1ULL << WIDX_CLEAR_GRASS) | (1ULL << WIDX_MOWED_GRASS) | (1ULL << WIDX_WATER_PLANTS) | (1ULL << WIDX_FIX_VANDALISM) | (1ULL << WIDX_REMOVE_LITTER) | (1ULL << WIDX_WIN_SCENARIO) | (1ULL << WIDX_HAVE_FUN) | (1ULL << WIDX_UNLOCK_ALL_PRICES) | (1ULL << WIDX_SANDBOX_MODE) | (1ULL << WIDX_FAST_STAFF) | (1ULL << WIDX_NORMAL_STAFF) | (1ULL << WIDX_PARK_PARAMETERS) | (1ULL << WIDX_FORCE_PARK_RATING) | (1ULL << WIDX_INCREASE_PARK_RATING) | (1ULL << WIDX_DECREASE_PARK_RATING),
|
||||
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_TAB_1) | (1ULL << WIDX_TAB_2) | (1ULL << WIDX_TAB_3) | (1ULL << WIDX_TAB_4) | (1ULL << WIDX_RENEW_RIDES) | (1ULL << WIDX_MAKE_DESTRUCTIBLE) | (1ULL << WIDX_FIX_ALL) | (1ULL << WIDX_FAST_LIFT_HILL) | (1ULL << WIDX_DISABLE_BRAKES_FAILURE) | (1ULL << WIDX_DISABLE_ALL_BREAKDOWNS) | (1ULL << WIDX_BUILD_IN_PAUSE_MODE) | (1ULL << WIDX_RESET_CRASH_STATUS) | (1ULL << WIDX_10_MINUTE_INSPECTIONS) | (1ULL << WIDX_SHOW_ALL_OPERATING_MODES) | (1ULL << WIDX_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES)
|
||||
};
|
||||
|
||||
|
@ -783,6 +786,42 @@ void window_cheats_open()
|
|||
park_rating_spinner_value = get_forced_park_rating() >= 0 ? get_forced_park_rating() : 999;
|
||||
}
|
||||
|
||||
static void window_cheats_misc_mousedown(int widgetIndex, rct_window *w, rct_widget* widget)
|
||||
{
|
||||
rct_widget *dropdownWidget;
|
||||
int i;
|
||||
|
||||
if (widgetIndex != WIDX_WEATHER_DROPDOWN_BUTTON)
|
||||
return;
|
||||
|
||||
dropdownWidget = widget - 1;
|
||||
|
||||
for (i = 0; i < 6; i++) {
|
||||
gDropdownItemsFormat[i] = 1142;
|
||||
gDropdownItemsArgs[i] = STR_SUNNY + i;
|
||||
}
|
||||
window_dropdown_show_text_custom_width(
|
||||
w->x + dropdownWidget->left,
|
||||
w->y + dropdownWidget->top,
|
||||
dropdownWidget->bottom - dropdownWidget->top + 1,
|
||||
w->colours[1],
|
||||
DROPDOWN_FLAG_STAY_OPEN,
|
||||
6,
|
||||
dropdownWidget->right - dropdownWidget->left - 3
|
||||
);
|
||||
|
||||
int currentWeather = RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_WEATHER, uint8);
|
||||
dropdown_set_checked(currentWeather, true);
|
||||
}
|
||||
|
||||
static void window_cheats_misc_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
if (widgetIndex != WIDX_WEATHER_DROPDOWN_BUTTON || dropdownIndex == -1)
|
||||
return;
|
||||
|
||||
climate_force_weather(dropdownIndex);
|
||||
}
|
||||
|
||||
static void window_cheats_money_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
switch (widgetIndex) {
|
||||
|
@ -917,12 +956,6 @@ static void window_cheats_misc_mouseup(rct_window *w, int widgetIndex)
|
|||
case WIDX_OPEN_CLOSE_PARK:
|
||||
park_set_open(park_is_open() ? 0 : 1);
|
||||
break;
|
||||
case WIDX_WEATHER_SUN:
|
||||
climate_force_weather(WEATHER_SUNNY);
|
||||
break;
|
||||
case WIDX_WEATHER_THUNDER:
|
||||
climate_force_weather(WEATHER_THUNDER);
|
||||
break;
|
||||
case WIDX_CLEAR_GRASS:
|
||||
cheat_set_grass_length(GRASS_LENGTH_CLEAR_0);
|
||||
break;
|
||||
|
@ -1124,6 +1157,10 @@ static void window_cheats_invalidate(rct_window *w)
|
|||
|
||||
// Set title
|
||||
w->widgets[WIDX_TITLE].image = window_cheats_page_titles[w->page];
|
||||
|
||||
// Current weather
|
||||
int currentWeather = RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_WEATHER, uint8);
|
||||
window_cheats_misc_widgets[WIDX_WEATHER].image = STR_SUNNY + currentWeather;
|
||||
}
|
||||
|
||||
static void window_cheats_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
|
@ -1134,10 +1171,11 @@ static void window_cheats_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
if (w->page == WINDOW_CHEATS_PAGE_MONEY){
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, money32) = CHEATS_MONEY_INCREMENT;
|
||||
gfx_draw_string_left(dpi, STR_CHEAT_TIP_5K_MONEY, (void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS, 0, w->x + XPL(0) + TXTO, w->y + YPL(0) + TXTO);
|
||||
gfx_draw_string_left(dpi, STR_CHEAT_TIP_CLEAR_LOAN, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(4) + TXTO);
|
||||
gfx_draw_string_left(dpi, STR_CHEAT_TIP_CLEAR_LOAN, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(2) + TXTO);
|
||||
}
|
||||
else if(w->page == WINDOW_CHEATS_PAGE_MISC){
|
||||
gfx_draw_string_left(dpi, STR_CHEAT_STAFF_SPEED, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(15) + TXTO);
|
||||
gfx_draw_string_left(dpi, STR_FORCE_WEATHER, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(9) + TXTO);
|
||||
gfx_draw_string_right(dpi, 5182, &park_rating_spinner_value, w->colours[2], w->x + WPL(1) - 10 - TXTO, w->y + YPL(4) + TXTO);
|
||||
}
|
||||
else if (w->page == WINDOW_CHEATS_PAGE_GUESTS){
|
||||
|
|
Loading…
Reference in New Issue