From 816944f78b9ecb1e6ef995bdcb26a2c0a9cfe36a Mon Sep 17 00:00:00 2001 From: LRFLEW Date: Tue, 9 Jun 2015 17:50:40 -0500 Subject: [PATCH] EXPLODE!!! Because why not --- data/language/english_uk.txt | 2 ++ src/localisation/string_ids.h | 2 ++ src/peep/peep.h | 1 + src/windows/cheats.c | 22 +++++++++++++++++++++- 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/data/language/english_uk.txt b/data/language/english_uk.txt index 13b3347245..a239d00efe 100644 --- a/data/language/english_uk.txt +++ b/data/language/english_uk.txt @@ -3618,3 +3618,5 @@ STR_5281 :{SMALLFONT}{BLACK}Features STR_5282 :RCT1 Ride Open/Close Lights STR_5283 :RCT1 Park Open/Close Lights STR_5284 :RCT1 Scenario Selection Font +STR_5285 :EXPLODE!!! +STR_5286 :{MEDIUMFONT}{BLACK}Makes guests explode diff --git a/src/localisation/string_ids.h b/src/localisation/string_ids.h index 0eb9dbc32e..a0b460984b 100644 --- a/src/localisation/string_ids.h +++ b/src/localisation/string_ids.h @@ -1000,6 +1000,7 @@ enum { STR_CHEAT_HAPPY_GUESTS = 2764, STR_CHEAT_LARGE_TRAM_GUESTS = 2765, STR_CHEAT_NAUSEA = 5254, + STR_CHEAT_EXPLODE = 5285, // Misc. STR_CHEAT_FREEZE_CLIMATE = 2767, @@ -1032,6 +1033,7 @@ enum { STR_CHEAT_TIP_HAPPY_GUESTS = 2683, STR_CHEAT_TIP_LARGE_TRAM_GUESTS = 2684, STR_CHEAT_TIP_NAUSEA = 5255, + STR_CHEAT_TIP_EXPLODE = 5286, // Cheat tab tips STR_FINANCIAL_CHEATS_TIP = 5178, diff --git a/src/peep/peep.h b/src/peep/peep.h index a9260f3cb0..837590b826 100644 --- a/src/peep/peep.h +++ b/src/peep/peep.h @@ -573,6 +573,7 @@ int peep_get_easteregg_name_id(rct_peep *peep); int peep_is_mechanic(rct_peep *peep); int peep_has_food(rct_peep* peep); void peep_sprite_remove(rct_peep* peep); +void peep_remove(rct_peep* peep); void peep_window_state_update(rct_peep* peep); void peep_decrement_num_riders(rct_peep* peep); diff --git a/src/windows/cheats.c b/src/windows/cheats.c index 58b5a10691..6254912de5 100644 --- a/src/windows/cheats.c +++ b/src/windows/cheats.c @@ -61,6 +61,7 @@ enum WINDOW_CHEATS_WIDGET_IDX { WIDX_HAPPY_GUESTS = 8, //Same as HIGH_MONEY as it is also the 8th widget but on a different page WIDX_TRAM_GUESTS, WIDX_NAUSEA_GUESTS, + WIDX_EXPLODE_GUESTS, WIDX_FREEZE_CLIMATE = 8, WIDX_OPEN_CLOSE_PARK, WIDX_ZERO_CLEARANCE, @@ -131,6 +132,7 @@ static rct_widget window_cheats_guests_widgets[] = { { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(1), HPL(1), STR_CHEAT_HAPPY_GUESTS, STR_NONE}, // happy guests { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(3), HPL(3), STR_CHEAT_LARGE_TRAM_GUESTS, STR_NONE}, // large tram { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(5), HPL(5), STR_CHEAT_NAUSEA, STR_NONE}, // nausea + { WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(7), HPL(7), STR_CHEAT_EXPLODE, STR_NONE}, // explode guests { WIDGETS_END }, }; @@ -331,7 +333,7 @@ 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_CLOSE) | (1 << WIDX_TAB_1) | (1 << WIDX_TAB_2) | (1 << WIDX_TAB_3) | (1 << WIDX_TAB_4) | (1 << WIDX_HAPPY_GUESTS) | (1 << WIDX_TRAM_GUESTS) | (1 << WIDX_NAUSEA_GUESTS), + (1 << WIDX_CLOSE) | (1 << WIDX_TAB_1) | (1 << WIDX_TAB_2) | (1 << WIDX_TAB_3) | (1 << WIDX_TAB_4) | (1 << WIDX_HAPPY_GUESTS) | (1 << WIDX_TRAM_GUESTS) | (1 << WIDX_NAUSEA_GUESTS) | (1 << WIDX_EXPLODE_GUESTS), (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_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) }; @@ -522,6 +524,20 @@ static void cheat_make_guests_nauseous() peep->flags |= PEEP_FLAGS_NAUSEA; } +static void cheat_explode_guests() +{ + int sprite_index; + rct_peep *peep; + + FOR_ALL_GUESTS(sprite_index, peep) { + unsigned int rand = scenario_rand(); + if ((rand & 0x07) == 0) { + peep->flags |= PEEP_FLAGS_EXPLODE; + } + } + +} + #pragma endregion void window_cheats_open() @@ -594,6 +610,9 @@ static void window_cheats_guests_mouseup() case WIDX_NAUSEA_GUESTS: cheat_make_guests_nauseous(); break; + case WIDX_EXPLODE_GUESTS: + cheat_explode_guests(); + break; } } @@ -781,6 +800,7 @@ static void window_cheats_paint() gfx_draw_string_left(dpi, STR_CHEAT_TIP_HAPPY_GUESTS, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(0) + TXTO); gfx_draw_string_left(dpi, STR_CHEAT_TIP_LARGE_TRAM_GUESTS, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(2) + TXTO); gfx_draw_string_left(dpi, STR_CHEAT_TIP_NAUSEA, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(4) + TXTO); + gfx_draw_string_left(dpi, STR_CHEAT_TIP_EXPLODE, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(6) + TXTO); } }