aboutsummaryrefslogtreecommitdiff
path: root/scumm/scummvm.cpp
diff options
context:
space:
mode:
authorMax Horn2002-12-31 03:26:02 +0000
committerMax Horn2002-12-31 03:26:02 +0000
commit5d4f06cf1f5b75b0ee719b41cf69443f2fd1b9a8 (patch)
treebd5f794d8bb0102b6a015afa40c876bb2435b25e /scumm/scummvm.cpp
parent166ea5bcee36aaab30ea6b7764bdc9872fc2dcf2 (diff)
downloadscummvm-rg350-5d4f06cf1f5b75b0ee719b41cf69443f2fd1b9a8.tar.gz
scummvm-rg350-5d4f06cf1f5b75b0ee719b41cf69443f2fd1b9a8.tar.bz2
scummvm-rg350-5d4f06cf1f5b75b0ee719b41cf69443f2fd1b9a8.zip
implemented object drawing (still somewhat broken, we get a 'green screen' effetc :-). Oh yes, this probably breaks save game compatibility for COMI. Oh yeah. As if I would care <g>
svn-id: r6285
Diffstat (limited to 'scumm/scummvm.cpp')
-rw-r--r--scumm/scummvm.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index bf94018b06..5c964c64be 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -745,9 +745,17 @@ void Scumm::initRoomSubBlocks()
if (_features & GF_SMALL_HEADER)
_IM00_offs = findResourceData(MKID('IM00'), roomptr) - roomptr;
- else if (_features & GF_AFTER_V8)
- _IM00_offs = findResourceData(MKID('IMAG'), roomptr) - roomptr;
- else
+ else if (_features & GF_AFTER_V8) {
+ ptr = findResource(MKID('IMAG'), roomptr);
+ assert(ptr);
+ ptr = findResource(MKID('WRAP'), ptr);
+ assert(ptr);
+ ptr = findResource(MKID('OFFS'), ptr);
+ assert(ptr);
+ // Get the first SMAP resource (corresponds to IM00)
+ ptr += READ_LE_UINT32(ptr + 8);
+ _IM00_offs = ptr - roomptr;
+ } else
_IM00_offs =
findResource(MKID('IM00'),
findResource(MKID('RMIM'), roomptr)) - roomptr;