diff options
author | Travis Howell | 2003-08-16 05:45:19 +0000 |
---|---|---|
committer | Travis Howell | 2003-08-16 05:45:19 +0000 |
commit | 5a963767bffb6655371f2103e577dd5ab0237703 (patch) | |
tree | 42c5612913b67e4a8410d5fe6151609a6f53c682 /scumm | |
parent | 3b75fa8d3ce712b0c696eb586f4cd341ad1fb345 (diff) | |
download | scummvm-rg350-5a963767bffb6655371f2103e577dd5ab0237703.tar.gz scummvm-rg350-5a963767bffb6655371f2103e577dd5ab0237703.tar.bz2 scummvm-rg350-5a963767bffb6655371f2103e577dd5ab0237703.zip |
Fix subtitles colors in V1 maniac
svn-id: r9713
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/actor.cpp | 3 | ||||
-rw-r--r-- | scumm/script_v2.cpp | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp index 8b26f65b8d..4598c01b16 100644 --- a/scumm/actor.cpp +++ b/scumm/actor.cpp @@ -1157,7 +1157,8 @@ void Scumm::actorTalk() { return; } - if (VAR(VAR_TALK_ACTOR) > 0x7F) { + //FIXME looks like V1 Maniac Mansion needs a different type of check at this point. + if (((_gameId == GID_MANIAC) && (_version == 1)) || VAR(VAR_TALK_ACTOR) > 0x7F) { _charsetColor = (byte)_string[0].color; } else { a = derefActor(VAR(VAR_TALK_ACTOR), "actorTalk(2)"); diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index bf8f570d5d..3218e4188d 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -372,6 +372,8 @@ int Scumm_v2::getVar() { return readVar(fetchScriptByte()); } +int static actor_speech_color[] = {1, 7, 2, 14, 8, 1, 3, 7, 7, 12, 1, 13, 1, 4, 5, 5, 4, 3, 1, 5, 1, 1, 1, 7, 7, 0}; + void Scumm_v2::decodeParseString() { byte buffer[256]; byte *ptr = buffer; @@ -412,7 +414,10 @@ void Scumm_v2::decodeParseString() { _string[textSlot].right = 320; _string[textSlot].center = false; _string[textSlot].overhead = false; -// _string[textSlot].color = 9; // light blue + + // V1 Mansion Mansion uses static color table for subtitles + if (((_gameId == GID_MANIAC) && (_version == 1)) && _actorToPrintStrFor != 0xFF) + _string[textSlot].color = actor_speech_color[_actorToPrintStrFor]; _messagePtr = buffer; switch (textSlot) { |