diff options
author | Filippos Karapetis | 2009-12-30 17:59:31 +0000 |
---|---|---|
committer | Filippos Karapetis | 2009-12-30 17:59:31 +0000 |
commit | 1e4a7752411317919f7420009abc59595774b1ab (patch) | |
tree | d6625e3838caeb78947c03975b31018ea5d2b3bc /engines | |
parent | bfa0c4e9c3228d40d8ff999c44c47f22b07ac26f (diff) | |
download | scummvm-rg350-1e4a7752411317919f7420009abc59595774b1ab.tar.gz scummvm-rg350-1e4a7752411317919f7420009abc59595774b1ab.tar.bz2 scummvm-rg350-1e4a7752411317919f7420009abc59595774b1ab.zip |
SCI/new sound code:
- call cmdDisposeHandle() instead of soundKill when a track is being replaced
- Added information about cmdReverb
svn-id: r46766
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/sfx/soundcmd.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/engines/sci/sfx/soundcmd.cpp b/engines/sci/sfx/soundcmd.cpp index 124a93025f..a135d88a2b 100644 --- a/engines/sci/sfx/soundcmd.cpp +++ b/engines/sci/sfx/soundcmd.cpp @@ -304,7 +304,7 @@ void SoundCommandParser::cmdInitHandle(reg_t obj, int16 value) { // Check if a track with the same sound object is already playing MusicEntry *oldSound = _music->getSlot(obj); if (oldSound) - _music->soundKill(oldSound); + cmdDisposeHandle(obj, value); _music->pushBackSlot(newSound); @@ -804,7 +804,18 @@ void SoundCommandParser::cmdSendMidi(reg_t obj, int16 value) { void SoundCommandParser::cmdReverb(reg_t obj, int16 value) { // TODO - warning("STUB: cmdReverb"); + // This function has one parameter, enabling the reverb effect + // in MT-32 if the parameter is non-zero. This is either the + // reverb level, or delay time. The reverb type is probably fixed + // to 1 ("room"). I'm not quite sure how and if this works for + // Adlib. + // Refer to http://www.midi.org/techspecs/midimessages.php + // and http://www.youngmonkey.ca/nose/audio_tech/synth/Roland-MT32.html + // Also, /sound/softsynth/mt32/synth.h is a good reference + // A good test case for this are the first two rooms in Longbow: + // reverb is set for the first room (the cave) and is subsequently + // cleared when Robin exits the cave + warning("STUB: cmdReverb (%d)", obj.toUint16()); } void SoundCommandParser::cmdHoldHandle(reg_t obj, int16 value) { |