diff options
author | Paul Gilbert | 2010-07-24 08:08:19 +0000 |
---|---|---|
committer | Paul Gilbert | 2010-07-24 08:08:19 +0000 |
commit | 0191f8fd7157e29e92f89f82cb15e44949c11357 (patch) | |
tree | 3ab936c1c27b86679fc04dcf989831de1ea5f54c /engines/m4/graphics.cpp | |
parent | c8cde0735fdc1ccbcdeb9075433d9f31bf03f86f (diff) | |
download | scummvm-rg350-0191f8fd7157e29e92f89f82cb15e44949c11357.tar.gz scummvm-rg350-0191f8fd7157e29e92f89f82cb15e44949c11357.tar.bz2 scummvm-rg350-0191f8fd7157e29e92f89f82cb15e44949c11357.zip |
M4: Bugfixes for depth ordering to fix the Z order of on-screen objects
svn-id: r51239
Diffstat (limited to 'engines/m4/graphics.cpp')
-rw-r--r-- | engines/m4/graphics.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/m4/graphics.cpp b/engines/m4/graphics.cpp index c10ea6c9f6..423dda5e7e 100644 --- a/engines/m4/graphics.cpp +++ b/engines/m4/graphics.cpp @@ -443,7 +443,7 @@ void M4Surface::copyFrom(M4Surface *src, int destX, int destY, int depth, for (int rowCtr = 0; rowCtr < copyRect.height(); ++rowCtr) { // Copy each byte one at a time checking against the depth for (int xCtr = 0; xCtr < copyRect.width(); ++xCtr) { - if ((depthsPtr[xCtr] > depth) && (srcPtr[xCtr] != transparentColour)) + if ((depth <= (depthsPtr[xCtr] & 0x7f)) && (srcPtr[xCtr] != transparentColour)) destPtr[xCtr] = srcPtr[xCtr]; } @@ -557,7 +557,7 @@ void M4Surface::copyFrom(M4Surface *src, int destX, int destY, int depth, // Not a display pixel continue; - if ((*srcP != transparentColour) && (depth <= *depthP)) + if ((*srcP != transparentColour) && (depth <= (*depthP & 0x7f))) *destP = *srcP; ++destP; |