aboutsummaryrefslogtreecommitdiff
path: root/script.cpp
diff options
context:
space:
mode:
authorJames Brown2002-04-06 01:14:42 +0000
committerJames Brown2002-04-06 01:14:42 +0000
commitfb0cb665888c4d59ff9f973def998ebe532c4b76 (patch)
treee88d87ba86db739b9b1eff9050ab34badfe224f0 /script.cpp
parent933df055c95452aeddc82fd9119838b0b45e1f88 (diff)
downloadscummvm-rg350-fb0cb665888c4d59ff9f973def998ebe532c4b76.tar.gz
scummvm-rg350-fb0cb665888c4d59ff9f973def998ebe532c4b76.tar.bz2
scummvm-rg350-fb0cb665888c4d59ff9f973def998ebe532c4b76.zip
Hopefully fix these cutscene bugs for good.
svn-id: r3879
Diffstat (limited to 'script.cpp')
-rw-r--r--script.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/script.cpp b/script.cpp
index 359f70ddbc..342c1ffff8 100644
--- a/script.cpp
+++ b/script.cpp
@@ -756,16 +756,15 @@ void Scumm::endCutscene() {
int16 args[16];
memset(args, 0, sizeof(args));
- if (ss->cutsceneOverride < 1)
- return;
+
+ if (ss->cutsceneOverride > 0) // Only terminate if active
+ ss->cutsceneOverride--;
- ss->cutsceneOverride--;
- printf("Ending cs(%d) from %d\n", ss->cutsceneOverride, _currentScript);
args[0] = vm.cutSceneData[vm.cutSceneStackPointer];
_vars[VAR_OVERRIDE] = 0;
csptr = &vm.cutScenePtr[vm.cutSceneStackPointer];
- if (*csptr)
+ if (*csptr && (ss->cutsceneOverride > 0)) // Only terminate if active
ss->cutsceneOverride--;
vm.cutSceneScript[vm.cutSceneStackPointer] = 0;
@@ -779,7 +778,7 @@ void Scumm::endCutscene() {
void Scumm::cutscene(int16 *args) {
int scr = _currentScript;
vm.slot[scr].cutsceneOverride++;
- printf("Starting cs(%d) from %d\n", vm.slot[scr].cutsceneOverride, _currentScript);
+
if (++vm.cutSceneStackPointer > sizeof(vm.cutSceneData)/sizeof(vm.cutSceneData[0]))
error("Cutscene stack overflow");