aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2005-05-10 06:42:31 +0000
committerTravis Howell2005-05-10 06:42:31 +0000
commit4c6bcd9f5aba879a085104901c0342ead779baf0 (patch)
tree524018b25f3567b5045dcc3ec461876988059a67 /scumm
parent4506dddbe3ef4b3ab9cccbef137aafe9e36c53da (diff)
downloadscummvm-rg350-4c6bcd9f5aba879a085104901c0342ead779baf0.tar.gz
scummvm-rg350-4c6bcd9f5aba879a085104901c0342ead779baf0.tar.bz2
scummvm-rg350-4c6bcd9f5aba879a085104901c0342ead779baf0.zip
Add code for drawPixel
svn-id: r18027
Diffstat (limited to 'scumm')
-rw-r--r--scumm/script_v80he.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/scumm/script_v80he.cpp b/scumm/script_v80he.cpp
index 09df503cca..d219a7d474 100644
--- a/scumm/script_v80he.cpp
+++ b/scumm/script_v80he.cpp
@@ -718,6 +718,7 @@ void ScummEngine_v80he::drawLine(int x1, int y1, int x, int unk1, int unk2, int
}
void ScummEngine_v80he::drawPixel(int x, int y, int flags) {
+ byte *src, *dst;
VirtScreen *vs;
if (x < 0 || x > 639)
@@ -731,16 +732,21 @@ void ScummEngine_v80he::drawPixel(int x, int y, int flags) {
markRectAsDirty(vs->number, x, y, x, y + 1);
- // TODO flags
if (flags & 0x4000) {
-
-
+ src = vs->getPixels(x, y);
+ dst = vs->getBackPixels(x, y);
+ *dst = *src;
} else if (flags & 0x2000) {
-
-
- } else if (flags & 0x8000) {
-
-
+ src = vs->getBackPixels(x, y);
+ dst = vs->getPixels(x, y);
+ *dst = *src;
+ } else {
+ dst = vs->getPixels(x, y);
+ *dst = flags;
+ if (flags & 0x8000) {
+ dst = vs->getBackPixels(x, y);
+ *dst = flags;
+ }
}
}