- tweak enumeration support, remove win32 dependency

- fix two typos in status message in snd_main.c
This commit is contained in:
Thilo Schulz 2006-08-19 13:44:10 +00:00
parent 87a3858f9a
commit b2b17e334e
2 changed files with 6 additions and 19 deletions

View file

@ -404,9 +404,9 @@ void S_Init( void )
} }
S_SoundInfo( ); S_SoundInfo( );
Com_Printf( "Sound intialization successful.\n" ); Com_Printf( "Sound initialization successful.\n" );
} else { } else {
Com_Printf( "Sound intialization failed.\n" ); Com_Printf( "Sound initialization failed.\n" );
} }
} }

View file

@ -38,10 +38,8 @@ cvar_t *s_alDopplerSpeed;
cvar_t *s_alMinDistance; cvar_t *s_alMinDistance;
cvar_t *s_alRolloff; cvar_t *s_alRolloff;
cvar_t *s_alDriver; cvar_t *s_alDriver;
#ifdef _WIN32
cvar_t *s_alDevice; cvar_t *s_alDevice;
cvar_t *s_alAvailableDevices; cvar_t *s_alAvailableDevices;
#endif
cvar_t *s_alMaxSpeakerDistance; cvar_t *s_alMaxSpeakerDistance;
/* /*
@ -1677,10 +1675,8 @@ void S_AL_SoundInfo( void )
Com_Printf( " Vendor: %s\n", qalGetString( AL_VENDOR ) ); Com_Printf( " Vendor: %s\n", qalGetString( AL_VENDOR ) );
Com_Printf( " Version: %s\n", qalGetString( AL_VERSION ) ); Com_Printf( " Version: %s\n", qalGetString( AL_VERSION ) );
Com_Printf( " Renderer: %s\n", qalGetString( AL_RENDERER ) ); Com_Printf( " Renderer: %s\n", qalGetString( AL_RENDERER ) );
#ifdef _WIN32
if(qalcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT")) if(qalcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT"))
Com_Printf( " Device: %s\n", qalcGetString(alDevice, ALC_DEVICE_SPECIFIER) ); Com_Printf( " Device: %s\n", qalcGetString(alDevice, ALC_DEVICE_SPECIFIER) );
#endif
Com_Printf( " Extensions: %s\n", qalGetString( AL_EXTENSIONS ) ); Com_Printf( " Extensions: %s\n", qalGetString( AL_EXTENSIONS ) );
} }
@ -1723,9 +1719,7 @@ qboolean S_AL_Init( soundInterface_t *si )
{ {
#if USE_OPENAL #if USE_OPENAL
#ifdef _WIN32
qboolean enumsupport, founddev = qfalse; qboolean enumsupport, founddev = qfalse;
#endif
if( !si ) { if( !si ) {
return qfalse; return qfalse;
@ -1750,11 +1744,10 @@ qboolean S_AL_Init( soundInterface_t *si )
return qfalse; return qfalse;
} }
#ifdef _WIN32 // Device enumeration support (extension currently only exists for windows).
// Device enumeration support on windows.
if((enumsupport = qalcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT"))) if((enumsupport = qalcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT")))
{ {
char *devicelist, devicenames[8192] = ""; char *devicelist, devicenames[1024] = "";
char *defaultdevice; char *defaultdevice;
int curlen; int curlen;
qboolean hasbegun = qfalse; qboolean hasbegun = qfalse;
@ -1763,6 +1756,7 @@ qboolean S_AL_Init( soundInterface_t *si )
devicelist = qalcGetString(NULL, ALC_DEVICE_SPECIFIER); devicelist = qalcGetString(NULL, ALC_DEVICE_SPECIFIER);
defaultdevice = qalcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER); defaultdevice = qalcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
#ifdef _WIN32
// check whether the default device is generic hardware. If it is, change to // 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. // 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 // 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")) if(!strcmp(defaultdevice, "Generic Hardware"))
s_alDevice = Cvar_Get("s_alDevice", ALDEVICE_DEFAULT, CVAR_ARCHIVE | CVAR_LATCH); s_alDevice = Cvar_Get("s_alDevice", ALDEVICE_DEFAULT, CVAR_ARCHIVE | CVAR_LATCH);
else else
#endif
s_alDevice = Cvar_Get("s_alDevice", defaultdevice, CVAR_ARCHIVE | CVAR_LATCH); 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. // 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)) if(!strcmp(s_alDevice->string, devicelist))
founddev = qtrue; founddev = qtrue;
s_alDevice->string;
devicelist += curlen + 1; devicelist += curlen + 1;
} }
@ -1802,11 +1796,6 @@ qboolean S_AL_Init( soundInterface_t *si )
alDevice = qalcOpenDevice(s_alDevice->string); alDevice = qalcOpenDevice(s_alDevice->string);
else else
alDevice = qalcOpenDevice(NULL); alDevice = qalcOpenDevice(NULL);
#else // _WIN32
// Open default device
alDevice = qalcOpenDevice( NULL );
#endif
if( !alDevice ) if( !alDevice )
{ {
@ -1815,10 +1804,8 @@ qboolean S_AL_Init( soundInterface_t *si )
return qfalse; return qfalse;
} }
#ifdef _WIN32
if(enumsupport) if(enumsupport)
Cvar_Set("s_alDevice", qalcGetString(alDevice, ALC_DEVICE_SPECIFIER)); Cvar_Set("s_alDevice", qalcGetString(alDevice, ALC_DEVICE_SPECIFIER));
#endif
// Create OpenAL context // Create OpenAL context
alContext = qalcCreateContext( alDevice, NULL ); alContext = qalcCreateContext( alDevice, NULL );