diff options
author | Colin Snover | 2016-07-11 13:02:05 -0500 |
---|---|---|
committer | Colin Snover | 2016-07-11 13:02:27 -0500 |
commit | 593560e876346509b6df80c4a1411cb5e751b15b (patch) | |
tree | 8e885481390a0fe20c40e48ee34e927bdab854b2 /engines | |
parent | 9dd5ee988b5a8f090e5e7272218070593edde9aa (diff) | |
download | scummvm-rg350-593560e876346509b6df80c4a1411cb5e751b15b.tar.gz scummvm-rg350-593560e876346509b6df80c4a1411cb5e751b15b.tar.bz2 scummvm-rg350-593560e876346509b6df80c4a1411cb5e751b15b.zip |
SCI32: Add detection for Hoyle 5 demo
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/detection.cpp | 2 | ||||
-rw-r--r-- | engines/sci/detection_tables.h | 14 | ||||
-rw-r--r-- | engines/sci/engine/kmisc.cpp | 3 | ||||
-rw-r--r-- | engines/sci/graphics/frameout.cpp | 1 | ||||
-rw-r--r-- | engines/sci/sci.h | 1 |
5 files changed, 21 insertions, 0 deletions
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp index 8d5c923f66..8691c37b3e 100644 --- a/engines/sci/detection.cpp +++ b/engines/sci/detection.cpp @@ -107,6 +107,7 @@ static const PlainGameDescriptor s_sciGameTitles[] = { {"pq4", "Police Quest IV: Open Season"}, // floppy is SCI2, CD SCI2.1 {"qfg4", "Quest for Glory IV: Shadows of Darkness"}, // floppy is SCI2, CD SCI2.1 // === SCI2.1 games ======================================================== + {"hoyle5", "Hoyle Classic Games"}, {"chest", "Inside the Chest"}, // aka Behind the Developer's Shield {"gk2", "The Beast Within: A Gabriel Knight Mystery"}, {"kq7", "King's Quest VII: The Princeless Bride"}, @@ -157,6 +158,7 @@ static const GameIdStrToEnum s_gameIdStrToEnum[] = { { "hoyle2", GID_HOYLE2 }, { "hoyle3", GID_HOYLE3 }, { "hoyle4", GID_HOYLE4 }, + { "hoyle5", GID_HOYLE5 }, { "iceman", GID_ICEMAN }, { "inndemo", GID_INNDEMO }, { "islandbrain", GID_ISLANDBRAIN }, diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h index 6ee666a648..f1076a78a7 100644 --- a/engines/sci/detection_tables.h +++ b/engines/sci/detection_tables.h @@ -1132,6 +1132,20 @@ static const struct ADGameDescription SciGameDescriptions[] = { AD_LISTEND}, Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, +#ifdef ENABLE_SCI32 +#define GUIO_HOYLE5_DEMO GUIO3(GUIO_NOSPEECH, \ + GUIO_NOASPECT, \ + GAMEOPTION_ORIGINAL_SAVELOAD) + + // Hoyle 5 (Hoyle Classic Games) - Windows demo + {"hoyle5", "Demo", { + {"ressci.000", 0, "98a39ae535dd01714ac313f8ba925045", 7260363}, + {"resmap.000", 0, "10267a1542a73d527e50f0340549088b", 4900}, + AD_LISTEND}, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO_HOYLE5_DEMO }, + +#endif // ENABLE_SCI32 + // ImagiNation Network (INN) Demo // SCI interpreter version 1.001.097 {"inndemo", "", { diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp index 065625f85f..0d6831139a 100644 --- a/engines/sci/engine/kmisc.cpp +++ b/engines/sci/engine/kmisc.cpp @@ -409,6 +409,9 @@ reg_t kGetConfig(EngineState *s, int argc, reg_t *argv) { } else if (setting == "startroom") { // Debug setting in LSL7, specifies the room to start from. s->_segMan->strcpy(data, ""); + } else if (setting == "game") { + // Hoyle 5 Demo startup. + s->_segMan->strcpy(data, ""); } else { error("GetConfig: Unknown configuration setting %s", setting.c_str()); } diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp index ceab949969..44db9f870e 100644 --- a/engines/sci/graphics/frameout.cpp +++ b/engines/sci/graphics/frameout.cpp @@ -115,6 +115,7 @@ GfxFrameout::GfxFrameout(SegManager *segMan, ResourceManager *resMan, GfxCoordAd } switch (g_sci->getGameId()) { + case GID_HOYLE5: case GID_GK2: case GID_LIGHTHOUSE: case GID_LSL7: diff --git a/engines/sci/sci.h b/engines/sci/sci.h index 6481365936..0020d25b91 100644 --- a/engines/sci/sci.h +++ b/engines/sci/sci.h @@ -140,6 +140,7 @@ enum SciGameId { GID_HOYLE2, GID_HOYLE3, GID_HOYLE4, + GID_HOYLE5, GID_ICEMAN, GID_INNDEMO, GID_ISLANDBRAIN, |