mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-23 15:52:55 +01:00
Fix #20198: Guest inventory from RCT1 base game saves is not imported
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
- Improved: [#25349] ‘Recent Messages’ window can now be fully themed.
|
||||
- Change: [#25089] Peep actions and animations that cause them to stop moving no longer trigger when they are on a level crossing.
|
||||
- Change: [#25337] Placing track designs with scenery that is obstructed no longer disables all of the scenery.
|
||||
- Fix: [#20198] Guest inventory from RCT1 base game saves is not imported.
|
||||
- Fix: [#20486] Multiplayer desync when placing track designs without any scenery.
|
||||
- Fix: [#22779, #25330] Incorrect queue paths in Nevermore Park and Six Flags Holland scenarios (bug in the original scenarios).
|
||||
- Fix: [#24975] The Corkscrew and LIM Launched (original bug) roller coaster quarter loop tunnels are too high.
|
||||
|
||||
@@ -659,7 +659,9 @@ namespace OpenRCT2::RCT1
|
||||
uint8_t PeepIsLostCountdown; // 0xC6
|
||||
};
|
||||
RCT12RideId Photo1RideRef; // 0xC7
|
||||
uint32_t PeepFlags; // 0xC8
|
||||
uint8_t PeepFlags; // 0xC8
|
||||
uint8_t padC9; // 0xC9
|
||||
uint16_t itemFlagsBase; // 0xCA
|
||||
RCT12xyzd8 PathfindGoal; // 0xCC
|
||||
RCT12xyzd8 PathfindHistory[4]; // 0xD0
|
||||
uint8_t NoActionFrameNum; // 0xE0
|
||||
@@ -692,10 +694,10 @@ namespace OpenRCT2::RCT1
|
||||
RCT12RideId FavouriteRide; // 0xF9
|
||||
uint8_t FavouriteRideRating; // 0xFA
|
||||
uint8_t PadFB;
|
||||
uint32_t ItemStandardFlags; // 0xFC
|
||||
uint64_t GetItemFlags() const
|
||||
uint32_t itemFlagsAALL; // 0xFC
|
||||
uint64_t GetItemFlags(bool isBase) const
|
||||
{
|
||||
return ItemStandardFlags;
|
||||
return isBase ? itemFlagsBase : itemFlagsAALL;
|
||||
}
|
||||
};
|
||||
static_assert(sizeof(Peep) == 0x100);
|
||||
|
||||
@@ -2933,18 +2933,20 @@ namespace OpenRCT2::RCT1
|
||||
dst->OutsideOfPark = static_cast<bool>(src->OutsideOfPark);
|
||||
dst->TimeToConsume = src->TimeToConsume;
|
||||
dst->VandalismSeen = src->VandalismSeen;
|
||||
dst->UmbrellaColour = RCT1::GetColour(src->UmbrellaColour);
|
||||
dst->HatColour = RCT1::GetColour(src->HatColour);
|
||||
|
||||
// Balloons were always blue in RCT1 without AA/LL
|
||||
// Balloons were always blue in RCT1 without AA/LL, umbrellas always red
|
||||
if (_gameVersion == FILE_VERSION_RCT1)
|
||||
{
|
||||
dst->UmbrellaColour = COLOUR_BRIGHT_RED;
|
||||
dst->BalloonColour = COLOUR_LIGHT_BLUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
dst->UmbrellaColour = RCT1::GetColour(src->UmbrellaColour);
|
||||
dst->BalloonColour = RCT1::GetColour(src->BalloonColour);
|
||||
}
|
||||
dst->HatColour = RCT1::GetColour(src->HatColour);
|
||||
|
||||
dst->Happiness = src->Happiness;
|
||||
dst->HappinessTarget = src->HappinessTarget;
|
||||
dst->Nausea = src->Nausea;
|
||||
@@ -3012,7 +3014,7 @@ namespace OpenRCT2::RCT1
|
||||
dst->FavouriteRideRating = 0;
|
||||
}
|
||||
|
||||
dst->SetItemFlags(src->GetItemFlags());
|
||||
dst->SetItemFlags(src->GetItemFlags(_gameVersion == FILE_VERSION_RCT1));
|
||||
}
|
||||
|
||||
template<>
|
||||
|
||||
Reference in New Issue
Block a user