http://ftp.aanet.ru/pub/Linux/X11/apps/xscreensaver-2.31.tar.gz
[xscreensaver] / hacks / glx / shark.c
index 878e8edc333f10bc65bf5f6f6828093bbf5c4100..a3de1b9e2dfd9a7a5404598c57cd31b29d41ad55 100644 (file)
@@ -1,7 +1,7 @@
 /* atlantis --- Shows moving 3D sea animals */
 
 #if !defined( lint ) && !defined( SABER )
-static const char sccsid[] = "@(#)shark.c      1.1 98/05/13 xlockmore";
+static const char sccsid[] = "@(#)shark.c      1.2 98/06/16 xlockmore";
 
 #endif
 
@@ -72,6 +72,7 @@ static const char sccsid[] = "@(#)shark.c     1.1 98/05/13 xlockmore";
  *
  * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
  */
+
 #ifndef STANDALONE
 #include "xlock.h"
 #endif
@@ -79,10 +80,10 @@ static const char sccsid[] = "@(#)shark.c   1.1 98/05/13 xlockmore";
 #ifdef USE_GL
 
 #ifdef STANDALONE
+#include <math.h>
 #include <GL/glx.h>
 #endif
 
-#include <math.h>
 #include "atlantis.h"
 /* *INDENT-OFF* */
 #if 0
@@ -304,1096 +305,1100 @@ static float iP069[3] = {0.00, -418.25, 5765.04};
 static float iP070[3] = {0.00, 1266.91, 6629.60};
 /* *INDENT-ON* */
 
+
+
 static void
-Fish001(void)
+Fish001(GLenum cap)
 {
-    glBegin(GL_POLYGON);
-    glNormal3fv(N005);
-    glVertex3fv(P005);
-    glNormal3fv(N059);
-    glVertex3fv(P059);
-    glNormal3fv(N060);
-    glVertex3fv(P060);
-    glNormal3fv(N006);
-    glVertex3fv(P006);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N015);
-    glVertex3fv(P015);
-    glNormal3fv(N005);
-    glVertex3fv(P005);
-    glNormal3fv(N006);
-    glVertex3fv(P006);
-    glNormal3fv(N016);
-    glVertex3fv(P016);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N006);
-    glVertex3fv(P006);
-    glNormal3fv(N060);
-    glVertex3fv(P060);
-    glNormal3fv(N008);
-    glVertex3fv(P008);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N016);
-    glVertex3fv(P016);
-    glNormal3fv(N006);
-    glVertex3fv(P006);
-    glNormal3fv(N008);
-    glVertex3fv(P008);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N016);
-    glVertex3fv(P016);
-    glNormal3fv(N008);
-    glVertex3fv(P008);
-    glNormal3fv(N017);
-    glVertex3fv(P017);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N017);
-    glVertex3fv(P017);
-    glNormal3fv(N008);
-    glVertex3fv(P008);
-    glNormal3fv(N018);
-    glVertex3fv(P018);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N008);
-    glVertex3fv(P008);
-    glNormal3fv(N009);
-    glVertex3fv(P009);
-    glNormal3fv(N018);
-    glVertex3fv(P018);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N008);
-    glVertex3fv(P008);
-    glNormal3fv(N060);
-    glVertex3fv(P060);
-    glNormal3fv(N009);
-    glVertex3fv(P009);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N007);
-    glVertex3fv(P007);
-    glNormal3fv(N010);
-    glVertex3fv(P010);
-    glNormal3fv(N009);
-    glVertex3fv(P009);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N009);
-    glVertex3fv(P009);
-    glNormal3fv(N019);
-    glVertex3fv(P019);
-    glNormal3fv(N018);
-    glVertex3fv(P018);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N009);
-    glVertex3fv(P009);
-    glNormal3fv(N010);
-    glVertex3fv(P010);
-    glNormal3fv(N019);
-    glVertex3fv(P019);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N010);
-    glVertex3fv(P010);
-    glNormal3fv(N020);
-    glVertex3fv(P020);
-    glNormal3fv(N019);
-    glVertex3fv(P019);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N010);
-    glVertex3fv(P010);
-    glNormal3fv(N011);
-    glVertex3fv(P011);
-    glNormal3fv(N021);
-    glVertex3fv(P021);
-    glNormal3fv(N020);
-    glVertex3fv(P020);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N004);
-    glVertex3fv(P004);
-    glNormal3fv(N011);
-    glVertex3fv(P011);
-    glNormal3fv(N010);
-    glVertex3fv(P010);
-    glNormal3fv(N007);
-    glVertex3fv(P007);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N004);
-    glVertex3fv(P004);
-    glNormal3fv(N012);
-    glVertex3fv(P012);
-    glNormal3fv(N011);
-    glVertex3fv(P011);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N012);
-    glVertex3fv(P012);
-    glNormal3fv(N022);
-    glVertex3fv(P022);
-    glNormal3fv(N011);
-    glVertex3fv(P011);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N011);
-    glVertex3fv(P011);
-    glNormal3fv(N022);
-    glVertex3fv(P022);
-    glNormal3fv(N021);
-    glVertex3fv(P021);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N059);
-    glVertex3fv(P059);
-    glNormal3fv(N005);
-    glVertex3fv(P005);
-    glNormal3fv(N015);
-    glVertex3fv(P015);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N015);
-    glVertex3fv(P015);
-    glNormal3fv(N014);
-    glVertex3fv(P014);
-    glNormal3fv(N003);
-    glVertex3fv(P003);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N015);
-    glVertex3fv(P015);
-    glNormal3fv(N003);
-    glVertex3fv(P003);
-    glNormal3fv(N059);
-    glVertex3fv(P059);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N014);
-    glVertex3fv(P014);
-    glNormal3fv(N013);
-    glVertex3fv(P013);
-    glNormal3fv(N003);
-    glVertex3fv(P003);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N003);
-    glVertex3fv(P003);
-    glNormal3fv(N012);
-    glVertex3fv(P012);
-    glNormal3fv(N059);
-    glVertex3fv(P059);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N013);
-    glVertex3fv(P013);
-    glNormal3fv(N012);
-    glVertex3fv(P012);
-    glNormal3fv(N003);
-    glVertex3fv(P003);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N013);
-    glVertex3fv(P013);
-    glNormal3fv(N022);
-    glVertex3fv(P022);
-    glNormal3fv(N012);
-    glVertex3fv(P012);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glVertex3fv(P071);
-    glVertex3fv(P072);
-    glVertex3fv(P073);
-    glVertex3fv(P074);
-    glVertex3fv(P075);
-    glVertex3fv(P076);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glVertex3fv(P077);
-    glVertex3fv(P078);
-    glVertex3fv(P079);
-    glVertex3fv(P080);
-    glVertex3fv(P081);
-    glVertex3fv(P082);
-    glEnd();
+       glBegin(cap);
+       glNormal3fv(N005);
+       glVertex3fv(P005);
+       glNormal3fv(N059);
+       glVertex3fv(P059);
+       glNormal3fv(N060);
+       glVertex3fv(P060);
+       glNormal3fv(N006);
+       glVertex3fv(P006);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N015);
+       glVertex3fv(P015);
+       glNormal3fv(N005);
+       glVertex3fv(P005);
+       glNormal3fv(N006);
+       glVertex3fv(P006);
+       glNormal3fv(N016);
+       glVertex3fv(P016);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N006);
+       glVertex3fv(P006);
+       glNormal3fv(N060);
+       glVertex3fv(P060);
+       glNormal3fv(N008);
+       glVertex3fv(P008);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N016);
+       glVertex3fv(P016);
+       glNormal3fv(N006);
+       glVertex3fv(P006);
+       glNormal3fv(N008);
+       glVertex3fv(P008);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N016);
+       glVertex3fv(P016);
+       glNormal3fv(N008);
+       glVertex3fv(P008);
+       glNormal3fv(N017);
+       glVertex3fv(P017);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N017);
+       glVertex3fv(P017);
+       glNormal3fv(N008);
+       glVertex3fv(P008);
+       glNormal3fv(N018);
+       glVertex3fv(P018);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N008);
+       glVertex3fv(P008);
+       glNormal3fv(N009);
+       glVertex3fv(P009);
+       glNormal3fv(N018);
+       glVertex3fv(P018);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N008);
+       glVertex3fv(P008);
+       glNormal3fv(N060);
+       glVertex3fv(P060);
+       glNormal3fv(N009);
+       glVertex3fv(P009);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N007);
+       glVertex3fv(P007);
+       glNormal3fv(N010);
+       glVertex3fv(P010);
+       glNormal3fv(N009);
+       glVertex3fv(P009);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N009);
+       glVertex3fv(P009);
+       glNormal3fv(N019);
+       glVertex3fv(P019);
+       glNormal3fv(N018);
+       glVertex3fv(P018);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N009);
+       glVertex3fv(P009);
+       glNormal3fv(N010);
+       glVertex3fv(P010);
+       glNormal3fv(N019);
+       glVertex3fv(P019);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N010);
+       glVertex3fv(P010);
+       glNormal3fv(N020);
+       glVertex3fv(P020);
+       glNormal3fv(N019);
+       glVertex3fv(P019);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N010);
+       glVertex3fv(P010);
+       glNormal3fv(N011);
+       glVertex3fv(P011);
+       glNormal3fv(N021);
+       glVertex3fv(P021);
+       glNormal3fv(N020);
+       glVertex3fv(P020);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N004);
+       glVertex3fv(P004);
+       glNormal3fv(N011);
+       glVertex3fv(P011);
+       glNormal3fv(N010);
+       glVertex3fv(P010);
+       glNormal3fv(N007);
+       glVertex3fv(P007);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N004);
+       glVertex3fv(P004);
+       glNormal3fv(N012);
+       glVertex3fv(P012);
+       glNormal3fv(N011);
+       glVertex3fv(P011);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N012);
+       glVertex3fv(P012);
+       glNormal3fv(N022);
+       glVertex3fv(P022);
+       glNormal3fv(N011);
+       glVertex3fv(P011);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N011);
+       glVertex3fv(P011);
+       glNormal3fv(N022);
+       glVertex3fv(P022);
+       glNormal3fv(N021);
+       glVertex3fv(P021);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N059);
+       glVertex3fv(P059);
+       glNormal3fv(N005);
+       glVertex3fv(P005);
+       glNormal3fv(N015);
+       glVertex3fv(P015);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N015);
+       glVertex3fv(P015);
+       glNormal3fv(N014);
+       glVertex3fv(P014);
+       glNormal3fv(N003);
+       glVertex3fv(P003);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N015);
+       glVertex3fv(P015);
+       glNormal3fv(N003);
+       glVertex3fv(P003);
+       glNormal3fv(N059);
+       glVertex3fv(P059);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N014);
+       glVertex3fv(P014);
+       glNormal3fv(N013);
+       glVertex3fv(P013);
+       glNormal3fv(N003);
+       glVertex3fv(P003);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N003);
+       glVertex3fv(P003);
+       glNormal3fv(N012);
+       glVertex3fv(P012);
+       glNormal3fv(N059);
+       glVertex3fv(P059);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N013);
+       glVertex3fv(P013);
+       glNormal3fv(N012);
+       glVertex3fv(P012);
+       glNormal3fv(N003);
+       glVertex3fv(P003);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N013);
+       glVertex3fv(P013);
+       glNormal3fv(N022);
+       glVertex3fv(P022);
+       glNormal3fv(N012);
+       glVertex3fv(P012);
+       glEnd();
+       glBegin(cap);
+       glVertex3fv(P071);
+       glVertex3fv(P072);
+       glVertex3fv(P073);
+       glVertex3fv(P074);
+       glVertex3fv(P075);
+       glVertex3fv(P076);
+       glEnd();
+       glBegin(cap);
+       glVertex3fv(P077);
+       glVertex3fv(P078);
+       glVertex3fv(P079);
+       glVertex3fv(P080);
+       glVertex3fv(P081);
+       glVertex3fv(P082);
+       glEnd();
 }
 
 static void
