From 74e99328ec0fa43074c52b69d21922407153a1aa Mon Sep 17 00:00:00 2001 From: md5 Date: Wed, 2 Mar 2011 10:48:44 +0200 Subject: SCI: Fixed bug #3039775 - "KQ4: Graphics glitch in the mansion tower" --- engines/sci/graphics/paint16.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'engines') diff --git a/engines/sci/graphics/paint16.cpp b/engines/sci/graphics/paint16.cpp index 53c43d94c3..20900c8f8d 100644 --- a/engines/sci/graphics/paint16.cpp +++ b/engines/sci/graphics/paint16.cpp @@ -378,14 +378,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; + // The picture window is not in the front, which means that there is a + // textbox shown above it. We need to invalidate the old picture + // otherwise it will never be shown by kAnimate. Here are some + // examples where this occurs: + // - LSL5 (english) - last wakeup (taj mahal flute dream) + // - SQ5 (english v1.03) - during the scene following the scrubbing + // - KQ4 (all versions) - falling off the staircase (bug #3039775) + _screen->_picNotValid = 1; _ports->beginUpdate(_ports->_picWind); drawPicture(pictureId, animationNr, mirroredFlag, addToFlag, EGApaletteNo); _ports->endUpdate(_ports->_picWind); -- cgit v1.2.3