[Scummvm-cvs-logs] SF.net SVN: scummvm: [25483] scummvm/trunk/engines/scumm/scumm.cpp

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sun Feb 11 04:01:28 CET 2007


Revision: 25483
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25483&view=rev
Author:   fingolfin
Date:     2007-02-10 19:01:28 -0800 (Sat, 10 Feb 2007)

Log Message:
-----------
Patch #1186858 (GM/GS/MT-32 Init Patch) -- slightly adapted to apply to current SVN

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/scumm.cpp

Modified: scummvm/trunk/engines/scumm/scumm.cpp
===================================================================
--- scummvm/trunk/engines/scumm/scumm.cpp	2007-02-11 02:47:02 UTC (rev 25482)
+++ scummvm/trunk/engines/scumm/scumm.cpp	2007-02-11 03:01:28 UTC (rev 25483)
@@ -1518,8 +1518,8 @@
 		break;
 	}
 	
-	// FIXME: MD_TOWNS should not be _midi_native in the first place!! iMuse code needs to be restructured.
-	if ((_game.id == GID_TENTACLE) || (_game.id == GID_SAMNMAX) || (midiDriver == MD_TOWNS))
+	// DOTT + SAM use General MIDI, so they shouldn't use GS settings
+	if ((_game.id == GID_TENTACLE) || (_game.id == GID_SAMNMAX))
 		_enable_gs = false;
 	else
 		_enable_gs = ConfMan.getBool("enable_gs");
@@ -1577,8 +1577,12 @@
 			_imuse->property(IMuse::PROP_GAME_ID, _game.id);
 			if (ConfMan.hasKey("tempo"))
 				_imuse->property(IMuse::PROP_TEMPO_BASE, ConfMan.getInt("tempo"));
-			_imuse->property(IMuse::PROP_NATIVE_MT32, _native_mt32);
-			_imuse->property(IMuse::PROP_GS, _enable_gs);
+			// YM2162 driver can't handle midi->getPercussionChannel(), NULL shouldn't init MT-32/GM/GS
+			if ((midi != MDT_TOWNS) && (midi != MDT_NONE)) { 
+				_imuse->property(IMuse::PROP_NATIVE_MT32, _native_mt32);
+				if (midiDriver != MD_MT32) // MT-32 Emulation shouldn't be GM/GS initialized
+					_imuse->property(IMuse::PROP_GS, _enable_gs);
+			}
 			if (_game.heversion >= 60 || midi == MDT_TOWNS) {
 				_imuse->property(IMuse::PROP_LIMIT_PLAYERS, 1);
 				_imuse->property(IMuse::PROP_RECYCLE_PLAYERS, 1);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list