-Fish002(void)
+Fish002(GLenum cap)
 {
-    glBegin(GL_POLYGON);
-    glNormal3fv(N013);
-    glVertex3fv(P013);
-    glNormal3fv(N014);
-    glVertex3fv(P014);
-    glNormal3fv(N024);
-    glVertex3fv(P024);
-    glNormal3fv(N023);
-    glVertex3fv(P023);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N014);
-    glVertex3fv(P014);
-    glNormal3fv(N015);
-    glVertex3fv(P015);
-    glNormal3fv(N025);
-    glVertex3fv(P025);
-    glNormal3fv(N024);
-    glVertex3fv(P024);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N016);
-    glVertex3fv(P016);
-    glNormal3fv(N017);
-    glVertex3fv(P017);
-    glNormal3fv(N027);
-    glVertex3fv(P027);
-    glNormal3fv(N026);
-    glVertex3fv(P026);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N017);
-    glVertex3fv(P017);
-    glNormal3fv(N018);
-    glVertex3fv(P018);
-    glNormal3fv(N028);
-    glVertex3fv(P028);
-    glNormal3fv(N027);
-    glVertex3fv(P027);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N020);
-    glVertex3fv(P020);
-    glNormal3fv(N021);
-    glVertex3fv(P021);
-    glNormal3fv(N031);
-    glVertex3fv(P031);
-    glNormal3fv(N030);
-    glVertex3fv(P030);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N013);
-    glVertex3fv(P013);
-    glNormal3fv(N023);
-    glVertex3fv(P023);
-    glNormal3fv(N022);
-    glVertex3fv(P022);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N022);
-    glVertex3fv(P022);
-    glNormal3fv(N023);
-    glVertex3fv(P023);
-    glNormal3fv(N032);
-    glVertex3fv(P032);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N022);
-    glVertex3fv(P022);
-    glNormal3fv(N032);
-    glVertex3fv(P032);
-    glNormal3fv(N031);
-    glVertex3fv(P031);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N022);
-    glVertex3fv(P022);
-    glNormal3fv(N031);
-    glVertex3fv(P031);
-    glNormal3fv(N021);
-    glVertex3fv(P021);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N018);
-    glVertex3fv(P018);
-    glNormal3fv(N019);
-    glVertex3fv(P019);
-    glNormal3fv(N029);
-    glVertex3fv(P029);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N018);
-    glVertex3fv(P018);
-    glNormal3fv(N029);
-    glVertex3fv(P029);
-    glNormal3fv(N028);
-    glVertex3fv(P028);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N019);
-    glVertex3fv(P019);
-    glNormal3fv(N020);
-    glVertex3fv(P020);
-    glNormal3fv(N030);
-    glVertex3fv(P030);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N019);
-    glVertex3fv(P019);
-    glNormal3fv(N030);
-    glVertex3fv(P030);
-    glNormal3fv(N029);
-    glVertex3fv(P029);
-    glEnd();
+       glBegin(cap);
+       glNormal3fv(N013);
+       glVertex3fv(P013);
+       glNormal3fv(N014);
+       glVertex3fv(P014);
+       glNormal3fv(N024);
+       glVertex3fv(P024);
+       glNormal3fv(N023);
+       glVertex3fv(P023);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N014);
+       glVertex3fv(P014);
+       glNormal3fv(N015);
+       glVertex3fv(P015);
+       glNormal3fv(N025);
+       glVertex3fv(P025);
+       glNormal3fv(N024);
+       glVertex3fv(P024);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N016);
+       glVertex3fv(P016);
+       glNormal3fv(N017);
+       glVertex3fv(P017);
+       glNormal3fv(N027);
+       glVertex3fv(P027);
+       glNormal3fv(N026);
+       glVertex3fv(P026);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N017);
+       glVertex3fv(P017);
+       glNormal3fv(N018);
+       glVertex3fv(P018);
+       glNormal3fv(N028);
+       glVertex3fv(P028);
+       glNormal3fv(N027);
+       glVertex3fv(P027);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N020);
+       glVertex3fv(P020);
+       glNormal3fv(N021);
+       glVertex3fv(P021);
+       glNormal3fv(N031);
+       glVertex3fv(P031);
+       glNormal3fv(N030);
+       glVertex3fv(P030);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N013);
+       glVertex3fv(P013);
+       glNormal3fv(N023);
+       glVertex3fv(P023);
+       glNormal3fv(N022);
+       glVertex3fv(P022);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N022);
+       glVertex3fv(P022);
+       glNormal3fv(N023);
+       glVertex3fv(P023);
+       glNormal3fv(N032);
+       glVertex3fv(P032);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N022);
+       glVertex3fv(P022);
+       glNormal3fv(N032);
+       glVertex3fv(P032);
+       glNormal3fv(N031);
+       glVertex3fv(P031);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N022);
+       glVertex3fv(P022);
+       glNormal3fv(N031);
+       glVertex3fv(P031);
+       glNormal3fv(N021);
+       glVertex3fv(P021);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N018);
+       glVertex3fv(P018);
+       glNormal3fv(N019);
+       glVertex3fv(P019);
+       glNormal3fv(N029);
+       glVertex3fv(P029);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N018);
+       glVertex3fv(P018);
+       glNormal3fv(N029);
+       glVertex3fv(P029);
+       glNormal3fv(N028);
+       glVertex3fv(P028);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N019);
+       glVertex3fv(P019);
+       glNormal3fv(N020);
+       glVertex3fv(P020);
+       glNormal3fv(N030);
+       glVertex3fv(P030);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N019);
+       glVertex3fv(P019);
+       glNormal3fv(N030);
+       glVertex3fv(P030);
+       glNormal3fv(N029);
+       glVertex3fv(P029);
+       glEnd();
 }
 
 static void
