summaryrefslogtreecommitdiff
blob: 19be920baba859ab6a3eec78fe8356e7958cb6fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
--- configure
+++ configure
@@ -4010,6 +4010,7 @@
 
 	CFLAGS="$CFLAGS `$FREEALUT_CONFIG --cflags`"
 	CXXFLAGS="$CXXFLAGS `$FREEALUT_CONFIG --cflags`"
+	LIBS="$LIBS `$FREEALUT_CONFIG --libs`"
 
 	echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6

--- 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
@@ -152,6 +152,7 @@
 		totalSources_.push_back(source);
 		availableSources_.push_back(source);
 	}
+	alutInitWithoutContext(NULL, NULL);
 
 	init_ = true;
 	return init_;