aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorTravis Howell2006-12-11 00:40:10 +0000
committerTravis Howell2006-12-11 00:40:10 +0000
commit97e2c59dbbae9728f081f6d781c9b7de6a17f060 (patch)
treefe1a0d99cb0f31d619f9718c415046a2c063fab9 /engines/scumm
parent8a32720213097be7658bf19e04f166bcfb9b63e8 (diff)
downloadscummvm-rg350-97e2c59dbbae9728f081f6d781c9b7de6a17f060.tar.gz
scummvm-rg350-97e2c59dbbae9728f081f6d781c9b7de6a17f060.tar.bz2
scummvm-rg350-97e2c59dbbae9728f081f6d781c9b7de6a17f060.zip
Fix error when exiting original options screen of COMI. BlastObjects are removed, right after checking for load/save game, in original COMI.
svn-id: r24833
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/intern.h2
-rw-r--r--engines/scumm/scumm.cpp9
2 files changed, 10 insertions, 1 deletions
diff --git a/engines/scumm/intern.h b/engines/scumm/intern.h
index ba4e2d995d..c99042ebc8 100644
--- a/engines/scumm/intern.h
+++ b/engines/scumm/intern.h
@@ -961,6 +961,8 @@ protected:
virtual void executeOpcode(byte i);
virtual const char *getOpcodeDesc(byte i);
+ virtual void scummLoop_handleSaveLoad();
+
virtual void setupScummVars();
virtual void resetScummVars();
virtual void decodeParseString(int m, int n);
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 48b8f056b8..3e52b8ba25 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1734,7 +1734,6 @@ int ScummEngine::scummLoop(int delta) {
load_game:
scummLoop_handleSaveLoad();
-
if (_completeScreenRedraw) {
_charset->clearCharsetMask();
_charset->_hasMask = false;
@@ -1938,6 +1937,14 @@ void ScummEngine::scummLoop_handleSaveLoad() {
}
}
+#ifndef DISABLE_SCUMM_7_8
+void ScummEngine_v8::scummLoop_handleSaveLoad() {
+ ScummEngine::scummLoop_handleSaveLoad();
+
+ removeBlastObjects();
+}
+#endif
+
void ScummEngine::scummLoop_handleDrawing() {
if (camera._cur != camera._last || _bgNeedsRedraw || _fullRedraw) {
redrawBGAreas();