diff -urEBwb eduke32_src_20080602/build/include/glbuild.h eduke32_src_20080604/build/include/glbuild.h
--- eduke32_src_20080602/build/include/glbuild.h	2008-05-24 02:37:09.250301000 -0700
+++ eduke32_src_20080604/build/include/glbuild.h	2008-06-04 01:58:02.303703000 -0700
@@ -18,10 +18,8 @@
 //#include <GL/glext.h>
 #if defined(__APPLE__)
 # include <OpenGL/glext.h>
-#elif defined(_MSC_VER)
-# include "glext.h"
 #else
-# include "GL/glext.h"
+# include "glext.h"
 #endif
 
 #ifndef GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT
Only in eduke32_src_20080604/build/include: polymer.h
diff -urEBwb eduke32_src_20080602/build/src/build.c eduke32_src_20080604/build/src/build.c
--- eduke32_src_20080602/build/src/build.c	2008-05-31 18:57:01.343137000 -0700
+++ eduke32_src_20080604/build/src/build.c	2008-06-03 00:54:20.085594000 -0700
@@ -4475,6 +4475,23 @@
             posy = mousyplc;
         }
 
+        if (circlewall != -1 && (keystatus[0x4a] || (bstatus&32 && !(keystatus[0x1d]|keystatus[0x9d]))))  // -
+        {
+            if (circlepoints > 1)
+                circlepoints--;
+            keystatus[0x4a] = 0;
+            mouseb &= ~32;
+            bstatus &= ~32;
+        }
+        if (circlewall != -1 && (keystatus[0x4e] || (bstatus&16 && !(keystatus[0x1d]|keystatus[0x9d]))))  // +
+        {
+            if (circlepoints < 63)
+                circlepoints++;
+            keystatus[0x4e] = 0;
+            mouseb &= ~16;
+            bstatus &= ~16;
+        }
+
         if ((keystatus[buildkeys[BK_MOVEUP]] || (bstatus&16)) && (zoom < 16384))
         {
             zoom += synctics*(zoom>>4);
@@ -4821,18 +4838,6 @@
             }
             keystatus[0x2e] = 0;
         }
-        if (keystatus[0x4a])  // -
-        {
-            if (circlepoints > 1)
-                circlepoints--;
-            keystatus[0x4a] = 0;
-        }
-        if (keystatus[0x4e])  // +
-        {
-            if (circlepoints < 63)
-                circlepoints++;
-            keystatus[0x4e] = 0;
-        }
 
         bad = (keystatus[0x39]);  //Gotta do this to save lots of 3 spaces!
 
diff -urEBwb eduke32_src_20080602/build/src/engine.c eduke32_src_20080604/build/src/engine.c
--- eduke32_src_20080602/build/src/engine.c	2008-06-02 23:59:47.357167593 -0700
+++ eduke32_src_20080604/build/src/engine.c	2008-06-04 02:39:16.900643564 -0700
@@ -7591,7 +7591,8 @@
         Bwrite(fil,&tsect[0],sizeof(sectortype) * numsectors);
         Bfree(tsect);
 
-        ts = B_LITTLE16(numwalls);      Bwrite(fil,&ts,2);
+        ts = B_LITTLE16(numwalls);
+        Bwrite(fil,&ts,2);
 
         twall = (walltype *)Bmalloc(sizeof(walltype) * numwalls);
 
@@ -7629,7 +7630,7 @@
 
         spri=tspri;
 
