LoadOAL.h

Engine/source/sfx/openal/LoadOAL.h

More...

Classes:

Public Defines

define
define
define
ALCchar() char
define
ALchar() char

Public Typedefs

LPALAUXILIARYEFFECTSLOTF )(ALuint effectslot, ALenum param, ALfloat value)
LPALAUXILIARYEFFECTSLOTFV )(ALuint effectslot, ALenum param, const ALfloat *values)
LPALAUXILIARYEFFECTSLOTI )(ALuint effectslot, ALenum param, ALint value)
LPALAUXILIARYEFFECTSLOTIV )(ALuint effectslot, ALenum param, const ALint *values)
LPALBUFFERDATA )(ALuint bid, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq)
ALCboolean(ALCAPIENTRY *
LPALCCLOSEDEVICE )(ALCdevice *device)
ALCcontext *(ALCAPIENTRY *
LPALCCREATECONTEXT )(ALCdevice *device, const ALCint *attrlist)
LPALCDESTROYCONTEXT )(ALCcontext *context)
ALCdevice *(ALCAPIENTRY *
LPALCGETCONTEXTSDEVICE )(ALCcontext *context)
ALCcontext *(ALCAPIENTRY *
LPALCGETCURRENTCONTEXT )(void)
ALCenum(ALCAPIENTRY *
LPALCGETENUMVALUE )(ALCdevice *device, const ALCchar *enumname)
ALCenum(ALCAPIENTRY *
LPALCGETERROR )(ALCdevice *device)
LPALCGETINTEGERV )(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *dest)
LPALCGETPROCADDRESS )(ALCdevice *device, const ALCchar *funcname)
LPALCGETSTRING )(ALCdevice *device, ALCenum param)
ALCboolean(ALCAPIENTRY *
LPALCISEXTENSIONPRESENT )(ALCdevice *device, const ALCchar *extname)
ALCboolean(ALCAPIENTRY *
LPALCMAKECONTEXTCURRENT )(ALCcontext *context)
ALCdevice *(ALCAPIENTRY *
LPALCOPENDEVICE )(const ALCchar *devicename)
LPALCPROCESSCONTEXT )(ALCcontext *context)
LPALCSUSPENDCONTEXT )(ALCcontext *context)
LPALDELETEAUXILIARYEFFECTSLOTS )(ALsizei n, const ALuint *effectslots)
LPALDELETEBUFFERS )(ALsizei n, const ALuint *buffers)
LPALDELETEEFFECTS )(ALsizei n, const ALuint *effects)
LPALDELETESOURCES )(ALsizei n, const ALuint *sources)
LPALDISABLE )(ALenum capability)
LPALDISTANCEMODEL )(ALenum distanceModel)
LPALDOPPLERFACTOR )(ALfloat value)
LPALDOPPLERVELOCITY )(ALfloat value)
LPALEFFECTF )(ALuint effect, ALenum param, ALfloat value)
LPALEFFECTFV )(ALuint effect, ALenum param, const ALfloat *values)
LPALEFFECTI )(ALuint effect, ALenum param, ALint value)
LPALEFFECTIV )(ALuint effect, ALenum param, const ALint *values)
LPALENABLE )(ALenum capability)
LPALGENAUXILIARYEFFECTSLOTS )(ALsizei n, ALuint *effectslots)
LPALGENBUFFERS )(ALsizei n, ALuint *buffers)
LPALGENEFFECTS )(ALsizei n, ALuint *effects)

Changes for effects.

