mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-24 00:03:11 +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:
@@ -3634,3 +3634,5 @@ STR_5297 :{SMALLFONT}{BLACK}Open park
|
|||||||
STR_5298 :{RED}{STRINGID}
|
STR_5298 :{RED}{STRINGID}
|
||||||
STR_5299 :{LIGHTPINK}{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
|
// Money
|
||||||
STR_CHEAT_5K_MONEY = 2760,
|
STR_CHEAT_5K_MONEY = 2760,
|
||||||
STR_CHEAT_PAY_ENTRANCE = 2761,
|
STR_CHEAT_PAY_ENTRANCE = 2761,
|
||||||
|
STR_CHEAT_CLEAR_LOAN = 5302,
|
||||||
STR_CHEAT_PAY_RIDES = 2762,
|
STR_CHEAT_PAY_RIDES = 2762,
|
||||||
|
|
||||||
// Guests
|
// Guests
|
||||||
@@ -1030,6 +1031,7 @@ enum {
|
|||||||
// Cheat tips
|
// Cheat tips
|
||||||
STR_CHEAT_TIP_5K_MONEY = 2681,
|
STR_CHEAT_TIP_5K_MONEY = 2681,
|
||||||
STR_CHEAT_TIP_PAY_ENTRY = 2682,
|
STR_CHEAT_TIP_PAY_ENTRY = 2682,
|
||||||
|
STR_CHEAT_TIP_CLEAR_LOAN = 5301,
|
||||||
STR_CHEAT_TIP_HAPPY_GUESTS = 2683,
|
STR_CHEAT_TIP_HAPPY_GUESTS = 2683,
|
||||||
STR_CHEAT_TIP_LARGE_TRAM_GUESTS = 2684,
|
STR_CHEAT_TIP_LARGE_TRAM_GUESTS = 2684,
|
||||||
STR_CHEAT_TIP_NAUSEA = 5255,
|
STR_CHEAT_TIP_NAUSEA = 5255,
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ enum WINDOW_CHEATS_WIDGET_IDX {
|
|||||||
WIDX_TAB_4,
|
WIDX_TAB_4,
|
||||||
WIDX_HIGH_MONEY,
|
WIDX_HIGH_MONEY,
|
||||||
WIDX_PARK_ENTRANCE_FEE,
|
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_HAPPY_GUESTS = 8, //Same as HIGH_MONEY as it is also the 8th widget but on a different page
|
||||||
WIDX_TRAM_GUESTS,
|
WIDX_TRAM_GUESTS,
|
||||||
WIDX_NAUSEA_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_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(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(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 },
|
{ WIDGETS_END },
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -332,7 +334,7 @@ static void* window_cheats_page_events[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static uint32 window_cheats_page_enabled_widgets[] = {
|
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_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_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)
|
(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);
|
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)
|
static void cheat_increase_money(money32 amount)
|
||||||
{
|
{
|
||||||
money32 currentMoney;
|
money32 currentMoney;
|
||||||
@@ -495,6 +490,17 @@ static void cheat_increase_money(money32 amount)
|
|||||||
window_invalidate_by_class(WC_BOTTOM_TOOLBAR);
|
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)
|
static void cheat_generate_guests(int count)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@@ -576,6 +582,9 @@ static void window_cheats_money_mouseup()
|
|||||||
case WIDX_HIGH_MONEY:
|
case WIDX_HIGH_MONEY:
|
||||||
cheat_increase_money(CHEATS_MONEY_INCREMENT);
|
cheat_increase_money(CHEATS_MONEY_INCREMENT);
|
||||||
break;
|
break;
|
||||||
|
case WIDX_CLEAR_LOAN:
|
||||||
|
cheat_clear_loan();
|
||||||
|
break;
|
||||||
case WIDX_PARK_ENTRANCE_FEE:
|
case WIDX_PARK_ENTRANCE_FEE:
|
||||||
RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) ^= PARK_FLAGS_PARK_FREE_ENTRY;
|
RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) ^= PARK_FLAGS_PARK_FREE_ENTRY;
|
||||||
window_invalidate_by_class(WC_PARK_INFORMATION);
|
window_invalidate_by_class(WC_PARK_INFORMATION);
|
||||||
@@ -795,6 +804,7 @@ static void window_cheats_paint()
|
|||||||
if (w->page == WINDOW_CHEATS_PAGE_MONEY){
|
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_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_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){
|
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);
|
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