aboutsummaryrefslogtreecommitdiff
path: root/engines/queen
diff options
context:
space:
mode:
authorAlyssa Milburn2012-02-04 19:49:49 +0100
committerAlyssa Milburn2012-02-04 19:49:52 +0100
commit9f8520fb81810f6ce7718bde2fd4fc6a13e4c45d (patch)
tree73dad8c8e3bd074099c3b9b9e8aa793ea2e2f25f /engines/queen
parent38b8e0906949090d517d1ccab3a852e659ab449e (diff)
downloadscummvm-rg350-9f8520fb81810f6ce7718bde2fd4fc6a13e4c45d.tar.gz
scummvm-rg350-9f8520fb81810f6ce7718bde2fd4fc6a13e4c45d.tar.bz2
scummvm-rg350-9f8520fb81810f6ce7718bde2fd4fc6a13e4c45d.zip
QUEEN: Fix clicking at the pinnacle.
Check where the click was *before* scrolling the view, so that it works with a touchscreen. Also, check shouldQuit() here.
Diffstat (limited to 'engines/queen')
-rw-r--r--engines/queen/logic.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/queen/logic.cpp b/engines/queen/logic.cpp
index f60ac59ff1..6d90254608 100644
--- a/engines/queen/logic.cpp
+++ b/engines/queen/logic.cpp
@@ -1193,14 +1193,11 @@ void Logic::handlePinnacleRoom() {
uint16 prevObj = 0;
CmdText *cmdText = CmdText::makeCmdTextInstance(5, _vm);
cmdText->setVerb(VERB_WALK_TO);
- while (_vm->input()->mouseButton() == 0 || _entryObj == 0) {
+ while (!_vm->shouldQuit() && (_vm->input()->mouseButton() == 0 || _entryObj == 0)) {
_vm->update();
mouse = _vm->input()->getMousePos();
- // update screen scrolling
- _vm->display()->horizontalScroll(mouse.x);
-
// update bobs position / frame
joe->x = piton->x = 3 * mouse.x / 4 + 200;
joe->frameNum = mouse.x / 36 + 45;
@@ -1218,6 +1215,9 @@ void Logic::handlePinnacleRoom() {
}
prevObj = curObj;
}
+
+ // update screen scrolling
+ _vm->display()->horizontalScroll(mouse.x);
}
delete cmdText;
_vm->input()->clearMouseButton();