aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/access/events.cpp8
-rw-r--r--engines/access/events.h2
-rw-r--r--engines/access/room.cpp4
-rw-r--r--engines/access/screen.cpp2
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();
}