aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorColin Snover2016-07-11 13:02:05 -0500
committerColin Snover2016-07-11 13:02:27 -0500
commit593560e876346509b6df80c4a1411cb5e751b15b (patch)
tree8e885481390a0fe20c40e48ee34e927bdab854b2 /engines/sci
parent9dd5ee988b5a8f090e5e7272218070593edde9aa (diff)
downloadscummvm-rg350-593560e876346509b6df80c4a1411cb5e751b15b.tar.gz
scummvm-rg350-593560e876346509b6df80c4a1411cb5e751b15b.tar.bz2
scummvm-rg350-593560e876346509b6df80c4a1411cb5e751b15b.zip
SCI32: Add detection for Hoyle 5 demo
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/detection.cpp2
-rw-r--r--engines/sci/detection_tables.h14
-rw-r--r--engines/sci/engine/kmisc.cpp3
-rw-r--r--engines/sci/graphics/frameout.cpp1
-rw-r--r--engines/sci/sci.h1
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,