Fix OpenAL extensions functions

This commit is contained in:
SirLynix 2022-12-06 12:54:22 +01:00
parent 3d05b1fb44
commit b79718404c
3 changed files with 24 additions and 27 deletions

View File

@ -102,22 +102,22 @@ NAZARA_AUDIO_AL_FUNCTION(alSourceStopv)
NAZARA_AUDIO_AL_FUNCTION(alSourceUnqueueBuffers)
NAZARA_AUDIO_AL_FUNCTION(alSpeedOfSound)
/*
#ifndef NAZARA_PLATFORM_WEB
NAZARA_AUDIO_AL_EXT_BEGIN(AL_SOFT_source_latency)
NAZARA_AUDIO_AL_FUNCTION_EXT(alGetSource3dSOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alGetSource3i64SOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alGetSourcedSOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alGetSourcedvSOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alGetSourcei64SOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alGetSourcei64vSOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alSource3dSOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alSource3i64SOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alSourcedSOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alSourcedvSOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alSourcei64SOFT)
NAZARA_AUDIO_AL_FUNCTION_EXT(alSourcei64vSOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alGetSource3dSOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alGetSource3i64SOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alGetSourcedSOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alGetSourcedvSOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alGetSourcei64SOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alGetSourcei64vSOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alSource3dSOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alSource3i64SOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alSourcedSOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alSourcedvSOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alSourcei64SOFT)
NAZARA_AUDIO_AL_EXT_FUNCTION(alSourcei64vSOFT)
NAZARA_AUDIO_AL_EXT_END()
*/
#endif
NAZARA_AUDIO_ALC_FUNCTION(alcCaptureCloseDevice)
NAZARA_AUDIO_ALC_FUNCTION(alcCaptureOpenDevice)

View File

@ -26,6 +26,13 @@ namespace Nz
auto PostLoad = [&]
{
// Load ext
#define NAZARA_AUDIO_AL_ALC_FUNCTION(name)
#define NAZARA_AUDIO_AL_EXT_BEGIN(ext) if (alIsExtensionPresent(#ext)) {
#define NAZARA_AUDIO_AL_EXT_END() }
#define NAZARA_AUDIO_AL_FUNCTION_EXT(name) name = reinterpret_cast<decltype(&::name)>(alGetProcAddress(#name));
#include <Nazara/Audio/OpenALFunctions.hpp>
m_hasCaptureSupport = alcIsExtensionPresent(nullptr, "ALC_EXT_CAPTURE");
m_isLoaded = true;
@ -72,12 +79,8 @@ namespace Nz
try
{
#define NAZARA_AUDIO_FUNC(name, sig) name = reinterpret_cast<sig>(LoadSymbol(#name, false));
#define NAZARA_AUDIO_EXT_FUNC(name, sig) name = reinterpret_cast<sig>(LoadSymbol(#name, true));
NAZARA_AUDIO_FOREACH_AL_FUNC(NAZARA_AUDIO_FUNC, NAZARA_AUDIO_EXT_FUNC)
NAZARA_AUDIO_FOREACH_ALC_FUNC(NAZARA_AUDIO_FUNC, NAZARA_AUDIO_EXT_FUNC)
#undef NAZARA_AUDIO_FUNC
#undef NAZARA_AUDIO_EXT_FUNC
#define NAZARA_AUDIO_AL_ALC_FUNCTION(name) name = reinterpret_cast<decltype(&::name)>(LoadSymbol(#name, false));
#include <Nazara/Audio/OpenALFunctions.hpp>
}
catch (const std::exception& e)
{
@ -98,13 +101,6 @@ namespace Nz
// Load core
#define NAZARA_AUDIO_AL_ALC_FUNCTION(name) name = &::name;
#define NAZARA_AUDIO_AL_EXT_FUNCTION(name)
#include <Nazara/Audio/OpenALFunctions.hpp>
// Load ext
#define NAZARA_AUDIO_AL_ALC_FUNCTION(name)
#define NAZARA_AUDIO_AL_EXT_BEGIN(ext) if (alIsExtensionPresent(#ext)) {
#define NAZARA_AUDIO_AL_EXT_END() }
#define NAZARA_AUDIO_AL_FUNCTION_EXT(name) name = reinterpret_cast<decltype(name)>(alGetProcAddress(#name));
#include <Nazara/Audio/OpenALFunctions.hpp>
PostLoad();

View File

@ -52,6 +52,7 @@ local modules = {
add_packages("openal-soft")
end
else
add_defines("AL_ALEXT_PROTOTYPES")
add_packages("openal-soft", { links = {} })
end
end