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:
@@ -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));
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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) +
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user