diff options
author | Travis Howell | 2005-05-26 14:59:36 +0000 |
---|---|---|
committer | Travis Howell | 2005-05-26 14:59:36 +0000 |
commit | ebfc6d209bbd7b0bac78c5c484f3c8484d79673f (patch) | |
tree | a81c23d556071f26d831edc72c888840aec24232 /scumm/gfx.cpp | |
parent | db969fd9762bb11878b579eafc53790359ce95da (diff) | |
download | scummvm-rg350-ebfc6d209bbd7b0bac78c5c484f3c8484d79673f.tar.gz scummvm-rg350-ebfc6d209bbd7b0bac78c5c484f3c8484d79673f.tar.bz2 scummvm-rg350-ebfc6d209bbd7b0bac78c5c484f3c8484d79673f.zip |
Add HE100 difference in flags and tmp code for extra flags.
svn-id: r18264
Diffstat (limited to 'scumm/gfx.cpp')
-rw-r--r-- | scumm/gfx.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp index 8eb55fb630..58f7e36936 100644 --- a/scumm/gfx.cpp +++ b/scumm/gfx.cpp @@ -1060,11 +1060,14 @@ void ScummEngine::drawBox(int x, int y, int x2, int y2, int color) { fill(mask, _charset->_textSurface.pitch, CHARSET_MASK_TRANSPARENCY, width, height); } } else { - // Flags are used for different methods in HE70+ games - if ((color & 0x2000) || (color & 0x4000)) { - error("drawBox: unsupported flag 0x%x", color); - } else if (color & 0x8000) { - color &= 0x7FFF; + // Flags are used for different methods in HE71+ games + // TODO: Add correct drawing method + if ((color & 0x2000) || (color & 0x4000000)) { + blit(backbuff, vs->pitch, bgbuff, vs->pitch, width, height); + } else if ((color & 0x4000) || (color & 0x2000000)) { + blit(bgbuff, vs->pitch, backbuff, vs->pitch, width, height); + } else if ((color & 0x8000) || (color & 0x1000000)) { + color &= (_heversion == 100) ? 0xFFFFFF : 0x7FFF; fill(backbuff, vs->pitch, color, width, height); fill(bgbuff, vs->pitch, color, width, height); } else { |