diff options
author | Sven Hesse | 2011-01-22 19:28:23 +0000 |
---|---|---|
committer | Sven Hesse | 2011-01-22 19:28:23 +0000 |
commit | 0722df94721e6e356bd126bdb97f51b9a4a0ef1e (patch) | |
tree | b2b83f9fb9e31995d9db2cdea589de161e988b34 /engines/gob/inter_v6.cpp | |
parent | 66a715ea99f0c6afccf3e95bdbd058cdd958c15d (diff) | |
download | scummvm-rg350-0722df94721e6e356bd126bdb97f51b9a4a0ef1e.tar.gz scummvm-rg350-0722df94721e6e356bd126bdb97f51b9a4a0ef1e.tar.bz2 scummvm-rg350-0722df94721e6e356bd126bdb97f51b9a4a0ef1e.zip |
GOB: Hacking in multiple live videos
Needed for Bambou. The narrator voice and the "Do you want to quit?"
voices are live videos that should continue while the live video
buttons are playing.
svn-id: r55443
Diffstat (limited to 'engines/gob/inter_v6.cpp')
-rw-r--r-- | engines/gob/inter_v6.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/engines/gob/inter_v6.cpp b/engines/gob/inter_v6.cpp index 560415a760..8e74ed42f1 100644 --- a/engines/gob/inter_v6.cpp +++ b/engines/gob/inter_v6.cpp @@ -125,6 +125,11 @@ void Inter_v6::o6_playVmdOrMusic() { props.x, props.y, props.startFrame, props.lastFrame, props.palCmd, props.palStart, props.palEnd, props.flags); + if (!strcmp(fileName, "RIEN")) { + _vm->_vidPlayer->closeAll(); + return; + } + close = false; if (props.lastFrame == -1) { close = true; @@ -152,7 +157,10 @@ void Inter_v6::o6_playVmdOrMusic() { return; } else if (props.lastFrame <= -10) { _vm->_vidPlayer->closeVideo(); - props.loop = true; + + if (!(props.flags & VideoPlayer::kFlagNoVideo)) + props.loop = true; + } else if (props.lastFrame < 0) { warning("Urban/Playtoons Stub: Unknown Video/Music command: %d, %s", props.lastFrame, fileName); return; @@ -166,8 +174,14 @@ void Inter_v6::o6_playVmdOrMusic() { _vm->_vidPlayer->evaluateFlags(props); + bool primary = true; + if (props.noBlock && (props.flags & VideoPlayer::kFlagNoVideo)) { + _vm->_vidPlayer->closeLiveSound(); + primary = false; + } + int slot = 0; - if ((fileName[0] != 0) && ((slot = _vm->_vidPlayer->openVideo(true, fileName, props)) < 0)) { + if ((fileName[0] != 0) && ((slot = _vm->_vidPlayer->openVideo(primary, fileName, props)) < 0)) { WRITE_VAR(11, (uint32) -1); return; } |