Fix subtitles colors in V1 maniac

svn-id: r9713
This commit is contained in:
Travis Howell 2003-08-16 05:45:19 +00:00
parent 3b75fa8d3c
commit 5a963767bf
2 changed files with 8 additions and 2 deletions

View file

@ -1157,7 +1157,8 @@ void Scumm::actorTalk() {
return; 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; _charsetColor = (byte)_string[0].color;
} else { } else {
a = derefActor(VAR(VAR_TALK_ACTOR), "actorTalk(2)"); a = derefActor(VAR(VAR_TALK_ACTOR), "actorTalk(2)");

View file

@ -372,6 +372,8 @@ int Scumm_v2::getVar() {
return readVar(fetchScriptByte()); 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() { void Scumm_v2::decodeParseString() {
byte buffer[256]; byte buffer[256];
byte *ptr = buffer; byte *ptr = buffer;
@ -412,7 +414,10 @@ void Scumm_v2::decodeParseString() {
_string[textSlot].right = 320; _string[textSlot].right = 320;
_string[textSlot].center = false; _string[textSlot].center = false;
_string[textSlot].overhead = 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; _messagePtr = buffer;
switch (textSlot) { switch (textSlot) {