diff options
| -rw-r--r-- | engines/sci/detection.cpp | 3 | ||||
| -rw-r--r-- | engines/sci/detection_tables.h | 10 | ||||
| -rw-r--r-- | engines/sci/engine/features.cpp | 8 | ||||
| -rw-r--r-- | engines/sci/sci.h | 1 | 
4 files changed, 22 insertions, 0 deletions
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp index 8695d97621..ebad3d039a 100644 --- a/engines/sci/detection.cpp +++ b/engines/sci/detection.cpp @@ -103,6 +103,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 ======================================================== +	{"chest",           "Inside the Chest"},	// aka Behind the Developer's Shield  	{"gk2",             "The Beast Within: A Gabriel Knight Mystery"},  	// TODO: Inside The Chest/Behind the Developer's Shield  	{"kq7",             "King's Quest VII: The Princeless Bride"}, @@ -132,6 +133,7 @@ static const GameIdStrToEnum s_gameIdStrToEnum[] = {  	{ "astrochicken",    GID_ASTROCHICKEN },  	{ "camelot",         GID_CAMELOT },  	{ "castlebrain",     GID_CASTLEBRAIN }, +	{ "chest",           GID_CHEST },  	{ "christmas1988",   GID_CHRISTMAS1988 },  	{ "christmas1990",   GID_CHRISTMAS1990 },  	{ "christmas1992",   GID_CHRISTMAS1992 }, @@ -208,6 +210,7 @@ struct OldNewIdTableEntry {  };  static const OldNewIdTableEntry s_oldNewTable[] = { +	{ "archive",    "chest",            SCI_VERSION_NONE     },  	{ "arthur",		"camelot",			SCI_VERSION_NONE     },  	{ "brain",      "castlebrain",      SCI_VERSION_1_MIDDLE },	// Amiga  	{ "brain",      "castlebrain",      SCI_VERSION_1_LATE   }, diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h index b978f40aba..1e9ae51c72 100644 --- a/engines/sci/detection_tables.h +++ b/engines/sci/detection_tables.h @@ -162,6 +162,16 @@ static const struct ADGameDescription SciGameDescriptions[] = {  		AD_LISTEND},  	 	Common::ES_ESP, Common::kPlatformPC, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI)	}, +#ifdef ENABLE_SCI32 +	// Inside the Chest / Behind the Developer's Shield +	// SCI interpreter version 2.000.000 +	{"chest", "", { +		{"resource.map", 0, "9dd015e79cac4f91e7de805448f39775", 1912}, +		{"resource.000", 0, "e4efcd042f86679dd4e1834bb3a38edb", 3770943}, +		AD_LISTEND}, +	 	Common::EN_ANY, Common::kPlatformPC, ADGF_UNSTABLE, GUIO3(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_FB01_MIDI)	}, +#endif +  	// Christmas Card 1988 - English DOS  	// SCI interpreter version 0.000.294  	{"christmas1988", "", { diff --git a/engines/sci/engine/features.cpp b/engines/sci/engine/features.cpp index 22c0a1479d..49e2bfc79f 100644 --- a/engines/sci/engine/features.cpp +++ b/engines/sci/engine/features.cpp @@ -466,6 +466,14 @@ bool GameFeatures::autoDetectSci21KernelType() {  		// This case doesn't occur in early SCI2.1 games, and we've only  		// seen it happen in the RAMA demo, thus we can assume that the  		// game is using a SCI2.1 table + +		// HACK: The Inside the Chest Demo doesn't have sounds at all, but +		// it's using a SCI2 kernel +		if (g_sci->getGameId() == GID_CHEST) { +			_sci21KernelType = SCI_VERSION_2; +			return true; +		} +  		warning("autoDetectSci21KernelType(): Sound object not loaded, assuming a SCI2.1 table");  		_sci21KernelType = SCI_VERSION_2_1;  		return true; diff --git a/engines/sci/sci.h b/engines/sci/sci.h index 3441e26c01..3b9844b326 100644 --- a/engines/sci/sci.h +++ b/engines/sci/sci.h @@ -110,6 +110,7 @@ enum SciGameId {  	GID_ASTROCHICKEN,  	GID_CAMELOT,  	GID_CASTLEBRAIN, +	GID_CHEST,  	GID_CHRISTMAS1988,  	GID_CHRISTMAS1990,  	GID_CHRISTMAS1992,  | 
