diff options
author | Travis Howell | 2007-05-28 11:22:53 +0000 |
---|---|---|
committer | Travis Howell | 2007-05-28 11:22:53 +0000 |
commit | 9d041cc0598212bb2ef95584f0213aa4d286e2a6 (patch) | |
tree | 6e46d52bf8521f66ff811981bbb425de6d8edc20 /engines/agos/vga.cpp | |
parent | 0d789e074e6ff1ed76e75619eae9d337d3faad29 (diff) | |
download | scummvm-rg350-9d041cc0598212bb2ef95584f0213aa4d286e2a6.tar.gz scummvm-rg350-9d041cc0598212bb2ef95584f0213aa4d286e2a6.tar.bz2 scummvm-rg350-9d041cc0598212bb2ef95584f0213aa4d286e2a6.zip |
Add sound effects code for Amiga and AtariST versions of Elvira 2.
svn-id: r26989
Diffstat (limited to 'engines/agos/vga.cpp')
-rw-r--r-- | engines/agos/vga.cpp | 33 |
1 files changed, 5 insertions, 28 deletions
diff --git a/engines/agos/vga.cpp b/engines/agos/vga.cpp index be76b69c64..ee3881ac52 100644 --- a/engines/agos/vga.cpp +++ b/engines/agos/vga.cpp @@ -1072,37 +1072,14 @@ void AGOSEngine::vc27_resetSprite() { } void AGOSEngine::vc28_playSFX() { - byte *dst; - uint sound, channels, frequency, flags; - uint offs, size; + uint16 sound = vcReadNextWord(); + uint16 channels = vcReadNextWord(); + uint16 frequency = vcReadNextWord(); + uint16 flags = vcReadNextWord(); - sound = vcReadNextWord(); - channels = vcReadNextWord(); - frequency = vcReadNextWord(); - flags = vcReadNextWord(); + loadSound(sound); debug(0, "vc28_playSFX: (%d, %d, %d, %d)", sound, channels, frequency, flags); - - if (_curSfxFile == NULL) - return; - - dst = _curSfxFile; - if (getGameType() == GType_WW) { - uint tmp = sound; - while (tmp--) - dst += READ_LE_UINT16(dst) + 4; - - size = READ_LE_UINT16(dst); - offs = 4; - } else { - while (READ_BE_UINT16(dst + 6) != sound) - dst += 12; - - size = READ_BE_UINT16(dst + 2); - offs = READ_BE_UINT32(dst + 8); - } - - _sound->playRawData(dst + offs, sound, size); } void AGOSEngine::vc29_stopAllSounds() { |