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

eriktorbjorn eriktorbjorn at telia.com
Sun Jul 5 01:12:05 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:
cc471ecd07 MADE: Cleanup AdLib driver initialization...


Commit: cc471ecd078c4a7f19c2794ac8a8479c1ad4d26b
    https://github.com/scummvm/scummvm/commit/cc471ecd078c4a7f19c2794ac8a8479c1ad4d26b
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2015-07-05T01:09:55+02:00

Commit Message:
MADE: Cleanup AdLib driver initialization...

... as per m_kiewitz's suggestions.

Changed paths:
    engines/made/made.cpp
    engines/made/music.cpp
    engines/made/music.h



diff --git a/engines/made/made.cpp b/engines/made/made.cpp
index 5d3e6d7..ab07ef7 100644
--- a/engines/made/made.cpp
+++ b/engines/made/made.cpp
@@ -275,7 +275,7 @@ void MadeEngine::handleEvents() {
 }
 
 Common::Error MadeEngine::run() {
-	_music = new MusicPlayer(getGameID() == GID_RTZ, (getFeatures() & GF_CD_COMPRESSED) != 0);
+	_music = new MusicPlayer(getGameID() == GID_RTZ);
 	syncSoundSettings();
 
 	// Initialize backend
diff --git a/engines/made/music.cpp b/engines/made/music.cpp
index 7efa24f..be66c08 100644
--- a/engines/made/music.cpp
+++ b/engines/made/music.cpp
@@ -31,24 +31,27 @@
 #include "audio/midiparser.h"
 #include "audio/miles.h"
 
+#include "common/file.h"
 #include "common/stream.h"
 
 namespace Made {
 
-MusicPlayer::MusicPlayer(bool milesAudio, bool compressedCD) : _isGM(false),_milesAudioMode(false) {
+MusicPlayer::MusicPlayer(bool milesAudio) : _isGM(false),_milesAudioMode(false) {
 	MusicType musicType;
 	if (milesAudio) {
 		MidiDriver::DeviceHandle dev = MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB | MDT_PREFER_MT32);
 		musicType = MidiDriver::getMusicType(dev);
+		Common::SeekableReadStream *adLibInstrumentStream = nullptr;
 		switch (musicType) {
 		case MT_ADLIB:
 			_milesAudioMode = true;
-			if (compressedCD) {
-				Common::SeekableReadStream *adLibInstrumentStream = RedReader::loadFromRed("rtzcd.red", "sample.ad");
-				_driver = Audio::MidiDriver_Miles_AdLib_create("", "", adLibInstrumentStream);
-			} else {
-				_driver = Audio::MidiDriver_Miles_AdLib_create("SAMPLE.AD", "SAMPLE.AD");
+			if (Common::File::exists("rtzcd.red")) {
+				// Installing Return to Zork produces both a SAMPLE.AD and
+				// a SAMPLE.OPL file, but they are identical. The resource
+				// file appears to only contain SAMPLE.AD.
+				adLibInstrumentStream = RedReader::loadFromRed("rtzcd.red", "SAMPLE.AD");
 			}
+			_driver = Audio::MidiDriver_Miles_AdLib_create("SAMPLE.AD", "SAMPLE.OPL", adLibInstrumentStream);
 			break;
 		case MT_MT32:
 			_milesAudioMode = true;
diff --git a/engines/made/music.h b/engines/made/music.h
index 710805d..558b41c 100644
--- a/engines/made/music.h
+++ b/engines/made/music.h
@@ -38,7 +38,7 @@ enum MusicFlags {
 
 class MusicPlayer : public Audio::MidiPlayer {
 public:
-	MusicPlayer(bool milesAudio, bool compressedCD);
+	MusicPlayer(bool milesAudio);
 
 	void playXMIDI(GenericResource *midiResource, MusicFlags flags = MUSIC_NORMAL);
 	void playSMF(GenericResource *midiResource, MusicFlags flags = MUSIC_NORMAL);






More information about the Scummvm-git-logs mailing list