diff options
author | Sven Hesse | 2008-05-08 15:51:02 +0000 |
---|---|---|
committer | Sven Hesse | 2008-05-08 15:51:02 +0000 |
commit | 18db41db506b1e18e050e8dded44dc8501b9bc8f (patch) | |
tree | 70915fc5e973052e2ea6b2d1034e1b42f11b9c7b /engines/gob/videoplayer.cpp | |
parent | a9b4058ba9fd94de7bd293b0763d71f9f90f84bc (diff) | |
download | scummvm-rg350-18db41db506b1e18e050e8dded44dc8501b9bc8f.tar.gz scummvm-rg350-18db41db506b1e18e050e8dded44dc8501b9bc8f.tar.bz2 scummvm-rg350-18db41db506b1e18e050e8dded44dc8501b9bc8f.zip |
Implemented the background "music" / atmospheric sounds in Woodruff
svn-id: r31949
Diffstat (limited to 'engines/gob/videoplayer.cpp')
-rw-r--r-- | engines/gob/videoplayer.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp index 6b21c18676..c435136b75 100644 --- a/engines/gob/videoplayer.cpp +++ b/engines/gob/videoplayer.cpp @@ -33,6 +33,7 @@ #include "gob/palanim.h" #include "gob/inter.h" #include "gob/map.h" +#include "gob/sound/sound.h" namespace Gob { @@ -289,6 +290,8 @@ void VideoPlayer::primaryPlay(int16 startFrame, int16 lastFrame, int16 breakKey, if (doPlay(startFrame, breakKey, palCmd, palStart, palEnd, palFrame, endFrame)) break; + evalBgShading(video); + if (fade) { _vm->_palAnim->fade(_vm->_global->_pPaletteDesc, -2, 0); fade = false; @@ -299,18 +302,27 @@ void VideoPlayer::primaryPlay(int16 startFrame, int16 lastFrame, int16 breakKey, startFrame++; } + evalBgShading(video); + if (reverseTo >= 0) { int16 toFrame = video.getFramesCount() - reverseTo; for (int i = video.getCurrentFrame(); i >= toFrame; i--) { video.seekFrame(i, SEEK_SET, true); - if (doPlay(i, breakKey, 0, 0, 0, 0, 0)) { + + bool b = doPlay(i, breakKey, 0, 0, 0, 0, 0); + evalBgShading(video); + + if (b) { _vm->_palAnim->fade(0, -2, 0); memset((char *) _vm->_draw->_vgaPalette, 0, 768); } + if (!_noCursorSwitch) video.waitEndFrame(); } } + + evalBgShading(video); } void VideoPlayer::primaryClose() { @@ -360,6 +372,8 @@ void VideoPlayer::slotPlay(int slot, int16 frame) { _videoSlots[slot]->nextFrame(); WRITE_VAR(11, frame); + + evalBgShading(video); } void VideoPlayer::slotClose(int slot) { @@ -598,4 +612,11 @@ void VideoPlayer::writeVideoInfo(const char *videoFile, int16 varX, int16 varY, } } +void VideoPlayer::evalBgShading(CoktelVideo &video) { + if (video.isSoundPlaying()) + _vm->_sound->bgShade(); + else + _vm->_sound->bgUnshade(); +} + } // End of namespace Gob |