PEGASUS: Fix redrawMovieWorld() to only update when needed

A partial revert of 2bba1d0c11d2ceb8a1ec1dc5a9f1910a90b5cf5a
This commit is contained in:
Matthew Hoops 2011-10-30 19:23:33 -04:00
parent 60ecf84365
commit 74d08a1543

View File

@ -87,7 +87,7 @@ void Movie::initFromMovieFile(const Common::String &fileName, bool transparent)
}
void Movie::redrawMovieWorld() {
if (_video) {
if (_video && _video->needsUpdate()) {
const Graphics::Surface *frame = _video->decodeNextFrame();
if (!frame)
@ -194,8 +194,7 @@ void Movie::updateTime() {
// The reason why we overrode TimeBase's updateTime():
// Again, avoiding timers and handling it here
if (_video && !_video->isPaused()) {
if (_video->needsUpdate())
redrawMovieWorld();
redrawMovieWorld();
uint32 startTime = _startTime * getScale() / _startScale;
uint32 stopTime = _stopTime * getScale() / _stopScale;