From 07abe3d6038de672d82446b7a2d289977cd972fb Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Wed, 13 Oct 2010 03:28:59 +0000 Subject: SCI: Add detection for Hoyle4 Mac svn-id: r53397 --- engines/sci/detection_tables.h | 13 ++++++++++--- engines/sci/graphics/screen.cpp | 6 +++--- engines/sci/sci.cpp | 6 +++++- engines/sci/sci.h | 1 + 4 files changed, 19 insertions(+), 7 deletions(-) (limited to 'engines/sci') 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; } -- cgit v1.2.3