From 8112247f1ad3653a157a3fa0fa43271622a3433d Mon Sep 17 00:00:00 2001 From: eriktorbjorn Date: Sun, 15 May 2011 23:20:40 +0200 Subject: [PATCH] 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. --- engines/tsage/converse.cpp | 6 ++++-- engines/tsage/dialogs.cpp | 6 ++++-- 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 b1e318cc1c7d..5fa36142e7c1 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 fa9c73d07f4c..759deebbefbc 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 1b2e6b1137d6..5da00e852203 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();