LPALGENSOURCES )(ALsizei n, ALuint *sources)
LPALGETAUXILIARYEFFECTSLOTF )(ALuint effectslot, ALenum param, ALfloat *value)
LPALGETAUXILIARYEFFECTSLOTFV )(ALuint effectslot, ALenum param, ALfloat *values)
LPALGETAUXILIARYEFFECTSLOTI )(ALuint effectslot, ALenum param, ALint *value)
LPALGETAUXILIARYEFFECTSLOTIV )(ALuint effectslot, ALenum param, ALint *values)
ALboolean(ALAPIENTRY *
LPALGETBOOLEAN )(ALenum param)
LPALGETBOOLEANV )(ALenum param, ALboolean *data)
LPALGETBUFFERF )(ALuint bid, ALenum param, ALfloat *value)
LPALGETBUFFERI )(ALuint bid, ALenum param, ALint *value)
ALdouble(ALAPIENTRY *
LPALGETDOUBLE )(ALenum param)
LPALGETDOUBLEV )(ALenum param, ALdouble *data)
LPALGETEFFECTF )(ALuint effect, ALenum param, ALfloat *value)
LPALGETEFFECTFV )(ALuint effect, ALenum param, ALfloat *values)
LPALGETEFFECTI )(ALuint effect, ALenum param, ALint *value)
LPALGETEFFECTIV )(ALuint effect, ALenum param, ALint *values)
ALenum(ALAPIENTRY *
LPALGETENUMVALUE )(const ALchar *ename)
ALenum(ALAPIENTRY *
LPALGETERROR )(void)
ALfloat(ALAPIENTRY *
LPALGETFLOAT )(ALenum param)
LPALGETFLOATV )(ALenum param, ALfloat *data)
ALint(ALAPIENTRY *
LPALGETINTEGER )(ALenum param)
LPALGETINTEGERV )(ALenum param, ALint *data)
LPALGETLISTENER3F )(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3)
LPALGETLISTENERF )(ALenum param, ALfloat *value)
LPALGETLISTENERFV )(ALenum param, ALfloat *values)
LPALGETLISTENERI )(ALenum param, ALint *value)
LPALGETPROCADDRESS )(const ALchar *fname)
LPALGETSOURCE3F )(ALuint sid, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3)
LPALGETSOURCEF )(ALuint sid, ALenum param, ALfloat *value)
LPALGETSOURCEFV )(ALuint sid, ALenum param, ALfloat *values)
LPALGETSOURCEI )(ALuint sid, ALenum param, ALint *value)
LPALGETSTRING )(ALenum param)
ALboolean(ALAPIENTRY *
LPALISAUXILIARYEFFECTSLOT )(ALuint effectslot)
ALboolean(ALAPIENTRY *
LPALISBUFFER )(ALuint bid)
ALboolean(ALAPIENTRY *
LPALISEFFECT )(ALuint effect)
ALboolean(ALAPIENTRY *
LPALISENABLED )(ALenum capability)
ALboolean(ALAPIENTRY *
LPALISEXTENSIONPRESENT )(const ALchar *extname)
ALboolean(ALAPIENTRY *
LPALISSOURCE )(ALuint sid)
LPALLISTENER3F )(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3)
LPALLISTENERF )(ALenum param, ALfloat value)
LPALLISTENERFV )(ALenum param, const ALfloat *values)
LPALLISTENERI )(ALenum param, ALint value)
LPALRELEASEALEFFECTS )(ALCdevice *device)
LPALSOURCE3F )(ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3)
LPALSOURCE3I )(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3)
LPALSOURCEF )(ALuint sid, ALenum param, ALfloat value)
LPALSOURCEFV )(ALuint sid, ALenum param, const ALfloat *values)
LPALSOURCEI )(ALuint sid, ALenum param, ALint value)
LPALSOURCEPAUSE )(ALuint sid)
LPALSOURCEPAUSEV )(ALsizei ns, const ALuint *sids)
LPALSOURCEPLAY )(ALuint sid)
LPALSOURCEPLAYV )(ALsizei ns, const ALuint *sids)
LPALSOURCEQUEUEBUFFERS )(ALuint sid, ALsizei numEntries, const ALuint *bids)
LPALSOURCEREWIND )(ALuint sid)
LPALSOURCEREWINDV )(ALsizei ns, const ALuint *sids)
LPALSOURCESTOP )(ALuint sid)
LPALSOURCESTOPV )(ALsizei ns, const ALuint *sids)
LPALSOURCEUNQUEUEBUFFERS )(ALuint sid, ALsizei numEntries, ALuint *bids)
struct OPENALFNTABLE *
LPOPENALFNTABLE 

Public Functions

ALboolean
LoadOAL10Library(char * szOALFullPathName, LPOPENALFNTABLE lpOALFnTable)

Detailed Description

Public Defines

_OPENALFNTABLE() 
ALAPIENTRY() 
ALCAPIENTRY() 
ALCchar() char
ALchar() char

Public Typedefs

