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/stateloader.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/stateloader.cpp')
-rw-r--r-- | engines/fullpipe/stateloader.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/fullpipe/stateloader.cpp b/engines/fullpipe/stateloader.cpp index 1e1cf35abd..5142d2bfe2 100644 --- a/engines/fullpipe/stateloader.cpp +++ b/engines/fullpipe/stateloader.cpp @@ -37,6 +37,15 @@ namespace Fullpipe { +void gameLoaderSavegameCallback(MfcArchive *archive, bool mode) { + if (mode) + for (int i = 0; i < 200; i++) + archive->writeUint32LE(g_fp->_mapTable[i]); + else + for (int i = 0; i < 200; i++) + g_fp->_mapTable[i] = archive->readUint32LE(); +} + bool FullpipeEngine::loadGam(const char *fname, int scene) { _gameLoader = new GameLoader(); @@ -60,7 +69,7 @@ bool FullpipeEngine::loadGam(const char *fname, int scene) { // _sceneSwitcher = sceneSwitcher; // substituted with direct call _gameLoader->_preloadCallback = preloadCallback; - // _savegameCallback = gameLoaderSavegameCallback; // TODO + _gameLoader->_savegameCallback = gameLoaderSavegameCallback; _aniMan = accessScene(SC_COMMON)->getAniMan(); _scene2 = 0; |