diff options
author | Torbjörn Andersson | 2005-09-15 10:25:23 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2005-09-15 10:25:23 +0000 |
commit | a556889d93c5b4cf4b77c3614474afc18a7fa253 (patch) | |
tree | 0938621ef18a8e9758e3656d24ca60e668e6a2e0 | |
parent | 90bcab800aab762e3bac4d7baaa2d704dc8ec8ec (diff) | |
download | scummvm-rg350-a556889d93c5b4cf4b77c3614474afc18a7fa253.tar.gz scummvm-rg350-a556889d93c5b4cf4b77c3614474afc18a7fa253.tar.bz2 scummvm-rg350-a556889d93c5b4cf4b77c3614474afc18a7fa253.zip |
I think this fixes bug #1291074, which is a masking glitch in Amiga v5
games. The mask pointer and maskbit weren't properly updated for the first
pixel of each new row.
Note that I do not have any of the Amiga games myself, so this fix is
based on observing what happens when forcing the PC version of MI2 to use
proc3_ami() instead of proc3().
svn-id: r18829
-rw-r--r-- | scumm/costume.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/scumm/costume.cpp b/scumm/costume.cpp index f39e41ac18..06e636165d 100644 --- a/scumm/costume.cpp +++ b/scumm/costume.cpp @@ -557,7 +557,8 @@ void ClassicCostumeRenderer::proc3_ami(Codec1 &v1) { if (v1.x != oldXpos) { dst += _out.pitch - (v1.x - oldXpos); v1.mask_ptr += _numStrips; - mask = v1.mask_ptr; + mask = v1.mask_ptr + oldXpos / 8; + maskbit = revBitMask(oldXpos & 7); y++; } width = _width; |