GLXWorkstat.st
changeset 1932 6afe07d9c88c
parent 1903 285c7dc06ddb
child 2045 bd7978df685c
--- a/GLXWorkstat.st	Tue Oct 21 20:11:53 1997 +0200
+++ b/GLXWorkstat.st	Tue Oct 21 20:22:05 1997 +0200
@@ -24,7 +24,7 @@
  * for simulation (using vogl), this is compiled with -DVGL
  *   
  * New note: starting to support openGL (tm) (compile with -DOPENGL)
- * or its simulation (compile with -DOPENGL -DMESA)
+ * or its simulation (compile with -DMESA)
  */
 
 /*
@@ -44,7 +44,9 @@
  * these are not available on all gl's
  */
 
+#ifdef GLX
 /* #define FULL_GLX */
+#endif
 
 /*
  * this is stupid, GLX type-defs String, which is also defined here ...
@@ -71,6 +73,12 @@
 
 #include <stdio.h>
 
+#ifndef OPENGL
+# ifdef MESA
+#  define OPENGL
+# endif
+#endif
+
 #ifdef OPENGL   /* SGI or others OPENGL library */
 
 # include "GL/gl.h"
@@ -404,10 +412,10 @@
     }
 
     if (@global(ErrorPrinting) == true) {
-	fprintf(stderr, "XWORKSTAT: x-error caught maj=%d (0x%x) min=%d (0x%x) resource=%x\n",
+	fprintf(stderr, "GLXWORKSTAT: x-error caught maj=%d (0x%x) min=%d (0x%x) resource=%x\n",
 			event->request_code, event->request_code,
 			event->minor_code, event->minor_code, event->resourceid);
-	fprintf(stderr, "XWORKSTAT: x-error message is [%d] '%s'\n", event->error_code, lastErrorMsg);
+	fprintf(stderr, "GLXWORKSTAT: x-error message is [%d] '%s'\n", event->error_code, lastErrorMsg);
     }
 
     __errorInterruptWithIDAndParameter__(@symbol(DisplayError), __MKOBJ(dpy));
@@ -431,7 +439,7 @@
  * this file has been just copied from a 4Dgifts demo ..
  * (will need more than a day to show more ...)
  */
-#if defined(GLX) || defined(VGL)
+#if !defined(OPENGL)
 
 # include        <X11/Xlib.h>
 # include        <X11/Xutil.h>
@@ -460,7 +468,9 @@
     "rgb double buffer",
 };
 
-# ifndef VGL
+#endif /* GLX || VGL */
+
+#if defined(GLX) && !defined(VGL)
 /*
  * Dorky little helper function used to build up a GLXconfig array.
  */
@@ -472,7 +482,7 @@
     ptr->mode = m;
     ptr->arg = a;
 }
-# endif /* not VGL */
+#endif /* GLX & not VGL */
 
 static JMP_BUF errorReturn;
 
@@ -505,41 +515,56 @@
     Window parent;
     GLXWindowType type;
 {
-# ifdef VGL
-    Visual visual;
-# else
+#if !defined(OPENGL)
+# ifndef VGL
     GLXconfig params[50];
     GLXconfig* next;
     GLXconfig* retconfig;
     Colormap cmap = DefaultColormap(dpy, DefaultScreen(dpy));
+# endif
+#endif
+    Visual visual;
     XVisualInfo *vis;
-# endif
     XVisualInfo template;
     XColor white;
     XSetWindowAttributes cwa;
     XWindowAttributes   pwa;
     int scr, i, nret;
     Window win;
-# ifdef HAS_SIGACTION
+#ifdef HAS_SIGACTION
     struct sigaction oldSig, newSig;
-# else
+#else
     void *oldSig;
-# endif
-
+#endif
+
+#if !defined(OPENGL)
     __catchExit(1);
+#endif
 
     if (setjmp(errorReturn)) {
 	printf("hard error in GL - return\n");
-# ifdef HAS_SIGACTION
+#ifdef HAS_SIGACTION
 	sigaction(SIGSEGV, &oldSig, 0);
-# else
+#else
 	signal(SIGSEGV, oldSig);
-# endif
+#endif
+#if !defined(OPENGL)
 	__catchExit(0);
+#endif
 	return 0;
     }
     __CONT__
 
+    if (w <= 0) {
+	printf("GL: bad width: %d\n", w);
+	w = 1;
+    }
+    if (h <= 0) {
+	printf("GL: bad height: %d\n", h);
+	h = 1;
+    }
+
+#if !defined(OPENGL)
 # ifdef VGL
     /*
      * I know what VGL supports; its somewhat unclean to hard code it here
@@ -559,14 +584,6 @@
     scr = DefaultScreen(dpy);
     visual.visualid = CopyFromParent;
     cwa.border_pixel = 0;  /* Even if we don't use it, it must be something */
-    if (w <= 0) {
-	printf("VGL: bad width: %d\n", w);
-	w = 1;
-    }
-    if (h <= 0) {
-	printf("VGL: bad height: %d\n", h);
-	h = 1;
-    }
     win = XCreateWindow(dpy, parent, x, y, w, h,
 			     borderWidth, DisplayPlanes(dpy, scr), 
 			     InputOutput, &visual,
@@ -717,8 +734,22 @@
      */
     XSetErrorHandler(__XErrorHandler__);
 # endif /* not VGL */
-
     __catchExit(0);
+
+#else /* OPENGL | MESA */
+
+    scr = DefaultScreen(dpy);
+    visual.visualid = CopyFromParent;
+    cwa.border_pixel = 0;  /* Even if we don't use it, it must be something */
+    win = XCreateWindow(dpy, parent, x, y, w, h,
+			     borderWidth, DisplayPlanes(dpy, scr), 
+			     InputOutput, &visual,
+			     CWBorderPixel, &cwa);
+
+    vis = XGetVisualInfo(dpy, VisualScreenMask|VisualIDMask, &visual, &nret);
+printf("vis is %x\n", vis);
+#endif /* GLX || VGL */
+
     return win;
 }
 
@@ -729,17 +760,11 @@
     /*
      * only needed for VGL - GLX does it automatically
      */
-# ifdef VGL
+#ifdef VGL
     GLXunlink(dpy, win);
-# endif
+#endif
 }
 
-#endif /* GLX or VGL */
-
-/* 
- * end moved from GLXsupport.c
- */
-
 /*
  * helper for rotation - calls rot()
  */
@@ -752,8 +777,12 @@
 
     if (__isFloat(angle)) {
 	f_angle = (float)(_floatVal(angle));
-	if (f_angle != 0.0)
+	if (f_angle != 0.0) {
+#ifdef OPENGL
+#else
 	    rot(f_angle, axis);
+#endif
+	}
 	return (true);
     }
     if (__isFraction(angle)
@@ -764,14 +793,22 @@
 	n = (float)(__intVal(_FractionInstPtr(angle)->f_numerator));
 	d = (float)(__intVal(_FractionInstPtr(angle)->f_denominator));
 	f_angle = n / d;
-	if (f_angle != 0.0)
+	if (f_angle != 0.0) {
+#ifdef OPENGL
+#else
 	    rot(f_angle, axis);
+#endif
+	}
 	return (true);
     }
     if (__isSmallInteger(angle)) {
 	f_angle = (float)(__intVal(angle));
-	if (f_angle != 0.0)
+	if (f_angle != 0.0) {
+#ifdef OPENGL
+#else
 	    rot(f_angle, axis);
+#endif
+	}
 	return (true);
     }
     return false;
@@ -1232,8 +1269,6 @@
      startang and endang must be smallIntegers (10th of a degree)."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Coord c_x, c_y, c_radius;
     Angle a_startang, a_endang;
 
@@ -1244,8 +1279,9 @@
     _ANGLE_(endang, a_endang)
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     arc(c_x, c_y, c_radius, a_startang, a_endang);
-    RETURN (true);
 #endif
 %}
 
@@ -1258,8 +1294,6 @@
      startang and endang must be smallIntegers (10th of a degree)."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Coord c_x, c_y, c_radius;
     Angle a_startang, a_endang;
 
@@ -1270,8 +1304,9 @@
     _ANGLE_(endang, a_endang)
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     arcf(c_x, c_y, c_radius, a_startang, a_endang);
-    RETURN (true);
 #endif
 %}
 !
@@ -1281,8 +1316,6 @@
      All arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Icoord c_x, c_y, c_radius;
     Angle a_startang, a_endang;
 
@@ -1293,8 +1326,9 @@
     _ANGLE_(endang, a_endang)
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     arcfi(c_x, c_y, c_radius, a_startang, a_endang);
-    RETURN (true);
 #endif
 %}
 !
@@ -1304,8 +1338,6 @@
      All arguments must be (16bit) smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Scoord c_x, c_y, c_radius;
     Angle a_startang, a_endang;
 
@@ -1316,8 +1348,9 @@
     _ANGLE_(endang, a_endang)
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     arcfs(c_x, c_y, c_radius, a_startang, a_endang);
-    RETURN (true);
 #endif
 %}
 !
@@ -1327,8 +1360,6 @@
      All arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Icoord c_x, c_y, c_radius;
     Angle a_startang, a_endang;
 
@@ -1339,8 +1370,9 @@
     _ANGLE_(endang, a_endang)
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     arci(c_x, c_y, c_radius, a_startang, a_endang);
-    RETURN (true);
 #endif
 %}
 !
