diff options
author | Torbjörn Andersson | 2006-01-18 11:53:07 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2006-01-18 11:53:07 +0000 |
commit | 34d835e4a263f6cc0be68da94cca40c803dd9532 (patch) | |
tree | acda69073f4c5467392209f98036c46e60ef3022 /scumm/script.cpp | |
parent | 791b5bdc6175fb3f15dbc4f10d643ac3596228e9 (diff) | |
download | scummvm-rg350-34d835e4a263f6cc0be68da94cca40c803dd9532.tar.gz scummvm-rg350-34d835e4a263f6cc0be68da94cca40c803dd9532.tar.bz2 scummvm-rg350-34d835e4a263f6cc0be68da94cca40c803dd9532.zip |
Work around a script bug in Full Throttle. See bug #1407789.
svn-id: r20080
Diffstat (limited to 'scumm/script.cpp')
-rw-r--r-- | scumm/script.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/scumm/script.cpp b/scumm/script.cpp index 534d34074e..f74571f6db 100644 --- a/scumm/script.cpp +++ b/scumm/script.cpp @@ -1083,6 +1083,14 @@ void ScummEngine::checkAndRunSentenceScript() { localParamList[0] = _sentence[_sentenceNum].verb; localParamList[1] = _sentence[_sentenceNum].objectA; localParamList[2] = _sentence[_sentenceNum].objectB; + + // WORKAROUND for bug #1407789. The script clearly assumes that + // one of the two objects is an actor. If that's not the case, + // fall back on what appears to be the usual sentence script. + + if (_gameId == GID_FT && sentenceScript == 103 && !isValidActor(localParamList[1]) && !isValidActor(localParamList[2])) { + sentenceScript = 28; + } } _currentScript = 0xFF; if (sentenceScript) |