-Fish003(void)
+Fish003(GLenum cap)
 {
-    glBegin(GL_POLYGON);
-    glNormal3fv(N032);
-    glVertex3fv(P032);
-    glNormal3fv(N023);
-    glVertex3fv(P023);
-    glNormal3fv(N033);
-    glVertex3fv(P033);
-    glNormal3fv(N042);
-    glVertex3fv(P042);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N031);
-    glVertex3fv(P031);
-    glNormal3fv(N032);
-    glVertex3fv(P032);
-    glNormal3fv(N042);
-    glVertex3fv(P042);
-    glNormal3fv(N041);
-    glVertex3fv(P041);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N023);
-    glVertex3fv(P023);
-    glNormal3fv(N024);
-    glVertex3fv(P024);
-    glNormal3fv(N034);
-    glVertex3fv(P034);
-    glNormal3fv(N033);
-    glVertex3fv(P033);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N024);
-    glVertex3fv(P024);
-    glNormal3fv(N025);
-    glVertex3fv(P025);
-    glNormal3fv(N035);
-    glVertex3fv(P035);
-    glNormal3fv(N034);
-    glVertex3fv(P034);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N030);
-    glVertex3fv(P030);
-    glNormal3fv(N031);
-    glVertex3fv(P031);
-    glNormal3fv(N041);
-    glVertex3fv(P041);
-    glNormal3fv(N040);
-    glVertex3fv(P040);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N025);
-    glVertex3fv(P025);
-    glNormal3fv(N026);
-    glVertex3fv(P026);
-    glNormal3fv(N036);
-    glVertex3fv(P036);
-    glNormal3fv(N035);
-    glVertex3fv(P035);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N026);
-    glVertex3fv(P026);
-    glNormal3fv(N027);
-    glVertex3fv(P027);
-    glNormal3fv(N037);
-    glVertex3fv(P037);
-    glNormal3fv(N036);
-    glVertex3fv(P036);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N027);
-    glVertex3fv(P027);
-    glNormal3fv(N028);
-    glVertex3fv(P028);
-    glNormal3fv(N038);
-    glVertex3fv(P038);
-    glNormal3fv(N037);
-    glVertex3fv(P037);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N028);
-    glVertex3fv(P028);
-    glNormal3fv(N029);
-    glVertex3fv(P029);
-    glNormal3fv(N039);
-    glVertex3fv(P039);
-    glNormal3fv(N038);
-    glVertex3fv(P038);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N029);
-    glVertex3fv(P029);
-    glNormal3fv(N030);
-    glVertex3fv(P030);
-    glNormal3fv(N040);
-    glVertex3fv(P040);
-    glNormal3fv(N039);
-    glVertex3fv(P039);
-    glEnd();
+       glBegin(cap);
+       glNormal3fv(N032);
+       glVertex3fv(P032);
+       glNormal3fv(N023);
+       glVertex3fv(P023);
+       glNormal3fv(N033);
+       glVertex3fv(P033);
+       glNormal3fv(N042);
+       glVertex3fv(P042);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N031);
+       glVertex3fv(P031);
+       glNormal3fv(N032);
+       glVertex3fv(P032);
+       glNormal3fv(N042);
+       glVertex3fv(P042);
+       glNormal3fv(N041);
+       glVertex3fv(P041);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N023);
+       glVertex3fv(P023);
+       glNormal3fv(N024);
+       glVertex3fv(P024);
+       glNormal3fv(N034);
+       glVertex3fv(P034);
+       glNormal3fv(N033);
+       glVertex3fv(P033);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N024);
+       glVertex3fv(P024);
+       glNormal3fv(N025);
+       glVertex3fv(P025);
+       glNormal3fv(N035);
+       glVertex3fv(P035);
+       glNormal3fv(N034);
+       glVertex3fv(P034);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N030);
+       glVertex3fv(P030);
+       glNormal3fv(N031);
+       glVertex3fv(P031);
+       glNormal3fv(N041);
+       glVertex3fv(P041);
+       glNormal3fv(N040);
+       glVertex3fv(P040);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N025);
+       glVertex3fv(P025);
+       glNormal3fv(N026);
+       glVertex3fv(P026);
+       glNormal3fv(N036);
+       glVertex3fv(P036);
+       glNormal3fv(N035);
+       glVertex3fv(P035);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N026);
+       glVertex3fv(P026);
+       glNormal3fv(N027);
+       glVertex3fv(P027);
+       glNormal3fv(N037);
+       glVertex3fv(P037);
+       glNormal3fv(N036);
+       glVertex3fv(P036);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N027);
+       glVertex3fv(P027);
+       glNormal3fv(N028);
+       glVertex3fv(P028);
+       glNormal3fv(N038);
+       glVertex3fv(P038);
+       glNormal3fv(N037);
+       glVertex3fv(P037);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N028);
+       glVertex3fv(P028);
+       glNormal3fv(N029);
+       glVertex3fv(P029);
+       glNormal3fv(N039);
+       glVertex3fv(P039);
+       glNormal3fv(N038);
+       glVertex3fv(P038);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N029);
+       glVertex3fv(P029);
+       glNormal3fv(N030);
+       glVertex3fv(P030);
+       glNormal3fv(N040);
+       glVertex3fv(P040);
+       glNormal3fv(N039);
+       glVertex3fv(P039);
+       glEnd();
 }
 
 static void
