- Remove alext.h dependency and manually add the required macros

- Use ALC_DEFAULT_ALL_DEVICES_SPECIFIER instead of ALC_DEFAULT_DEVICE_SPECIFIER if extension exists
This commit is contained in:
Thilo Schulz 2011-03-14 15:57:39 +00:00
parent 1b27ae23c1
commit 182b344818
2 changed files with 11 additions and 3 deletions

View File

@ -44,10 +44,16 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#else
#include <AL/al.h>
#include <AL/alc.h>
#include <AL/alext.h>
#endif
#endif
/* Hack to enable compiling both on OpenAL SDK and OpenAL-soft. */
#ifndef ALC_ENUMERATE_ALL_EXT
# define ALC_ENUMERATE_ALL_EXT 1
# define ALC_DEFAULT_ALL_DEVICES_SPECIFIER 0x1012
# define ALC_ALL_DEVICES_SPECIFIER 0x1013
#endif
#ifdef USE_OPENAL_DLOPEN
extern LPALENABLE qalEnable;
extern LPALDISABLE qalDisable;

View File

@ -2397,16 +2397,18 @@ qboolean S_AL_Init( soundInterface_t *si )
// get all available devices + the default device name.
if(enumeration_ext)
{
devicelist = qalcGetString(NULL, ALC_ALL_DEVICES_SPECIFIER);
defaultdevice = qalcGetString(NULL, ALC_DEFAULT_ALL_DEVICES_SPECIFIER);
}
else
{
// We don't have ALC_ENUMERATE_ALL_EXT but normal enumeration.
devicelist = qalcGetString(NULL, ALC_DEVICE_SPECIFIER);
defaultdevice = qalcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
enumeration_ext = qtrue;
}
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.