diff options
Diffstat (limited to 'engines/voyeur')
-rw-r--r-- | engines/voyeur/files_threads.cpp | 1 | ||||
-rw-r--r-- | engines/voyeur/screen.cpp | 11 |
2 files changed, 8 insertions, 4 deletions
diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index bbd3dfe4e9..d22dcd09cc 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1186,6 +1186,7 @@ void ThreadResource::doRoom() { } vm._eventsManager->_intPtr._hasPalette = true; + vm._screen->_vPort->_flags |= DISPFLAG_8; vm._screen->flipPage(); vm._eventsManager->sWaitFlip(); } while (!vm.shouldQuit() && !vm._eventsManager->_mouseClicked); diff --git a/engines/voyeur/screen.cpp b/engines/voyeur/screen.cpp index ca9248398f..4d34078439 100644 --- a/engines/voyeur/screen.cpp +++ b/engines/voyeur/screen.cpp @@ -910,10 +910,13 @@ void Screen::flipPage() { bool flipFlag = false; for (uint idx = 0; idx < viewPorts.size(); ++idx) { - if ((viewPorts[idx]->_flags & (DISPFLAG_20 | DISPFLAG_8 | DISPFLAG_1)) == (DISPFLAG_20 | DISPFLAG_8 | DISPFLAG_1)) { - if (_planeSelect == idx) - sDisplayPic(viewPorts[idx]->_currentPic); - flipFlag = true; + if (viewPorts[idx]->_flags & DISPFLAG_20) { + flipFlag = false; + if ((viewPorts[idx]->_flags & DISPFLAG_8) && (viewPorts[idx]->_flags & DISPFLAG_1)) { + if (_planeSelect == idx) + sDisplayPic(viewPorts[idx]->_currentPic); + flipFlag = true; + } } if (flipFlag) { |