aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2010-11-04 18:37:03 +0000
committerMartin Kiewitz2010-11-04 18:37:03 +0000
commitbb716c23fa939c89790859a43c7f9a5327a8a9cc (patch)
tree317eaf9315ab8476bd5a51ce3700a332c29f9d58 /engines
parent92841e98320d57e23dc8777b06f9572df23faa27 (diff)
downloadscummvm-rg350-bb716c23fa939c89790859a43c7f9a5327a8a9cc.tar.gz
scummvm-rg350-bb716c23fa939c89790859a43c7f9a5327a8a9cc.tar.bz2
scummvm-rg350-bb716c23fa939c89790859a43c7f9a5327a8a9cc.zip
SCI: adding force to memorial area for SQ3/intro
makes the view getting fully undithered svn-id: r54068
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/graphics/picture.cpp9
-rw-r--r--engines/sci/graphics/screen.cpp5
-rw-r--r--engines/sci/graphics/screen.h1
3 files changed, 15 insertions, 0 deletions
diff --git a/engines/sci/graphics/picture.cpp b/engines/sci/graphics/picture.cpp
index 39666b82cb..6f2ca9e26d 100644
--- a/engines/sci/graphics/picture.cpp
+++ b/engines/sci/graphics/picture.cpp
@@ -754,6 +754,15 @@ void GfxPicture::drawVectorData(byte *data, int dataSize) {
// Dithering EGA pictures
if (isEGA) {
_screen->dither(_addToFlag);
+ switch (g_sci->getGameId()) {
+ case GID_SQ3:
+ switch (_resourceId) {
+ case 154: // SQ3: intro, ship gets sucked in
+ _screen->ditherForceMemorial(0xD0);
+ break;
+ }
+ break;
+ }
}
return;
default:
diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp
index 7a10a6b749..f8dc3118b5 100644
--- a/engines/sci/graphics/screen.cpp
+++ b/engines/sci/graphics/screen.cpp
@@ -616,6 +616,11 @@ void GfxScreen::dither(bool addToFlag) {
}
}
+// Force a color combination into memorial
+void GfxScreen::ditherForceMemorial(byte color) {
+ _unditherMemorial[color] = 256;
+}
+
void GfxScreen::debugUnditherSetState(bool flag) {
_unditherState = flag;
}
diff --git a/engines/sci/graphics/screen.h b/engines/sci/graphics/screen.h
index 97f5736289..44746ae00b 100644
--- a/engines/sci/graphics/screen.h
+++ b/engines/sci/graphics/screen.h
@@ -115,6 +115,7 @@ public:
void adjustBackUpscaledCoordinates(int16 &y, int16 &x);
void dither(bool addToFlag);
+ void ditherForceMemorial(byte color);
void debugUnditherSetState(bool flag);
int16 *unditherGetMemorial();