http://se.aminet.net/pub/X11/ftp.x.org/contrib/vms/xscreensaver-124.zip
[xscreensaver] / hacks / helix.c
old mode 100644 (file)
new mode 100755 (executable)
index 9e6d905..25149c3
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1992 Jamie Zawinski <jwz@lucid.com>
+/* xscreensaver, Copyright (c) 1992 Jamie Zawinski <jwz@mcom.com>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
 
 #include "screenhack.h"
 #include <math.h>
+#ifdef VMS
+#define M_PI 3.14159265358979323846
+#endif
 #if __STDC__
-#include <values.h>
+#include <math.h>      /* for M_PI */
 #endif
 
 static double sins [360];
@@ -130,7 +133,7 @@ random_helix (dpy, window)
   factor3 = 2;
   factor4 = 2;
 
-  divisor = ((frand (3.0) + 1) * (((random() % 1) * 2) - 1));
+  divisor = ((frand (3.0) + 1) * (((random() & 1) * 2) - 1));
 
   if ((random () & 1) == 0)
     {
@@ -147,8 +150,8 @@ random_helix (dpy, window)
     d_angle = random () % 360;
 
 #define random_factor()                                \
-  (((random() % 7) ? ((random() % 1) + 1) : 3) \
-   * (((random() % 1) * 2) - 1))
+  (((random() % 7) ? ((random() & 1) + 1) : 3) \
+   * (((random() & 1) * 2) - 1))
 
   while (gcd (gcd (gcd (factor1, factor2), factor3), factor4) != 1)
     {
@@ -164,7 +167,7 @@ random_helix (dpy, window)
     {
       hsv_to_rgb (random () % 360, frand (1.0), frand (0.5) + 0.5,
                  &color.red, &color.green, &color.blue);
-      if (got_color = XAllocColor (dpy, cmap, &color))
+      if ((got_color = XAllocColor (dpy, cmap, &color)))
        XSetForeground (dpy, draw_gc, color.pixel);
       else
        XSetForeground (dpy, draw_gc, default_fg_pixel);
@@ -193,7 +196,7 @@ random_helix (dpy, window)
 char *progclass = "Helix";
 
 char *defaults [] = {
-  "*background: black",
+  "Helix.background: black",           /* to placate SGI */
   0
 };