aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Brown2003-07-31 15:32:57 +0000
committerJames Brown2003-07-31 15:32:57 +0000
commit636b8458b330d52339efd3081dd4843a0976aa81 (patch)
tree219673f20ec81ba4ce98fe4efc9ff909b6b54ad4
parentb11c3a6c0bfd75a4716e1ac17b355d3edcb2f705 (diff)
downloadscummvm-rg350-636b8458b330d52339efd3081dd4843a0976aa81.tar.gz
scummvm-rg350-636b8458b330d52339efd3081dd4843a0976aa81.tar.bz2
scummvm-rg350-636b8458b330d52339efd3081dd4843a0976aa81.zip
Forward-port ZakV2 hacks from 0.5.0 branch
svn-id: r9332
-rw-r--r--scumm/script_v5.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp
index 4c5c602194..6f1458c900 100644
--- a/scumm/script_v5.cpp
+++ b/scumm/script_v5.cpp
@@ -1303,6 +1303,14 @@ void Scumm_v5::o5_loadRoom() {
// and others. OTOH, it seems to cause a problem in newer games.
if (!(_features & GF_SMALL_HEADER) || room != _currentRoom)
startScene(room, 0, 0);
+
+ // FIXME: Incredibly nasty evil hack to fix bug #770699 (During meeting
+ // with Guru, script 42 changes between room 0 and room 19 to create
+ // 'some time later' effects. On switching back to room 19, the camera
+ // reverts to 0,0 - Added for 0.5.0, should be fixed properly
+ if (_gameId == GID_ZAK && (vm.slot[_currentScript].number == 42) && (room == 19))
+ setCameraAt(480, 0);
+
_fullRedraw = 1;
}
@@ -2130,6 +2138,16 @@ void Scumm_v5::o5_stopScript() {
int script;
script = getVarOrDirectByte(0x80);
+
+ if ((_gameId == GID_ZAK) && (_roomResource == 7) && (vm.slot[_currentScript].number == 10001)) {
+ // FIXME: Nasty hack for bug #771499
+ // Don't let the exit script for room 7 stop the buy script (24),
+ // switching to the number selection keypad (script 15)
+ if ((script == 24) && isScriptRunning(15))
+ return;
+ }
+
+
if (!script)
stopObjectCode();
else