mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-22 15:23:01 +01:00
Fixed Clear Loan cheat
The function already existed in the codebase. I've fixed it and added a button.
This commit is contained in:
@@ -3633,4 +3633,6 @@ STR_5296 :{SMALLFONT}{BLACK}Close park
|
||||
STR_5297 :{SMALLFONT}{BLACK}Open park
|
||||
STR_5298 :{RED}{STRINGID}
|
||||
STR_5299 :{LIGHTPINK}{STRINGID}
|
||||
STR_5300 :{SMALLFONT}{BLACK}Quick fire staff
|
||||
STR_5300 :{SMALLFONT}{BLACK}Quick fire staff
|
||||
STR_5301 :{MEDIUMFONT}{BLACK}Clear your loan
|
||||
STR_5302 :Clear loan
|
||||
@@ -994,6 +994,7 @@ enum {
|
||||
// Money
|
||||
STR_CHEAT_5K_MONEY = 2760,
|
||||
STR_CHEAT_PAY_ENTRANCE = 2761,
|
||||
STR_CHEAT_CLEAR_LOAN = 5302,
|
||||
STR_CHEAT_PAY_RIDES = 2762,
|
||||
|
||||
// Guests
|
||||
@@ -1030,6 +1031,7 @@ 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,
|
||||
|
||||
@@ -58,6 +58,7 @@ enum WINDOW_CHEATS_WIDGET_IDX {
|
||||
WIDX_TAB_4,
|
||||
WIDX_HIGH_MONEY,
|
||||
WIDX_PARK_ENTRANCE_FEE,
|
||||
WIDX_CLEAR_LOAN,
|
||||
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,
|
||||
@@ -117,6 +118,7 @@ static rct_widget window_cheats_money_widgets[] = {
|
||||
{ WWT_TAB, 1, 96, 126, 17, 43, 0x2000144E, STR_RIDE_CHEATS_TIP }, // tab 4
|
||||
{ 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 },
|
||||
};
|
||||
|
||||
@@ -332,7 +334,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_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_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)
|
||||
@@ -473,13 +475,6 @@ static void cheat_make_destructible()
|
||||
window_invalidate_by_class(WC_RIDE);
|
||||
}
|
||||
|
||||
static void cheat_clear_loan()
|
||||
{
|
||||
// TODO, this sets the loan but stops loan borrowing from working, possible due to cheat detection stuff
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_LOAN, money32) = MONEY(0,00);
|
||||
window_invalidate_by_class(WC_FINANCES);
|
||||
}
|
||||
|
||||
static void cheat_increase_money(money32 amount)
|
||||
{
|
||||
money32 currentMoney;
|
||||
@@ -495,6 +490,17 @@ static void cheat_increase_money(money32 amount)
|
||||
window_invalidate_by_class(WC_BOTTOM_TOOLBAR);
|
||||
}
|
||||
|
||||
static void cheat_clear_loan()
|
||||
{
|
||||
// First give money
|
||||
cheat_increase_money(RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_LOAN, money32));
|
||||
|
||||
// Then pay the loan
|
||||
money32 newLoan;
|
||||
newLoan = MONEY(0, 00);
|
||||
game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, newLoan, GAME_COMMAND_SET_CURRENT_LOAN, 0, 0);
|
||||
}
|
||||
|
||||
static void cheat_generate_guests(int count)
|
||||
{
|
||||
int i;
|
||||
@@ -576,6 +582,9 @@ static void window_cheats_money_mouseup()
|
||||
case WIDX_HIGH_MONEY:
|
||||
cheat_increase_money(CHEATS_MONEY_INCREMENT);
|
||||
break;
|
||||
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);
|
||||
@@ -795,6 +804,7 @@ 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_GUESTS){
|
||||
gfx_draw_string_left(dpi, STR_CHEAT_TIP_HAPPY_GUESTS, NULL, 0, w->x + XPL(0) + TXTO, w->y + YPL(0) + TXTO);
|
||||
|
||||
Reference in New Issue
Block a user