diff options
author | Vincent Hamm | 2002-02-22 16:06:09 +0000 |
---|---|---|
committer | Vincent Hamm | 2002-02-22 16:06:09 +0000 |
commit | 8168c0b11d4fb45971e5b9a70bb07add4fa0cbe4 (patch) | |
tree | bb918264ca11c451baa3c743afe629b2d06133ef /boxes.cpp | |
parent | f92ed783cb67ce3e9a4f5959a7be6f6e45ced98b (diff) | |
download | scummvm-rg350-8168c0b11d4fb45971e5b9a70bb07add4fa0cbe4.tar.gz scummvm-rg350-8168c0b11d4fb45971e5b9a70bb07add4fa0cbe4.tar.bz2 scummvm-rg350-8168c0b11d4fb45971e5b9a70bb07add4fa0cbe4.zip |
Fixed some boxes issues. Matrix is still buggy
svn-id: r3620
Diffstat (limited to 'boxes.cpp')
-rw-r--r-- | boxes.cpp | 27 |
1 files changed, 19 insertions, 8 deletions
@@ -116,14 +116,25 @@ bool Scumm::checkXYInBoxBounds(int b, int x, int y) { void Scumm::getBoxCoordinates(int boxnum, BoxCoords *box) { Box *bp = getBoxBaseAddr(boxnum); - box->ul.x = (int16)FROM_LE_16(bp->ulx); - box->ul.y = (int16)FROM_LE_16(bp->uly); - box->ur.x = (int16)FROM_LE_16(bp->urx); - box->ur.y = (int16)FROM_LE_16(bp->ury); - box->ll.x = (int16)FROM_LE_16(bp->llx); - box->ll.y = (int16)FROM_LE_16(bp->lly); - box->lr.x = (int16)FROM_LE_16(bp->lrx); - box->lr.y = (int16)FROM_LE_16(bp->lry); + if(_features & GF_NO_SCALLING){ + box->ul.x = (int16)FROM_LE_16(bp->ulx); + box->ul.y = (int16)FROM_LE_16(bp->uly); + box->ur.x = (int16)FROM_LE_16(bp->urx); + box->ur.y = (int16)FROM_LE_16(bp->ury); + box->lr.x = (int16)FROM_LE_16(bp->llx); + box->lr.y = (int16)FROM_LE_16(bp->lly); + box->ll.x = (int16)FROM_LE_16(bp->lrx); + box->ll.y = (int16)FROM_LE_16(bp->lry); + } else { + box->ul.x = (int16)FROM_LE_16(bp->ulx); + box->ul.y = (int16)FROM_LE_16(bp->uly); + box->ur.x = (int16)FROM_LE_16(bp->urx); + box->ur.y = (int16)FROM_LE_16(bp->ury); + box->ll.x = (int16)FROM_LE_16(bp->llx); + box->ll.y = (int16)FROM_LE_16(bp->lly); + box->lr.x = (int16)FROM_LE_16(bp->lrx); + box->lr.y = (int16)FROM_LE_16(bp->lry); + } } uint Scumm::distanceFromPt(int x, int y, int ptx, int pty) { |