aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--al/extension.cpp118
-rw-r--r--alc/alc.cpp32
2 files changed, 28 insertions, 122 deletions
diff --git a/al/extension.cpp b/al/extension.cpp
index c442fa05..5dda2a86 100644
--- a/al/extension.cpp
+++ b/al/extension.cpp
@@ -32,10 +32,6 @@
#include "core/except.h"
#include "opthelpers.h"
-#ifdef ALSOFT_EAX
-#include "eax_globals.h"
-#include "eax_x_ram.h"
-#endif // ALSOFT_EAX
AL_API ALboolean AL_APIENTRY alIsExtensionPresent(const ALchar *extName)
START_API_FUNC
@@ -47,23 +43,6 @@ START_API_FUNC
SETERR_RETURN(context, AL_INVALID_VALUE, AL_FALSE, "NULL pointer");
size_t len{strlen(extName)};
-#ifdef ALSOFT_EAX
- if (al::strcasecmp(eax_v2_0_ext_name_1, extName) == 0 ||
- al::strcasecmp(eax_v2_0_ext_name_2, extName) == 0 ||
- al::strcasecmp(eax_v3_0_ext_name, extName) == 0 ||
- al::strcasecmp(eax_v4_0_ext_name, extName) == 0 ||
- al::strcasecmp(eax_v5_0_ext_name, extName) == 0)
- {
- const auto is_present = eax_g_is_enabled && context->eax_is_capable();
- return is_present ? AL_TRUE : AL_FALSE;
- }
-
- if (al::strcasecmp(eax_x_ram_ext_name, extName) == 0)
- {
- const auto is_present = eax_g_is_enabled;
- return is_present ? AL_TRUE : AL_FALSE;
- }
-#endif // ALSOFT_EAX
const char *ptr{context->mExtensionList};
while(ptr && *ptr)
{
@@ -87,75 +66,6 @@ AL_API ALvoid* AL_APIENTRY alGetProcAddress(const ALchar *funcName)
START_API_FUNC
{
if(!funcName) return nullptr;
-#ifdef ALSOFT_EAX
- if (al::strcasecmp(funcName, eax_eax_set_func_name) == 0)
- {
- if (!eax_g_is_enabled)
- {
- return nullptr;
- }
-
- ContextRef context{GetContextRef()};
-
- if (!context || !context->eax_is_capable())
- {
- return nullptr;
- }
-
- return reinterpret_cast<ALvoid*>(EAXSet);
- }
-
- if (al::strcasecmp(funcName, eax_eax_get_func_name) == 0)
- {
- if (!eax_g_is_enabled)
- {
- return nullptr;
- }
-
- ContextRef context{GetContextRef()};
-
- if (!context || !context->eax_is_capable())
- {
- return nullptr;
- }
-
- return reinterpret_cast<ALvoid*>(EAXGet);
- }
-
- if (al::strcasecmp(funcName, eax_eax_set_buffer_mode_func_name) == 0)
- {
- if (!eax_g_is_enabled)
- {
- return nullptr;
- }
-
- ContextRef context{GetContextRef()};
-
- if (!context)
- {
- return nullptr;
- }
-
- return reinterpret_cast<ALvoid*>(EAXSetBufferMode);
- }
-
- if (al::strcasecmp(funcName, eax_eax_get_buffer_mode_func_name) == 0)
- {
- if (!eax_g_is_enabled)
- {
- return nullptr;
- }
-
- ContextRef context{GetContextRef()};
-
- if (!context)
- {
- return nullptr;
- }
-
- return reinterpret_cast<ALvoid*>(EAXGetBufferMode);
- }
-#endif // ALSOFT_EAX
return alcGetProcAddress(nullptr, funcName);
}
END_API_FUNC
@@ -164,34 +74,6 @@ AL_API ALenum AL_APIENTRY alGetEnumValue(const ALchar *enumName)
START_API_FUNC
{
if(!enumName) return static_cast<ALenum>(0);
-#ifdef ALSOFT_EAX
- if (eax_g_is_enabled)
- {
- struct Descriptor
- {
- const char* name;
- ALenum value;
- }; // Descriptor
-
- constexpr Descriptor descriptors[] =
- {
- Descriptor{AL_EAX_RAM_SIZE_NAME, AL_EAX_RAM_SIZE},
- Descriptor{AL_EAX_RAM_FREE_NAME, AL_EAX_RAM_FREE},
-
- Descriptor{AL_STORAGE_AUTOMATIC_NAME, AL_STORAGE_AUTOMATIC},
- Descriptor{AL_STORAGE_HARDWARE_NAME, AL_STORAGE_HARDWARE},
- Descriptor{AL_STORAGE_ACCESSIBLE_NAME, AL_STORAGE_ACCESSIBLE},
- }; // descriptors
-
- for (const auto& descriptor : descriptors)
- {
- if (strcmp(descriptor.name, enumName) == 0)
- {
- return descriptor.value;
- }
- }
- }
-#endif // ALSOFT_EAX
return alcGetEnumValue(nullptr, enumName);
}
END_API_FUNC
diff --git a/alc/alc.cpp b/alc/alc.cpp
index d6bd005f..6358ad8b 100644
--- a/alc/alc.cpp
+++ b/alc/alc.cpp
@@ -452,6 +452,13 @@ const struct {
DECL(alAuxiliaryEffectSlotPlayvSOFT),
DECL(alAuxiliaryEffectSlotStopSOFT),
DECL(alAuxiliaryEffectSlotStopvSOFT),
+#ifdef ALSOFT_EAX
+}, eaxFunctions[] = {
+ DECL(EAXGet),
+ DECL(EAXSet),
+ DECL(EAXGetBufferMode),
+ DECL(EAXSetBufferMode),
+#endif
};
#undef DECL
@@ -882,6 +889,7 @@ constexpr struct {
DECL(AL_STOP_SOURCES_ON_DISCONNECT_SOFT),
#ifdef ALSOFT_EAX
+}, eaxEnumerations[] = {
DECL(AL_EAX_RAM_SIZE),
DECL(AL_EAX_RAM_FREE),
DECL(AL_STORAGE_AUTOMATIC),
@@ -2943,15 +2951,23 @@ START_API_FUNC
{
DeviceRef dev{VerifyDevice(device)};
alcSetError(dev.get(), ALC_INVALID_VALUE);
+ return nullptr;
}
- else
+#ifdef ALSOFT_EAX
+ if(eax_g_is_enabled)
{
- for(const auto &func : alcFunctions)
+ for(const auto &func : eaxFunctions)
{
if(strcmp(func.funcName, funcName) == 0)
return func.address;
}
}
+#endif
+ for(const auto &func : alcFunctions)
+ {
+ if(strcmp(func.funcName, funcName) == 0)
+ return func.address;
+ }
return nullptr;
}
END_API_FUNC
@@ -2964,15 +2980,23 @@ START_API_FUNC
{
DeviceRef dev{VerifyDevice(device)};
alcSetError(dev.get(), ALC_INVALID_VALUE);
+ return 0;
}
- else
+#ifdef ALSOFT_EAX
+ if(eax_g_is_enabled)
{
- for(const auto &enm : alcEnumerations)
+ for(const auto &enm : eaxEnumerations)
{
if(strcmp(enm.enumName, enumName) == 0)
return enm.value;
}
}
+#endif
+ for(const auto &enm : alcEnumerations)
+ {
+ if(strcmp(enm.enumName, enumName) == 0)
+ return enm.value;
+ }
return 0;
}