aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicola Mettifogo2010-05-22 12:36:52 +0000
committerNicola Mettifogo2010-05-22 12:36:52 +0000
commita8ea833941208382e659914fb5bf99d5cb4f01a1 (patch)
treefe60c98a23db5f76f6015953ed2049d99bffff06
parent5280cbbbcd4a43efd456d2949c4436ff054cbd5e (diff)
downloadscummvm-rg350-a8ea833941208382e659914fb5bf99d5cb4f01a1.tar.gz
scummvm-rg350-a8ea833941208382e659914fb5bf99d5cb4f01a1.tar.bz2
scummvm-rg350-a8ea833941208382e659914fb5bf99d5cb4f01a1.zip
Do not make the character walk towards the zone clicked upon by the user if it is marked for self-use. See patch 3003626.
svn-id: r49137
-rw-r--r--engines/parallaction/input.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/parallaction/input.cpp b/engines/parallaction/input.cpp
index d61d1bfb2b..f4b2254a96 100644
--- a/engines/parallaction/input.cpp
+++ b/engines/parallaction/input.cpp
@@ -326,8 +326,13 @@ bool Input::translateGameInput() {
if ((_mouseButtons == kMouseLeftUp) && ((_activeItem._id != 0) || (ACTIONTYPE(z) == kZoneCommand))) {
- if (z->_flags & kFlagsNoWalk) {
- // character doesn't need to walk to take specified action
+ bool noWalk = z->_flags & kFlagsNoWalk; // check the explicit no-walk flag
+ if (_gameType == GType_BRA) {
+ // action performed on object marked for self-use do not need walk in BRA
+ noWalk |= z->_flags & kFlagsYourself;
+ }
+
+ if (noWalk) {
takeAction(z);
} else {
// action delayed: if Zone defined a moveto position the character is programmed to move there,