diff --git a/src/drawing/rain.c b/src/drawing/rain.c index e1af767944..2475cbe161 100644 --- a/src/drawing/rain.c +++ b/src/drawing/rain.c @@ -161,8 +161,8 @@ void update_rain_animation() */ static void draw_light_rain(int left, int top, int width, int height) { - int x_start = -(int)RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) + 8; - int y_start = (RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) * 3) + 7; + int x_start = -(int)gScenarioTicks + 8; + int y_start = (gScenarioTicks * 3) + 7; y_start = -y_start; x_start += left; @@ -170,8 +170,8 @@ static void draw_light_rain(int left, int top, int width, int height) gfx_draw_rain(left, top, width, height, x_start, y_start); - x_start = -(int)RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) + 0x18; - y_start = (RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) * 4) + 0x0D; + x_start = -(int)gScenarioTicks + 0x18; + y_start = (gScenarioTicks * 4) + 0x0D; y_start = -y_start; x_start += left; @@ -185,8 +185,8 @@ static void draw_light_rain(int left, int top, int width, int height) */ static void draw_heavy_rain(int left, int top, int width, int height) { - int x_start = -(int)RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32); - int y_start = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) * 5; + int x_start = -(int)gScenarioTicks; + int y_start = gScenarioTicks * 5; y_start = -y_start; x_start += left; @@ -194,8 +194,8 @@ static void draw_heavy_rain(int left, int top, int width, int height) gfx_draw_rain(left, top, width, height, x_start, y_start); - x_start = -(int)RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) + 0x10; - y_start = (RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) * 6) + 5; + x_start = -(int)gScenarioTicks + 0x10; + y_start = (gScenarioTicks * 6) + 5; y_start = -y_start; x_start += left; @@ -203,8 +203,8 @@ static void draw_heavy_rain(int left, int top, int width, int height) gfx_draw_rain(left, top, width, height, x_start, y_start); - x_start = -(int)RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) + 8; - y_start = (RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) * 3) + 7; + x_start = -(int)gScenarioTicks + 8; + y_start = (gScenarioTicks * 3) + 7; y_start = -y_start; x_start += left; @@ -212,8 +212,8 @@ static void draw_heavy_rain(int left, int top, int width, int height) gfx_draw_rain(left, top, width, height, x_start, y_start); - x_start = -(int)RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) + 0x18; - y_start = (RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) * 4) + 0x0D; + x_start = -(int)gScenarioTicks + 0x18; + y_start = (gScenarioTicks * 4) + 0x0D; y_start = -y_start; x_start += left; diff --git a/src/game.c b/src/game.c index 6d7f5fb42a..b0434c7efb 100644 --- a/src/game.c +++ b/src/game.c @@ -356,7 +356,7 @@ void game_logic_update() } } gCurrentTicks++; - RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32)++; + gScenarioTicks++; gScreenAge++; if (gScreenAge == 0) gScreenAge--; diff --git a/src/management/research.c b/src/management/research.c index 29d79f7441..f50a7f6c24 100644 --- a/src/management/research.c +++ b/src/management/research.c @@ -240,7 +240,7 @@ void research_update() if (gScreenFlags & editorScreenFlags) return; - if (RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) % 32 != 0) + if (gScenarioTicks % 32 != 0) return; researchLevel = gResearchFundingLevel; diff --git a/src/peep/peep.c b/src/peep/peep.c index e4b518b59b..86c69610fc 100644 --- a/src/peep/peep.c +++ b/src/peep/peep.c @@ -482,7 +482,7 @@ static void sub_68F41A(rct_peep *peep, int index) peep->no_of_rides == 0 && peep->guest_heading_to_ride_id == 0xFF){ - uint32 time_duration = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) - peep->time_in_park; + uint32 time_duration = gScenarioTicks - peep->time_in_park; time_duration /= 2048; if (time_duration >= 5){ @@ -4490,7 +4490,7 @@ static void peep_update_entering_park(rct_peep* peep){ peep_window_state_update(peep); peep->outside_of_park = 0; - peep->time_in_park = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32); + peep->time_in_park = gScenarioTicks; gNumGuestsInPark++; gNumGuestsHeadingForPark--; gToolbarDirtyFlags |= BTM_TB_DIRTY_FLAG_PEEP_COUNT; diff --git a/src/rct2.c b/src/rct2.c index 7a3b51bee2..93f81ac648 100644 --- a/src/rct2.c +++ b/src/rct2.c @@ -140,7 +140,7 @@ int rct2_init() { log_verbose("initialising game"); - RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) = 0; + gScenarioTicks = 0; RCT2_GLOBAL(0x009AC310, char*) = RCT2_GLOBAL(RCT2_ADDRESS_CMDLINE, char*); util_srand((unsigned int)time(0)); if (!rct2_init_directories()) diff --git a/src/rct2/S6Exporter.cpp b/src/rct2/S6Exporter.cpp index e4729d46ed..29b137485f 100644 --- a/src/rct2/S6Exporter.cpp +++ b/src/rct2/S6Exporter.cpp @@ -244,7 +244,7 @@ void S6Exporter::Export() _s6.elapsed_months = gDateMonthsElapsed; _s6.current_day = gDateMonthTicks; - _s6.scenario_ticks = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32); + _s6.scenario_ticks = gScenarioTicks; _s6.scenario_srand_0 = gScenarioSrand0; _s6.scenario_srand_1 = gScenarioSrand1; diff --git a/src/rct2/S6Importer.cpp b/src/rct2/S6Importer.cpp index 637931da95..6cba83d28d 100644 --- a/src/rct2/S6Importer.cpp +++ b/src/rct2/S6Importer.cpp @@ -176,7 +176,7 @@ void S6Importer::Import() gDateMonthsElapsed = _s6.elapsed_months; gDateMonthTicks = _s6.current_day; - RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) = _s6.scenario_ticks; + gScenarioTicks = _s6.scenario_ticks; gScenarioSrand0 = _s6.scenario_srand_0; gScenarioSrand1 = _s6.scenario_srand_1; diff --git a/src/ride/ride.c b/src/ride/ride.c index 9e79cb04d8..d30f9f3288 100644 --- a/src/ride/ride.c +++ b/src/ride/ride.c @@ -2802,7 +2802,7 @@ void ride_measurement_update(rct_ride_measurement *measurement) verticalG = clamp(-127, verticalG / 8, 127); lateralG = clamp(-127, lateralG / 8, 127); - if (RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) & 1) { + if (gScenarioTicks & 1) { verticalG = (verticalG + measurement->vertical[measurement->current_item]) / 2; lateralG = (lateralG + measurement->lateral[measurement->current_item]) / 2; } @@ -2814,7 +2814,7 @@ void ride_measurement_update(rct_ride_measurement *measurement) velocity = min(abs((vehicle->velocity * 5) >> 16), 255); altitude = min(vehicle->z / 8, 255); - if (RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) & 1) { + if (gScenarioTicks & 1) { velocity = (velocity + measurement->velocity[measurement->current_item]) / 2; altitude = (altitude + measurement->altitude[measurement->current_item]) / 2; } @@ -2822,7 +2822,7 @@ void ride_measurement_update(rct_ride_measurement *measurement) measurement->velocity[measurement->current_item] = velocity & 0xFF; measurement->altitude[measurement->current_item] = altitude & 0xFF; - if (RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) & 1) { + if (gScenarioTicks & 1) { measurement->current_item++; measurement->num_items = max(measurement->num_items, measurement->current_item); } @@ -2958,7 +2958,7 @@ rct_ride_measurement *ride_get_measurement(int rideIndex, rct_string_id *message measurement->current_item = 0; } - measurement->last_use_tick = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32); + measurement->last_use_tick = gScenarioTicks; if (measurement->flags & 1) { if (message != NULL) *message = 0; return measurement; diff --git a/src/scenario.h b/src/scenario.h index d404d95eb2..94055f9a44 100644 --- a/src/scenario.h +++ b/src/scenario.h @@ -433,6 +433,7 @@ typedef struct { extern const rct_string_id ScenarioCategoryStringIds[SCENARIO_CATEGORY_COUNT]; +#define gScenarioTicks RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) #define gScenarioSrand0 RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_SRAND_0, uint32) #define gScenarioSrand1 RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_SRAND_1, uint32) diff --git a/src/windows/guest.c b/src/windows/guest.c index 91a2ca097d..7f88334f07 100644 --- a/src/windows/guest.c +++ b/src/windows/guest.c @@ -1530,7 +1530,7 @@ void window_guest_stats_paint(rct_window *w, rct_drawpixelinfo *dpi) // Time in park y += 11; if (peep->time_in_park != -1){ - int eax = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32); + int eax = gScenarioTicks; eax -= peep->time_in_park; eax >>= 11; RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, uint16) = eax & 0xFFFF; @@ -1587,7 +1587,7 @@ void window_guest_rides_update(rct_window *w) rct_peep* peep = GET_PEEP(w->number); // Every 2048 ticks do a full window_invalidate - int number_of_ticks = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) - peep->time_in_park; + int number_of_ticks = gScenarioTicks - peep->time_in_park; if (!(number_of_ticks & 0x7FF)) window_invalidate(w); uint8 curr_list_position = 0; diff --git a/src/windows/guest_list.c b/src/windows/guest_list.c index 8d3b9aa4dc..32af4fd411 100644 --- a/src/windows/guest_list.c +++ b/src/windows/guest_list.c @@ -825,7 +825,7 @@ static void window_guest_list_find_groups() int spriteIndex, spriteIndex2, groupIndex, faceIndex; rct_peep *peep, *peep2; - int eax = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) & 0xFFFFFF00; + int eax = gScenarioTicks & 0xFFFFFF00; if (_window_guest_list_selected_view == RCT2_GLOBAL(0x00F1EE02, uint32)) if (RCT2_GLOBAL(0x00F1AF20, uint16) != 0 || eax == RCT2_GLOBAL(0x00F1AF1C, uint32)) return; diff --git a/src/world/park.c b/src/world/park.c index b19d05c205..a17b3b2b77 100644 --- a/src/world/park.c +++ b/src/world/park.c @@ -282,7 +282,7 @@ int calculate_park_rating() litter = &(g_sprite_list[sprite_idx].litter); // Ignore recently dropped litter - if (litter->creationTick - RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) >= 7680) + if (litter->creationTick - gScenarioTicks >= 7680) num_litter++; } result -= 600 - (4 * (150 - min(150, num_litter))); diff --git a/src/world/sprite.c b/src/world/sprite.c index 7f8d61bbf0..13a3f55be6 100644 --- a/src/world/sprite.c +++ b/src/world/sprite.c @@ -587,7 +587,7 @@ void litter_create(int x, int y, int z, int direction, int type) litter->type = type; sprite_move(x, y, z, (rct_sprite*)litter); invalidate_sprite_0((rct_sprite*)litter); - litter->creationTick = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32); + litter->creationTick = gScenarioTicks; } /**