ftp://ftp.linux.ncsu.edu/mirror/ftp.redhat.com/pub/redhat/linux/enterprise/4/en/os...
[xscreensaver] / hacks / glx / engine.c
index 2febb1d42bd31857c8938de2eddce8c058830813..892524a73da216e4e0590f3d9f2ee0b527cfded3 100644 (file)
@@ -39,7 +39,7 @@
 #define DEF_SPIN   "True"
 #define DEF_WANDER "True"
 
-#define DEFAULTS        "*delay:           10000        \n" \
+#define DEFAULTS        "*delay:           30000        \n" \
                         "*showFPS:         False        \n" \
                         "*move:            True         \n" \
                         "*spin:            True         \n" \
@@ -79,19 +79,19 @@ static Bool do_titles;
 
 static XrmOptionDescRec opts[] = {
   {"-engine",  ".engine.engine", XrmoptionSepArg, DEF_ENGINE },
-  {"-move",    ".engine.move",   XrmoptionNoArg, (caddr_t) "True"  },
-  {"+move",    ".engine.move",   XrmoptionNoArg, (caddr_t) "False" },
-  {"-spin",    ".engine.spin",   XrmoptionNoArg, (caddr_t) "True"  },
-  {"+spin",    ".engine.spin",   XrmoptionNoArg, (caddr_t) "False" },
-  { "-titles", ".engine.titles", XrmoptionNoArg, (caddr_t) "True"  },
-  { "+titles", ".engine.titles", XrmoptionNoArg, (caddr_t) "False" },
+  {"-move",    ".engine.move",   XrmoptionNoArg, "True"  },
+  {"+move",    ".engine.move",   XrmoptionNoArg, "False" },
+  {"-spin",    ".engine.spin",   XrmoptionNoArg, "True"  },
+  {"+spin",    ".engine.spin",   XrmoptionNoArg, "False" },
+  { "-titles", ".engine.titles", XrmoptionNoArg, "True"  },
+  { "+titles", ".engine.titles", XrmoptionNoArg, "False" },
 };
 
 static argtype vars[] = {
-  {(caddr_t *) &which_engine, "engine", "Engine", DEF_ENGINE, t_String},
-  {(caddr_t *) &move,         "move",   "Move",   DEF_WANDER, t_Bool},
-  {(caddr_t *) &spin,         "spin",   "Spin",   DEF_SPIN,   t_Bool},
-  {(caddr_t *) &do_titles,    "titles", "Titles", DEF_TITLES, t_Bool},
+  {&which_engine, "engine", "Engine", DEF_ENGINE, t_String},
+  {&move,         "move",   "Move",   DEF_WANDER, t_Bool},
+  {&spin,         "spin",   "Spin",   DEF_SPIN,   t_Bool},
+  {&do_titles,    "titles", "Titles", DEF_TITLES, t_Bool},
 };
 
 ModeSpecOpt engine_opts = {countof(opts), opts, countof(vars), vars, NULL};
@@ -251,13 +251,18 @@ engine_type engines[] = {
 #define ENG engines[engineType]
 
 /* given a number of cylinders and an included angle, finds matching engine */
-int find_engine(const char *name)
+int
+find_engine(char *name)
 {
-  int i;
+  unsigned int i;
+  char *s;
 
   if (!name || !*name || !strcasecmp (name, "(none)"))
     return (random() % countof(engines));
 
+  for (s = name; *s; s++)
+    if (*s == '-' || *s == '_') *s = ' ';
+
   for (i = 0; i < countof(engines); i++) {
     if (!strcasecmp(name, engines[i].engineName))
       return i;
@@ -762,8 +767,8 @@ void makeshaft (void)
 {
   int i;
   int j;
-  const static float crankThick = 0.2;
-  const static float crankDiam = 0.3;
+  static const float crankThick = 0.2;
+  static const float crankDiam = 0.3;
 
   i = glGenLists(1);
   glNewList(i, GL_COMPILE);
@@ -866,7 +871,7 @@ print_title_string (ModeInfo *mi, const char *string, GLfloat x, GLfloat y)
       glMatrixMode(GL_MODELVIEW);
       glPushMatrix();
       {
-        int i;
+        unsigned int i;
         int x2 = x;
         glLoadIdentity();
 
@@ -946,8 +951,8 @@ void init_engine(ModeInfo *mi)
  }
 
  {
-   double spin_speed = 1.0;
-   double wander_speed = 0.03;
+   double spin_speed = 0.5;
+   double wander_speed = 0.01;
 
  e->rot = make_rotator (spin ? spin_speed : 0,
                         spin ? spin_speed : 0,