diff options
Diffstat (limited to 'engines/parallaction/exec_ns.cpp')
-rw-r--r-- | engines/parallaction/exec_ns.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/parallaction/exec_ns.cpp b/engines/parallaction/exec_ns.cpp index bf0423bbd1..6ccec4ed17 100644 --- a/engines/parallaction/exec_ns.cpp +++ b/engines/parallaction/exec_ns.cpp @@ -261,8 +261,13 @@ void Parallaction::showZone(ZonePtr z, bool visible) { if ((z->_type & 0xFFFF) == kZoneGet) { _gfx->showGfxObj(z->u.get->gfxobj, visible); - } + GetData *data = z->u.get; + if (data->hasMask && _gfx->_backgroundInfo->hasMask) { + int frame = visible ? 0 : 1; + _gfx->_backgroundInfo->mask.blt(data->gfxobj->x, data->gfxobj->y, data->_mask[frame], 0, 0, data->_mask->w, data->_mask->h); + } + } } DECLARE_COMMAND_OPCODE(on) { |