[Scummvm-cvs-logs] scummvm master -> e41e412c9ee6c277233ef9f7a5304f8cc40fa370

bluegr md5 at scummvm.org
Sun Apr 29 19:46:57 CEST 2012


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
ad248c9b0b SCI: Add the French floppy version of SQ4 (bug #3515247)
24e57808aa SCI: Add a hack to fix the cursor colors in Longbow (bug #3489101)
e41e412c9e SCI: Fix for bug #3522046 "Detection of SQ4CD as Windows breaks Music"


Commit: ad248c9b0b28a50208930c3b49fa4b51420f1f56
    https://github.com/scummvm/scummvm/commit/ad248c9b0b28a50208930c3b49fa4b51420f1f56
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2012-04-29T10:45:13-07:00

Commit Message:
SCI: Add the French floppy version of SQ4 (bug #3515247)

Changed paths:
    engines/sci/detection_tables.h



diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index d741bb8..ff78d4f 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -3445,6 +3445,19 @@ static const struct ADGameDescription SciGameDescriptions[] = {
 		AD_LISTEND},
 	 	Common::EN_ANY, Common::kPlatformPC, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI)	},
 
+	// Space Quest 4 1.000 - French DOS Floppy (supplied by misterhands in bug report #3515247)
+	{"sq4", "", {
+
+		{"resource.map", 0, "1fd6f356f6a59ad2057686ce6573caeb", 6159},
+		{"resource.000", 0, "8000a55aebc50a68b7cce07a8c33758c", 205287},
+		{"resource.001", 0, "99a6df6d366b3f061271ff3450ac0d32", 1269850},
+		{"resource.002", 0, "a6a8d7a24dbb7a266a26b084e7275e89", 1242668},
+		{"resource.003", 0, "482a99c8103b4bcb5706e5969d1c1193", 1323083},
+		{"resource.004", 0, "b2cca3afcf2e013b8ce86b64155af766", 1254353},
+		{"resource.005", 0, "9e520577e035547c4b5149a6d12ef85b", 1098814},
+		AD_LISTEND},
+	 	Common::FR_FRA, Common::kPlatformPC, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI)	},
+
 	// Space Quest 4 1.000 - English DOS Floppy (from abevi, bug report #2612718)
 	{"sq4", "", {
 		{"resource.map", 0, "8f08b97ca093f370c56d99715b015554", 6153},


Commit: 24e57808aa946ad38379b43ca205af6ef151c66a
    https://github.com/scummvm/scummvm/commit/24e57808aa946ad38379b43ca205af6ef151c66a
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2012-04-29T10:45:14-07:00

Commit Message:
SCI: Add a hack to fix the cursor colors in Longbow (bug #3489101)

Changed paths:
    engines/sci/graphics/cursor.cpp



diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp
index 71f4598..14ffa69 100644
--- a/engines/sci/graphics/cursor.cpp
+++ b/engines/sci/graphics/cursor.cpp
@@ -148,11 +148,13 @@ void GfxCursor::kernelSetShape(GuiResourceId resourceId) {
 	colorMapping[1] = _screen->getColorWhite(); // White is also hardcoded
 	colorMapping[2] = SCI_CURSOR_SCI0_TRANSPARENCYCOLOR;
 	colorMapping[3] = _palette->matchColor(170, 170, 170); // Grey
-	// Special case for the magnifier cursor in LB1 (bug #3487092).
-	// No other SCI0 game has a cursor resource of 1, so this is handled
-	// specifically for LB1.
+	// TODO: Figure out if the grey color is hardcoded
+	// HACK for the magnifier cursor in LB1, fixes its color (bug #3487092)
 	if (g_sci->getGameId() == GID_LAURABOW && resourceId == 1)
 		colorMapping[3] = _screen->getColorWhite();
+	// HACK for Longbow cursors, fixes the shade of grey they're using (bug #3489101)
+	if (g_sci->getGameId() == GID_LONGBOW)
+		colorMapping[3] = _palette->matchColor(223, 223, 223); // Light Grey
 
 	// Seek to actual data
 	resourceData += 4;


Commit: e41e412c9ee6c277233ef9f7a5304f8cc40fa370
    https://github.com/scummvm/scummvm/commit/e41e412c9ee6c277233ef9f7a5304f8cc40fa370
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2012-04-29T10:45:16-07:00

Commit Message:
SCI: Fix for bug #3522046 "Detection of SQ4CD as Windows breaks Music"

Fall back to the DOS soundtracks in Windows CD versions if the user picks
a non-General MIDI music device, as the Windows tracks only contain MIDI
music

Changed paths:
    engines/sci/engine/features.cpp
    engines/sci/engine/features.h
    engines/sci/sound/music.cpp



diff --git a/engines/sci/engine/features.cpp b/engines/sci/engine/features.cpp
index cad95b1..8a93223 100644
--- a/engines/sci/engine/features.cpp
+++ b/engines/sci/engine/features.cpp
@@ -45,6 +45,7 @@ GameFeatures::GameFeatures(SegManager *segMan, Kernel *kernel) : _segMan(segMan)
 	_usesCdTrack = Common::File::exists("cdaudio.map");
 	if (!ConfMan.getBool("use_cdaudio"))
 		_usesCdTrack = false;
+	_forceDOSTracks = false;
 }
 
 reg_t GameFeatures::getDetectionAddr(const Common::String &objName, Selector slc, int methodNum) {
@@ -642,7 +643,7 @@ MoveCountType GameFeatures::detectMoveCountType() {
 }
 
 bool GameFeatures::useAltWinGMSound() {
-	if (g_sci && g_sci->getPlatform() == Common::kPlatformWindows && g_sci->isCD()) {
+	if (g_sci && g_sci->getPlatform() == Common::kPlatformWindows && g_sci->isCD() && !_forceDOSTracks) {
 		SciGameId id = g_sci->getGameId();
 		return (id == GID_ECOQUEST ||
 				id == GID_JONES ||
diff --git a/engines/sci/engine/features.h b/engines/sci/engine/features.h
index 4592c5b..f6bb0b5 100644
--- a/engines/sci/engine/features.h
+++ b/engines/sci/engine/features.h
@@ -117,6 +117,12 @@ public:
 	 */
 	bool useAltWinGMSound();
 
+	/**
+	 * Forces DOS soundtracks in Windows CD versions when the user hasn't
+	 * selected a MIDI output device
+	 */
+	void forceDOSTracks() { _forceDOSTracks = true; }
+
 private:
 	reg_t getDetectionAddr(const Common::String &objName, Selector slc, int methodNum = -1);
 
@@ -137,6 +143,7 @@ private:
 
 	MoveCountType _moveCountType;
 	bool _usesCdTrack;
+	bool _forceDOSTracks;
 
 	SegManager *_segMan;
 	Kernel *_kernel;
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp
index 09cab75..918b045 100644
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -88,6 +88,12 @@ void SciMusic::init() {
 	uint32 dev = MidiDriver::detectDevice(deviceFlags);
 	_musicType = MidiDriver::getMusicType(dev);
 
+	if (g_sci->_features->useAltWinGMSound() && _musicType != MT_GM) {
+		warning("A Windows CD version with an alternate MIDI soundtrack has been chosen, "
+				"but no MIDI music device has been selected. Reverting to the DOS soundtrack");
+		g_sci->_features->forceDOSTracks();
+	}
+
 	switch (_musicType) {
 	case MT_ADLIB:
 		// FIXME: There's no Amiga sound option, so we hook it up to AdLib






More information about the Scummvm-git-logs mailing list