[Scummvm-cvs-logs] CVS: scummvm/saga music.cpp,1.66,1.67

Torbjörn Andersson eriktorbjorn at users.sourceforge.net
Wed Sep 21 03:48:27 CEST 2005


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

Modified Files:
	music.cpp 
Log Message:
This should keep IHNM from triggering an assertion in FLAC. But I'm not
sure since I don't have FLAC installed on this computer. The looping for
standalone tracks looked a little strange, too, so I've changed it.


Index: music.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/music.cpp,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -d -r1.66 -r1.67
--- music.cpp	20 Sep 2005 18:04:26 -0000	1.66
+++ music.cpp	21 Sep 2005 10:46:20 -0000	1.67
@@ -383,26 +383,33 @@
 	_player->stopMusic();
 	_mixer->stopHandle(_musicHandle);
 
+	int realTrackNumber;
+
+	if (_vm->getGameType() == GType_ITE) {
+		if (flags == MUSIC_DEFAULT) {
+			if (resourceId == 13 || resourceId == 19) {
+				flags = MUSIC_NORMAL;
+			} else {
+				flags = MUSIC_LOOP;
+			}
+		}
+		realTrackNumber = resourceId - 8;
+	} else {
+		realTrackNumber = resourceId + 1;
+	}
+
 	// Try to open standalone digital track
 	for (int i = 0; i < ARRAYSIZE(TRACK_FORMATS) - 1; ++i)
-		if (_track = TRACK_FORMATS[i].openTrackFunction(resourceId - 8)) {
+		if (_track = TRACK_FORMATS[i].openTrackFunction(realTrackNumber)) {
 			break;
 		}
 	if (_track) {
-		_track->play(_mixer, &_musicHandle, (MUSIC_LOOP ? -1 : 1), 10000);
+		_track->play(_mixer, &_musicHandle, (flags == MUSIC_LOOP) ? -1 : 1, 10000);
 		return;
 	}
 
 	if (_vm->getGameType() == GType_ITE) {
 		if (resourceId >= 9 && resourceId <= 34) {
-			if (flags == MUSIC_DEFAULT) {
-				if ((resourceId == 13) || (resourceId == 19)) {
-					flags = MUSIC_NORMAL;
-				} else {
-					flags = MUSIC_LOOP;
-				}
-			}
-
 			if (_musicContext != NULL) {
 				//TODO: check resource size
 				audioStream = new RAWInputStream(_vm, _musicContext, resourceId - 9, flags == MUSIC_LOOP);





More information about the Scummvm-git-logs mailing list