[Scummvm-cvs-logs] scummvm master -> 8e2f2e3730c27fd9ac6172eb8007fb362a198678

wjp wjp at usecode.org
Sun Jun 12 21:18:06 CEST 2011


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
9e2c7f26d2 SCI: Treat all priorities above 15 as none
8e2f2e3730 SCI: Remove workaround that caused graphics corruption


Commit: 9e2c7f26d2e6c6081489365cbc07cd6edec362ad
    https://github.com/scummvm/scummvm/commit/9e2c7f26d2e6c6081489365cbc07cd6edec362ad
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-06-12T11:25:46-07:00

Commit Message:
SCI: Treat all priorities above 15 as none

Before only 255 was treated this way. This fixes part of the broken
dialog boxes in Jones CD (bug #3297111) which use priority 254,
and matches Jones CD disassembly.

Changed paths:
    engines/sci/graphics/picture.cpp
    engines/sci/graphics/view.cpp



diff --git a/engines/sci/graphics/picture.cpp b/engines/sci/graphics/picture.cpp
index 6529a6a..ce69ba8 100644
--- a/engines/sci/graphics/picture.cpp
+++ b/engines/sci/graphics/picture.cpp
@@ -330,7 +330,7 @@ void GfxPicture::drawCelData(byte *inbuffer, int size, int headerPos, int rlePos
 		if (!_addToFlag && _resourceType != SCI_PICTURE_TYPE_SCI32)
 			clearColor = _screen->getColorWhite();
 
-		byte drawMask = priority == 255 ? GFX_SCREEN_MASK_VISUAL : GFX_SCREEN_MASK_VISUAL | GFX_SCREEN_MASK_PRIORITY;
+		byte drawMask = priority > 15 ? GFX_SCREEN_MASK_VISUAL : GFX_SCREEN_MASK_VISUAL | GFX_SCREEN_MASK_PRIORITY;
 
 		ptr = celBitmap;
 		ptr += skipCelBitmapPixels;
diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp
index 5c8e9c3..afb4c18 100644
--- a/engines/sci/graphics/view.cpp
+++ b/engines/sci/graphics/view.cpp
@@ -692,7 +692,7 @@ void GfxView::draw(const Common::Rect &rect, const Common::Rect &clipRect, const
 	const int16 celHeight = celInfo->height;
 	const int16 celWidth = celInfo->width;
 	const byte clearKey = celInfo->clearKey;
-	const byte drawMask = (priority == 255) ? GFX_SCREEN_MASK_VISUAL : GFX_SCREEN_MASK_VISUAL|GFX_SCREEN_MASK_PRIORITY;
+	const byte drawMask = priority > 15 ? GFX_SCREEN_MASK_VISUAL : GFX_SCREEN_MASK_VISUAL|GFX_SCREEN_MASK_PRIORITY;
 	int x, y;
 
 	if (_embeddedPal)
@@ -753,7 +753,7 @@ void GfxView::drawScaled(const Common::Rect &rect, const Common::Rect &clipRect,
 	const int16 celHeight = celInfo->height;
 	const int16 celWidth = celInfo->width;
 	const byte clearKey = celInfo->clearKey;
-	const byte drawMask = (priority == 255) ? GFX_SCREEN_MASK_VISUAL : GFX_SCREEN_MASK_VISUAL|GFX_SCREEN_MASK_PRIORITY;
+	const byte drawMask = priority > 15 ? GFX_SCREEN_MASK_VISUAL : GFX_SCREEN_MASK_VISUAL|GFX_SCREEN_MASK_PRIORITY;
 	uint16 scalingX[640];
 	uint16 scalingY[480];
 	int16 scaledWidth, scaledHeight;


Commit: 8e2f2e3730c27fd9ac6172eb8007fb362a198678
    https://github.com/scummvm/scummvm/commit/8e2f2e3730c27fd9ac6172eb8007fb362a198678
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-06-12T11:26:07-07:00

Commit Message:
SCI: Remove workaround that caused graphics corruption

This fixes coins disappearing in Mother Goose SCI1.1 (bug #3051136).
Filippos has confirmed the workaround is no longer necessary for the
menubar in LSL6 for which it was added.

Changed paths:
    engines/sci/graphics/transitions.cpp



diff --git a/engines/sci/graphics/transitions.cpp b/engines/sci/graphics/transitions.cpp
index dba263c..d047eb1 100644
--- a/engines/sci/graphics/transitions.cpp
+++ b/engines/sci/graphics/transitions.cpp
@@ -189,16 +189,6 @@ void GfxTransitions::doit(Common::Rect picRect) {
 	// Now we do the actual transition to the new screen
 	doTransition(_number, false);
 
-	if (picRect.bottom != _screen->getHeight()) {
-		// TODO: this is a workaround for lsl6 not showing menubar when playing
-		//  There is some new code in the sierra sci in ShowPic that seems to do
-		//  something similar to this
-		//  FIXME: Having this code here also causes bug #3051136 in
-		//  the SCI1.1 version of Mother Goose.
-		_screen->copyToScreen();
-		g_system->updateScreen();
-	}
-
 	_screen->_picNotValid = 0;
 }
 






More information about the Scummvm-git-logs mailing list