aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorGregory Montoir2004-09-05 10:10:29 +0000
committerGregory Montoir2004-09-05 10:10:29 +0000
commitc4065d0af952eddc93e24cd8d19cc564750f6c8e (patch)
tree4398defb060ec59cf33035a9933e80cf1052b9f3 /scumm
parent647d8e8bcff2a64c8aa2cd19ed7a26cc54f77be6 (diff)
downloadscummvm-rg350-c4065d0af952eddc93e24cd8d19cc564750f6c8e.tar.gz
scummvm-rg350-c4065d0af952eddc93e24cd8d19cc564750f6c8e.tar.bz2
scummvm-rg350-c4065d0af952eddc93e24cd8d19cc564750f6c8e.zip
code simplification
svn-id: r14905
Diffstat (limited to 'scumm')
-rw-r--r--scumm/gfx.cpp27
1 files changed, 10 insertions, 17 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index 8bbb841555..369f4b236b 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -1407,14 +1407,14 @@ void Gdi::decompressImageHE(uint8 *dst, int dstWidth, const Common::Rect *dstRec
return;
while (1) {
+ if (h < 0)
+ break;
+ --h;
xoff = srcRect->left;
off = READ_LE_UINT16(dataPtr);
w = srcRect->right - srcRect->left + 1;
dstPtrNext = dstWidth + dstPtr;
dataPtrNext = off + 2 + dataPtr;
- if (h < 0)
- break;
- --h;
dataPtr += 2;
if (off == 0) goto dec_next;
@@ -1466,27 +1466,20 @@ dec_sub1: dstPtr += code;
if (databit) {
++code;
dec_sub2: w -= code;
- if (w >= 0) {
- memset(dstPtr, *dataPtr++, code);
- dstPtr += code;
- } else {
+ if (w < 0) {
code += w;
- memset(dstPtr, *dataPtr++, code);
- dstPtr += code;
}
+ memset(dstPtr, *dataPtr++, code);
+ dstPtr += code;
} else {
++code;
dec_sub3: w -= code;
- if (w >= 0) {
- memcpy(dstPtr, dataPtr, code);
- dstPtr += code;
- dataPtr += code;
- } else {
+ if (w < 0) {
code += w;
- memcpy(dstPtr, dataPtr, code);
- dstPtr += code;
- dataPtr += code;
}
+ memcpy(dstPtr, dataPtr, code);
+ dstPtr += code;
+ dataPtr += code;
}
}
}