SCI: Add detection for Hoyle4 Mac

svn-id: r53397
This commit is contained in:
Matthew Hoops 2010-10-13 03:28:59 +00:00
parent e9f50882ea
commit 07abe3d603
4 changed files with 19 additions and 7 deletions

View file

@ -854,14 +854,14 @@ static const struct ADGameDescription SciGameDescriptions[] = {
AD_LISTEND}, AD_LISTEND},
Common::EN_ANY, Common::kPlatformPC, 0, GUIO_NOSPEECH }, Common::EN_ANY, Common::kPlatformPC, 0, GUIO_NOSPEECH },
// Hoyle 4 - English DOS Demo // Hoyle 4 (Hoyle Classic Card Games) - English DOS Demo
{"hoyle4", "Demo", { {"hoyle4", "Demo", {
{"resource.map", 0, "60f764020a6b788bbbe415dbc2ccb9f3", 931}, {"resource.map", 0, "60f764020a6b788bbbe415dbc2ccb9f3", 931},
{"resource.000", 0, "5fe3670e3ddcd4f85c10013b5453141a", 615522}, {"resource.000", 0, "5fe3670e3ddcd4f85c10013b5453141a", 615522},
AD_LISTEND}, AD_LISTEND},
Common::EN_ANY, Common::kPlatformPC, ADGF_DEMO, GUIO_NOSPEECH }, 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) // SCI interpreter version 1.001.200 (just a guess)
// Does anyone have this version? -clone2727 // Does anyone have this version? -clone2727
{"hoyle4", "Demo", { {"hoyle4", "Demo", {
@ -871,7 +871,6 @@ static const struct ADGameDescription SciGameDescriptions[] = {
Common::EN_ANY, Common::kPlatformPC, ADGF_DEMO, GUIO_NOSPEECH }, Common::EN_ANY, Common::kPlatformPC, ADGF_DEMO, GUIO_NOSPEECH },
// Hoyle 4 (Hoyle Classic Card Games) - English DOS/Win // Hoyle 4 (Hoyle Classic Card Games) - English DOS/Win
// SCI1.1
// Supplied by abevi in bug report #3039291 // Supplied by abevi in bug report #3039291
{"hoyle4", "", { {"hoyle4", "", {
{"resource.map", 0, "2b577c975cc8d8d43f61b6a756129fe3", 4352}, {"resource.map", 0, "2b577c975cc8d8d43f61b6a756129fe3", 4352},
@ -879,6 +878,14 @@ static const struct ADGameDescription SciGameDescriptions[] = {
AD_LISTEND}, AD_LISTEND},
Common::EN_ANY, Common::kPlatformPC, 0, GUIO_NOSPEECH }, 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 // Jones in the Fast Lane EGA - English DOS
// SCI interpreter version 1.000.172 (not 100% sure FIXME) // SCI interpreter version 1.000.172 (not 100% sure FIXME)
{"jones", "EGA", { {"jones", "EGA", {

View file

@ -122,9 +122,9 @@ GfxScreen::GfxScreen(ResourceManager *resMan) : _resMan(resMan) {
// Initialize the actual screen // Initialize the actual screen
if (_resMan->isSci11Mac() && getSciVersion() == SCI_VERSION_1_1) { if (g_sci->hasMacIconBar()) {
// For SCI1.1 Mac, we need to expand the screen to accommodate for // For SCI1.1 Mac games with the custom icon bar, we need to expand the screen
// the icon bar. Of course, both KQ6 and QFG1 VGA differ in size. // to accommodate for the icon bar. Of course, both KQ6 and QFG1 VGA differ in size.
if (g_sci->getGameId() == GID_KQ6) if (g_sci->getGameId() == GID_KQ6)
initGraphics(_displayWidth, _displayHeight + 26, _displayWidth > 320); initGraphics(_displayWidth, _displayHeight + 26, _displayWidth > 320);
else if (g_sci->getGameId() == GID_QFG1VGA) else if (g_sci->getGameId() == GID_QFG1VGA)

View file

@ -514,7 +514,7 @@ void SciEngine::initGraphics() {
_gfxPaint32 = 0; _gfxPaint32 = 0;
#endif #endif
if (_resMan->isSci11Mac() && getSciVersion() == SCI_VERSION_1_1) if (hasMacIconBar())
_gfxMacIconBar = new GfxMacIconBar(); _gfxMacIconBar = new GfxMacIconBar();
bool paletteMerging = true; bool paletteMerging = true;
@ -664,6 +664,10 @@ bool SciEngine::isDemo() const {
return _gameDescription->flags & ADGF_DEMO; 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 { Common::String SciEngine::getSavegameName(int nr) const {
return _targetName + Common::String::printf(".%03d", nr); return _targetName + Common::String::printf(".%03d", nr);
} }

View file

@ -228,6 +228,7 @@ public:
Common::Language getLanguage() const; Common::Language getLanguage() const;
Common::Platform getPlatform() const; Common::Platform getPlatform() const;
bool isDemo() const; bool isDemo() const;
bool hasMacIconBar() const;
inline ResourceManager *getResMan() const { return _resMan; } inline ResourceManager *getResMan() const { return _resMan; }
inline Kernel *getKernel() const { return _kernel; } inline Kernel *getKernel() const { return _kernel; }