Temporary fix for akos codec32 (this should re-use the existing code in Gdi). There are still some glitches, but catalog2 doesn't crash anymore when displaying the HE logo.

svn-id: r15311
This commit is contained in:
Gregory Montoir 2004-09-27 21:46:25 +00:00
parent 9eede9a4ac
commit b347a5d4c0

View File

@ -1223,13 +1223,34 @@ byte AkosRenderer::codec32(int xmoveCur, int ymoveCur) {
src.bottom = _height - 1;
dst.top = _actorY + ymoveCur;
dst.right = dst.left + _width;
dst.bottom = dst.top + _height;
dst.right = dst.left + _width - 1;
dst.bottom = dst.top + _height - 1;
dst.clip(_clipOverride);
int diff;
diff = dst.left - _clipOverride.left;
if (diff < 0) {
src.left -= diff;
dst.left -= diff;
}
diff = dst.right - _clipOverride.right;
if (diff > 0) {
src.right -= diff;
dst.right -= diff;
}
diff = dst.top - _clipOverride.top;
if (diff < 0) {
src.top -= diff;
dst.top -= diff;
}
diff = dst.bottom - _clipOverride.bottom;
if (diff > 0) {
src.bottom -= diff;
dst.bottom -= diff;
}
_vm->markRectAsDirty(kMainVirtScreen, dst, _actorID);
_vm->markRectAsDirty(kMainVirtScreen, dst);
// cyx: are these variables really useful ?
if (_draw_top > dst.top)
_draw_top = dst.top;
if (_draw_bottom < dst.bottom)