diff options
author | Filippos Karapetis | 2009-01-06 17:49:41 +0000 |
---|---|---|
committer | Filippos Karapetis | 2009-01-06 17:49:41 +0000 |
commit | 4b24b4d06fc36ed55222ed03b5dfa078eefadfeb (patch) | |
tree | c42099c3c6e002e3b9838b2137d4da015f673d13 /engines/sword1/animation.cpp | |
parent | 9267961104f1564ab7abe50b3548e479d1cbeb55 (diff) | |
download | scummvm-rg350-4b24b4d06fc36ed55222ed03b5dfa078eefadfeb.tar.gz scummvm-rg350-4b24b4d06fc36ed55222ed03b5dfa078eefadfeb.tar.bz2 scummvm-rg350-4b24b4d06fc36ed55222ed03b5dfa078eefadfeb.zip |
Updated SWORD1 with the latest changes to video players
svn-id: r35760
Diffstat (limited to 'engines/sword1/animation.cpp')
-rw-r--r-- | engines/sword1/animation.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/engines/sword1/animation.cpp b/engines/sword1/animation.cpp index 578f4a8a81..e08aeb6fa3 100644 --- a/engines/sword1/animation.cpp +++ b/engines/sword1/animation.cpp @@ -430,7 +430,7 @@ void MoviePlayerDXA::setPalette(byte *pal) { } bool MoviePlayerDXA::decodeFrame(void) { - if (_currentFrame < _framesCount) { + if ((uint32)_currentFrame < (uint32)getFrameCount()) { decodeNextFrame(); return true; } @@ -441,7 +441,8 @@ void MoviePlayerDXA::processFrame(void) { } void MoviePlayerDXA::updateScreen(void) { - _system->copyRectToScreen(_drawBuffer, _frameWidth, _frameX, _frameY, _frameWidth, _frameHeight); + Graphics::Surface *frameBuffer = _system->lockScreen(); + copyFrameToBuffer((byte *)frameBuffer->pixels, _frameX, _frameY, _frameWidth); // TODO: Handle the advanced cutscene packs. Do they really exist? @@ -452,7 +453,6 @@ void MoviePlayerDXA::updateScreen(void) { // frame to it, and draw on that. if (_textMan->giveSpriteData(2)) { - Graphics::Surface *frameBuffer = _system->lockScreen(); byte *src = (byte *)_textMan->giveSpriteData(2) + sizeof(FrameHeader); byte *dst = (byte *)frameBuffer->getBasePtr(_textX, _textY); @@ -471,9 +471,10 @@ void MoviePlayerDXA::updateScreen(void) { dst += frameBuffer->pitch; } - _system->unlockScreen(); } + _system->unlockScreen(); + _system->updateScreen(); } |