aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage
diff options
context:
space:
mode:
authoreriktorbjorn2011-05-15 23:20:40 +0200
committereriktorbjorn2011-05-15 23:20:40 +0200
commit8112247f1ad3653a157a3fa0fa43271622a3433d (patch)
tree8017fef06ea4b6cfb8d7a6a617143ef7d74dbd19 /engines/tsage
parent7ba345be57c4e8f98d4cad2dcc64a088d60ed9ff (diff)
downloadscummvm-rg350-8112247f1ad3653a157a3fa0fa43271622a3433d.tar.gz
scummvm-rg350-8112247f1ad3653a157a3fa0fa43271622a3433d.tar.bz2
scummvm-rg350-8112247f1ad3653a157a3fa0fa43271622a3433d.zip
TSAGE: Made some dialogs less CPU hungry
The start/intro dialog, the inventory dialog and the conversation dialog now call delayMillis() in their event loop. This is consistent with how the action menu dialog already worked.
Diffstat (limited to 'engines/tsage')
-rw-r--r--engines/tsage/converse.cpp6
-rw-r--r--engines/tsage/dialogs.cpp6
-rw-r--r--engines/tsage/graphics.cpp2
3 files changed, 10 insertions, 4 deletions
diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp
index b1e318cc1c..5fa36142e7 100644
--- a/engines/tsage/converse.cpp
+++ b/engines/tsage/converse.cpp
@@ -418,8 +418,10 @@ int ConversationChoiceDialog::execute(const Common::StringArray &choiceList) {
Event event;
while (!_vm->getEventManager()->shouldQuit()) {
while (!_globals->_events.getEvent(event, EVENT_KEYPRESS | EVENT_BUTTON_DOWN | EVENT_MOUSE_MOVE) &&
- !_vm->getEventManager()->shouldQuit())
- ;
+ !_vm->getEventManager()->shouldQuit()) {
+ g_system->delayMillis(10);
+ g_system->updateScreen();
+ }
if (_vm->getEventManager()->shouldQuit())
break;
diff --git a/engines/tsage/dialogs.cpp b/engines/tsage/dialogs.cpp
index fa9c73d07f..759deebbef 100644
--- a/engines/tsage/dialogs.cpp
+++ b/engines/tsage/dialogs.cpp
@@ -468,8 +468,10 @@ void InventoryDialog::execute() {
while (!_vm->getEventManager()->shouldQuit()) {
// Get events
Event event;
- while (!_globals->_events.getEvent(event) && !_vm->getEventManager()->shouldQuit())
- ;
+ while (!_globals->_events.getEvent(event) && !_vm->getEventManager()->shouldQuit()) {
+ g_system->delayMillis(10);
+ g_system->updateScreen();
+ }
if (_vm->getEventManager()->shouldQuit())
return;
diff --git a/engines/tsage/graphics.cpp b/engines/tsage/graphics.cpp
index 1b2e6b1137..5da00e8522 100644
--- a/engines/tsage/graphics.cpp
+++ b/engines/tsage/graphics.cpp
@@ -991,6 +991,8 @@ GfxButton *GfxDialog::execute(GfxButton *defaultButton) {
break;
}
}
+ g_system->delayMillis(10);
+ g_system->updateScreen();
}
_gfxManager.deactivate();