diff options
author | Max Horn | 2003-04-28 16:57:53 +0000 |
---|---|---|
committer | Max Horn | 2003-04-28 16:57:53 +0000 |
commit | f99f7f3d504630bd7755f9a97be4516be3645492 (patch) | |
tree | 63b882e00bd9e6e931aa0a879267cbc50389835d | |
parent | 33911c29dfb3fdc8920bcdf1aef19a67d2b868ef (diff) | |
download | scummvm-rg350-f99f7f3d504630bd7755f9a97be4516be3645492.tar.gz scummvm-rg350-f99f7f3d504630bd7755f9a97be4516be3645492.tar.bz2 scummvm-rg350-f99f7f3d504630bd7755f9a97be4516be3645492.zip |
hack to get Indydemo to work
svn-id: r7183
-rw-r--r-- | scumm/script.cpp | 5 | ||||
-rw-r--r-- | scumm/scummvm.cpp | 18 |
2 files changed, 12 insertions, 11 deletions
diff --git a/scumm/script.cpp b/scumm/script.cpp index 9cbde710bc..cfe6efecf4 100644 --- a/scumm/script.cpp +++ b/scumm/script.cpp @@ -752,11 +752,12 @@ void Scumm::killScriptsAndResources() { for (i = 1; i < NUM_SCRIPT_SLOT; i++, ss++) { if (ss->where == WIO_ROOM || ss->where == WIO_FLOBJECT) { - if (ss->cutsceneOverride) + if (ss->cutsceneOverride != 0) error("Object %d stopped with active cutscene/override in exit", ss->number); ss->status = ssDead; } else if (ss->where == WIO_LOCAL) { - if (ss->cutsceneOverride) + // HACK to make Indy3 Demo work + if (ss->cutsceneOverride != 0 && !(_gameId == GID_INDY3 && _roomResource == 3)) error("Script %d stopped with active cutscene/override in exit", ss->number); ss->status = ssDead; } diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index 9275fd52ae..e14ab5c4dd 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -730,17 +730,17 @@ void Scumm::startScene(int room, Actor * a, int objectNr) { fadeOut(_switchRoomEffect2); _newEffect = _switchRoomEffect; + ScriptSlot *ss = &vm.slot[_currentScript]; + if (_currentScript != 0xFF) { - if (vm.slot[_currentScript].where == WIO_ROOM || - vm.slot[_currentScript].where == WIO_FLOBJECT) { - if (vm.slot[_currentScript].cutsceneOverride != 0) - error("Object %d stopped with active cutscene/override in exit", - vm.slot[_currentScript].number); + if (ss->where == WIO_ROOM || ss->where == WIO_FLOBJECT) { + if (ss->cutsceneOverride != 0) + error("Object %d stopped with active cutscene/override in exit", ss->number); _currentScript = 0xFF; - } else if (vm.slot[_currentScript].where == WIO_LOCAL) { - if (vm.slot[_currentScript].cutsceneOverride != 0) - error("Script %d stopped with active cutscene/override in exit", - vm.slot[_currentScript].number); + } else if (ss->where == WIO_LOCAL) { + // HACK to make Indy3 Demo work + if (ss->cutsceneOverride != 0 && !(_gameId == GID_INDY3 && _roomResource == 3)) + error("Script %d stopped with active cutscene/override in exit", ss->number); _currentScript = 0xFF; } } |