Ticket #15227: indy3-ega-allow-amiga-colors.diff

File indy3-ega-allow-amiga-colors.diff, 2.5 KB (added by dwatteau, 4 months ago)

WIP diff for reference

  • engines/scumm/detection_tables.h

    diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h
    index 1def5f75af6..5cb5fc24013 100644
    a b static const GameSettings gameVariantsTable[] = {  
    169169        {"indyloom", "FM-TOWNS",    0, GID_ZAK, 3, 0, MDT_TOWNS, GF_OLD256 | GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ORIGINALGUI)},
    170170        {"indyzak", "FM-TOWNS",    0, GID_ZAK, 3, 0, MDT_TOWNS, GF_OLD256 | GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ORIGINALGUI)},
    171171
    172         {"indy3", "EGA",      "ega", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, 0, UNK, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERCGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
     172        {"indy3", "EGA",      "ega", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, 0, UNK, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
    173173        {"indy3", "Mac",      "ega", GID_INDY3, 3, 0, MDT_MACINTOSH,             0, Common::kPlatformMacintosh, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERMACINTOSHBW, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GUIO_NOASPECT)},
    174174        {"indy3", "No AdLib", "ega", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR,             0, UNK, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERCGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
    175175        {"indy3", "VGA",      "vga", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, GF_OLD256 | GF_FEW_LOCALS,                  Common::kPlatformDOS, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
  • engines/scumm/scumm.cpp

    diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
    index 6555cc4a5f9..ca795e525a0 100644
    a b ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)  
    317317        case Common::kRenderAmiga:
    318318                // Allow v2 games to be rendered in forced Amiga mode; this works, and
    319319                // doing this to avoid the "sunburn effect" in MM/Zak is popular.
    320                 if (_game.platform != Common::kPlatformAmiga && _game.version != 2)
     320                // Also allow this for Indy3 EGA.
     321                if (_game.platform != Common::kPlatformAmiga && _game.version != 2 &&
     322(_game.version != 3 || _game.id != GID_INDY3 || _game.platform == Common::kPlatformMacintosh))
    321323                        _renderMode = Common::kRenderDefault;
    322324                break;
    323325