-Fish004(void)
+Fish004(GLenum cap)
 {
-    glBegin(GL_POLYGON);
-    glNormal3fv(N040);
-    glVertex3fv(P040);
-    glNormal3fv(N041);
-    glVertex3fv(P041);
-    glNormal3fv(N051);
-    glVertex3fv(P051);
-    glNormal3fv(N050);
-    glVertex3fv(P050);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N041);
-    glVertex3fv(P041);
-    glNormal3fv(N042);
-    glVertex3fv(P042);
-    glNormal3fv(N052);
-    glVertex3fv(P052);
-    glNormal3fv(N051);
-    glVertex3fv(P051);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N042);
-    glVertex3fv(P042);
-    glNormal3fv(N033);
-    glVertex3fv(P033);
-    glNormal3fv(N043);
-    glVertex3fv(P043);
-    glNormal3fv(N052);
-    glVertex3fv(P052);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N033);
-    glVertex3fv(P033);
-    glNormal3fv(N034);
-    glVertex3fv(P034);
-    glNormal3fv(N044);
-    glVertex3fv(P044);
-    glNormal3fv(N043);
-    glVertex3fv(P043);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N034);
-    glVertex3fv(P034);
-    glNormal3fv(N035);
-    glVertex3fv(P035);
-    glNormal3fv(N045);
-    glVertex3fv(P045);
-    glNormal3fv(N044);
-    glVertex3fv(P044);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N035);
-    glVertex3fv(P035);
-    glNormal3fv(N036);
-    glVertex3fv(P036);
-    glNormal3fv(N046);
-    glVertex3fv(P046);
-    glNormal3fv(N045);
-    glVertex3fv(P045);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N036);
-    glVertex3fv(P036);
-    glNormal3fv(N037);
-    glVertex3fv(P037);
-    glNormal3fv(N047);
-    glVertex3fv(P047);
-    glNormal3fv(N046);
-    glVertex3fv(P046);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N037);
-    glVertex3fv(P037);
-    glNormal3fv(N038);
-    glVertex3fv(P038);
-    glNormal3fv(N048);
-    glVertex3fv(P048);
-    glNormal3fv(N047);
-    glVertex3fv(P047);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N038);
-    glVertex3fv(P038);
-    glNormal3fv(N039);
-    glVertex3fv(P039);
-    glNormal3fv(N049);
-    glVertex3fv(P049);
-    glNormal3fv(N048);
-    glVertex3fv(P048);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N039);
-    glVertex3fv(P039);
-    glNormal3fv(N040);
-    glVertex3fv(P040);
-    glNormal3fv(N050);
-    glVertex3fv(P050);
-    glNormal3fv(N049);
-    glVertex3fv(P049);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N070);
-    glVertex3fv(P070);
-    glNormal3fv(N061);
-    glVertex3fv(P061);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N061);
-    glVertex3fv(P061);
-    glNormal3fv(N046);
-    glVertex3fv(P046);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N045);
-    glVertex3fv(P045);
-    glNormal3fv(N046);
-    glVertex3fv(P046);
-    glNormal3fv(N061);
-    glVertex3fv(P061);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N061);
-    glVertex3fv(P061);
-    glNormal3fv(N070);
-    glVertex3fv(P070);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N045);
-    glVertex3fv(P045);
-    glNormal3fv(N061);
-    glVertex3fv(P061);
-    glEnd();
+       glBegin(cap);
+       glNormal3fv(N040);
+       glVertex3fv(P040);
+       glNormal3fv(N041);
+       glVertex3fv(P041);
+       glNormal3fv(N051);
+       glVertex3fv(P051);
+       glNormal3fv(N050);
+       glVertex3fv(P050);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N041);
+       glVertex3fv(P041);
+       glNormal3fv(N042);
+       glVertex3fv(P042);
+       glNormal3fv(N052);
+       glVertex3fv(P052);
+       glNormal3fv(N051);
+       glVertex3fv(P051);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N042);
+       glVertex3fv(P042);
+       glNormal3fv(N033);
+       glVertex3fv(P033);
+       glNormal3fv(N043);
+       glVertex3fv(P043);
+       glNormal3fv(N052);
+       glVertex3fv(P052);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N033);
+       glVertex3fv(P033);
+       glNormal3fv(N034);
+       glVertex3fv(P034);
+       glNormal3fv(N044);
+       glVertex3fv(P044);
+       glNormal3fv(N043);
+       glVertex3fv(P043);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N034);
+       glVertex3fv(P034);
+       glNormal3fv(N035);
+       glVertex3fv(P035);
+       glNormal3fv(N045);
+       glVertex3fv(P045);
+       glNormal3fv(N044);
+       glVertex3fv(P044);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N035);
+       glVertex3fv(P035);
+       glNormal3fv(N036);
+       glVertex3fv(P036);
+       glNormal3fv(N046);
+       glVertex3fv(P046);
+       glNormal3fv(N045);
+       glVertex3fv(P045);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N036);
+       glVertex3fv(P036);
+       glNormal3fv(N037);
+       glVertex3fv(P037);
+       glNormal3fv(N047);
+       glVertex3fv(P047);
+       glNormal3fv(N046);
+       glVertex3fv(P046);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N037);
+       glVertex3fv(P037);
+       glNormal3fv(N038);
+       glVertex3fv(P038);
+       glNormal3fv(N048);
+       glVertex3fv(P048);
+       glNormal3fv(N047);
+       glVertex3fv(P047);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N038);
+       glVertex3fv(P038);
+       glNormal3fv(N039);
+       glVertex3fv(P039);
+       glNormal3fv(N049);
+       glVertex3fv(P049);
+       glNormal3fv(N048);
+       glVertex3fv(P048);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N039);
+       glVertex3fv(P039);
+       glNormal3fv(N040);
+       glVertex3fv(P040);
+       glNormal3fv(N050);
+       glVertex3fv(P050);
+       glNormal3fv(N049);
+       glVertex3fv(P049);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N070);
+       glVertex3fv(P070);
+       glNormal3fv(N061);
+       glVertex3fv(P061);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N061);
+       glVertex3fv(P061);
+       glNormal3fv(N046);
+       glVertex3fv(P046);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N045);
+       glVertex3fv(P045);
+       glNormal3fv(N046);
+       glVertex3fv(P046);
+       glNormal3fv(N061);
+       glVertex3fv(P061);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N061);
+       glVertex3fv(P061);
+       glNormal3fv(N070);
+       glVertex3fv(P070);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N045);
+       glVertex3fv(P045);
+       glNormal3fv(N061);
+       glVertex3fv(P061);
+       glEnd();
 }
 
 static void
