mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-26 16:24:35 +01:00
Don't Double-Compress Park Chunks in Replay File (#24728)
This commit is contained in:
@@ -177,9 +177,9 @@ namespace OpenRCT2
|
||||
gameState.initialCash = gameState.cash;
|
||||
}
|
||||
|
||||
void Save(GameState_t& gameState, IStream& stream)
|
||||
void Save(GameState_t& gameState, IStream& stream, int16_t compressionLevel)
|
||||
{
|
||||
OrcaStream os(stream, OrcaStream::Mode::WRITING);
|
||||
OrcaStream os(stream, OrcaStream::Mode::WRITING, compressionLevel);
|
||||
|
||||
auto& header = os.GetHeader();
|
||||
header.Magic = kParkFileMagic;
|
||||
@@ -206,10 +206,10 @@ namespace OpenRCT2
|
||||
ReadWritePackedObjectsChunk(os);
|
||||
}
|
||||
|
||||
void Save(GameState_t& gameState, const std::string_view path)
|
||||
void Save(GameState_t& gameState, const std::string_view path, int16_t compressionLevel)
|
||||
{
|
||||
FileStream fs(path, FileMode::write);
|
||||
Save(gameState, fs);
|
||||
Save(gameState, fs, compressionLevel);
|
||||
}
|
||||
|
||||
ScenarioIndexEntry ReadScenarioChunk()
|
||||
@@ -2706,21 +2706,21 @@ namespace OpenRCT2
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void ParkFileExporter::Export(GameState_t& gameState, std::string_view path, int16_t compressionLevel)
|
||||
{
|
||||
auto parkFile = std::make_unique<OpenRCT2::ParkFile>();
|
||||
parkFile->Save(gameState, path, compressionLevel);
|
||||
}
|
||||
|
||||
void ParkFileExporter::Export(GameState_t& gameState, IStream& stream, int16_t compressionLevel)
|
||||
{
|
||||
auto parkFile = std::make_unique<OpenRCT2::ParkFile>();
|
||||
parkFile->ExportObjectsList = ExportObjectsList;
|
||||
parkFile->Save(gameState, stream, compressionLevel);
|
||||
}
|
||||
} // namespace OpenRCT2
|
||||
|
||||
void ParkFileExporter::Export(GameState_t& gameState, std::string_view path)
|
||||
{
|
||||
auto parkFile = std::make_unique<OpenRCT2::ParkFile>();
|
||||
parkFile->Save(gameState, path);
|
||||
}
|
||||
|
||||
void ParkFileExporter::Export(GameState_t& gameState, IStream& stream)
|
||||
{
|
||||
auto parkFile = std::make_unique<OpenRCT2::ParkFile>();
|
||||
parkFile->ExportObjectsList = ExportObjectsList;
|
||||
parkFile->Save(gameState, stream);
|
||||
}
|
||||
|
||||
enum : uint32_t
|
||||
{
|
||||
S6_SAVE_FLAG_EXPORT = 1 << 0,
|
||||
@@ -2766,7 +2766,7 @@ int32_t ScenarioSave(GameState_t& gameState, u8string_view path, int32_t flags)
|
||||
{
|
||||
// s6exporter->SaveGame(path);
|
||||
}
|
||||
parkFile->Save(gameState, path);
|
||||
parkFile->Save(gameState, path, Compression::kZlibDefaultCompressionLevel);
|
||||
result = true;
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
|
||||
Reference in New Issue
Block a user