diff --git a/data/language/english_uk.txt b/data/language/english_uk.txt index 08ffabf12c..0faa5a9dad 100644 --- a/data/language/english_uk.txt +++ b/data/language/english_uk.txt @@ -2684,8 +2684,8 @@ STR_2678 :??? STR_2679 :??? STR_2680 :All research complete STR_2681 :{MEDIUMFONT}{BLACK}Increases your money by 5,000 -STR_2682 :{MEDIUMFONT}{BLACK}Toggle between Free and Paid Entry -STR_2683 :{MEDIUMFONT}{BLACK}Increases every peeps happiness to max +STR_2682 : +STR_2683 : STR_2684 :{SMALLFONT}{BLACK}Large group of peeps arrive STR_2685 :Simplex Noise Parameters STR_2686 :{WINDOW_COLOUR_2}Low: @@ -2764,10 +2764,10 @@ STR_2757 :Force Sun STR_2758 :Force Thunder STR_2759 :Zero Clearance STR_2760 :+5K Money -STR_2761 :Pay For Entrance -STR_2762 :Pay For Rides +STR_2761 : +STR_2762 : STR_2763 :??? -STR_2764 :Happy Guests +STR_2764 : STR_2765 :Large Tram STR_2766 :Win scenario STR_2767 :Freeze Climate @@ -3587,8 +3587,8 @@ STR_5250 :Title Exit Button STR_5251 :Title Options Button STR_5252 :Title Scenario Selection STR_5253 :Park Information -STR_5254 :Add nausea -STR_5255 :{MEDIUMFONT}{BLACK}All peeps become nauseous +STR_5254 : +STR_5255 : STR_5256 :Create a new theme to make changes to STR_5257 :{SMALLFONT}{BLACK}Create a new theme based on the current one STR_5258 :{SMALLFONT}{BLACK}Delete the current theme @@ -3702,3 +3702,5 @@ STR_5365 :{BLACK}Staff speed: STR_5366 :Normal STR_5367 :Fast STR_5368 :Reset crash status +STR_5369 :Park parameters... +STR_5370 :{SMALLFONT}{BLACK}Click this button to modify park{NEWLINE}parameters like restrictions,{NEWLINE}guest generation and money. diff --git a/src/interface/console.c b/src/interface/console.c index c307f91643..24483e26fa 100644 --- a/src/interface/console.c +++ b/src/interface/console.c @@ -817,6 +817,8 @@ static int cc_open(const char **argv, int argc) { window_editor_object_selection_open(); } else if (strcmp(argv[0], "inventions_list") == 0) { window_editor_inventions_list_open(); + } else if (strcmp(argv[0], "scenario_options") == 0) { + window_editor_scenario_options_open(); } else if (strcmp(argv[0], "options") == 0) { window_options_open(); } else if (strcmp(argv[0], "themes") == 0) { @@ -999,4 +1001,4 @@ void console_execute_silent(const char *src) char output[] = { FORMAT_RED, "Unknown command. Type help to list available commands." }; console_writeline(output); } -} \ No newline at end of file +} diff --git a/src/localisation/string_ids.h b/src/localisation/string_ids.h index 9ae4d8864a..199cea90fd 100644 --- a/src/localisation/string_ids.h +++ b/src/localisation/string_ids.h @@ -999,14 +999,10 @@ enum { // Money STR_CHEAT_5K_MONEY = 2760, - STR_CHEAT_PAY_ENTRANCE = 2761, STR_CHEAT_CLEAR_LOAN = 5302, - STR_CHEAT_PAY_RIDES = 2762, // Guests - //STR_CHEAT_HAPPY_GUESTS = 2764, STR_CHEAT_LARGE_TRAM_GUESTS = 2765, - //STR_CHEAT_NAUSEA = 5254, STR_CHEAT_EXPLODE = 5285, STR_CHEAT_REMOVE_ALL_GUESTS = 5359, STR_CHEAT_GUEST_HAPPINESS = 5352, @@ -1037,6 +1033,7 @@ enum { STR_CHEAT_WIN_SCENARIO = 2766, STR_CHEAT_UNLOCK_PRICES = 5157, STR_CHEAT_BUILD_IN_PAUSE_MODE = 5303, + STR_CHEAT_PARK_PARAMETERS = 5369, // Rides STR_CHEAT_RENEW_RIDES = 5123, @@ -1049,13 +1046,11 @@ enum { // Cheat tips STR_CHEAT_TIP_5K_MONEY = 2681, - STR_CHEAT_TIP_PAY_ENTRY = 2682, STR_CHEAT_TIP_CLEAR_LOAN = 5301, - //STR_CHEAT_TIP_HAPPY_GUESTS = 2683, STR_CHEAT_TIP_LARGE_TRAM_GUESTS = 2684, - //STR_CHEAT_TIP_NAUSEA = 5255, STR_CHEAT_TIP_EXPLODE = 5286, STR_CHEAT_TIP_REMOVE_ALL_GUESTS = 5360, + STR_CHEAT_TIP_PARK_PARAMETERS = 5370, // Cheat tab tips STR_FINANCIAL_CHEATS_TIP = 5178, diff --git a/src/windows/cheats.c b/src/windows/cheats.c index c9ebd07c28..205d4a6a7c 100644 --- a/src/windows/cheats.c +++ b/src/windows/cheats.c @@ -57,7 +57,6 @@ enum WINDOW_CHEATS_WIDGET_IDX { WIDX_TAB_3, WIDX_TAB_4, WIDX_HIGH_MONEY, - WIDX_PARK_ENTRANCE_FEE, WIDX_CLEAR_LOAN, WIDX_GUEST_HAPPINESS_MAX = 8, //Same as HIGH_MONEY as it is also the 8th widget but on a different page WIDX_GUEST_HAPPINESS_MIN, @@ -96,6 +95,7 @@ enum WINDOW_CHEATS_WIDGET_IDX { WIDX_SANDBOX_MODE, WIDX_FAST_STAFF, WIDX_NORMAL_STAFF, + WIDX_PARK_PARAMETERS, WIDX_RENEW_RIDES = 8, WIDX_REMOVE_SIX_FLAGS, WIDX_MAKE_DESTRUCTIBLE, @@ -164,7 +164,6 @@ 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(3), HPL(3), STR_CHEAT_PAY_ENTRANCE, STR_NONE}, // Park Entrance Fee Toggle { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(5), HPL(5), STR_CHEAT_CLEAR_LOAN, STR_NONE }, // Clear loan { WIDGETS_END }, }; @@ -214,6 +213,7 @@ static rct_widget window_cheats_misc_widgets[] = { { WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(5), HPL(5), STR_CHEAT_SANDBOX_MODE, STR_CHEAT_SANDBOX_MODE_TIP}, // Sandbox mode (edit land ownership in-game) { WWT_CLOSEBOX, 1, MAX_BTN_LEFT, MAX_BTN_RIGHT, YPL(6), HPL(6), STR_FAST, STR_NONE }, // fast staff { WWT_CLOSEBOX, 1, MIN_BTN_LEFT, MIN_BTN_RIGHT, YPL(6), HPL(6), STR_NORMAL, STR_NONE }, // normal staff + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(7), HPL(7), STR_CHEAT_PARK_PARAMETERS, STR_CHEAT_TIP_PARK_PARAMETERS}, // Park parameters { WIDGETS_END }, }; static rct_widget window_cheats_rides_widgets[] = { @@ -382,9 +382,9 @@ static void* window_cheats_page_events[] = { }; static uint32 window_cheats_page_enabled_widgets[] = { - (1 << WIDX_CLOSE) | (1 << WIDX_TAB_1) | (1 << WIDX_TAB_2) | (1 << WIDX_TAB_3) | (1 << WIDX_TAB_4) | (1 << WIDX_HIGH_MONEY) | (1 << WIDX_PARK_ENTRANCE_FEE) | (1 << WIDX_CLEAR_LOAN), + (1 << WIDX_CLOSE) | (1 << WIDX_TAB_1) | (1 << WIDX_TAB_2) | (1 << WIDX_TAB_3) | (1 << WIDX_TAB_4) | (1 << WIDX_HIGH_MONEY) | (1 << WIDX_CLEAR_LOAN), (1 << WIDX_CLOSE) | (1 << WIDX_TAB_1) | (1 << WIDX_TAB_2) | (1 << WIDX_TAB_3) | (1 << WIDX_TAB_4) | (1 << WIDX_GUEST_HAPPINESS_MAX) | (1 << WIDX_GUEST_HAPPINESS_MIN) | (1 << WIDX_GUEST_ENERGY_MAX) | (1 << WIDX_GUEST_ENERGY_MIN) | (1 << WIDX_GUEST_HUNGER_MAX) | (1 << WIDX_GUEST_HUNGER_MIN) | (1 << WIDX_GUEST_THIRST_MAX) | (1 << WIDX_GUEST_THIRST_MIN) | (1 << WIDX_GUEST_NAUSEA_MAX) | (1 << WIDX_GUEST_NAUSEA_MIN) | (1 << WIDX_GUEST_NAUSEA_TOLERANCE_MAX) | (1 << WIDX_GUEST_NAUSEA_TOLERANCE_MIN) | (1 << WIDX_GUEST_BATHROOM_MAX) | (1 << WIDX_GUEST_BATHROOM_MIN) | (1 << WIDX_GUEST_RIDE_INTENSITY_MORE_THAN_1) | (1 << WIDX_GUEST_RIDE_INTENSITY_LESS_THAN_15) | (1 << WIDX_TRAM_GUESTS) | (1 << WIDX_REMOVE_ALL_GUESTS) | (1 << WIDX_EXPLODE_GUESTS) | (1 << WIDX_GIVE_GUESTS_PARK_MAPS) | (1 << WIDX_GIVE_GUESTS_BALLOONS) | (1 << WIDX_GIVE_GUESTS_UMBRELLAS), - (1 << WIDX_CLOSE) | (1 << WIDX_TAB_1) | (1 << WIDX_TAB_2) | (1 << WIDX_TAB_3) | (1 << WIDX_TAB_4) | (1 << WIDX_FREEZE_CLIMATE) | (1 << WIDX_OPEN_CLOSE_PARK) | (1 << WIDX_ZERO_CLEARANCE) | (1 << WIDX_WEATHER_SUN) | (1 << WIDX_WEATHER_THUNDER) | (1 << WIDX_CLEAR_GRASS) | (1 << WIDX_MOWED_GRASS) | (1 << WIDX_WATER_PLANTS) | (1 << WIDX_FIX_VANDALISM) | (1 << WIDX_REMOVE_LITTER) | (1 << WIDX_WIN_SCENARIO) | (1 << WIDX_UNLOCK_ALL_PRICES) | (1 << WIDX_SANDBOX_MODE) | (1 << WIDX_FAST_STAFF) | (1 << WIDX_NORMAL_STAFF), + (1 << WIDX_CLOSE) | (1 << WIDX_TAB_1) | (1 << WIDX_TAB_2) | (1 << WIDX_TAB_3) | (1 << WIDX_TAB_4) | (1 << WIDX_FREEZE_CLIMATE) | (1 << WIDX_OPEN_CLOSE_PARK) | (1 << WIDX_ZERO_CLEARANCE) | (1 << WIDX_WEATHER_SUN) | (1 << WIDX_WEATHER_THUNDER) | (1 << WIDX_CLEAR_GRASS) | (1 << WIDX_MOWED_GRASS) | (1 << WIDX_WATER_PLANTS) | (1 << WIDX_FIX_VANDALISM) | (1 << WIDX_REMOVE_LITTER) | (1 << WIDX_WIN_SCENARIO) | (1 << WIDX_UNLOCK_ALL_PRICES) | (1 << WIDX_SANDBOX_MODE) | (1 << WIDX_FAST_STAFF) | (1 << WIDX_NORMAL_STAFF) | (1 << WIDX_PARK_PARAMETERS), (1 << WIDX_CLOSE) | (1 << WIDX_TAB_1) | (1 << WIDX_TAB_2) | (1 << WIDX_TAB_3) | (1 << WIDX_TAB_4) | (1 << WIDX_RENEW_RIDES) | (1 << WIDX_REMOVE_SIX_FLAGS) | (1 << WIDX_MAKE_DESTRUCTIBLE) | (1 << WIDX_FIX_ALL) | (1 << WIDX_FAST_LIFT_HILL) | (1 << WIDX_DISABLE_BRAKES_FAILURE) | (1 << WIDX_DISABLE_ALL_BREAKDOWNS) | (1 << WIDX_BUILD_IN_PAUSE_MODE) | (1 << WIDX_RESET_CRASH_STATUS) }; @@ -752,11 +752,6 @@ static void window_cheats_money_mouseup() case WIDX_CLEAR_LOAN: cheat_clear_loan(); break; - case WIDX_PARK_ENTRANCE_FEE: - RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) ^= PARK_FLAGS_PARK_FREE_ENTRY; - window_invalidate_by_class(WC_PARK_INFORMATION); - window_invalidate_by_class(WC_RIDE); - break; } } @@ -920,6 +915,9 @@ static void window_cheats_misc_mouseup() case WIDX_NORMAL_STAFF: cheat_set_staff_speed(0x60); break; + case WIDX_PARK_PARAMETERS: + window_editor_scenario_options_open(); + break; } } @@ -1001,10 +999,6 @@ static void window_cheats_invalidate() w->pressed_widgets = 0; switch (w->page) { - case WINDOW_CHEATS_PAGE_MONEY: - w->widgets[WIDX_PARK_ENTRANCE_FEE].image = RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_PARK_FREE_ENTRY ? - STR_CHEAT_PAY_ENTRANCE : STR_CHEAT_PAY_RIDES; - break; case WINDOW_CHEATS_PAGE_MISC: w->widgets[WIDX_OPEN_CLOSE_PARK].image = RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_PARK_OPEN ? STR_CHEAT_CLOSE_PARK : STR_CHEAT_OPEN_PARK; @@ -1040,7 +1034,6 @@ static void window_cheats_paint() if (w->page == WINDOW_CHEATS_PAGE_MONEY){ gfx_draw_string_left(dpi, STR_CHEAT_TIP_5K_MONEY, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(0) + TXTO); - gfx_draw_string_left(dpi, STR_CHEAT_TIP_PAY_ENTRY, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(2) + TXTO); gfx_draw_string_left(dpi, STR_CHEAT_TIP_CLEAR_LOAN, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(4) + TXTO); } else if(w->page == WINDOW_CHEATS_PAGE_MISC){ diff --git a/src/windows/editor_scenario_options.c b/src/windows/editor_scenario_options.c index 1dea670bd6..89bcb1d704 100644 --- a/src/windows/editor_scenario_options.c +++ b/src/windows/editor_scenario_options.c @@ -451,7 +451,18 @@ static void window_editor_scenario_options_financial_mouseup() window_editor_scenario_options_set_page(w, widgetIndex - WIDX_TAB_1); break; case WIDX_NO_MONEY: - RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) ^= PARK_FLAGS_NO_MONEY_SCENARIO; + if(RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_SCENARIO_EDITOR) { + RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) ^= PARK_FLAGS_NO_MONEY_SCENARIO; + } + else { + RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) ^= PARK_FLAGS_NO_MONEY; + // Invalidate all windows that have anything to do with finance + window_invalidate_by_class(WC_RIDE); + window_invalidate_by_class(WC_PEEP); + window_invalidate_by_class(WC_PARK_INFORMATION); + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + } window_invalidate(w); break; case WIDX_FORBID_MARKETING: @@ -482,7 +493,7 @@ static void window_editor_scenario_options_financial_mousedown(int widgetIndex, { switch (widgetIndex) { case WIDX_INITIAL_CASH_INCREASE: - if (RCT2_GLOBAL(RCT2_ADDRESS_INITIAL_CASH, money32) < MONEY(10000,00)) { + if (RCT2_GLOBAL(RCT2_ADDRESS_INITIAL_CASH, money32) < MONEY(1000000,00)) { RCT2_GLOBAL(RCT2_ADDRESS_INITIAL_CASH, money32) += MONEY(500,00); RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONEY_ENCRYPTED, money32) = ENCRYPT_MONEY(RCT2_GLOBAL(RCT2_ADDRESS_INITIAL_CASH, money32)); sub_69E869(); @@ -546,7 +557,7 @@ static void window_editor_scenario_options_financial_mousedown(int widgetIndex, window_invalidate(w); break; case WIDX_INTEREST_RATE_DECREASE: - if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_INTEREST_RATE, money32) > 5) { + if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_INTEREST_RATE, money32) >= 0) { RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_INTEREST_RATE, money32)--; } else { window_error_open(3255, STR_NONE); @@ -554,6 +565,11 @@ static void window_editor_scenario_options_financial_mousedown(int widgetIndex, window_invalidate(w); break; } + + if(RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_PLAYING) { + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + } } /** @@ -732,7 +748,7 @@ static void window_editor_scenario_options_guests_mousedown(int widgetIndex, rct { switch (widgetIndex) { case WIDX_CASH_PER_GUEST_INCREASE: - if (RCT2_GLOBAL(RCT2_ADDRESS_GUEST_INITIAL_CASH, money16) < MONEY(100, 00)) { + if (RCT2_GLOBAL(RCT2_ADDRESS_GUEST_INITIAL_CASH, money16) < MONEY(1000, 00)) { RCT2_GLOBAL(RCT2_ADDRESS_GUEST_INITIAL_CASH, money16) += MONEY(1, 00); } else { window_error_open(3264, STR_NONE);