[Scummvm-cvs-logs] CVS: scummvm/backends/sdl graphics.cpp,1.32,1.33

Torbjörn Andersson eriktorbjorn at users.sourceforge.net
Thu Mar 17 01:53:48 CET 2005


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

Modified Files:
	graphics.cpp 
Log Message:
If a game is scaled with the 2x or 3x scaler, use the same scaler on the
cursor as well. It looks strange if the game is blocky and the cursor is
smooth.


Index: graphics.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/sdl/graphics.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- graphics.cpp	12 Mar 2005 16:32:32 -0000	1.32
+++ graphics.cpp	17 Mar 2005 09:49:22 -0000	1.33
@@ -1288,9 +1288,21 @@
   	}
   
 	SDL_LockSurface(_mouseSurface);
-	(scalersMagn[_cursorTargetScale-1][_scaleFactor-1])((byte *)_mouseOrigSurface->pixels + _mouseOrigSurface->pitch + 2,
+
+	ScalerProc *scalerProc;
+
+	// If possible, use the same scaler for the cursor as for the rest of
+	// the game. This only works well with the non-blurring scalers so we
+	// actually only use the 1x, 1.5x, 2x and AdvMame scalers.
+
+	if (_cursorTargetScale == 1 && (_mode == GFX_DOUBLESIZE || _mode == GFX_TRIPLESIZE))
+		scalerProc = _scalerProc;
+	else
+		scalerProc = scalersMagn[_cursorTargetScale - 1][_scaleFactor - 1];
+
+	scalerProc((byte *)_mouseOrigSurface->pixels + _mouseOrigSurface->pitch + 2,
 		_mouseOrigSurface->pitch, (byte *)_mouseSurface->pixels, _mouseSurface->pitch,
-			  _mouseCurState.w, _mouseCurState.h);
+		_mouseCurState.w, _mouseCurState.h);
 
 	if (_adjustAspectRatio)
 		cursorStretch200To240((uint8 *)_mouseSurface->pixels, _mouseSurface->pitch, hW, hH1, 0, 0, 0);





More information about the Scummvm-git-logs mailing list