diff options
-rw-r--r-- | Alc/ALc.c | 13 | ||||
-rw-r--r-- | OpenAL32/Include/alMain.h | 5 |
2 files changed, 15 insertions, 3 deletions
@@ -687,7 +687,7 @@ static const ALCchar alcNoDeviceExtList[] = static const ALCchar alcExtensionList[] = "ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE " "ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX " - "ALC_EXT_thread_local_context ALC_SOFT_loopback"; + "ALC_EXT_thread_local_context ALC_SOFTX_HRTF ALC_SOFT_loopback"; static const ALCint alcMajorVersion = 1; static const ALCint alcMinorVersion = 1; @@ -2304,11 +2304,11 @@ ALC_API ALCvoid ALC_APIENTRY alcGetIntegerv(ALCdevice *device,ALCenum param,ALsi break; case ALC_ATTRIBUTES_SIZE: - *data = 13; + *data = 15; break; case ALC_ALL_ATTRIBUTES: - if(size < 13) + if(size < 15) alcSetError(device, ALC_INVALID_VALUE); else { @@ -2343,6 +2343,9 @@ ALC_API ALCvoid ALC_APIENTRY alcGetIntegerv(ALCdevice *device,ALCenum param,ALsi data[i++] = ALC_MAX_AUXILIARY_SENDS; data[i++] = device->NumAuxSends; + data[i++] = ALC_HRTF_SOFT; + data[i++] = (device->Hrtf ? ALC_TRUE : ALC_FALSE); + data[i++] = 0; } break; @@ -2395,6 +2398,10 @@ ALC_API ALCvoid ALC_APIENTRY alcGetIntegerv(ALCdevice *device,ALCenum param,ALsi *data = device->Connected; break; + case ALC_HRTF_SOFT: + *data = (device->Hrtf ? ALC_TRUE : ALC_FALSE); + break; + default: alcSetError(device, ALC_INVALID_ENUM); break; diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index 9bf10903..d5e59321 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -26,6 +26,11 @@ AL_API ALvoid AL_APIENTRY alProcessUpdatesSOFT(void); #endif #endif +#ifndef ALC_SOFT_HRTF +#define ALC_SOFT_HRTF 1 +#define ALC_HRTF_SOFT 0x1992 +#endif + #if defined(HAVE_STDINT_H) #include <stdint.h> |