diff options
author | Torbjörn Andersson | 2015-07-09 23:26:44 +0200 |
---|---|---|
committer | Torbjörn Andersson | 2015-07-09 23:45:12 +0200 |
commit | 5de5a7afaaa138c923df31e61be9d0d4ed303d9e (patch) | |
tree | 3c3500aef3cddc1d60aadaeb625ec366e1f9a058 /engines/access/amazon | |
parent | f0a03fcd1b0190e6527df1d51e5a86c77f0f5195 (diff) | |
download | scummvm-rg350-5de5a7afaaa138c923df31e61be9d0d4ed303d9e.tar.gz scummvm-rg350-5de5a7afaaa138c923df31e61be9d0d4ed303d9e.tar.bz2 scummvm-rg350-5de5a7afaaa138c923df31e61be9d0d4ed303d9e.zip |
ACCESS: Use looping audio stream for Amazon intro's projector sound
This is less prone to glitches than playing manually triggering the
playing of the short non-looping version of the sound.
Diffstat (limited to 'engines/access/amazon')
-rw-r--r-- | engines/access/amazon/amazon_logic.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/engines/access/amazon/amazon_logic.cpp b/engines/access/amazon/amazon_logic.cpp index b2728ff246..b927243065 100644 --- a/engines/access/amazon/amazon_logic.cpp +++ b/engines/access/amazon/amazon_logic.cpp @@ -326,7 +326,6 @@ void Opening::doTitle() { _vm->_buffer2.copyFrom(*_vm->_screen); _vm->_buffer1.copyFrom(*_vm->_screen); screen.forceFadeIn(); - _vm->_sound->playSound(1); // WORKAROUND: This delay has been added to replace original game delay that // came from loading resources, since nowadays it would be too fast to be visible @@ -337,13 +336,14 @@ void Opening::doTitle() { if (_vm->shouldQuit()) return; + _vm->_sound->playSound(1, true); + Resource *spriteData = _vm->_files->loadFile(0, 2); _vm->_objectsTable[0] = new SpriteResource(_vm, spriteData); delete spriteData; _vm->_files->_setPaletteFlag = false; _vm->_files->loadScreen(0, 4); - _vm->_sound->playSound(1); _vm->_buffer2.copyFrom(*_vm->_screen); _vm->_buffer1.copyFrom(*_vm->_screen); @@ -356,7 +356,6 @@ void Opening::doTitle() { _vm->_buffer2.plotImage(_vm->_objectsTable[0], id, Common::Point(xp, 71)); _vm->_buffer2.copyTo(_vm->_screen); - _vm->_sound->playSound(1); _vm->_events->_vbCount = 70; while (!_vm->shouldQuit() && _vm->_events->_vbCount > 0 && !_skipStart) { _vm->_events->pollEventsAndWait(); @@ -368,6 +367,7 @@ void Opening::doTitle() { return; _vm->_sound->stopSound(); + _vm->_sound->checkSoundQueue(); // HACK: Clear sound 1 from the queue _vm->_sound->playSound(0); screen.forceFadeOut(); _vm->_events->_vbCount = 100; |