Ticket #9082: corner_walkbox.patch

File corner_walkbox.patch, 1.1 KB (added by SF/tobigun, 11 years ago)
  • engines/scumm/actor.cpp

     
    15361536                        bcr->_zbuf = 0;
    15371537                else {
    15381538                        bcr->_zbuf = _vm->getMaskFromBox(_walkbox);
     1539                        if (_vm->_game.version == 0)
     1540                                bcr->_zbuf &= 0x03;
    15391541                        if (bcr->_zbuf > _vm->_gdi->_numZBuffer-1)
    15401542                                bcr->_zbuf = _vm->_gdi->_numZBuffer-1;
    15411543                }
  • engines/scumm/boxes.cpp

     
    612612                box->ll.y = bp->c64.y2;
    613613                box->lr.x = bp->c64.x2;
    614614                box->lr.y = bp->c64.y2;
     615
     616                if (bp->c64.mask & 0x88) {
     617                        // walkbox for (right/left) corner
     618                        // TODO: ladders (incl. man-eating plant) have mask 0x8A,
     619                        // must those walkboxes be adjusted?
     620                        if (bp->c64.mask & 0x04)
     621                                box->ur = box->ul;
     622                        else
     623                                box->ul = box->ur;
     624                }
    615625        } else if (_game.version <= 2) {
    616626                box->ul.x = bp->v2.ulx;
    617627                box->ul.y = bp->v2.uy;