1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-06 06:32:56 +01:00

Move .numGuests(HeadingForPark|InParkLastWeek) into ParkData struct

This commit is contained in:
Aaron van Geffen
2025-08-13 22:28:18 +02:00
parent 84ec1cc209
commit e6c0de0382
8 changed files with 21 additions and 20 deletions

View File

@@ -303,8 +303,8 @@ namespace OpenRCT2::Editor
ResetAllEntities();
UpdateConsolidatedPatrolAreas();
gameState.park.numGuestsInPark = 0;
gameState.numGuestsHeadingForPark = 0;
gameState.numGuestsInParkLastWeek = 0;
gameState.park.numGuestsHeadingForPark = 0;
gameState.park.numGuestsInParkLastWeek = 0;
gameState.guestChangeModifier = 0;
if (fromSave)
{

View File

@@ -195,13 +195,14 @@ static void FixGuestsHeadingToParkCount()
}
}
if (gameState.numGuestsHeadingForPark != guestsHeadingToPark)
if (gameState.park.numGuestsHeadingForPark != guestsHeadingToPark)
{
LOG_WARNING(
"Corrected bad amount of guests heading to park: %u -> %u", gameState.numGuestsHeadingForPark, guestsHeadingToPark);
"Corrected bad amount of guests heading to park: %u -> %u", gameState.park.numGuestsHeadingForPark,
guestsHeadingToPark);
}
gameState.numGuestsHeadingForPark = guestsHeadingToPark;
gameState.park.numGuestsHeadingForPark = guestsHeadingToPark;
}
static void FixGuestCount()

View File

@@ -53,8 +53,6 @@ namespace OpenRCT2
uint8_t guestChangeModifier;
uint32_t nextGuestNumber;
uint32_t numGuestsHeadingForPark;
uint32_t numGuestsInParkLastWeek;
uint64_t totalAdmissions;
money64 totalIncomeFromAdmissions;
money64 totalRideValueForMoney;

View File

@@ -2604,9 +2604,9 @@ void IncrementGuestsInPark()
void IncrementGuestsHeadingForPark()
{
auto& gameState = getGameState();
if (gameState.numGuestsHeadingForPark < UINT32_MAX)
if (gameState.park.numGuestsHeadingForPark < UINT32_MAX)
{
gameState.numGuestsHeadingForPark++;
gameState.park.numGuestsHeadingForPark++;
}
else
{
@@ -2631,9 +2631,9 @@ void DecrementGuestsHeadingForPark()
{
auto& gameState = getGameState();
if (gameState.numGuestsHeadingForPark > 0)
if (gameState.park.numGuestsHeadingForPark > 0)
{
gameState.numGuestsHeadingForPark--;
gameState.park.numGuestsHeadingForPark--;
}
else
{

View File

@@ -980,7 +980,7 @@ namespace OpenRCT2
cs.ReadWrite(gameState.park.companyValue);
cs.ReadWrite(gameState.park.Size);
cs.ReadWrite(gameState.park.numGuestsInPark);
cs.ReadWrite(gameState.numGuestsHeadingForPark);
cs.ReadWrite(gameState.park.numGuestsHeadingForPark);
cs.ReadWrite(gameState.park.Rating);
cs.ReadWrite(gameState.park.RatingCasualtyPenalty);
cs.ReadWrite(gameState.park.currentExpenditure);
@@ -999,7 +999,7 @@ namespace OpenRCT2
{
cs.ReadWrite(gameState.totalRideValueForMoney);
}
cs.ReadWrite(gameState.numGuestsInParkLastWeek);
cs.ReadWrite(gameState.park.numGuestsInParkLastWeek);
cs.ReadWrite(gameState.guestChangeModifier);
cs.ReadWrite(gameState.guestGenerationProbability);
cs.ReadWrite(gameState.suggestedGuestMaximum);

View File

@@ -408,7 +408,7 @@ namespace OpenRCT2::RCT2
// _s6.ResearchedTrackTypesB
gameState.park.numGuestsInPark = _s6.GuestsInPark;
gameState.numGuestsHeadingForPark = _s6.GuestsHeadingForPark;
gameState.park.numGuestsHeadingForPark = _s6.GuestsHeadingForPark;
for (size_t i = 0; i < Limits::kExpenditureTableMonthCount; i++)
{
@@ -418,7 +418,7 @@ namespace OpenRCT2::RCT2
}
}
gameState.numGuestsInParkLastWeek = _s6.LastGuestsInPark;
gameState.park.numGuestsInParkLastWeek = _s6.LastGuestsInPark;
// Pad01357BCA
gameState.park.staffHandymanColour = _s6.HandymanColour;
gameState.park.staffMechanicColour = _s6.MechanicColour;

View File

@@ -183,7 +183,7 @@ namespace OpenRCT2::Park
uint32_t probability = 50 + std::clamp(gameState.park.Rating - 200, 0, 650);
// The more guests, the lower the chance of a new one
uint32_t numGuests = gameState.park.numGuestsInPark + gameState.numGuestsHeadingForPark;
uint32_t numGuests = gameState.park.numGuestsInPark + gameState.park.numGuestsHeadingForPark;
if (numGuests > gameState.suggestedGuestMaximum)
{
probability /= 4;
@@ -282,8 +282,8 @@ namespace OpenRCT2::Park
gameState.park.staffMechanicColour = COLOUR_LIGHT_BLUE;
gameState.park.staffSecurityColour = COLOUR_YELLOW;
gameState.park.numGuestsInPark = 0;
gameState.numGuestsInParkLastWeek = 0;
gameState.numGuestsHeadingForPark = 0;
gameState.park.numGuestsInParkLastWeek = 0;
gameState.park.numGuestsHeadingForPark = 0;
gameState.guestChangeModifier = 0;
gameState.park.Rating = 0;
gameState.guestGenerationProbability = 0;
@@ -594,7 +594,7 @@ namespace OpenRCT2::Park
{
uint8_t guestChangeModifier = 1;
int32_t changeInGuestsInPark = static_cast<int32_t>(gameState.park.numGuestsInPark)
- static_cast<int32_t>(gameState.numGuestsInParkLastWeek);
- static_cast<int32_t>(gameState.park.numGuestsInParkLastWeek);
if (changeInGuestsInPark > -20)
{
guestChangeModifier++;
@@ -604,7 +604,7 @@ namespace OpenRCT2::Park
}
}
gameState.guestChangeModifier = guestChangeModifier;
gameState.numGuestsInParkLastWeek = gameState.park.numGuestsInPark;
gameState.park.numGuestsInParkLastWeek = gameState.park.numGuestsInPark;
// Update park rating, guests in park and current cash history
constexpr auto ratingHistorySize = std::extent_v<decltype(ParkData::RatingHistory)>;

View File

@@ -85,6 +85,8 @@ namespace OpenRCT2::Park
uint32_t guestsInParkHistory[kGuestsInParkHistorySize];
uint32_t numGuestsInPark;
uint32_t numGuestsHeadingForPark;
uint32_t numGuestsInParkLastWeek;
money64 bankLoan;