From f4be51cd683961c79145da93227c5c3b2349d587 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Mon, 12 May 2003 17:50:09 +0000 Subject: modified akos / 'old' costume (charset) masking code to a) match each other; also, the costume.cpp code looks again checks _zbuf != 0 even for non-SMALL_HEADER games, as it used to 1 year ago ;-) (note: this change is kinda experimental; might fix some bugs, might introduce some regressions) svn-id: r7473 --- scumm/akos.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'scumm/akos.cpp') diff --git a/scumm/akos.cpp b/scumm/akos.cpp index aa5ca72d3f..9bca612ce3 100644 --- a/scumm/akos.cpp +++ b/scumm/akos.cpp @@ -636,7 +636,7 @@ void AkosRenderer::codec1() { int cur_x, x_right, x_left, skip = 0, tmp_x, tmp_y; int cur_y, y_top, y_bottom; bool y_clipping; - bool masking; + bool charsetmask, masking; int step; /* implement custom scale table */ @@ -835,15 +835,17 @@ void AkosRenderer::codec1() { v1.destptr = outptr + cur_x + cur_y * outwidth; + charsetmask = + _vm->hasCharsetMask(x_left, y_top + _vm->virtscr[0].topline, x_right, + _vm->virtscr[0].topline + y_bottom); masking = false; - if (_zbuf) { + if (_zbuf != 0) { masking = _vm->isMaskActiveAt(x_left, y_top, x_right, y_bottom, _vm->getResourceAddress(rtBuffer, 9) + _vm->gdi._imgBufOffs[_zbuf] + _vm->_screenStartStrip) != 0; } v1.mask_ptr = NULL; - if (masking || charsetmask || _shadow_mode) { v1.mask_ptr = _vm->getResourceAddress(rtBuffer, 9) + cur_y * _numStrips + _vm->_screenStartStrip; v1.imgbufoffs = _vm->gdi._imgBufOffs[_zbuf]; -- cgit v1.2.3