diff options
author | Eugene Sandulenko | 2005-05-21 14:14:03 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-05-21 14:14:03 +0000 |
commit | 31974eaead154ae6637b5655d5a5eb573ce342e2 (patch) | |
tree | edab7561725f1865e9f9885310079b622a6767ab /scumm/gfx.cpp | |
parent | 7beb36ec72c8604e6d7269171b3bb02d33ec2bca (diff) | |
download | scummvm-rg350-31974eaead154ae6637b5655d5a5eb573ce342e2.tar.gz scummvm-rg350-31974eaead154ae6637b5655d5a5eb573ce342e2.tar.bz2 scummvm-rg350-31974eaead154ae6637b5655d5a5eb573ce342e2.zip |
Beautify decompressTMSK().
svn-id: r18206
Diffstat (limited to 'scumm/gfx.cpp')
-rw-r--r-- | scumm/gfx.cpp | 63 |
1 files changed, 26 insertions, 37 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp index ff04b58064..b0f82ecafa 100644 --- a/scumm/gfx.cpp +++ b/scumm/gfx.cpp @@ -1871,58 +1871,47 @@ void Gdi::decompressMaskImg(byte *dst, const byte *src, int height) const { } void Gdi::decompressTMSK(byte *dst, const byte *tmsk, const byte *src, int height) const { - int edx; - int var_10 = 0; - int var_14 = 0; - int tmp1 = 0; - int tmp2 = 0; + byte srcbits = 0; + byte srcFlag = 0; + byte maskFlag = 0; - int esi = 0; - int edi = 0; - int ebx = 0; + byte srcCount = 0; + byte maskCount = 0; + byte maskbits = 0; while (height) { - if (esi == 0) { - esi = *src++; - edx = esi & 0x80; - tmp1 = edx; - if (edx) { - esi &= 0x7F; - var_10 = *src++; + if (srcCount == 0) { + srcCount = *src++; + srcFlag = srcCount & 0x80; + if (srcFlag) { + srcCount &= 0x7F; + srcbits = *src++; } } - if (tmp1 == 0) { - var_10 = *src++; + if (srcFlag == 0) { + srcbits = *src++; } - esi--; - if (edi == 0) { - edi = *tmsk++; - edx = edi & 0x80; - tmp2 = edx; - if (edx) { - edi &= 0x7F; - ebx = *tmsk++; + srcCount--; + + if (maskCount == 0) { + maskCount = *tmsk++; + maskFlag = maskCount & 0x80; + if (maskFlag) { + maskCount &= 0x7F; + maskbits = *tmsk++; } } - if (tmp2 == 0) { - ebx = *tmsk++; + if (maskFlag == 0) { + maskbits = *tmsk++; } - edi--; - - edx = ebx; - edx = !edx; - edx &= *dst; - - var_14 = var_10; - var_14 &= ebx; + maskCount--; - edx |= var_14; - *dst = edx; + *dst = (*dst & ~maskbits) | (srcbits & maskbits); dst += 80; height--; |