aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2003-04-28 16:57:53 +0000
committerMax Horn2003-04-28 16:57:53 +0000
commitf99f7f3d504630bd7755f9a97be4516be3645492 (patch)
tree63b882e00bd9e6e931aa0a879267cbc50389835d
parent33911c29dfb3fdc8920bcdf1aef19a67d2b868ef (diff)
downloadscummvm-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.cpp5
-rw-r--r--scumm/scummvm.cpp18
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;
}
}