aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2009-01-20 00:33:26 +0000
committerFilippos Karapetis2009-01-20 00:33:26 +0000
commit85d40630004d5a615a7708d76f99d4507886c396 (patch)
tree8c31311b8044badb06ae7ec28af95b7ecca1b604 /engines
parenta27e456ace3d8e6a2bc080a6282c781989b609b0 (diff)
downloadscummvm-rg350-85d40630004d5a615a7708d76f99d4507886c396.tar.gz
scummvm-rg350-85d40630004d5a615a7708d76f99d4507886c396.tar.bz2
scummvm-rg350-85d40630004d5a615a7708d76f99d4507886c396.zip
Some WIP code for the kSupportsLoadingDuringStartup engine feature
svn-id: r35932
Diffstat (limited to 'engines')
-rw-r--r--engines/tinsel/drives.cpp1
-rw-r--r--engines/tinsel/tinsel.cpp9
2 files changed, 8 insertions, 2 deletions
diff --git a/engines/tinsel/drives.cpp b/engines/tinsel/drives.cpp
index 2e87eb1715..05f6445e29 100644
--- a/engines/tinsel/drives.cpp
+++ b/engines/tinsel/drives.cpp
@@ -32,6 +32,7 @@
namespace Tinsel {
+static bool restoringfromGMM = false;
static char currentCD = '1';
static uint32 cdFlags[] = { fCd1, fCd2, fCd3, fCd4, fCd5, fCd6, fCd7, fCd8 };
diff --git a/engines/tinsel/tinsel.cpp b/engines/tinsel/tinsel.cpp
index 9341b0fe4e..1ddf635c3f 100644
--- a/engines/tinsel/tinsel.cpp
+++ b/engines/tinsel/tinsel.cpp
@@ -104,6 +104,7 @@ void SetNewScene(SCNHANDLE scene, int entrance, int transition);
bool bRestart = false;
bool bHasRestarted = false;
+bool loadingFromGMM = false;
static bool bCuttingScene = false;
@@ -509,7 +510,7 @@ void SetNewScene(SCNHANDLE scene, int entrance, int transition) {
WrapScene();
// If CD change will be required, stick in the scene change scene
- if (CdNumber(scene) != GetCurrentCD()) {
+ if (CdNumber(scene) != GetCurrentCD() || loadingFromGMM) {
// This scene gets delayed
DelayedScene.scene = scene;
DelayedScene.entry = entrance;
@@ -518,6 +519,8 @@ void SetNewScene(SCNHANDLE scene, int entrance, int transition) {
NextScene.scene = hCdChangeScene;
NextScene.entry = CdNumber(scene) - '0';
NextScene.trans = TRANS_FADE;
+
+ loadingFromGMM = false;
return;
}
@@ -997,10 +1000,12 @@ Common::Error TinselEngine::go() {
// when loading the save state.
//
// TODO: This works fine when loading saves, which require a CD change
- // in DW2. For every other save it'll fail though.
+ // in DW2. It will also work for DW1. For every other save it'll fail though.
+
#if 0
if (ConfMan.hasKey("save_slot")) {
loadGameState(ConfMan.getInt("save_slot"));
+ loadingFromGMM = true;
}
#endif