@@ -1350,22 +1382,19 @@
      All arguments must be (16bit) smallIntegers."
 
 %{  /* NOCONTEXT */
-    SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
-    {
-	Scoord c_x, c_y, c_radius;
-	Angle a_startang, a_endang;
-
-	_SCOORD_(x, c_x)
-	_SCOORD_(y, c_y)
-	_SCOORD_(radius, c_radius)
-	_ANGLE_(startang, a_startang)
-	_ANGLE_(endang, a_endang)
-
-	arcs(c_x, c_y, c_radius, a_startang, a_endang);
-	RETURN (true);
-    }
+    Scoord c_x, c_y, c_radius;
+    Angle a_startang, a_endang;
+
+    _SCOORD_(x, c_x)
+    _SCOORD_(y, c_y)
+    _SCOORD_(radius, c_radius)
+    _ANGLE_(startang, a_startang)
+    _ANGLE_(endang, a_endang)
+
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
+    arcs(c_x, c_y, c_radius, a_startang, a_endang);
 #endif
 %}
 !
@@ -1375,19 +1404,16 @@
      x/y/radius may be floats, fractions or smallIntegers."
 
 %{  /* NOCONTEXT */
-    SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
-    {
-	Coord c_x, c_y, c_radius;
-
-	_COORD_ (x, c_x)
-	_COORD_ (y, c_y)
-	_COORD_ (radius, c_radius)
-
-	circ(c_x, c_y, c_radius);
-	RETURN (true);
-    }
+    Coord c_x, c_y, c_radius;
+
+    _COORD_ (x, c_x)
+    _COORD_ (y, c_y)
+    _COORD_ (radius, c_radius)
+
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
+    circ(c_x, c_y, c_radius);
 #endif
 %}
 !
