aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/sound.cpp
AgeCommit message (Collapse)Author
2013-10-03SCUMM: Fix unused variable warningsRodrigo Rebello
2013-07-24SCUMM: Implement original AD AdLib output.Johannes Schickel
This implements the original AD output and enables it for Indy3 and Loom DOS. It is not enabled for Monkey Island DOS because it would break multi MIDI support. However, there are also drawbacks for Indy3. In the catacombs we were able to play sfx (Indy walking around) and the background music at once. This was not supported in the original player and thus also does not work with this reimplementation. This fixes bug #2027877 "INDY3: Non-Looping Sound Effects". This fixes bug #1159581 "ADLIB: Adlib Emulation doesn't Respect Volume Settings" for Indy3 and Loom.
2013-05-02COMMON: Change kPlatformPC to kPlatformDOSMatthew Hoops
"PC" was very ambiguous and now it matches what we show in the GUI. This also corrects sword2's platform to Windows.
2012-11-14SCUMM: Remove Mac version of MI1 from special case.Torbjörn Andersson
We no longer use iMuse for MI1 Mac so this never happens. The Mac player can only play one song at a time, so it should be all right.
2012-11-14SCUMM: Remove unnecessary check for Mac LoomTorbjörn Andersson
As clone2727 pointed out, the default case handles Loom. I guess it was a special case before to *prevent* it from trying to play the sound, and to keep some comments about the format.
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.
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.
2012-09-26JANITORIAL: Remove trailing whitespaces.Johannes Schickel
Powered by: git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-20SCUMM: Update commentsMatthew Hoops
2012-09-20SCUMM: Restrict the Mac m68k v5 driver to MI2/Indy4Matthew Hoops
Shouldn't be used with MI1
2012-09-20SCUMM: Add support for Indy4 Mac 68k soundMatthew Hoops
2012-09-20SCUMM: Don't play SBL effects in MI2 mac.Johannes Schickel
The original does not do this either.
2012-01-15SCUMM: add missing free()athrxx
2011-11-06SCUMM: Stream sfx/voice sounds from mouster.sou.Johannes Schickel
This fixes sound corruption when using the new VOC streaming code. It also reduces the runtime memory needed for compressed sound files slightly, since it does not preload them into memory anymore. This comes at the expense of one file descriptor needed per sfx being played though. Thanks to Kirben for his review and feedback.
2011-11-03SCUMM: Fix warningsEugene Sandulenko
2011-11-02SCUMM: Remove outdated comment.Johannes Schickel
2011-10-09AUDIO: Add default disposeAfterUse value to makeVOCStream again.Johannes Schickel
2011-10-09AUDIO: Remove unused makeVOCStream interface.Johannes Schickel
2011-09-17SCUMM FM-TOWNS: fix another regressionathrxx
(pcm sound effects broken in 69adb13c2f3cadd4dac2bba8164aa0b8a9400abc)
2011-08-19SCUMM: Fix AdLib output in (MI2/)Indy4 Amiga.Johannes Schickel
Indy4 Amiga features only ROL tracks, thus with 69adb13c2f3cadd4dac2bba8164aa0b8a9400abc the MIDI -> AdLib conversion was broken. Fixed that now by allowing ROL tracks to be played on AdLib output for Amiga games. This probably also affected Monkey Island 2 Amiga, but I don't have it to test.
2011-08-16SCUMM: Fix AdLib output for MI2/Indy4 MacMatthew Hoops
A regression from 69adb13c2f3cadd4dac2bba8164aa0b8a9400abc
2011-08-08SCUMM: Remove unneeded check for CMS in readSoundResource.Johannes Schickel
CMS support is only available in games using readSoundResourceSmallHeader.
2011-08-06SCUMM: Fix compilationEugene Sandulenko
2011-08-06ALL: Reduce audio/ header dependencyEugene Sandulenko
2011-08-06OSYSTEM: extended installTimerProc() with timer ID parameterEugene Sandulenko
2011-08-05SCUMM: Fix up CMS player implementation.Johannes Schickel
It's much better now and hopefully quite close to the original when it comes to the music part. The intro music of Loom and Monkey Island 1 EGA sounds fine to me now at least.
2011-08-03SCUMM: Typos... thx clone2727.Johannes Schickel
2011-08-03SCUMM: Added FIXME to our old AdLib resource conversion code.Johannes Schickel
We handle command 0x80 incorrectly, which results in sound effects never looping. This is the cause for bug #2027877 for example. I add this FIXME since it is (probably) non-trivial to fix and so it won't be forgotten.
2011-07-17SCUMM: Fix strange noise in Indy4 outro with AdLib/FM-Towns output.Johannes Schickel
Formerly we tried to play back a ROL resource on AdLib in this case, since the game does not contain a ADL resource for the sound the game tries to play here. The original does not exhibit this behavior, thus I changed it to behave the same now. Big thanks to eriktorbjorn for noticing and finding the cause of this problem. Also thanks to Kirben for checking how the original behaved and _athrxx for checking the FM-Towns version of Indy4.
2011-07-17SCUMM: Clarify PC Speaker style sound resource handling with a comment.Johannes Schickel
2011-07-08SCUMM: Initial PC Speaker output implementation for SCUMM v5.Johannes Schickel
This is *not* complete yet.
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-05-17SCUMM: Add missing imuse featureathrxx
This adds an extra detune parameter which is assigned via sysex code 0. Most tracks don't use this (= assign a value of 0), so it isn't really a very noticeable feature.
2011-05-13SCUMM: Turned ResTypeData into a Common::Array<Resource>, subsuming its ↵Max Horn
_resource member
2011-05-13SCUMM: Rename ResTypes->ResType, introduce ResId typedef, change code to use ↵Max Horn
both
2011-05-13SCUMM: Add a Resource class, refactor res code around itMax Horn
2011-05-13SCUMM: Refactor how resource (types) are srepresentedMax Horn
Previously, we had a couple of arrays of size N (where N = number of resource types), one for each attribute of a resource type (such as as the number of resources of that type. Now, we have one array of size N, whose elements are a record aggregating all the attributes of each resource type.
2011-05-13SCUMM: Move class ResourceManager to its own headerMax Horn
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-05-02SCUMM: Add support for an alternate version of The Dig's demoMatthew Hoops
2011-04-12COMMON: Replace MKID_BE by MKTAGMax Horn
MKID_BE relied on unspecified behavior of the C++ compiler, and as such was always a bit unsafe. The new MKTAG macro is slightly less elegant, but does no longer depend on the behavior of the compiler. Inspired by FFmpeg, which has an almost identical macro.
2011-04-05SCUMM: CleanupMax Horn
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850
2010-11-19COMMON: Split common/stream.h into several headersMax Horn
svn-id: r54385
2010-11-08COMMON: Push #include audiocd.h in system.h out to .cpp filesMax Horn
svn-id: r54148
2010-10-13OPENGL: Merged from trunk, from rev 52105 to 53396.Johannes Schickel
This includes an rather hacky attempt to merge all the recent gp2x backend changes into the branch. I suppose the gp2x backend and probably all new backends, i.e. gph, dingux etc., might not compile anymore. Since I have no way of testing those it would be nice if porters could look into getting those up to speed in this branch. svn-id: r53399
2010-10-07SCUMM/FM-TOWNS: improved sfx support for indy4 and monkey2Florian Kagerer
svn-id: r53052
2010-09-18SCUMM: Fix bug #3070077 - MMC64: No music when Syd plays the piano.Travis Howell
svn-id: r52796
2010-08-22SCUMM: fix CD audio regression in Monkey Island 1 DOS/CDFlorian Kagerer
svn-id: r52287
2010-08-18SCUMM/FM-TOWNS: start rewriting audio codeFlorian Kagerer
- Start rewriting audio code for FM-TOWNS versions of Loom, Indy3 and Monkey Island 1 using the recently added code in towns_audio.cpp (Zak should work the same way, but I can't test, since I don't own that one). - All sound types (pcm, euphony and cd audio) now support volume and balance control (e.g. try walking into/out of the kitchen and opening/closing the door in the Scumm Bar in Monkey Island 1 or walking into/out of the circus tent). - Pcm sounds now support proper loop start/end and note offsets (e.g. try out the hammer sound in the forge in LOOM for example). - some other minor improvements - The FM-Towns versions of Indy 4 and Monkey Island 2 are not affected. I don't have Monkey Island 2, but I presume that it will work like Indy 4. Adding support for these will be a separate task, since they work quite differently. svn-id: r52198