[Scummvm-cvs-logs] scummvm master -> e3d2229af2c2ec84135d4e7b2d340e4240a92566
m-kiewitz
m_kiewitz at users.sourceforge.net
Sat May 30 17:42:16 CEST 2015
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
e3d2229af2 SHERLOCK: midi parser delta reading changed
Commit: e3d2229af2c2ec84135d4e7b2d340e4240a92566
https://github.com/scummvm/scummvm/commit/e3d2229af2c2ec84135d4e7b2d340e4240a92566
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-05-30T17:42:36+02:00
Commit Message:
SHERLOCK: midi parser delta reading changed
Changed paths:
engines/sherlock/music.cpp
diff --git a/engines/sherlock/music.cpp b/engines/sherlock/music.cpp
index 3e31bcc..884fbd6 100644
--- a/engines/sherlock/music.cpp
+++ b/engines/sherlock/music.cpp
@@ -86,9 +86,15 @@ void MidiParser_SH::parseNextEvent(EventInfo &info) {
115, 112, 55, 124, 123, 0, 14, 117 /* 120-127 */
};
+ // there is no delta right at the start of the music data
+ // this order is essential, otherwise notes will get delayed or even go missing
+ if (_position._playPos != _tracks[0]) {
+ info.delta = *(_position._playPos++);
+ } else {
+ info.delta = 0;
+ }
info.start = _position._playPos;
- info.delta = 0;
info.event = *_position._playPos++;
//warning("Event %x", info.event);
@@ -157,8 +163,6 @@ void MidiParser_SH::parseNextEvent(EventInfo &info) {
warning("MidiParser_SH::parseNextEvent: Unsupported event code %x", info.event);
break;
}// switch (info.command())
-
- info.delta = *(_position._playPos++);
}
bool MidiParser_SH::loadMusic(byte *data, uint32 size) {
More information about the Scummvm-git-logs
mailing list