aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2014-02-07 08:03:49 -0500
committerPaul Gilbert2014-02-07 08:03:49 -0500
commitf407a292a18aa17c538028fac31be8e7ecd135c1 (patch)
tree14915b3a0fe82f16dabcfcc93b2943293c61c0ca
parentab0cdde53998881cd0087e55cbf2fdeeedf1e511 (diff)
downloadscummvm-rg350-f407a292a18aa17c538028fac31be8e7ecd135c1.tar.gz
scummvm-rg350-f407a292a18aa17c538028fac31be8e7ecd135c1.tar.bz2
scummvm-rg350-f407a292a18aa17c538028fac31be8e7ecd135c1.zip
VOYEUR: Fix decoder _curFrame to start at -1
-rw-r--r--engines/voyeur/animation.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp
index 7dc53b9e60..301c8d1c43 100644
--- a/engines/voyeur/animation.cpp
+++ b/engines/voyeur/animation.cpp
@@ -116,7 +116,7 @@ void RL2Decoder::readNextPacket() {
// Handle queueing sound data
if (_soundFrameNumber == -1)
- _soundFrameNumber = frameNumber;
+ _soundFrameNumber = (frameNumber == -1) ? 0 : frameNumber;
while (audioTrack->numQueuedStreams() < SOUND_FRAMES_READAHEAD &&
(_soundFrameNumber < (int)_soundFrames.size())) {
@@ -225,7 +225,7 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr
_videoBase = header._videoBase;
_dirtyPalette = header._colorCount > 0;
- _curFrame = 0;
+ _curFrame = -1;
_initialFrame = true;
}
@@ -283,7 +283,7 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() {
}
// Move to the next frame data
- _fileStream->seek(_header._frameOffsets[_curFrame]);
+ _fileStream->seek(_header._frameOffsets[++_curFrame]);
// If there's any sound data, pass it to the audio track
_fileStream->seek(_header._frameSoundSizes[_curFrame], SEEK_CUR);
@@ -296,8 +296,6 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() {
rl2DecodeFrameWithoutTransparency(_videoBase);
}
- _curFrame++;
-
return _surface;
}