aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/gui_hof.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2008-11-09 13:00:40 +0000
committerJohannes Schickel2008-11-09 13:00:40 +0000
commit36de1204e343743b4c86d8b30113640b3e697c7c (patch)
treea72435f476a27abd0982c4796f1d04679091b51f /engines/kyra/gui_hof.cpp
parentcb581c61b26269296e3e9f4837ae793e562a84db (diff)
downloadscummvm-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.cpp15
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)