diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h index e7915947c62..bc6a7a57766 100644 --- a/engines/scumm/detection_tables.h +++ b/engines/scumm/detection_tables.h @@ -174,7 +174,7 @@ static const GameSettings gameVariantsTable[] = { {"indy3", "No AdLib", "ega", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR, 0, UNK, GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI)}, {"indy3", "VGA", "vga", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, GF_OLD256 | GF_FEW_LOCALS, Common::kPlatformDOS, GUIO3(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_ENHANCEMENTS)}, {"indy3", "Steam", "steam", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, GF_OLD256 | GF_FEW_LOCALS, UNK, GUIO3(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_ENHANCEMENTS)}, - {"indy3", "FM-TOWNS", 0, GID_INDY3, 3, 0, MDT_TOWNS, GF_OLD256 | GF_FEW_LOCALS | GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GUIO_TRIM_FMTOWNS_TO_200_PIXELS)}, + {"indy3", "FM-TOWNS", 0, GID_INDY3, 3, 0, MDT_TOWNS, GF_OLD256 | GF_FEW_LOCALS | GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GUIO_TRIM_FMTOWNS_TO_200_PIXELS, GUIO_ENHANCEMENTS)}, {"loom", "EGA", "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO2(GUIO_NOSPEECH, GUIO_ENHANCEMENTS)}, {"loom", "No AdLib", "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS, 0, UNK, GUIO3(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_ENHANCEMENTS)}, diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp index 97639838ab0..35599d27131 100644 --- a/engines/scumm/script_v5.cpp +++ b/engines/scumm/script_v5.cpp @@ -504,6 +504,20 @@ void ScummEngine_v5::o5_actorOps() { j = getVarOrDirectByte(PARAM_2); assertRange(0, i, 31, "o5_actorOps: palette slot"); + // WORKAROUND: In the corridors of Castle Brunwald, + // there is a 'continuity error' with the Nazi guards + // in the FM-TOWNS version. They still have their + // palette override from the EGA version, making them + // appear in gray there, although their uniforms are + // green when you fight them or meet them again in + // the zeppelin. The PC VGA version fixed this. + + if (_game.id == GID_INDY3 && _game.platform == Common::kPlatformFMTowns && + (a->_costume == 23 || a->_costume == 28 || a->_costume == 29) && + (_currentRoom == 20 || _currentRoom == 28 || _currentRoom == 32) && _enableEnhancements) { + break; + } + // WORKAROUND: The smoke animation is the same as // what's used for the voodoo lady's cauldron. But // for some reason, the colors changed between the