SCUMM: Fix the navigator head text color in MI1 CD (WORKAROUND)

When the navigator head speaks, the v5 release forgot to adjust the
`Color(6)` parameter for the v5 palette changes, meaning that the text
wasn't displayed with the intended brown color, as in all other versions
(this was fixed in the v5 SegaCD release, though).
This commit is contained in:
Donovan Watteau 2022-09-15 13:55:29 +02:00 committed by Filippos Karapetis
parent 46fe41a77c
commit e16c30d023

View file

@ -3430,6 +3430,19 @@ void ScummEngine_v5::decodeParseStringTextString(int textSlot) {
// "I heard that!" offscreen.
_string[textSlot].color = 0xF9;
printString(textSlot, _scriptPointer);
} else if (_game.id == GID_MONKEY && _game.platform != Common::kPlatformSegaCD &&
(vm.slot[_currentScript].number == 140 || vm.slot[_currentScript].number == 294) &&
_actorToPrintStrFor == 255 && _string[textSlot].color == 0x06 &&
strcmp(_game.variant, "SE Talkie") != 0 && _enableEnhancements) {
// WORKAROUND: In MI1 CD, the colors when the navigator head speaks are
// not the intended ones (dark purple instead of brown), because the
// original `Color(6)` parameter was kept without adjusting it for the
// v5 palette changes (a common oversight in that version). The verb
// options may also look wrong in that scene, but we don't fix that, as
// this font in displayed in green, white or purple between the
// different releases and scenes, so we don't know the original intent.
_string[textSlot].color = 0xEA;
printString(textSlot, _scriptPointer);
} else if (_game.id == GID_MONKEY && _roomResource == 25 && vm.slot[_currentScript].number == 205) {
printPatchedMI1CannibalString(textSlot, _scriptPointer);
} else {