From 4e515ea3fed53f8390fa3a0776aee170e4be1b95 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 14 Nov 2016 22:51:10 -0500 Subject: TITANIC: Properly handle videos with some frames being paletted 8-bit --- engines/titanic/support/avi_surface.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'engines/titanic/support') diff --git a/engines/titanic/support/avi_surface.cpp b/engines/titanic/support/avi_surface.cpp index 361982339d..11569e80ad 100644 --- a/engines/titanic/support/avi_surface.cpp +++ b/engines/titanic/support/avi_surface.cpp @@ -314,8 +314,14 @@ bool AVISurface::renderFrame() { const Graphics::Surface *frame = (idx == 0) ? _decoder->decodeNextFrame() : _decoder->decodeNextTransparency(); - assert(_movieFrameSurface[idx]->format == frame->format); - _movieFrameSurface[idx]->blitFrom(*frame); + if (_movieFrameSurface[idx]->format == frame->format) { + _movieFrameSurface[idx]->blitFrom(*frame); + } else { + Graphics::Surface *s = frame->convertTo(_movieFrameSurface[idx]->format, + _decoder->getPalette()); + _movieFrameSurface[idx]->blitFrom(*s); + delete s; + } } if (!_framePixels) { -- cgit v1.2.3