aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorJamieson Christian2002-11-10 18:29:59 +0000
committerJamieson Christian2002-11-10 18:29:59 +0000
commitafea2ba962d3befa47be56af0e348ace92134dfd (patch)
treec55d1ff62c6dcb68cb0ca6763dbc6a716c98be19 /scumm
parent4cf3def44bb86e8decb07f19b53ec6fe7c12087d (diff)
downloadscummvm-rg350-afea2ba962d3befa47be56af0e348ace92134dfd.tar.gz
scummvm-rg350-afea2ba962d3befa47be56af0e348ace92134dfd.tar.bz2
scummvm-rg350-afea2ba962d3befa47be56af0e348ace92134dfd.zip
Hack to prevent animation hangs during Conroy's song in Sam & Max.
svn-id: r5509
Diffstat (limited to 'scumm')
-rw-r--r--scumm/script_v2.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp
index cffb9aade6..737223be05 100644
--- a/scumm/script_v2.cpp
+++ b/scumm/script_v2.cpp
@@ -2037,7 +2037,16 @@ void Scumm::o6_wait()
return;
}
case 169:
- //printf("waiting for message: %d\n", _vars[VAR_HAVE_MSG]);
+ // HACK: For Conroy Bumpus' song in Sam & Max.
+ // During the song three calls to o6_wait() appear,
+ // but because of the way in which the actor talk is done
+ // and the fact that the song extends beyond the span
+ // of each individual line, no end-of-talk is ever
+ // detected and the script hangs on o6_wait().
+ if (_gameId == GID_SAMNMAX && vm.slot[_currentScript].number == 99 && _sound->isSoundRunning (64)) {
+ debug (2, "Sam & Max hack: Bypassing o6_wait() during Conroy's song.");
+ return;
+ }
if (_vars[VAR_HAVE_MSG])
break;