diff --git a/scumm/actor.cpp b/scumm/actor.cpp index 4047fe5b8c0..6c25fc923a6 100644 --- a/scumm/actor.cpp +++ b/scumm/actor.cpp @@ -852,6 +852,9 @@ void ScummEngine::putActors() { } } +static const int c64MMActorTalkColor[25] = { + 1, 7, 2, 14, 8, 15, 3, 7, 7, 15, 1, 13, 1, 4, 5, 5, 4, 3, 1, 5, 1, 1, 1, 1, 7 +}; static const int v1MMActorTalkColor[25] = { 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 }; @@ -859,8 +862,13 @@ static const int v1MMActorTalkColor[25] = { void ScummEngine::setupV1ActorTalkColor() { int i; - for (i = 1; i < _numActors; i++) - _actors[i]._talkColor = v1MMActorTalkColor[i]; + for (i = 1; i < _numActors; i++) { + if (_platform == Common::kPlatformC64) { + _actors[i]._talkColor = c64MMActorTalkColor[i]; + } else { + _actors[i]._talkColor = v1MMActorTalkColor[i]; + } + } } void ScummEngine::showActors() { diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index 122d77fa53c..475cf94ca26 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -421,10 +421,12 @@ void ScummEngine_v2::decodeParseString() { _string[textSlot].center = false; _string[textSlot].overhead = false; - if (_gameId == GID_MANIAC) { - // Demos don't set subtitle color before display first subtitle. - if (_demoMode && _actorToPrintStrFor == 0xFF) + if (_gameId == GID_MANIAC && _actorToPrintStrFor == 0xFF) { + if (_platform == Common::kPlatformC64) { + _string[textSlot].color = 14; + } else if (_demoMode) { _string[textSlot].color = (_version == 2) ? 15 : 1; + } } actorTalk(buffer);