From 3173a6372626c4a007c89bde4ce0311c7032bcf7 Mon Sep 17 00:00:00 2001 From: Ted John Date: Tue, 6 Apr 2021 00:07:13 +0100 Subject: [PATCH] Replace gScenarioTicks with gCurrentTicks --- src/openrct2-ui/windows/Guest.cpp | 4 +-- src/openrct2-ui/windows/GuestList.cpp | 4 +-- src/openrct2/Context.cpp | 1 - src/openrct2/GameState.cpp | 1 - src/openrct2/ParkFile.cpp | 3 +- src/openrct2/drawing/Weather.cpp | 45 +++++++++++++------------ src/openrct2/management/Research.cpp | 2 +- src/openrct2/peep/Guest.cpp | 4 +-- src/openrct2/rct1/S4Importer.cpp | 2 +- src/openrct2/rct2/S6Importer.cpp | 3 +- src/openrct2/ride/Ride.cpp | 8 ++--- src/openrct2/ride/TrackPaint.cpp | 3 +- src/openrct2/ride/water/RiverRapids.cpp | 6 ++-- src/openrct2/scenario/Scenario.cpp | 1 - src/openrct2/scenario/Scenario.h | 1 - src/openrct2/world/Park.cpp | 2 +- src/openrct2/world/Sprite.cpp | 2 +- test/testpaint/Compat.cpp | 1 - test/testpaint/TestPaint.cpp | 1 - 19 files changed, 44 insertions(+), 50 deletions(-) diff --git a/src/openrct2-ui/windows/Guest.cpp b/src/openrct2-ui/windows/Guest.cpp index f343d06836..b4c0c47e37 100644 --- a/src/openrct2-ui/windows/Guest.cpp +++ b/src/openrct2-ui/windows/Guest.cpp @@ -1371,7 +1371,7 @@ void window_guest_stats_paint(rct_window* w, rct_drawpixelinfo* dpi) int32_t guestEntryTime = peep->GetParkEntryTime(); if (guestEntryTime != -1) { - int32_t timeInPark = (gScenarioTicks - guestEntryTime) >> 11; + int32_t timeInPark = (gCurrentTicks - guestEntryTime) >> 11; auto ft = Formatter(); ft.Add(timeInPark & 0xFFFF); DrawTextBasic(dpi, screenCoords, STR_GUEST_STAT_TIME_IN_PARK, ft); @@ -1441,7 +1441,7 @@ void window_guest_rides_update(rct_window* w) } // Every 2048 ticks do a full window_invalidate - int32_t number_of_ticks = gScenarioTicks - guest->GetParkEntryTime(); + int32_t number_of_ticks = gCurrentTicks - guest->GetParkEntryTime(); if (!(number_of_ticks & 0x7FF)) w->Invalidate(); diff --git a/src/openrct2-ui/windows/GuestList.cpp b/src/openrct2-ui/windows/GuestList.cpp index c93b459a2f..29f0f6b76f 100644 --- a/src/openrct2-ui/windows/GuestList.cpp +++ b/src/openrct2-ui/windows/GuestList.cpp @@ -807,7 +807,7 @@ private: bool IsRefreshOfGroupsRequired() { - uint32_t tick256 = floor2(gScenarioTicks, 256); + uint32_t tick256 = floor2(gCurrentTicks, 256); if (_selectedView == _lastFindGroupsSelectedView) { if (_lastFindGroupsWait != 0 || _lastFindGroupsTick == tick256) @@ -834,7 +834,7 @@ private: void RefreshGroups() { - _lastFindGroupsTick = floor2(gScenarioTicks, 256); + _lastFindGroupsTick = floor2(gCurrentTicks, 256); _lastFindGroupsSelectedView = _selectedView; _lastFindGroupsWait = 320; _groups.clear(); diff --git a/src/openrct2/Context.cpp b/src/openrct2/Context.cpp index 06e693d751..0228593a29 100644 --- a/src/openrct2/Context.cpp +++ b/src/openrct2/Context.cpp @@ -477,7 +477,6 @@ namespace OpenRCT2 #endif } - gScenarioTicks = 0; input_reset_place_obj_modifier(); viewport_init_all(); diff --git a/src/openrct2/GameState.cpp b/src/openrct2/GameState.cpp index 5d891f9e86..1812e82eae 100644 --- a/src/openrct2/GameState.cpp +++ b/src/openrct2/GameState.cpp @@ -354,7 +354,6 @@ void GameState::UpdateLogic(LogicTimings* timings) report_time(LogicTimePart::NetworkFlush); gCurrentTicks++; - gScenarioTicks++; gSavedAge++; #ifdef ENABLE_SCRIPTING diff --git a/src/openrct2/ParkFile.cpp b/src/openrct2/ParkFile.cpp index 4ccaeaae89..56ddf46554 100644 --- a/src/openrct2/ParkFile.cpp +++ b/src/openrct2/ParkFile.cpp @@ -333,8 +333,7 @@ namespace OpenRCT2 { auto found = os.ReadWriteChunk(ParkFileChunkType::GENERAL, [this](OrcaStream::ChunkStream& cs) { cs.ReadWrite(gGamePaused); - cs.ReadWrite(gScenarioTicks); - gCurrentTicks = gScenarioTicks; + cs.ReadWrite(gCurrentTicks); cs.ReadWrite(gDateMonthTicks); cs.ReadWrite(gDateMonthsElapsed); diff --git a/src/openrct2/drawing/Weather.cpp b/src/openrct2/drawing/Weather.cpp index 35eb7e0cff..c8fdb13670 100644 --- a/src/openrct2/drawing/Weather.cpp +++ b/src/openrct2/drawing/Weather.cpp @@ -9,6 +9,7 @@ #include "Weather.h" +#include "../Game.h" #include "../config/Config.h" #include "../interface/Viewport.h" #include "../ride/TrackDesign.h" @@ -77,15 +78,15 @@ void DrawWeather(rct_drawpixelinfo* dpi, IWeatherDrawer* weatherDrawer) */ static void DrawLightRain(IWeatherDrawer* weatherDrawer, int32_t left, int32_t top, int32_t width, int32_t height) { - int32_t x_start = -static_cast(gScenarioTicks) + 8; - int32_t y_start = (gScenarioTicks * 3) + 7; + int32_t x_start = -static_cast(gCurrentTicks) + 8; + int32_t y_start = (gCurrentTicks * 3) + 7; y_start = -y_start; x_start += left; y_start += top; weatherDrawer->Draw(left, top, width, height, x_start, y_start, RainPattern); - x_start = -static_cast(gScenarioTicks) + 0x18; - y_start = (gScenarioTicks * 4) + 0x0D; + x_start = -static_cast(gCurrentTicks) + 0x18; + y_start = (gCurrentTicks * 4) + 0x0D; y_start = -y_start; x_start += left; y_start += top; @@ -98,29 +99,29 @@ static void DrawLightRain(IWeatherDrawer* weatherDrawer, int32_t left, int32_t t */ static void DrawHeavyRain(IWeatherDrawer* weatherDrawer, int32_t left, int32_t top, int32_t width, int32_t height) { - int32_t x_start = -static_cast(gScenarioTicks); - int32_t y_start = gScenarioTicks * 5; + int32_t x_start = -static_cast(gCurrentTicks); + int32_t y_start = gCurrentTicks * 5; y_start = -y_start; x_start += left; y_start += top; weatherDrawer->Draw(left, top, width, height, x_start, y_start, RainPattern); - x_start = -static_cast(gScenarioTicks) + 0x10; - y_start = (gScenarioTicks * 6) + 5; + x_start = -static_cast(gCurrentTicks) + 0x10; + y_start = (gCurrentTicks * 6) + 5; y_start = -y_start; x_start += left; y_start += top; weatherDrawer->Draw(left, top, width, height, x_start, y_start, RainPattern); - x_start = -static_cast(gScenarioTicks) + 8; - y_start = (gScenarioTicks * 3) + 7; + x_start = -static_cast(gCurrentTicks) + 8; + y_start = (gCurrentTicks * 3) + 7; y_start = -y_start; x_start += left; y_start += top; weatherDrawer->Draw(left, top, width, height, x_start, y_start, RainPattern); - x_start = -static_cast(gScenarioTicks) + 0x18; - y_start = (gScenarioTicks * 4) + 0x0D; + x_start = -static_cast(gCurrentTicks) + 0x18; + y_start = (gCurrentTicks * 4) + 0x0D; y_start = -y_start; x_start += left; y_start += top; @@ -129,9 +130,9 @@ static void DrawHeavyRain(IWeatherDrawer* weatherDrawer, int32_t left, int32_t t static void DrawLightSnow(IWeatherDrawer* weatherDrawer, int32_t left, int32_t top, int32_t width, int32_t height) { - const uint32_t t = gScenarioTicks / 2; + const uint32_t t = gCurrentTicks / 2; const int32_t negT = -static_cast(t); - const double cosTick = static_cast(gScenarioTicks) * 0.05; + const double cosTick = static_cast(gCurrentTicks) * 0.05; int32_t x_start = negT + 1 + (cos(1.0 + cosTick) * 6); int32_t y_start = t + 1; @@ -150,29 +151,29 @@ static void DrawLightSnow(IWeatherDrawer* weatherDrawer, int32_t left, int32_t t static void DrawHeavySnow(IWeatherDrawer* weatherDrawer, int32_t left, int32_t top, int32_t width, int32_t height) { - int32_t x_start = -static_cast(gScenarioTicks * 3) + 1; - int32_t y_start = gScenarioTicks + 23; + int32_t x_start = -static_cast(gCurrentTicks * 3) + 1; + int32_t y_start = gCurrentTicks + 23; y_start = -y_start; x_start += left; y_start += top; weatherDrawer->Draw(left, top, width, height, x_start, y_start, SnowPattern); - x_start = -static_cast(gScenarioTicks * 4) + 6; - y_start = gScenarioTicks + 5; + x_start = -static_cast(gCurrentTicks * 4) + 6; + y_start = gCurrentTicks + 5; y_start = -y_start; x_start += left; y_start += top; weatherDrawer->Draw(left, top, width, height, x_start, y_start, SnowPattern); - x_start = -static_cast(gScenarioTicks * 2) + 11; - y_start = gScenarioTicks + 18; + x_start = -static_cast(gCurrentTicks * 2) + 11; + y_start = gCurrentTicks + 18; y_start = -y_start; x_start += left; y_start += top; weatherDrawer->Draw(left, top, width, height, x_start, y_start, SnowPattern); - x_start = -static_cast(gScenarioTicks * 3) + 17; - y_start = gScenarioTicks + 11; + x_start = -static_cast(gCurrentTicks * 3) + 17; + y_start = gCurrentTicks + 11; y_start = -y_start; x_start += left; y_start += top; diff --git a/src/openrct2/management/Research.cpp b/src/openrct2/management/Research.cpp index f17a5877b8..63c3256deb 100644 --- a/src/openrct2/management/Research.cpp +++ b/src/openrct2/management/Research.cpp @@ -316,7 +316,7 @@ void research_update() return; } - if (gScenarioTicks % 32 != 0) + if (gCurrentTicks % 32 != 0) { return; } diff --git a/src/openrct2/peep/Guest.cpp b/src/openrct2/peep/Guest.cpp index 19fb43e05a..8f190e436f 100644 --- a/src/openrct2/peep/Guest.cpp +++ b/src/openrct2/peep/Guest.cpp @@ -789,7 +789,7 @@ void Guest::Tick128UpdateGuest(int32_t index) if (State == PeepState::Walking && !OutsideOfPark && !(PeepFlags & PEEP_FLAGS_LEAVING_PARK) && GuestNumRides == 0 && GuestHeadingToRideId == RIDE_ID_NULL) { - uint32_t time_duration = gScenarioTicks - ParkEntryTime; + uint32_t time_duration = gCurrentTicks - ParkEntryTime; time_duration /= 2048; if (time_duration >= 5) @@ -5370,7 +5370,7 @@ void Guest::UpdateEnteringPark() SetState(PeepState::Falling); OutsideOfPark = false; - ParkEntryTime = gScenarioTicks; + ParkEntryTime = gCurrentTicks; increment_guests_in_park(); decrement_guests_heading_for_park(); auto intent = Intent(INTENT_ACTION_UPDATE_GUEST_COUNT); diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 4f1e6763db..9703aa49fe 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -2137,7 +2137,7 @@ private: void ImportParkFlags() { // Date and srand - gScenarioTicks = _s4.ticks; + gCurrentTicks = _s4.ticks; scenario_rand_seed(_s4.random_a, _s4.random_b); gDateMonthsElapsed = static_cast(_s4.month); gDateMonthTicks = _s4.day; diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index cef255888b..814cbbc883 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -213,7 +213,7 @@ public: gDateMonthsElapsed = static_cast(_s6.elapsed_months); gDateMonthTicks = _s6.current_day; - gScenarioTicks = _s6.scenario_ticks; + gCurrentTicks = _s6.scenario_ticks; scenario_rand_seed(_s6.scenario_srand_0, _s6.scenario_srand_1); @@ -385,7 +385,6 @@ public: // For savegames the filename can be arbitrary, so we have no choice but to rely on the name provided String::Set(gScenarioFileName, sizeof(gScenarioFileName), _s6.scenario_filename); } - gCurrentTicks = _s6.game_ticks_1; gCurrentRealTimeTicks = 0; ImportRides(); diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index b682e7da14..95f5bef630 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -2938,7 +2938,7 @@ static void ride_measurement_update(Ride& ride, RideMeasurement& measurement) gForces.VerticalG = std::clamp(gForces.VerticalG / 8, -127, 127); gForces.LateralG = std::clamp(gForces.LateralG / 8, -127, 127); - if (gScenarioTicks & 1) + if (gCurrentTicks & 1) { gForces.VerticalG = (gForces.VerticalG + measurement.vertical[measurement.current_item]) / 2; gForces.LateralG = (gForces.LateralG + measurement.lateral[measurement.current_item]) / 2; @@ -2951,7 +2951,7 @@ static void ride_measurement_update(Ride& ride, RideMeasurement& measurement) auto velocity = std::min(std::abs((vehicle->velocity * 5) >> 16), 255); auto altitude = std::min(vehicle->z / 8, 255); - if (gScenarioTicks & 1) + if (gCurrentTicks & 1) { velocity = (velocity + measurement.velocity[measurement.current_item]) / 2; altitude = (altitude + measurement.altitude[measurement.current_item]) / 2; @@ -2960,7 +2960,7 @@ static void ride_measurement_update(Ride& ride, RideMeasurement& measurement) measurement.velocity[measurement.current_item] = velocity & 0xFF; measurement.altitude[measurement.current_item] = altitude & 0xFF; - if (gScenarioTicks & 1) + if (gCurrentTicks & 1) { measurement.current_item++; measurement.num_items = std::max(measurement.num_items, measurement.current_item); @@ -3063,7 +3063,7 @@ std::pair Ride::GetMeasurement() assert(measurement != nullptr); } - measurement->last_use_tick = gScenarioTicks; + measurement->last_use_tick = gCurrentTicks; if (measurement->flags & 1) { return { measurement.get(), { STR_EMPTY, {} } }; diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index baac794594..879ef7aae9 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -9,6 +9,7 @@ #include "TrackPaint.h" +#include "../Game.h" #include "../config/Config.h" #include "../drawing/Drawing.h" #include "../interface/Viewport.h" @@ -1982,7 +1983,7 @@ void track_paint_util_left_quarter_turn_1_tile_tunnel( void track_paint_util_spinning_tunnel_paint(paint_session* session, int8_t thickness, int16_t height, Direction direction) { - int32_t frame = gScenarioTicks >> 2 & 3; + int32_t frame = gCurrentTicks >> 2 & 3; uint32_t colourFlags = session->TrackColours[SCHEME_SUPPORTS]; uint32_t colourFlags2 = session->TrackColours[SCHEME_TRACK]; diff --git a/src/openrct2/ride/water/RiverRapids.cpp b/src/openrct2/ride/water/RiverRapids.cpp index 54d436cbba..80c757edd6 100644 --- a/src/openrct2/ride/water/RiverRapids.cpp +++ b/src/openrct2/ride/water/RiverRapids.cpp @@ -676,7 +676,7 @@ static void paint_river_rapids_track_waterfall( { uint32_t imageId; - uint16_t frameNum = (gScenarioTicks / 2) & 7; + uint16_t frameNum = (gCurrentTicks / 2) & 7; if (direction & 1) { @@ -739,7 +739,7 @@ static void paint_river_rapids_track_rapids( { uint32_t imageId; - uint16_t frameNum = (gScenarioTicks / 2) & 7; + uint16_t frameNum = (gCurrentTicks / 2) & 7; if (direction & 1) { @@ -790,7 +790,7 @@ static void paint_river_rapids_track_whirlpool( { uint32_t imageId; - uint8_t frameNum = (gScenarioTicks / 4) % 16; + uint8_t frameNum = (gCurrentTicks / 4) % 16; if (direction & 1) { diff --git a/src/openrct2/scenario/Scenario.cpp b/src/openrct2/scenario/Scenario.cpp index 1d5d8d8abd..7e3ac34dc1 100644 --- a/src/openrct2/scenario/Scenario.cpp +++ b/src/openrct2/scenario/Scenario.cpp @@ -67,7 +67,6 @@ bool gFirstTimeSaving = true; uint16_t gSavedAge; uint32_t gLastAutoSaveUpdate = 0; -uint64_t gScenarioTicks; random_engine_t gScenarioRand; Objective gScenarioObjective; diff --git a/src/openrct2/scenario/Scenario.h b/src/openrct2/scenario/Scenario.h index 8843eefe65..ca1b0b214e 100644 --- a/src/openrct2/scenario/Scenario.h +++ b/src/openrct2/scenario/Scenario.h @@ -427,7 +427,6 @@ static constexpr money32 COMPANY_VALUE_ON_FAILED_OBJECTIVE = 0x80000001; extern const rct_string_id ScenarioCategoryStringIds[SCENARIO_CATEGORY_COUNT]; -extern uint64_t gScenarioTicks; extern random_engine_t gScenarioRand; extern Objective gScenarioObjective; diff --git a/src/openrct2/world/Park.cpp b/src/openrct2/world/Park.cpp index a800e7aa2a..97b6ed38f0 100644 --- a/src/openrct2/world/Park.cpp +++ b/src/openrct2/world/Park.cpp @@ -470,7 +470,7 @@ int32_t Park::CalculateParkRating() const for (auto litter : EntityList()) { // Ignore recently dropped litter - if (litter->creationTick - gScenarioTicks >= 7680) + if (litter->creationTick - gCurrentTicks >= 7680) { litterCount++; } diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index 7d6f5e40b7..bbcf8cbdd3 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -772,7 +772,7 @@ void litter_create(const CoordsXYZD& litterPos, LitterType type) litter->sprite_height_positive = 3; litter->SubType = type; litter->MoveTo(offsetLitterPos); - litter->creationTick = gScenarioTicks; + litter->creationTick = gCurrentTicks; } /** diff --git a/test/testpaint/Compat.cpp b/test/testpaint/Compat.cpp index a6b7bf93d8..04170de65c 100644 --- a/test/testpaint/Compat.cpp +++ b/test/testpaint/Compat.cpp @@ -40,7 +40,6 @@ ride_id_t gTrackDesignSaveRideIndex = RIDE_ID_NULL; uint8_t gClipHeight = 255; CoordsXY gClipSelectionA = { 0, 0 }; CoordsXY gClipSelectionB = { MAXIMUM_TILE_START_XY, MAXIMUM_TILE_START_XY }; -uint32_t gScenarioTicks; uint8_t gCurrentRotation; // clang-format off diff --git a/test/testpaint/TestPaint.cpp b/test/testpaint/TestPaint.cpp index 334fd850b6..f4dc4d8260 100644 --- a/test/testpaint/TestPaint.cpp +++ b/test/testpaint/TestPaint.cpp @@ -64,7 +64,6 @@ namespace TestPaint RCT2_CurrentViewportFlags = 0; - gScenarioTicks = 0; RCT2_ScenarioTicks = 0; }