Extend fast lift hill cheat and update description

This commit is contained in:
Gymnasiast 2015-12-20 20:47:59 +01:00
parent 783992a5d6
commit dd460300ca
4 changed files with 18 additions and 15 deletions

View File

@ -3475,7 +3475,7 @@ STR_5133 :{SMALLFONT}{BLACK}Adjust smaller area of land rights
STR_5134 :{SMALLFONT}{BLACK}Adjust larger area of land rights
STR_5135 :{SMALLFONT}{BLACK}Buy land rights and construction rights
STR_5136 :Land rights
STR_5137 :Allow lift hill and launch speeds{NEWLINE}up to {VELOCITY}
STR_5137 :Unlock operating limits
STR_5138 :{SMALLFONT}{WINDOW_COLOUR_2}{STRINGID}
STR_5139 :{WHITE}{STRINGID}
STR_5140 :Disable brakes failure
@ -3923,6 +3923,7 @@ STR_5581 :Show FPS
STR_5582 :Trap mouse cursor in window
STR_5583 :{COMMA1DP16}ms{POWERNEGATIVEONE}
STR_5584 :SI
STR_5585 :{SMALLFONT}{BLACK}Unlocks ride operation limits, allowing for things like {VELOCITY} lift hills
#####################
# Rides/attractions #

View File

@ -1892,7 +1892,7 @@ enum {
STR_CHEAT_RENEW_RIDES = 5123,
STR_CHEAT_MAKE_DESTRUCTABLE = 5125,
STR_CHEAT_FIX_ALL_RIDES = 5132,
STR_CHEAT_410_HILL_LIFT = 5137,
STR_CHEAT_UNLOCK_OPERATING_LIMITS = 5137,
STR_CHEAT_DISABLE_BRAKES_FAILURE = 5140,
STR_CHEAT_DISABLE_BREAKDOWNS = 5141,
STR_CHEATS_BUTTON_ON_TOOLBAR = 5147,
@ -2190,6 +2190,8 @@ enum {
STR_UNIT_SUFFIX_METRES_PER_SECOND = 5583,
STR_SI = 5584,
STR_CHEAT_UNLOCK_OPERATING_LIMITS_TIP = 5585,
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
STR_COUNT = 32768
};

View File

@ -256,7 +256,7 @@ static rct_widget window_cheats_rides_widgets[] = {
{ WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(0), HPL(0), STR_CHEAT_RENEW_RIDES, STR_NONE}, // Renew rides
{ WWT_CLOSEBOX, 1, XPL(1), WPL(1), YPL(1), HPL(1), STR_CHEAT_MAKE_DESTRUCTABLE, STR_NONE}, // Make destructable
{ WWT_CLOSEBOX, 1, XPL(0), WPL(0), YPL(1), HPL(1), STR_CHEAT_FIX_ALL_RIDES, STR_NONE }, // Fix all rides
{ WWT_CHECKBOX, 2, XPL(0), OWPL, YPL(11), OHPL(11) + 8, STR_CHEAT_410_HILL_LIFT, STR_NONE }, // 410 km/h lift hill
{ WWT_CHECKBOX, 2, XPL(0), OWPL, YPL(11), OHPL(11) + 8, STR_CHEAT_UNLOCK_OPERATING_LIMITS, STR_CHEAT_UNLOCK_OPERATING_LIMITS_TIP },// 410 km/h lift hill etc.
{ WWT_CHECKBOX, 2, XPL(0), OWPL, YPL(9), OHPL(9), STR_CHEAT_DISABLE_BRAKES_FAILURE, STR_NONE }, // Disable brakes failure
{ WWT_CHECKBOX, 2, XPL(0), OWPL, YPL(10), OHPL(10), STR_CHEAT_DISABLE_BREAKDOWNS, STR_NONE }, // Disable all breakdowns
{ WWT_CHECKBOX, 2, XPL(0), OWPL, YPL(8), OHPL(8), STR_CHEAT_BUILD_IN_PAUSE_MODE, STR_NONE }, // Build in pause mode

View File

@ -2764,7 +2764,10 @@ static void window_ride_mode_tweak_decrease(rct_window *w)
{
rct_ride *ride = GET_RIDE(w->number);
uint8 value = ride->operation_option;
if (value > RCT2_GLOBAL(RCT2_ADDRESS_RIDE_FLAGS + (ride->type * 8) + 4, uint8))
//fast_lift_hill is the cheat that allows maxing many limits on the Operating tab.
uint8 min_value = gConfigCheat.fast_lift_hill ? 0 : RCT2_GLOBAL(RCT2_ADDRESS_RIDE_FLAGS + (ride->type * 8) + 4, uint8);
if (value > min_value)
value -= ride->mode == RIDE_MODE_BUMPERCAR ? 10 : 1;
window_ride_mode_tweak_set(w, value);
@ -2918,7 +2921,7 @@ static void window_ride_operating_resize(rct_window *w)
static void window_ride_operating_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
{
rct_ride *ride = GET_RIDE(w->number);
uint8 max_lift_hill_speed;
uint8 parameter_check;
switch (widgetIndex) {
case WIDX_MODE_TWEAK_INCREASE:
@ -2928,16 +2931,12 @@ static void window_ride_operating_mousedown(int widgetIndex, rct_window *w, rct_
window_ride_mode_tweak_decrease(w);
break;
case WIDX_LIFT_HILL_SPEED_INCREASE:
if(gConfigCheat.fast_lift_hill)
max_lift_hill_speed = 255;
else
max_lift_hill_speed = RCT2_GLOBAL(0x0097D7CA + (ride->type * 4), uint8);
set_operating_setting(w->number, 8, min(ride->lift_hill_speed + 1, max_lift_hill_speed));
parameter_check = gConfigCheat.fast_lift_hill ? 255 : RCT2_GLOBAL(0x0097D7CA + (ride->type * 4), uint8);
set_operating_setting(w->number, 8, min(ride->lift_hill_speed + 1, parameter_check));
break;
case WIDX_LIFT_HILL_SPEED_DECREASE:
set_operating_setting(w->number, 8, max(RCT2_GLOBAL(0x0097D7C9 + (ride->type * 4), uint8), ride->lift_hill_speed - 1));
parameter_check = gConfigCheat.fast_lift_hill ? 0 : RCT2_GLOBAL(0x0097D7C9 + (ride->type * 4), uint8);
set_operating_setting(w->number, 8, max(ride->lift_hill_speed - 1, parameter_check));
break;
case WIDX_MINIMUM_LENGTH_INCREASE:
set_operating_setting(w->number, 2, min(ride->min_waiting_time + 1, 250));
@ -2958,10 +2957,11 @@ static void window_ride_operating_mousedown(int widgetIndex, rct_window *w, rct_
window_ride_load_dropdown(w, widget);
break;
case WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE:
set_operating_setting(w->number, 9, min(ride->num_circuits + 1, 20));
parameter_check = gConfigCheat.fast_lift_hill ? 255 : 20;
set_operating_setting(w->number, 9, min(ride->num_circuits + 1, parameter_check));
break;
case WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE:
set_operating_setting(w->number, 9, max(1, ride->num_circuits - 1));
set_operating_setting(w->number, 9, max(ride->num_circuits - 1, 1));
break;
}
}