1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-24 15:24:30 +01:00

Move gTotalAdmissions to GameState_t (#21341)

Part of #21193.
This commit is contained in:
Harry Hopkinson
2024-02-06 20:42:05 +00:00
committed by GitHub
parent 9363a459a2
commit 3eb9cf2264
11 changed files with 15 additions and 14 deletions

View File

@@ -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<uint32_t>(OpenRCT2::GetGameState().NumGuestsInPark);
ft.Add<uint32_t>(gameState.NumGuestsInPark);
DrawTextBasic(dpi, screenCoords, STR_GUESTS_IN_PARK_LABEL, ft);
screenCoords.y += LIST_ROW_HEIGHT;
ft = Formatter();
ft.Add<uint32_t>(gTotalAdmissions);
ft.Add<uint32_t>(gameState.TotalAdmissions);
DrawTextBasic(dpi, screenCoords, STR_TOTAL_ADMISSIONS, ft);
}
#pragma endregion

View File

@@ -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;

View File

@@ -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;

View File

@@ -239,7 +239,7 @@ void FinanceInit()
gameState.ParkValue = 0;
gCompanyValue = 0;
gameState.ScenarioCompletedCompanyValue = MONEY64_UNDEFINED;
gTotalAdmissions = 0;
gameState.TotalAdmissions = 0;
gTotalIncomeFromAdmissions = 0;
gameState.ScenarioCompletedBy = "?";
}

View File

@@ -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)
{

View File

@@ -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

View File

@@ -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));

View File

@@ -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;

View File

@@ -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);
}
}

View File

@@ -50,7 +50,6 @@ using namespace OpenRCT2;
money64 gLandPrice;
money64 gConstructionRightsPrice;
uint64_t gTotalAdmissions;
money64 gTotalIncomeFromAdmissions;
money64 gCompanyValue;

View File

@@ -95,7 +95,6 @@ namespace OpenRCT2
extern money64 gLandPrice;
extern money64 gConstructionRightsPrice;
extern uint64_t gTotalAdmissions;
extern money64 gTotalIncomeFromAdmissions;
extern money64 gCompanyValue;