@@ -1398,8 +1424,6 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
     {
 	Coord c_x, c_y, c_radius;
 
@@ -1407,10 +1431,11 @@
 	_COORD_ (y, c_y)
 	_COORD_ (radius, c_radius)
 
+#ifdef OPENGL
+#else
 	circf(c_x, c_y, c_radius);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 !
 
@@ -1420,8 +1445,6 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
     {
 	Icoord c_x, c_y, c_radius;
 
@@ -1429,10 +1452,11 @@
 	_ICOORD_ (y, c_y)
 	_ICOORD_ (radius, c_radius)
 
+#ifdef OPENGL
+#else
 	circfi(c_x, c_y, c_radius);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 !
 
@@ -1442,8 +1466,6 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
     {
 	Scoord c_x, c_y, c_radius;
 
@@ -1451,10 +1473,11 @@
 	_SCOORD_ (y, c_y)
 	_SCOORD_ (radius, c_radius)
 
+#ifdef OPENGL
+#else
 	circfs(c_x, c_y, c_radius);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 !
 
@@ -1464,8 +1487,6 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
     {
 	Icoord c_x, c_y, c_radius;
 
@@ -1473,10 +1494,11 @@
 	_ICOORD_ (y, c_y)
 	_ICOORD_ (radius, c_radius)
 
+#ifdef OPENGL
+#else
 	circi(c_x, c_y, c_radius);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 !
 
@@ -1486,8 +1508,6 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
     {
 	Scoord c_x, c_y, c_radius;
 
@@ -1495,10 +1515,11 @@
 	_SCOORD_ (y, c_y)
 	_SCOORD_ (radius, c_radius)
 
+#ifdef OPENGL
+#else
 	circs(c_x, c_y, c_radius);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 ! !
 
@@ -1509,7 +1530,9 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifndef OPENGL
     popattributes();
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:42:53 / cg"
@@ -1520,7 +1543,9 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifndef OPENGL
     pushattributes();
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:43:04 / cg"
@@ -1534,18 +1559,17 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
     {
 	Coord c_x, c_y;
 
 	_COORD_ (x, c_x)
 	_COORD_ (y, c_y)
 
+#ifdef OPENGL
+#else
 	cmov2(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:17:38 / cg"
@@ -1557,18 +1581,17 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
     {
 	Icoord c_x, c_y;
 
 	_ICOORD_ (x, c_x)
 	_ICOORD_ (y, c_y)
 
+#ifdef OPENGL
+#else
 	cmov2i(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:17:43 / cg"
@@ -1580,18 +1603,17 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
      {
 	 Scoord c_x, c_y;
 
 	 _SCOORD_ (x, c_x)
 	 _SCOORD_ (y, c_y)
 
+#ifdef OPENGL
+#else
 	 cmov2s(c_x, c_y);
-	 RETURN (true);
+#endif
      }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:17:47 / cg"
@@ -1603,8 +1625,6 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
      {
 	Coord c_x, c_y, c_z;
 
@@ -1612,10 +1632,11 @@
 	_COORD_ (y, c_y)
 	_COORD_ (z, c_z)
 
+#ifdef OPENGL
+#else
 	cmov(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:17:22 / cg"
@@ -1627,8 +1648,6 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
     {
 	Icoord c_x, c_y, c_z;
 
@@ -1636,10 +1655,11 @@
 	_ICOORD_ (y, c_y)
 	_ICOORD_ (z, c_z)
 
+#ifdef OPENGL
+#else
 	cmovi(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:17:55 / cg"
@@ -1651,8 +1671,6 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
-#ifdef OPENGL
-#else
     {
 	Scoord c_x, c_y, c_z;
 
@@ -1660,10 +1678,11 @@
 	_SCOORD_ (y, c_y)
 	_SCOORD_ (z, c_z)
 
+#ifdef OPENGL
+#else
 	cmovs(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:17:59 / cg"
@@ -1674,16 +1693,18 @@
 
     | x y |
 %{ 
-#ifdef GLX
     short s_x, s_y;
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
+# ifdef GLX
     getcpos(&s_x, &s_y);
     x = __MKSMALLINT(s_x);
     y = __MKSMALLINT(s_y);
-#endif
-%}
-.
+# endif
+#endif
+%}.
     ^x @ y
 ! !
 
@@ -1694,7 +1715,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     clear();
+#endif
 %}
 !
 
@@ -1702,29 +1726,28 @@
     "clear to a color (cval) and clear z buffer to zval simultaniously"
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
-
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
+# ifdef GLX
     czclear((ulong)__intVal(cval), __intVal(zval));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+# endif
+#endif
+%}
 !
 
 glxZClearIn:aGLXWindowId
     "clear z buffer"
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
+# ifdef GLX
     zclear();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+# endif
+#endif
+%}
 ! !
 
 !GLXWorkstation methodsFor:'color'!
@@ -1741,15 +1764,14 @@
 #else
     if (__isSmallInteger(index)) {
 	color((Colorindex)(__intVal(index)));
-	RETURN (true);
+	RETURN (self);
     }
     if (__isFloat(index)) {
 	colorf((float)(_floatVal(index)));
-	RETURN (true);
+	RETURN (self);
     }
 #endif
-%}.
-    ^ false
+%}
 !
 
 glxColorRed:r green:g blue:b alpha:a in:aGLXWindowId
@@ -1757,8 +1779,6 @@
      The args must be integer values within 0..255"
 
 %{  /* NOCONTEXT */
-
-#ifdef GLX
     short s_r, s_g, s_b, s_a;
 
     _INT_(r, s_r);
@@ -1766,12 +1786,10 @@
     _INT_(b, s_b);
     _INT_(a, s_a);
     SETWIN(aGLXWindowId)
+#ifdef GLX
     cpack((((((s_a<<8) | s_b) << 8) | s_g) << 8) | s_r);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxColorRed:r green:g blue:b in:aGLXWindowId
@@ -1779,36 +1797,29 @@
      The args must be integer values in 0..255"
 
 %{  /* NOCONTEXT */
-
-#ifdef GLX
     short s_r, s_g, s_b;
 
     _INT_(r, s_r);
     _INT_(g, s_g);
     _INT_(b, s_b);
     SETWIN(aGLXWindowId)
+#ifdef GLX
     RGBcolor(s_r, s_g, s_b);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxLrgbrangeRmin: rmin gmin: gmin bmin: bmin rmax: rmax gmax: gmax bmax: bmax
     znear: znear zfar: zfar in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     lRGBrange(_shortVal(rmin), _shortVal(gmin), _shortVal(bmin), 
 	_shortVal(rmax), _shortVal(gmax), _shortVal(bmax), 
 	_longVal(znear), _longVal(zfar));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxMapcolorI: i red: red green: green blue: blue in: aGLXWindowId
@@ -1820,7 +1831,6 @@
 #ifdef OPENGL
 #else
     mapcolor(_colorindexVal(i), _shortVal(red), _shortVal(green), _shortVal(blue));
-    RETURN (true);
 #endif
 %}
 !
@@ -1829,14 +1839,11 @@
     "change the color used for text drawing"
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     textcolor(_colorindexVal(tcolor));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 ! !
 
 !GLXWorkstation methodsFor:'curves'!
@@ -1846,8 +1853,9 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef GLX
     curvebasis(_shortVal(basid));
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:47:09 / cg"
@@ -1859,8 +1867,9 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef GLX
     curveit(_shortVal(iterationcount));
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:48:57 / cg"
@@ -1871,8 +1880,9 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef GLX
     curveprecision(_shortVal(nsegments));
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:47:43 / cg"
@@ -1891,7 +1901,6 @@
     frontbuffer(FALSE);
 # endif
     backbuffer(TRUE);
-    RETURN (true);
 #endif
 %}
 !
@@ -1907,7 +1916,6 @@
 #ifdef OPENGL
 #else
     backbuffer(_booleanVal(b));
-    RETURN (true);
 #endif
 %}
 
@@ -1919,8 +1927,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     doublebuffer();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -1935,7 +1945,6 @@
     backbuffer(FALSE);
 # endif
     frontbuffer(TRUE);
-    RETURN (true);
 #endif
 %}
 !
@@ -1951,7 +1960,6 @@
 #ifdef OPENGL
 #else
     frontbuffer(_booleanVal(b));
-    RETURN (true);
 #endif
 %}
 
@@ -1966,7 +1974,6 @@
 #ifdef OPENGL
 #else
     singlebuffer();
-    RETURN (true);
 #endif
 %}
 !
@@ -1982,7 +1989,6 @@
 #ifdef OPENGL
 #else
     swapbuffers();
-    RETURN (true);
 #endif
 %}
 
@@ -1995,9 +2001,11 @@
     "start a closed line"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     bgnclosedline();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2005,8 +2013,11 @@
     "start a line group"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     bgnline();
+#endif
 %}
 !
 
@@ -2014,9 +2025,11 @@
     "start a point-group"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     bgnpoint();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2024,9 +2037,11 @@
     "start a polygon"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     bgnpolygon();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2034,9 +2049,11 @@
     "start a quadrilateral strip"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     bgnqstrip();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2044,9 +2061,11 @@
     "start a triangle mesh"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     bgntmesh();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2054,9 +2073,11 @@
     "end a closed line"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     endclosedline();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2064,9 +2085,11 @@
     "end a line group"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     endline();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2074,9 +2097,11 @@
     "end a point group"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     endpoint();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2084,9 +2109,11 @@
     "end a polygon"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     endpolygon();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2094,9 +2121,11 @@
     "end a quadrilateral strip"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     endqstrip();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2104,9 +2133,11 @@
     "end a triangle mesh"
 
 %{  /* NOCONTEXT */
+#ifdef OPENGL
+#else
     SETWIN(aGLXWindowId)
     endtmesh();
-    RETURN (true);
+#endif
 %}
 ! !
 
@@ -2134,18 +2165,17 @@
     "change the graphics position to a 2D point, as passed in x/y"
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Coord c_x, c_y;
 
 	_COORD_ (x, c_x)
 	_COORD_ (y, c_y)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	move2(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:15:02 / cg"
@@ -2156,18 +2186,17 @@
      The arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Icoord c_x, c_y;
 
 	_ICOORD_ (x, c_x)
 	_ICOORD_ (y, c_y)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	move2i(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:15:08 / cg"
@@ -2178,18 +2207,17 @@
      The arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Scoord c_x, c_y;
 
 	_SCOORD_ (x, c_x)
 	_SCOORD_ (y, c_y)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	move2s(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:15:13 / cg"
@@ -2199,17 +2227,16 @@
     "change the graphics position to a 3D point, as passed in vector v"
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	float vec[3], *c_v;
 
 	if (! (c_v = __glx_getFloatsFromInto(v, vec, 3))) RETURN(false);
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	move((Coord)(c_v[0]), (Coord)(c_v[1]), (Coord)(c_v[2]));
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:14:29 / cg"
@@ -2219,8 +2246,6 @@
     "change the graphics position to a 3D point, as passed in x/y/z"
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Coord c_x, c_y, c_z;
 
@@ -2228,10 +2253,11 @@
 	_COORD_ (y, c_y)
 	_COORD_ (z, c_z)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	move(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:14:38 / cg"
@@ -2242,8 +2268,6 @@
      The arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Icoord c_x, c_y, c_z;
 
@@ -2251,10 +2275,11 @@
 	_ICOORD_ (y, c_y)
 	_ICOORD_ (z, c_z)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	movei(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:14:44 / cg"
@@ -2265,8 +2290,6 @@
      The arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Scoord c_x, c_y, c_z;
 
@@ -2274,10 +2297,11 @@
 	_SCOORD_ (y, c_y)
 	_SCOORD_ (z, c_z)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	moves(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:14:48 / cg"
@@ -2288,17 +2312,16 @@
      the relative distance is passed in vector v"
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	float vec[2], *c_v;
 
 	if (! (c_v = __glx_getFloatsFromInto(v, vec, 2))) RETURN(false);
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rmv2((Coord)(c_v[0]), (Coord)(c_v[1]));
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:15:57 / cg"
@@ -2309,18 +2332,17 @@
      the relative distance is passed in x/y"
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Coord c_x, c_y;
 
 	_COORD_ (x, c_x)
 	_COORD_ (y, c_y)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rmv2(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:16:42 / cg"
@@ -2332,18 +2354,17 @@
      The arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Icoord c_x, c_y;
 
 	_ICOORD_ (x, c_x)
 	_ICOORD_ (y, c_y)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rmv2i(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:16:39 / cg"
@@ -2355,18 +2376,17 @@
      The arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Scoord c_x, c_y;
 
 	_SCOORD_ (x, c_x)
 	_SCOORD_ (y, c_y)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rmv2s(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:16:33 / cg"
@@ -2377,17 +2397,16 @@
      the relative distance is passed in vector v"
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	float vec[3], *c_v;
 
 	if (! (c_v = __glx_getFloatsFromInto(v, vec, 3))) RETURN(false);
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rmv((Coord)(c_v[0]), (Coord)(c_v[1]), (Coord)(c_v[2]));
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:16:08 / cg"
@@ -2398,8 +2417,6 @@
      the relative distance is passed in x/y/z"
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Coord c_x, c_y, c_z;
 
@@ -2407,10 +2424,11 @@
 	_COORD_ (y, c_y)
 	_COORD_ (z, c_z)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rmv(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:16:16 / cg"
@@ -2422,8 +2440,6 @@
      The arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Icoord c_x, c_y, c_z;
 
@@ -2431,10 +2447,11 @@
 	_ICOORD_ (y, c_y)
 	_ICOORD_ (z, c_z)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rmvi(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:16:21 / cg"
@@ -2446,8 +2463,6 @@
      The arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Scoord c_x, c_y, c_z;
 
@@ -2455,10 +2470,11 @@
 	_SCOORD_ (y, c_y)
 	_SCOORD_ (z, c_z)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rmvs(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:16:25 / cg"
@@ -2503,7 +2519,7 @@
     if (ISCONNECTED) {
 	_INST(hasStereoExtension) = false;
 
-#if defined(XSGIStereo) && !defined(VGL)
+#if defined(XSGIStereo) && defined(GLX)
 	if (_INST(glOK) == true) {
 	    if (XQueryExtension(dpy, "SGIFullScreenStereo", &dummy, &dummy, &dummy))
 		_INST(hasStereoExtension) = true;
@@ -2519,11 +2535,10 @@
     "define a line style"
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     deflinestyle(_shortVal(n), _linestyleVal(ls));
-    RETURN (true);
 #endif
 %}
 !
@@ -2540,7 +2555,6 @@
 #ifdef OPENGL
 #else
     draw2((Coord)(c_v[0]), (Coord)(c_v[1]));
-    RETURN (true);
 #endif
 %}
 
@@ -2552,18 +2566,17 @@
      to a new 2D position, passed in x/y."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Coord c_x, c_y;
 
 	_COORD_ (x, c_x)
 	_COORD_ (y, c_y)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	draw2(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:03:50 / cg"
@@ -2574,18 +2587,17 @@
      to a new 2D position, passed in x/y."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Icoord c_x, c_y;
 
 	_ICOORD_ (x, c_x)
 	_ICOORD_ (y, c_y)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	draw2i(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:04:07 / cg"
@@ -2596,18 +2608,17 @@
      to a new 2D position, passed in x/y."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Scoord c_x, c_y;
 
 	_SCOORD_ (x, c_x)
 	_SCOORD_ (y, c_y)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	draw2s(c_x, c_y);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:04:19 / cg"
@@ -2625,7 +2636,6 @@
 #ifdef OPENGL
 #else
     draw((Coord)(c_v[0]), (Coord)(c_v[1]), (Coord)(c_v[2]));
-    RETURN (true);
 #endif
 %}
 
@@ -2638,8 +2648,6 @@
      The arguments may be floats, fractions or smallIntegers"
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Coord c_x, c_y, c_z;
 
@@ -2647,10 +2655,11 @@
 	_COORD_ (y, c_y)
 	_COORD_ (z, c_z)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	draw(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:04:46 / cg"
@@ -2662,8 +2671,6 @@
      The arguments must be smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Icoord c_x, c_y, c_z;
 
@@ -2671,10 +2678,11 @@
 	_ICOORD_ (y, c_y)
 	_ICOORD_ (z, c_z)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	drawi(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:04:54 / cg"
@@ -2686,8 +2694,6 @@
      The arguments must be (16bit) smallIntegers."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     {
 	Scoord c_x, c_y, c_z;
 
@@ -2695,10 +2701,11 @@
 	_SCOORD_ (y, c_y)
 	_SCOORD_ (z, c_z)
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	draws(c_x, c_y, c_z);
-	RETURN (true);
+#endif
     }
-#endif
 %}
 
     "Modified: 22.3.1996 / 18:05:01 / cg"
@@ -2709,8 +2716,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     linewidth(_shortVal(n));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -2719,7 +2728,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     linewidthf(_floatVal(n));
+#endif
     RETURN (true);
 %}
 !
@@ -2729,14 +2741,13 @@
      to a new 2D position, passing the relative distance in the vector v."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     float vec[2], *c_v;
 
     if (! (c_v = __glx_getFloatsFromInto(v, vec, 2))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rdr2((Coord)(c_v[0]), (Coord)(c_v[1]));
-    RETURN (true);
 #endif
 %}
 
@@ -2748,15 +2759,14 @@
      to a new 2D position, passing the relative distance in x/y."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Coord c_x, c_y;
 
     _COORD_ (x, c_x)
     _COORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rdr2(c_x, c_y);
-    RETURN (true);
 #endif
 %}
 
@@ -2768,15 +2778,14 @@
      to a new 2D position, passing the relative distance in x/y."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Icoord c_x, c_y;
 
     _ICOORD_ (x, c_x)
     _ICOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rdr2i(c_x, c_y);
-    RETURN (true);
 #endif
 %}
 
@@ -2788,15 +2797,14 @@
      to a new 2D position, passing the relative distance in x/y."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Scoord c_x, c_y;
 
     _SCOORD_ (x, c_x)
     _SCOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rdr2s(c_x, c_y);
-    RETURN (true);
 #endif
 %}
 
@@ -2808,14 +2816,13 @@
      to a new 3D position, passing the relative distance in the vector v."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     float vec[3], *c_v;
 
     if (! (c_v = __glx_getFloatsFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rdr((Coord)(c_v[0]), (Coord)(c_v[1]), (Coord)(c_v[2]));
-    RETURN (true);
 #endif
 %}
 
@@ -2827,16 +2834,15 @@
      to a new 3D position, passing the relative distance in x/y/z."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Coord c_x, c_y, c_z;
 
     _COORD_ (x, c_x)
     _COORD_ (y, c_y)
     _COORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rdr(c_x, c_y, c_z);
-    RETURN (true);
 #endif
 %}
 
@@ -2848,16 +2854,15 @@
      to a new 3D position, passing the relative distance in x/y/z."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Icoord c_x, c_y, c_z;
 
     _ICOORD_ (x, c_x)
     _ICOORD_ (y, c_y)
     _ICOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rdri(c_x, c_y, c_z);
-    RETURN (true);
 #endif
 %}
 
@@ -2869,16 +2874,15 @@
      to a new 3D position, passing the relative distance in x/y/z."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Scoord c_x, c_y, c_z;
 
     _SCOORD_ (x, c_x)
     _SCOORD_ (y, c_y)
     _SCOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rdrs(c_x, c_y, c_z);
-    RETURN (true);
 #endif
 %}
 
@@ -2890,11 +2894,11 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     setlinestyle(_shortVal(index));
-    RETURN (true);
-%}
-.
-    ^ false
+#endif
+%}
 ! !
 
 !GLXWorkstation methodsFor:'materials & lights'!
@@ -2932,17 +2936,14 @@
     else if (target == @symbol(lightModel))
 	defType = LMODEL;
     else { 
-	RETURN (false); 
+	RETURN (nil); 
     }
 
     _INT_ (index, i_index);
     SETWIN(aGLXWindowId)
     lmbind(defType, i_index);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxLmdef:what index:index np:np props:props in:aGLXWindowId
@@ -2965,7 +2966,7 @@
     else if (what == @symbol(lightModel))
 	defType = DEFLMODEL;
     else {
-	RETURN (false);
+	RETURN (nil);
     }
 
     _INT_ (index, i_index);
@@ -2981,17 +2982,14 @@
 		ninstVars = __intVal(_ClassInstPtr(cls)->c_ninstvars);
 		fp = (float *) &(_InstPtr(props)->i_instvars[ninstVars]);
 	    } else {
-		RETURN (false);
+		RETURN (nil);
 	    }
 	} 
     }
     SETWIN(aGLXWindowId)
     lmdef(defType, i_index, i_np, fp);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxTevbind:target index:index in:aGLXWindowId
@@ -3008,16 +3006,13 @@
 	if (target == @symbol(env0)) {
 	    t = TV_ENV0;
 	} else {
-	    RETURN (false);
+	    RETURN (nil);
 	}
     }
     SETWIN(aGLXWindowId)
     tevbind(t, __intVal(index));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxTevdef:index np:np props:props in:aGLXWindowId
@@ -3030,11 +3025,8 @@
     SETWIN(aGLXWindowId)
     fp = __glx_getFloatsFromFloatArrayInto(props, fbuff);
     tevdef(__intVal(index), __intVal(np), fp);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxTexDef2d:index nc:nc width:w height:h bits:image np:np props:props in:aGLXWindowId
@@ -3058,12 +3050,9 @@
 	SETWIN(aGLXWindowId)
 	texdef2d(__intVal(index), __intVal(nc), __intVal(w), __intVal(h),
 		 (const unsigned long *)cp, __intVal(np), fp);
-	RETURN (true);
     }
 #endif
 %}
-.
-    ^ false
 !
 
 glxTexDef3d:index nc:nc width:w height:h depth:d bits:image np:np props:props in:aGLXWindowId
@@ -3088,12 +3077,9 @@
 	texdef3d(__intVal(index), __intVal(nc), __intVal(w), __intVal(h),
 		 __intVal(d),
 		 (const unsigned long *)cp, __intVal(np), fp);
-	RETURN (true);
     }
 #endif
 %}
