From 463a2f4533bf91927ee4074fc7b16d3f71c13699 Mon Sep 17 00:00:00 2001 From: Ted John Date: Sat, 23 Apr 2016 02:23:17 +0100 Subject: [PATCH] add global macro: gScenarioObjectiveCurrency --- src/editor.c | 2 +- src/rct1/S4Importer.cpp | 2 +- src/scenario.c | 12 ++++---- src/scenario.h | 1 + src/windows/editor_objective_options.c | 38 +++++++++++++------------- src/windows/park.c | 2 +- 6 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/editor.c b/src/editor.c index 7b32c20b17..b521c423bd 100644 --- a/src/editor.c +++ b/src/editor.c @@ -124,7 +124,7 @@ void editor_convert_save_to_scenario_callback(int result) safe_strcpy(s6Info->details, (const char*)RCT2_ADDRESS_SCENARIO_DETAILS, 256); s6Info->objective_type = gScenarioObjectiveType; s6Info->objective_arg_1 = gScenarioObjectiveYear; - s6Info->objective_arg_2 = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, sint32); + s6Info->objective_arg_2 = gScenarioObjectiveCurrency; s6Info->objective_arg_3 = gScenarioObjectiveNumGuests; climate_reset(RCT2_GLOBAL(RCT2_ADDRESS_CLIMATE, uint8)); diff --git a/src/rct1/S4Importer.cpp b/src/rct1/S4Importer.cpp index b4b35bc5c6..7981fb502f 100644 --- a/src/rct1/S4Importer.cpp +++ b/src/rct1/S4Importer.cpp @@ -1025,7 +1025,7 @@ void S4Importer::ImportScenarioObjective() { gScenarioObjectiveType = _s4.scenario_objective_type; gScenarioObjectiveYear = _s4.scenario_objective_years; - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, uint32) = _s4.scenario_objective_currency; + gScenarioObjectiveCurrency = _s4.scenario_objective_currency; gScenarioObjectiveNumGuests = _s4.scenario_objective_num_guests; } diff --git a/src/scenario.c b/src/scenario.c index 3eb2f0cc17..2ab8ad8633 100644 --- a/src/scenario.c +++ b/src/scenario.c @@ -770,7 +770,7 @@ int scenario_prepare_for_save() s6Info->objective_type = gScenarioObjectiveType; s6Info->objective_arg_1 = gScenarioObjectiveYear; - s6Info->objective_arg_2 = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, sint32); + s6Info->objective_arg_2 = gScenarioObjectiveCurrency; s6Info->objective_arg_3 = gScenarioObjectiveNumGuests; scenario_prepare_rides_for_save(); @@ -1271,7 +1271,7 @@ static void scenario_objective_check_park_value_by() { uint8 objectiveYear = gScenarioObjectiveYear; sint16 currentMonthYear = RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONTH_YEAR, sint16); - money32 objectiveParkValue = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32); + money32 objectiveParkValue = gScenarioObjectiveCurrency; money32 parkValue = gParkValue; if (currentMonthYear == 8 * objectiveYear) { @@ -1356,7 +1356,7 @@ static void scenario_objective_check_guests_and_rating() static void scenario_objective_check_monthly_ride_income() { - money32 objectiveMonthlyRideIncome = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32); + money32 objectiveMonthlyRideIncome = gScenarioObjectiveCurrency; money32 monthlyRideIncome = RCT2_GLOBAL(RCT2_ADDRESS_MONTHLY_RIDE_INCOME, money32); if (monthlyRideIncome >= objectiveMonthlyRideIncome) scenario_success(); @@ -1402,7 +1402,7 @@ static void scenario_objective_check_finish_5_rollercoasters() int i; rct_ride* ride; - money32 objectiveRideExcitement = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32); + money32 objectiveRideExcitement = gScenarioObjectiveCurrency; // ORIGINAL BUG?: // This does not check if the rides are even rollercoasters nevermind the right rollercoasters to be finished. @@ -1418,7 +1418,7 @@ static void scenario_objective_check_finish_5_rollercoasters() static void scenario_objective_check_replay_loan_and_park_value() { - money32 objectiveParkValue = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32); + money32 objectiveParkValue = gScenarioObjectiveCurrency; money32 parkValue = gParkValue; money32 currentLoan = gBankLoan; @@ -1428,7 +1428,7 @@ static void scenario_objective_check_replay_loan_and_park_value() static void scenario_objective_check_monthly_food_income() { - money32 objectiveMonthlyIncome = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32); + money32 objectiveMonthlyIncome = gScenarioObjectiveCurrency; sint32 monthlyIncome = RCT2_GLOBAL(0x013578A4, money32) + RCT2_GLOBAL(0x013578A0, money32) + diff --git a/src/scenario.h b/src/scenario.h index 5f6bd565fc..d205267771 100644 --- a/src/scenario.h +++ b/src/scenario.h @@ -464,6 +464,7 @@ extern const rct_string_id ScenarioCategoryStringIds[SCENARIO_CATEGORY_COUNT]; #define gScenarioObjectiveType RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_TYPE, uint8) #define gScenarioObjectiveYear RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_YEAR, uint8) #define gScenarioObjectiveNumGuests RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_NUM_GUESTS, uint16) +#define gScenarioObjectiveCurrency RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) // Scenario list extern int gScenarioListCount; diff --git a/src/windows/editor_objective_options.c b/src/windows/editor_objective_options.c index 8fb847d3ea..038fec15b6 100644 --- a/src/windows/editor_objective_options.c +++ b/src/windows/editor_objective_options.c @@ -362,25 +362,25 @@ static void window_editor_objective_options_set_objective(rct_window *w, int obj break; case OBJECTIVE_PARK_VALUE_BY: gScenarioObjectiveYear = 3; - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) = MONEY(50000,00); + gScenarioObjectiveCurrency = MONEY(50000,00); break; case OBJECTIVE_GUESTS_AND_RATING: gScenarioObjectiveNumGuests = 2000; break; case OBJECTIVE_MONTHLY_RIDE_INCOME: - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) = MONEY(10000,00); + gScenarioObjectiveCurrency = MONEY(10000,00); break; case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: gScenarioObjectiveNumGuests = 1200; break; case OBJECTIVE_FINISH_5_ROLLERCOASTERS: - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) = FIXED_2DP(6,70); + gScenarioObjectiveCurrency = FIXED_2DP(6,70); break; case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) = MONEY(50000,00); + gScenarioObjectiveCurrency = MONEY(50000,00); break; case OBJECTIVE_MONTHLY_FOOD_INCOME: - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) = MONEY(1000,00); + gScenarioObjectiveCurrency = MONEY(1000,00); break; } } @@ -556,18 +556,18 @@ static void window_editor_objective_options_arg_1_increase(rct_window *w) case OBJECTIVE_PARK_VALUE_BY: case OBJECTIVE_MONTHLY_RIDE_INCOME: case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - if (RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) >= MONEY(2000000,00)) { + if (gScenarioObjectiveCurrency >= MONEY(2000000,00)) { window_error_open(3264, STR_NONE); } else { - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) += MONEY(1000,0); + gScenarioObjectiveCurrency += MONEY(1000,0); window_invalidate(w); } break; case OBJECTIVE_MONTHLY_FOOD_INCOME: - if (RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) >= MONEY(2000000,00)) { + if (gScenarioObjectiveCurrency >= MONEY(2000000,00)) { window_error_open(3264, STR_NONE); } else { - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) += MONEY(100,0); + gScenarioObjectiveCurrency += MONEY(100,0); window_invalidate(w); } break; @@ -580,10 +580,10 @@ static void window_editor_objective_options_arg_1_increase(rct_window *w) } break; case OBJECTIVE_FINISH_5_ROLLERCOASTERS: - if (RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) >= FIXED_2DP(9,90)) { + if (gScenarioObjectiveCurrency >= FIXED_2DP(9,90)) { window_error_open(3264, STR_NONE); } else { - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) += FIXED_2DP(0,10); + gScenarioObjectiveCurrency += FIXED_2DP(0,10); window_invalidate(w); } break; @@ -604,18 +604,18 @@ static void window_editor_objective_options_arg_1_decrease(rct_window *w) case OBJECTIVE_PARK_VALUE_BY: case OBJECTIVE_MONTHLY_RIDE_INCOME: case OBJECTIVE_REPLAY_LOAN_AND_PARK_VALUE: - if (RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) <= MONEY(1000,00)) { + if (gScenarioObjectiveCurrency <= MONEY(1000,00)) { window_error_open(3265, STR_NONE); } else { - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) -= MONEY(1000,0); + gScenarioObjectiveCurrency -= MONEY(1000,0); window_invalidate(w); } break; case OBJECTIVE_MONTHLY_FOOD_INCOME: - if (RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) <= MONEY(1000,00)) { + if (gScenarioObjectiveCurrency <= MONEY(1000,00)) { window_error_open(3265, STR_NONE); } else { - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) -= MONEY(100,0); + gScenarioObjectiveCurrency -= MONEY(100,0); window_invalidate(w); } break; @@ -628,10 +628,10 @@ static void window_editor_objective_options_arg_1_decrease(rct_window *w) } break; case OBJECTIVE_FINISH_5_ROLLERCOASTERS: - if (RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) <= FIXED_2DP(4,00)) { + if (gScenarioObjectiveCurrency <= FIXED_2DP(4,00)) { window_error_open(3265, STR_NONE); } else { - RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32) -= FIXED_2DP(0,10); + gScenarioObjectiveCurrency -= FIXED_2DP(0,10); window_invalidate(w); } break; @@ -944,7 +944,7 @@ static void window_editor_objective_options_main_paint(rct_window *w, rct_drawpi case OBJECTIVE_MONTHLY_RIDE_INCOME: case OBJECTIVE_MONTHLY_FOOD_INCOME: stringId = 3246; - arg = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32); + arg = gScenarioObjectiveCurrency; break; case OBJECTIVE_10_ROLLERCOASTERS_LENGTH: stringId = 3310; @@ -952,7 +952,7 @@ static void window_editor_objective_options_main_paint(rct_window *w, rct_drawpi break; default: stringId = 3311; - arg = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, money32); + arg = gScenarioObjectiveCurrency; break; } gfx_draw_string_left(dpi, stringId, &arg, 0, x, y); diff --git a/src/windows/park.c b/src/windows/park.c index c1538d86c7..413c7f0ce6 100644 --- a/src/windows/park.c +++ b/src/windows/park.c @@ -1759,7 +1759,7 @@ static void window_park_objective_paint(rct_window *w, rct_drawpixelinfo *dpi) // Objective RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, short) = gScenarioObjectiveNumGuests; RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, short) = date_get_total_months(MONTH_OCTOBER, gScenarioObjectiveYear); - RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 4, int) = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_CURRENCY, sint32); + RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 4, int) = gScenarioObjectiveCurrency; y += gfx_draw_string_left_wrapped(dpi, (void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS, x, y, 221, 2385 + gScenarioObjectiveType, 0); y += 5;