1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-06 06:32:56 +01:00

add global macro: gScenarioObjectiveCurrency

This commit is contained in:
Ted John
2016-04-23 02:23:17 +01:00
parent 1f6081c0d9
commit 463a2f4533
6 changed files with 29 additions and 28 deletions

View File

@@ -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));

View File

@@ -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;
}

View File

@@ -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) +

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;