-Fish005(void)
+Fish005(GLenum cap)
 {
-    glBegin(GL_POLYGON);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N044);
-    glVertex3fv(P044);
-    glNormal3fv(N045);
-    glVertex3fv(P045);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N043);
-    glVertex3fv(P043);
-    glNormal3fv(N044);
-    glVertex3fv(P044);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N052);
-    glVertex3fv(P052);
-    glNormal3fv(N043);
-    glVertex3fv(P043);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N051);
-    glVertex3fv(P051);
-    glNormal3fv(N052);
-    glVertex3fv(P052);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N046);
-    glVertex3fv(P046);
-    glNormal3fv(N047);
-    glVertex3fv(P047);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N047);
-    glVertex3fv(P047);
-    glNormal3fv(N048);
-    glVertex3fv(P048);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N048);
-    glVertex3fv(P048);
-    glNormal3fv(N049);
-    glVertex3fv(P049);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N049);
-    glVertex3fv(P049);
-    glNormal3fv(N050);
-    glVertex3fv(P050);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N050);
-    glVertex3fv(P050);
-    glNormal3fv(N051);
-    glVertex3fv(P051);
-    glNormal3fv(N069);
-    glVertex3fv(P069);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N051);
-    glVertex3fv(P051);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glNormal3fv(N069);
-    glVertex3fv(P069);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N050);
-    glVertex3fv(P050);
-    glNormal3fv(N069);
-    glVertex3fv(P069);
-    glNormal3fv(N002);
-    glVertex3fv(P002);
-    glEnd();
+       glBegin(cap);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N044);
+       glVertex3fv(P044);
+       glNormal3fv(N045);
+       glVertex3fv(P045);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N043);
+       glVertex3fv(P043);
+       glNormal3fv(N044);
+       glVertex3fv(P044);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N052);
+       glVertex3fv(P052);
+       glNormal3fv(N043);
+       glVertex3fv(P043);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N051);
+       glVertex3fv(P051);
+       glNormal3fv(N052);
+       glVertex3fv(P052);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N046);
+       glVertex3fv(P046);
+       glNormal3fv(N047);
+       glVertex3fv(P047);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N047);
+       glVertex3fv(P047);
+       glNormal3fv(N048);
+       glVertex3fv(P048);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N048);
+       glVertex3fv(P048);
+       glNormal3fv(N049);
+       glVertex3fv(P049);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N049);
+       glVertex3fv(P049);
+       glNormal3fv(N050);
+       glVertex3fv(P050);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N050);
+       glVertex3fv(P050);
+       glNormal3fv(N051);
+       glVertex3fv(P051);
+       glNormal3fv(N069);
+       glVertex3fv(P069);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N051);
+       glVertex3fv(P051);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glNormal3fv(N069);
+       glVertex3fv(P069);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N050);
+       glVertex3fv(P050);
+       glNormal3fv(N069);
+       glVertex3fv(P069);
+       glNormal3fv(N002);
+       glVertex3fv(P002);
+       glEnd();
 }
 
 static void
-Fish006(void)
+Fish006(GLenum cap)
 {
-    glBegin(GL_POLYGON);
-    glNormal3fv(N066);
-    glVertex3fv(P066);
-    glNormal3fv(N016);
-    glVertex3fv(P016);
-    glNormal3fv(N026);
-    glVertex3fv(P026);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N015);
-    glVertex3fv(P015);
-    glNormal3fv(N066);
-    glVertex3fv(P066);
-    glNormal3fv(N025);
-    glVertex3fv(P025);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N025);
-    glVertex3fv(P025);
-    glNormal3fv(N066);
-    glVertex3fv(P066);
-    glNormal3fv(N026);
-    glVertex3fv(P026);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N066);
-    glVertex3fv(P066);
-    glNormal3fv(N058);
-    glVertex3fv(P058);
-    glNormal3fv(N016);
-    glVertex3fv(P016);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N015);
-    glVertex3fv(P015);
-    glNormal3fv(N058);
-    glVertex3fv(P058);
-    glNormal3fv(N066);
-    glVertex3fv(P066);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N058);
-    glVertex3fv(P058);
-    glNormal3fv(N015);
-    glVertex3fv(P015);
-    glNormal3fv(N016);
-    glVertex3fv(P016);
-    glEnd();
+       glBegin(cap);
+       glNormal3fv(N066);
+       glVertex3fv(P066);
+       glNormal3fv(N016);
+       glVertex3fv(P016);
+       glNormal3fv(N026);
+       glVertex3fv(P026);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N015);
+       glVertex3fv(P015);
+       glNormal3fv(N066);
+       glVertex3fv(P066);
+       glNormal3fv(N025);
+       glVertex3fv(P025);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N025);
+       glVertex3fv(P025);
+       glNormal3fv(N066);
+       glVertex3fv(P066);
+       glNormal3fv(N026);
+       glVertex3fv(P026);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N066);
+       glVertex3fv(P066);
+       glNormal3fv(N058);
+       glVertex3fv(P058);
+       glNormal3fv(N016);
+       glVertex3fv(P016);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N015);
+       glVertex3fv(P015);
+       glNormal3fv(N058);
+       glVertex3fv(P058);
+       glNormal3fv(N066);
+       glVertex3fv(P066);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N058);
+       glVertex3fv(P058);
+       glNormal3fv(N015);
+       glVertex3fv(P015);
+       glNormal3fv(N016);
+       glVertex3fv(P016);
+       glEnd();
 }
 
 static void
