[Scummvm-cvs-logs] SF.net SVN: scummvm:[35785] scummvm/trunk/engines/parallaction/graphics.cpp

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Thu Jan 8 15:12:47 CET 2009


Revision: 35785
          http://scummvm.svn.sourceforge.net/scummvm/?rev=35785&view=rev
Author:   peres001
Date:     2009-01-08 14:12:46 +0000 (Thu, 08 Jan 2009)

Log Message:
-----------
Fixed points 2 and 3 of bug #2438549, spotlight wasn't displayed correctly.

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/graphics.cpp

Modified: scummvm/trunk/engines/parallaction/graphics.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/graphics.cpp	2009-01-08 07:31:32 UTC (rev 35784)
+++ scummvm/trunk/engines/parallaction/graphics.cpp	2009-01-08 14:12:46 UTC (rev 35785)
@@ -272,7 +272,6 @@
 	if (enable == _halfbrite) return;
 
 	_halfbrite = !_halfbrite;
-	_hbCircleRadius = 0;
 }
 
 #define HALFBRITE_CIRCLE_RADIUS		48
@@ -283,7 +282,9 @@
 }
 
 void Gfx::setProjectorProgram(int16 *data) {
-	_nextProjectorPos = data;
+	if (_nextProjectorPos == 0) {
+		_nextProjectorPos = data;
+	}
 }
 
 void Gfx::drawInventory() {
@@ -427,11 +428,10 @@
 	}
 
 	if (_nextProjectorPos) {
-		int16 x = *_nextProjectorPos++;
-		int16 y = *_nextProjectorPos++;
-		if (x == -1 && y == -1) {
-			_nextProjectorPos = 0;
-		} else {
+		int16 x = *_nextProjectorPos;
+		int16 y = *(_nextProjectorPos + 1);
+		if (x != -1 && y != -1) {
+			_nextProjectorPos += 2;
 			setProjectorPos(x, y);
 		}
 	}
@@ -783,6 +783,9 @@
 		return;
 	}
 
+	_hbCircleRadius = 0;
+	_nextProjectorPos = 0;
+
 	delete _backgroundInfo;
 	_backgroundInfo = info;
 


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