[Scummvm-cvs-logs] SF.net SVN: scummvm:[50748] scummvm/branches/gsoc2010-testbed/engines/ testbed

sud03r at users.sourceforge.net sud03r at users.sourceforge.net
Thu Jul 8 22:30:11 CEST 2010


Revision: 50748
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50748&view=rev
Author:   sud03r
Date:     2010-07-08 20:30:11 +0000 (Thu, 08 Jul 2010)

Log Message:
-----------
implemented rainbow palette rotation

Modified Paths:
--------------
    scummvm/branches/gsoc2010-testbed/engines/testbed/graphics.cpp
    scummvm/branches/gsoc2010-testbed/engines/testbed/testbed.cpp

Modified: scummvm/branches/gsoc2010-testbed/engines/testbed/graphics.cpp
===================================================================
--- scummvm/branches/gsoc2010-testbed/engines/testbed/graphics.cpp	2010-07-08 18:38:15 UTC (rev 50747)
+++ scummvm/branches/gsoc2010-testbed/engines/testbed/graphics.cpp	2010-07-08 20:30:11 UTC (rev 50748)
@@ -73,7 +73,7 @@
 
 	// Specific Tests:
 	addTest("Palette Rotation", &GFXtests::paletteRotation);
-	addTest("Pixel Formats", &GFXtests::pixelFormats);
+	//addTest("Pixel Formats", &GFXtests::pixelFormats);
 		
 }
 
@@ -773,7 +773,7 @@
 
 bool GFXtests::paletteRotation() {
 	Common::Point pt(0, 10);
-	Testsuite::writeOnScreen("Rotating palettes, the rectangles should appear moving up!", pt);
+	Testsuite::writeOnScreen("Rotating palettes, palettes rotate towards left, click to stop!", pt);
 	
 	// Use 256 colors
 	byte palette[256 * 4] = {0, 0, 0, 0,
@@ -794,32 +794,56 @@
 	g_system->setPalette(palette, 0, 256);
 
 	// Draw 254 Rectangles, each 1 pixel wide and 10 pixels long
-	byte buffer[254 * 10] = {0};
+	// one for 0-255 color range other for 0-127-255 range
+	byte buffer[254 * 30] = {0};
 
-	for (int i = 0; i < 10; i++) {
+	for (int i = 0; i < 30; i++) {
 		for (int j = 0; j < 254; j++) {
-			buffer[i * 256 + j] = j + 2;
+			if (i < 10) {
+				buffer[i * 256 + j] = j + 2;
+			} else if (i < 20) {
+				buffer[i * 256 + j] = 0;
+			} else {
+				buffer[i * 256 + j] = ((j + 127) % 254) + 2;
+			}
 		}
 	}
 	
-	g_system->copyRectToScreen(buffer, 256, 22, 50, 256, 10);
+	g_system->copyRectToScreen(buffer, 256, 22, 50, 256, 30);
 	g_system->updateScreen();
-	g_system->delayMillis(2000);
+	g_system->delayMillis(1000);
 	
 	// Reset initial palettes
-	GFXTestSuite::setCustomColor(255, 0, 0);
-	Testsuite::clearScreen();
+	// GFXTestSuite::setCustomColor(255, 0, 0);
+	// Testsuite::clearScreen();
 
-	int toRotate = 10;
+	bool toRotate = true;
+	Common::Event event;
+	CursorMan.showMouse(true);
 
-	while (toRotate--) {
+	while (toRotate) {
+		while (g_system->getEventManager()->pollEvent(event)) {
+			if (event.type == Common::EVENT_LBUTTONDOWN || event.type == Common::EVENT_RBUTTONDOWN) {
+				toRotate = false;
+			}
+		}
+
+		/*for (int i = 2; i < 256; i++) {
+			debug("Palette: (%d %d %d) #", palette[i*4], palette[i*4+1], palette[i*4+2]);
+		}*/
+
+		rotatePalette(&palette[8], 254);
+		
+		/*for (int i = 2; i < 256; i++) {
+			debug("Palette: (%d %d %d) #", palette[i*4], palette[i*4+1], palette[i*4+2]);
+		}*/
+
+		g_system->delayMillis(10);
+		g_system->setPalette(palette, 2, 254);
 		g_system->updateScreen();
-		// XXX: disabling rotations as of now, as it makes 6s delay (will fix it tommorrow)
-		// FIXME : fix rotation
-		// g_system->delayMillis(600);
-		// rotatePalette(&palette[8], 254);
-		// g_system->setPalette(palette, 0, 256);
 	}
+	
+	CursorMan.showMouse(false);
 
 	if(Testsuite::handleInteractiveInput("Did you saw a rotation in colors of rectangles displayed on screen?", "Yes", "No", kOptionRight)) {
 		return false;

Modified: scummvm/branches/gsoc2010-testbed/engines/testbed/testbed.cpp
===================================================================
--- scummvm/branches/gsoc2010-testbed/engines/testbed/testbed.cpp	2010-07-08 18:38:15 UTC (rev 50747)
+++ scummvm/branches/gsoc2010-testbed/engines/testbed/testbed.cpp	2010-07-08 20:30:11 UTC (rev 50748)
@@ -135,7 +135,7 @@
 	enableTestsuite("GFX", true);
 	// enableTestsuite("savegames", true);
 	// enableTestsuite("misc", true);
-	enableTestsuite("events", true);
+	// enableTestsuite("events", true);
 	// invoke them
 	invokeTestsuites();
 	


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