diff options
author | Eugene Sandulenko | 2016-09-18 09:32:58 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-09-18 09:37:37 +0200 |
commit | b413d01113d39d74639cb8f068efb0f14110d646 (patch) | |
tree | 14ac49649cda792531f53acac8efca363d58bc54 /engines/fullpipe/gameloader.cpp | |
parent | c42dfbc4968ff2cdc7ad1ed316164d4cab20b550 (diff) | |
download | scummvm-rg350-b413d01113d39d74639cb8f068efb0f14110d646.tar.gz scummvm-rg350-b413d01113d39d74639cb8f068efb0f14110d646.tar.bz2 scummvm-rg350-b413d01113d39d74639cb8f068efb0f14110d646.zip |
FULLPIPE: Implement map saving and save obfuscation
Diffstat (limited to 'engines/fullpipe/gameloader.cpp')
-rw-r--r-- | engines/fullpipe/gameloader.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/engines/fullpipe/gameloader.cpp b/engines/fullpipe/gameloader.cpp index 8524a8ddf5..bbe99ab9f5 100644 --- a/engines/fullpipe/gameloader.cpp +++ b/engines/fullpipe/gameloader.cpp @@ -673,11 +673,14 @@ void GameLoader::writeSavegame(Scene *sc, const char *fname) { } } - //header.encSize = GameLoader_encryptSavegame((GameLoader *)header.unkField, (int)&cmemfile); - //CFile::Write((int)&cfile, (int)&header, header.saveSize); + header.encSize = stream.size(); - //if (_savegameCallback) - // _savegameCallback(saveFile, 1); + // Now obfuscate the data + for (uint i = 0; i < header.encSize; i++) + stream.getData()[i] += i & 0x7f; + + if (_savegameCallback) + _savegameCallback(archive, true); // Now dump it into save file Common::OutSaveFile *saveFile = g_system->getSavefileManager()->openForSaving(fname); |