aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorMax Horn2002-12-31 03:32:06 +0000
committerMax Horn2002-12-31 03:32:06 +0000
commitbac024525022037252fc37c2f1236fa63097627b (patch)
treecc47d5a68dd05a92e328210511240a672ed697bb /scumm
parent5d4f06cf1f5b75b0ee719b41cf69443f2fd1b9a8 (diff)
downloadscummvm-rg350-bac024525022037252fc37c2f1236fa63097627b.tar.gz
scummvm-rg350-bac024525022037252fc37c2f1236fa63097627b.tar.bz2
scummvm-rg350-bac024525022037252fc37c2f1236fa63097627b.zip
added V8 support to drawVerbBitmap - not even sure if that is used in COMI, though
svn-id: r6286
Diffstat (limited to 'scumm')
-rw-r--r--scumm/object.cpp3
-rw-r--r--scumm/scummvm.cpp2
-rw-r--r--scumm/verbs.cpp13
3 files changed, 13 insertions, 5 deletions
diff --git a/scumm/object.cpp b/scumm/object.cpp
index 394a66b678..ea2caafdf5 100644
--- a/scumm/object.cpp
+++ b/scumm/object.cpp
@@ -1189,13 +1189,10 @@ void Scumm::setCursorImg(uint img, uint room, uint imgindex)
if (_features & GF_AFTER_V8) {
dataptr = findResource(MKID('IMAG'), foir.obim);
assert(dataptr);
-
dataptr = findResource(MKID('WRAP'), dataptr);
assert(dataptr);
-
dataptr = findResource(MKID('OFFS'), dataptr);
assert(dataptr);
-
dataptr += READ_LE_UINT32(dataptr + 4 + 4*imgindex);
// TODO - distinguish between SMAP and BOMP here?
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index 5c964c64be..72d21822b4 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -752,7 +752,7 @@ void Scumm::initRoomSubBlocks()
assert(ptr);
ptr = findResource(MKID('OFFS'), ptr);
assert(ptr);
- // Get the first SMAP resource (corresponds to IM00)
+ // Get the address of the first SMAP (corresponds to IM00)
ptr += READ_LE_UINT32(ptr + 8);
_IM00_offs = ptr - roomptr;
} else
diff --git a/scumm/verbs.cpp b/scumm/verbs.cpp
index ef65db1030..d9ad690d1d 100644
--- a/scumm/verbs.cpp
+++ b/scumm/verbs.cpp
@@ -242,7 +242,18 @@ void Scumm::drawVerbBitmap(int verb, int x, int y)
imgh = READ_LE_UINT16(&imhd->old.height) >> 3;
}
- imptr = findResource(MKID('IM01'), obim);
+ if (_features & GF_AFTER_V8) {
+ warning("drawVerbBitmap(%d, %d, %d)", verb, x, y);
+ imptr = findResource(MKID('IMAG'), obim);
+ assert(imptr);
+ imptr = findResource(MKID('WRAP'), imptr);
+ assert(imptr);
+ imptr = findResource(MKID('OFFS'), imptr);
+ assert(imptr);
+ // Get the address of the second SMAP (corresponds to IM01)
+ imptr += READ_LE_UINT32(imptr + 12);
+ } else
+ imptr = findResource(MKID('IM01'), obim);
if (!imptr)
error("No image for verb %d", verb);
}