diff options
| author | Colin Snover | 2016-11-04 20:09:22 -0500 |
|---|---|---|
| committer | Colin Snover | 2016-11-04 20:10:21 -0500 |
| commit | 4bfd005c78b4093c01f08ab3e9a3ecf9189c8c84 (patch) | |
| tree | 669b3abdfed0408234ec28d4ed6f43e56a0bf529 /engines/sci/graphics | |
| parent | f89b0e8c45ba5fedff1d1baf5ce8fab0129ceb14 (diff) | |
| download | scummvm-rg350-4bfd005c78b4093c01f08ab3e9a3ecf9189c8c84.tar.gz scummvm-rg350-4bfd005c78b4093c01f08ab3e9a3ecf9189c8c84.tar.bz2 scummvm-rg350-4bfd005c78b4093c01f08ab3e9a3ecf9189c8c84.zip | |
SCI32: Stop digital audio when VMDs open in some SCI2.1 games
Diffstat (limited to 'engines/sci/graphics')
| -rw-r--r-- | engines/sci/graphics/video32.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/sci/graphics/video32.cpp b/engines/sci/graphics/video32.cpp index e44c159c1d..8e267f9144 100644 --- a/engines/sci/graphics/video32.cpp +++ b/engines/sci/graphics/video32.cpp @@ -28,6 +28,7 @@ #include "engine.h" // for Engine, g_engine #include "engines/util.h" // for initGraphics #include "sci/console.h" // for Console +#include "sci/engine/features.h" // for GameFeatures #include "sci/engine/state.h" // for EngineState #include "sci/engine/vm_types.h" // for reg_t #include "sci/event.h" // for SciEvent, EventManager, SCI_... @@ -39,10 +40,12 @@ #include "sci/graphics/plane32.h" // for Plane, PlanePictureCodes::kP... #include "sci/graphics/screen_item32.h" // for ScaleInfo, ScreenItem, Scale... #include "sci/sci.h" // for SciEngine, g_sci, getSciVersion -#include "sci/graphics/video32.h" +#include "sci/sound/audio32.h" // for Audio32 #include "sci/video/seq_decoder.h" // for SEQDecoder #include "video/avi_decoder.h" // for AVIDecoder #include "video/coktel_decoder.h" // for AdvancedVMDDecoder +#include "sci/graphics/video32.h" + namespace Graphics { struct Surface; } namespace Sci { @@ -526,6 +529,10 @@ VMDPlayer::IOStatus VMDPlayer::open(const Common::String &fileName, const OpenFl error("Attempted to play %s, but another VMD was loaded", fileName.c_str()); } + if (g_sci->_features->VMDOpenStopsAudio()) { + g_sci->_audio32->stop(kAllChannels); + } + if (_decoder->loadFile(fileName)) { if (flags & kOpenFlagMute) { _decoder->setVolume(0); |
