diff options
author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2007-09-05 18:17:46 +0000 |
---|---|---|
committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2007-09-05 18:17:46 +0000 |
commit | d37536edf4660f3c46e4876b6d72e9a200549ffe (patch) | |
tree | 637eb5f3e49f4075ecdef97a31f5e8157cee73a2 /code/client/qal.c | |
parent | 4496eacc4ec7406fd694693da5a7f9589933f7fd (diff) | |
download | ioquake3-aero-d37536edf4660f3c46e4876b6d72e9a200549ffe.tar.gz ioquake3-aero-d37536edf4660f3c46e4876b6d72e9a200549ffe.zip |
* Merge unified-sdl to trunk
* Bump Q3_VERSION to 1.35
git-svn-id: svn://svn.icculus.org/quake3/trunk@1161 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/client/qal.c')
-rw-r--r-- | code/client/qal.c | 43 |
1 files changed, 7 insertions, 36 deletions
diff --git a/code/client/qal.c b/code/client/qal.c index 1f73312..b573a3b 100644 --- a/code/client/qal.c +++ b/code/client/qal.c @@ -29,36 +29,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #if USE_OPENAL_DLOPEN -#if USE_SDL_VIDEO -#include "SDL.h" -#include "SDL_loadso.h" -#define OBJTYPE void * -#define OBJLOAD(x) SDL_LoadObject(x) -#define SYMLOAD(x,y) SDL_LoadFunction(x,y) -#define OBJFREE(x) SDL_UnloadObject(x) - -#elif defined _WIN32 -#include <windows.h> -#define OBJTYPE HMODULE -#define OBJLOAD(x) LoadLibrary(x) -#define SYMLOAD(x,y) GetProcAddress(x,y) -#define OBJFREE(x) FreeLibrary(x) - -#elif defined __linux__ || defined __FreeBSD__ || defined MACOS_X || defined __sun -#include <dlfcn.h> -#define OBJTYPE void * -#define OBJLOAD(x) dlopen(x, RTLD_LAZY | RTLD_GLOBAL) -#define SYMLOAD(x,y) dlsym(x,y) -#define OBJFREE(x) dlclose(x) -#else - -#error "Your platform has no lib loading code or it is disabled" -#endif - -#if defined __linux__ || defined __FreeBSD__ || defined MACOS_X -#include <unistd.h> -#include <sys/types.h> -#endif +#include "../sys/sys_loadlib.h" LPALENABLE qalEnable; LPALDISABLE qalDisable; @@ -131,7 +102,7 @@ LPALCGETENUMVALUE qalcGetEnumValue; LPALCGETSTRING qalcGetString; LPALCGETINTEGERV qalcGetIntegerv; -static OBJTYPE OpenALLib = NULL; +static void *OpenALLib = NULL; static qboolean alinit_fail = qfalse; @@ -144,7 +115,7 @@ static void *GPA(char *str) { void *rv; - rv = SYMLOAD(OpenALLib, str); + rv = Sys_LoadFunction(OpenALLib, str); if(!rv) { Com_Printf( " Can't load symbol %s\n", str); @@ -169,17 +140,17 @@ qboolean QAL_Init(const char *libname) return qtrue; Com_Printf( "Loading \"%s\"...\n", libname); - if( (OpenALLib = OBJLOAD(libname)) == 0 ) + if( (OpenALLib = Sys_LoadLibrary(libname)) == 0 ) { #ifdef _WIN32 return qfalse; #else char fn[1024]; - getcwd(fn, sizeof(fn)); + Q_strncpyz( fn, Sys_Cwd( ), sizeof( fn ) ); strncat(fn, "/", sizeof(fn) - strlen(fn) - 1); strncat(fn, libname, sizeof(fn) - strlen(fn) - 1); - if( (OpenALLib = OBJLOAD(fn)) == 0 ) + if( (OpenALLib = Sys_LoadLibrary(fn)) == 0 ) { return qfalse; } @@ -278,7 +249,7 @@ void QAL_Shutdown( void ) { if(OpenALLib) { - OBJFREE(OpenALLib); + Sys_UnloadLibrary(OpenALLib); OpenALLib = NULL; } |