[Scummvm-git-logs] scummvm master -> c332251f5930e069f1facb3e968be6bb57317434

dreammaster dreammaster at scummvm.org
Tue Dec 6 05:17:24 CET 2016


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
c332251f59 TITANIC: In progress code for reverse playback in AVISurface


Commit: c332251f5930e069f1facb3e968be6bb57317434
    https://github.com/scummvm/scummvm/commit/c332251f5930e069f1facb3e968be6bb57317434
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2016-12-05T23:17:18-05:00

Commit Message:
TITANIC: In progress code for reverse playback in AVISurface

Changed paths:
    engines/titanic/support/avi_surface.cpp


diff --git a/engines/titanic/support/avi_surface.cpp b/engines/titanic/support/avi_surface.cpp
index 9d6ece0..6240de9 100644
--- a/engines/titanic/support/avi_surface.cpp
+++ b/engines/titanic/support/avi_surface.cpp
@@ -132,6 +132,8 @@ bool AVISurface::startAtFrame(int frameNumber) {
 	if (frameNumber == -1)
 		// Default to starting frame of first movie range
 		frameNumber = _movieRangeInfo.front()->_startFrame;
+	if (_isReversed && frameNumber == _decoder->getFrameCount())
+		--frameNumber;
 
 	// Get the initial frame
 	seekToFrame(frameNumber);
@@ -139,11 +141,16 @@ bool AVISurface::startAtFrame(int frameNumber) {
 
 	// Start the playback
 	_decoder->start();
+	if (_isReversed)
+		_decoder->setRate(-1.0);
 
 	return true;
 }
 
 void AVISurface::seekToFrame(uint frameNumber) {
+	if (_isReversed && frameNumber == _decoder->getFrameCount())
+		--frameNumber;
+
 	if ((int)frameNumber != getFrame()) {
 		_decoder->seekToFrame(frameNumber);
 		_currentFrame = (int)frameNumber;
@@ -378,6 +385,7 @@ bool AVISurface::renderFrame() {
 			// since the blitting method we're using doesn't support palettes
 			Graphics::Surface *s = frameSurface.convertTo(g_system->getScreenFormat(),
 				_decoder->getPalette());
+
 			_videoSurface->getRawSurface()->blitFrom(*s);
 			s->free();
 			delete s;





More information about the Scummvm-git-logs mailing list