diff options
author | Max Horn | 2003-05-12 17:50:09 +0000 |
---|---|---|
committer | Max Horn | 2003-05-12 17:50:09 +0000 |
commit | f4be51cd683961c79145da93227c5c3b2349d587 (patch) | |
tree | c64af8db48d9c30ae33bcde7ca27d23c3a4fab73 /scumm/akos.cpp | |
parent | 12f7d71bf28e2a29311ae228de66da59d0c7735b (diff) | |
download | scummvm-rg350-f4be51cd683961c79145da93227c5c3b2349d587.tar.gz scummvm-rg350-f4be51cd683961c79145da93227c5c3b2349d587.tar.bz2 scummvm-rg350-f4be51cd683961c79145da93227c5c3b2349d587.zip |
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
Diffstat (limited to 'scumm/akos.cpp')
-rw-r--r-- | scumm/akos.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
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]; |