fix return values in getObjectOrActorXY; turned unsafe derefActorSafe call into derefActor (return value of derefActorSafe was used w/o checking it for 0)

svn-id: r9206
This commit is contained in:
Max Horn 2003-07-28 00:04:20 +00:00
parent ff988094be
commit 0d209fecb6

View file

@ -199,10 +199,10 @@ int Scumm::whereIsObject(int object) const {
int Scumm::getObjectOrActorXY(int object, int &x, int &y) { int Scumm::getObjectOrActorXY(int object, int &x, int &y) {
if (object < _numActors) { if (object < _numActors) {
Actor *act = derefActorSafe(object, "getObjectOrActorXY"); Actor *act = derefActorSafe(object, "getObjectOrActorXY");
if (!act) if (act)
return 0;
else
return act->getActorXYPos(x, y); return act->getActorXYPos(x, y);
else
return -1;
} }
switch (whereIsObject(object)) { switch (whereIsObject(object)) {
@ -210,9 +210,9 @@ int Scumm::getObjectOrActorXY(int object, int &x, int &y) {
return -1; return -1;
case WIO_INVENTORY: case WIO_INVENTORY:
if (_objectOwnerTable[object] < _numActors) if (_objectOwnerTable[object] < _numActors)
return derefActorSafe(_objectOwnerTable[object], "getObjectOrActorXY(2)")->getActorXYPos(x, y); return derefActor(_objectOwnerTable[object], "getObjectOrActorXY(2)")->getActorXYPos(x, y);
else else
return 0xFF; return -1;
} }
getObjectXYPos(object, x, y); getObjectXYPos(object, x, y);
return 0; return 0;