[Scummvm-git-logs] scummvm master -> 2ebb0a37b575096551c7105c17dfbc1258ed42cd

dreammaster dreammaster at scummvm.org
Tue Jan 3 21:17:56 CET 2017


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:
2ebb0a37b5 TITANIC: Fix assert on bad video frame in the Promenade


Commit: 2ebb0a37b575096551c7105c17dfbc1258ed42cd
    https://github.com/scummvm/scummvm/commit/2ebb0a37b575096551c7105c17dfbc1258ed42cd
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-01-03T15:17:47-05:00

Commit Message:
TITANIC: Fix assert on bad video frame in the Promenade

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 de7b9ab..22b3e98 100644
--- a/engines/titanic/support/avi_surface.cpp
+++ b/engines/titanic/support/avi_surface.cpp
@@ -273,12 +273,14 @@ void AVISurface::setupDecompressor() {
 }
 
 void AVISurface::copyMovieFrame(const Graphics::Surface &src, Graphics::ManagedSurface &dest) {
-	assert(src.w == dest.w && src.h == dest.h);
+	// WORKAROUND: A bad video in the Promenade has a frame with a width slightly larger
+	// than the defined width for the movie it's in. Hence the assert below is >=
+	assert(src.w >= dest.w && src.h == dest.h);
 
 	if (src.format.bytesPerPixel == 1) {
 		// Paletted 8-bit, so convert to 16-bit and copy over
 		Graphics::Surface *s = src.convertTo(dest.format, _decoder->getPalette());
-		dest.blitFrom(*s);
+		dest.blitFrom(*s, Common::Rect(0, 0, dest.w, dest.h), Common::Point(0, 0));
 		s->free();
 		delete s;
 	} else if (src.format.bytesPerPixel == 2) {





More information about the Scummvm-git-logs mailing list