From 70ea832808a7bba555b52b3bc072b02f14ce6bba Mon Sep 17 00:00:00 2001 From: Harry Hopkinson <63599884+Harry-Hopkinson@users.noreply.github.com> Date: Tue, 27 Feb 2024 15:31:38 +0000 Subject: [PATCH] Move gCompanyValue to GameState_t --- src/openrct2-ui/windows/Finances.cpp | 2 +- src/openrct2/GameState.h | 1 + src/openrct2/interface/InteractiveConsole.cpp | 2 +- src/openrct2/management/Finance.cpp | 2 +- src/openrct2/park/ParkFile.cpp | 2 +- src/openrct2/rct1/S4Importer.cpp | 2 +- src/openrct2/rct2/S6Importer.cpp | 2 +- src/openrct2/scenario/Scenario.cpp | 4 ++-- src/openrct2/scripting/bindings/world/ScPark.cpp | 7 ++++--- src/openrct2/scripting/bindings/world/ScScenario.hpp | 2 +- src/openrct2/world/Park.cpp | 6 ++---- src/openrct2/world/Park.h | 2 -- 12 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/openrct2-ui/windows/Finances.cpp b/src/openrct2-ui/windows/Finances.cpp index fd08ff8136..757878c02f 100644 --- a/src/openrct2-ui/windows/Finances.cpp +++ b/src/openrct2-ui/windows/Finances.cpp @@ -595,7 +595,7 @@ public: ft.Add(gameState.ParkValue); DrawTextBasic(dpi, windowPos + ScreenCoordsXY{ 280, 279 }, STR_PARK_VALUE_LABEL, ft); ft = Formatter(); - ft.Add(gCompanyValue); + ft.Add(gameState.CompanyValue); DrawTextBasic(dpi, windowPos + ScreenCoordsXY{ 280, 294 }, STR_COMPANY_VALUE_LABEL, ft); } } diff --git a/src/openrct2/GameState.h b/src/openrct2/GameState.h index b878a665bb..35477d541b 100644 --- a/src/openrct2/GameState.h +++ b/src/openrct2/GameState.h @@ -38,6 +38,7 @@ namespace OpenRCT2 uint32_t ParkSize; money64 ParkValue; money64 ParkValueHistory[FINANCE_GRAPH_SIZE]; + money64 CompanyValue; uint8_t ParkRatingHistory[32]; ClimateType Climate; ClimateState ClimateCurrent; diff --git a/src/openrct2/interface/InteractiveConsole.cpp b/src/openrct2/interface/InteractiveConsole.cpp index 835d1f42b6..3b36cefa3d 100644 --- a/src/openrct2/interface/InteractiveConsole.cpp +++ b/src/openrct2/interface/InteractiveConsole.cpp @@ -565,7 +565,7 @@ static int32_t ConsoleCommandGet(InteractiveConsole& console, const arguments_t& } else if (argv[0] == "company_value") { - console.WriteFormatLine("company_value %d", gCompanyValue / 10); + console.WriteFormatLine("company_value %d", gameState.CompanyValue / 10); } else if (argv[0] == "money") { diff --git a/src/openrct2/management/Finance.cpp b/src/openrct2/management/Finance.cpp index 4a2755d2c9..20013f0e78 100644 --- a/src/openrct2/management/Finance.cpp +++ b/src/openrct2/management/Finance.cpp @@ -236,7 +236,7 @@ void FinanceInit() gameState.BankLoanInterestRate = 10; gameState.ParkValue = 0; - gCompanyValue = 0; + gameState.CompanyValue = 0; gameState.ScenarioCompletedCompanyValue = kMoney64Undefined; gameState.TotalAdmissions = 0; gameState.TotalIncomeFromAdmissions = 0; diff --git a/src/openrct2/park/ParkFile.cpp b/src/openrct2/park/ParkFile.cpp index ed28623b78..ee4abbb3bf 100644 --- a/src/openrct2/park/ParkFile.cpp +++ b/src/openrct2/park/ParkFile.cpp @@ -885,7 +885,7 @@ namespace OpenRCT2 }); } cs.ReadWrite(gameState.ParkValue); - cs.ReadWrite(gCompanyValue); + cs.ReadWrite(gameState.CompanyValue); cs.ReadWrite(gameState.ParkSize); cs.ReadWrite(gameState.NumGuestsInPark); cs.ReadWrite(gameState.NumGuestsHeadingForPark); diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 3e8a22e061..640c14fdb4 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -1402,7 +1402,7 @@ namespace RCT1 gameState.BankLoanInterestRate = 1; gameState.InitialCash = ToMoney64(_s4.Cash); - gCompanyValue = ToMoney64(_s4.CompanyValue); + gameState.CompanyValue = ToMoney64(_s4.CompanyValue); gameState.ParkValue = CorrectRCT1ParkValue(_s4.ParkValue); gCurrentProfit = ToMoney64(_s4.Profit); diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index 8caa0296c7..2b98bd888f 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -374,7 +374,7 @@ namespace RCT2 gameState.ScenarioCompletedCompanyValue = RCT12CompletedCompanyValueToOpenRCT2(_s6.CompletedCompanyValue); gameState.TotalAdmissions = _s6.TotalAdmissions; gameState.TotalIncomeFromAdmissions = ToMoney64(_s6.IncomeFromAdmissions); - gCompanyValue = ToMoney64(_s6.CompanyValue); + gameState.CompanyValue = ToMoney64(_s6.CompanyValue); std::memcpy(gPeepWarningThrottle, _s6.PeepWarningThrottle, sizeof(_s6.PeepWarningThrottle)); // Awards diff --git a/src/openrct2/scenario/Scenario.cpp b/src/openrct2/scenario/Scenario.cpp index d1207ee504..6efacfb696 100644 --- a/src/openrct2/scenario/Scenario.cpp +++ b/src/openrct2/scenario/Scenario.cpp @@ -103,7 +103,7 @@ void ScenarioReset(GameState_t& gameState) auto& park = GetContext()->GetGameState()->GetPark(); gameState.ParkRating = park.CalculateParkRating(); gameState.ParkValue = park.CalculateParkValue(); - gCompanyValue = park.CalculateCompanyValue(); + gameState.CompanyValue = park.CalculateCompanyValue(); gHistoricalProfit = gameState.InitialCash - gameState.BankLoan; gameState.Cash = gameState.InitialCash; @@ -201,7 +201,7 @@ void ScenarioFailure(GameState_t& gameState) */ void ScenarioSuccess(GameState_t& gameState) { - auto companyValue = gCompanyValue; + auto companyValue = gameState.CompanyValue; gameState.ScenarioCompletedCompanyValue = companyValue; PeepApplause(); diff --git a/src/openrct2/scripting/bindings/world/ScPark.cpp b/src/openrct2/scripting/bindings/world/ScPark.cpp index 08a44a99eb..910ac173e6 100644 --- a/src/openrct2/scripting/bindings/world/ScPark.cpp +++ b/src/openrct2/scripting/bindings/world/ScPark.cpp @@ -189,15 +189,16 @@ namespace OpenRCT2::Scripting money64 ScPark::companyValue_get() const { - return gCompanyValue; + return GetGameState().CompanyValue; } void ScPark::companyValue_set(money64 value) { ThrowIfGameStateNotMutable(); + auto& gameState = GetGameState(); - if (gCompanyValue != value) + if (gameState.CompanyValue != value) { - gCompanyValue = value; + gameState.CompanyValue = value; auto intent = Intent(INTENT_ACTION_UPDATE_CASH); ContextBroadcastIntent(&intent); } diff --git a/src/openrct2/scripting/bindings/world/ScScenario.hpp b/src/openrct2/scripting/bindings/world/ScScenario.hpp index 54568f1e44..edcd034b2b 100644 --- a/src/openrct2/scripting/bindings/world/ScScenario.hpp +++ b/src/openrct2/scripting/bindings/world/ScScenario.hpp @@ -294,7 +294,7 @@ namespace OpenRCT2::Scripting else if (value == "failed") gameState.ScenarioCompletedCompanyValue = COMPANY_VALUE_ON_FAILED_OBJECTIVE; else if (value == "completed") - gameState.ScenarioCompletedCompanyValue = gCompanyValue; + gameState.ScenarioCompletedCompanyValue = gameState.CompanyValue; } money64 companyValueRecord_get() const diff --git a/src/openrct2/world/Park.cpp b/src/openrct2/world/Park.cpp index 6fe4965969..b6b189e6a8 100644 --- a/src/openrct2/world/Park.cpp +++ b/src/openrct2/world/Park.cpp @@ -50,8 +50,6 @@ using namespace OpenRCT2; money64 gLandPrice; money64 gConstructionRightsPrice; -money64 gCompanyValue; - int16_t gParkRatingCasualtyPenalty; uint32_t gGuestsInParkHistory[32]; @@ -229,7 +227,7 @@ money64 Park::GetParkValue() const money64 Park::GetCompanyValue() const { - return gCompanyValue; + return GetGameState().CompanyValue; } void Park::Initialise() @@ -305,7 +303,7 @@ void Park::Update(const Date& date) { gameState.ParkRating = CalculateParkRating(); gameState.ParkValue = CalculateParkValue(); - gCompanyValue = CalculateCompanyValue(); + gameState.CompanyValue = CalculateCompanyValue(); gameState.TotalRideValueForMoney = CalculateTotalRideValueForMoney(); gameState.SuggestedGuestMaximum = CalculateSuggestedMaxGuests(); gameState.GuestGenerationProbability = CalculateGuestGenerationProbability(); diff --git a/src/openrct2/world/Park.h b/src/openrct2/world/Park.h index 823a5f6aa6..b14062829c 100644 --- a/src/openrct2/world/Park.h +++ b/src/openrct2/world/Park.h @@ -95,8 +95,6 @@ namespace OpenRCT2 extern money64 gLandPrice; extern money64 gConstructionRightsPrice; -extern money64 gCompanyValue; - extern int16_t gParkRatingCasualtyPenalty; extern uint32_t gGuestsInParkHistory[32];