diff options
Diffstat (limited to 'engines/director/frame.cpp')
-rw-r--r-- | engines/director/frame.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp index 1d689abce9..a4b3b6abd1 100644 --- a/engines/director/frame.cpp +++ b/engines/director/frame.cpp @@ -653,8 +653,14 @@ void Frame::renderShape(Graphics::ManagedSurface &surface, uint16 spriteID) { Graphics::Surface tmpSurface; tmpSurface.create(r.width(), r.height(), Graphics::PixelFormat::createFormatCLUT8()); - - tmpSurface.fillRect(Common::Rect(r.width(), r.height()), 0); + if (_vm->getVersion() <= 3 && _sprites[spriteID]->_spriteType == 0x0c) { + tmpSurface.fillRect(Common::Rect(r.width(), r.height()), 255); + tmpSurface.frameRect(Common::Rect(r.width(), r.height()), 0); + //TODO: don't override, work out how to display correctly. + _sprites[spriteID]->_ink = kInkTypeTransparent; + } else { + tmpSurface.fillRect(Common::Rect(r.width(), r.height()), 0); + } switch (_sprites[spriteID]->_ink) { case kInkTypeCopy: |