diff options
author | Max Horn | 2005-03-25 00:40:58 +0000 |
---|---|---|
committer | Max Horn | 2005-03-25 00:40:58 +0000 |
commit | 3497e9afa41010cb3c9afa9700a2c8648a9ffa08 (patch) | |
tree | b712794c7034ac92048a2b76f2686a84c23bd3f3 | |
parent | 980576a4b63444d56744ec2e96496d296813196f (diff) | |
download | scummvm-rg350-3497e9afa41010cb3c9afa9700a2c8648a9ffa08.tar.gz scummvm-rg350-3497e9afa41010cb3c9afa9700a2c8648a9ffa08.tar.bz2 scummvm-rg350-3497e9afa41010cb3c9afa9700a2c8648a9ffa08.zip |
cleanup
svn-id: r17222
-rw-r--r-- | scumm/script.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/scumm/script.cpp b/scumm/script.cpp index 8684016d9e..17f35a3ff1 100644 --- a/scumm/script.cpp +++ b/scumm/script.cpp @@ -1122,12 +1122,12 @@ void ScummEngine::endCutscene() { ScriptSlot *ss = &vm.slot[_currentScript]; int args[16]; - memset(args, 0, sizeof(args)); - if (ss->cutsceneOverride > 0) // Only terminate if active ss->cutsceneOverride--; + memset(args, 0, sizeof(args)); args[0] = vm.cutSceneData[vm.cutSceneStackPointer]; + VAR(VAR_OVERRIDE) = 0; if (vm.cutScenePtr[vm.cutSceneStackPointer] && (ss->cutsceneOverride > 0)) // Only terminate if active @@ -1142,9 +1142,12 @@ void ScummEngine::endCutscene() { } void ScummEngine::abortCutscene() { - uint32 offs = vm.cutScenePtr[vm.cutSceneStackPointer]; + const int idx = vm.cutSceneStackPointer; + assert(0 <= idx && idx < 5); + + uint32 offs = vm.cutScenePtr[idx]; if (offs) { - ScriptSlot *ss = &vm.slot[vm.cutSceneScript[vm.cutSceneStackPointer]]; + ScriptSlot *ss = &vm.slot[vm.cutSceneScript[idx]]; ss->offs = offs; ss->status = ssRunning; ss->freezeCount = 0; @@ -1153,7 +1156,7 @@ void ScummEngine::abortCutscene() { ss->cutsceneOverride--; VAR(VAR_OVERRIDE) = 1; - vm.cutScenePtr[vm.cutSceneStackPointer] = 0; + vm.cutScenePtr[idx] = 0; // HACK to fix issues with SMUSH and the way it does keyboard handling. // In particular, normally abortCutscene() is being called while no @@ -1169,10 +1172,8 @@ void ScummEngine::abortCutscene() { } void ScummEngine::beginOverride() { - int idx; - - idx = vm.cutSceneStackPointer; - assert(idx < 5); + const int idx = vm.cutSceneStackPointer; + assert(0 <= idx && idx < 5); vm.cutScenePtr[idx] = _scriptPointer - _scriptOrgPointer; vm.cutSceneScript[idx] = _currentScript; @@ -1188,10 +1189,8 @@ void ScummEngine::beginOverride() { } void ScummEngine::endOverride() { - int idx; - - idx = vm.cutSceneStackPointer; - assert(idx < 5); + const int idx = vm.cutSceneStackPointer; + assert(0 <= idx && idx < 5); vm.cutScenePtr[idx] = 0; vm.cutSceneScript[idx] = 0; |