aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/xeen/dialogs_map.cpp4
-rw-r--r--engines/xeen/interface.cpp5
-rw-r--r--engines/xeen/interface.h4
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