-Fish007(void)
+Fish007(GLenum cap)
 {
-    glBegin(GL_POLYGON);
-    glNormal3fv(N062);
-    glVertex3fv(P062);
-    glNormal3fv(N022);
-    glVertex3fv(P022);
-    glNormal3fv(N032);
-    glVertex3fv(P032);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N062);
-    glVertex3fv(P062);
-    glNormal3fv(N032);
-    glVertex3fv(P032);
-    glNormal3fv(N064);
-    glVertex3fv(P064);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N022);
-    glVertex3fv(P022);
-    glNormal3fv(N062);
-    glVertex3fv(P062);
-    glNormal3fv(N032);
-    glVertex3fv(P032);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N062);
-    glVertex3fv(P062);
-    glNormal3fv(N064);
-    glVertex3fv(P064);
-    glNormal3fv(N032);
-    glVertex3fv(P032);
-    glEnd();
+       glBegin(cap);
+       glNormal3fv(N062);
+       glVertex3fv(P062);
+       glNormal3fv(N022);
+       glVertex3fv(P022);
+       glNormal3fv(N032);
+       glVertex3fv(P032);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N062);
+       glVertex3fv(P062);
+       glNormal3fv(N032);
+       glVertex3fv(P032);
+       glNormal3fv(N064);
+       glVertex3fv(P064);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N022);
+       glVertex3fv(P022);
+       glNormal3fv(N062);
+       glVertex3fv(P062);
+       glNormal3fv(N032);
+       glVertex3fv(P032);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N062);
+       glVertex3fv(P062);
+       glNormal3fv(N064);
+       glVertex3fv(P064);
+       glNormal3fv(N032);
+       glVertex3fv(P032);
+       glEnd();
 }
 
 static void
-Fish008(void)
+Fish008(GLenum cap)
 {
-    glBegin(GL_POLYGON);
-    glNormal3fv(N063);
-    glVertex3fv(P063);
-    glNormal3fv(N019);
-    glVertex3fv(P019);
-    glNormal3fv(N029);
-    glVertex3fv(P029);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N019);
-    glVertex3fv(P019);
-    glNormal3fv(N063);
-    glVertex3fv(P063);
-    glNormal3fv(N029);
-    glVertex3fv(P029);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N063);
-    glVertex3fv(P063);
-    glNormal3fv(N029);
-    glVertex3fv(P029);
-    glNormal3fv(N065);
-    glVertex3fv(P065);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glNormal3fv(N063);
-    glVertex3fv(P063);
-    glNormal3fv(N065);
-    glVertex3fv(P065);
-    glNormal3fv(N029);
-    glVertex3fv(P029);
-    glEnd();
+       glBegin(cap);
+       glNormal3fv(N063);
+       glVertex3fv(P063);
+       glNormal3fv(N019);
+       glVertex3fv(P019);
+       glNormal3fv(N029);
+       glVertex3fv(P029);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N019);
+       glVertex3fv(P019);
+       glNormal3fv(N063);
+       glVertex3fv(P063);
+       glNormal3fv(N029);
+       glVertex3fv(P029);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N063);
+       glVertex3fv(P063);
+       glNormal3fv(N029);
+       glVertex3fv(P029);
+       glNormal3fv(N065);
+       glVertex3fv(P065);
+       glEnd();
+       glBegin(cap);
+       glNormal3fv(N063);
+       glVertex3fv(P063);
+       glNormal3fv(N065);
+       glVertex3fv(P065);
+       glNormal3fv(N029);
+       glVertex3fv(P029);
+       glEnd();
 }
 
 static void
-Fish009(void)
+Fish009(GLenum cap)
 {
-    glBegin(GL_POLYGON);
-    glVertex3fv(P059);
-    glVertex3fv(P012);
-    glVertex3fv(P009);
-    glVertex3fv(P060);
-    glEnd();
-    glBegin(GL_POLYGON);
-    glVertex3fv(P012);
-    glVertex3fv(P004);
-    glVertex3fv(P007);
-    glVertex3fv(P009);
-    glEnd();
+       glBegin(cap);
+       glVertex3fv(P059);
+       glVertex3fv(P012);
+       glVertex3fv(P009);
+       glVertex3fv(P060);
+       glEnd();
+       glBegin(cap);
+       glVertex3fv(P012);
+       glVertex3fv(P004);
+       glVertex3fv(P007);
+       glVertex3fv(P009);
+       glEnd();
 }
 
 static void
-Fish_1(void)
+Fish_1(GLenum cap)
 {
-    Fish004();
-    Fish005();
-    Fish003();
-    Fish007();
-    Fish006();
-    Fish002();
-    Fish008();
-    Fish009();
-    Fish001();
+       Fish004(cap);
+       Fish005(cap);
+       Fish003(cap);
+       Fish007(cap);
+       Fish006(cap);
+       Fish002(cap);
+       Fish008(cap);
+       Fish009(cap);
+       Fish001(cap);
 }
 
 static void
-Fish_2(void)
+Fish_2(GLenum cap)
 {
-    Fish005();
-    Fish004();
-    Fish003();
-    Fish008();
-    Fish006();
-    Fish002();
-    Fish007();
-    Fish009();
-    Fish001();
+       Fish005(cap);
+       Fish004(cap);
+       Fish003(cap);
+       Fish008(cap);
+       Fish006(cap);
+       Fish002(cap);
+       Fish007(cap);
+       Fish009(cap);
+       Fish001(cap);
 }
 
 static void
-Fish_3(void)
+Fish_3(GLenum cap)
 {
-    Fish005();
-    Fish004();
-    Fish007();
-    Fish003();
-    Fish002();
-    Fish008();
-    Fish009();
-    Fish001();
-    Fish006();
+       Fish005(cap);
+       Fish004(cap);
+       Fish007(cap);
+       Fish003(cap);
+       Fish002(cap);
+       Fish008(cap);
+       Fish009(cap);
+       Fish001(cap);
+       Fish006(cap);
 }
 
 static void
-Fish_4(void)
+Fish_4(GLenum cap)
 {
-    Fish005();
-    Fish004();
-    Fish008();
-    Fish003();
-    Fish002();
-    Fish007();
-    Fish009();
-    Fish001();
-    Fish006();
+       Fish005(cap);
+       Fish004(cap);
+       Fish008(cap);
+       Fish003(cap);
+       Fish002(cap);
+       Fish007(cap);
+       Fish009(cap);
+       Fish001(cap);
+       Fish006(cap);
 }
 
 static void
