[Scummvm-cvs-logs] scummvm master -> e1883a6cf49ce174aadaf49b3290aa8bb59ff653

clone2727 clone2727 at gmail.com
Tue Mar 29 16:58:07 CEST 2011


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

Summary:
e1883a6cf4 SCI: Limit SCI32 view scaling to when we're actually scaling


Commit: e1883a6cf49ce174aadaf49b3290aa8bb59ff653
    https://github.com/scummvm/scummvm/commit/e1883a6cf49ce174aadaf49b3290aa8bb59ff653
Author: Matthew Hoops (clone2727 at gmail.com)
Date: 2011-03-29T07:56:19-07:00

Commit Message:
SCI: Limit SCI32 view scaling to when we're actually scaling

Fixes bug #3253208

Changed paths:
    engines/sci/graphics/screen.h
    engines/sci/graphics/view.cpp



diff --git a/engines/sci/graphics/screen.h b/engines/sci/graphics/screen.h
index 0bb15ed..93f1e5a 100644
--- a/engines/sci/graphics/screen.h
+++ b/engines/sci/graphics/screen.h
@@ -89,12 +89,15 @@ public:
 	void drawLine(int16 left, int16 top, int16 right, int16 bottom, byte color, byte prio, byte control) {
 		drawLine(Common::Point(left, top), Common::Point(right, bottom), color, prio, control);
 	}
-	int getUpscaledHires() const {
+
+	GfxScreenUpscaledMode getUpscaledHires() const {
 		return _upscaledHires;
 	}
+
 	bool getUnditherState() const {
 		return _unditherState;
 	}
+
 	void putKanjiChar(Graphics::FontSJIS *commonFont, int16 x, int16 y, uint16 chr, byte color);
 	byte getVisual(int x, int y);
 	byte getPriority(int x, int y);
@@ -174,7 +177,7 @@ private:
 
 	// This variable defines, if upscaled hires is active and what upscaled mode
 	// is used.
-	int _upscaledHires;
+	GfxScreenUpscaledMode _upscaledHires;
 
 	// This here holds a translation for vertical coordinates between native
 	// (visual) and actual (display) screen.
diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp
index b5ab618..9632306 100644
--- a/engines/sci/graphics/view.cpp
+++ b/engines/sci/graphics/view.cpp
@@ -202,8 +202,13 @@ void GfxView::initData(GuiResourceId resourceId) {
 		assert(headerSize >= 16);
 		_loopCount = _resourceData[2];
 		assert(_loopCount);
-		_isSci2Hires = _resourceData[5] == 1 ? true : false;
 		palOffset = READ_SCI11ENDIAN_UINT32(_resourceData + 8);
+
+		// FIXME: _resourceData[5] is sometimes 2 in GK1 also denoting scaled, but somehow modified.
+		// For a good test, jump to room 720 and talk to Wolfgang. Wolfgang's head is scaled when it
+		// shouldn't be, but the positioning of his eyes and mouth is also incorrect.
+		_isSci2Hires = _resourceData[5] == 1 && _screen->getUpscaledHires() != GFX_SCREEN_UPSCALED_DISABLED;
+
 		// flags is actually a bit-mask
 		//  it seems it was only used for some early sci1.1 games (or even just laura bow 2)
 		//  later interpreters dont support it at all anymore






More information about the Scummvm-git-logs mailing list