aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2014-01-17 23:01:41 -0500
committerPaul Gilbert2014-01-17 23:01:41 -0500
commit829de693ef90fd6381ab6525158d1a38d9df6d3d (patch)
tree4a12f63df53f96d9bbb44978f1613ab638512cd7
parent6b059631ce8a54556bb27891438f65cd1fed59dc (diff)
downloadscummvm-rg350-829de693ef90fd6381ab6525158d1a38d9df6d3d.tar.gz
scummvm-rg350-829de693ef90fd6381ab6525158d1a38d9df6d3d.tar.bz2
scummvm-rg350-829de693ef90fd6381ab6525158d1a38d9df6d3d.zip
VOYEUR: Fix for video playback when no custom pic list needs to be applied
-rw-r--r--engines/voyeur/animation.cpp10
-rw-r--r--engines/voyeur/files_threads.cpp2
-rw-r--r--engines/voyeur/voyeur_game.cpp11
3 files changed, 12 insertions, 11 deletions
diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp
index 02dc8c25be..0d4d842fab 100644
--- a/engines/voyeur/animation.cpp
+++ b/engines/voyeur/animation.cpp
@@ -454,12 +454,12 @@ void VoyeurRL2Decoder::play(VoyeurEngine *vm, int resourceOffset, byte *frames,
vm->_graphicsManager.sDrawPic(newPic, &videoFrame, pt);
++picCtr;
}
-
- // Decode the next frame and display
- const Graphics::Surface *frame = decodeNextFrame();
- Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200,
- (byte *)vm->_graphicsManager._screenSurface.getPixels());
}
+
+ // Decode the next frame and display
+ const Graphics::Surface *frame = decodeNextFrame();
+ Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200,
+ (byte *)vm->_graphicsManager._screenSurface.getPixels());
}
vm->_eventsManager.getMouseInfo();
diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp
index 8fa2ec7724..4b074720c0 100644
--- a/engines/voyeur/files_threads.cpp
+++ b/engines/voyeur/files_threads.cpp
@@ -1086,6 +1086,8 @@ int ThreadResource::doApt() {
hotspotId = idx;
if (idx != prevHotspotId) {
+ // Check for whether to replace hotspot Id for "Watch TV" for
+ // "Review the Tape" if player has already watched the TV
if ((_vm->_voy._field478 & 0x100) && (hotspotId == 2))
hotspotId = 5;
diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp
index 2e59b77004..57a08b7d2d 100644
--- a/engines/voyeur/voyeur_game.cpp
+++ b/engines/voyeur/voyeur_game.cpp
@@ -699,13 +699,12 @@ void VoyeurEngine::doGossip() {
// Play the initial gossip video
decoder.play(this, 0x302, frameNumsP, posP);
- if (!_eventsManager._mouseClicked) {
- // Play further interview
- decoder.loadFile("a2110100.rl2");
- decoder.start();
+ // Play interview video
+ decoder.loadFile("a2110100.rl2");
+ decoder.start();
- decoder.play(this);
- }
+ _eventsManager.getMouseInfo();
+ decoder.play(this);
_bVoy->freeBoltGroup(0x300);
_graphicsManager.screenReset();