-        for (j=0;j<MAXSPRITES;j++)
+        for (j=0;j<numsprites;j++)
         {
             if (sprite[j].statnum != MAXSTATUS)
             {
Only in eduke32_src_20080604/build/src: engine.c.orig
Only in eduke32_src_20080604/build/src: polymer.c
diff -urEBwb eduke32_src_20080602/eduke32/source/astub.c eduke32_src_20080604/eduke32/source/astub.c
--- eduke32_src_20080602/eduke32/source/astub.c	2008-06-02 14:35:51.348948000 -0700
+++ eduke32_src_20080604/eduke32/source/astub.c	2008-06-04 00:38:11.826798000 -0700
@@ -2624,6 +2624,9 @@
             {
                 if (wall[i].picnum == temppicnum) count++;
                 if (wall[i].overpicnum == temppicnum) count++;
+            }
+            for (i=0;i<numsectors;i++)
+            {
                 if (sector[i].ceilingpicnum == temppicnum) count++;
                 if (sector[i].floorpicnum == temppicnum) count++;
             }
diff -urEBwb eduke32_src_20080602/eduke32/source/config.c eduke32_src_20080604/eduke32/source/config.c
--- eduke32_src_20080602/eduke32/source/config.c	2008-05-31 18:57:01.343137000 -0700
+++ eduke32_src_20080604/eduke32/source/config.c	2008-06-04 01:58:02.303703000 -0700
@@ -576,7 +576,7 @@
             tempbuf[Bstrlen(tempbuf)-1] = '\0';
 
         Bstrncpy(myname,tempbuf,sizeof(myname)-1);
-        myname[sizeof(myname)] = '\0';
+        myname[sizeof(myname)-1] = '\0';
 
         SCRIPT_GetString(ud.config.scripthandle, "Comm Setup","RTSName",&ud.rtsname[0]);
 
diff -urEBwb eduke32_src_20080602/eduke32/source/game.c eduke32_src_20080604/eduke32/source/game.c
--- eduke32_src_20080602/eduke32/source/game.c	2008-06-02 23:57:47.508488284 -0700
+++ eduke32_src_20080604/eduke32/source/game.c	2008-06-04 02:39:16.917641114 -0700
@@ -9865,7 +9865,7 @@
             tempbuf[Bstrlen(tempbuf)-1] = '\0';
 
         Bstrncpy(myname,tempbuf,sizeof(myname)-1);
-        myname[sizeof(myname)] = '\0';
+        myname[sizeof(myname)-1] = '\0';
     }
 
     if (CommandMap)
diff -urEBwb eduke32_src_20080602/eduke32/source/gameexec.c eduke32_src_20080604/eduke32/source/gameexec.c
--- eduke32_src_20080602/eduke32/source/gameexec.c	2008-06-02 23:58:14.209628747 -0700
+++ eduke32_src_20080604/eduke32/source/gameexec.c	2008-06-04 02:39:16.953635089 -0700
@@ -1912,10 +1912,10 @@
     case PLAYER_WEAPRECS:
         if (iSet)
         {
-            g_player[iPlayer].ps->weaprecs[16]=lValue;
+            g_player[iPlayer].ps->weaprecs[15]=lValue;
             return;
         }
-        SetGameVarID(lVar2, g_player[iPlayer].ps->weaprecs[16], g_i, g_p);
+        SetGameVarID(lVar2, g_player[iPlayer].ps->weaprecs[15], g_i, g_p);
         return;
 
     case PLAYER_WEAPRECCNT:
@@ -2143,14 +2143,14 @@
         SetGameVarID(lVar2, g_player[iPlayer].ps->on_ground, g_i, g_p);
         return;
 
-    case PLAYER_NAME:
+/*    case PLAYER_NAME:
         if (iSet)
         {
             g_player[iPlayer].ps->name[32]=lValue;
             return;
         }
         SetGameVarID(lVar2, g_player[iPlayer].ps->name[32], g_i, g_p);
-        return;
+        return;*/
 
     case PLAYER_INVEN_ICON:
         if (iSet)
@@ -6674,14 +6674,15 @@
             // syntax [gs]etactorvar[<var>].<varx> <VAR>
             // gets the value of the per-actor variable varx into VAR
             // <var> <varx> <VAR>
-            int lSprite=GetGameVarID(*insptr++, g_i, g_p), lVar1=*insptr++, lVar2=*insptr++;
+            int lSprite=GetGameVarID(*insptr++, g_i, g_p), lVar1=*insptr++;
+            j=*insptr++;
 
             if (tw == CON_SETACTORVAR)
             {
-                SetGameVarID(lVar1, GetGameVarID(lVar2, g_i, g_p), lSprite, g_p);
+                SetGameVarID(lVar1, GetGameVarID(j, g_i, g_p), lSprite, g_p);
                 break;
             }
-            SetGameVarID(lVar2, GetGameVarID(lVar1, lSprite, g_p), g_i, g_p);
+            SetGameVarID(j, GetGameVarID(lVar1, lSprite, g_p), g_i, g_p);
             break;
         }
 
diff -urEBwb eduke32_src_20080602/eduke32/source/osdcmds.c eduke32_src_20080604/eduke32/source/osdcmds.c
--- eduke32_src_20080602/eduke32/source/osdcmds.c	2008-06-02 23:57:36.370106322 -0700
+++ eduke32_src_20080604/eduke32/source/osdcmds.c	2008-06-04 02:39:16.954636621 -0700
@@ -933,7 +933,7 @@
         tempbuf[Bstrlen(tempbuf)-1] = '\0';
 
     Bstrncpy(myname,tempbuf,sizeof(myname)-1);
-    myname[sizeof(myname)] = '\0';
+    myname[sizeof(myname)-1] = '\0';
 
     OSD_Printf("name %s\n",myname);
 
