Commit Graph
144 Commits
Author SHA1 Message Date
Johannes Schickel 09708f7224 SCUMM: Stream sfx/voice sounds from mouster.sou.
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-06 13:33:55 +01:00
Eugene Sandulenko 0f711c4a2e SCUMM: Fix warnings 2011-11-03 01:34:53 +00:00
Johannes Schickel f24f0f0582 SCUMM: Remove outdated comment. 2011-11-02 20:28:45 +01:00
Johannes Schickel 3e1405b939 AUDIO: Add default disposeAfterUse value to makeVOCStream again. 2011-10-09 21:24:06 +02:00
Johannes Schickel 221434a83f AUDIO: Remove unused makeVOCStream interface. 2011-10-09 21:23:29 +02:00
athrxx 149fdbfb60 SCUMM FM-TOWNS: fix another regression
(pcm sound effects broken in 69adb13c2f)
2011-09-17 21:15:46 +02:00
Johannes Schickel 0d887aa245 SCUMM: Fix AdLib output in (MI2/)Indy4 Amiga.
Indy4 Amiga features only ROL tracks, thus with
69adb13c2f 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-19 14:39:35 +02:00
Matthew Hoops 8892f2ec70 SCUMM: Fix AdLib output for MI2/Indy4 Mac
A regression from 69adb13c2f
2011-08-16 10:44:20 -04:00
Johannes Schickel fdb2f735dc SCUMM: Remove unneeded check for CMS in readSoundResource.
CMS support is only available in games using readSoundResourceSmallHeader.
2011-08-08 20:15:24 +02:00
Eugene Sandulenko 192b245d51 SCUMM: Fix compilation 2011-08-06 11:39:37 +01:00
Eugene Sandulenko 0dafa7f80f ALL: Reduce audio/ header dependency 2011-08-06 11:30:42 +01:00
Eugene Sandulenko 78f1ea7690 OSYSTEM: extended installTimerProc() with timer ID parameter 2011-08-06 11:28:35 +01:00
Johannes Schickel b86de198a0 SCUMM: Fix up CMS player implementation.
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-05 22:58:50 +02:00
Johannes Schickel 4faa2d5b42 SCUMM: Typos... thx clone2727. 2011-08-03 05:15:29 +02:00
Johannes Schickel e1d881a227 SCUMM: Added FIXME to our old AdLib resource conversion code.
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-08-03 05:10:24 +02:00
Johannes Schickel 69adb13c2f SCUMM: Fix strange noise in Indy4 outro with AdLib/FM-Towns output.
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-17 02:27:33 +02:00
Johannes Schickel 8800794f4d SCUMM: Clarify PC Speaker style sound resource handling with a comment. 2011-07-17 00:08:52 +02:00
Johannes Schickel ed993e6350 SCUMM: Initial PC Speaker output implementation for SCUMM v5.
This is *not* complete yet.
2011-07-08 04:45:01 +02:00
Max Horn 88913c0139 ALL: Remove trailing whitespaces
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-06-20 00:59:48 +02:00
athrxx baaae9d97a SCUMM: Add missing imuse feature
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-17 20:36:32 +02:00
Max Horn 9ec64a66fe SCUMM: Turned ResTypeData into a Common::Array<Resource>, subsuming its _resource member 2011-05-13 14:48:01 +02:00
Max Horn 649f8e0a84 SCUMM: Rename ResTypes->ResType, introduce ResId typedef, change code to use both 2011-05-13 14:02:53 +02:00
Max Horn c02420df43 SCUMM: Add a Resource class, refactor res code around it 2011-05-13 11:47:13 +02:00
Max Horn 45e65d7ea0 SCUMM: Refactor how resource (types) are srepresented
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-13 11:47:08 +02:00
Max Horn b37463fe59 SCUMM: Move class ResourceManager to its own header 2011-05-13 11:47:08 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Matthew Hoops ee223528fc SCUMM: Add support for an alternate version of The Dig's demo 2011-05-02 11:24:04 -04:00
Max Horn 0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
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-12 16:53:15 +02:00
Max Horn 55e65cee80 SCUMM: Cleanup 2011-04-05 15:18:08 +02:00
Max Horn 42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Max Horn 2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Max Horn 059944e59c COMMON: Push #include audiocd.h in system.h out to .cpp files
svn-id: r54148
2010-11-08 23:07:42 +00:00
Johannes Schickel 75e8452b6e OPENGL: Merged from trunk, from rev 52105 to 53396.
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-13 03:57:44 +00:00
Florian Kagerer 01c9b17068 SCUMM/FM-TOWNS: improved sfx support for indy4 and monkey2
svn-id: r53052
2010-10-07 19:23:49 +00:00
Travis Howell ae3b6f0aa3 SCUMM: Fix bug #3070077 - MMC64: No music when Syd plays the piano.
svn-id: r52796
2010-09-18 14:18:48 +00:00
Florian Kagerer 0348ca3e65 SCUMM: fix CD audio regression in Monkey Island 1 DOS/CD
svn-id: r52287
2010-08-22 20:37:48 +00:00
Florian Kagerer 29a5c6a45b SCUMM/FM-TOWNS: start rewriting audio code
- 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
2010-08-18 21:38:43 +00:00
Alejandro Marzini b0409d6739 Merge trunk, from r51777 to r52105
svn-id: r52108
2010-08-16 00:21:07 +00:00
Torbjörn Andersson 6ff151b9ef SCUMM: Fix bug #3024173 - LOOM-PCE: Music stops prematurely
Apparently, the original interpreter hard-coded the lengths of the
audio tracks on the CD, and in this particular case it makes a
difference that one of the tracks is slightly longer on the disc
than the scripts assume it is. Thanks to hennymcc for doing all the
hard work in figuring this out.

