[Scummvm-cvs-logs] CVS: scummvm/simon items.cpp,1.70,1.71 midi.cpp,1.36,1.37 midi.h,1.14,1.15 simon.cpp,1.198,1.199 vga.cpp,1.49,1.50
Jamieson Christian
jamieson630 at users.sourceforge.net
Tue May 20 23:14:04 CEST 2003
Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1:/tmp/cvs-serv31144
Modified Files:
items.cpp midi.cpp midi.h simon.cpp vga.cpp
Log Message:
More Simon music fixes.
Index: items.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/items.cpp,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -d -r1.70 -r1.71
--- items.cpp 21 May 2003 05:12:03 -0000 1.70
+++ items.cpp 21 May 2003 06:13:46 -0000 1.71
@@ -1450,12 +1450,12 @@
_last_music_played = music;
_next_music_to_play = -1;
}
- midi.jump (track, 0);
+ midi.startTrack (track);
} else {
if (music != _last_music_played) {
_last_music_played = music;
loadMusic (music);
- midi.jump (track, 0);
+ midi.startTrack (track);
}
}
}
Index: midi.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/midi.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- midi.cpp 21 May 2003 05:26:28 -0000 1.36
+++ midi.cpp 21 May 2003 06:13:47 -0000 1.37
@@ -116,9 +116,8 @@
// Have to unlock it before calling jump()
// (which locks it itself), and then relock it
// upon returning.
- debug (0, " Switching to queued track");
_system->unlock_mutex (_mutex);
- jump (destination, 0);
+ startTrack (destination);
_system->lock_mutex (_mutex);
} else {
stop();
@@ -133,7 +132,7 @@
player->_system->unlock_mutex (player->_mutex);
}
-void MidiPlayer::jump (uint16 track, uint16 tick) {
+void MidiPlayer::startTrack (int track) {
if (track == _currentTrack)
return;
@@ -162,11 +161,14 @@
_parser = parser; // That plugs the power cord into the wall
} else if (_parser) {
_system->lock_mutex (_mutex);
+ if (!_parser->setTrack (track)) {
+ _system->unlock_mutex (_mutex);
+ return;
+ }
_currentTrack = (byte) track;
+ _parser->jumpToTick (0);
}
- _parser->setTrack ((byte) track);
- _parser->jumpToTick (tick ? tick - 1 : 0);
_system->unlock_mutex (_mutex);
pause (false);
}
@@ -223,12 +225,12 @@
_system->unlock_mutex (_mutex);
}
-void MidiPlayer::queueTrack (byte track, bool loop) {
+void MidiPlayer::queueTrack (int track, bool loop) {
_system->lock_mutex (_mutex);
if (_currentTrack == 255) {
_system->unlock_mutex (_mutex);
setLoop (loop);
- jump (track, 0);
+ startTrack (track);
} else {
_queuedTrack = track;
_loopQueuedTrack = loop;
@@ -350,7 +352,6 @@
_paused = true;
_currentTrack = 255;
_system->unlock_mutex (_mutex);
-// jump (0, 1);
}
void MidiPlayer::loadXMIDI (File *in) {
Index: midi.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/midi.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- midi.h 21 May 2003 05:26:29 -0000 1.14
+++ midi.h 21 May 2003 06:13:47 -0000 1.15
@@ -62,10 +62,10 @@
void loadXMIDI (File *in);
void setLoop (bool loop);
- void queueTrack (byte track, bool loop);
+ void startTrack(int track);
+ void queueTrack (int track, bool loop);
bool isPlaying (bool check_queued = false) { return (_currentTrack != 255 && (_queuedTrack != 255 || !check_queued)); }
- void jump (uint16 track, uint16 tick);
void stop();
void pause (bool b);
Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.198
retrieving revision 1.199
diff -u -d -r1.198 -r1.199
--- simon.cpp 21 May 2003 05:26:29 -0000 1.198
+++ simon.cpp 21 May 2003 06:13:47 -0000 1.199
@@ -1070,7 +1070,7 @@
// midi.shutdown();
_mus_file->seek(_mus_offsets[a], SEEK_SET);
midi.loadSMF (_mus_file, a);
- midi.jump (0, 0);
+ midi.startTrack (0);
}
Subroutine *SimonState::getSubroutineByID(uint subroutine_id) {
@@ -5316,7 +5316,9 @@
midi.loadSMF (f, music);
delete f;
}
- midi.jump (0, 0);
+
+ midi.setLoop (true);
+ midi.startTrack (0);
}
}
}
Index: vga.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/vga.cpp,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -d -r1.49 -r1.50
--- vga.cpp 21 May 2003 05:12:04 -0000 1.49
+++ vga.cpp 21 May 2003 06:13:47 -0000 1.50
@@ -1823,7 +1823,7 @@
// as a means of stopping what music is currently
// playing.
midi.setLoop (loop != 0);
- midi.jump (track, 0);
+ midi.startTrack (track);
}
void SimonState::vc_70_queue_music() {
@@ -1838,7 +1838,7 @@
// a different track upon completion.
midi.setLoop (loop != 0);
if (track != -1 && track != 999)
- midi.queueTrack ((byte) track, 0);
+ midi.queueTrack (track, 0);
}
void SimonState::vc_71_check_music_queue() {
@@ -1873,7 +1873,7 @@
midi.stop();
} else {
midi.setLoop (loop != 0);
- midi.jump (track, 0);
+ midi.startTrack (track);
}
}
More information about the Scummvm-git-logs
mailing list