diff --git a/src/openrct2-ui/windows/Park.cpp b/src/openrct2-ui/windows/Park.cpp index 1656f1c8bb..17ecbb897c 100644 --- a/src/openrct2-ui/windows/Park.cpp +++ b/src/openrct2-ui/windows/Park.cpp @@ -964,8 +964,9 @@ private: auto screenCoords = windowPos + ScreenCoordsXY{ widgets[WIDX_PAGE_BACKGROUND].left + 4, widgets[WIDX_PAGE_BACKGROUND].top + 4 }; + auto& gameState = GetGameState(); // Draw park size - auto parkSize = GetGameState().ParkSize * 10; + auto parkSize = gameState.ParkSize * 10; auto stringIndex = STR_PARK_SIZE_METRIC_LABEL; if (gConfigGeneral.MeasurementFormat == MeasurementFormat::Imperial) { @@ -997,12 +998,12 @@ private: // Draw number of guests in park ft = Formatter(); - ft.Add(OpenRCT2::GetGameState().NumGuestsInPark); + ft.Add(gameState.NumGuestsInPark); DrawTextBasic(dpi, screenCoords, STR_GUESTS_IN_PARK_LABEL, ft); screenCoords.y += LIST_ROW_HEIGHT; ft = Formatter(); - ft.Add(gTotalAdmissions); + ft.Add(gameState.TotalAdmissions); DrawTextBasic(dpi, screenCoords, STR_TOTAL_ADMISSIONS, ft); } #pragma endregion diff --git a/src/openrct2/GameState.h b/src/openrct2/GameState.h index 82bf17bf6b..486edf26c9 100644 --- a/src/openrct2/GameState.h +++ b/src/openrct2/GameState.h @@ -51,6 +51,7 @@ namespace OpenRCT2 uint32_t NumGuestsHeadingForPark; uint32_t NumGuestsInParkLastWeek; money64 WeeklyProfitAverageDividend; + uint64_t TotalAdmissions; uint16_t WeeklyProfitAverageDivisor; money64 WeeklyProfitHistory[FINANCE_GRAPH_SIZE]; Objective ScenarioObjective; diff --git a/src/openrct2/entity/Peep.cpp b/src/openrct2/entity/Peep.cpp index 13d620193f..e60f4d3edb 100644 --- a/src/openrct2/entity/Peep.cpp +++ b/src/openrct2/entity/Peep.cpp @@ -1976,7 +1976,7 @@ static bool PeepInteractWithEntrance(Peep* peep, const CoordsXYE& coords, uint8_ guest->PeepFlags |= PEEP_FLAGS_HAS_PAID_FOR_PARK_ENTRY; } - gTotalAdmissions++; + GetGameState().TotalAdmissions++; WindowInvalidateByNumber(WindowClass::ParkInformation, 0); guest->Var37 = 1; diff --git a/src/openrct2/management/Finance.cpp b/src/openrct2/management/Finance.cpp index 6810b60bbe..35df77c2ba 100644 --- a/src/openrct2/management/Finance.cpp +++ b/src/openrct2/management/Finance.cpp @@ -239,7 +239,7 @@ void FinanceInit() gameState.ParkValue = 0; gCompanyValue = 0; gameState.ScenarioCompletedCompanyValue = MONEY64_UNDEFINED; - gTotalAdmissions = 0; + gameState.TotalAdmissions = 0; gTotalIncomeFromAdmissions = 0; gameState.ScenarioCompletedBy = "?"; } diff --git a/src/openrct2/park/ParkFile.cpp b/src/openrct2/park/ParkFile.cpp index 48f78cc23c..0cc3a120ba 100644 --- a/src/openrct2/park/ParkFile.cpp +++ b/src/openrct2/park/ParkFile.cpp @@ -895,7 +895,7 @@ namespace OpenRCT2 cs.ReadWrite(gCurrentProfit); cs.ReadWrite(gameState.WeeklyProfitAverageDividend); cs.ReadWrite(gameState.WeeklyProfitAverageDivisor); - cs.ReadWrite(gTotalAdmissions); + cs.ReadWrite(gameState.TotalAdmissions); cs.ReadWrite(gTotalIncomeFromAdmissions); if (version <= 16) { diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 52aaa31838..29127d6b2f 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -1424,7 +1424,7 @@ namespace RCT1 gCurrentExpenditure = ToMoney64(_s4.TotalExpenditure); gameState.ScenarioCompletedCompanyValue = RCT12CompletedCompanyValueToOpenRCT2(_s4.CompletedCompanyValue); - gTotalAdmissions = _s4.NumAdmissions; + gameState.TotalAdmissions = _s4.NumAdmissions; gTotalIncomeFromAdmissions = ToMoney64(_s4.AdmissionTotalIncome); // TODO marketing campaigns not working diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index eacb3196cb..0173f0a452 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -372,7 +372,7 @@ namespace RCT2 } gameState.ScenarioCompletedCompanyValue = RCT12CompletedCompanyValueToOpenRCT2(_s6.CompletedCompanyValue); - gTotalAdmissions = _s6.TotalAdmissions; + gameState.TotalAdmissions = _s6.TotalAdmissions; gTotalIncomeFromAdmissions = ToMoney64(_s6.IncomeFromAdmissions); gCompanyValue = ToMoney64(_s6.CompanyValue); std::memcpy(gPeepWarningThrottle, _s6.PeepWarningThrottle, sizeof(_s6.PeepWarningThrottle)); diff --git a/src/openrct2/scenario/Scenario.cpp b/src/openrct2/scenario/Scenario.cpp index 17320fbce1..12333c372c 100644 --- a/src/openrct2/scenario/Scenario.cpp +++ b/src/openrct2/scenario/Scenario.cpp @@ -139,7 +139,7 @@ void ScenarioReset(GameState_t& gameState) gCurrentProfit = 0; gameState.WeeklyProfitAverageDividend = 0; gameState.WeeklyProfitAverageDivisor = 0; - gTotalAdmissions = 0; + gameState.TotalAdmissions = 0; gTotalIncomeFromAdmissions = 0; gameState.ParkFlags &= ~PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT; diff --git a/src/openrct2/scripting/bindings/world/ScPark.cpp b/src/openrct2/scripting/bindings/world/ScPark.cpp index 22a7b5ac36..1ceafeb566 100644 --- a/src/openrct2/scripting/bindings/world/ScPark.cpp +++ b/src/openrct2/scripting/bindings/world/ScPark.cpp @@ -207,15 +207,16 @@ namespace OpenRCT2::Scripting uint32_t ScPark::totalAdmissions_get() const { - return gTotalAdmissions; + return GetGameState().TotalAdmissions; } void ScPark::totalAdmissions_set(uint32_t value) { ThrowIfGameStateNotMutable(); + auto& gameState = GetGameState(); - if (gTotalAdmissions != value) + if (gameState.TotalAdmissions != value) { - gTotalAdmissions = value; + gameState.TotalAdmissions = value; WindowInvalidateByClass(WindowClass::ParkInformation); } } diff --git a/src/openrct2/world/Park.cpp b/src/openrct2/world/Park.cpp index 4be1e2d312..042f5e0e4a 100644 --- a/src/openrct2/world/Park.cpp +++ b/src/openrct2/world/Park.cpp @@ -50,7 +50,6 @@ using namespace OpenRCT2; money64 gLandPrice; money64 gConstructionRightsPrice; -uint64_t gTotalAdmissions; money64 gTotalIncomeFromAdmissions; money64 gCompanyValue; diff --git a/src/openrct2/world/Park.h b/src/openrct2/world/Park.h index 5aeeed22a9..b18fa011ee 100644 --- a/src/openrct2/world/Park.h +++ b/src/openrct2/world/Park.h @@ -95,7 +95,6 @@ namespace OpenRCT2 extern money64 gLandPrice; extern money64 gConstructionRightsPrice; -extern uint64_t gTotalAdmissions; extern money64 gTotalIncomeFromAdmissions; extern money64 gCompanyValue;