diff options
Diffstat (limited to 'scumm/scumm.cpp')
-rw-r--r-- | scumm/scumm.cpp | 55 |
1 files changed, 35 insertions, 20 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 2c77d03cca..7f58f9422f 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -573,34 +573,38 @@ struct SubstResFileNames { static SubstResFileNames substResFileNameTable[] = { { "Intentionally/left/blank", "", kGenMacNoParens}, - { "00.LFL", "zak1.d64", kGenAsIs }, - { "01.LFL", "zak2.d64", kGenAsIs }, - { "00.LFL", "maniac1.d64", kGenAsIs }, - { "01.LFL", "maniac2.d64", kGenAsIs }, { "00.LFL", "Maniac Mansion (E).prg", kGenAsIs }, { "00.LFL", "Maniac Mansion (F).prg", kGenAsIs }, { "00.LFL", "Maniac Mansion (SW).prg", kGenAsIs }, { "00.LFL", "Maniac Mansion (U).prg", kGenAsIs }, + { "00.LFL", "maniac1.d64", kGenAsIs }, + { "00.LFL", "zak1.d64", kGenAsIs }, + { "01.LFL", "maniac2.d64", kGenAsIs }, + { "01.LFL", "zak2.d64", kGenAsIs }, { "airdemo", "Airport Demo", kGenMac}, { "balloon", "Balloon-O-Rama", kGenMac}, { "baseball", "BaseBall", kGenMac}, { "BluesABCTimeDemo", "BluesABCTimeDemo", kGenMac}, { "chase", "Cheese Chase", kGenMac}, + { "circdemo", "Putt Circus Demo", kGenMac }, { "circdemo", "Putt Circus Demo", kGenMac}, + { "dig.la0", "The Dig Data", kGenAsIs}, + { "digdemo.la0", "The Dig Demo Data", kGenAsIs}, { "dog", "Dog on a Stick", kGenMac}, - { "f3-mdemo", "F3-Mdemo", kGenMac }, { "f3-mdemo", "F3-mdemo", kGenMac }, + { "f3-mdemo", "F3-Mdemo", kGenMac }, { "f3-mdemo", "FF3-DEMO", kGenPC }, - { "f4-demo", "Freddi 4 Demo", kGenMac }, { "f4-demo", "ff4demo", kGenPC }, + { "f4-demo", "Freddi 4 Demo", kGenMac }, { "farmdemo", "Farm Demo", kGenMac}, - { "fbear", "Fatty Bear", kGenMacNoParens }, { "fbdemo", "Fatty Bear Demo", kGenMacNoParens }, - { "ff2-demo", "Freddi Fish 2 Demo", kGenMac }, - { "ff2-demo", "FFHSDemo", kGenPC }, + { "fbear", "Fatty Bear", kGenMacNoParens }, { "ff2-demo", "FFHSDemo", kGenMac }, - { "footdemo", "FootBall Demo", kGenMac }, + { "ff2-demo", "FFHSDemo", kGenPC }, + { "ff2-demo", "Freddi Fish 2 Demo", kGenMac }, + { "ff5demo", "FFCoveDemo", kGenPC }, { "football", "FootBall", kGenMac }, + { "footdemo", "FootBall Demo", kGenMac }, { "footdemo", "FootBall2002", kGenPC }, { "freddemo", "Freddi Demo", kGenMac }, { "freddi", "Freddi Fish", kGenMac }, @@ -611,11 +615,14 @@ static SubstResFileNames substResFileNameTable[] = { { "freddi3", "FreddiSCS", kGenPC }, { "freddi4", "Freddi 4", kGenMac }, { "freddi4", "FreddiHRBG", kGenPC }, - { "freddicove", "FreddiCove", kGenMac }, { "freddicove", "FreddiCCC", kGenPC }, + { "freddicove", "FreddiCove", kGenMac }, { "freddicove", "FreddiDZZ", kGenPC }, { "FreddisFunShop", "Freddi's FunShop", kGenMac }, - { "ff5demo", "FFCoveDemo", kGenPC }, + { "ft.la0", "Full Throttle Data", kGenAsIs}, + { "ft.la0", "Full Throttle Demo Data", kGenAsIs}, + { "ft.la0", "Vollgas Data", kGenAsIs}, + { "ft.la0", "Vollgas Demo Data", kGenAsIs}, { "kinddemo", "Kinddemo", kGenMac }, { "kinddemo", "KindDemo", kGenMac }, { "lost", "Lost and Found", kGenMac}, @@ -632,38 +639,40 @@ static SubstResFileNames substResFileNameTable[] = { { "pj3-demo", "Pajama Sam 3-Demo", kGenMac }, { "pj3-demo", "pj3demo", kGenPC }, { "pjs-demo", "Pajama Sam Demo", kGenMac }, - { "pjs-demo", "PjSamDemo", kGenPC }, { "pjs-demo", "PjSamDemo", kGenMac }, - { "circdemo", "Putt Circus Demo", kGenMac }, + { "pjs-demo", "PjSamDemo", kGenPC }, { "puttcircus", "Putt Circus", kGenMac }, { "puttdemo", "Putt-Putt's Demo", kGenMacNoParens }, { "puttmoon", "Putt-Putt Moon", kGenMacNoParens }, { "puttputt", "Putt-Putt Parade", kGenMacNoParens }, { "puttrace", "Putt Race", kGenMac }, { "PuttsFunShop", "Putt's FunShop", kGenMac }, + { "putttime", "PuttPuttTTT", kGenPC }, { "putttime", "PuttTijd", kGenPC }, { "putttime", "PuttTTT", kGenMac }, { "putttime", "PuttTTT", kGenPC }, - { "putttime", "PuttPuttTTT", kGenPC }, { "puttzoo", "PuttZoo", kGenMac }, { "racedemo", "500demo", kGenPC}, { "racedemo", "RaceDemo", kGenMac }, - { "samnmax", "ramnmax", kGenPC }, // Used in some releases of Russian Sam'n'Max + { "samnmax.000", "Sam & Max Data", kGenAsIs}, + { "samnmax.000", "Sam & Max Demo Data", kGenAsIs}, { "samnmax.000", "samnmax.sm0", kGenAsIs }, // Fixes MD5 detection + { "samnmax", "ramnmax", kGenPC }, // Used in some releases of Russian Sam'n'Max { "SamsFunShop", "Sam's FunShop", kGenMac }, - { "sf2-demo", "Spy Fox 2 - Demo", kGenMac }, { "sf2-demo", "sf2demo", kGenPC }, + { "sf2-demo", "Spy Fox 2 - Demo", kGenMac }, { "sf3-demo", "Spy Ozone Demo", kGenMac }, { "soccer", "Soccer", kGenMac }, { "socks", "SockWorks", kGenMac }, - { "Spydemo", "foxdemo", kGenPC}, { "Spydemo", "FoxDemo", kGenMac }, + { "Spydemo", "foxdemo", kGenPC}, { "spyfox", "SPYFox", kGenMac }, { "spyfox", "SPYFoxDC", kGenPC }, { "spyfox2", "Spy Fox 2", kGenMac }, { "spyfox2", "spyfoxsr", kGenPC }, - { "spyozon", "SpyOzon", kGenMac }, { "spyozon", "SPYFoxOZU", kGenPC }, + { "spyozon", "SpyOzon", kGenMac }, + { "tentacle.000", "Day Of The Tentacle Data", kGenAsIs}, { "thinkerk", "ThinkerK", kGenMac }, { "timedemo", "TIJDDEMO", kGenPC }, { "timedemo", "TimeDemo", kGenMac }, @@ -778,9 +787,15 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS // The first step is to check whether one of them is present (we do that // here); the rest is handled by the ScummFile class and code in // openResourceFile() (and in the Sound class, for MONSTER.SOU handling). - if (gs.detectFilename) { + if (_version >= 6 && _heversion == 0 && _substResFileNameIndex) { + if (_fileHandle->open(substResFileNameTable[_substResFileNameIndex].macName)) { + _containerFile = substResFileNameTable[_substResFileNameIndex].macName; + _substResFileNameIndex = 0; + } + } else if (gs.detectFilename) { if (_fileHandle->open(gs.detectFilename)) { _containerFile = gs.detectFilename; + _substResFileNameIndex = 0; } } |