typedef void(ALAPIENTRY * LPALAUXILIARYEFFECTSLOTF )(ALuint effectslot, ALenum param, ALfloat value)
typedef void(ALAPIENTRY * LPALAUXILIARYEFFECTSLOTFV )(ALuint effectslot, ALenum param, const ALfloat *values)
typedef void(ALAPIENTRY * LPALAUXILIARYEFFECTSLOTI )(ALuint effectslot, ALenum param, ALint value)
typedef void(ALAPIENTRY * LPALAUXILIARYEFFECTSLOTIV )(ALuint effectslot, ALenum param, const ALint *values)
typedef void(ALAPIENTRY * LPALBUFFERDATA )(ALuint bid, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq)
typedef ALCboolean(ALCAPIENTRY * LPALCCLOSEDEVICE )(ALCdevice *device)
typedef ALCcontext *(ALCAPIENTRY * LPALCCREATECONTEXT )(ALCdevice *device, const ALCint *attrlist)
typedef void(ALCAPIENTRY * LPALCDESTROYCONTEXT )(ALCcontext *context)
typedef ALCdevice *(ALCAPIENTRY * LPALCGETCONTEXTSDEVICE )(ALCcontext *context)
typedef ALCcontext *(ALCAPIENTRY * LPALCGETCURRENTCONTEXT )(void)
typedef ALCenum(ALCAPIENTRY * LPALCGETENUMVALUE )(ALCdevice *device, const ALCchar *enumname)
typedef ALCenum(ALCAPIENTRY * LPALCGETERROR )(ALCdevice *device)
typedef void(ALCAPIENTRY * LPALCGETINTEGERV )(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *dest)
typedef void *(ALCAPIENTRY * LPALCGETPROCADDRESS )(ALCdevice *device, const ALCchar *funcname)
typedef const ALCchar *(ALCAPIENTRY * LPALCGETSTRING )(ALCdevice *device, ALCenum param)
typedef ALCboolean(ALCAPIENTRY * LPALCISEXTENSIONPRESENT )(ALCdevice *device, const ALCchar *extname)
typedef ALCboolean(ALCAPIENTRY * LPALCMAKECONTEXTCURRENT )(ALCcontext *context)
typedef ALCdevice *(ALCAPIENTRY * LPALCOPENDEVICE )(const ALCchar *devicename)
typedef void(ALCAPIENTRY * LPALCPROCESSCONTEXT )(ALCcontext *context)
typedef void(ALCAPIENTRY * LPALCSUSPENDCONTEXT )(ALCcontext *context)
typedef void(ALAPIENTRY * LPALDELETEAUXILIARYEFFECTSLOTS )(ALsizei n, const ALuint *effectslots)
typedef void(ALAPIENTRY * LPALDELETEBUFFERS )(ALsizei n, const ALuint *buffers)
typedef void(ALAPIENTRY * LPALDELETEEFFECTS )(ALsizei n, const ALuint *effects)
typedef void(ALAPIENTRY * LPALDELETESOURCES )(ALsizei n, const ALuint *sources)
typedef void(ALAPIENTRY * LPALDISABLE )(ALenum capability)
typedef void(ALAPIENTRY * LPALDISTANCEMODEL )(ALenum distanceModel)
typedef void(ALAPIENTRY * LPALDOPPLERFACTOR )(ALfloat value)
typedef void(ALAPIENTRY * LPALDOPPLERVELOCITY )(ALfloat value)
typedef void(ALAPIENTRY * LPALEFFECTF )(ALuint effect, ALenum param, ALfloat value)
typedef void(ALAPIENTRY * LPALEFFECTFV )(ALuint effect, ALenum param, const ALfloat *values)
typedef void(ALAPIENTRY * LPALEFFECTI )(ALuint effect, ALenum param, ALint value)
typedef void(ALAPIENTRY * LPALEFFECTIV )(ALuint effect, ALenum param, const ALint *values)
typedef void(ALAPIENTRY * LPALENABLE )(ALenum capability)
typedef void(ALAPIENTRY * LPALGENAUXILIARYEFFECTSLOTS )(ALsizei n, ALuint *effectslots)
typedef void(ALAPIENTRY * LPALGENBUFFERS )(ALsizei n, ALuint *buffers)
typedef void(ALAPIENTRY * LPALGENEFFECTS )(ALsizei n, ALuint *effects)

Changes for effects.

