[Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.121,1.122 scumm.h,1.284,1.285 scummvm.cpp,2.325,2.326

Jamieson Christian jamieson630 at users.sourceforge.net
Wed Aug 13 07:26:12 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv32007/scumm

Modified Files:
	resource.cpp scumm.h scummvm.cpp 
Log Message:
Added PC Speaker and PCjr command line options,
in preparation for Kirben's addition of WA support
for games that already have AD tracks.

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -d -r1.121 -r1.122
--- resource.cpp	13 Aug 2003 01:59:17 -0000	1.121
+++ resource.cpp	13 Aug 2003 14:07:56 -0000	1.122
@@ -29,6 +29,7 @@
 #include "scumm/sound.h"
 #include "common/map.h"
 #include "common/str.h"
+#include "sound/mididrv.h" // Need MD_ enum values
 #include "gui/message.h"
 #include "dialogs.h"
 
@@ -727,7 +728,7 @@
 				break;
 			case MKID('ADL '):
 				pri = 1;
-				if (_use_adlib)
+				if (_midiDriver == MD_ADLIB)
 					pri = 10;
 				break;
 			case MKID('AMI '):
@@ -744,10 +745,13 @@
 				break;
 			case MKID('SPK '):
 				pri = -1;
-//				if (!_use_adlib)
-//					pri = 0;
+//				if (_midiDriver == MD_PCSPK)
+//					pri = 11;
 				break;
 			}
+
+			if ((_midiDriver == MD_PCSPK || _midiDriver == MD_PCJR) && pri != 11)
+				pri = -1;
 
 			debug(8, "    tag: %c%c%c%c, total_size=%d, pri=%d",
 						(char)((tag >> 24) & 0xff),

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.284
retrieving revision 1.285
diff -u -d -r1.284 -r1.285
--- scumm.h	13 Aug 2003 02:21:36 -0000	1.284
+++ scumm.h	13 Aug 2003 14:07:56 -0000	1.285
@@ -1011,7 +1011,7 @@
 	byte _haveMsg;
 	bool _useTalkAnims;
 	uint16 _defaultTalkDelay;
-	bool _use_adlib;
+	int _midiDriver; // Use the MD_ values from mididrv.h
 	int tempMusic;
 	int _saveSound;
 public:

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.325
retrieving revision 2.326
diff -u -d -r2.325 -r2.326
--- scummvm.cpp	13 Aug 2003 02:21:36 -0000	2.325
+++ scummvm.cpp	13 Aug 2003 14:07:56 -0000	2.326
@@ -379,7 +379,7 @@
 	_haveMsg = 0;
 	_useTalkAnims = false;
 	_defaultTalkDelay = 0;
-	_use_adlib = false;
+	_midiDriver = MD_NULL;
 	tempMusic = 0;
 	_silentDigitalImuse = 0;
 	_noDigitalSamples = 0;
@@ -549,7 +549,7 @@
 	_noSubtitles = detector->_noSubtitles;
 	_confirmExit = detector->_confirmExit;
 	_defaultTalkDelay = detector->_talkSpeed;
-	_use_adlib = detector->_use_adlib;
+	_midiDriver = detector->_midi_driver;
 	_language = detector->_language;
 	memset(&res, 0, sizeof(res));
 	_hexdumpScripts = false;
@@ -598,12 +598,13 @@
 	 * automatically when samples need to be generated */
 	_silentDigitalImuse = false;
 	if (!_mixer->bindToSystem(syst)) {
-		warning("Sound initialization failed");
-		if (detector->_use_adlib) {
-			_use_adlib = false;
-			detector->_use_adlib = false;
-			detector->_midi_driver = MD_NULL;
-			warning("Adlib music was selected, switching to midi null driver");
+		warning("Sound mixer initialization failed");
+		if (detector->_midi_driver == MD_ADLIB ||
+		    detector->_midi_driver == MD_PCSPK ||
+		    detector->_midi_driver == MD_PCJR)
+		{
+			_midiDriver = detector->_midi_driver = MD_NULL;
+			warning("MIDI driver depends on sound mixer, switching to null MIDI driver");
 		}
 		_silentDigitalImuse = true;
 		_noDigitalSamples = true;





More information about the Scummvm-git-logs mailing list