aboutsummaryrefslogtreecommitdiff
path: root/engines/lastexpress/data/snd.cpp
AgeCommit message (Collapse)Author
2018-10-20LASTEXPRESS: save/load sound stateEvgeny Grechnikov
Warning: breaks compatibility with previous savefiles. They were mostly broken anyway, locking any NPC who waited for kActionEndSound when savefile was created.
2018-10-17LASTEXPRESS: support for looped soundsEvgeny Grechnikov
2018-10-16LASTEXPRESS: dynamic adjusting of sound volumeEvgeny Grechnikov
Now it works just like in the original game, including fading where it is applicable (e.g. in a passengers list if closing the list while a sound is playing). By the way, p2s sequence is known as http://oeis.org/A000265 , p1s is 4 - A007814, and p2s[i]/2**p1s[i] is just i/16. It is time to get rid of these arrays.
2018-10-16LASTEXPRESS: fix race condition in sound codeEvgeny Grechnikov
SoundEntry::play() calls StreamedSound::setFilterId(), StreamSound::setFilterId() requires the underlying reference to be alive. SoundQueue::handleTimer() checks that the stream is still alive by calling SoundEntry::isFinished(). However, if the stream is finalized just between calls to SoundEntry::isFinished() and SoundEntry::play(), the sound mixer frees the stream leading to use-after-free in setFilterId(). Turn off the automatical disposing, delete the stream in SoundEntry::~SoundEntry().
2015-08-30AUDIO: Make Rewindable- and SeekableAudioStream inherit virtuallyMatthew Hoops
2014-02-18LASTEXPRESS: Make GPL headers consistent in themselves.Johannes Schickel
2012-07-28LASTEXPRESS: Disable sound filter reset on each decoded blockLittleboy
The filter id should be computed from the sound entry status for each decoded block. The current code was resulting in blocks being skipped.
2012-07-16LASTEXPRESS: Use filter 16 as default filter for NIS animationsLittleboy
This makes sure the sound is at the correct volume
2012-07-14LASTEXPRESS: Fix sound in animated sequencesLittleboy
2012-07-14LASTEXPRESS: CleanupLittleboy
- Add missing initializer/destructors - Add some const modifiers - Remove some unneeded casts - Use enumeration values in switch constructs
2012-07-14LASTEXPRESS: Remove duplicated include statementsLittleboy
2011-10-11Last Express: CLIP should use a <int> template to compile correctly.anotherguest
2011-07-08LASTEXPRESS: Have LastExpress_ADPCMStream inherit directly from ↵Littleboy
Audio::ADPCMStream (as suggested by clone2727)
2011-07-08LASTEXPRESS: Replace existing decodeIMA calls by code using our custom set ↵Littleboy
of IMA and step tables
2011-07-08LASTEXPRESS: Fix typo in filter tableLittleboy
2011-07-04LASTEXPRESS: Move sound filtering to base Sound classLittleboy
- Rename kSoundStatusRemoved to kSoundStatusClosed - Rename kSoundStatusClear2 to kSoundStatusCached - Remove sound cache handling
2011-06-29LASTEXPRESS: Update sound timer and sound entry playingLittleboy
- Move filtering to SoundEntry class - Make some methods of SoundEntry class private - Add methods to check if a StreamedSound/AppendableSound is done playing
2011-06-28LASTEXPRESS: Cleanup commentsLittleboy
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-04-24AUDIO: Cleanup MS IMA handlingMatthew Hoops
- Split The Last Express' ADPCM to the engine. Using the MS IMA routine was really a hack. - Fixed stereo MS IMA ADPCM, the old routine was completely wrong.
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-10-18LASTEXPRESS: Merge in the engine.Eugene Sandulenko
svn-id: r53579