aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/player_v5m.cpp
AgeCommit message (Collapse)Author
2012-11-19SCUMM: Simplify checkMusicAvailable() a bitTorbjörn Andersson
2012-11-18SCUMM: Fix regression that caused "pops" in MI1 jungle musicTorbjörn Andersson
Properly treat rests as rests, not notes. Otherwise, it would try to play a really low note which just came out as a "pop".
2012-11-18SCUMM: Prevent music channels from drifting out of sync in Mac MI1Torbjörn Andersson
In looped music, prevent the music channels from drifting out of sync over time. This was noticeable after a few minutes in the SCUMM Bar. We do this by extending the last note (which is just zeroes, so we didn't even use to play it) so that it has the exact number of samples needed to make all channels the exact same length. (This is calculated when the music is loaded, so it does not need any extra data in the save games, thankfully.) As a result, the getNextNote() is now responsible for converting the duration to number of samples (out of necessity) and for converting the note to a pitch modifier (out of symmetry). I made several false starts before I realized how much easier it would be this way.
2012-11-14SCUMM: Move most of the Macintosh player code into its own classTorbjörn Andersson
The Monkey Island and Loom mac music is really quite similar. The data layout is a bit different, but most of the code was easy to separate into its own class. The Loom player doesn't do looped music but I don't remember off-hand if it ever should.
2012-11-12SCUMM: Initialize the Macintosh MI1 instruments, along with the channels.Torbjörn Andersson
Otherwise it may crash if you quit before any instruments have been loaded. Oops.
2012-11-11SCUMM: Added support for Macintosh music in Monkey Island 1Torbjörn Andersson
This is based on the old Mac0-to-General MIDI conversion that we used to do (and which this patch removes), as well as the code for playing the Monkey Island 2 and Fate of Atlantis Macintosh music. I'm not sure how accurate it is, particularly in tempo and volume, but at this point it seems to work pretty well. Looping music is perhaps a bit off, but it was before as well. There is an annoying drawn out note in the music when you're following the shopkeeper, but that appears to have been there in the original as well.