-.
-    ^ false
 !
 
 glxTexbind:target index:index in:aGLXWindowId
@@ -3114,16 +3100,13 @@
 	} else if (target == @symbol(textureIdle)) {
 	    t = TX_TEXTURE_IDLE;
 	} else {
-	    RETURN (false);
+	    RETURN (nil);
 	}
     }
     SETWIN(aGLXWindowId)
     texbind(t, __intVal(index));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 ! !
 
 !GLXWorkstation methodsFor:'matrix stack'!
@@ -3140,10 +3123,8 @@
     SETWIN(aGLXWindowId)
     getmatrix(matrix);
     if (! __glx_putFloatsFromInto(matrix, arrayOf16Floats, 16)) RETURN(false);
-    RETURN (true);
-#endif
-%}.
-    ^ false
+#endif
+%}
 !
 
 glxLoadMatrix:arrayOf16Floats in:aGLXWindowId
@@ -3159,7 +3140,6 @@
     if (! (m = __glx_getFloatsFromMatrixInto(arrayOf16Floats, &matrix))) RETURN (false);
     SETWIN(aGLXWindowId)
     loadmatrix(*m);
-    RETURN (true);
 #endif
 %}
 !
@@ -3177,7 +3157,6 @@
     if (! (m = __glx_getFloatsFromMatrixInto(arrayOf16Floats, &matrix))) RETURN (false);
     SETWIN(aGLXWindowId)
     multmatrix(*m);
-    RETURN (true);
 #endif
 %}
 !
@@ -3187,7 +3166,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     popmatrix();
+#endif
 %}
 !
 
@@ -3196,7 +3178,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pushmatrix();
+#endif
 %}
 ! !
 
@@ -3209,8 +3194,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     gconfig();
-    RETURN (true);
+#endif
 %}
 !
 
@@ -3414,27 +3401,22 @@
     "start a NURBS curve def - in real GL only"
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     bgncurve();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBeginSurfaceIn:aGLXWindowId
     "start a NURBS surface def - in real GL only"
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     bgnsurface();
-    RETURN (true);
-#endif
-%}.
-    ^ false
+#endif
+%}
 !
 
 glxDefBasis:id mat:aMatrix in:aGLXWindowId
@@ -3450,11 +3432,9 @@
     if (__isSmallInteger(id)) {
 	SETWIN(aGLXWindowId)
 	defbasis((short)(__intVal(id)), *m);
-	RETURN (true);
     }
 #endif
-%}.
-    ^ false
+%}
 
     "Modified: 19.3.1996 / 18:52:56 / cg"
 !
@@ -3463,26 +3443,22 @@
     "end a NURBS curve def - in real GL only"
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     endcurve();
-    RETURN (true);
-#endif
-%}.
-    ^ false
+#endif
+%}
 !
 
 glxEndSurfaceIn:aGLXWindowId
     "end a NURBS surface def - in real GL only"
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     endsurface();
-    RETURN (true);
-#endif
-%}.
-    ^ false
+#endif
+%}
 !
 
 glxNurbsSurfaceUKnotCount: uKnotCount uKnot: uKnot 
@@ -3533,11 +3509,12 @@
 %{  /* NOCONTEXT */
     if (__bothSmallInteger(u, v)) {
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	patchbasis((long)__intVal(u), (long)__intVal(v));
-	RETURN (true);
+#endif
     }
-%}.
-    ^ false
+%}
 
     "Modified: 19.3.1996 / 18:53:18 / cg"
 !
@@ -3548,11 +3525,12 @@
 %{  /* NOCONTEXT */
     if (__bothSmallInteger(u, v)) {
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	patchcurves((long)__intVal(u), (long)__intVal(v));
-	RETURN (true);
+#endif
     }
-%}.
-    ^ false
+%}
 
     "Modified: 19.3.1996 / 18:53:34 / cg"
 !
@@ -3563,11 +3541,12 @@
 %{  /* NOCONTEXT */
     if (__bothSmallInteger(u, v)) {
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	patchprecision((long)__intVal(u), (long)__intVal(v));
-	RETURN (true);
+#endif
     }
-%}.
-    ^ false
+%}
 !
 
 glxPatchX:arrayOf16XFloats y:arrayOf16YFloats z:arrayOf16ZFloats in:aGLXWindowId
@@ -3580,12 +3559,14 @@
     Matrix matrixX, matrixY, matrixZ;
     Matrix *mX, *mY, *mZ;
 
-    if (! (mX = __glx_getFloatsFromMatrixInto(arrayOf16XFloats, &matrixX))) RETURN (false);
-    if (! (mY = __glx_getFloatsFromMatrixInto(arrayOf16YFloats, &matrixY))) RETURN (false);
-    if (! (mZ = __glx_getFloatsFromMatrixInto(arrayOf16ZFloats, &matrixZ))) RETURN (false);
+    if (! (mX = __glx_getFloatsFromMatrixInto(arrayOf16XFloats, &matrixX))) 
+	RETURN (nil);
+    if (! (mY = __glx_getFloatsFromMatrixInto(arrayOf16YFloats, &matrixY))) 
+	RETURN (nil);
+    if (! (mZ = __glx_getFloatsFromMatrixInto(arrayOf16ZFloats, &matrixZ))) 
+	RETURN (nil);
     SETWIN(aGLXWindowId)
     patch(*mX, *mY, *mZ);
