aboutsummaryrefslogtreecommitdiff
path: root/engines/voyeur
diff options
context:
space:
mode:
Diffstat (limited to 'engines/voyeur')
-rw-r--r--engines/voyeur/files_threads.cpp1
-rw-r--r--engines/voyeur/screen.cpp11
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) {