diff options
author | Max Horn | 2009-04-19 01:01:54 +0000 |
---|---|---|
committer | Max Horn | 2009-04-19 01:01:54 +0000 |
commit | 3044593da01c055ad274b2ae552b8a285ce4fdb0 (patch) | |
tree | cfea7dd1e502ab5fba1f3e472693b6617f353eb7 /engines/scumm/scumm.cpp | |
parent | 0e82403daa80424fb9c6089632f7dcfd9015689d (diff) | |
download | scummvm-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.cpp | 15 |
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); } |