1 /* 2 Copyright (C) 1997-2001 Id Software, Inc. 3 4 This program is free software; you can redistribute it and/or 5 modify it under the terms of the GNU General Public License 6 as published by the Free Software Foundation; either version 2 7 of the License, or (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 13 See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 19 */ 20 21 22 #ifndef __QAL_H__ 23 #define __QAL_H__ 24 25 26 qboolean QAL_Init (const char *driver); 27 void QAL_Shutdown (void); 28 29 typedef ALCAPI ALCdevice * (ALCAPIENTRY * ALCOPENDEVICE)(ALCubyte *deviceName); 30 typedef ALCAPI ALCvoid (ALCAPIENTRY * ALCCLOSEDEVICE)(ALCdevice *device); 31 typedef ALCAPI ALCcontext * (ALCAPIENTRY * ALCCREATECONTEXT)(ALCdevice *device, ALCint *attrList); 32 typedef ALCAPI ALCvoid (ALCAPIENTRY * ALCDESTROYCONTEXT)(ALCcontext *context); 33 typedef ALCAPI ALCboolean (ALCAPIENTRY * ALCMAKECONTEXTCURRENT)(ALCcontext *context); 34 typedef ALCAPI ALCvoid (ALCAPIENTRY * ALCPROCESSCONTEXT)(ALCcontext *context); 35 typedef ALCAPI ALCvoid (ALCAPIENTRY * ALCSUSPENDCONTEXT)(ALCcontext *context); 36 typedef ALCAPI ALCcontext * (ALCAPIENTRY * ALCGETCURRENTCONTEXT)(ALCvoid); 37 typedef ALCAPI ALCdevice * (ALCAPIENTRY * ALCGETCONTEXTSDEVICE)(ALCcontext *context); 38 typedef ALCAPI ALCubyte * (ALCAPIENTRY * ALCGETSTRING)(ALCdevice *device, ALCenum param); 39 typedef ALCAPI ALCvoid (ALCAPIENTRY * ALCGETINTEGERV)(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data); 40 typedef ALCAPI ALCenum (ALCAPIENTRY * ALCGETERROR)(ALCdevice *device); 41 typedef ALCAPI ALCboolean (ALCAPIENTRY * ALCISEXTENSIONPRESENT)(ALCdevice *device, ALCubyte *extName); 42 typedef ALCAPI ALCvoid * (ALCAPIENTRY * ALCGETPROCADDRESS)(ALCdevice *device, ALCubyte *funcName); 43 typedef ALCAPI ALCenum (ALCAPIENTRY * ALCGETENUMVALUE)(ALCdevice *device, ALCubyte *enumName); 44 45 typedef ALAPI ALvoid (ALAPIENTRY * ALBUFFERDATA)(ALuint buffer, ALenum format, ALvoid *data, ALsizei size, ALsizei freq); 46 typedef ALAPI ALvoid (ALAPIENTRY * ALDELETEBUFFERS)(ALsizei n, ALuint *buffers); 47 typedef ALAPI ALvoid (ALAPIENTRY * ALDELETESOURCES)(ALsizei n, ALuint *sources); 48 typedef ALAPI ALvoid (ALAPIENTRY * ALDISABLE)(ALenum capability); 49 typedef ALAPI ALvoid (ALAPIENTRY * ALDISTANCEMODEL)(ALenum value); 50 typedef ALAPI ALvoid (ALAPIENTRY * ALDOPPLERFACTOR)(ALfloat value); 51 typedef ALAPI ALvoid (ALAPIENTRY * ALDOPPLERVELOCITY)(ALfloat value); 52 typedef ALAPI ALvoid (ALAPIENTRY * ALENABLE)(ALenum capability); 53 typedef ALAPI ALvoid (ALAPIENTRY * ALGENBUFFERS)(ALsizei n, ALuint *buffers); 54 typedef ALAPI ALvoid (ALAPIENTRY * ALGENSOURCES)(ALsizei n, ALuint *sources); 55 typedef ALAPI ALboolean (ALAPIENTRY * ALGETBOOLEAN)(ALenum param); 56 typedef ALAPI ALvoid (ALAPIENTRY * ALGETBOOLEANV)(ALenum param, ALboolean *data); 57 typedef ALAPI ALvoid (ALAPIENTRY * ALGETBUFFERF)(ALuint buffer, ALenum param, ALfloat *value); 58 typedef ALAPI ALvoid (ALAPIENTRY * ALGETBUFFERI)(ALuint buffer, ALenum param, ALint *value); 59 typedef ALAPI ALdouble (ALAPIENTRY * ALGETDOUBLE)(ALenum param); 60 typedef ALAPI ALvoid (ALAPIENTRY * ALGETDOUBLEV)(ALenum param, ALdouble *data); 61 typedef ALAPI ALenum (ALAPIENTRY * ALGETENUMVALUE)(ALubyte *enumName); 62 typedef ALAPI ALenum (ALAPIENTRY * ALGETERROR)(ALvoid); 63 typedef ALAPI ALfloat (ALAPIENTRY * ALGETFLOAT)(ALenum param); 64 typedef ALAPI ALvoid (ALAPIENTRY * ALGETFLOATV)(ALenum param, ALfloat *data); 65 typedef ALAPI ALint (ALAPIENTRY * ALGETINTEGER)(ALenum param); 66 typedef ALAPI ALvoid (ALAPIENTRY * ALGETINTEGERV)(ALenum param, ALint *data); 67 typedef ALAPI ALvoid (ALAPIENTRY * ALGETLISTENER3F)(ALenum param, ALfloat *v1, ALfloat *v2, ALfloat *v3); 68 typedef ALAPI ALvoid (ALAPIENTRY * ALGETLISTENERF)(ALenum param, ALfloat *value); 69 typedef ALAPI ALvoid (ALAPIENTRY * ALGETLISTENERFV)(ALenum param, ALfloat *values); 70 typedef ALAPI ALvoid (ALAPIENTRY * ALGETLISTENERI)(ALenum param, ALint *value); 71 typedef ALAPI ALvoid * (ALAPIENTRY * ALGETPROCADDRESS)(ALubyte *funcName); 72 typedef ALAPI ALvoid (ALAPIENTRY * ALGETSOURCE3F)(ALuint source, ALenum param, ALfloat *v1, ALfloat *v2, ALfloat *v3); 73 typedef ALAPI ALvoid (ALAPIENTRY * ALGETSOURCEF)(ALuint source, ALenum param, ALfloat *value); 74 typedef ALAPI ALvoid (ALAPIENTRY * ALGETSOURCEFV)(ALuint source, ALenum param, ALfloat *values); 75 typedef ALAPI ALvoid (ALAPIENTRY * ALGETSOURCEI)(ALuint source, ALenum param, ALint *value); 76 typedef ALAPI ALubyte * (ALAPIENTRY * ALGETSTRING)(ALenum param); 77 typedef ALAPI ALvoid (ALAPIENTRY * ALHINT)(ALenum target, ALenum mode); 78 typedef ALAPI ALboolean (ALAPIENTRY * ALISBUFFER)(ALuint buffer); 79 typedef ALAPI ALboolean (ALAPIENTRY * ALISENABLED)(ALenum capability); 80 typedef ALAPI ALboolean (ALAPIENTRY * ALISEXTENSIONPRESENT)(ALubyte *extName); 81 typedef ALAPI ALboolean (ALAPIENTRY * ALISSOURCE)(ALuint source); 82 typedef ALAPI ALvoid (ALAPIENTRY * ALLISTENER3F)(ALenum param, ALfloat v1, ALfloat v2, ALfloat v3); 83 typedef ALAPI ALvoid (ALAPIENTRY * ALLISTENERF)(ALenum param, ALfloat value); 84 typedef ALAPI ALvoid (ALAPIENTRY * ALLISTENERFV)(ALenum param, ALfloat *values); 85 typedef ALAPI ALvoid (ALAPIENTRY * ALLISTENERI)(ALenum param, ALint value); 86 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCE3F)(ALuint source, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3); 87 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEF)(ALuint source, ALenum param, ALfloat value); 88 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEFV)(ALuint source, ALenum param, ALfloat *values); 89 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEI)(ALuint source, ALenum param, ALint value); 90 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEPAUSE)(ALuint source); 91 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEPAUSEV)(ALsizei n, ALuint *sources); 92 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEPLAY)(ALuint source); 93 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEPLAYV)(ALsizei n, ALuint *sources); 94 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEQUEUEBUFFERS)(ALuint source, ALsizei n, ALuint *buffers); 95 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEREWIND)(ALuint source); 96 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEREWINDV)(ALsizei n, ALuint *sources); 97 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCESTOP)(ALuint source); 98 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCESTOPV)(ALsizei n, ALuint *sources); 99 typedef ALAPI ALvoid (ALAPIENTRY * ALSOURCEUNQUEUEBUFFERS)(ALuint source, ALsizei n, ALuint *buffers); 100 101 typedef ALAPI ALenum (ALAPIENTRY * ALEAXSET)(const GUID*, ALuint, ALuint, ALvoid *, ALuint); 102 typedef ALAPI ALenum (ALAPIENTRY * ALEAXGET)(const GUID*, ALuint, ALuint, ALvoid *, ALuint); 103 104 // ===================================================================== 105 106 extern ALCOPENDEVICE qalcOpenDevice; 107 extern ALCCLOSEDEVICE qalcCloseDevice; 108 extern ALCCREATECONTEXT qalcCreateContext; 109 extern ALCDESTROYCONTEXT qalcDestroyContext; 110 extern ALCMAKECONTEXTCURRENT qalcMakeContextCurrent; 111 extern ALCPROCESSCONTEXT qalcProcessContext; 112 extern ALCSUSPENDCONTEXT qalcSuspendContext; 113 extern ALCGETCURRENTCONTEXT qalcGetCurrentContext; 114 extern ALCGETCONTEXTSDEVICE qalcGetContextsDevice; 115 extern ALCGETSTRING qalcGetString; 116 extern ALCGETINTEGERV qalcGetIntegerv; 117 extern ALCGETERROR qalcGetError; 118 extern ALCISEXTENSIONPRESENT qalcIsExtensionPresent; 119 extern ALCGETPROCADDRESS qalcGetProcAddress; 120 extern ALCGETENUMVALUE qalcGetEnumValue; 121 122 extern ALBUFFERDATA qalBufferData; 123 extern ALDELETEBUFFERS qalDeleteBuffers; 124 extern ALDELETESOURCES qalDeleteSources; 125 extern ALDISABLE qalDisable; 126 extern ALDISTANCEMODEL qalDistanceModel; 127 extern ALDOPPLERFACTOR qalDopplerFactor; 128 extern ALDOPPLERVELOCITY qalDopplerVelocity; 129 extern ALENABLE qalEnable; 130 extern ALGENBUFFERS qalGenBuffers; 131 extern ALGENSOURCES qalGenSources; 132 extern ALGETBOOLEAN qalGetBoolean; 133 extern ALGETBOOLEANV qalGetBooleanv; 134 extern ALGETBUFFERF qalGetBufferf; 135 extern ALGETBUFFERI qalGetBufferi; 136 extern ALGETDOUBLE qalGetDouble; 137 extern ALGETDOUBLEV qalGetDoublev; 138 extern ALGETENUMVALUE qalGetEnumValue; 139 extern ALGETERROR qalGetError; 140 extern ALGETFLOAT qalGetFloat; 141 extern ALGETFLOATV qalGetFloatv; 142 extern ALGETINTEGER qalGetInteger; 143 extern ALGETINTEGERV qalGetIntegerv; 144 extern ALGETLISTENER3F qalGetListener3f; 145 extern ALGETLISTENERF qalGetListenerf; 146 extern ALGETLISTENERFV qalGetListenerfv; 147 extern ALGETLISTENERI qalGetListeneri; 148 extern ALGETPROCADDRESS qalGetProcAddress; 149 extern ALGETSOURCE3F qalGetSource3f; 150 extern ALGETSOURCEF qalGetSourcef; 151 extern ALGETSOURCEFV qalGetSourcefv; 152 extern ALGETSOURCEI qalGetSourcei; 153 extern ALGETSTRING qalGetString; 154 extern ALHINT qalHint; 155 extern ALISBUFFER qalIsBuffer; 156 extern ALISENABLED qalIsEnabled; 157 extern ALISEXTENSIONPRESENT qalIsExtensionPresent; 158 extern ALISSOURCE qalIsSource; 159 extern ALLISTENER3F qalListener3f; 160 extern ALLISTENERF qalListenerf; 161 extern ALLISTENERFV qalListenerfv; 162 extern ALLISTENERI qalListeneri; 163 extern ALSOURCE3F qalSource3f; 164 extern ALSOURCEF qalSourcef; 165 extern ALSOURCEFV qalSourcefv; 166 extern ALSOURCEI qalSourcei; 167 extern ALSOURCEPAUSE qalSourcePause; 168 extern ALSOURCEPAUSEV qalSourcePausev; 169 extern ALSOURCEPLAY qalSourcePlay; 170 extern ALSOURCEPLAYV qalSourcePlayv; 171 extern ALSOURCEQUEUEBUFFERS qalSourceQueueBuffers; 172 extern ALSOURCEREWIND qalSourceRewind; 173 extern ALSOURCEREWINDV qalSourceRewindv; 174 extern ALSOURCESTOP qalSourceStop; 175 extern ALSOURCESTOPV qalSourceStopv; 176 extern ALSOURCEUNQUEUEBUFFERS qalSourceUnqueueBuffers; 177 178 extern ALEAXSET qalEAXSet; 179 extern ALEAXGET qalEAXGet; 180 181 182 #endif // __QAL_H__ 183