From 4c0af01d6a2a860c09dbd047563ac4f727425492 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 3 Feb 2011 02:26:57 +0000 Subject: SCI: Disable the special QFG1 Mac icon bar The original interpreter completely ignores it in favor of the regular one. svn-id: r55748 --- engines/sci/engine/kmisc.cpp | 6 ++++++ engines/sci/graphics/screen.cpp | 2 -- engines/sci/sci.cpp | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'engines/sci') diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp index 0afb6a0a45..b6e1aad679 100644 --- a/engines/sci/engine/kmisc.cpp +++ b/engines/sci/engine/kmisc.cpp @@ -340,6 +340,12 @@ reg_t kMemory(EngineState *s, int argc, reg_t *argv) { // kIconBar is really a subop of kPlatform for SCI1.1 Mac reg_t kIconBar(EngineState *s, int argc, reg_t *argv) { + // QFG1 Mac calls this function to load the Mac icon bar (of which + // the resources do exist), but the game completely ignores it and + // uses the standard icon bar for the game. We do the same. + if (!g_sci->hasMacIconBar()) + return NULL_REG; + // TODO... if (argv[0].toUint16() == 4 && argv[1].toUint16() == 0) { diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp index 696e7efea0..73e60e2cf3 100644 --- a/engines/sci/graphics/screen.cpp +++ b/engines/sci/graphics/screen.cpp @@ -133,8 +133,6 @@ GfxScreen::GfxScreen(ResourceManager *resMan) : _resMan(resMan) { // 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) - initGraphics(_displayWidth, _displayHeight + 20, _displayWidth > 320); else error("Unknown SCI1.1 Mac game"); } else diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp index 2552e7bf43..dc900e0800 100644 --- a/engines/sci/sci.cpp +++ b/engines/sci/sci.cpp @@ -751,7 +751,7 @@ bool SciEngine::isCD() const { } bool SciEngine::hasMacIconBar() const { - return _resMan->isSci11Mac() && getSciVersion() == SCI_VERSION_1_1 && getGameId() != GID_HOYLE4; + return _resMan->isSci11Mac() && getSciVersion() == SCI_VERSION_1_1 && getGameId() == GID_KQ6; } Common::String SciEngine::getSavegameName(int nr) const { -- cgit v1.2.3