diff options
author | Johannes Schickel | 2008-11-09 13:00:40 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-11-09 13:00:40 +0000 |
commit | 36de1204e343743b4c86d8b30113640b3e697c7c (patch) | |
tree | a72435f476a27abd0982c4796f1d04679091b51f /engines/kyra/gui_hof.cpp | |
parent | cb581c61b26269296e3e9f4837ae793e562a84db (diff) | |
download | scummvm-rg350-36de1204e343743b4c86d8b30113640b3e697c7c.tar.gz scummvm-rg350-36de1204e343743b4c86d8b30113640b3e697c7c.tar.bz2 scummvm-rg350-36de1204e343743b4c86d8b30113640b3e697c7c.zip |
- Implemented Engine::saveGameState for KYRA
- Changed internal save/load API to use slots instead of filename strings
- Changed internal save/load API to use Common::Error
svn-id: r34952
Diffstat (limited to 'engines/kyra/gui_hof.cpp')
-rw-r--r-- | engines/kyra/gui_hof.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/engines/kyra/gui_hof.cpp b/engines/kyra/gui_hof.cpp index 79db2b8b80..1b3413e724 100644 --- a/engines/kyra/gui_hof.cpp +++ b/engines/kyra/gui_hof.cpp @@ -785,8 +785,8 @@ int GUI_HoF::optionsButton(Button *button) { if (!_loadedSave && _reloadTemporarySave) { _vm->_unkSceneScreenFlag1 = true; - _vm->loadGame(_vm->getSavegameFilename(999)); - _vm->_saveFileMan->removeSavefile(_vm->getSavegameFilename(999)); + _vm->loadGameState(999); + //_vm->_saveFileMan->removeSavefile(_vm->getSavegameFilename(999)); _vm->_unkSceneScreenFlag1 = false; } @@ -1004,7 +1004,14 @@ int GUI_HoF::gameOptionsTalkie(Button *caller) { if (_vm->_lang != lang) { _reloadTemporarySave = true; - _vm->saveGame(_vm->getSavegameFilename(999), "Temporary Kyrandia 2 Savegame", 0); + + Graphics::Surface thumb; + createScreenThumbnail(thumb); + _vm->saveGameState(999, "Autosave", &thumb); + thumb.free(); + + _vm->_lastAutosave = _vm->_system->getMillis(); + _vm->loadCCodeBuffer("C_CODE.XXX"); if (_vm->_flags.isTalkie) _vm->loadOptionsBuffer("OPTIONS.XXX"); @@ -1188,7 +1195,7 @@ int GUI_HoF::loadMenu(Button *caller) { } else if (_vm->_gameToLoad >= 0) { restorePage1(_vm->_screenBuffer); restorePalette(); - _vm->loadGame(_vm->getSavegameFilename(_vm->_gameToLoad)); + _vm->loadGameState(_vm->_gameToLoad); if (_vm->_gameToLoad == 0) { _restartGame = true; for (int i = 0; i < 23; ++i) |