From fb247af301a0b77bc55950303e9f962b6a515883 Mon Sep 17 00:00:00 2001 From: Joost Peters Date: Tue, 14 Jul 2009 11:15:21 +0000 Subject: add workaround for #2687172: BASS: Occasional loss of speech svn-id: r42473 --- engines/sky/logic.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'engines/sky/logic.cpp') 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 } -- cgit v1.2.3