typedef void(ALAPIENTRY * LPALGENSOURCES )(ALsizei n, ALuint *sources)
typedef void(ALAPIENTRY * LPALGETAUXILIARYEFFECTSLOTF )(ALuint effectslot, ALenum param, ALfloat *value)
typedef void(ALAPIENTRY * LPALGETAUXILIARYEFFECTSLOTFV )(ALuint effectslot, ALenum param, ALfloat *values)
typedef void(ALAPIENTRY * LPALGETAUXILIARYEFFECTSLOTI )(ALuint effectslot, ALenum param, ALint *value)
typedef void(ALAPIENTRY * LPALGETAUXILIARYEFFECTSLOTIV )(ALuint effectslot, ALenum param, ALint *values)
typedef ALboolean(ALAPIENTRY * LPALGETBOOLEAN )(ALenum param)
typedef void(ALAPIENTRY * LPALGETBOOLEANV )(ALenum param, ALboolean *data)
typedef void(ALAPIENTRY * LPALGETBUFFERF )(ALuint bid, ALenum param, ALfloat *value)
typedef void(ALAPIENTRY * LPALGETBUFFERI )(ALuint bid, ALenum param, ALint *value)
typedef ALdouble(ALAPIENTRY * LPALGETDOUBLE )(ALenum param)
typedef void(ALAPIENTRY * LPALGETDOUBLEV )(ALenum param, ALdouble *data)
typedef void(ALAPIENTRY * LPALGETEFFECTF )(ALuint effect, ALenum param, ALfloat *value)
typedef void(ALAPIENTRY * LPALGETEFFECTFV )(ALuint effect, ALenum param, ALfloat *values)
typedef void(ALAPIENTRY * LPALGETEFFECTI )(ALuint effect, ALenum param, ALint *value)
typedef void(ALAPIENTRY * LPALGETEFFECTIV )(ALuint effect, ALenum param, ALint *values)
typedef ALenum(ALAPIENTRY * LPALGETENUMVALUE )(const ALchar *ename)
typedef ALenum(ALAPIENTRY * LPALGETERROR )(void)
typedef ALfloat(ALAPIENTRY * LPALGETFLOAT )(ALenum param)
typedef void(ALAPIENTRY * LPALGETFLOATV )(ALenum param, ALfloat *data)
typedef ALint(ALAPIENTRY * LPALGETINTEGER )(ALenum param)
typedef void(ALAPIENTRY * LPALGETINTEGERV )(ALenum param, ALint *data)
typedef void(ALAPIENTRY * LPALGETLISTENER3F )(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3)
typedef void(ALAPIENTRY * LPALGETLISTENERF )(ALenum param, ALfloat *value)
typedef void(ALAPIENTRY * LPALGETLISTENERFV )(ALenum param, ALfloat *values)
typedef void(ALAPIENTRY * LPALGETLISTENERI )(ALenum param, ALint *value)
typedef void *(ALAPIENTRY * LPALGETPROCADDRESS )(const ALchar *fname)
typedef void(ALAPIENTRY * LPALGETSOURCE3F )(ALuint sid, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3)
typedef void(ALAPIENTRY * LPALGETSOURCEF )(ALuint sid, ALenum param, ALfloat *value)
typedef void(ALAPIENTRY * LPALGETSOURCEFV )(ALuint sid, ALenum param, ALfloat *values)
typedef void(ALAPIENTRY * LPALGETSOURCEI )(ALuint sid, ALenum param, ALint *value)
typedef const ALchar *(ALAPIENTRY * LPALGETSTRING )(ALenum param)
typedef ALboolean(ALAPIENTRY * LPALISAUXILIARYEFFECTSLOT )(ALuint effectslot)
typedef ALboolean(ALAPIENTRY * LPALISBUFFER )(ALuint bid)
typedef ALboolean(ALAPIENTRY * LPALISEFFECT )(ALuint effect)
typedef ALboolean(ALAPIENTRY * LPALISENABLED )(ALenum capability)
typedef ALboolean(ALAPIENTRY * LPALISEXTENSIONPRESENT )(const ALchar *extname)
typedef ALboolean(ALAPIENTRY * LPALISSOURCE )(ALuint sid)
typedef void(ALAPIENTRY * LPALLISTENER3F )(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3)
typedef void(ALAPIENTRY * LPALLISTENERF )(ALenum param, ALfloat value)
typedef void(ALAPIENTRY * LPALLISTENERFV )(ALenum param, const ALfloat *values)
typedef void(ALAPIENTRY * LPALLISTENERI )(ALenum param, ALint value)
typedef void(ALAPIENTRY * LPALRELEASEALEFFECTS )(ALCdevice *device)
typedef void(ALAPIENTRY * LPALSOURCE3F )(ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3)
typedef void(ALAPIENTRY * LPALSOURCE3I )(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3)
typedef void(ALAPIENTRY * LPALSOURCEF )(ALuint sid, ALenum param, ALfloat value)
typedef void(ALAPIENTRY * LPALSOURCEFV )(ALuint sid, ALenum param, const ALfloat *values)
typedef void(ALAPIENTRY * LPALSOURCEI )(ALuint sid, ALenum param, ALint value)
typedef void(ALAPIENTRY * LPALSOURCEPAUSE )(ALuint sid)
typedef void(ALAPIENTRY * LPALSOURCEPAUSEV )(ALsizei ns, const ALuint *sids)
typedef void(ALAPIENTRY * LPALSOURCEPLAY )(ALuint sid)
typedef void(ALAPIENTRY * LPALSOURCEPLAYV )(ALsizei ns, const ALuint *sids)
typedef void(ALAPIENTRY * LPALSOURCEQUEUEBUFFERS )(ALuint sid, ALsizei numEntries, const ALuint *bids)
typedef void(ALAPIENTRY * LPALSOURCEREWIND )(ALuint sid)
typedef void(ALAPIENTRY * LPALSOURCEREWINDV )(ALsizei ns, const ALuint *sids)
typedef void(ALAPIENTRY * LPALSOURCESTOP )(ALuint sid)
typedef void(ALAPIENTRY * LPALSOURCESTOPV )(ALsizei ns, const ALuint *sids)
typedef void(ALAPIENTRY * LPALSOURCEUNQUEUEBUFFERS )(ALuint sid, ALsizei numEntries, ALuint *bids)
typedef struct OPENALFNTABLE * LPOPENALFNTABLE 

Public Functions

LoadOAL10Library(char * szOALFullPathName, LPOPENALFNTABLE lpOALFnTable)

