--- configure +++ configure @@ -3946,7 +3946,7 @@ if test x"$use_static_openal" = x"yes"; then LIBS="$LIBS /usr/local/lib/libopenal.a" else - LIBS="$LIBS `$OPENAL_CONFIG --libs`" + LIBS="$LIBS `$OPENAL_CONFIG --libs` -lalut" fi CFLAGS="$CFLAGS `$OPENAL_CONFIG --cflags`" --- src/sound/SoundBufferStaticWav.cpp +++ src/sound/SoundBufferStaticWav.cpp @@ -57,44 +57,7 @@ SoundBuffer(fileName), buffer_(0) { - unsigned int error; - - // Create a buffer - alGetError(); - alGenBuffers(1, &buffer_); - if ((error = alGetError()) != AL_NO_ERROR) - { - return; - } - - // Load WAV - void *data; - ALenum format; - ALsizei size; - ALsizei freq; - ALboolean loop; - -#ifdef __DARWIN__ - alutLoadWAVFile((ALbyte*) fileName,&format,&data,&size,&freq); -#else - alutLoadWAVFile((ALbyte*) fileName,&format,&data,&size,&freq,&loop); -#endif - - if ((error = alGetError()) != AL_NO_ERROR) - { - return; - } - - // Load WAV into buffer - alBufferData(buffer_,format,data,size,freq); - if ((error = alGetError()) != AL_NO_ERROR) - { - return; - } - - // Delete WAV memory - alutUnloadWAV(format,data,size,freq); - if ((error = alGetError()) != AL_NO_ERROR) + if ((buffer_ = alutCreateBufferFromFile(fileName)) == AL_NONE) { return; } --- src/sound/Sound.cpp +++ src/sound/Sound.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include Sound *Sound::instance_ = 0; @@ -150,6 +151,7 @@ totalSources_.push_back(source); availableSources_.push_back(source); } + alutInitWithoutContext(NULL, NULL); init_ = true; return init_;