All pastes #334486 Raw Edit

Stuff

public text v1 · immutable
#334486 ·published 2007-01-31 17:25 UTC
rendered paste body
Index: cube.c
===================================================================
--- cube.c	(revision 3477)
+++ cube.c	(working copy)
@@ -1944,9 +1944,9 @@
 
 	CUBE_SCREEN(s);
 
-	if (hsize == 4 && cs->invert == 1)
+	if (cs->invert == 1)
 		cubeCap = capOutside;
-	else if (hsize == 4 && cs->invert != 1)
+	else if (cs->invert != 1)
 		cubeCap = capInside;
 	else
 		cubeCap = NULL;
@@ -1958,14 +1958,23 @@
 			glColor4us(0xffff, 0xffff, 0xffff, opacity);
 			glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
 		}
-		enableTexture(s, &cubeCap->texture, COMP_TEXTURE_FILTER_GOOD);
-		glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+		//enableTexture(s, &cubeCap->texture, COMP_TEXTURE_FILTER_GOOD);
 		/* as GL expects the texture coords with offset, but our
 		   texture coord array is 0-based, we have to subtract the offset here */
-		glTexCoordPointer(2, GL_FLOAT, 0, cubeCap->tc - (arrayOffset << 1));
-		glDrawArrays(GL_TRIANGLE_FAN, arrayOffset, cs->nvertices >> 1);
-		glDisableClientState(GL_TEXTURE_COORD_ARRAY);
-		disableTexture(s, &cubeCap->texture);
+		glBegin(GL_QUADS);
+		GLfloat x,y,z;
+		x=cs->vertices[arrayOffset];
+		y=cs->vertices[arrayOffset+1];
+		z=cs->vertices[arrayOffset+2];
+		glColor4f(1,0,1,1);
+		glVertex3f(x-20,y,z-20);
+		glVertex3f(x+20,y,z-20);
+		glVertex3f(x+20,y,z+20);
+		glVertex3f(x-20,y,z+20);
+		glEnd();
+		//glTexCoordPointer(2, GL_FLOAT, 0, cubeCap->tc - (arrayOffset << 1));
+		//glDrawArrays(GL_TRIANGLE_FAN, arrayOffset, cs->nvertices >> 1);
+		//disableTexture(s, &cubeCap->texture);
 		screenTexEnvMode(s, GL_REPLACE);
 	}
 	else
@@ -2354,26 +2363,26 @@
 
 		if (hsize == 4)
 		{
-			glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
+			glRotatef(360.0f/(float)hsize, 0.0f, 1.0f, 0.0f);
 
 			if (cs->rotateImages)
 			{
-				if (soa.xRotate > 45)
-					glRotatef(-90.0f, 0.0f, 1.0f, 0.0f);
+				if (soa.xRotate > (360.0f/(float)hsize)/2.0f)
+					glRotatef(-360.0f/(float)hsize, 0.0f, 1.0f, 0.0f);
 			}
 			else if (cs->neverRotateImages)
 			{
-				glRotatef(rotations * 90.0f, 0.0f, 1.0f, 0.0f);
+				glRotatef(rotations * (360.0f/(float)hsize), 0.0f, 1.0f, 0.0f);
 				float previousRotation = IPCS_GetFloat(IPCS_OBJECT(s),
 													   cs->
 													   previousRotationAtom);
 				if (cs->invert != 1)
 					previousRotation = -previousRotation;
-				glRotatef(previousRotation * 90.0f, 0.0f, 1.0f, 0.0f);
+				glRotatef(previousRotation * (360.0f/(float)hsize), 0.0f, 1.0f, 0.0f);
 			}
 			else
 			{
-				glRotatef(rotations * 90.0f, 0.0f, 1.0f, 0.0f);
+				glRotatef(rotations *(360.0f/(float)hsize), 0.0f, 1.0f, 0.0f);
 			}
 
 		}
@@ -2396,16 +2405,14 @@
 			if (capsReversed())
 			{
 				glNormal3f(0.0, -1.0, 0.0);
-				if (hsize == 4)
-					glRotatef(270.0f, 0.0f, 1.0f, 0.0f);
+					glRotatef(360.0f-(360.0f/(float)hsize), 0.0f, 1.0f, 0.0f);
 				cubeDrawCubeCap(s, hsize,
 								cs->nvertices >> 1,
 								&cs->cubeCapBottom,
 								&cs->cubeCapTop, cs->desktopOpacity);
 
 				glNormal3f(0.0, -1.0, 0.0);
-				if (hsize == 4)
-					glRotatef(-270.0f, 0.0f, 1.0f, 0.0f);
+					glRotatef(-360.0f+(360.0f/(float)hsize), 0.0f, 1.0f, 0.0f);
 				cubeDrawCubeCap(s, hsize, 0,
 								&cs->cubeCapTop,
 								&cs->cubeCapBottom, cs->desktopOpacity);
@@ -2417,8 +2424,7 @@
 								&cs->cubeCapTop,
 								&cs->cubeCapBottom, cs->desktopOpacity);
 
-				if (hsize == 4)
-					glRotatef(270.0f, 0.0f, 1.0f, 0.0f);
+					glRotatef(360.0f-(360.0f/(float)hsize), 0.0f, 1.0f, 0.0f);
 				glNormal3f(0.0, 1.0, 0.0);
 				cubeDrawCubeCap(s, hsize,
 								cs->nvertices >> 1,
@@ -2432,8 +2438,7 @@
 			cubeDrawCubeCap(s, hsize, 0, &cs->cubeCapTop,
 							&cs->cubeCapBottom, cs->desktopOpacity);
 
-			if (hsize == 4)
-				glRotatef(270.0f, 0.0f, 1.0f, 0.0f);
+					glRotatef(360.0f-(360.0f/(float)hsize), 0.0f, 1.0f, 0.0f);
 			glNormal3f(0.0, 1.0, 0.0);
 			cubeDrawCubeCap(s, hsize, cs->nvertices >> 1,
 							&cs->cubeCapBottom,