aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Boutonné2010-11-26 23:57:39 +0000
committerArnaud Boutonné2010-11-26 23:57:39 +0000
commitb70aa0d419611e3314b78eb02271a76be0ea5319 (patch)
tree16610e4c72c9ce11cac790dfa9d3081e05ae70c5
parentfd6157e77897380df5c405fe073d5bb728323d8d (diff)
downloadscummvm-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.cpp6
-rw-r--r--engines/hugo/parser_v2d.cpp8
-rw-r--r--engines/hugo/parser_v3d.cpp7
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;
}