[Scummvm-cvs-logs] SF.net SVN: scummvm:[49258] scummvm/trunk/backends/platform/psp/ display_client.cpp

Bluddy at users.sourceforge.net Bluddy at users.sourceforge.net
Thu May 27 08:21:37 CEST 2010


Revision: 49258
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49258&view=rev
Author:   Bluddy
Date:     2010-05-27 06:21:37 +0000 (Thu, 27 May 2010)

Log Message:
-----------
PSP: fixed a screen shake bug

Modified Paths:
--------------
    scummvm/trunk/backends/platform/psp/display_client.cpp

Modified: scummvm/trunk/backends/platform/psp/display_client.cpp
===================================================================
--- scummvm/trunk/backends/platform/psp/display_client.cpp	2010-05-27 06:11:50 UTC (rev 49257)
+++ scummvm/trunk/backends/platform/psp/display_client.cpp	2010-05-27 06:21:37 UTC (rev 49258)
@@ -686,17 +686,18 @@
 	uint32 gapX = _useGlobalScaler ? (PSP_SCREEN_WIDTH - outputWidth) >> 1 : 0;
 	uint32 gapY = _useGlobalScaler ? (PSP_SCREEN_HEIGHT - outputHeight) >> 1 : 0;
 
+	// Save scaled offset on screen
+	float scaledOffsetOnScreenX = scaleSourceToOutputX(_offsetOnScreen.x);
+	float scaledOffsetOnScreenY = scaleSourceToOutputY(_offsetOnScreen.y);
+	
 	float imageStartX, imageStartY, imageEndX, imageEndY;
 
-	imageStartX = gapX + (scaleSourceToOutputX(_maxTextureOffset.x));
-	imageStartY = gapY;
+	imageStartX = gapX + scaledOffsetOnScreenX + (scaleSourceToOutputX(_maxTextureOffset.x));
+	imageStartY = gapY + scaledOffsetOnScreenY;
 
-	imageStartX += scaleSourceToOutputX(_offsetOnScreen.x);
-	imageStartY += scaleSourceToOutputY(_offsetOnScreen.y);
-
 	if (_fullScreen) { // shortcut
-		imageEndX = PSP_SCREEN_WIDTH - gapX;
-		imageEndY = PSP_SCREEN_HEIGHT - gapY;
+		imageEndX = PSP_SCREEN_WIDTH - gapX + scaledOffsetOnScreenX; 
+		imageEndY = PSP_SCREEN_HEIGHT - gapY + scaledOffsetOnScreenY; // needed for screen shake
 	} else { /* !fullScreen */
 		imageEndX = imageStartX + scaleSourceToOutputX(_drawSize.width);
 		imageEndY = imageStartY + scaleSourceToOutputY(_drawSize.height);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list