-Fish_5(void)
+Fish_5(GLenum cap)
 {
-    Fish009();
-    Fish006();
-    Fish007();
-    Fish001();
-    Fish002();
-    Fish003();
-    Fish008();
-    Fish004();
-    Fish005();
+       Fish009(cap);
+       Fish006(cap);
+       Fish007(cap);
+       Fish001(cap);
+       Fish002(cap);
+       Fish003(cap);
+       Fish008(cap);
+       Fish004(cap);
+       Fish005(cap);
 }
 
 static void
-Fish_6(void)
+Fish_6(GLenum cap)
 {
-    Fish009();
-    Fish006();
-    Fish008();
-    Fish001();
-    Fish002();
-    Fish007();
-    Fish003();
-    Fish004();
-    Fish005();
+       Fish009(cap);
+       Fish006(cap);
+       Fish008(cap);
+       Fish001(cap);
+       Fish002(cap);
+       Fish007(cap);
+       Fish003(cap);
+       Fish004(cap);
+       Fish005(cap);
 }
 
 static void
-Fish_7(void)
+Fish_7(GLenum cap)
 {
-    Fish009();
-    Fish001();
-    Fish007();
-    Fish005();
-    Fish002();
-    Fish008();
-    Fish003();
-    Fish004();
-    Fish006();
+       Fish009(cap);
+       Fish001(cap);
+       Fish007(cap);
+       Fish005(cap);
+       Fish002(cap);
+       Fish008(cap);
+       Fish003(cap);
+       Fish004(cap);
+       Fish006(cap);
 }
 
 static void
-Fish_8(void)
+Fish_8(GLenum cap)
 {
-    Fish009();
-    Fish008();
-    Fish001();
-    Fish002();
-    Fish007();
-    Fish003();
-    Fish005();
-    Fish004();
-    Fish006();
+       Fish009(cap);
+       Fish008(cap);
+       Fish001(cap);
+       Fish002(cap);
+       Fish007(cap);
+       Fish003(cap);
+       Fish005(cap);
+       Fish004(cap);
+       Fish006(cap);
 }
 
 void
