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

Fix #25410: Guest flags (e.g. tracking) not imported from RCT1

This commit is contained in:
Gymnasiast
2025-10-25 01:34:06 +02:00
parent 98a57b4c07
commit c01c5002bb
3 changed files with 17 additions and 4 deletions

View File

@@ -29,6 +29,7 @@
- Fix: [#25388] The Shortcut Keys window uses the wrong colours for separators, scrollbars and buttons.
- Fix: [#25401] Mazes can be built 2 units higher than their support limits.
- Fix: [#25404] Guests that have been removed with the remove all guests cheat will still be visible if they were sliding down the Spiral Slide.
- Fix: [#25410] Guest flags (e.g. tracking) not imported from RCT1.
0.4.27 (2025-10-04)
------------------------------------------------------------------------

View File

@@ -658,10 +658,16 @@ namespace OpenRCT2::RCT1
uint8_t StaffOrders; // 0xC6
uint8_t PeepIsLostCountdown; // 0xC6
};
RCT12RideId Photo1RideRef; // 0xC7
uint8_t PeepFlags; // 0xC8
uint8_t padC9; // 0xC9
uint16_t itemFlagsBase; // 0xCA
RCT12RideId Photo1RideRef; // 0xC7
union
{
uint32_t peepFlagsLL; // 0xC8
struct
{
uint16_t peepFlagsBaseAA; // 0xC8
uint16_t itemFlagsBase; // 0xCA
};
};
RCT12xyzd8 PathfindGoal; // 0xCC
RCT12xyzd8 PathfindHistory[4]; // 0xD0
uint8_t NoActionFrameNum; // 0xE0
@@ -695,10 +701,15 @@ namespace OpenRCT2::RCT1
uint8_t FavouriteRideRating; // 0xFA
uint8_t PadFB;
uint32_t itemFlagsAALL; // 0xFC
uint64_t GetItemFlags(bool isBase) const
{
return isBase ? itemFlagsBase : itemFlagsAALL;
}
uint32_t getPeepFlags(bool isLL) const
{
return isLL ? peepFlagsLL : peepFlagsBaseAA;
}
};
static_assert(sizeof(Peep) == 0x100);

View File

@@ -2982,6 +2982,7 @@ namespace OpenRCT2::RCT1
OpenRCT2::RideUse::GetTypeHistory().Set(dst->Id, RCT12GetRideTypesBeenOn(src));
dst->Photo1RideRef = RCT12RideIdToOpenRCT2RideId(src->Photo1RideRef);
dst->PeepFlags = src->getPeepFlags(_gameVersion == FILE_VERSION_RCT1_LL);
for (size_t i = 0; i < std::size(src->Thoughts); i++)
{