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

Pass GameState on when importing entities from save files

This commit is contained in:
Aaron van Geffen
2025-08-27 14:04:08 +02:00
parent 353f444057
commit db5b98f702
3 changed files with 76 additions and 76 deletions

View File

@@ -2155,15 +2155,15 @@ namespace OpenRCT2
}
template<typename T>
void WriteEntitiesOfType(OrcaStream& os, OrcaStream::ChunkStream& cs);
void WriteEntitiesOfType(GameState_t& gameState, OrcaStream& os, OrcaStream::ChunkStream& cs);
template<typename... T>
void WriteEntitiesOfTypes(OrcaStream& os, OrcaStream::ChunkStream& cs);
void WriteEntitiesOfTypes(GameState_t& gameState, OrcaStream& os, OrcaStream::ChunkStream& cs);
template<typename T>
void ReadEntitiesOfType(OrcaStream& os, OrcaStream::ChunkStream& cs);
void ReadEntitiesOfType(GameState_t& gameState, OrcaStream& os, OrcaStream::ChunkStream& cs);
template<typename... T>
void ReadEntitiesOfTypes(OrcaStream& os, OrcaStream::ChunkStream& cs);
void ReadEntitiesOfTypes(GameState_t& gameState, OrcaStream& os, OrcaStream::ChunkStream& cs);
void ReadWriteEntitiesChunk(GameState_t& gameState, OrcaStream& os);
@@ -2637,7 +2637,7 @@ namespace OpenRCT2
}
template<typename T>
void ParkFile::WriteEntitiesOfType(OrcaStream& os, OrcaStream::ChunkStream& cs)
void ParkFile::WriteEntitiesOfType(GameState_t& gameState, OrcaStream& os, OrcaStream::ChunkStream& cs)
{
uint16_t count = GetEntityListCount(T::cEntityType);
cs.write(T::cEntityType);
@@ -2650,13 +2650,13 @@ namespace OpenRCT2
}
template<typename... T>
void ParkFile::WriteEntitiesOfTypes(OrcaStream& os, OrcaStream::ChunkStream& cs)
void ParkFile::WriteEntitiesOfTypes(GameState_t& gameState, OrcaStream& os, OrcaStream::ChunkStream& cs)
{
(WriteEntitiesOfType<T>(os, cs), ...);
(WriteEntitiesOfType<T>(gameState, os, cs), ...);
}
template<typename T>
void ParkFile::ReadEntitiesOfType(OrcaStream& os, OrcaStream::ChunkStream& cs)
void ParkFile::ReadEntitiesOfType(GameState_t& gameState, OrcaStream& os, OrcaStream::ChunkStream& cs)
{
[[maybe_unused]] auto t = cs.read<EntityType>();
assert(t == T::cEntityType);
@@ -2677,9 +2677,9 @@ namespace OpenRCT2
}
template<typename... T>
void ParkFile::ReadEntitiesOfTypes(OrcaStream& os, OrcaStream::ChunkStream& cs)
void ParkFile::ReadEntitiesOfTypes(GameState_t& gameState, OrcaStream& os, OrcaStream::ChunkStream& cs)
{
(ReadEntitiesOfType<T>(os, cs), ...);
(ReadEntitiesOfType<T>(gameState, os, cs), ...);
}
void ParkFile::ReadWriteEntitiesChunk(GameState_t& gameState, OrcaStream& os)
@@ -2695,7 +2695,7 @@ namespace OpenRCT2
{
ReadEntitiesOfTypes<
Vehicle, Guest, Staff, Litter, SteamParticle, MoneyEffect, VehicleCrashParticle, ExplosionCloud,
CrashSplashParticle, ExplosionFlare, JumpingFountain, Balloon, Duck>(os, cs);
CrashSplashParticle, ExplosionFlare, JumpingFountain, Balloon, Duck>(gameState, os, cs);
auto version = os.getHeader().targetVersion;
if (version < kPeepAnimationObjectsVersion)
@@ -2707,7 +2707,7 @@ namespace OpenRCT2
{
WriteEntitiesOfTypes<
Vehicle, Guest, Staff, Litter, SteamParticle, MoneyEffect, VehicleCrashParticle, ExplosionCloud,
CrashSplashParticle, ExplosionFlare, JumpingFountain, Balloon, Duck>(os, cs);
CrashSplashParticle, ExplosionFlare, JumpingFountain, Balloon, Duck>(gameState, os, cs);
}
});
}