Index: code/client/snd_codec.c
===================================================================
--- code/client/snd_codec.c	(revision 1106)
+++ 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,23 @@
 	snd_codec_t *codec;
 	char fn[MAX_QPATH];
 
-	codec = S_FindCodecForFile(filename);
+	// 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;
 	}
 
-	strncpy(fn, filename, sizeof(fn));
-	COM_DefaultExtension(fn, sizeof(fn), codec->ext);
+//	strncpy(fn, filename, sizeof(fn));
+//	COM_DefaultExtension(fn, sizeof(fn), codec->ext);
 
+
+
 	return codec->load(fn, info);
 }
 