-    RETURN (true);
 #endif
 %}
 
@@ -3602,13 +3583,16 @@
     Matrix matrixX, matrixY, matrixZ, matrixW;
     Matrix *mX, *mY, *mZ, *mW;
 
-    if (! (mX = __glx_getFloatsFromMatrixInto(arrayOf16XFloats, &matrixX))) RETURN (false);
-    if (! (mY = __glx_getFloatsFromMatrixInto(arrayOf16YFloats, &matrixY))) RETURN (false);
-    if (! (mZ = __glx_getFloatsFromMatrixInto(arrayOf16ZFloats, &matrixZ))) RETURN (false);
-    if (! (mW = __glx_getFloatsFromMatrixInto(arrayOf16WFloats, &matrixW))) RETURN (false);
+    if (! (mX = __glx_getFloatsFromMatrixInto(arrayOf16XFloats, &matrixX))) 
+	RETURN (nil);
+    if (! (mY = __glx_getFloatsFromMatrixInto(arrayOf16YFloats, &matrixY))) 
+	RETURN (nil);
+    if (! (mZ = __glx_getFloatsFromMatrixInto(arrayOf16ZFloats, &matrixZ))) 
+	RETURN (nil);
+    if (! (mW = __glx_getFloatsFromMatrixInto(arrayOf16WFloats, &matrixW))) 
+	RETURN (nil);
     SETWIN(aGLXWindowId)
     rpatch(*mX, *mY, *mZ, *mW);
-    RETURN (true);
 #endif
 %}
 
@@ -3629,10 +3613,8 @@
     rectcopy(_screencoordVal(x1), _screencoordVal(y1), 
 	     _screencoordVal(x2), _screencoordVal(y2), 
 	     _screencoordVal(newx), _screencoordVal(newy));
-    RETURN (true);
-#endif
-%}.
-    ^ false
+#endif
+%}
 ! !
 
 !GLXWorkstation methodsFor:'pixel reading'!
@@ -3701,11 +3683,8 @@
     }
 
     readsource(what);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxRectreadX1:x1 y1:y1 x2:x2 y2:y2 h:viewHeight to:dest in:aGLXWindowId
@@ -3785,7 +3764,7 @@
 
 %{
 #ifdef VGL
-    if (__isSmallInteger(x) && __isSmallInteger(y)) {
+    if (__bothSmallInteger(x, y)) {
 	SETWIN(aGLXWindowId)
 	RETURN (__MKSMALLINT(X11_getPixel(__intVal(x), __intVal(y))));
     }
@@ -3802,15 +3781,14 @@
     "plot a point in x, y, 0."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Coord c_x, c_y;
 
     _COORD_ (x, c_x)
     _COORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pnt2(c_x, c_y);
-    RETURN (true);
 #endif
 %}
 
@@ -3821,15 +3799,14 @@
     "plot a point in x, y, 0."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Icoord c_x, c_y;
 
     _ICOORD_ (x, c_x)
     _ICOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pnt2i(c_x, c_y);
-    RETURN (true);
 #endif
 %}
 
@@ -3840,15 +3817,14 @@
     "plot a point in x, y, 0."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Scoord c_x, c_y;
 
     _SCOORD_ (x, c_x)
     _SCOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pnt2s(c_x, c_y);
-    RETURN (true);
 #endif
 %}
 
@@ -3859,16 +3835,15 @@
     "plot a point in x, y, z."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Coord c_x, c_y, c_z;
 
     _COORD_ (x, c_x)
     _COORD_ (y, c_y)
     _COORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pnt(c_x, c_y, c_z);
-    RETURN (true);
 #endif
 %}
 
@@ -3879,16 +3854,15 @@
     "plot a point in x, y, z."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Icoord c_x, c_y, c_z;
 
     _ICOORD_ (x, c_x)
     _ICOORD_ (y, c_y)
     _ICOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pnti(c_x, c_y, c_z);
-    RETURN (true);
 #endif
 %}
 
@@ -3899,16 +3873,15 @@
     "plot a point in x, y, z."
 
 %{  /* NOCONTEXT */
-#ifdef OPENGL
-#else
     Scoord c_x, c_y, c_z;
 
     _SCOORD_ (x, c_x)
     _SCOORD_ (y, c_y)
     _SCOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pnts(c_x, c_y, c_z);
-    RETURN (true);
 #endif
 %}
 
@@ -3918,27 +3891,21 @@
 glxPntsize: n in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     pntsize(_shortVal(n));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxPntsizef: n in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     pntsizef(_floatVal(n));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 ! !
 
 !GLXWorkstation methodsFor:'polygons'!
@@ -3949,8 +3916,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     backface(_booleanVal(b));
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:26:50 / cg"
@@ -3961,8 +3930,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     concave(_booleanVal(b));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -3974,13 +3945,11 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     frontface(_booleanVal(b));
-    RETURN (true);
-%}
-.
-    ^ false
-
-    "Modified: 19.3.1996 / 18:27:50 / cg"
+#endif
+%}
 !
 
 glxPdr2X: x y: y in: aGLXWindowId
@@ -3992,11 +3961,11 @@
     _COORD_ (x, c_x)
     _COORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pdr2(c_x, c_y);
-    RETURN (true);
-%}
-
-    "Modified: 19.3.1996 / 18:33:09 / cg"
+#endif
+%}
 !
 
 glxPdr2iX: x y: y in: aGLXWindowId
