[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