mirror of https://github.com/OpenRCT2/OpenRCT2.git
Implement saving / loading of banners
This commit is contained in:
parent
bc66342521
commit
cb44c634e0
|
@ -97,6 +97,7 @@ namespace OpenRCT2
|
|||
{
|
||||
auto& os = *_os;
|
||||
ReadWriteTilesChunk(os);
|
||||
ReadWriteBannersChunk(os);
|
||||
ReadWriteRidesChunk(os);
|
||||
ReadWriteThingsChunk(os);
|
||||
ReadWriteScenarioChunk(os);
|
||||
|
@ -127,6 +128,7 @@ namespace OpenRCT2
|
|||
ReadWriteAuthoringChunk(os);
|
||||
ReadWriteObjectsChunk(os);
|
||||
ReadWriteTilesChunk(os);
|
||||
ReadWriteBannersChunk(os);
|
||||
ReadWriteRidesChunk(os);
|
||||
ReadWriteThingsChunk(os);
|
||||
ReadWriteScenarioChunk(os);
|
||||
|
@ -452,6 +454,37 @@ namespace OpenRCT2
|
|||
}
|
||||
}
|
||||
|
||||
void ReadWriteBannersChunk(OrcaStream& os)
|
||||
{
|
||||
os.ReadWriteChunk(ParkFileChunkType::BANNERS, [](OrcaStream::ChunkStream& cs) {
|
||||
std::vector<Banner> banners;
|
||||
if (cs.GetMode() == OrcaStream::Mode::WRITING)
|
||||
{
|
||||
for (BannerIndex i = 0; i < MAX_BANNERS; i++)
|
||||
{
|
||||
banners.push_back(*GetBanner(i));
|
||||
}
|
||||
}
|
||||
cs.ReadWriteVector(banners, [&cs](Banner& banner) {
|
||||
cs.ReadWrite(banner.type);
|
||||
cs.ReadWrite(banner.flags);
|
||||
cs.ReadWrite(banner.text);
|
||||
cs.ReadWrite(banner.colour);
|
||||
cs.ReadWrite(banner.ride_index);
|
||||
cs.ReadWrite(banner.text_colour);
|
||||
cs.ReadWrite(banner.position);
|
||||
});
|
||||
if (cs.GetMode() == OrcaStream::Mode::READING)
|
||||
{
|
||||
for (BannerIndex i = 0; i < MAX_BANNERS; i++)
|
||||
{
|
||||
auto banner = GetBanner(i);
|
||||
*banner = banners[i];
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void ReadWriteRidesChunk(OrcaStream& os)
|
||||
{
|
||||
os.ReadWriteChunk(ParkFileChunkType::RIDES, [](OrcaStream::ChunkStream& cs) {
|
||||
|
|
Loading…
Reference in New Issue