aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2012-06-21 22:58:58 +1000
committerPaul Gilbert2012-06-21 22:58:58 +1000
commit17289089e6232d464d9eef15f510d66542fbbec5 (patch)
tree535d13dd01cf74ee1760e6bee709dd81b0a6cd34 /engines
parentcdbc4aa28b5c47392369879b209f9635ff431195 (diff)
downloadscummvm-rg350-17289089e6232d464d9eef15f510d66542fbbec5.tar.gz
scummvm-rg350-17289089e6232d464d9eef15f510d66542fbbec5.tar.bz2
scummvm-rg350-17289089e6232d464d9eef15f510d66542fbbec5.zip
TONY: Fix for adding dirty rects for 8-bit RLE images
Diffstat (limited to 'engines')
-rw-r--r--engines/tony/gfxcore.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/tony/gfxcore.cpp b/engines/tony/gfxcore.cpp
index d34923e455..751802bb29 100644
--- a/engines/tony/gfxcore.cpp
+++ b/engines/tony/gfxcore.cpp
@@ -900,6 +900,9 @@ void RMGfxSourceBuffer8RLE::draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPri
u = _dimx - (width + u);
x1 = (prim->getDst()._x1 + _dimx - 1) - u;
+ // Specify the drawn area
+ bigBuf.addDirtyRect(Common::Rect(x1 - width, y1, x1, y1 + height));
+
for (y = 0; y < height; y++) {
// Decompression
RLEDecompressLineFlipped(buf + x1, src + 2, u, width);
@@ -911,6 +914,9 @@ void RMGfxSourceBuffer8RLE::draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPri
buf += bigBuf.getDimx();
}
} else {
+ // Specify the drawn area
+ bigBuf.addDirtyRect(Common::Rect(x1, y1, x1 + width, y1 + height));
+
for (y = 0; y < height; y++) {
// Decompression
RLEDecompressLine(buf + x1, src + 2, u, width);
@@ -922,9 +928,6 @@ void RMGfxSourceBuffer8RLE::draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPri
buf += bigBuf.getDimx();
}
}
-
- // Specify the drawn area
- bigBuf.addDirtyRect(Common::Rect(x1, y1, x1 + width, y1 + height));
}