@@ -4008,8 +3977,10 @@
     _ICOORD_ (x, c_x)
     _ICOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pdr2i(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:33:28 / cg"
@@ -4024,8 +3995,10 @@
     _SCOORD_ (x, c_x)
     _SCOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pdr2s(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:34:03 / cg"
@@ -4041,8 +4014,10 @@
     _COORD_ (y, c_y)
     _COORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pdr(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:34:06 / cg"
@@ -4058,8 +4033,10 @@
     _ICOORD_ (y, c_y)
     _ICOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pdri(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:34:11 / cg"
@@ -4075,8 +4052,10 @@
     _SCOORD_ (y, c_y)
     _SCOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pdrs(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:34:14 / cg"
@@ -4091,8 +4070,10 @@
     _COORD_ (x, c_x)
     _COORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pmv2(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:32:45 / cg"
@@ -4107,8 +4088,10 @@
     _ICOORD_ (x, c_x)
     _ICOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pmv2i(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:32:42 / cg"
@@ -4123,8 +4106,10 @@
     _SCOORD_ (x, c_x)
     _SCOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pmv2s(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:32:38 / cg"
@@ -4140,8 +4125,10 @@
     _COORD_ (y, c_y)
     _COORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pmv(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:31:52 / cg"
@@ -4157,8 +4144,10 @@
     _ICOORD_ (y, c_y)
     _ICOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pmvi(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:31:59 / cg"
@@ -4174,8 +4163,10 @@
     _SCOORD_ (y, c_y)
     _SCOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pmvs(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:32:03 / cg"
@@ -4187,8 +4178,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     polymode(_longVal(mode));
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:29:32 / cg"
@@ -4203,8 +4196,10 @@
     _COORD_ (x, c_x)
     _COORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpdr2(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:34:31 / cg"
@@ -4219,8 +4214,10 @@
     _ICOORD_ (x, c_x)
     _ICOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpdr2i(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:34:36 / cg"
@@ -4235,8 +4232,10 @@
     _SCOORD_ (x, c_x)
     _SCOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpdr2s(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:34:40 / cg"
@@ -4252,8 +4251,10 @@
     _COORD_ (y, c_y)
     _COORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpdr(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:34:48 / cg"
@@ -4269,8 +4270,10 @@
     _ICOORD_ (y, c_y)
     _ICOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpdri(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:34:51 / cg"
@@ -4286,8 +4289,10 @@
     _SCOORD_ (y, c_y)
     _SCOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpdrs(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:34:55 / cg"
@@ -4302,8 +4307,10 @@
     _COORD_ (x, c_x)
     _COORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpmv2(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:37:15 / cg"
@@ -4318,8 +4325,10 @@
     _ICOORD_ (x, c_x)
     _ICOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpmv2i(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:37:20 / cg"
@@ -4334,8 +4343,10 @@
     _SCOORD_ (x, c_x)
     _SCOORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpmv2s(c_x, c_y);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:38:06 / cg"
@@ -4351,8 +4362,10 @@
     _COORD_ (y, c_y)
     _COORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpmv(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:38:03 / cg"
@@ -4368,8 +4381,10 @@
     _ICOORD_ (y, c_y)
     _ICOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpmvi(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:37:53 / cg"
@@ -4385,8 +4400,10 @@
     _SCOORD_ (y, c_y)
     _SCOORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rpmvs(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:37:58 / cg"
@@ -4403,14 +4420,17 @@
 #ifdef VGL
     RETURN (__MKSTRING("vogl"));
 #else
+# ifdef GLX
     char buffer[128];
 
     if (_INST(glOK) == true) {
 	gversion(buffer);
 	RETURN (__MKSTRING(buffer));
-    } else {
-	RETURN (nil);
     }
+    RETURN (nil);
+# else
+    RETURN (nil);
+# endif
 #endif
 %}
 
@@ -4423,13 +4443,13 @@
     "Returns the number if bit planes available on the device."
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     RETURN (__MKSMALLINT(getplanes()));
 #endif
-%}
-.
-    ^ false
+%}.
+    ^ 0
 
     "Modified: 19.3.1996 / 18:50:44 / cg"
 !
@@ -4447,13 +4467,30 @@
 !
 
 isTrueGL
-    "return true, if this is a true GL (as opposed to a simulated VOGL)"
+    "return true, if this is a true GL (as opposed to a simulated VOGL).
+     Returns false for all openGL systems."
 
 %{  /* NOCONTEXT */
 #ifdef VGL
     RETURN ( false );
 #else
+# ifdef GLX
     RETURN ( true );
+# else
+    RETURN (false);
+# endif
+#endif
+%}
+!
+
+isOpenGL
+    "return true, if this is an openGL (as opposed to a GL)"
+
+%{  /* NOCONTEXT */
+#ifdef OPENGL
+    RETURN ( true );
+#else
+    RETURN ( false );
 #endif
 %}
 !
@@ -4461,7 +4498,8 @@
 maxZValue
     "return the max. Z value (only valid if z-buffer is supported)"
 %{  
-#ifdef GLX
+#ifndef OPENGL
+# ifdef GD_ZMAX
     long zMax;
 
     if (_INST(glOK) == true) {
@@ -4472,6 +4510,7 @@
 	}
 	RETURN ( __MKLARGEINT(zMax) );
     }
+# endif
 #endif
 %}.
     ^ nil
@@ -4484,10 +4523,16 @@
 
 %{  /* NOCONTEXT */
 
-#ifdef GLX
+#ifndef OPENGL
+# ifdef VGL
+    RETURN (true);
+# else
+#  ifdef GD_BITS_NORM_DBL_RED
     if (getgdesc(GD_BITS_NORM_DBL_RED) != 0) {
 	RETURN ( _INST(glOK) );
     }
+#  endif
+# endif
 #endif
 %}.
     ^ false
@@ -4551,10 +4596,12 @@
      if the display supports GL drawing at all."
 
 %{  /* NOCONTEXT */
-#ifdef GLX
+#ifndef OPENGL
+# ifdef GD_TEXTURE
     if (getgdesc(GD_TEXTURE) != 0) {
 	RETURN ( _INST(glOK) );
     }
+# endif
 #endif
 %}.
     ^ false
@@ -4571,10 +4618,12 @@
 
 %{  /* NOCONTEXT */
 
-#ifdef GLX
+#ifndef OPENGL
+# ifdef GD_BITS_NORM_ZBUFFER
     if (getgdesc(GD_BITS_NORM_ZBUFFER) != 0) {
 	RETURN ( _INST(glOK) );
     }
+# endif
 #endif
 %}.
     ^ false
@@ -4590,8 +4639,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rect(_coordVal(x1), _coordVal(y1), _coordVal(x2), _coordVal(y2));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -4599,8 +4650,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rectf(_coordVal(x1), _coordVal(y1), _coordVal(x2), _coordVal(y2));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -4608,8 +4661,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rectfi(_icoordVal(x1), _icoordVal(y1), _icoordVal(x2), _icoordVal(y2));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -4617,8 +4672,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rectfs(_scoordVal(x1), _scoordVal(y1), _scoordVal(x2), _scoordVal(y2));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -4626,8 +4683,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     recti(_icoordVal(x1), _icoordVal(y1), _icoordVal(x2), _icoordVal(y2));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -4635,8 +4694,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rects(_scoordVal(x1), _scoordVal(y1), _scoordVal(x2), _scoordVal(y2));
-    RETURN (true);
+#endif
 %}
 ! !
 
@@ -4653,11 +4714,8 @@
     if (! (v = __glx_getFloatsFromInto(arrayOf4Floats, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
     sphdraw(v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxSphDrawX:x y:y z:z radius:r in:aGLXWindowId
@@ -4673,11 +4731,8 @@
     _FLOAT_(r, vec[3])
     SETWIN(aGLXWindowId)
     sphdraw(vec);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxSphfreeIn: aGLXWindowId
@@ -4686,11 +4741,8 @@
 #ifdef GLX
     SETWIN(aGLXWindowId)
     sphfree();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxSphgnpolysIn: aGLXWindowId
@@ -4701,8 +4753,6 @@
     RETURN (__MKSMALLINT(sphgnpolys()));
 #endif
 %}
-.
-    ^ false
 !
 
 glxSphmode: attribute value: value in: aGLXWindowId
@@ -4711,11 +4761,8 @@
 #ifdef GLX
     SETWIN(aGLXWindowId)
     sphmode(__intVal(attribute), __intVal(value));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxSphobj: objid in: aGLXWindowId
@@ -4724,11 +4771,8 @@
 #ifdef GLX
     SETWIN(aGLXWindowId)
     sphobj(_objectVal(objid));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxSphrotmatrix: mat in: aGLXWindowId
@@ -4740,11 +4784,8 @@
     if (! (m = __glx_getFloatsFromMatrixInto(mat, &matrix))) RETURN (false);
     SETWIN(aGLXWindowId)
     sphrotmatrix(*m);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 ! !
 
 !GLXWorkstation methodsFor:'stereo extension'!
@@ -4755,11 +4796,8 @@
 #ifdef FULL_GLX
     SETWIN(aGLXWindowId)
     leftbuffer(_booleanVal(bool));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxMonobufferIn: aGLXWindowId
@@ -4768,11 +4806,8 @@
 #ifdef FULL_GLX
     SETWIN(aGLXWindowId)
     monobuffer();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxRightbuffer: bool in: aGLXWindowId
@@ -4781,11 +4816,8 @@
 #ifdef FULL_GLX
     SETWIN(aGLXWindowId)
     rightbuffer(_booleanVal(bool));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 stereoExtensionBuffer:aBufferSymbol for:aWindowId
@@ -4957,11 +4989,8 @@
     if (! (c_v = __glx_getDoublesFromInto(v, vec, 2))) RETURN(false);
     SETWIN(aGLXWindowId)
     t2d(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT2f: v in: aGLXWindowId
@@ -4973,11 +5002,8 @@
     if (! (c_v = __glx_getFloatsFromInto(v, vec, 2))) RETURN(false);
     SETWIN(aGLXWindowId)
     t2f(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT2i: v in: aGLXWindowId
@@ -4989,11 +5015,8 @@
     if (! (c_v = __glx_getLongsFromInto(v, vec, 2))) RETURN(false);
     SETWIN(aGLXWindowId)
     t2i(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT2s: v in: aGLXWindowId
@@ -5005,11 +5028,8 @@
     if (! (c_v = __glx_getShortsFromInto(v, vec, 2))) RETURN(false);
     SETWIN(aGLXWindowId)
     t2s(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT3d:v in:aGLXWindowId
@@ -5021,11 +5041,8 @@
     if (! (c_v = __glx_getDoublesFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
     t3d(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT3f:v in:aGLXWindowId
@@ -5037,11 +5054,8 @@
     if (! (c_v = __glx_getFloatsFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
     t3f(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT3i:v in:aGLXWindowId
@@ -5053,11 +5067,8 @@
     if (! (c_v = __glx_getLongsFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
     t3i(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT3s:v in:aGLXWindowId
@@ -5069,11 +5080,8 @@
     if (! (c_v = __glx_getShortsFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
     t3s(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT4d: v in: aGLXWindowId
@@ -5085,11 +5093,8 @@
     if (! (c_v = __glx_getDoublesFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
     t4d(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT4f: v in: aGLXWindowId
@@ -5101,11 +5106,8 @@
     if (! (c_v = __glx_getFloatsFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
     t4f(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT4i: v in: aGLXWindowId
@@ -5117,11 +5119,8 @@
     if (! (c_v = __glx_getLongsFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
     t4i(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxT4s: v in: aGLXWindowId
@@ -5133,11 +5132,8 @@
     if (! (c_v = __glx_getShortsFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
     t4s(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 ! !
 
 !GLXWorkstation methodsFor:'transformations'!
@@ -5177,10 +5173,12 @@
     if (! (v = __glx_getFloatsFromInto(arrayOf3Floats, vec, 3))) RETURN(false);
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     rot(v[0], 'x');
     rot(v[1], 'y');
     rot(v[2], 'z');
-    RETURN (true);
+#endif
 %}
 !
 
@@ -5205,12 +5203,12 @@
 
     if (__isSmallInteger(angle)) {
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rotate(__intVal(angle), c_axis);
-	RETURN (true);
+#endif
     }
 %}
-.
-    ^ false
 !
 
 glxRotateIX:angle in:aGLXWindowId
@@ -5221,12 +5219,12 @@
 
     if (__isSmallInteger(angle)) {
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rotate(__intVal(angle), 'x');
-	RETURN (true);
+#endif
     }
 %}
-.
-    ^ false
 !
 
 glxRotateIX:xAngle y:yAngle z:zAngle in:aGLXWindowId
@@ -5238,14 +5236,14 @@
     if (__bothSmallInteger(xAngle, yAngle)
      && __isSmallInteger(zAngle)) {
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rotate(__intVal(xAngle), 'x');
 	rotate(__intVal(yAngle), 'y');
 	rotate(__intVal(zAngle), 'z');
-	RETURN (true);
+#endif
     }
 %}
-.
-    ^ false
 !
 
 glxRotateIY:angle in:aGLXWindowId
@@ -5256,12 +5254,12 @@
 
     if (__isSmallInteger(angle)) {
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rotate(__intVal(angle), 'y');
-	RETURN (true);
+#endif
     }
 %}
-.
-    ^ false
 !
 
 glxRotateIZ:angle in:aGLXWindowId
@@ -5272,12 +5270,12 @@
 
     if (__isSmallInteger(angle)) {
 	SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
 	rotate(__intVal(angle), 'z');
-	RETURN (true);
+#endif
     }
 %}
-.
-    ^ false
 !
 
 glxRotateX:angle in:aGLXWindowId
@@ -5304,8 +5302,6 @@
 	}
     }
 %}
-.
-    ^ false
 !
 
 glxRotateY:angle in:aGLXWindowId
@@ -5340,8 +5336,10 @@
     if (! (v = __glx_getFloatsFromInto(arrayOf3Floats, vec, 3))) RETURN(false);
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     scale(v[0], v[1], v[2]);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -5354,8 +5352,10 @@
 
     _FLOAT_ (x, f_x)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     scale(f_x, (float)0, (float)0);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -5370,8 +5370,10 @@
     _FLOAT_ (y, f_y)
     _FLOAT_ (z, f_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     scale(f_x, f_y, f_z);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -5384,8 +5386,10 @@
 
     _FLOAT_ (y, f_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     scale((float)0, f_y, (float)0);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -5398,8 +5402,10 @@
 
     _FLOAT_ (z, f_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     scale((float)0, (float)0, f_z);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -5413,8 +5419,10 @@
     if (! (v = __glx_getFloatsFromInto(arrayOf3Floats, vec, 3))) RETURN(false);
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     translate((Coord)(v[0]), (Coord)(v[1]), (Coord)(v[2]));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -5427,8 +5435,10 @@
 
     _COORD_ (x, c_x)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     translate(c_x, (Coord)0, (Coord)0);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -5443,8 +5453,10 @@
     _COORD_ (y, c_y)
     _COORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     translate(c_x, c_y, c_z);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -5457,8 +5469,10 @@
 
     _COORD_ (y, c_y)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     translate((Coord)0, c_y, (Coord)0);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -5471,8 +5485,10 @@
 
     _COORD_ (z, c_z)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     translate((Coord)0, (Coord)0, c_z);
-    RETURN (true);
+#endif
 %}
 ! !
 
@@ -5481,46 +5497,36 @@
 glxAcbufOp:op value:value in:aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     acbuf(__intVal(op), _floatVal(value));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxAcsizePlanes: planes in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     acsize(__intVal(planes));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxAfunctionRef: ref func: func in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     afunction(__intVal(ref), __intVal(func));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBbox2Xmin: xmin ymin: ymin x1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
     Screencoord c_xmin, c_ymin;
     Coord c_x1, c_y1, c_x2, c_y2; 
 
@@ -5531,18 +5537,15 @@
     _COORD_ (x2, c_x2)
     _COORD_ (y2, c_y2)
     SETWIN(aGLXWindowId)
+#ifdef GLX
     bbox2(c_xmin, c_ymin, c_x1, c_y1, c_x2, c_y2);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBbox2iXmin: xmin ymin: ymin x1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
     Screencoord c_xmin, c_ymin;
     Icoord c_x1, c_y1, c_x2, c_y2; 
 
@@ -5553,18 +5556,15 @@
     _ICOORD_ (x2, c_x2)
     _ICOORD_ (y2, c_y2)
     SETWIN(aGLXWindowId)
+#ifdef GLX
     bbox2i(c_xmin, c_ymin, c_x1, c_y1, c_x2, c_y2);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBbox2sXmin: xmin ymin: ymin x1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
     Screencoord c_xmin, c_ymin;
     Scoord c_x1, c_y1, c_x2, c_y2; 
 
@@ -5575,241 +5575,195 @@
     _SCOORD_ (x2, c_x2)
     _SCOORD_ (y2, c_y2)
     SETWIN(aGLXWindowId)
+#ifdef GLX
     bbox2s(c_xmin, c_ymin, c_x1, c_y1, c_x2, c_y2);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBeginTrimIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     bgntrim();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBlankscreen: b in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     blankscreen(_booleanVal(b));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBlanktime: count in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     blanktime(__intVal(count));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBlendcolorRed: red green: green blue: blue alpha: alpha in: aGLXWindowId
 
 %{  /* NOCONTEXT */
+    SETWIN(aGLXWindowId)
 #ifdef FULL_GLX
-    SETWIN(aGLXWindowId)
     blendcolor(_floatVal(red), _floatVal(green), _floatVal(blue), _floatVal(alpha)); 
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBlendfunctionSfactr: sfactr dfactr: dfactr in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     blendfunction(__intVal(sfactr), __intVal(dfactr));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBlinkRate: rate i: i red: red green: green blue: blue in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     blink(_shortVal(rate), _colorindexVal(i), 
 	  _shortVal(red), _shortVal(green), _shortVal(blue));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxBlkqreadData: data n: n in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
-    RETURN (__MKSMALLINT(blkqread((short *)_indexedArea(data), __intVal(n))));
-#endif
-%}
-.
-    ^ false
+    int rslt = -1;
+
+    SETWIN(aGLXWindowId)
+#ifdef GLX
+    rslt = blkqread((short *)_indexedArea(data), __intVal(n));
+#endif
+    RETURN (__MKSMALLINT(rslt));
+%}
 !
 
 glxC3f: v in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
     float vec[3], *c_v;
 
     if (! (c_v = __glx_getFloatsFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef GLX
     c3f(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxC3i: v in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
     long vec[3], *c_v;
 
     if (! (c_v = __glx_getLongsFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef GLX
     c3i(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxC3s: v in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
     short vec[3], *c_v;
 
     if (! (c_v = __glx_getShortsFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef GLX
     c3s(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxC4f: v in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
     float vec[4], *c_v;
 
     if (! (c_v = __glx_getFloatsFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef GLX
     c4f(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxC4i: v in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
     long vec[4], *c_v;
 
     if (! (c_v = __glx_getLongsFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef GLX
     c4i(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxC4s: v in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
     short vec[4], *c_v;
 
     if (! (c_v = __glx_getShortsFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef GLX
     c4s(c_v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxClearhitcodeIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     clearhitcode();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxClipplaneIndex: index mode: mode params: params in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
     float vec[4], *v;
 
     if (! (v = __glx_getFloatsFromInto(params, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef GLX
     clipplane(__intVal(index), __intVal(mode), v);
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxCmodeIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     cmode();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxColorfIndex: index in: aGLXWindowId
@@ -5820,217 +5774,170 @@
 glxCuroriginN: n xorigin: xorigin yorigin: yorigin in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     curorigin(_shortVal(n), _shortVal(xorigin), _shortVal(yorigin));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxCursoffIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     cursoff();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxCursonIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     curson();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxCurstype: type in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     curstype(__intVal(type));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxCyclemapDuration: duration map: map nxtmap: nxtmap in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     cyclemap(_shortVal(duration), _shortVal(map), _shortVal(nxtmap));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxDefpatternN: n size: size mask: mask in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     defpattern(_shortVal(n), _shortVal(size), (unsigned short *)_indexedArea(mask));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxDeltag: t in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     deltag(_tagVal(t));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxDepthcueMode: mode in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     depthcue(_booleanVal(mode));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxDitherMode: mode in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     dither(_longVal(mode));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxDopup: pup in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     dopup(_longVal(pup));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxDrawmode: mode in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     drawmode(_longVal(mode));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxEditobj: obj in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     editobj(_objectVal(obj));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxEndTrimIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     endtrim();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxEndfullscrnIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     endfullscrn();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxEndpupmodeIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     endpupmode();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxFinishIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     finish();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxFont: fntnum in: aGLXWindowId
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef GLX
     font(_shortVal(fntnum));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -6038,127 +5945,131 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     foreground();
-    RETURN (true);
+#endif
 %}
 !
 
 glxFreepup: pup in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     freepup(_longVal(pup));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxFudgeXfudge: xfudge yfudge: yfudge in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     fudge(_longVal(xfudge), _longVal(yfudge));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxFullscrnIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     fullscrn();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxGbeginIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef GLX
     gbegin();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxGentagIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
-    RETURN (__MKSMALLINT(gentag()));
-#endif
-%}
-.
-    ^ false
+    int rslt = -1;
+
+#ifdef GLX
+    SETWIN(aGLXWindowId)
+    rslt = gentag();
+#endif
+    RETURN (__MKSMALLINT(rslt));
+%}
 !
 
 glxGetbackfaceIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
-    RETURN (__MKSMALLINT(getbackface()));
-#endif
-%}
-.
-    ^ false
+    int rslt = -1;
+
+#ifdef GLX
+    SETWIN(aGLXWindowId)
+    rslt = getbackface();
+#endif
+    RETURN (__MKSMALLINT(rslt));
+%}
 !
 
 glxGetbufferIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
-    RETURN (__MKSMALLINT(getbuffer()));
-#endif
-%}
-.
-    ^ false
+    int rslt = -1;
+
+#ifdef GLX
+    SETWIN(aGLXWindowId)
+    rslt = getbuffer();
+#endif
+    RETURN (__MKSMALLINT(rslt));
+%}
 !
 
 glxGetbutton: num in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifndef OPENGL
-    SETWIN(aGLXWindowId)
-    RETURN (__MKSMALLINT(getbutton(_deviceVal(num))));
-#endif
+    int rslt = -1;
+
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
+    rslt = getbutton(_deviceVal(num));
+#endif
+    RETURN (__MKSMALLINT(rslt));
 %}
 !
 
 glxGetcmmodeIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
-    RETURN (__MKBOOLEAN(getcmmode()));
-#endif
-%}
-.
-    ^ false
+    int rslt = 0;
+
+    SETWIN(aGLXWindowId)
+#ifdef GLX
+    rslt = getcmmode();
+#endif
+    RETURN (__MKBOOLEAN(rslt));
+%}
 !
 
 glxGetcolorIn: aGLXWindowId
     "return the current drawing color"
 
 %{  /* NOCONTEXT */
-    SETWIN(aGLXWindowId)
-    RETURN (__MKSMALLINT(getcolor()));
+    int rslt = -1;
+
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
+    rslt = getcolor();
+#endif
+    RETURN (__MKSMALLINT(rslt));
 %}
 !
 
@@ -6237,16 +6148,28 @@
 glxGetgdescInquiry: inquiry in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-    SETWIN(aGLXWindowId)
-    RETURN (__MKSMALLINT(getgdesc(_longVal(inquiry))));
+    int rslt = 0;
+
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
+    rslt = getgdesc(_longVal(inquiry));
+#endif
+    RETURN (__MKSMALLINT(rslt));
 %}
 !
 
 glxGetheightIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-    SETWIN(aGLXWindowId)
-    RETURN (__MKSMALLINT(getheight()));
+    int rslt = 0;
+
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
+    rslt = getheight();
+#endif
+    RETURN (__MKSMALLINT(rslt));
 %}
 !
 
@@ -6481,14 +6404,12 @@
 glxGexitIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     gexit();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxGflushIn: aGLXWindowId
@@ -6497,24 +6418,19 @@
 #ifdef GLX
     SETWIN(aGLXWindowId)
     gflush();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxGinitIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     ginit();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxGlcompatMode: mode value: value in: aGLXWindowId
@@ -6523,11 +6439,8 @@
 #ifdef GLX
     SETWIN(aGLXWindowId)
     glcompat(_longVal(mode), _longVal(value));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxGresetIn: aGLXWindowId
@@ -6536,11 +6449,8 @@
 #ifdef GLX
     SETWIN(aGLXWindowId)
     greset();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxGsyncIn: aGLXWindowId
@@ -6549,11 +6459,8 @@
 #ifdef GLX
     SETWIN(aGLXWindowId)
     gsync();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxIconsizeX: x y: y in: aGLXWindowId
@@ -6562,11 +6469,8 @@
 #ifdef GLX
     SETWIN(aGLXWindowId)
     iconsize(_longVal(x), _longVal(y));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxImakebackgroundIn: aGLXWindowId
@@ -6575,11 +6479,8 @@
 #ifdef GLX
     SETWIN(aGLXWindowId)
     imakebackground();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxInitnamesIn: aGLXWindowId
@@ -6588,11 +6489,8 @@
 #ifdef GLX
     SETWIN(aGLXWindowId)
     initnames();
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxIsqueued: dev in: aGLXWindowId
@@ -7128,7 +7026,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     prefposition(_longVal(x1), _longVal(x2), _longVal(y1), _longVal(y2));
+#endif
     RETURN (true);
 %}
 !
@@ -7137,7 +7038,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     prefsize(_longVal(x), _longVal(y));
+#endif
     RETURN (true);
 %}
 !
@@ -7171,10 +7075,10 @@
 glxQdevice: dev in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifndef OPENGL
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     qdevice(_deviceVal(dev));
-    RETURN (true);
 #endif
 %}
 !
@@ -7183,8 +7087,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     qenter(_deviceVal(dev), _shortVal(val));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -7207,8 +7113,11 @@
     short c_data;
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     dev = __MKSMALLINT(qread(&c_data));
     data = __MKSMALLINT(c_data);
+#endif
 %}
 .
     ^ Array with: dev with: data
@@ -7218,7 +7127,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     qreset();
+#endif
     RETURN (true);
 %}
 !
@@ -7226,8 +7138,14 @@
 glxQtestIn: aGLXWindowId
 
 %{  /* NOCONTEXT */
-    SETWIN(aGLXWindowId)
-    RETURN (__MKSMALLINT(qtest()));
+    int rslt = 0;
+
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
+    rslt = qtest();
+#endif
+    RETURN (__MKSMALLINT(rslt));
 %}
 !
 
@@ -7814,14 +7732,12 @@
 glxUnqdevice: dev in: aGLXWindowId
 
 %{  /* NOCONTEXT */
-#ifdef GLX
-    SETWIN(aGLXWindowId)
+    SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     unqdevice(_deviceVal(dev));
-    RETURN (true);
-#endif
-%}
-.
-    ^ false
+#endif
+%}
 !
 
 glxWmpack: pack in: aGLXWindowId
@@ -8040,7 +7956,10 @@
 
     if (! (c_v = __glx_getDoublesFromInto(v, vec, 2))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v2d(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8053,7 +7972,10 @@
 
     if (! (c_v = __glx_getFloatsFromInto(v, vec, 2))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v2f(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8067,7 +7989,10 @@
     _FLOAT_(x, vec[0])
     _FLOAT_(y, vec[1])
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v2f(vec);
+#endif
     RETURN (true);
 %}
 !
@@ -8080,7 +8005,10 @@
 
     if (! (c_v = __glx_getLongsFromInto(v, vec, 2))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v2i(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8093,7 +8021,10 @@
 
     if (! (c_v = __glx_getShortsFromInto(v, vec, 2))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v2s(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8106,7 +8037,10 @@
 
     if (! (c_v = __glx_getDoublesFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v3d(c_v);
+#endif
     RETURN (true);
 %}
 .
@@ -8121,7 +8055,10 @@
 
     if (! (c_v = __glx_getFloatsFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v3f(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8136,7 +8073,10 @@
     _FLOAT_(y, vec[1])
     _FLOAT_(z, vec[2])
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v3f(vec);
+#endif
     RETURN (true);
 %}
 !
@@ -8149,7 +8089,10 @@
 
     if (! (c_v = __glx_getLongsFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v3i(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8162,7 +8105,10 @@
 
     if (! (c_v = __glx_getShortsFromInto(v, vec, 3))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v3s(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8176,7 +8122,10 @@
 
     if (! (c_v = __glx_getDoublesFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v4d(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8190,7 +8139,10 @@
 
     if (! (c_v = __glx_getFloatsFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v4f(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8204,7 +8156,10 @@
 
     if (! (c_v = __glx_getLongsFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v4i(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8218,7 +8173,10 @@
 
     if (! (c_v = __glx_getShortsFromInto(v, vec, 4))) RETURN(false);
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v4s(c_v);
+#endif
     RETURN (true);
 %}
 !
@@ -8232,7 +8190,10 @@
     static float vec[3] = {0.0, 0.0, 0.0};
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v3f(vec);
+#endif
     RETURN (true);
 %}
 !
@@ -8246,7 +8207,10 @@
     static float vec[3] = {1.0, 0.0, 0.0};
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v3f(vec);
+#endif
     RETURN (true);
 %}
 !
@@ -8260,7 +8224,10 @@
     static float vec[3] = {0.0, 1.0, 0.0};
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v3f(vec);
+#endif
     RETURN (true);
 %}
 !
@@ -8274,7 +8241,10 @@
     static float vec[3] = {0.0, 0.0, 1.0};
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     v3f(vec);
+#endif
     RETURN (true);
 %}
 ! !
@@ -8351,8 +8321,10 @@
     _COORD_ (pz, f_pz)
     _ANGLE_ (twist, a_twist)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     lookat(f_vx, f_vy, f_vz, f_px, f_py, f_pz, a_twist);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -8367,10 +8339,11 @@
     _FLOAT_(right, f_right)
     _FLOAT_(bottom, f_bottom)
     _FLOAT_(top, f_top)
+#ifdef OPENGL
+#else
     ortho2(f_left, f_right, f_bottom, f_top);
-%}
-.
-    ^ true
+#endif
+%}
 !
 
 glxOrthoLeft: left right: right bottom: bottom top: top near: near far: far in: aGLXWindowId
@@ -8387,8 +8360,10 @@
     _FLOAT_(near, f_near)
     _FLOAT_(far, f_far)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     ortho(f_left, f_right, f_bottom, f_top, f_near, f_far);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -8407,9 +8382,10 @@
     _COORD_ (far, c_far)
 
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     perspective(a_fovy, f_aspect, c_near, c_far);
-
-    RETURN (true);
+#endif
 %}
 !
 
@@ -8424,8 +8400,10 @@
     _ANGLE_(inc, a_inc)
     _ANGLE_(twist, a_twist)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     polarview(c_dist, a_azim, a_inc, a_twist);
-    RETURN (true);
+#endif
 %}
 !
 
@@ -8434,8 +8412,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     popviewport();
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:58:24 / cg"
@@ -8446,8 +8426,10 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     pushviewport();
-    RETURN (true);
+#endif
 %}
 
     "Modified: 19.3.1996 / 18:58:02 / cg"
@@ -8457,19 +8439,22 @@
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     reshapeviewport();
-%}
-.
-    ^ true
+#endif
+%}
 !
 
 glxViewportLeft:left right:right bottom:bottom top:top in:aGLXWindowId
 
 %{  /* NOCONTEXT */
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     viewport(_screencoordVal(left), _screencoordVal(right), 
 	     _screencoordVal(bottom), _screencoordVal(top));
-    RETURN (true);
+#endif
 %}
 !
 
@@ -8492,9 +8477,10 @@
     _COORD_ (near, c_near)
     _COORD_ (far, c_far)
     SETWIN(aGLXWindowId)
+#ifdef OPENGL
+#else
     window(c_left, c_right, c_bot, c_top, c_near, c_far);
-
-    RETURN (true);
+#endif
 %}
 ! !
 
@@ -8792,5 +8778,5 @@
 !GLXWorkstation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/Attic/GLXWorkstat.st,v 1.67 1997-09-18 20:21:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/Attic/GLXWorkstat.st,v 1.68 1997-10-21 18:20:51 cg Exp $'
 ! !