rendered paste bodyIndex: 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,