#ifdef USE_GL
-#ifdef HAVE_COCOA
-# include <OpenGL/glu.h>
-#else
+#if !defined(HAVE_JWZGLES) && !defined(HAVE_COCOA)
# include <GL/glu.h>
#endif
{
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)
(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);
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)
CleanupSproingies(int screen)
{
sp_instance *si = &si_list[screen];
+
+ if (! si) return;
+
/*
int t;
if (si->SproingieBoom) {
sp_instance *si;
int t;
+ active_screens++;
+ CleanupSproingies(screen);
+
if (si_list == NULL) {
if ((si_list = (sp_instance *) calloc(numscreens,
sizeof (sp_instance))) == NULL)
}
si = &si_list[screen];
- active_screens++;
- CleanupSproingies(screen);
-
if (mspr < 0)
mspr = 0;
if (mspr >= MAXSPROING)