aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction
diff options
context:
space:
mode:
authorNicola Mettifogo2007-02-19 09:25:11 +0000
committerNicola Mettifogo2007-02-19 09:25:11 +0000
commit880f449a2d969da9b860a995aaf64929ba1b57c5 (patch)
treed6d5b5541c553eab968f51a34340820bc3a8cfcc /engines/parallaction
parent2b3c08d420ceb36c22f37de261aa0607a71301a4 (diff)
downloadscummvm-rg350-880f449a2d969da9b860a995aaf64929ba1b57c5.tar.gz
scummvm-rg350-880f449a2d969da9b860a995aaf64929ba1b57c5.tar.bz2
scummvm-rg350-880f449a2d969da9b860a995aaf64929ba1b57c5.zip
fixed regression bug preventing user from interacting with many items, notably not allowing combining items from the inventory
svn-id: r25714
Diffstat (limited to 'engines/parallaction')
-rw-r--r--engines/parallaction/zone.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/parallaction/zone.cpp b/engines/parallaction/zone.cpp
index 2b0301ccac..55ab4ce18e 100644
--- a/engines/parallaction/zone.cpp
+++ b/engines/parallaction/zone.cpp
@@ -633,8 +633,8 @@ Zone *hitZone(uint32 type, uint16 x, uint16 y) {
// WORKAROUND: this huge condition is needed because we made ZoneTypeData a collection of structs
// instead of an union. So, merge->_obj1 and get->_icon were just aliases in the original engine,
// but we need to check it separately here. The same workaround is applied in freeZones.
- if ((((z->_type & 0xFFFF0000) == kZoneMerge) && (((_si == z->u.merge->_obj1) && (_di == z->u.merge->_obj2)) || ((_si == z->u.merge->_obj2) && (_di == z->u.merge->_obj1)))) ||
- (((z->_type & 0xFFFF0000) == kZoneGet) && ((_si == z->u.get->_icon) || (_di == z->u.get->_icon)))) {
+ if ((((z->_type & 0xFFFF) == kZoneMerge) && (((_si == z->u.merge->_obj1) && (_di == z->u.merge->_obj2)) || ((_si == z->u.merge->_obj2) && (_di == z->u.merge->_obj1)))) ||
+ (((z->_type & 0xFFFF) == kZoneGet) && ((_si == z->u.get->_icon) || (_di == z->u.get->_icon)))) {
// special Zone
if ((type == 0) && ((z->_type & 0xFFFF0000) == 0))