code simplification
svn-id: r14905
This commit is contained in:
parent
647d8e8bcf
commit
c4065d0af9
1 changed files with 10 additions and 17 deletions
|
@ -1407,14 +1407,14 @@ void Gdi::decompressImageHE(uint8 *dst, int dstWidth, const Common::Rect *dstRec
|
||||||
return;
|
return;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
|
if (h < 0)
|
||||||
|
break;
|
||||||
|
--h;
|
||||||
xoff = srcRect->left;
|
xoff = srcRect->left;
|
||||||
off = READ_LE_UINT16(dataPtr);
|
off = READ_LE_UINT16(dataPtr);
|
||||||
w = srcRect->right - srcRect->left + 1;
|
w = srcRect->right - srcRect->left + 1;
|
||||||
dstPtrNext = dstWidth + dstPtr;
|
dstPtrNext = dstWidth + dstPtr;
|
||||||
dataPtrNext = off + 2 + dataPtr;
|
dataPtrNext = off + 2 + dataPtr;
|
||||||
if (h < 0)
|
|
||||||
break;
|
|
||||||
--h;
|
|
||||||
dataPtr += 2;
|
dataPtr += 2;
|
||||||
if (off == 0) goto dec_next;
|
if (off == 0) goto dec_next;
|
||||||
|
|
||||||
|
@ -1466,27 +1466,20 @@ dec_sub1: dstPtr += code;
|
||||||
if (databit) {
|
if (databit) {
|
||||||
++code;
|
++code;
|
||||||
dec_sub2: w -= code;
|
dec_sub2: w -= code;
|
||||||
if (w >= 0) {
|
if (w < 0) {
|
||||||
memset(dstPtr, *dataPtr++, code);
|
|
||||||
dstPtr += code;
|
|
||||||
} else {
|
|
||||||
code += w;
|
code += w;
|
||||||
memset(dstPtr, *dataPtr++, code);
|
|
||||||
dstPtr += code;
|
|
||||||
}
|
}
|
||||||
|
memset(dstPtr, *dataPtr++, code);
|
||||||
|
dstPtr += code;
|
||||||
} else {
|
} else {
|
||||||
++code;
|
++code;
|
||||||
dec_sub3: w -= code;
|
dec_sub3: w -= code;
|
||||||
if (w >= 0) {
|
if (w < 0) {
|
||||||
memcpy(dstPtr, dataPtr, code);
|
|
||||||
dstPtr += code;
|
|
||||||
dataPtr += code;
|
|
||||||
} else {
|
|
||||||
code += w;
|
code += w;
|
||||||
memcpy(dstPtr, dataPtr, code);
|
|
||||||
dstPtr += code;
|
|
||||||
dataPtr += code;
|
|
||||||
}
|
}
|
||||||
|
memcpy(dstPtr, dataPtr, code);
|
||||||
|
dstPtr += code;
|
||||||
|
dataPtr += code;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue