Index: code/q3_ui/ui_mods.c
===================================================================
--- code/q3_ui/ui_mods.c	(revision 1108)
+++ code/q3_ui/ui_mods.c	(working copy)
@@ -161,7 +161,7 @@
 
 	// always start off with baseq3
 	s_mods.list.numitems = 1;
-	s_mods.list.itemnames[0] = s_mods.descriptionList[0] = "Quake III Arena";
+	s_mods.list.itemnames[0] = s_mods.descriptionList[0] = "OpenArena";
 	s_mods.fs_gameList[0] = "";
 
 	numdirs = trap_FS_GetFileList( "$modlist", "", dirlist, sizeof(dirlist) );
Index: code/unix/unix_shared.c
===================================================================
--- code/unix/unix_shared.c	(revision 1108)
+++ code/unix/unix_shared.c	(working copy)
@@ -407,9 +407,9 @@
 	if ((p = getenv("HOME")) != NULL) {
 		Q_strncpyz(homePath, p, sizeof(homePath));
 #ifdef MACOS_X
-		Q_strcat(homePath, sizeof(homePath), "/Library/Application Support/Quake3");
+		Q_strcat(homePath, sizeof(homePath), "/Library/Application Support/OpenArena");
 #else
-		Q_strcat(homePath, sizeof(homePath), "/.q3a");
+		Q_strcat(homePath, sizeof(homePath), "/.openarena");
 #endif
 		if (mkdir(homePath, 0777)) {
 			if (errno != EEXIST) 
Index: code/win32/qe3.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: code/win32/win_shared.c
===================================================================
--- code/win32/win_shared.c	(revision 1108)
+++ code/win32/win_shared.c	(working copy)
@@ -330,7 +330,7 @@
 		return NULL;
 	}
 	Q_strncpyz( path, szPath, sizeof(path) );
-	Q_strcat( path, sizeof(path), "\\Quake3" );
+	Q_strcat( path, sizeof(path), "\\OpenArena" );
 	FreeLibrary(shfolder);
 	if( !CreateDirectory( path, NULL ) )
 	{
Index: code/server/sv_ccmds.c
===================================================================
--- code/server/sv_ccmds.c	(revision 1108)
+++ code/server/sv_ccmds.c	(working copy)
@@ -430,6 +430,12 @@
 		return;
 	}
 
+	if(strlen(AUTHORIZE_SERVER_NAME) < 1)
+	{
+		Com_Printf("Ban function disabled due to lack of authorizing server.\n");
+		return;
+	}
+
 	// look up the authorize server's IP
 	if ( !svs.authorizeAddress.ip[0] && svs.authorizeAddress.type != NA_BAD ) {
 		Com_Printf( "Resolving %s\n", AUTHORIZE_SERVER_NAME );
@@ -484,6 +490,12 @@
 		return;
 	}
 
+	if(strlen(AUTHORIZE_SERVER_NAME) < 1)
+	{
+		Com_Printf("Ban function disabled due to lack of authorizing server.\n");
+		return;
+	}
+
 	// look up the authorize server's IP
 	if ( !svs.authorizeAddress.ip[0] && svs.authorizeAddress.type != NA_BAD ) {
 		Com_Printf( "Resolving %s\n", AUTHORIZE_SERVER_NAME );
Index: code/server/sv_client.c
===================================================================
--- code/server/sv_client.c	(revision 1108)
+++ code/server/sv_client.c	(working copy)
@@ -88,6 +88,15 @@
 		return;
 	}
 
+	// if there's no authorize server defined, just let them in
+	if(strlen(AUTHORIZE_SERVER_NAME) < 1)
+	{
+		Com_Printf("Not authorizing client due to lack of auth server\n");
+		challenge->pingTime = svs.time;
+		NET_OutOfBandPrint( NS_SERVER, from, "challengeResponse %i", challenge->challenge );
+		return;
+	}
+
 	// look up the authorize server's IP
 	if ( !svs.authorizeAddress.ip[0] && svs.authorizeAddress.type != NA_BAD ) {
 		Com_Printf( "Resolving %s\n", AUTHORIZE_SERVER_NAME );
Index: code/qcommon/q_shared.h
===================================================================
--- code/qcommon/q_shared.h	(revision 1108)
+++ code/qcommon/q_shared.h	(working copy)
@@ -26,18 +26,18 @@
 // q_shared.h -- included first by ALL program modules.
 // A user mod should never modify this file
 
-#define Q3_VERSION            "ioQ3 1.33"
+#define Q3_VERSION            "ioQ3 1.33+oa"
 #ifndef SVN_VERSION
   #define SVN_VERSION Q3_VERSION
 #endif
-#define CLIENT_WINDOW_TITLE   "ioquake3"
-#define CLIENT_WINDOW_ICON    "ioq3"
-#define CONSOLE_WINDOW_TITLE  "ioquake3 console"
-#define CONSOLE_WINDOW_ICON   "ioq3 console"
+#define CLIENT_WINDOW_TITLE   "OpenArena"
+#define CLIENT_WINDOW_ICON    "OpenArena"
+#define CONSOLE_WINDOW_TITLE  "OpenArena console"
+#define CONSOLE_WINDOW_ICON   "OpenArena console"
 // 1.32 released 7-10-2002
+ 
+#define BASEGAME              "baseoa"
 
-#define BASEGAME              "baseq3"
-
 #define MAX_TEAMNAME 32
 
 #ifdef _MSC_VER
Index: code/qcommon/files.c
===================================================================
--- code/qcommon/files.c	(revision 1108)
+++ code/qcommon/files.c	(working copy)
@@ -2900,6 +2900,7 @@
 */
 static void FS_CheckPak0( void )
 {
+/*
 	searchpath_t	*path;
 	qboolean founddemo = qfalse;
 	unsigned foundPak = 0;
@@ -2972,6 +2973,7 @@
 		|| !Q_stricmp( fs_gamedirvar->string, "missionpack" ))
 			Com_Error(ERR_FATAL, "\n*** you need to install Quake III Arena in order to play ***");
 	}
+*/
 }
 
 /*
@@ -3347,7 +3349,7 @@
 	// try to start up normally
 	FS_Startup( BASEGAME );
 
-	FS_CheckPak0( );
+//	FS_CheckPak0( );
 
 	// if we can't find default.cfg, assume that the paths are
 	// busted and error out now, rather than getting an unreadable
Index: code/qcommon/qcommon.h
===================================================================
--- code/qcommon/qcommon.h	(revision 1108)
+++ code/qcommon/qcommon.h	(working copy)
@@ -226,20 +226,20 @@
 ==============================================================
 */
 
-#define	PROTOCOL_VERSION	68
+#define	PROTOCOL_VERSION	71
 // 1.31 - 67
 
 // maintain a list of compatible protocols for demo playing
 // NOTE: that stuff only works with two digits protocols
 extern int demo_protocols[];
 
-#define	UPDATE_SERVER_NAME	"update.quake3arena.com"
+#define	UPDATE_SERVER_NAME	""
 // override on command line, config files etc.
 #ifndef MASTER_SERVER_NAME
-#define MASTER_SERVER_NAME	"master.quake3arena.com"
+#define MASTER_SERVER_NAME	"dpmaster.deathmask.net"
 #endif
 #ifndef AUTHORIZE_SERVER_NAME
-#define	AUTHORIZE_SERVER_NAME	"authorize.quake3arena.com"
+#define	AUTHORIZE_SERVER_NAME	""
 #endif
 
 #define	PORT_MASTER			27950
Index: code/qcommon/common.c
===================================================================
--- code/qcommon/common.c	(revision 1108)
+++ code/qcommon/common.c	(working copy)
@@ -32,13 +32,13 @@
 #endif
 
 int demo_protocols[] =
-{ 66, 67, 68, 0 };
+{ 66, 67, 68, 69, 70, 71, 0 };
 
 #define MAX_NUM_ARGVS	50
 
 #define MIN_DEDICATED_COMHUNKMEGS 1
 #define MIN_COMHUNKMEGS		56
-#define DEF_COMHUNKMEGS		64
+#define DEF_COMHUNKMEGS		128
 #define DEF_COMZONEMEGS		24
 #define XSTRING(x)				STRING(x)
 #define STRING(x)					#x
Index: code/ui/ui_main.c
===================================================================
--- code/ui/ui_main.c	(revision 1108)
+++ code/ui/ui_main.c	(working copy)
@@ -64,7 +64,7 @@
 
 static const serverFilter_t serverFilters[] = {
 	{"All", "" },
-	{"Quake 3 Arena", "" },
+	{"OpenArena", "" },
 	{"Team Arena", "missionpack" },
 	{"Rocket Arena", "arena" },
 	{"Alliance", "alliance20" },
Index: code/client/snd_codec.c
===================================================================
--- code/client/snd_codec.c	(revision 1108)
+++ code/client/snd_codec.c	(working copy)
@@ -128,6 +128,69 @@
 	codecs = codec;
 }
 
+
+// STOLEN FROM IOSTVOY by thilo!!!!  HA HA HA but it works :(
+qboolean S_TheCheckExtension(char *filename)
+{
+	fileHandle_t hnd;
+	char fn[MAX_QPATH];
+	int stringlen = strlen(filename);
+	char *extptr;
+	
+	strncpy(fn, filename, stringlen+1);
+	extptr = strrchr(fn, '.');
+
+	if(!extptr)
+	{
+		extptr = &fn[stringlen];
+		
+		extptr[0] = '.';
+		extptr[1] = 'w';
+		extptr[2] = 'a';
+		extptr[3] = 'v';
+		extptr[4] = '\0';
+		
+		stringlen += 4;
+	}
+	
+	FS_FOpenFileRead(fn, &hnd, qtrue);
+
+	if(!hnd)
+	{
+		if(!strcmp(++extptr, "wav"))
+		{
+			extptr[0] = 'o';
+			extptr[1] = 'g';
+			extptr[2] = 'g';
+
+			FS_FOpenFileRead(fn, &hnd, qtrue);
+			
+			if(!hnd)
+				return qfalse;
+		}
+		else
+			return qfalse;
+	}
+	
+	FS_FCloseFile(hnd);
+	strcpy(filename, fn);
+
+	return qtrue;
+}
+
+qboolean S_TheGetFileName(char *filename)
+{
+	char fn[MAX_QPATH];
+//	qboolean dschoermen = qfalse;
+
+	strncpy(fn, filename, sizeof(fn) - 10);
+
+	if(S_TheCheckExtension(filename))
+		return qtrue;
+	
+	return qfalse;
+}
+
 /*
 =================
 S_CodecLoad
@@ -138,16 +201,18 @@
 	snd_codec_t *codec;
 	char fn[MAX_QPATH];
 
-	codec = S_FindCodecForFile(filename);
-	if(!codec)
-	{
-		Com_Printf("Unknown extension for %s\n", filename);
-		return NULL;
-	}
-
-	strncpy(fn, filename, sizeof(fn));
-	COM_DefaultExtension(fn, sizeof(fn), codec->ext);
-
+        // GO LOAD IT
+        strncpy(fn, filename, sizeof(fn));
+        if(!S_TheGetFileName(fn))
+                return NULL;
+        codec = S_FindCodecForFile(fn);
+        // codec = S_FindCodecForFile(filename);
+        if(!codec)
+        {
+                Com_Printf("Unknown extension for %s\n", filename);
+                return NULL;
+        }
+         
 	return codec->load(fn, info);
 }
 
Index: code/client/client.h
===================================================================
--- code/client/client.h	(revision 1108)
+++ code/client/client.h	(working copy)
@@ -255,7 +255,8 @@
 	int			maxPing;
 	int			ping;
 	qboolean	visible;
-	int			punkbuster;
+        int             g_humanplayers;
+        int             g_needpass;
 } serverInfo_t;
 
 typedef struct {
Index: code/client/cl_main.c
===================================================================
--- code/client/cl_main.c	(revision 1108)
+++ code/client/cl_main.c	(working copy)
@@ -2789,7 +2789,8 @@
 			server->netType = atoi(Info_ValueForKey(info, "nettype"));
 			server->minPing = atoi(Info_ValueForKey(info, "minping"));
 			server->maxPing = atoi(Info_ValueForKey(info, "maxping"));
-			server->punkbuster = atoi(Info_ValueForKey(info, "punkbuster"));
+                        server->g_humanplayers = atoi(Info_ValueForKey(info, "g_humanplayers"));
+                        server->g_needpass = atoi(Info_ValueForKey(info, "g_needpass"));
 		}
 		server->ping = ping;
 	}
@@ -2920,7 +2921,6 @@
 	cls.localServers[i].game[0] = '\0';
 	cls.localServers[i].gameType = 0;
 	cls.localServers[i].netType = from.type;
-	cls.localServers[i].punkbuster = 0;
 									 
 	Q_strncpyz( info, MSG_ReadString( msg ), MAX_INFO_STRING );
 	if (strlen(info)) {
@@ -3582,62 +3582,7 @@
 =================
 */
 qboolean CL_CDKeyValidate( const char *key, const char *checksum ) {
-	char	ch;
-	byte	sum;
-	char	chs[3];
-	int i, len;
-
-	len = strlen(key);
-	if( len != CDKEY_LEN ) {
-		return qfalse;
-	}
-
-	if( checksum && strlen( checksum ) != CDCHKSUM_LEN ) {
-		return qfalse;
-	}
-
-	sum = 0;
-	// for loop gets rid of conditional assignment warning
-	for (i = 0; i < len; i++) {
-		ch = *key++;
-		if (ch>='a' && ch<='z') {
-			ch -= 32;
-		}
-		switch( ch ) {
-		case '2':
-		case '3':
-		case '7':
-		case 'A':
-		case 'B':
-		case 'C':
-		case 'D':
-		case 'G':
-		case 'H':
-		case 'J':
-		case 'L':
-		case 'P':
-		case 'R':
-		case 'S':
-		case 'T':
-		case 'W':
-			sum += ch;
-			continue;
-		default:
-			return qfalse;
-		}
-	}
-
-	sprintf(chs, "%02x", sum);
-	
-	if (checksum && !Q_stricmp(chs, checksum)) {
-		return qtrue;
-	}
-
-	if (!checksum) {
-		return qtrue;
-	}
-
-	return qfalse;
+	return qtrue;
 }
 
 
Index: code/client/snd_dma.c
===================================================================
--- code/client/snd_dma.c	(revision 1108)
+++ code/client/snd_dma.c	(working copy)
@@ -364,7 +364,7 @@
 		Com_Memset( s_knownSfx, 0, sizeof( s_knownSfx ) );
 		Com_Memset(sfxHash, 0, sizeof(sfx_t *)*LOOP_HASH);
 
-		S_Base_RegisterSound("sound/feedback/hit.wav", qfalse);		// changed to a sound in baseq3
+                S_Base_RegisterSound("sound/misc/silence.wav", qfalse);         // changed to a sound in baseq3
 	}
 }
 
