From 90864279f4a0761ff43fc9c412b6c76d98a0a019 Mon Sep 17 00:00:00 2001 From: whiterandrek Date: Sat, 26 May 2018 02:27:15 +0300 Subject: PINK: fixes to save system --- engines/pink/objects/pages/game_page.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'engines/pink/objects/pages') diff --git a/engines/pink/objects/pages/game_page.cpp b/engines/pink/objects/pages/game_page.cpp index 883e129670..f6b843fae2 100644 --- a/engines/pink/objects/pages/game_page.cpp +++ b/engines/pink/objects/pages/game_page.cpp @@ -169,7 +169,7 @@ void GamePage::loadState(Archive &archive) { uint size = archive.readDWORD(); _memFile = new Common::MemoryReadWriteStream(DisposeAfterUse::YES); for (uint i = 0; i < size; ++i) { - _memFile->writeByte(_memFile->readByte()); + _memFile->writeByte(archive.readByte()); } } @@ -177,12 +177,15 @@ void GamePage::saveState(Archive &archive) { if (this == _module->getPage()) { saveStateToMem(); archive.writeDWORD(_memFile->size()); + archive.getWriteStream()->write(_memFile->getData(), _memFile->size()); + delete _memFile; } else { if (_memFile != nullptr) { archive.writeDWORD(_memFile->size()); archive.getWriteStream()->write(_memFile->getData(), _memFile->size()); - } else + } else { archive.writeDWORD(0); + } } } -- cgit v1.2.3