diff options
author | Travis Howell | 2005-05-02 07:20:44 +0000 |
---|---|---|
committer | Travis Howell | 2005-05-02 07:20:44 +0000 |
commit | 6c34dcc0f2f6e3526e3fe2eee2167a1ff18b94fa (patch) | |
tree | ec1e163ee3625c82eab0c76b358abc8ea212c925 | |
parent | cd6e22a3b15129a6e474f2752815643a44aff07d (diff) | |
download | scummvm-rg350-6c34dcc0f2f6e3526e3fe2eee2167a1ff18b94fa.tar.gz scummvm-rg350-6c34dcc0f2f6e3526e3fe2eee2167a1ff18b94fa.tar.bz2 scummvm-rg350-6c34dcc0f2f6e3526e3fe2eee2167a1ff18b94fa.zip |
Add work around for script bug in the first version of pajama.
svn-id: r17895
-rw-r--r-- | scumm/script_v72he.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index 506dc46890..9a0e25fb18 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -1569,13 +1569,23 @@ void ScummEngine_v72he::o72_arrayOps() { void ScummEngine_v72he::o72_talkActor() { Actor *a; - _actorToPrintStrFor = pop(); + int act = pop(); _string[0].loadDefault(); - if (_actorToPrintStrFor != 0xFF) { - a = derefActor(_actorToPrintStrFor, "o72_talkActor"); - _string[0].color = a->_talkColor; + + // A value of 225 can occur when examining the gold in the mine of pajama, after mining the gold. + // This is a script bug, the script should set the subtitle color, not actor number. + // This script bug was fixed in the updated version of pajama. + if (act == 225) { + _string[0].color = act; + } else { + _actorToPrintStrFor = act; + if (_actorToPrintStrFor != 0xFF) { + a = derefActor(_actorToPrintStrFor, "o72_talkActor"); + _string[0].color = a->_talkColor; + } } + actorTalk(_scriptPointer); _scriptPointer += resStrLen(_scriptPointer) + 1; |