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

m-kiewitz m_kiewitz at users.sourceforge.net
Sat Jul 4 21:38:14 CEST 2015


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

Summary:
b8bec0aaa0 TINSEL: DW1: Miles Audio AdLib support for FAT.OPL


Commit: b8bec0aaa02975c7dbd1587c0175ec3d1b68a65f
    https://github.com/scummvm/scummvm/commit/b8bec0aaa02975c7dbd1587c0175ec3d1b68a65f
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-07-04T21:37:24+02:00

Commit Message:
TINSEL: DW1: Miles Audio AdLib support for FAT.OPL

eriktorbjorn owns a version of DW1, that only has FAT.OPL and no
SAMPLE.AD/SAMPLE.OPL. We check if SAMPLE.AD/.OPL are available,
if not we try our luck with FAT.OPL

Changed paths:
    engines/tinsel/music.cpp



diff --git a/engines/tinsel/music.cpp b/engines/tinsel/music.cpp
index 80442b2..7c6706d 100644
--- a/engines/tinsel/music.cpp
+++ b/engines/tinsel/music.cpp
@@ -383,13 +383,22 @@ MidiMusicPlayer::MidiMusicPlayer(TinselEngine *vm) {
 	if ((vm->getGameId() == GID_DW1) && (milesAudioEnabled)) {
 		// Discworld 1 uses Miles Audio 3
 		// use our own Miles Audio drivers
-		// DW1 has SAMPLE.AD + SAMPLE.OPL, but no SAMPLE.MT
+		// 
+		// DW1 has either drivers/sample.ad and drivers/sample.opl, but no sample.mt
+		//             or fat.opl (although this version has it outside of the main game directory inside /drivers)
 		::MidiDriver::DeviceHandle dev = ::MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB | MDT_PREFER_GM);
 		::MusicType musicType = ::MidiDriver::getMusicType(dev);
+		Common::File fileClass;
 
 		switch (musicType) {
 		case MT_ADLIB:
-			_driver = Audio::MidiDriver_Miles_AdLib_create("SAMPLE.AD", "SAMPLE.OPL");
+			if ((fileClass.exists("SAMPLE.AD")) || (fileClass.exists("SAMPLE.OPL"))) {
+				// Variant 1: drivers/sample.ad or drivers/sample.opl exists
+				_driver = Audio::MidiDriver_Miles_AdLib_create("SAMPLE.AD", "SAMPLE.OPL");
+			} else {
+				// Try variant 2: fat.opl should at least exist
+				_driver = Audio::MidiDriver_Miles_AdLib_create("", "FAT.OPL");
+			}
 			break;
 		case MT_MT32:
 			// Discworld 1 doesn't have a MT32 timbre file






More information about the Scummvm-git-logs mailing list