aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics
diff options
context:
space:
mode:
authorMartin Kiewitz2010-09-26 15:47:13 +0000
committerMartin Kiewitz2010-09-26 15:47:13 +0000
commit432b7b25d9702544a119f9f6d432ea6950027f49 (patch)
treea565b3b459418f8deb8fe109d54f530d66886099 /engines/sci/graphics
parent5537ac91bf6fe1fed9c08a00f26aeab1e38db85a (diff)
downloadscummvm-rg350-432b7b25d9702544a119f9f6d432ea6950027f49.tar.gz
scummvm-rg350-432b7b25d9702544a119f9f6d432ea6950027f49.tar.bz2
scummvm-rg350-432b7b25d9702544a119f9f6d432ea6950027f49.zip
SCI: kDrawPic setting _picNotValid on non-front
fixes lsl5 english graphic corruption during taj mahal wakeup, should also fix sq5 1.03 graphic corruption right after scrubbing (bug #3041069) save for backporting svn-id: r52911
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r--engines/sci/graphics/paint16.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/graphics/paint16.cpp b/engines/sci/graphics/paint16.cpp
index dbc738e2f7..3c115f0c8e 100644
--- a/engines/sci/graphics/paint16.cpp
+++ b/engines/sci/graphics/paint16.cpp
@@ -380,6 +380,14 @@ void GfxPaint16::kernelDrawPicture(GuiResourceId pictureId, int16 animationNr, b
drawPicture(pictureId, animationNr, mirroredFlag, addToFlag, EGApaletteNo);
_transitions->setup(animationNr, animationBlackoutFlag);
} else {
+ // We need to set it for SCI1EARLY+ (sierra sci also did so), otherwise we get at least the following issues:
+ // LSL5 (english) - last wakeup (taj mahal flute dream)
+ // SQ5 (english v1.03) - during the scene following the scrubbing
+ // in both situations a window is shown when kDrawPic is called, which would result otherwise in
+ // no showpic getting called from kAnimate and we would get graphic corruption
+ // XMAS1990 EGA did not set it in this case, VGA did
+ if (getSciVersion() >= SCI_VERSION_1_EARLY)
+ _screen->_picNotValid = 1;
_ports->beginUpdate(_ports->_picWind);
drawPicture(pictureId, animationNr, mirroredFlag, addToFlag, EGApaletteNo);
_ports->endUpdate(_ports->_picWind);