diff options
author | Max Horn | 2002-12-25 12:41:41 +0000 |
---|---|---|
committer | Max Horn | 2002-12-25 12:41:41 +0000 |
commit | aa2a85de9938cbe56c076f9f56c2b2005263a51a (patch) | |
tree | 15d646550f6cfd99f20241c03d26c25008014b93 | |
parent | 9e0e918397a6772ae6ab5e9220a797750657973e (diff) | |
download | scummvm-rg350-aa2a85de9938cbe56c076f9f56c2b2005263a51a.tar.gz scummvm-rg350-aa2a85de9938cbe56c076f9f56c2b2005263a51a.tar.bz2 scummvm-rg350-aa2a85de9938cbe56c076f9f56c2b2005263a51a.zip |
fixed bomp cursor in CMI partially - still seeing flickering/tearing/artifacts, though
svn-id: r6124
-rw-r--r-- | scumm/gfx.cpp | 13 | ||||
-rw-r--r-- | scumm/object.cpp | 2 | ||||
-rw-r--r-- | scumm/scumm.h | 2 |
3 files changed, 9 insertions, 8 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp index a909f337e8..efedd8d1dd 100644 --- a/scumm/gfx.cpp +++ b/scumm/gfx.cpp @@ -3091,9 +3091,7 @@ void Scumm::useBompCursor(byte *im, int width, int height) _cursor.height = height; _cursor.animate = 0; - // FIXME - why exactly the +10 ? Is that to account for block headers or something? - // Should be documented and verified that this is appropriate for V8 bomps, or not. - decompressBomp(_grabbedCursor, im + 10, width, height); + decompressBomp(_grabbedCursor, im, width, height); updateCursor(); } @@ -3314,9 +3312,12 @@ void Scumm::decompressBomp(byte *dst, byte *src, int w, int h) int len, num; byte code, color; - - // FIXME - why this +8? To skip some kind of header? Is this right for V8 ? - src += 8; + // Skip the header + if (_features & GF_AFTER_V8) { + src += 16; + } else { + src += 18; + } do { len = w; diff --git a/scumm/object.cpp b/scumm/object.cpp index 83105b88e7..a8396bf8ae 100644 --- a/scumm/object.cpp +++ b/scumm/object.cpp @@ -1181,7 +1181,7 @@ void Scumm::setCursorImg(uint img, uint room, uint imgindex) // TODO - distinguish between SMAP and BOMP here? // HACK - adjust dataptr here until bomp code gets adjusted for V8 - bomp = dataptr + 2; + bomp = dataptr; } else { dataptr = findResource(IMxx_tags[imgindex], foir.obim); if (dataptr == NULL) diff --git a/scumm/scumm.h b/scumm/scumm.h index a89255a208..37e65462e0 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -559,7 +559,7 @@ public: bool isResourceLoaded(int type, int index); void initRoomSubBlocks(); void loadRoomObjects(); - void loadRoomObjectsSmall(); + void loadRoomObjectsSmall(); void readArrayFromIndexFile(); void readMAXS(); bool isGlobInMemory(int type, int index); |