diff --git a/src/openrct2/ParkFile.cpp b/src/openrct2/ParkFile.cpp index b9970819a5..042aea2719 100644 --- a/src/openrct2/ParkFile.cpp +++ b/src/openrct2/ParkFile.cpp @@ -134,11 +134,14 @@ namespace OpenRCT2 WriteAuthoringChunk(); WriteObjectsChunk(); + WriteTilesChunk(); WriteScenarioChunk(); WriteGeneralChunk(); - WriteInterfaceChunk(); + WriteParkChunk(); WriteClimateChunk(); - WriteTilesChunk(); + WriteResearch(); + WriteNotifications(); + WriteInterfaceChunk(); // TODO avoid copying the buffer auto uncompressedData = _buffer.str(); @@ -427,6 +430,8 @@ namespace OpenRCT2 WriteValue(gCurrentProfit); WriteValue(gTotalAdmissions); WriteValue(gTotalIncomeFromAdmissions); + + EndChunk(); } void WriteResearch() @@ -685,12 +690,15 @@ namespace OpenRCT2 gNextGuestNumber = ReadValue(); size_t numPeepSpawns = ReadArray(); + gPeepSpawns.clear(); for (size_t i = 0; i < numPeepSpawns; i++) { - gPeepSpawns[i].x = ReadValue(); - gPeepSpawns[i].y = ReadValue(); - gPeepSpawns[i].z = ReadValue(); - gPeepSpawns[i].direction = ReadValue(); + PeepSpawn spawn; + spawn.x = ReadValue(); + spawn.y = ReadValue(); + spawn.z = ReadValue(); + spawn.direction = ReadValue(); + gPeepSpawns.push_back(spawn); } gLandPrice = ReadValue();