Browse Source

windows and linux AL_ALEXT_PROTOTYPES blocks, as well as exposed the defining of it cmake side for the adventurous (windows and linux on by default, mac off till we sort why dylibs are freaking out)

AzaezelX 6 years ago
parent
commit
4ee8df8863

+ 2 - 1
Engine/source/sfx/openal/linux/LoadOAL.linux.cpp

@@ -447,6 +447,7 @@ ALboolean LoadOAL10Library(char *szOALFullPathName, LPOPENALFNTABLE lpOALFnTable
 		warn("Failed to retrieve 'alcGetEnumValue' function address\n");
 		return AL_FALSE;
 	}
+#if defined(AL_ALEXT_PROTOTYPES)
   //efx
     lpOALFnTable->alGenEffects = (LPALGENEFFECTS)dlsym(openal_library, "alGenEffects");
     if (lpOALFnTable->alGenEffects == NULL)
@@ -586,7 +587,7 @@ ALboolean LoadOAL10Library(char *szOALFullPathName, LPOPENALFNTABLE lpOALFnTable
        warn("Failed to retrieve 'alSource3i' function address\n");
        return AL_FALSE;
     }
-
+#endif
 	return AL_TRUE;
 }
 

+ 3 - 1
Engine/source/sfx/openal/win32/LoadOAL.cpp

@@ -439,6 +439,7 @@ ALboolean LoadOAL10Library(char *szOALFullPathName, LPOPENALFNTABLE lpOALFnTable
 		OutputDebugStringA("Failed to retrieve 'alcGetEnumValue' function address\n");
 		return AL_FALSE;
 	}
+#if defined(AL_ALEXT_PROTOTYPES)
    lpOALFnTable->alGenEffects = (LPALGENEFFECTS)GetProcAddress(g_hOpenALDLL, "alGenEffects");
    if (lpOALFnTable->alGenEffects == NULL)
    {
@@ -551,6 +552,7 @@ ALboolean LoadOAL10Library(char *szOALFullPathName, LPOPENALFNTABLE lpOALFnTable
       OutputDebugStringA("Failed to retrieve 'alGetAuxiliaryEffectSlotiv' function address\n");
    }
    lpOALFnTable->alSource3i = (LPALSOURCE3I)GetProcAddress(g_hOpenALDLL, "alSource3i");
+#endif
 	return AL_TRUE;
 }
 
@@ -562,4 +564,4 @@ ALvoid UnloadOAL10Library()
 		FreeLibrary(g_hOpenALDLL);
 		g_hOpenALDLL = NULL;
 	}
-}
+}

+ 8 - 0
Tools/CMake/torque3d.cmake

@@ -394,18 +394,26 @@ endif()
 if(TORQUE_SFX_OPENAL AND NOT TORQUE_DEDICATED)
     addPath("${srcDir}/sfx/openal")
     if(WIN32)
+      option(AL_ALEXT_PROTOTYPES "Use Extended OpenAL options" ON)
       addPath("${srcDir}/sfx/openal/win32")
       addInclude("${libDir}/openal-soft/include")
     endif()
       if(UNIX AND NOT APPLE)
+         option(AL_ALEXT_PROTOTYPES "Use Extended OpenAL options" ON)
          addPath("${srcDir}/sfx/openal/linux")
       endif()
    if(APPLE)
+      option(AL_ALEXT_PROTOTYPES "Use Extended OpenAL options" OFF)
       addPath("${srcDir}/sfx/openal/mac")
       addFramework("OpenAL")
     endif()
 endif()
 
+mark_as_advanced(AL_ALEXT_PROTOTYPES)
+if(AL_ALEXT_PROTOTYPES)
+	addDef( "AL_ALEXT_PROTOTYPES" )
+endif()
+
 # Vorbis
 if(TORQUE_SFX_VORBIS)
     addInclude(${libDir}/libvorbis/include)