diff options
author | Paul Gilbert | 2014-02-07 08:03:49 -0500 |
---|---|---|
committer | Paul Gilbert | 2014-02-07 08:03:49 -0500 |
commit | f407a292a18aa17c538028fac31be8e7ecd135c1 (patch) | |
tree | 14915b3a0fe82f16dabcfcc93b2943293c61c0ca | |
parent | ab0cdde53998881cd0087e55cbf2fdeeedf1e511 (diff) | |
download | scummvm-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.cpp | 8 |
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; } |