UnloadOAL10Library()

  1
  2//-----------------------------------------------------------------------------
  3// Copyright (c) 2012 GarageGames, LLC
  4//
  5// Permission is hereby granted, free of charge, to any person obtaining a copy
  6// of this software and associated documentation files (the "Software"), to
  7// deal in the Software without restriction, including without limitation the
  8// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  9// sell copies of the Software, and to permit persons to whom the Software is
 10// furnished to do so, subject to the following conditions:
 11//
 12// The above copyright notice and this permission notice shall be included in
 13// all copies or substantial portions of the Software.
 14//
 15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 18// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 21// IN THE SOFTWARE.
 22//-----------------------------------------------------------------------------
 23
 24#ifndef _LOADOAL_H_
 25#define _LOADOAL_H_
 26
 27#ifndef _PLATFORM_H_
 28#  include "platform/platform.h"
 29#endif
 30
 31#if defined(TORQUE_OS_MAC)
 32//#define AL_ALEXT_PROTOTYPES true
 33#  include <OpenAL/al.h>
 34#  include <OpenAL/alc.h>
 35#elif defined(TORQUE_OS_LINUX)
 36#  include <AL/al.h>
 37#  include <AL/alc.h>
 38#  include <AL/alext.h>
 39#  include <AL/efx.h>
 40#  include <AL/efx-presets.h>
 41#else
 42#  include <al/al.h>
 43#  include <al/alc.h>
 44#  include <AL/alext.h>
 45#  include <AL/efx-presets.h>
 46#endif
 47
 48#ifndef ALAPIENTRY
 49#define ALAPIENTRY
 50#endif
 51
 52#ifndef ALCAPIENTRY
 53#define ALCAPIENTRY
 54#endif
 55
 56// Open AL Function table definition
 57
 58#ifndef _OPENALFNTABLE
 59#define _OPENALFNTABLE
 60
 61// AL 1.0 did not define the ALchar and ALCchar types, so define them here
 62// if they don't exist
 63
 64#ifndef ALchar
 65#define ALchar char
 66#endif
 67
 68#ifndef ALCchar
 69#define ALCchar char
 70#endif
 71
 72// Complete list of functions available in AL 1.0 implementations
 73
 74typedef void           (ALAPIENTRY *LPALENABLE)( ALenum capability );
 75typedef void           (ALAPIENTRY *LPALDISABLE)( ALenum capability ); 
 76typedef ALboolean      (ALAPIENTRY *LPALISENABLED)( ALenum capability ); 
 77typedef const ALchar*  (ALAPIENTRY *LPALGETSTRING)( ALenum param );
 78typedef void           (ALAPIENTRY *LPALGETBOOLEANV)( ALenum param, ALboolean* data );
 79typedef void           (ALAPIENTRY *LPALGETINTEGERV)( ALenum param, ALint* data );
 80typedef void           (ALAPIENTRY *LPALGETFLOATV)( ALenum param, ALfloat* data );
 81typedef void           (ALAPIENTRY *LPALGETDOUBLEV)( ALenum param, ALdouble* data );
 82typedef ALboolean      (ALAPIENTRY *LPALGETBOOLEAN)( ALenum param );
 83typedef ALint          (ALAPIENTRY *LPALGETINTEGER)( ALenum param );
 84typedef ALfloat        (ALAPIENTRY *LPALGETFLOAT)( ALenum param );
 85typedef ALdouble       (ALAPIENTRY *LPALGETDOUBLE)( ALenum param );
 86typedef ALenum         (ALAPIENTRY *LPALGETERROR)( void );
 87typedef ALboolean      (ALAPIENTRY *LPALISEXTENSIONPRESENT)(const ALchar* extname );
 88typedef void*          (ALAPIENTRY *LPALGETPROCADDRESS)( const ALchar* fname );
 89typedef ALenum         (ALAPIENTRY *LPALGETENUMVALUE)( const ALchar* ename );
 90typedef void           (ALAPIENTRY *LPALLISTENERF)( ALenum param, ALfloat value );
 91typedef void           (ALAPIENTRY *LPALLISTENER3F)( ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 );
 92typedef void           (ALAPIENTRY *LPALLISTENERFV)( ALenum param, const ALfloat* values );
 93typedef void           (ALAPIENTRY *LPALLISTENERI)( ALenum param, ALint value );
 94typedef void           (ALAPIENTRY *LPALGETLISTENERF)( ALenum param, ALfloat* value );
 95typedef void           (ALAPIENTRY *LPALGETLISTENER3F)( ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3 );
 96typedef void           (ALAPIENTRY *LPALGETLISTENERFV)( ALenum param, ALfloat* values );
 97typedef void           (ALAPIENTRY *LPALGETLISTENERI)( ALenum param, ALint* value );
 98typedef void           (ALAPIENTRY *LPALGENSOURCES)( ALsizei n, ALuint* sources ); 
 99typedef void           (ALAPIENTRY *LPALDELETESOURCES)( ALsizei n, const ALuint* sources );
