aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/detection_tables.h13
-rw-r--r--engines/sci/graphics/screen.cpp6
-rw-r--r--engines/sci/sci.cpp6
-rw-r--r--engines/sci/sci.h1
4 files changed, 19 insertions, 7 deletions
diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index e1d03d9914..6c0791bee1 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -854,14 +854,14 @@ static const struct ADGameDescription SciGameDescriptions[] = {
AD_LISTEND},
Common::EN_ANY, Common::kPlatformPC, 0, GUIO_NOSPEECH },
- // Hoyle 4 - English DOS Demo
+ // Hoyle 4 (Hoyle Classic Card Games) - English DOS Demo
{"hoyle4", "Demo", {
{"resource.map", 0, "60f764020a6b788bbbe415dbc2ccb9f3", 931},
{"resource.000", 0, "5fe3670e3ddcd4f85c10013b5453141a", 615522},
AD_LISTEND},
Common::EN_ANY, Common::kPlatformPC, ADGF_DEMO, GUIO_NOSPEECH },
- // Hoyle 4 - English DOS Demo
+ // Hoyle 4 (Hoyle Classic Card Games) - English DOS Demo
// SCI interpreter version 1.001.200 (just a guess)
// Does anyone have this version? -clone2727
{"hoyle4", "Demo", {
@@ -871,7 +871,6 @@ static const struct ADGameDescription SciGameDescriptions[] = {
Common::EN_ANY, Common::kPlatformPC, ADGF_DEMO, GUIO_NOSPEECH },
// Hoyle 4 (Hoyle Classic Card Games) - English DOS/Win
- // SCI1.1
// Supplied by abevi in bug report #3039291
{"hoyle4", "", {
{"resource.map", 0, "2b577c975cc8d8d43f61b6a756129fe3", 4352},
@@ -879,6 +878,14 @@ static const struct ADGameDescription SciGameDescriptions[] = {
AD_LISTEND},
Common::EN_ANY, Common::kPlatformPC, 0, GUIO_NOSPEECH },
+ // Hoyle 4 (Hoyle Classic Card Games) - English Macintosh Floppy
+ // VERSION file reports "2.0"
+ {"hoyle4", "", {
+ {"Data1", 0, "afad082944d36ce4d2a9e646efc49da1", 7731536},
+ {"Data2", 0, "615ed2efe969f845cd8f0686af0b06f2", 1543825},
+ AD_LISTEND},
+ Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO_NOSPEECH },
+
// Jones in the Fast Lane EGA - English DOS
// SCI interpreter version 1.000.172 (not 100% sure FIXME)
{"jones", "EGA", {
diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp
index 6eabc7c9f0..7a10a6b749 100644
--- a/engines/sci/graphics/screen.cpp
+++ b/engines/sci/graphics/screen.cpp
@@ -122,9 +122,9 @@ GfxScreen::GfxScreen(ResourceManager *resMan) : _resMan(resMan) {
// Initialize the actual screen
- if (_resMan->isSci11Mac() && getSciVersion() == SCI_VERSION_1_1) {
- // For SCI1.1 Mac, we need to expand the screen to accommodate for
- // the icon bar. Of course, both KQ6 and QFG1 VGA differ in size.
+ if (g_sci->hasMacIconBar()) {
+ // For SCI1.1 Mac games with the custom icon bar, we need to expand the screen
+ // to accommodate for the icon bar. Of course, both KQ6 and QFG1 VGA differ in size.
if (g_sci->getGameId() == GID_KQ6)
initGraphics(_displayWidth, _displayHeight + 26, _displayWidth > 320);
else if (g_sci->getGameId() == GID_QFG1VGA)
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 3fe398f426..3747e831f2 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -514,7 +514,7 @@ void SciEngine::initGraphics() {
_gfxPaint32 = 0;
#endif
- if (_resMan->isSci11Mac() && getSciVersion() == SCI_VERSION_1_1)
+ if (hasMacIconBar())
_gfxMacIconBar = new GfxMacIconBar();
bool paletteMerging = true;
@@ -664,6 +664,10 @@ bool SciEngine::isDemo() const {
return _gameDescription->flags & ADGF_DEMO;
}
+bool SciEngine::hasMacIconBar() const {
+ return _resMan->isSci11Mac() && getSciVersion() == SCI_VERSION_1_1 && getGameId() != GID_HOYLE4;
+}
+
Common::String SciEngine::getSavegameName(int nr) const {
return _targetName + Common::String::printf(".%03d", nr);
}
diff --git a/engines/sci/sci.h b/engines/sci/sci.h
index 7239abad17..008c00f726 100644
--- a/engines/sci/sci.h
+++ b/engines/sci/sci.h
@@ -228,6 +228,7 @@ public:
Common::Language getLanguage() const;
Common::Platform getPlatform() const;
bool isDemo() const;
+ bool hasMacIconBar() const;
inline ResourceManager *getResMan() const { return _resMan; }
inline Kernel *getKernel() const { return _kernel; }