diff options
Diffstat (limited to 'engines/prince/prince.cpp')
-rw-r--r-- | engines/prince/prince.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp index 77e21fbf8d..22064b05af 100644 --- a/engines/prince/prince.cpp +++ b/engines/prince/prince.cpp @@ -772,12 +772,19 @@ void PrinceEngine::checkMasks(int x1, int y1, int sprWidth, int sprHeight, int z } } +void PrinceEngine::clsMasks() { + for (uint i = 0; i < _maskList.size(); i++) { + if (_maskList[i]._state == 1) { + _maskList[i]._state = 0; + } + } +} + // InsertNakladki void PrinceEngine::insertMasks(const Graphics::Surface *originalRoomSurface) { for (uint i = 0; i < _maskList.size(); i++) { if (_maskList[i]._state == 1) { showMask(i, originalRoomSurface); - _maskList[i]._state = 0; // here or somewhere else? } } } @@ -1042,6 +1049,8 @@ void PrinceEngine::drawScreen() { _graph->draw(0, 0, &visiblePart); } + clsMasks(); + if (_mainHero->_visible) { Graphics::Surface *mainHeroSurface = _mainHero->getSurface(); if (mainHeroSurface) { |