aboutsummaryrefslogtreecommitdiff
path: root/engines/sky
diff options
context:
space:
mode:
authorJoost Peters2009-07-14 11:15:21 +0000
committerJoost Peters2009-07-14 11:15:21 +0000
commitfb247af301a0b77bc55950303e9f962b6a515883 (patch)
treee69d7bfa18f265ebb7458dfdb6b2a6e6fd853895 /engines/sky
parent324ba3703b73f6b4f3ddf43c5670ceb48c3b5daf (diff)
downloadscummvm-rg350-fb247af301a0b77bc55950303e9f962b6a515883.tar.gz
scummvm-rg350-fb247af301a0b77bc55950303e9f962b6a515883.tar.bz2
scummvm-rg350-fb247af301a0b77bc55950303e9f962b6a515883.zip
add workaround for #2687172: BASS: Occasional loss of speech
svn-id: r42473
Diffstat (limited to 'engines/sky')
-rw-r--r--engines/sky/logic.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/sky/logic.cpp b/engines/sky/logic.cpp
index ccfbfbbd62..991fbe19d0 100644
--- a/engines/sky/logic.cpp
+++ b/engines/sky/logic.cpp
@@ -1702,6 +1702,15 @@ bool Logic::fnQuit(uint32 a, uint32 b, uint32 c) {
}
bool Logic::fnSpeakMe(uint32 targetId, uint32 mesgNum, uint32 animNum) {
+ /* WORKAROUND for #2687172: When Mrs. Piermont is talking
+ on the phone in her apartment, ignore her fnSpeakMe calls
+ on other screens, as the lack of speech files for these lines
+ will cause Foster's speech to be aborted if the timing is bad.
+ */
+ if (targetId == 0x4039 && animNum == 0x9B && Logic::_scriptVariables[SCREEN] != 38) {
+ return false;
+ }
+
stdSpeak(_skyCompact->fetchCpt(targetId), mesgNum, animNum, 0);
return false; //drop out of script
}