[Scummvm-cvs-logs] CVS: scummvm/scumm sound.cpp,1.274,1.275

Travis Howell kirben at users.sourceforge.net
Mon Nov 17 17:58:03 CET 2003


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

Modified Files:
	sound.cpp 
Log Message:

COMI demos only have 3 fonts files.
Don't do CD checks for COMI demos


Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.274
retrieving revision 1.275
diff -u -d -r1.274 -r1.275
--- sound.cpp	17 Nov 2003 22:52:21 -0000	1.274
+++ sound.cpp	18 Nov 2003 01:56:59 -0000	1.275
@@ -1056,18 +1056,26 @@
 			_outputMixerSize = (22050 * 2 * 2);
 
 			char bunfile[20];
-			sprintf(bunfile, "musdisk%d.bun", _scumm->VAR(_scumm->VAR_CURRENTDISK));
-			if (_musicDisk != _scumm->VAR(_scumm->VAR_CURRENTDISK)) 
-				_bundle->closeMusicFile();
-
-			if (_bundle->openMusicFile(bunfile, _scumm->getGameDataPath()) == false) {
+			if (_scumm->_features & GF_DEMO) {
 				if (_bundle->openMusicFile("music.bun", _scumm->getGameDataPath()) == false) {
 					_outputMixerSize = 0;
 					return;
 				}
-			}
+			} else {
 
-			_musicDisk = (byte)_scumm->VAR(_scumm->VAR_CURRENTDISK);
+				sprintf(bunfile, "musdisk%d.bun", _scumm->VAR(_scumm->VAR_CURRENTDISK));
+				if (_musicDisk != _scumm->VAR(_scumm->VAR_CURRENTDISK)) 
+					_bundle->closeMusicFile();
+
+				if (_bundle->openMusicFile(bunfile, _scumm->getGameDataPath()) == false) {
+					if (_bundle->openMusicFile("music.bun", _scumm->getGameDataPath()) == false) {
+						_outputMixerSize = 0;
+						return;
+					}
+				}
+
+				_musicDisk = (byte)_scumm->VAR(_scumm->VAR_CURRENTDISK);
+			}
 		} else {
 			_outputMixerSize = ((22050 * 2 * 2) / 4) * 3;
 
@@ -1235,15 +1243,19 @@
 
 	if (_scumm->_gameId == GID_CMI) {
 		char voxfile[20];
-		sprintf(voxfile, "voxdisk%d.bun", _scumm->VAR(_scumm->VAR_CURRENTDISK));
-		if (_voiceDisk != _scumm->VAR(_scumm->VAR_CURRENTDISK))
-			_bundle->closeVoiceFile();
+		if (_scumm->_features & GF_DEMO) {
+			result = _bundle->openVoiceFile("voice.bun", _scumm->getGameDataPath());
+		} else {
+			sprintf(voxfile, "voxdisk%d.bun", _scumm->VAR(_scumm->VAR_CURRENTDISK));
+			if (_voiceDisk != _scumm->VAR(_scumm->VAR_CURRENTDISK))
+				_bundle->closeVoiceFile();
 
-		result = _bundle->openVoiceFile(voxfile, _scumm->getGameDataPath());
+			result = _bundle->openVoiceFile(voxfile, _scumm->getGameDataPath());
 
-		if (result == false) 
-			result = _bundle->openVoiceFile("voice.bun", _scumm->getGameDataPath());
-		_voiceDisk = (byte)_scumm->VAR(_scumm->VAR_CURRENTDISK);
+			if (result == false) 
+				result = _bundle->openVoiceFile("voice.bun", _scumm->getGameDataPath());
+			_voiceDisk = (byte)_scumm->VAR(_scumm->VAR_CURRENTDISK);
+		}
 	} else if (_scumm->_gameId == GID_DIG)
 		result = _bundle->openVoiceFile("digvoice.bun", _scumm->getGameDataPath());
 	else





More information about the Scummvm-git-logs mailing list