aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/player_v3m.cpp
AgeCommit message (Collapse)Author
2013-01-27SCUMM: Update handling of non so resources in Loom Mac.Johannes Schickel
This changes the warning to a debug and also updates the comment a bit. Thanks to eriktorbjorn for checking Loom Mac in an emulator.
2013-01-27SCUMM: Work around bug #3602239 ("Mac Loom crashes using opening...")Torbjörn Andersson
Skip music resources that don't have the "so" (song?) tag. It is better than asserting, now that it turns out that they do exist.
2012-11-24SCUMM: Handle note value 1 as "hold current note" in MI1 MacTorbjörn Andersson
After listening to the original music in a Mac emulator (which unfortunately doesn't handle the music very well), I can only conclude that note value 1 means the note should continue playing. At first I thought maybe it was supposed to fade the current note, or perhaps change its volume, but I can't hear any traces of either. So I'm going to assume it just means "hold the current note", though for the life of me I cannot think of any valid reason for such a command. So it may be wrong, but it sounds closer to the emulator than it did before.
2012-11-19SCUMM: Simplify checkMusicAvailable() a bitTorbjörn Andersson
2012-11-19SCUMM: Add Windows encoding of the Mac Loom filenameTorbjö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: Try harder to open the Loom Macintosh executable.Torbjörn Andersson
Try the Mac OS Roman form, the UTF-8 form and the filename without any trademark glyph.
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-13SCUMM: Add support for Mac Loom music and soundTorbjörn Andersson
It turns out that playing the Mac Loom music isn't particularly different from playing the Monkey Island 1 music, except the data layout is a bit different and there's no per-note volume.