[Scummvm-cvs-logs] CVS: scummvm/queen music.cpp,1.15,1.16 music.h,1.10,1.11 queen.cpp,1.78,1.79

Joost Peters joostp at users.sourceforge.net
Tue Jan 27 15:14:11 CET 2004


Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27861/queen

Modified Files:
	music.cpp music.h queen.cpp 
Log Message:
Allow using a real MT-32 (can someone with one please test this?)


Index: music.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/music.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- music.cpp	27 Jan 2004 21:28:17 -0000	1.15
+++ music.cpp	27 Jan 2004 23:05:02 -0000	1.16
@@ -113,7 +113,7 @@
 			_channelVolume[channel] = volume;
 			//volume = volume * _masterVolume / 255;
 			b = (b & 0xFF00FFFF) | (volume << 16);
-		} else if ((b & 0xF0) == 0xC0) {
+		} else if ((b & 0xF0) == 0xC0 && !_nativeMT32) {
 			b = (b & 0xFFFF00FF) | mt32_to_gm[(b >> 8) & 0xFF] << 8;
 		} 
 		else if ((b & 0xFFF0) == 0x007BB0) {

Index: music.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/music.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- music.h	25 Jan 2004 12:50:29 -0000	1.10
+++ music.h	27 Jan 2004 23:05:02 -0000	1.11
@@ -35,7 +35,8 @@
 public:
 	MusicPlayer(MidiDriver *driver, byte *data, uint32 size);
 	~MusicPlayer();
-	
+
+	void hasNativeMT32(bool b)	{ _nativeMT32 = b; }
 	void playMusic();
 	void stopMusic();
 	void setLoop(bool loop)		{ _looping = loop; }
@@ -76,6 +77,7 @@
 	MidiParser *_parser;
 	MidiChannel *_channel[16];
 	byte _channelVolume[16];
+	bool _nativeMT32;
 	
 	Common::RandomSource _rnd;
 				
@@ -97,10 +99,11 @@
 public:
 	Music(MidiDriver *_driver, QueenEngine *vm);
 	~Music();
+	void hasNativeMT32(bool b)		{ _player->hasNativeMT32(b); }
 	void playSong(uint16 songNum);
 	void queueTuneList(int16 tuneList)	{ _player->queueTuneList(tuneList); }
-	void playMusic()					{ _player->playMusic(); }
-	void stopSong()						{ _player->stopMusic(); }
+	void playMusic()			{ _player->playMusic(); }
+	void stopSong()				{ _player->stopMusic(); }
 	
 protected:
 	byte *_musicData;

Index: queen.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/queen.cpp,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -d -r1.78 -r1.79
--- queen.cpp	25 Jan 2004 14:10:29 -0000	1.78
+++ queen.cpp	27 Jan 2004 23:05:02 -0000	1.79
@@ -352,8 +352,12 @@
 	MidiDriver *driver = GameDetector::createMidi(GameDetector::detectMusicDriver(MDT_NATIVE | MDT_ADLIB | MDT_PREFER_NATIVE));
 	if (!driver)
 		driver = MidiDriver_ADLIB_create(_mixer);
-	
+	else if (ConfMan.getBool("native_mt32"))
+		driver->property(MidiDriver::PROP_CHANNEL_MASK, 0x03FE);
+		
 	_music = new Music(driver, this);
+	_music->hasNativeMT32(ConfMan.getBool("native_mt32"));
+	
 	_sound = Sound::giveSound(_mixer, this, _resource->compression());
 	_walk = new Walk(this);
 	_saveFileMan = _system->get_savefile_manager();





More information about the Scummvm-git-logs mailing list