fixed bomp cursor in CMI partially - still seeing flickering/tearing/artifacts, though
svn-id: r6124
This commit is contained in:
parent
9e0e918397
commit
aa2a85de99
3 changed files with 9 additions and 8 deletions
|
@ -3091,9 +3091,7 @@ void Scumm::useBompCursor(byte *im, int width, int height)
|
||||||
_cursor.height = height;
|
_cursor.height = height;
|
||||||
_cursor.animate = 0;
|
_cursor.animate = 0;
|
||||||
|
|
||||||
// FIXME - why exactly the +10 ? Is that to account for block headers or something?
|
decompressBomp(_grabbedCursor, im, width, height);
|
||||||
// Should be documented and verified that this is appropriate for V8 bomps, or not.
|
|
||||||
decompressBomp(_grabbedCursor, im + 10, width, height);
|
|
||||||
|
|
||||||
updateCursor();
|
updateCursor();
|
||||||
}
|
}
|
||||||
|
@ -3314,9 +3312,12 @@ void Scumm::decompressBomp(byte *dst, byte *src, int w, int h)
|
||||||
int len, num;
|
int len, num;
|
||||||
byte code, color;
|
byte code, color;
|
||||||
|
|
||||||
|
// Skip the header
|
||||||
// FIXME - why this +8? To skip some kind of header? Is this right for V8 ?
|
if (_features & GF_AFTER_V8) {
|
||||||
src += 8;
|
src += 16;
|
||||||
|
} else {
|
||||||
|
src += 18;
|
||||||
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
len = w;
|
len = w;
|
||||||
|
|
|
@ -1181,7 +1181,7 @@ void Scumm::setCursorImg(uint img, uint room, uint imgindex)
|
||||||
// TODO - distinguish between SMAP and BOMP here?
|
// TODO - distinguish between SMAP and BOMP here?
|
||||||
|
|
||||||
// HACK - adjust dataptr here until bomp code gets adjusted for V8
|
// HACK - adjust dataptr here until bomp code gets adjusted for V8
|
||||||
bomp = dataptr + 2;
|
bomp = dataptr;
|
||||||
} else {
|
} else {
|
||||||
dataptr = findResource(IMxx_tags[imgindex], foir.obim);
|
dataptr = findResource(IMxx_tags[imgindex], foir.obim);
|
||||||
if (dataptr == NULL)
|
if (dataptr == NULL)
|
||||||
|
|
|
@ -559,7 +559,7 @@ public:
|
||||||
bool isResourceLoaded(int type, int index);
|
bool isResourceLoaded(int type, int index);
|
||||||
void initRoomSubBlocks();
|
void initRoomSubBlocks();
|
||||||
void loadRoomObjects();
|
void loadRoomObjects();
|
||||||
void loadRoomObjectsSmall();
|
void loadRoomObjectsSmall();
|
||||||
void readArrayFromIndexFile();
|
void readArrayFromIndexFile();
|
||||||
void readMAXS();
|
void readMAXS();
|
||||||
bool isGlobInMemory(int type, int index);
|
bool isGlobInMemory(int type, int index);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue