X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fglx%2Fsproingies.c;h=42ccf2ba454b3641983665910afdc69067a0a2ea;hb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;hp=e5446f700716e7b62c9e1aa31901f51c97c40815;hpb=07faf451b99879183ed7e909e43a0e065be1ee7f;p=xscreensaver diff --git a/hacks/glx/sproingies.c b/hacks/glx/sproingies.c index e5446f70..42ccf2ba 100644 --- a/hacks/glx/sproingies.c +++ b/hacks/glx/sproingies.c @@ -36,9 +36,7 @@ static const char sccsid[] = "@(#)sproingies.c 4.04 97/07/28 xlockmore"; #ifdef USE_GL -#ifdef HAVE_COCOA -# include -#else +#ifndef HAVE_COCOA # include #endif @@ -510,8 +508,10 @@ RenderSproingie(int t, sp_instance * si) { GLfloat scale, pointsize, mat_color[4] = {0.0, 0.0, 0.0, 1.0}; +#ifndef HAVE_JWZGLES GLdouble clipplane[4] = {0.0, 1.0, 0.0, 0.0}; +#endif struct sPosColor *thisSproingie = &(si->positions[t]); if (thisSproingie->life < 1) @@ -536,9 +536,14 @@ RenderSproingie(int t, sp_instance * si) (GLfloat) (thisSproingie->y) + ((GLfloat) (thisSproingie->frame) / 9.0), (GLfloat) (thisSproingie->z)); + +#ifndef HAVE_JWZGLES + /* OpenGLES doesn't have this but it doesn't seem to matter */ clipplane[3] = ((GLdouble) (thisSproingie->frame) / 9.0) + (si->wireframe ? 0.0 : 0.1); glClipPlane(GL_CLIP_PLANE0, clipplane); +#endif + /** glCallList(si->sproingies[0]);*/ /**/ renderList(si->sproingies[0], si->wireframe); glDisable(GL_CLIP_PLANE0); @@ -546,7 +551,11 @@ RenderSproingie(int t, sp_instance * si) glTranslatef((GLfloat) (thisSproingie->x) + 0.5, (GLfloat) (thisSproingie->y) + 0.5, (GLfloat) (thisSproingie->z) - 0.5); - scale = (GLfloat) (1 << (thisSproingie->frame - BOOM_FRAME)); + { + int boom_scale = thisSproingie->frame - BOOM_FRAME; + if (boom_scale >= 31) boom_scale = 31; + scale = (GLfloat) (1 << boom_scale); + } glScalef(scale, scale, scale); if (!si->wireframe) { if (!si->mono)