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/costume.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/costume.cpp')
-rw-r--r-- | scumm/costume.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/scumm/costume.cpp b/scumm/costume.cpp index 70d83a7f03..1e910c8423 100644 --- a/scumm/costume.cpp +++ b/scumm/costume.cpp @@ -80,8 +80,8 @@ const byte cost_scaleTable[256] = { byte CostumeRenderer::mainRoutine(int slot, int frame) { int xmove, ymove, i, b, s; uint scal; - byte scaling; - byte charsetmask, masking; + bool scaling; + bool charsetmask, masking; byte startScaleIndexX; byte newAmiCost; int ex1, ex2; @@ -284,17 +284,18 @@ byte CostumeRenderer::mainRoutine(int slot, int frame) { charsetmask = _vm->hasCharsetMask(_left, _top + _vm->virtscr[0].topline, _right, _vm->virtscr[0].topline + _bottom); - masking = 0; - + masking = false; if (_vm->_features & GF_SMALL_HEADER) masking = (_zbuf != 0); - else + else if (_zbuf != 0) { masking = _vm->isMaskActiveAt(_left, _top, _right, _bottom, _vm->getResourceAddress(rtBuffer, 9) + _vm->gdi._imgBufOffs[_zbuf] + _vm->_screenStartStrip); + } + _mask_ptr = NULL; if (masking || charsetmask) { _mask_ptr = _vm->getResourceAddress(rtBuffer, 9) + _ypos * _numStrips + _vm->_screenStartStrip; _imgbufoffs = _vm->gdi._imgBufOffs[_zbuf]; |