aboutsummaryrefslogtreecommitdiff
path: root/engines/director/frame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/director/frame.cpp')
-rw-r--r--engines/director/frame.cpp10
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: