diff options
-rw-r--r-- | engines/access/inventory.cpp | 1 | ||||
-rw-r--r-- | engines/access/room.cpp | 4 | ||||
-rw-r--r-- | engines/access/screen.cpp | 4 |
3 files changed, 6 insertions, 3 deletions
diff --git a/engines/access/inventory.cpp b/engines/access/inventory.cpp index 0a962aa69a..6d1b6d8d0f 100644 --- a/engines/access/inventory.cpp +++ b/engines/access/inventory.cpp @@ -183,7 +183,6 @@ int InventoryManager::newDisplayInv() { _invModeFlag = false; events.debounceLeft(); _vm->_timers.restoreTimers(); - _vm->_startup = 1; int result = 0; if (!_invRefreshFlag) { diff --git a/engines/access/room.cpp b/engines/access/room.cpp index 9a6efd32fc..f54b6170bc 100644 --- a/engines/access/room.cpp +++ b/engines/access/room.cpp @@ -172,12 +172,14 @@ void Room::doRoom() { reloadFlag = false; _vm->_startup = 8; _function = FN_NONE; + bool fadeIn = true; while (!_vm->shouldQuit()) { _vm->_images.clear(); - if (_vm->_startup != -1 && --_vm->_startup == 0) { + if (_vm->_startup == -1 && !fadeIn) { _vm->_events->showCursor(); _vm->_screen->fadeIn(); + fadeIn = true; } // Poll for events diff --git a/engines/access/screen.cpp b/engines/access/screen.cpp index b46f31f65a..98e188c0ca 100644 --- a/engines/access/screen.cpp +++ b/engines/access/screen.cpp @@ -89,8 +89,10 @@ void Screen::setPanel(int num) { } void Screen::updateScreen() { - if (_vm->_startup > 0) + if (_vm->_startup >= 0) { + --_vm->_startup; return; + } // Merge the dirty rects mergeDirtyRects(); |