From 51ebb019154df7adaf23f0a2e00a16bea121d7cd Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 11 Jul 2017 21:59:21 -0400 Subject: TITANIC: Fix Titania's nose remaining present after being picked up Fixing this required reverting the previous fix I'd done for the Doorbot's 'Cloak Off' animation during the prologue. What the proper fix for it, seems to be, is that when a video is full 32-bit ARGB, if it has a second transparency track, then simply ignore the alpha in the first track, and simply use the RGB values for each pixel --- engines/titanic/support/avi_surface.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/titanic/support/avi_surface.cpp b/engines/titanic/support/avi_surface.cpp index 1662b3d7fd..69c006e6e8 100644 --- a/engines/titanic/support/avi_surface.cpp +++ b/engines/titanic/support/avi_surface.cpp @@ -321,7 +321,7 @@ void AVISurface::copyMovieFrame(const Graphics::Surface &src, Graphics::ManagedS src.format.colorToARGB(*pSrc, a, r, g, b); assert(a == 0 || a == 0xff); - *pDest = (a == 0) ? transPixel : dest.format.RGBToColor(r, g, b); + *pDest = (a == 0 && _streamCount == 1) ? transPixel : dest.format.RGBToColor(r, g, b); } } } @@ -412,7 +412,7 @@ bool AVISurface::renderFrame() { s->free(); delete s; } else { - _videoSurface->getRawSurface()->transBlitFrom(frameSurface, _videoSurface->getTransparencyColor()); + _videoSurface->getRawSurface()->blitFrom(frameSurface); } _videoSurface->unlock(); -- cgit v1.2.3