[Scummvm-cvs-logs] CVS: scummvm/backends/sdl graphics.cpp,1.33,1.34 sdl-common.h,1.76,1.77

Eugene Sandulenko sev at users.sourceforge.net
Sun Mar 20 08:16:43 CET 2005


Update of /cvsroot/scummvm/scummvm/backends/sdl
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv612

Modified Files:
	graphics.cpp sdl-common.h 
Log Message:
Fix bug #1166279 "BS1 & BS2: Launching game problems".


Index: graphics.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/sdl/graphics.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- graphics.cpp	17 Mar 2005 09:49:22 -0000	1.33
+++ graphics.cpp	20 Mar 2005 16:16:09 -0000	1.34
@@ -73,9 +73,21 @@
 	_transactionDetails.needHotswap = false;
 	_transactionDetails.needUpdatescreen = false;
 	_transactionDetails.needUnload = false;
+
+	_transactionDetails.normal1xScaler = false;
 }
 
 void OSystem_SDL::endGFXTransaction(void) {
+	// for each engine we run initCommonGFX() as first thing in the transaction
+	// and initSize() is called later. If user runs launcher at 320x200 with
+	// 2x overlay, setting to Nomral1x sclaler in that case will be suppressed
+	// and backend is forced to 2x
+	//
+	// This leads to bad results such as 1280x960 window for 640x480 engines.
+	// To prevent that we rerun setGraphicsMode() if there was 1x scaler request
+	if (_transactionDetails.normal1xScaler)
+		setGraphicsMode(GFX_NORMAL);
+
 	assert (_transactionMode == kTransactionActive);
 
 	_transactionMode = kTransactionCommit;
@@ -169,6 +181,8 @@
 		return false;
 	}
 
+	_transactionDetails.normal1xScaler = (mode == GFX_NORMAL);
+
 	// Do not let switch to lesser than overlay size resolutions
 	if (_screenWidth * newScaleFactor < _overlayWidth) {
 		if (_scaleFactor == 1) { // Force 2x mode

Index: sdl-common.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/sdl/sdl-common.h,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -d -r1.76 -r1.77
--- sdl-common.h	14 Mar 2005 08:24:39 -0000	1.76
+++ sdl-common.h	20 Mar 2005 16:16:09 -0000	1.77
@@ -237,6 +237,7 @@
 		bool needUpdatescreen;
 		bool needUnload;
 		bool needToggle;
+		bool normal1xScaler;
 	};
 	TransactionDetails _transactionDetails;
 





More information about the Scummvm-git-logs mailing list