Load and save interface chunk

This commit is contained in:
Ted John 2018-12-15 14:43:24 +00:00
parent 2fc8e06a95
commit 3aaef84392
2 changed files with 27 additions and 0 deletions

View File

@ -68,6 +68,7 @@ void ParkFile::Save(const std::string_view& path)
WriteAuthoringChunk();
WriteObjectsChunk();
WriteGeneralChunk();
WriteInterfaceChunk();
WriteTilesChunk();
// TODO avoid copying the buffer
@ -233,6 +234,17 @@ void ParkFile::WriteGeneralChunk()
EndChunk();
}
void ParkFile::WriteInterfaceChunk()
{
BeginChunk(ParkFileChunkType::INTERFACE);
WriteValue(gSavedViewX);
WriteValue(gSavedViewY);
WriteValue(gSavedViewZoom);
WriteValue(gSavedViewRotation);
WriteValue<uint32_t>(gLastEntranceStyle);
EndChunk();
}
void ParkFile::WriteTilesChunk()
{
BeginChunk(ParkFileChunkType::TILES);
@ -299,6 +311,7 @@ void ParkFile::Import()
{
ReadTilesChunk();
ReadGeneralChunk();
ReadInterfaceChunk();
}
ParkFile::Header ParkFile::ReadHeader(std::istream& fs)
@ -393,6 +406,18 @@ void ParkFile::ReadGeneralChunk()
}
}
void ParkFile::ReadInterfaceChunk()
{
if (SeekChunk(ParkFileChunkType::INTERFACE))
{
gSavedViewX = ReadValue<uint16_t>();
gSavedViewY = ReadValue<uint16_t>();
gSavedViewZoom = ReadValue<uint8_t>();
gSavedViewRotation = ReadValue<uint8_t>();
gLastEntranceStyle = ReadValue<uint32_t>();
}
}
void ParkFile::ReadTilesChunk()
{
if (SeekChunk(ParkFileChunkType::TILES))

View File

@ -68,9 +68,11 @@ namespace OpenRCT2
void WriteAuthoringChunk();
void WriteObjectsChunk();
void WriteGeneralChunk();
void WriteInterfaceChunk();
void WriteTilesChunk();
void ReadGeneralChunk();
void ReadInterfaceChunk();
void ReadTilesChunk();
Header ReadHeader(std::istream& fs);