aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorPaweł Kołodziejski2003-04-12 09:31:00 +0000
committerPaweł Kołodziejski2003-04-12 09:31:00 +0000
commit6d4b74819942e1766736fab19366317d6ccc2273 (patch)
tree7420899cf7f2a1ad442742c08db212c5e8e6a616 /scumm
parent6c2dd8b4d2b3f13584fe90734850d0299f7d08c0 (diff)
downloadscummvm-rg350-6d4b74819942e1766736fab19366317d6ccc2273.tar.gz
scummvm-rg350-6d4b74819942e1766736fab19366317d6ccc2273.tar.bz2
scummvm-rg350-6d4b74819942e1766736fab19366317d6ccc2273.zip
fixes zplanes for nonblocked games
svn-id: r6981
Diffstat (limited to 'scumm')
-rw-r--r--scumm/gfx.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index 27c5b51fc3..dba5fd13c7 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -522,9 +522,7 @@ void Scumm::initBGBuffers(int height) {
}
room = getResourceAddress(rtRoom, _roomResource);
- if (_features & GF_AFTER_V3) {
- // FIXME - maybe this should check for multiple planes like we do
- // for GF_SMALL_HEADER already.
+ if ((_features & GF_AFTER_V2) || (_features & GF_AFTER_V3)) {
gdi._numZBuffer = 2;
} else if (_features & GF_SMALL_HEADER) {
int off;
@@ -858,7 +856,10 @@ void Gdi::drawBitmap(byte *ptr, VirtScreen *vs, int x, int y, const int h,
numzbuf = _disable_zbuffer ? 0 : _numZBuffer;
assert(numzbuf <= (int)ARRAYSIZE(zplane_list));
- if (_vm->_features & GF_16COLOR) {
+ if (_vm->_features & GF_OLD_BUNDLE) {
+ zplane_list[1] = smap_ptr + READ_LE_UINT16(smap_ptr);
+ }
+ if (_vm->_gameId == GID_MONKEY_EGA) {
byte *ptr_z = smap_ptr;
for (i = 0; i < numzbuf; i++) {
int off = READ_LE_UINT16(ptr_z);