aboutsummaryrefslogtreecommitdiffstats
path: root/code/client/snd_openal.c
diff options
context:
space:
mode:
authorthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-08-19 13:44:10 +0000
committerthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-08-19 13:44:10 +0000
commitd507371424fee6064d31edd46c735d5d491e8ff1 (patch)
tree26a538866a02f791f635b861a5cd381915a26024 /code/client/snd_openal.c
parent26c463829c60e871818d8e3347c9d6aa3e7274c8 (diff)
downloadioquake3-aero-d507371424fee6064d31edd46c735d5d491e8ff1.tar.gz
ioquake3-aero-d507371424fee6064d31edd46c735d5d491e8ff1.zip
- tweak enumeration support, remove win32 dependency
- fix two typos in status message in snd_main.c git-svn-id: svn://svn.icculus.org/quake3/trunk@854 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/client/snd_openal.c')
-rw-r--r--code/client/snd_openal.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/code/client/snd_openal.c b/code/client/snd_openal.c
index fc7a31a..54f446d 100644
--- a/code/client/snd_openal.c
+++ b/code/client/snd_openal.c
@@ -38,10 +38,8 @@ cvar_t *s_alDopplerSpeed;
cvar_t *s_alMinDistance;
cvar_t *s_alRolloff;
cvar_t *s_alDriver;
-#ifdef _WIN32
cvar_t *s_alDevice;
cvar_t *s_alAvailableDevices;
-#endif
cvar_t *s_alMaxSpeakerDistance;
/*
@@ -1677,10 +1675,8 @@ void S_AL_SoundInfo( void )
Com_Printf( " Vendor: %s\n", qalGetString( AL_VENDOR ) );
Com_Printf( " Version: %s\n", qalGetString( AL_VERSION ) );
Com_Printf( " Renderer: %s\n", qalGetString( AL_RENDERER ) );
-#ifdef _WIN32
if(qalcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT"))
Com_Printf( " Device: %s\n", qalcGetString(alDevice, ALC_DEVICE_SPECIFIER) );
-#endif
Com_Printf( " Extensions: %s\n", qalGetString( AL_EXTENSIONS ) );
}
@@ -1723,9 +1719,7 @@ qboolean S_AL_Init( soundInterface_t *si )
{
#if USE_OPENAL
-#ifdef _WIN32
qboolean enumsupport, founddev = qfalse;
-#endif
if( !si ) {
return qfalse;
@@ -1750,11 +1744,10 @@ qboolean S_AL_Init( soundInterface_t *si )
return qfalse;
}
-#ifdef _WIN32
- // Device enumeration support on windows.
+ // Device enumeration support (extension currently only exists for windows).
if((enumsupport = qalcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT")))
{
- char *devicelist, devicenames[8192] = "";
+ char *devicelist, devicenames[1024] = "";
char *defaultdevice;
int curlen;
qboolean hasbegun = qfalse;
@@ -1763,6 +1756,7 @@ qboolean S_AL_Init( soundInterface_t *si )
devicelist = qalcGetString(NULL, ALC_DEVICE_SPECIFIER);
defaultdevice = qalcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
+#ifdef _WIN32
// check whether the default device is generic hardware. If it is, change to
// Generic Software as that one works more reliably with various sound systems.
// If it's not, use OpenAL's default selection as we don't want to ignore
@@ -1770,6 +1764,7 @@ qboolean S_AL_Init( soundInterface_t *si )
if(!strcmp(defaultdevice, "Generic Hardware"))
s_alDevice = Cvar_Get("s_alDevice", ALDEVICE_DEFAULT, CVAR_ARCHIVE | CVAR_LATCH);
else
+#endif
s_alDevice = Cvar_Get("s_alDevice", defaultdevice, CVAR_ARCHIVE | CVAR_LATCH);
// dump a list of available devices to a cvar for the user to see.
@@ -1785,7 +1780,6 @@ qboolean S_AL_Init( soundInterface_t *si )
if(!strcmp(s_alDevice->string, devicelist))
founddev = qtrue;
- s_alDevice->string;
devicelist += curlen + 1;
}
@@ -1802,11 +1796,6 @@ qboolean S_AL_Init( soundInterface_t *si )
alDevice = qalcOpenDevice(s_alDevice->string);
else
alDevice = qalcOpenDevice(NULL);
-#else // _WIN32
-
- // Open default device
- alDevice = qalcOpenDevice( NULL );
-#endif
if( !alDevice )
{
@@ -1815,10 +1804,8 @@ qboolean S_AL_Init( soundInterface_t *si )
return qfalse;
}
-#ifdef _WIN32
if(enumsupport)
Cvar_Set("s_alDevice", qalcGetString(alDevice, ALC_DEVICE_SPECIFIER));
-#endif
// Create OpenAL context
alContext = qalcCreateContext( alDevice, NULL );