Index: sound.c
===================================================================
--- sound.c	(revision 311)
+++ sound.c	(revision 312)
@@ -67,6 +67,11 @@
  if ((error = alGetError()) != AL_NO_ERROR)
  {
   raydium_log("sound: ERROR : %s :%d",caller,error);
+//  raydium_log("sound: Deleting buffers");
+//   alDeleteBuffers(RAYDIUM_SOUND_NUM_BUFFERS,raydium_sound_buffer);
+//  raydium_log("sound: Releasing OpenAL");
+//   alutExit();
+//   exit(1);
  }
 }
 
@@ -132,10 +137,6 @@
  ALfloat freq;
 #endif
 
-char buffer[1024];
-char *wav_file = NULL;
-int wav_size = 0;
-int grow = 0;
 
  if(raydium_sound_top_buffer==RAYDIUM_SOUND_NUM_BUFFERS)
  {
@@ -151,28 +152,15 @@
  fp=raydium_file_fopen((char *)fname,"r");
  if(fp==NULL)
  {
-  raydium_log("sound: ERROR opening WAV file %s",fname);
+  raydium_log("sound: ERROR opening file %s",fname);
   return -1;
+  //exit(1);
  }
-
- while( (grow = fread(buffer, sizeof(char) , 1024, fp)) > 0)
- {
-    wav_file = realloc(wav_file, wav_size + grow * sizeof(char));
-    memcpy(wav_file + wav_size, buffer, grow * sizeof(char));
-    wav_size += grow * sizeof(char);
- }  
- if(!feof(fp))
- {
-    raydium_log("sound: ERROR reading WAV file %s",fname);
-    return -1;
- }
- 
- raydium_log("sound: Loaded %s, size %i bytes",fname, wav_size);
  fclose(fp);
 
 #ifdef ALUT_API_MAJOR_VERSION_BUT_WIN32
- data=alutLoadMemoryFromFileImage(wav_file,wav_size,&format,&size,&freq);
- raydium_sound_verify("alutLoadMemoryFromFileImage");
+ data=alutLoadMemoryFromFile(fname,&format,&size,&freq);
+     raydium_sound_verify("alutLoadMemoryFromFile");
 
  if(data)
  alBufferData(raydium_sound_buffer[snum],format,data,size,freq);
@@ -182,8 +170,8 @@
   free(data);
 
 #else
-  alutLoadWAVMemory((ALbyte *)wav_file,&format,&data,&size,&freq,&boolean);
-     raydium_sound_verify("alutLoadWAVMemory");
+  alutLoadWAVFile((ALbyte *)fname,&format,&data,&size,&freq,&boolean);
+     raydium_sound_verify("alutLoadWAVFile");
 
  alBufferData(raydium_sound_buffer[snum],format,data,size,freq);
      raydium_sound_verify("alBufferData");