100typedef ALboolean      (ALAPIENTRY *LPALISSOURCE)( ALuint sid ); 
101typedef void           (ALAPIENTRY *LPALSOURCEF)( ALuint sid, ALenum param, ALfloat value); 
102typedef void           (ALAPIENTRY *LPALSOURCE3F)( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 );
103typedef void           (ALAPIENTRY *LPALSOURCEFV)( ALuint sid, ALenum param, const ALfloat* values );
104typedef void           (ALAPIENTRY *LPALSOURCEI)( ALuint sid, ALenum param, ALint value); 
105typedef void           (ALAPIENTRY *LPALGETSOURCEF)( ALuint sid, ALenum param, ALfloat* value );
106typedef void           (ALAPIENTRY *LPALGETSOURCE3F)( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3);
107typedef void           (ALAPIENTRY *LPALGETSOURCEFV)( ALuint sid, ALenum param, ALfloat* values );
108typedef void           (ALAPIENTRY *LPALGETSOURCEI)( ALuint sid, ALenum param, ALint* value );
109typedef void           (ALAPIENTRY *LPALSOURCEPLAYV)( ALsizei ns, const ALuint *sids );
110typedef void           (ALAPIENTRY *LPALSOURCESTOPV)( ALsizei ns, const ALuint *sids );
111typedef void           (ALAPIENTRY *LPALSOURCEREWINDV)( ALsizei ns, const ALuint *sids );
112typedef void           (ALAPIENTRY *LPALSOURCEPAUSEV)( ALsizei ns, const ALuint *sids );
113typedef void           (ALAPIENTRY *LPALSOURCEPLAY)( ALuint sid );
114typedef void           (ALAPIENTRY *LPALSOURCESTOP)( ALuint sid );
115typedef void           (ALAPIENTRY *LPALSOURCEREWIND)( ALuint sid );
116typedef void           (ALAPIENTRY *LPALSOURCEPAUSE)( ALuint sid );
117typedef void           (ALAPIENTRY *LPALSOURCEQUEUEBUFFERS)(ALuint sid, ALsizei numEntries, const ALuint *bids );
118typedef void           (ALAPIENTRY *LPALSOURCEUNQUEUEBUFFERS)(ALuint sid, ALsizei numEntries, ALuint *bids );
119typedef void           (ALAPIENTRY *LPALGENBUFFERS)( ALsizei n, ALuint* buffers );
120typedef void           (ALAPIENTRY *LPALDELETEBUFFERS)( ALsizei n, const ALuint* buffers );
121typedef ALboolean      (ALAPIENTRY *LPALISBUFFER)( ALuint bid );
122typedef void           (ALAPIENTRY *LPALBUFFERDATA)( ALuint bid, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq );
123typedef void           (ALAPIENTRY *LPALGETBUFFERF)( ALuint bid, ALenum param, ALfloat* value );
124typedef void           (ALAPIENTRY *LPALGETBUFFERI)( ALuint bid, ALenum param, ALint* value );
125typedef void           (ALAPIENTRY *LPALDOPPLERFACTOR)( ALfloat value );
126typedef void           (ALAPIENTRY *LPALDOPPLERVELOCITY)( ALfloat value );
127typedef void           (ALAPIENTRY *LPALDISTANCEMODEL)( ALenum distanceModel );
128
129typedef ALCcontext *   (ALCAPIENTRY *LPALCCREATECONTEXT) (ALCdevice *device, const ALCint *attrlist);
130typedef ALCboolean     (ALCAPIENTRY *LPALCMAKECONTEXTCURRENT)( ALCcontext *context );
131typedef void           (ALCAPIENTRY *LPALCPROCESSCONTEXT)( ALCcontext *context );
132typedef void           (ALCAPIENTRY *LPALCSUSPENDCONTEXT)( ALCcontext *context );
133typedef void           (ALCAPIENTRY *LPALCDESTROYCONTEXT)( ALCcontext *context );
134typedef ALCcontext *   (ALCAPIENTRY *LPALCGETCURRENTCONTEXT)( void );
135typedef ALCdevice *    (ALCAPIENTRY *LPALCGETCONTEXTSDEVICE)( ALCcontext *context );
136typedef ALCdevice *    (ALCAPIENTRY *LPALCOPENDEVICE)( const ALCchar *devicename );
137typedef ALCboolean     (ALCAPIENTRY *LPALCCLOSEDEVICE)( ALCdevice *device );
138typedef ALCenum        (ALCAPIENTRY *LPALCGETERROR)( ALCdevice *device );
139typedef ALCboolean     (ALCAPIENTRY *LPALCISEXTENSIONPRESENT)( ALCdevice *device, const ALCchar *extname );
140typedef void *         (ALCAPIENTRY *LPALCGETPROCADDRESS)(ALCdevice *device, const ALCchar *funcname );
141typedef ALCenum        (ALCAPIENTRY *LPALCGETENUMVALUE)(ALCdevice *device, const ALCchar *enumname );
142typedef const ALCchar* (ALCAPIENTRY *LPALCGETSTRING)( ALCdevice *device, ALCenum param );
143typedef void           (ALCAPIENTRY *LPALCGETINTEGERV)( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *dest );
144///Changes for effects
145typedef void           (ALAPIENTRY *LPALGENEFFECTS)(ALsizei n, ALuint *effects);
146typedef void           (ALAPIENTRY *LPALDELETEEFFECTS)(ALsizei n, const ALuint *effects);
147typedef ALboolean      (ALAPIENTRY *LPALISEFFECT)(ALuint effect);
148typedef void           (ALAPIENTRY *LPALEFFECTI)(ALuint effect, ALenum param, ALint value);
149typedef void           (ALAPIENTRY *LPALEFFECTIV)(ALuint effect, ALenum param, const ALint *values);
150typedef void           (ALAPIENTRY *LPALEFFECTF)(ALuint effect, ALenum param, ALfloat value);
151typedef void           (ALAPIENTRY *LPALEFFECTFV)(ALuint effect, ALenum param, const ALfloat *values);
152typedef void           (ALAPIENTRY *LPALGETEFFECTI)(ALuint effect, ALenum param, ALint *value);
153typedef void           (ALAPIENTRY *LPALGETEFFECTIV)(ALuint effect, ALenum param, ALint *values);
154typedef void           (ALAPIENTRY *LPALGETEFFECTF)(ALuint effect, ALenum param, ALfloat *value);
155typedef void           (ALAPIENTRY *LPALGETEFFECTFV)(ALuint effect, ALenum param, ALfloat *values);
156typedef void           (ALAPIENTRY *LPALRELEASEALEFFECTS)(ALCdevice *device);
157typedef void           (ALAPIENTRY *LPALGENAUXILIARYEFFECTSLOTS)(ALsizei n, ALuint *effectslots);
158typedef void           (ALAPIENTRY *LPALDELETEAUXILIARYEFFECTSLOTS)(ALsizei n, const ALuint *effectslots);
159typedef ALboolean      (ALAPIENTRY *LPALISAUXILIARYEFFECTSLOT)(ALuint effectslot);
160typedef void           (ALAPIENTRY *LPALAUXILIARYEFFECTSLOTI)(ALuint effectslot, ALenum param, ALint value);
161typedef void           (ALAPIENTRY *LPALAUXILIARYEFFECTSLOTIV)(ALuint effectslot, ALenum param, const ALint *values);
162typedef void           (ALAPIENTRY *LPALAUXILIARYEFFECTSLOTF)(ALuint effectslot, ALenum param, ALfloat value);
163typedef void           (ALAPIENTRY *LPALAUXILIARYEFFECTSLOTFV)(ALuint effectslot, ALenum param, const ALfloat *values);
164typedef void           (ALAPIENTRY *LPALGETAUXILIARYEFFECTSLOTI)(ALuint effectslot, ALenum param, ALint *value);
165typedef void           (ALAPIENTRY *LPALGETAUXILIARYEFFECTSLOTIV)(ALuint effectslot, ALenum param, ALint *values);
166typedef void           (ALAPIENTRY *LPALGETAUXILIARYEFFECTSLOTF)(ALuint effectslot, ALenum param, ALfloat *value);
167typedef void           (ALAPIENTRY *LPALGETAUXILIARYEFFECTSLOTFV)(ALuint effectslot, ALenum param, ALfloat *values);
168typedef void           (ALAPIENTRY *LPALSOURCE3I)(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3);
169
170typedef struct
171{
172   LPALENABLE                 alEnable;
173   LPALDISABLE                alDisable;
174   LPALISENABLED              alIsEnabled;
175   LPALGETBOOLEAN             alGetBoolean;
176   LPALGETINTEGER             alGetInteger;
177   LPALGETFLOAT               alGetFloat;
178   LPALGETDOUBLE              alGetDouble;
179   LPALGETBOOLEANV            alGetBooleanv;
180   LPALGETINTEGERV            alGetIntegerv;
181   LPALGETFLOATV              alGetFloatv;
182   LPALGETDOUBLEV             alGetDoublev;
183   LPALGETSTRING              alGetString;
184   LPALGETERROR               alGetError;
185   LPALISEXTENSIONPRESENT     alIsExtensionPresent;
186   LPALGETPROCADDRESS         alGetProcAddress;
187   LPALGETENUMVALUE           alGetEnumValue;
188   LPALLISTENERI              alListeneri;
189   LPALLISTENERF              alListenerf;
190   LPALLISTENER3F             alListener3f;
191   LPALLISTENERFV             alListenerfv;
192   LPALGETLISTENERI           alGetListeneri;
193   LPALGETLISTENERF           alGetListenerf;
194   LPALGETLISTENER3F          alGetListener3f;
195   LPALGETLISTENERFV          alGetListenerfv;
196   LPALGENSOURCES             alGenSources;
197   LPALDELETESOURCES          alDeleteSources;
198   LPALISSOURCE               alIsSource;
199   LPALSOURCEI                alSourcei;
200   LPALSOURCEF                alSourcef;
201   LPALSOURCE3I               alSource3i;
202   LPALSOURCE3F               alSource3f;
203   LPALSOURCEFV               alSourcefv;
204   LPALGETSOURCEI             alGetSourcei;
205   LPALGETSOURCEF             alGetSourcef;
206   LPALGETSOURCEFV            alGetSourcefv;
207   LPALSOURCEPLAYV            alSourcePlayv;
208   LPALSOURCESTOPV            alSourceStopv;
209   LPALSOURCEPLAY             alSourcePlay;
210   LPALSOURCEPAUSE            alSourcePause;
211   LPALSOURCESTOP             alSourceStop;
212   LPALSOURCEREWIND           alSourceRewind;
213   LPALGENBUFFERS             alGenBuffers;
214   LPALDELETEBUFFERS          alDeleteBuffers;
215   LPALISBUFFER               alIsBuffer;
216   LPALBUFFERDATA             alBufferData;
217   LPALGETBUFFERI             alGetBufferi;
218   LPALGETBUFFERF             alGetBufferf;
219   LPALSOURCEQUEUEBUFFERS     alSourceQueueBuffers;
220   LPALSOURCEUNQUEUEBUFFERS   alSourceUnqueueBuffers;
221   LPALDISTANCEMODEL          alDistanceModel;
222   LPALDOPPLERFACTOR          alDopplerFactor;
223   LPALDOPPLERVELOCITY        alDopplerVelocity;
224   LPALCGETSTRING             alcGetString;
225   LPALCGETINTEGERV           alcGetIntegerv;
226   LPALCOPENDEVICE            alcOpenDevice;
227   LPALCCLOSEDEVICE           alcCloseDevice;
228   LPALCCREATECONTEXT         alcCreateContext;
229   LPALCMAKECONTEXTCURRENT    alcMakeContextCurrent;
230   LPALCPROCESSCONTEXT        alcProcessContext;
231   LPALCGETCURRENTCONTEXT     alcGetCurrentContext;
232   LPALCGETCONTEXTSDEVICE     alcGetContextsDevice;
233   LPALCSUSPENDCONTEXT        alcSuspendContext;
234   LPALCDESTROYCONTEXT        alcDestroyContext;
235   LPALCGETERROR              alcGetError;
236   LPALCISEXTENSIONPRESENT    alcIsExtensionPresent;
237   LPALCGETPROCADDRESS        alcGetProcAddress;
238   LPALCGETENUMVALUE          alcGetEnumValue;
239    
240#if defined(AL_ALEXT_PROTOTYPES)
241   LPALGENEFFECTS             alGenEffects;
242   LPALDELETEEFFECTS          alDeleteEffects;
243   LPALISEFFECT               alIsEffect;
244   LPALEFFECTI                alEffecti;
245   LPALEFFECTIV               alEffectiv;
246   LPALEFFECTF                alEffectf;
247   LPALEFFECTFV               alEffectfv;
248   LPALGETEFFECTI             alGetEffecti;
249   LPALGETEFFECTIV            alGetEffectiv;
250   LPALGETEFFECTF             alGetEffectf;
251   LPALGETEFFECTFV            alGetEffectfv;
252   LPALRELEASEALEFFECTS       alReleaseEffects;
253   LPALGENAUXILIARYEFFECTSLOTS         alGenAuxiliaryEffectSlots;
254   LPALDELETEAUXILIARYEFFECTSLOTS      alDeleteAuxiliaryEffectSlots;
255   LPALISAUXILIARYEFFECTSLOT           alIsAuxiliaryEffectSlot;
256   LPALAUXILIARYEFFECTSLOTI            alAuxiliaryEffectSloti;
257   LPALAUXILIARYEFFECTSLOTIV           alAuxiliaryEffectSlotiv;
258   LPALAUXILIARYEFFECTSLOTF            alAuxiliaryEffectSlotf;
259   LPALAUXILIARYEFFECTSLOTFV           alAuxiliaryEffectSlotfv;
260   LPALGETAUXILIARYEFFECTSLOTI         alGetAuxiliaryEffectSloti;
261   LPALGETAUXILIARYEFFECTSLOTIV        alGetAuxiliaryEffectSlotiv;
262   LPALGETAUXILIARYEFFECTSLOTF         alGetAuxiliaryEffectSlotf;
263   LPALGETAUXILIARYEFFECTSLOTFV        alGetAuxiliaryEffectSlotfv;
264#endif
265} OPENALFNTABLE, *LPOPENALFNTABLE;
266#endif
267
268ALboolean LoadOAL10Library(char *szOALFullPathName, LPOPENALFNTABLE lpOALFnTable);
269ALvoid UnloadOAL10Library();
270
271#endif // _LOADOAL_H_
272