aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/object.cpp
diff options
context:
space:
mode:
authorTravis Howell2010-10-25 08:03:55 +0000
committerTravis Howell2010-10-25 08:03:55 +0000
commit4f0cc6a435d725e62d38a4c7bdbd597f7f142972 (patch)
treedb84e6f8ebb6401b6b20a6dad9ef64915451aa23 /engines/scumm/object.cpp
parentf228c76b35ba5362ffac6fa7cc86fe1acd5fa8f7 (diff)
downloadscummvm-rg350-4f0cc6a435d725e62d38a4c7bdbd597f7f142972.tar.gz
scummvm-rg350-4f0cc6a435d725e62d38a4c7bdbd597f7f142972.tar.bz2
scummvm-rg350-4f0cc6a435d725e62d38a4c7bdbd597f7f142972.zip
SCUMM: Add patch #3093541 - MMC64: Actor Walk / Object Fix.
svn-id: r53806
Diffstat (limited to 'engines/scumm/object.cpp')
-rw-r--r--engines/scumm/object.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/scumm/object.cpp b/engines/scumm/object.cpp
index 60c3a9336e..c44043ca81 100644
--- a/engines/scumm/object.cpp
+++ b/engines/scumm/object.cpp
@@ -315,6 +315,10 @@ int ScummEngine::getObjectIndex(int object) const {
return -1;
for (i = (_numLocalObjects-1); i > 0; i--) {
+ if (_game.version == 0 )
+ if( _objs[i].flags != _v0ObjectFlag )
+ continue;
+
if (_objs[i].obj_nr == object)
return i;
}
@@ -526,6 +530,9 @@ int ScummEngine::findObject(int x, int y) {
#endif
if (_objs[i].x_pos <= x && _objs[i].width + _objs[i].x_pos > x &&
_objs[i].y_pos <= y && _objs[i].height + _objs[i].y_pos > y) {
+ // MMC64: Set the object search flag
+ if (_game.version == 0)
+ _v0ObjectFlag = _objs[i].flags;
if (_game.version == 0 && _v0ObjectIndex)
return i;
else