From ea7076028b0382bf88b5f7f447f23e0bc7e28f7f Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 27 Aug 2016 12:10:56 +0200 Subject: DIRECTOR: Implemented Transparent Ink --- engines/director/frame.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp index bca54efc02..f88eb8260d 100644 --- a/engines/director/frame.cpp +++ b/engines/director/frame.cpp @@ -471,6 +471,10 @@ void Frame::renderSprites(Graphics::ManagedSurface &surface, bool renderTrail) { case kInkTypeCopy: surface.blitFrom(*img->getSurface(), Common::Point(x, y)); break; + case kInkTypeTransparent: + //FIXME: is it always white (last entry in pallette)? + surface.transBlitFrom(*img->getSurface(), Common::Point(x, y), _vm->getPaletteColorCount() - 1); + break; case kInkTypeBackgndTrans: drawBackgndTransSprite(surface, *img->getSurface(), drawRect); break; @@ -708,7 +712,7 @@ void Frame::drawReverseSprite(Graphics::ManagedSurface &target, const Graphics:: } void Frame::drawMatteSprite(Graphics::ManagedSurface &target, const Graphics::Surface &sprite, Common::Rect &drawRect) { - //Like background trans, but all white pixels NOT ENCLOSED by coloured pixels are transparent + // Like background trans, but all white pixels NOT ENCLOSED by coloured pixels are transparent Graphics::Surface tmp; tmp.copyFrom(sprite); -- cgit v1.2.3