aboutsummaryrefslogtreecommitdiff
path: root/scumm/akos.cpp
diff options
context:
space:
mode:
authorMax Horn2003-05-12 17:50:09 +0000
committerMax Horn2003-05-12 17:50:09 +0000
commitf4be51cd683961c79145da93227c5c3b2349d587 (patch)
treec64af8db48d9c30ae33bcde7ca27d23c3a4fab73 /scumm/akos.cpp
parent12f7d71bf28e2a29311ae228de66da59d0c7735b (diff)
downloadscummvm-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.cpp8
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];