diff options
-rw-r--r-- | engines/xeen/dialogs_map.cpp | 4 | ||||
-rw-r--r-- | engines/xeen/interface.cpp | 5 | ||||
-rw-r--r-- | engines/xeen/interface.h | 4 |
3 files changed, 8 insertions, 5 deletions
diff --git a/engines/xeen/dialogs_map.cpp b/engines/xeen/dialogs_map.cpp index 7c7e6f7407..f47f1b69ca 100644 --- a/engines/xeen/dialogs_map.cpp +++ b/engines/xeen/dialogs_map.cpp @@ -81,7 +81,7 @@ void MapDialog::execute() { events.updateGameCounter(); do { if (drawFlag) - intf.draw3d(false); + intf.draw3d(false, false); windows[5].writeString("\r"); if (map._isOutdoors) @@ -109,7 +109,7 @@ void MapDialog::execute() { windows[5].update(); windows[3].update(); - events.pollEvents(); + events.ipause5(2); drawFlag = false; } while (!_vm->shouldQuit() && !events.isKeyMousePressed()); diff --git a/engines/xeen/interface.cpp b/engines/xeen/interface.cpp index f39c2d4278..5bbc6abea1 100644 --- a/engines/xeen/interface.cpp +++ b/engines/xeen/interface.cpp @@ -1242,7 +1242,7 @@ void Interface::bash(const Common::Point &pt, Direction direction) { drawParty(true); } -void Interface::draw3d(bool updateFlag) { +void Interface::draw3d(bool updateFlag, bool pauseFlag) { Combat &combat = *_vm->_combat; EventsManager &events = *_vm->_events; Party &party = *_vm->_party; @@ -1299,7 +1299,8 @@ void Interface::draw3d(bool updateFlag) { } party._stepped = false; - events.ipause5(2); + if (pauseFlag) + events.ipause5(2); } void Interface::handleFalling() { diff --git a/engines/xeen/interface.h b/engines/xeen/interface.h index 54a9cd179e..48d75ab8a0 100644 --- a/engines/xeen/interface.h +++ b/engines/xeen/interface.h @@ -168,8 +168,10 @@ public: /** * Handles drawing the elements of the interface and game scene + * @param updateFlag Updates UI windows 1 & 3 + * @param pauseFlag Does a brief pause at the end of drawing */ - void draw3d(bool updateFlag); + void draw3d(bool updateFlag, bool pauseFlag = true); /** * Draw the display borders |