diff options
author | eriktorbjorn | 2011-05-15 23:20:40 +0200 |
---|---|---|
committer | eriktorbjorn | 2011-05-15 23:20:40 +0200 |
commit | 8112247f1ad3653a157a3fa0fa43271622a3433d (patch) | |
tree | 8017fef06ea4b6cfb8d7a6a617143ef7d74dbd19 | |
parent | 7ba345be57c4e8f98d4cad2dcc64a088d60ed9ff (diff) | |
download | scummvm-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.
-rw-r--r-- | engines/tsage/converse.cpp | 6 | ||||
-rw-r--r-- | engines/tsage/dialogs.cpp | 6 | ||||
-rw-r--r-- | engines/tsage/graphics.cpp | 2 |
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(); |