diff options
author | James Brown | 2002-04-07 04:29:15 +0000 |
---|---|---|
committer | James Brown | 2002-04-07 04:29:15 +0000 |
commit | d2d498d08c2848051feb85b12ff6460d5c7c5d84 (patch) | |
tree | 9354ed594bec11738bae4d439c33184906071712 /object.cpp | |
parent | 6f2da5c673017132248ccd2f1604bf8868605226 (diff) | |
download | scummvm-rg350-d2d498d08c2848051feb85b12ff6460d5c7c5d84.tar.gz scummvm-rg350-d2d498d08c2848051feb85b12ff6460d5c7c5d84.tar.bz2 scummvm-rg350-d2d498d08c2848051feb85b12ff6460d5c7c5d84.zip |
Fix Indy4 bootparam, some more Zak256 work, and a few minor things.
svn-id: r3887
Diffstat (limited to 'object.cpp')
-rw-r--r-- | object.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/object.cpp b/object.cpp index 7e11c83993..3c32a5bd5e 100644 --- a/object.cpp +++ b/object.cpp @@ -130,14 +130,17 @@ int Scumm::whereIsObject(int object) { } int Scumm::getObjectOrActorXY(int object) { - if (object < NUM_ACTORS) { + if (object < NUM_ACTORS) return getActorXYPos(derefActorSafe(object, "getObjectOrActorXY")); - } + switch(whereIsObject(object)) { case WIO_NOT_FOUND: return -1; - case WIO_INVENTORY: - return getActorXYPos(derefActorSafe(_objectOwnerTable[object],"getObjectOrActorXY(2)")); + case WIO_INVENTORY: + if (_objectOwnerTable[object] < NUM_ACTORS) + return getActorXYPos(derefActorSafe(_objectOwnerTable[object],"getObjectOrActorXY(2)")); + else + return 0xFF; } getObjectXYPos(object); return 0; @@ -205,7 +208,7 @@ int Scumm::getObjActToObjActDist(int a, int b) { if (acta && actb && acta->room==actb->room && acta->room && acta->room != _currentRoom) - return 0xFF; + return 0; if (getObjectOrActorXY(a)==-1) return 0xFF; |