diff options
author | Arnaud Boutonné | 2010-11-26 23:57:39 +0000 |
---|---|---|
committer | Arnaud Boutonné | 2010-11-26 23:57:39 +0000 |
commit | b70aa0d419611e3314b78eb02271a76be0ea5319 (patch) | |
tree | 16610e4c72c9ce11cac790dfa9d3081e05ae70c5 | |
parent | fd6157e77897380df5c405fe073d5bb728323d8d (diff) | |
download | scummvm-rg350-b70aa0d419611e3314b78eb02271a76be0ea5319.tar.gz scummvm-rg350-b70aa0d419611e3314b78eb02271a76be0ea5319.tar.bz2 scummvm-rg350-b70aa0d419611e3314b78eb02271a76be0ea5319.zip |
HUGO: Add Win save/restore behavior to the Dos versions
(useful to debug the lake screen)
svn-id: r54505
-rw-r--r-- | engines/hugo/parser_v1d.cpp | 6 | ||||
-rw-r--r-- | engines/hugo/parser_v2d.cpp | 8 | ||||
-rw-r--r-- | engines/hugo/parser_v3d.cpp | 7 |
3 files changed, 21 insertions, 0 deletions
diff --git a/engines/hugo/parser_v1d.cpp b/engines/hugo/parser_v1d.cpp index 0a319fd2c1..9514f88178 100644 --- a/engines/hugo/parser_v1d.cpp +++ b/engines/hugo/parser_v1d.cpp @@ -322,12 +322,18 @@ void Parser_v1d::lineHandler() { else // _vm->_file->saveOrRestore(true); warning("STUB: saveOrRestore()"); + // HACK: Currently use Win code + _vm->_file->saveGame(gameStatus.saveSlot, "Current game"); return; } if (!strcmp("restore", _line)) { // _vm->_file->saveOrRestore(false); warning("STUB: saveOrRestore()"); + // HACK: Currently use Win code + _vm->_file->restoreGame(gameStatus.saveSlot); + _vm->_scheduler->restoreScreen(*_vm->_screen_p); + gameStatus.viewState = V_PLAY; return; } diff --git a/engines/hugo/parser_v2d.cpp b/engines/hugo/parser_v2d.cpp index bbec03b8a8..802f69056b 100644 --- a/engines/hugo/parser_v2d.cpp +++ b/engines/hugo/parser_v2d.cpp @@ -36,6 +36,8 @@ #include "hugo/hugo.h" #include "hugo/parser.h" +#include "hugo/file.h" +#include "hugo/schedule.h" #include "hugo/util.h" #include "hugo/object.h" @@ -75,6 +77,8 @@ void Parser_v2d::lineHandler() { else // _vm->_file->saveOrRestore(true); warning("STUB: saveOrRestore()"); + // HACK: Currently use Win code + _vm->_file->saveGame(gameStatus.saveSlot, "Current game"); return; } @@ -82,6 +86,10 @@ void Parser_v2d::lineHandler() { _config.soundFl = false; // _vm->_file->saveOrRestore(false); warning("STUB: saveOrRestore()"); + // HACK: Currently use Win code + _vm->_file->restoreGame(gameStatus.saveSlot); + _vm->_scheduler->restoreScreen(*_vm->_screen_p); + gameStatus.viewState = V_PLAY; return; } diff --git a/engines/hugo/parser_v3d.cpp b/engines/hugo/parser_v3d.cpp index 6a12252600..54c3e830ce 100644 --- a/engines/hugo/parser_v3d.cpp +++ b/engines/hugo/parser_v3d.cpp @@ -36,6 +36,7 @@ #include "hugo/hugo.h" #include "hugo/parser.h" +#include "hugo/file.h" #include "hugo/schedule.h" #include "hugo/util.h" #include "hugo/sound.h" @@ -128,6 +129,8 @@ void Parser_v3d::lineHandler() { else // _vm->_file->saveOrRestore(true); warning("STUB: saveOrRestore()"); + // HACK: Currently use Win code + _vm->_file->saveGame(gameStatus.saveSlot, "Current game"); return; } @@ -135,6 +138,10 @@ void Parser_v3d::lineHandler() { _config.soundFl = false; // _vm->_file->saveOrRestore(false); warning("STUB: saveOrRestore()"); + // HACK: Currently use Win code + _vm->_file->restoreGame(gameStatus.saveSlot); + _vm->_scheduler->restoreScreen(*_vm->_screen_p); + gameStatus.viewState = V_PLAY; return; } |