[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.206,1.207 midi.cpp,1.42,1.43

Jamieson Christian jamieson630 at users.sourceforge.net
Fri May 23 20:11:03 CEST 2003


Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1:/tmp/cvs-serv29224/scummvm/simon

Modified Files:
	simon.cpp midi.cpp 
Log Message:
Added support for GMF loop specifier

Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.206
retrieving revision 1.207
diff -u -d -r1.206 -r1.207
--- simon.cpp	24 May 2003 01:26:05 -0000	1.206
+++ simon.cpp	24 May 2003 03:10:14 -0000	1.207
@@ -5307,6 +5307,8 @@
 			// TODO Add music support for simon1demo
 		} else {
 			midi.stop();
+			midi.setLoop (true); // Must do this BEFORE loading music. (GMF may have its own override.)
+
 			if (_game & GF_WIN) {	
 				_game_file->seek(_game_offsets_ptr[gss->MUSIC_INDEX_BASE + music], SEEK_SET);
 				midi.loadMultipleSMF (_game_file);
@@ -5326,7 +5328,6 @@
 				delete f;
 			}
 
-			midi.setLoop (true);
 			midi.startTrack (0);
 		}
 	}

Index: midi.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/midi.cpp,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- midi.cpp	24 May 2003 01:42:57 -0000	1.42
+++ midi.cpp	24 May 2003 03:10:14 -0000	1.43
@@ -298,10 +298,15 @@
 	p->data = (byte *) calloc (size + 4, 1);
 	in->read (p->data, size);
 
-	// For GMF files, we're going to have to use
-	// hardcoded size tables.
-	if (!memcmp (p->data, "GMF\x1", 4) && size == 64000)
-		size = simon1_gmf_size [song];
+	if (!memcmp (p->data, "GMF\x1", 4)) {
+		if (!sfx)
+			setLoop (p->data[6] != 0);
+
+		// For GMF files, we're going to have to use
+		// hardcoded size tables.
+		if (size == 64000)
+			size = simon1_gmf_size [song];
+	}
 
 	MidiParser *parser = MidiParser::createParser_SMF();
 	parser->property (MidiParser::mpMalformedPitchBends, 1);





More information about the Scummvm-git-logs mailing list