svn-id: r52098
2010-08-15 11:37:57 +00:00
Torbjörn Andersson 416b568744 SCUMM: Re-enable PCjr music for Indy 3
Apart from adding the necessary detector flags, in cases where we used
to only check for PC Speaker we now also need to check for PCjr. Note
that I have only tested this with the VGA version. And even with that
one, I've only given it the briefest of tests.

svn-id: r51988
2010-08-11 15:36:29 +00:00
Alejandro Marzini 609e08d5db Merged from trunk, from Rev 49499 to HEAD
svn-id: r50840
2010-07-13 04:31:15 +00:00
Alejandro Marzini e1ef3cd9fc Renamed getAudioCD to getAudioCDManager.
svn-id: r49678
2010-06-15 04:13:12 +00:00
Alejandro Marzini e991cd8c53 - Revised abstract AudioCDManager.
- Removed AudioCDManager Singleton, and changed code for using AudioCDManager in OSystem.
- Added initialization code for new AudioCDManager in BaseBackend and OSystem_SDL.

svn-id: r49548
2010-06-09 20:09:57 +00:00
David Turner 641ffa5ee3 Modification to remove false positive "Possible divide by zero" warnings given by cppcheck-1.43.
These are incorrect as '/' operator has precedence over >>, but this does improve readability anyway.

This bug in cppcheck has already been corrected: http://sourceforge.net/apps/trac/cppcheck/ticket/1714

svn-id: r49517
2010-06-08 20:29:33 +00:00
Max Horn 6d80424908 Fix warnings when FLAC&MP3&VORBIS is disabled; also fixes leak in Tinsel
svn-id: r48696
2010-04-17 23:57:50 +00:00
Max Horn a1840bd573 AUDIO: Rename Mixer::playInputStream to playStream
svn-id: r48637
2010-04-12 09:14:17 +00:00
Travis Howell 753a73be29 Fix bug #2960022 - PUTTPUTT 1: No Load/Save possible.
svn-id: r48499
2010-04-04 09:36:10 +00:00
Max Horn f24cc1c8be Tweak makeVOCDiskStream
* now takes a SeekableReadStream *pointer* like (almost) all other
  audiostream factories
* fix potential memory leak in it
* rename takeOwnershipOfStream to disposeAfterUse for consistency

svn-id: r48184
2010-03-08 10:27:42 +00:00
Travis Howell d204f97beb Fix bug #2961530 - Zak/FM-Towns: Game hangs when using monkey wrench.
svn-id: r48158
2010-03-02 00:18:00 +00:00
Johannes Schickel 8ae24a27b3 Yet more Flac -> FLAC changes for consistency.
svn-id: r47847
2010-02-03 09:42:40 +00:00