diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/access/events.cpp | 8 | ||||
-rw-r--r-- | engines/access/events.h | 2 | ||||
-rw-r--r-- | engines/access/room.cpp | 4 | ||||
-rw-r--r-- | engines/access/screen.cpp | 2 |
4 files changed, 16 insertions, 0 deletions
diff --git a/engines/access/events.cpp b/engines/access/events.cpp index 1184128ffd..73feefee97 100644 --- a/engines/access/events.cpp +++ b/engines/access/events.cpp @@ -148,7 +148,15 @@ void EventsManager::checkForNextFrameCounter() { // Signal the ScummVM debugger _vm->_debugger->onFrame(); + + // TODO: Refactor for dirty rects + _vm->_screen->updateScreen(); } } +void EventsManager::delay(int time) { + g_system->delayMillis(time); +} + + } // End of namespace Access diff --git a/engines/access/events.h b/engines/access/events.h index 2e6b06b5e2..55f04f17af 100644 --- a/engines/access/events.h +++ b/engines/access/events.h @@ -88,6 +88,8 @@ public: bool isCursorVisible(); void pollEvents(); + + void delay(int time); }; } // End of namespace Access diff --git a/engines/access/room.cpp b/engines/access/room.cpp index 4996527b74..d3f0f8ff06 100644 --- a/engines/access/room.cpp +++ b/engines/access/room.cpp @@ -84,6 +84,10 @@ void Room::doRoom() { _vm->_screen->fadeIn(); } + // TODO: Game loop doesn't seem to have any delay. For now, + // introduce a slight delay here + _vm->_events->delay(50); + // Handle any events _vm->_events->pollEvents(); diff --git a/engines/access/screen.cpp b/engines/access/screen.cpp index b47cd3e005..cdd5f2021e 100644 --- a/engines/access/screen.cpp +++ b/engines/access/screen.cpp @@ -64,6 +64,8 @@ void Screen::setPanel(int num) { } void Screen::updateScreen() { + g_system->copyRectToScreen((byte *)getPixels(), this->pitch, 0, 0, + this->w, this->h); g_system->updateScreen(); } |