aboutsummaryrefslogtreecommitdiff
path: root/scumm/gfx.cpp
diff options
context:
space:
mode:
authorTravis Howell2005-05-26 14:59:36 +0000
committerTravis Howell2005-05-26 14:59:36 +0000
commitebfc6d209bbd7b0bac78c5c484f3c8484d79673f (patch)
treea81c23d556071f26d831edc72c888840aec24232 /scumm/gfx.cpp
parentdb969fd9762bb11878b579eafc53790359ce95da (diff)
downloadscummvm-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.cpp13
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 {