Index: code/client/snd_openal.c
===================================================================
--- code/client/snd_openal.c	(revision 1108)
+++ code/client/snd_openal.c	(working copy)
@@ -384,7 +384,7 @@
 	numSfx = 0;
 
 	// Load the default sound, and lock it
-	default_sfx = S_AL_BufferFind("sound/feedback/hit.wav");
+        default_sfx = S_AL_BufferFind("sound/misc/silence.wav");
 	S_AL_BufferUse(default_sfx);
 	knownSfx[default_sfx].isLocked = qtrue;
 
Index: code/client/cl_ui.c
===================================================================
--- code/client/cl_ui.c	(revision 1108)
+++ code/client/cl_ui.c	(working copy)
@@ -321,7 +321,8 @@
 		Info_SetValueForKey( info, "gametype", va("%i",server->gameType));
 		Info_SetValueForKey( info, "nettype", va("%i",server->netType));
 		Info_SetValueForKey( info, "addr", NET_AdrToString(server->adr));
-		Info_SetValueForKey( info, "punkbuster", va("%i", server->punkbuster));
+                Info_SetValueForKey( info, "g_needpass", va("%i",server->g_needpass));
+                Info_SetValueForKey( info, "g_humanplayers", va("%i",server->g_humanplayers));
 		Q_strncpyz(buf, info, buflen);
 	} else {
 		if (buf) {
Index: Makefile
===================================================================
--- Makefile	(revision 1108)
+++ Makefile	(working copy)
@@ -26,11 +26,11 @@
   endif
 endif
 
-BUILD_CLIENT     =
-BUILD_CLIENT_SMP =
-BUILD_SERVER     =
-BUILD_GAME_SO    =
-BUILD_GAME_QVM   =
+BUILD_CLIENT     =1
+BUILD_CLIENT_SMP =0
+BUILD_SERVER     =0
+BUILD_GAME_SO    =0
+BUILD_GAME_QVM   =0
 
 #############################################################################
 #
@@ -113,7 +113,7 @@
 endif
 
 ifndef USE_CODEC_VORBIS
-USE_CODEC_VORBIS=0
+USE_CODEC_VORBIS=1
 endif
 
 ifndef USE_LOCAL_HEADERS
@@ -474,8 +474,10 @@
     endif
   endif
 
+BASE_CFLAGS += -ImingwThings/include
+
   ifeq ($(USE_CODEC_VORBIS),1)
-    CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg
+    CLIENT_LDFLAGS += $(LIBSDIR)/win32/libvorbisfile.a $(LIBSDIR)/win32/libvorbis.a $(LIBSDIR)/win32/libogg.a
   endif
 
   ifeq ($(ARCH),x86)
@@ -1872,3 +1874,4 @@
 endif
 
 .PHONY: release debug clean distclean copyfiles installer dist
+
