aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
diff options
context:
space:
mode:
authorMax Horn2009-04-19 01:01:54 +0000
committerMax Horn2009-04-19 01:01:54 +0000
commit3044593da01c055ad274b2ae552b8a285ce4fdb0 (patch)
treecfea7dd1e502ab5fba1f3e472693b6617f353eb7 /engines/scumm/scumm.cpp
parent0e82403daa80424fb9c6089632f7dcfd9015689d (diff)
downloadscummvm-rg350-3044593da01c055ad274b2ae552b8a285ce4fdb0.tar.gz
scummvm-rg350-3044593da01c055ad274b2ae552b8a285ce4fdb0.tar.bz2
scummvm-rg350-3044593da01c055ad274b2ae552b8a285ce4fdb0.zip
SCUMM: Moved o5_saveLoadGame and o5_saveLoadVars to ScummEngine_v4 (the highest SCUMM version to implement these opcodes. Actually, our code was bugged in so far as we only ever invoked o5_saveLoadGame in V3 games, never in V4 games (but this properly never mattered ;)
svn-id: r40014
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r--engines/scumm/scumm.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 1443f2e6df..1f63a4cd1f 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -2082,16 +2082,27 @@ void ScummEngine::scummLoop_handleSaveLoad() {
}
}
-void ScummEngine_v5::scummLoop_handleSaveLoad() {
+void ScummEngine_v4::scummLoop_handleSaveLoad() {
// copy saveLoadFlag as handleSaveLoad() resets it
byte saveLoad = _saveLoadFlag;
- ScummEngine::scummLoop_handleSaveLoad();
+ ScummEngine_v5::scummLoop_handleSaveLoad();
// update IQ points after loading
if (saveLoad == 2) {
if (_game.id == GID_INDY3)
updateIQPoints();
+ }
+}
+
+void ScummEngine_v5::scummLoop_handleSaveLoad() {
+ // copy saveLoadFlag as handleSaveLoad() resets it
+ byte saveLoad = _saveLoadFlag;
+
+ ScummEngine::scummLoop_handleSaveLoad();
+
+ // update IQ points after loading
+ if (saveLoad == 2) {
if (_game.id == GID_INDY4)
runScript(145, 0, 0, 0);
}