aboutsummaryrefslogtreecommitdiff
path: root/engines/m4/graphics.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2010-07-24 08:08:19 +0000
committerPaul Gilbert2010-07-24 08:08:19 +0000
commit0191f8fd7157e29e92f89f82cb15e44949c11357 (patch)
tree3ab936c1c27b86679fc04dcf989831de1ea5f54c /engines/m4/graphics.cpp
parentc8cde0735fdc1ccbcdeb9075433d9f31bf03f86f (diff)
downloadscummvm-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.cpp4
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;