From 8f254702a2fb81665b15edf5855445b73c3bc2b0 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Fri, 29 Jul 2016 14:49:38 -0400 Subject: [PATCH] Add cheat to reset date (#4188) --- data/language/en-GB.txt | 1 + distribution/changelog.txt | 1 + src/cheats.c | 1 + src/cheats.h | 1 + src/localisation/string_ids.h | 1 + src/windows/cheats.c | 7 ++++++- 6 files changed, 11 insertions(+), 1 deletion(-) diff --git a/data/language/en-GB.txt b/data/language/en-GB.txt index dce866ca99..ec8ec98836 100644 --- a/data/language/en-GB.txt +++ b/data/language/en-GB.txt @@ -4212,6 +4212,7 @@ STR_5900 :Use original drawing code STR_5901 :Show segment heights STR_5902 :Show bounding boxes STR_5903 :Show paint debug window +STR_5904 :Reset date ############# # Scenarios # diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 1a334ae3b3..22690aad66 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -1,5 +1,6 @@ 0.0.5 (in development) ------------------------------------------------------------------------ +- Feature: Add cheat to reset date. - Feature: Add OpenGL drawing engine. - Feature: Implementation of the user-defined currency - Feature: Add ability to rotate map elements with the tile inspector. diff --git a/src/cheats.c b/src/cheats.c index 7a494296f1..1d4e6db53d 100644 --- a/src/cheats.c +++ b/src/cheats.c @@ -415,6 +415,7 @@ void game_command_cheat(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* e case CHEAT_OPENCLOSEPARK: park_set_open(park_is_open() ? 0 : 1); break; case CHEAT_HAVEFUN: gScenarioObjectiveType = OBJECTIVE_HAVE_FUN; break; case CHEAT_SETFORCEDPARKRATING: if(*edx > -1) { park_rating_spinner_value = *edx; } set_forced_park_rating(*edx); break; + case CHEAT_RESETDATE: date_reset(); window_invalidate_by_class(WC_BOTTOM_TOOLBAR); break; } if (network_get_mode() == NETWORK_MODE_NONE) { config_save_default(); diff --git a/src/cheats.h b/src/cheats.h index b08e7ad1f6..7e4579e03c 100644 --- a/src/cheats.h +++ b/src/cheats.h @@ -80,6 +80,7 @@ enum { CHEAT_HAVEFUN, CHEAT_SETFORCEDPARKRATING, CHEAT_NEVERENDINGMARKETING, + CHEAT_RESETDATE, }; enum { diff --git a/src/localisation/string_ids.h b/src/localisation/string_ids.h index f8c2823314..bc3f18ae4f 100644 --- a/src/localisation/string_ids.h +++ b/src/localisation/string_ids.h @@ -3335,6 +3335,7 @@ enum { STR_DEBUG_PAINT_SHOW_SEGMENT_HEIGHTS = 5901, STR_DEBUG_PAINT_SHOW_BOUND_BOXES = 5902, STR_DEBUG_DROPDOWN_DEBUG_PAINT = 5903, + STR_CHEAT_RESET_DATE = 5904, // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working STR_COUNT = 32768 diff --git a/src/windows/cheats.c b/src/windows/cheats.c index e55175af88..a137ed14b4 100644 --- a/src/windows/cheats.c +++ b/src/windows/cheats.c @@ -96,6 +96,7 @@ enum WINDOW_CHEATS_WIDGET_IDX { WIDX_OPEN_CLOSE_PARK, WIDX_PARK_PARAMETERS, WIDX_SANDBOX_MODE, + WIDX_RESET_DATE, WIDX_UNLOCK_ALL_PRICES, WIDX_FORCE_PARK_RATING, WIDX_PARK_RATING_SPINNER, @@ -219,6 +220,7 @@ static rct_widget window_cheats_misc_widgets[] = { { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(1), HPL(1), STR_CHEAT_OPEN_PARK, STR_CHEAT_OPEN_PARK_TIP }, // open / close park { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(1), HPL(1), STR_CHEAT_PARK_PARAMETERS, STR_CHEAT_PARK_PARAMETERS_TIP }, // Park parameters { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(2), HPL(2), STR_CHEAT_SANDBOX_MODE, STR_CHEAT_SANDBOX_MODE_TIP }, // Sandbox mode (edit land ownership in-game) + { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(2), HPL(2), STR_CHEAT_RESET_DATE, STR_NONE }, // Reset date { WWT_CHECKBOX, 1, XPL(0), OWPL, YPL(3), OHPL(3), STR_CHEAT_UNLOCK_PRICES, STR_CHEAT_UNLOCK_PRICES_TIP }, // Unlock all prices { WWT_CHECKBOX, 1, XPL(0), WPL(0), YPL(4), HPL(4), STR_FORCE_PARK_RATING, STR_NONE }, // Force park rating { WWT_SPINNER, 1, XPL(1), WPL(1) - 10, YPL(4) + 2, HPL(4) - 3, STR_NONE, STR_NONE }, // park rating @@ -423,7 +425,7 @@ 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_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_DISABLE_PLANT_AGING) | (1ULL << WIDX_FIX_VANDALISM) | (1ULL << WIDX_REMOVE_LITTER) | (1ULL << WIDX_WIN_SCENARIO) | (1ULL << WIDX_HAVE_FUN) | - (1ULL << WIDX_NEVERENDING_MARKETING) | (1ULL << WIDX_UNLOCK_ALL_PRICES) | (1ULL << WIDX_SANDBOX_MODE) | (1ULL << WIDX_FAST_STAFF) | (1ULL << WIDX_NORMAL_STAFF) | + (1ULL << WIDX_NEVERENDING_MARKETING) | (1ULL << WIDX_UNLOCK_ALL_PRICES) | (1ULL << WIDX_SANDBOX_MODE) | (1ULL << WIDX_RESET_DATE) | (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) | @@ -662,6 +664,9 @@ static void window_cheats_misc_mouseup(rct_window *w, int widgetIndex) // To prevent tools from staying active after disabling cheat //tool_cancel(); break; + case WIDX_RESET_DATE: + game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_RESETDATE, 0, GAME_COMMAND_CHEAT, 0, 0); + break; case WIDX_FAST_STAFF: game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SETSTAFFSPEED, 0xFF, GAME_COMMAND_CHEAT, 0, 0); break;