Ticket #7915: whereIsObject.patch

File whereIsObject.patch, 5.5 KB (added by SF/japj, 18 years ago)

whereIsObject enum patch

  • object.cpp

    RCS file: /cvsroot/scummvm/scummvm/object.cpp,v
    retrieving revision 1.13
    diff -u -r1.13 object.cpp
     
    109109                return getActorXYPos(derefActorSafe(object, "getObjectOrActorXY"));
    110110        }
    111111        switch(whereIsObject(object)) {
    112         case -1:
     112        case objectNotFound:
    113113                return -1;
    114         case 0:
     114        case objectInInventory:
    115115                return getActorXYPos(derefActorSafe(_objectFlagTable[object]&0xF,"getObjectOrActorXY(2)"));
    116116        }
    117117        getObjectXYPos(object);
     
    453453        for (i=1; i<_maxInventoryItems; i++) {
    454454                if (_inventory[i] == obj) {
    455455                        j = whereIsObject(obj);
    456                         if (j==0) {
     456                        if (j==objectInInventory) {
    457457                                nukeResource(rtInventory, i);
    458458                                _inventory[i] = 0;
    459459                        }
     
    563563
    564564        CHECK_HEAP
    565565
    566         if (whereIsObject(obj)==4) {
     566        if (whereIsObject(obj)==objectFlObjectInRoom) {
    567567                i = getObjectIndex(obj);
    568568                ptr = getResourceAddress(rtFlObject, _objs[i].fl_object_index) + 64;
    569569                size = READ_BE_UINT32_UNALIGNED(ptr+4);
     
    634634        if (obj <= _vars[VAR_NUM_ACTOR]) {
    635635                return derefActorSafe(obj,"getObjX")->x;
    636636        } else {
    637                 if (whereIsObject(obj)==-1)
     637                if (whereIsObject(obj)==objectNotFound)
    638638                        return -1;
    639639                getObjectOrActorXY(obj);
    640640                return _xPos;
     
    645645        if (obj <= _vars[VAR_NUM_ACTOR]) {
    646646                return derefActorSafe(obj,"getObjY")->y;
    647647        } else {
    648                 if (whereIsObject(obj)==-1)
     648                if (whereIsObject(obj)==objectNotFound)
    649649                        return -1;
    650650                getObjectOrActorXY(obj);
    651651                return _yPos;
  • script.cpp

    RCS file: /cvsroot/scummvm/scummvm/script.cpp,v
    retrieving revision 1.10
    diff -u -r1.10 script.cpp
     
    645645
    646646        where = whereIsObject(object);
    647647
    648         if (where == -1) {
     648        if (where == objectNotFound) {
    649649                error("Code for object %d not in room %d", object, _roomResource);
    650650        }
    651651
     
    685685        byte *objptr, *verbptr;
    686686        int verboffs;
    687687
    688         if (whereIsObject(obj)==-1)
     688        if (whereIsObject(obj)==objectNotFound)
    689689                return 0;
    690690
    691691        objptr = getObjectAddress(obj);
  • script_v1.cpp

    RCS file: /cvsroot/scummvm/scummvm/script_v1.cpp,v
    retrieving revision 1.11
    diff -u -r1.11 script_v1.cpp
     
    12011201
    12021202        a = derefActorSafe(getVarOrDirectByte(0x80), "o5_putActorAtObject");
    12031203        obj = getVarOrDirectWord(0x40);
    1204         if (whereIsObject(obj)!=-1)
     1204        if (whereIsObject(obj)!=objectNotFound)
    12051205                getObjectXYPos(obj);
    12061206        else {
    12071207                _xPos = 240;
     
    18841884
    18851885        a = derefActorSafe(getVarOrDirectByte(0x80), "o5_walkActorToObject");
    18861886        obj = getVarOrDirectWord(0x40);
    1887         if (whereIsObject(obj)!=-1) {
     1887        if (whereIsObject(obj)!=objectNotFound) {
    18881888                getObjectXYPos(obj);
    18891889                startWalkActor(a, _xPos, _yPos, _dir);
    18901890        }
  • script_v2.cpp

    RCS file: /cvsroot/scummvm/scummvm/script_v2.cpp,v
    retrieving revision 1.9
    diff -u -r1.9 script_v2.cpp
     
    852852        a = derefActorSafe(pop(), "o6_walkActorToObj");
    853853
    854854        if (obj >= 17) {
    855                 if (whereIsObject(obj)==-1)
     855                if (whereIsObject(obj)==objectNotFound)
    856856                        return;
    857857                getObjectXYPos(obj);
    858858                startWalkActor(a, _xPos, _yPos, _dir);
     
    909909        obj = pop();
    910910
    911911        a = derefActorSafe(pop(), "o6_putActorAtObject");
    912         if (whereIsObject(obj)!=-1) {
     912        if (whereIsObject(obj)!=objectNotFound) {
    913913                getObjectXYPos(obj);
    914914                x = _xPos;
    915915                y = _yPos;
  • scumm.h

    RCS file: /cvsroot/scummvm/scummvm/scumm.h,v
    retrieving revision 1.25
    diff -u -r1.25 scumm.h
     
    325325
    326326};
    327327
     328enum ObjectLocation {
     329        objectNotFound  = -1,
     330        objectInInventory = 0,
     331        objectInRoom = 1,
     332        objectFlObjectInRoom = 4
     333};
     334
    328335#define _maxRooms res.num[rtRoom]
    329336#define _maxScripts res.num[rtScript]
    330337#define _maxCostumes res.num[rtCostume]
  • scummvm.cpp

    RCS file: /cvsroot/scummvm/scummvm/scummvm.cpp,v
    retrieving revision 1.24
    diff -u -r1.24 scummvm.cpp
     
    543543        memset(actorDrawBits, 0, sizeof(actorDrawBits));
    544544
    545545        if (a) {
    546                 if (whereIsObject(objectNr)!=1 &&
    547                         whereIsObject(objectNr)!=4)
     546                if (whereIsObject(objectNr)!=objectInRoom &&
     547                        whereIsObject(objectNr)!=objectFlObjectInRoom)
    548548                                error("startScene: Object %d is not in room %d", objectNr, _currentRoom);
    549549                getObjectXYPos(objectNr);
    550550                putActor(a, _xPos, _yPos, _currentRoom);
  • verbs.cpp

    RCS file: /cvsroot/scummvm/scummvm/verbs.cpp,v
    retrieving revision 1.8
    diff -u -r1.8 verbs.cpp
     
    250250        ImageHeader *imhd;
    251251        RoomHeader *roomhdr;
    252252
    253         if (whereIsObject(object) == 4)
     253        if (whereIsObject(object) == objectFlObjectInRoom)
    254254                error("Can't grab verb image from flobject");
    255255
    256256        ensureResourceLoaded(rtRoom,room);