-DrawShark(fishRec * fish)
+DrawShark(fishRec * fish, int wire)
 {
-    float mat[4][4];
-    int n;
-    float seg1, seg2, seg3, seg4, segup;
-    float thrash, chomp;
+       float       mat[4][4];
+       int         n;
+       float       seg1, seg2, seg3, seg4, segup;
+       float       thrash, chomp;
+       GLenum      cap;
 
-    fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360;
+       fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360;
 
-    thrash = 50.0 * fish->v;
+       thrash = 50.0 * fish->v;
 
-    seg1 = 0.6 * thrash * sin(fish->htail * RRAD);
-    seg2 = 1.8 * thrash * sin((fish->htail + 45.0) * RRAD);
-    seg3 = 3.0 * thrash * sin((fish->htail + 90.0) * RRAD);
-    seg4 = 4.0 * thrash * sin((fish->htail + 110.0) * RRAD);
+       seg1 = 0.6 * thrash * sin(fish->htail * RRAD);
+       seg2 = 1.8 * thrash * sin((fish->htail + 45.0) * RRAD);
+       seg3 = 3.0 * thrash * sin((fish->htail + 90.0) * RRAD);
+       seg4 = 4.0 * thrash * sin((fish->htail + 110.0) * RRAD);
 
-    chomp = 0.0;
-    if (fish->v > 2.0) {
-        chomp = -(fish->v - 2.0) * 200.0;
-    }
-    P004[1] = iP004[1] + chomp;
-    P007[1] = iP007[1] + chomp;
-    P010[1] = iP010[1] + chomp;
-    P011[1] = iP011[1] + chomp;
+       chomp = 0.0;
+       if (fish->v > 2.0) {
+               chomp = -(fish->v - 2.0) * 200.0;
+       }
+       P004[1] = iP004[1] + chomp;
+       P007[1] = iP007[1] + chomp;
+       P010[1] = iP010[1] + chomp;
+       P011[1] = iP011[1] + chomp;
 
-    P023[0] = iP023[0] + seg1;
-    P024[0] = iP024[0] + seg1;
-    P025[0] = iP025[0] + seg1;
-    P026[0] = iP026[0] + seg1;
-    P027[0] = iP027[0] + seg1;
-    P028[0] = iP028[0] + seg1;
-    P029[0] = iP029[0] + seg1;
-    P030[0] = iP030[0] + seg1;
-    P031[0] = iP031[0] + seg1;
-    P032[0] = iP032[0] + seg1;
-    P033[0] = iP033[0] + seg2;
-    P034[0] = iP034[0] + seg2;
-    P035[0] = iP035[0] + seg2;
-    P036[0] = iP036[0] + seg2;
-    P037[0] = iP037[0] + seg2;
-    P038[0] = iP038[0] + seg2;
-    P039[0] = iP039[0] + seg2;
-    P040[0] = iP040[0] + seg2;
-    P041[0] = iP041[0] + seg2;
-    P042[0] = iP042[0] + seg2;
-    P043[0] = iP043[0] + seg3;
-    P044[0] = iP044[0] + seg3;
-    P045[0] = iP045[0] + seg3;
-    P046[0] = iP046[0] + seg3;
-    P047[0] = iP047[0] + seg3;
-    P048[0] = iP048[0] + seg3;
-    P049[0] = iP049[0] + seg3;
-    P050[0] = iP050[0] + seg3;
-    P051[0] = iP051[0] + seg3;
-    P052[0] = iP052[0] + seg3;
-    P002[0] = iP002[0] + seg4;
-    P061[0] = iP061[0] + seg4;
-    P069[0] = iP069[0] + seg4;
-    P070[0] = iP070[0] + seg4;
+       P023[0] = iP023[0] + seg1;
+       P024[0] = iP024[0] + seg1;
+       P025[0] = iP025[0] + seg1;
+       P026[0] = iP026[0] + seg1;
+       P027[0] = iP027[0] + seg1;
+       P028[0] = iP028[0] + seg1;
+       P029[0] = iP029[0] + seg1;
+       P030[0] = iP030[0] + seg1;
+       P031[0] = iP031[0] + seg1;
+       P032[0] = iP032[0] + seg1;
+       P033[0] = iP033[0] + seg2;
+       P034[0] = iP034[0] + seg2;
+       P035[0] = iP035[0] + seg2;
+       P036[0] = iP036[0] + seg2;
+       P037[0] = iP037[0] + seg2;
+       P038[0] = iP038[0] + seg2;
+       P039[0] = iP039[0] + seg2;
+       P040[0] = iP040[0] + seg2;
+       P041[0] = iP041[0] + seg2;
+       P042[0] = iP042[0] + seg2;
+       P043[0] = iP043[0] + seg3;
+       P044[0] = iP044[0] + seg3;
+       P045[0] = iP045[0] + seg3;
+       P046[0] = iP046[0] + seg3;
+       P047[0] = iP047[0] + seg3;
+       P048[0] = iP048[0] + seg3;
+       P049[0] = iP049[0] + seg3;
+       P050[0] = iP050[0] + seg3;
+       P051[0] = iP051[0] + seg3;
+       P052[0] = iP052[0] + seg3;
+       P002[0] = iP002[0] + seg4;
+       P061[0] = iP061[0] + seg4;
+       P069[0] = iP069[0] + seg4;
+       P070[0] = iP070[0] + seg4;
 
-    fish->vtail += ((fish->dtheta - fish->vtail) * 0.1);
+       fish->vtail += ((fish->dtheta - fish->vtail) * 0.1);
 
-    if (fish->vtail > 0.5) {
-        fish->vtail = 0.5;
-    } else if (fish->vtail < -0.5) {
-        fish->vtail = -0.5;
-    }
-    segup = thrash * fish->vtail;
+       if (fish->vtail > 0.5) {
+               fish->vtail = 0.5;
+       } else if (fish->vtail < -0.5) {
+               fish->vtail = -0.5;
+       }
+       segup = thrash * fish->vtail;
 
-    P023[1] = iP023[1] + segup;
-    P024[1] = iP024[1] + segup;
-    P025[1] = iP025[1] + segup;
-    P026[1] = iP026[1] + segup;
-    P027[1] = iP027[1] + segup;
-    P028[1] = iP028[1] + segup;
-    P029[1] = iP029[1] + segup;
-    P030[1] = iP030[1] + segup;
-    P031[1] = iP031[1] + segup;
-    P032[1] = iP032[1] + segup;
-    P033[1] = iP033[1] + segup * 5.0;
-    P034[1] = iP034[1] + segup * 5.0;
-    P035[1] = iP035[1] + segup * 5.0;
-    P036[1] = iP036[1] + segup * 5.0;
-    P037[1] = iP037[1] + segup * 5.0;
-    P038[1] = iP038[1] + segup * 5.0;
-    P039[1] = iP039[1] + segup * 5.0;
-    P040[1] = iP040[1] + segup * 5.0;
-    P041[1] = iP041[1] + segup * 5.0;
-    P042[1] = iP042[1] + segup * 5.0;
-    P043[1] = iP043[1] + segup * 12.0;
-    P044[1] = iP044[1] + segup * 12.0;
-    P045[1] = iP045[1] + segup * 12.0;
-    P046[1] = iP046[1] + segup * 12.0;
-    P047[1] = iP047[1] + segup * 12.0;
-    P048[1] = iP048[1] + segup * 12.0;
-    P049[1] = iP049[1] + segup * 12.0;
-    P050[1] = iP050[1] + segup * 12.0;
-    P051[1] = iP051[1] + segup * 12.0;
-    P052[1] = iP052[1] + segup * 12.0;
-    P002[1] = iP002[1] + segup * 17.0;
-    P061[1] = iP061[1] + segup * 17.0;
-    P069[1] = iP069[1] + segup * 17.0;
-    P070[1] = iP070[1] + segup * 17.0;
+       P023[1] = iP023[1] + segup;
+       P024[1] = iP024[1] + segup;
+       P025[1] = iP025[1] + segup;
+       P026[1] = iP026[1] + segup;
+       P027[1] = iP027[1] + segup;
+       P028[1] = iP028[1] + segup;
+       P029[1] = iP029[1] + segup;
+       P030[1] = iP030[1] + segup;
+       P031[1] = iP031[1] + segup;
+       P032[1] = iP032[1] + segup;
+       P033[1] = iP033[1] + segup * 5.0;
+       P034[1] = iP034[1] + segup * 5.0;
+       P035[1] = iP035[1] + segup * 5.0;
+       P036[1] = iP036[1] + segup * 5.0;
+       P037[1] = iP037[1] + segup * 5.0;
+       P038[1] = iP038[1] + segup * 5.0;
+       P039[1] = iP039[1] + segup * 5.0;
+       P040[1] = iP040[1] + segup * 5.0;
+       P041[1] = iP041[1] + segup * 5.0;
+       P042[1] = iP042[1] + segup * 5.0;
+       P043[1] = iP043[1] + segup * 12.0;
+       P044[1] = iP044[1] + segup * 12.0;
+       P045[1] = iP045[1] + segup * 12.0;
+       P046[1] = iP046[1] + segup * 12.0;
+       P047[1] = iP047[1] + segup * 12.0;
+       P048[1] = iP048[1] + segup * 12.0;
+       P049[1] = iP049[1] + segup * 12.0;
+       P050[1] = iP050[1] + segup * 12.0;
+       P051[1] = iP051[1] + segup * 12.0;
+       P052[1] = iP052[1] + segup * 12.0;
+       P002[1] = iP002[1] + segup * 17.0;
+       P061[1] = iP061[1] + segup * 17.0;
+       P069[1] = iP069[1] + segup * 17.0;
+       P070[1] = iP070[1] + segup * 17.0;
 
-    glPushMatrix();
+       glPushMatrix();
 
-    glTranslatef(0.0, 0.0, -3000.0);
+       glTranslatef(0.0, 0.0, -3000.0);
 
-    glGetFloatv(GL_MODELVIEW_MATRIX, &mat[0][0]);
-    n = 0;
-    if (mat[0][2] >= 0.0) {
-        n += 1;
-    }
-    if (mat[1][2] >= 0.0) {
-        n += 2;
-    }
-    if (mat[2][2] >= 0.0) {
-        n += 4;
-    }
-    glScalef(2.0, 1.0, 1.0);
+       glGetFloatv(GL_MODELVIEW_MATRIX, &mat[0][0]);
+       n = 0;
+       if (mat[0][2] >= 0.0) {
+               n += 1;
+       }
+       if (mat[1][2] >= 0.0) {
+               n += 2;
+       }
+       if (mat[2][2] >= 0.0) {
+               n += 4;
+       }
+       glScalef(2.0, 1.0, 1.0);
 
-    glEnable(GL_CULL_FACE);
-    switch (n) {
-    case 0:
-        Fish_1();
-        break;
-    case 1:
-        Fish_2();
-        break;
-    case 2:
-        Fish_3();
-        break;
-    case 3:
-        Fish_4();
-        break;
-    case 4:
-        Fish_5();
-        break;
-    case 5:
-        Fish_6();
-        break;
-    case 6:
-        Fish_7();
-        break;
-    case 7:
-        Fish_8();
-        break;
-    }
-    glDisable(GL_CULL_FACE);
+       glEnable(GL_CULL_FACE);
+       cap = wire ? GL_LINE_LOOP : GL_POLYGON;
+       switch (n) {
+               case 0:
+                       Fish_1(cap);
+                       break;
+               case 1:
+                       Fish_2(cap);
+                       break;
+               case 2:
+                       Fish_3(cap);
+                       break;
+               case 3:
+                       Fish_4(cap);
+                       break;
+               case 4:
+                       Fish_5(cap);
+                       break;
+               case 5:
+                       Fish_6(cap);
+                       break;
+               case 6:
+                       Fish_7(cap);
+                       break;
+               case 7:
+                       Fish_8(cap);
+                       break;
+       }
+       glDisable(GL_CULL_FACE);
 
-    glPopMatrix();
+       glPopMatrix();
 }
 #endif