aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/tinsel/saveload.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/tinsel/saveload.cpp b/engines/tinsel/saveload.cpp
index 62bcc732a8..efa6e0c8a8 100644
--- a/engines/tinsel/saveload.cpp
+++ b/engines/tinsel/saveload.cpp
@@ -84,6 +84,8 @@ extern void syncGlobInfo(Common::Serializer &s);
// in POLYGONS.C
extern void syncPolyInfo(Common::Serializer &s);
+extern int sceneCtr;
+
//----------------- LOCAL DEFINES --------------------
struct SaveGameHeader {
@@ -510,6 +512,10 @@ save_failure:
void ProcessSRQueue(void) {
switch (SRstate) {
case SR_DORESTORE:
+ // If a load has been done directly from title screens, set a larger value for scene ctr so the
+ // code used to skip the title screens in Discworld 1 gets properly disabled
+ if (sceneCtr < 10) sceneCtr = 10;
+
if (DoRestore()) {
DoRestoreScene(srsd, false);
}