aboutsummaryrefslogtreecommitdiff
path: root/object.cpp
diff options
context:
space:
mode:
authorJames Brown2002-04-07 04:29:15 +0000
committerJames Brown2002-04-07 04:29:15 +0000
commitd2d498d08c2848051feb85b12ff6460d5c7c5d84 (patch)
tree9354ed594bec11738bae4d439c33184906071712 /object.cpp
parent6f2da5c673017132248ccd2f1604bf8868605226 (diff)
downloadscummvm-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.cpp13
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;