aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_v3.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2008-04-17 17:46:39 +0000
committerJohannes Schickel2008-04-17 17:46:39 +0000
commit87256747b180895d493f8c92f920fde20ad2ec15 (patch)
tree7e4065ea44415879f4f2068ddaad9c754bf957eb /engines/kyra/kyra_v3.cpp
parent7828d50384705a3114c1c44d44f03000b55dc752 (diff)
downloadscummvm-rg350-87256747b180895d493f8c92f920fde20ad2ec15.tar.gz
scummvm-rg350-87256747b180895d493f8c92f920fde20ad2ec15.tar.bz2
scummvm-rg350-87256747b180895d493f8c92f920fde20ad2ec15.zip
Implemented sfx support for Kyra3.
svn-id: r31546
Diffstat (limited to 'engines/kyra/kyra_v3.cpp')
-rw-r--r--engines/kyra/kyra_v3.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/engines/kyra/kyra_v3.cpp b/engines/kyra/kyra_v3.cpp
index 4567e5777b..8b66955ffe 100644
--- a/engines/kyra/kyra_v3.cpp
+++ b/engines/kyra/kyra_v3.cpp
@@ -311,7 +311,7 @@ void KyraEngine_v3::playMenuAudioFile() {
Common::SeekableReadStream *stream = _res->getFileStream(_menuAudioFile);
if (stream)
- _musicSoundChannel = _soundDigital->playSound(stream, true);
+ _musicSoundChannel = _soundDigital->playSound(stream, SoundDigital::kSoundTypeMusic);
}
void KyraEngine_v3::playMusicTrack(int track, int force) {
@@ -334,7 +334,7 @@ void KyraEngine_v3::playMusicTrack(int track, int force) {
Common::SeekableReadStream *stream = _res->getFileStream(_soundList[track]);
if (stream)
- _musicSoundChannel = _soundDigital->playSound(stream);
+ _musicSoundChannel = _soundDigital->playSound(stream, SoundDigital::kSoundTypeMusic);
}
_curMusicTrack = track;
@@ -386,6 +386,18 @@ void KyraEngine_v3::fadeOutMusic(int ticks) {
}
}
+void KyraEngine_v3::playSoundEffect(uint32 item, int priority) {
+ debugC(9, kDebugLevelMain, "KyraEngine_v3::playSoundEffect(%d, %d)", item, priority);
+ if (_sfxFileMap[item*2+0] != 0xFF) {
+ char filename[16];
+ snprintf(filename, 16, "%s.AUD", _sfxFileList[_sfxFileMap[item*2+0]]);
+
+ Common::SeekableReadStream *stream = _res->getFileStream(filename);
+ if (stream)
+ _soundDigital->playSound(stream, SoundDigital::kSoundTypeSfx);
+ }
+}
+
#pragma mark -
void KyraEngine_v3::preinit() {