1 /* 2 =========================================================================== 3 Copyright (C) 1999-2005 Id Software, Inc. 4 Copyright (C) 2005 Stuart Dalton (badcdev@gmail.com) 5 6 This file is part of Quake III Arena source code. 7 8 Quake III Arena source code is free software; you can redistribute it 9 and/or modify it under the terms of the GNU General Public License as 10 published by the Free Software Foundation; either version 2 of the License, 11 or (at your option) any later version. 12 13 Quake III Arena source code is distributed in the hope that it will be 14 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with Quake III Arena source code; if not, write to the Free Software 20 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 21 =========================================================================== 22 */ 23 24 25 #ifndef __QAL_H__ 26 #define __QAL_H__ 27 28 #include "../qcommon/q_shared.h" 29 #include "../qcommon/qcommon.h" 30 31 #ifdef USE_OPENAL_DLOPEN 32 #define AL_NO_PROTOTYPES 33 #define ALC_NO_PROTOTYPES 34 #endif 35 36 #ifdef USE_LOCAL_HEADERS 37 #include "../AL/al.h" 38 #include "../AL/alc.h" 39 #else 40 #ifdef _MSC_VER 41 // MSVC users must install the OpenAL SDK which doesn't use the AL/*.h scheme. 42 #include <al.h> 43 #include <alc.h> 44 #else 45 #include <AL/al.h> 46 #include <AL/alc.h> 47 #endif 48 #endif 49 50 #ifdef USE_OPENAL_DLOPEN 51 extern LPALENABLE qalEnable; 52 extern LPALDISABLE qalDisable; 53 extern LPALISENABLED qalIsEnabled; 54 extern LPALGETSTRING qalGetString; 55 extern LPALGETBOOLEANV qalGetBooleanv; 56 extern LPALGETINTEGERV qalGetIntegerv; 57 extern LPALGETFLOATV qalGetFloatv; 58 extern LPALGETDOUBLEV qalGetDoublev; 59 extern LPALGETBOOLEAN qalGetBoolean; 60 extern LPALGETINTEGER qalGetInteger; 61 extern LPALGETFLOAT qalGetFloat; 62 extern LPALGETDOUBLE qalGetDouble; 63 extern LPALGETERROR qalGetError; 64 extern LPALISEXTENSIONPRESENT qalIsExtensionPresent; 65 extern LPALGETPROCADDRESS qalGetProcAddress; 66 extern LPALGETENUMVALUE qalGetEnumValue; 67 extern LPALLISTENERF qalListenerf; 68 extern LPALLISTENER3F qalListener3f; 69 extern LPALLISTENERFV qalListenerfv; 70 extern LPALLISTENERI qalListeneri; 71 extern LPALLISTENER3I qalListener3i; 72 extern LPALLISTENERIV qalListeneriv; 73 extern LPALGETLISTENERF qalGetListenerf; 74 extern LPALGETLISTENER3F qalGetListener3f; 75 extern LPALGETLISTENERFV qalGetListenerfv; 76 extern LPALGETLISTENERI qalGetListeneri; 77 extern LPALGETLISTENER3I qalGetListener3i; 78 extern LPALGETLISTENERIV qalGetListeneriv; 79 extern LPALGENSOURCES qalGenSources; 80 extern LPALDELETESOURCES qalDeleteSources; 81 extern LPALISSOURCE qalIsSource; 82 extern LPALSOURCEF qalSourcef; 83 extern LPALSOURCE3F qalSource3f; 84 extern LPALSOURCEFV qalSourcefv; 85 extern LPALSOURCEI qalSourcei; 86 extern LPALSOURCE3I qalSource3i; 87 extern LPALSOURCEIV qalSourceiv; 88 extern LPALGETSOURCEF qalGetSourcef; 89 extern LPALGETSOURCE3F qalGetSource3f; 90 extern LPALGETSOURCEFV qalGetSourcefv; 91 extern LPALGETSOURCEI qalGetSourcei; 92 extern LPALGETSOURCE3I qalGetSource3i; 93 extern LPALGETSOURCEIV qalGetSourceiv; 94 extern LPALSOURCEPLAYV qalSourcePlayv; 95 extern LPALSOURCESTOPV qalSourceStopv; 96 extern LPALSOURCEREWINDV qalSourceRewindv; 97 extern LPALSOURCEPAUSEV qalSourcePausev; 98 extern LPALSOURCEPLAY qalSourcePlay; 99 extern LPALSOURCESTOP qalSourceStop; 100 extern LPALSOURCEREWIND qalSourceRewind; 101 extern LPALSOURCEPAUSE qalSourcePause; 102 extern LPALSOURCEQUEUEBUFFERS qalSourceQueueBuffers; 103 extern LPALSOURCEUNQUEUEBUFFERS qalSourceUnqueueBuffers; 104 extern LPALGENBUFFERS qalGenBuffers; 105 extern LPALDELETEBUFFERS qalDeleteBuffers; 106 extern LPALISBUFFER qalIsBuffer; 107 extern LPALBUFFERDATA qalBufferData; 108 extern LPALBUFFERF qalBufferf; 109 extern LPALBUFFER3F qalBuffer3f; 110 extern LPALBUFFERFV qalBufferfv; 111 extern LPALBUFFERF qalBufferi; 112 extern LPALBUFFER3F qalBuffer3i; 113 extern LPALBUFFERFV qalBufferiv; 114 extern LPALGETBUFFERF qalGetBufferf; 115 extern LPALGETBUFFER3F qalGetBuffer3f; 116 extern LPALGETBUFFERFV qalGetBufferfv; 117 extern LPALGETBUFFERI qalGetBufferi; 118 extern LPALGETBUFFER3I qalGetBuffer3i; 119 extern LPALGETBUFFERIV qalGetBufferiv; 120 extern LPALDOPPLERFACTOR qalDopplerFactor; 121 extern LPALDOPPLERVELOCITY qalDopplerVelocity; 122 extern LPALSPEEDOFSOUND qalSpeedOfSound; 123 extern LPALDISTANCEMODEL qalDistanceModel; 124 125 extern LPALCCREATECONTEXT qalcCreateContext; 126 extern LPALCMAKECONTEXTCURRENT qalcMakeContextCurrent; 127 extern LPALCPROCESSCONTEXT qalcProcessContext; 128 extern LPALCSUSPENDCONTEXT qalcSuspendContext; 129 extern LPALCDESTROYCONTEXT qalcDestroyContext; 130 extern LPALCGETCURRENTCONTEXT qalcGetCurrentContext; 131 extern LPALCGETCONTEXTSDEVICE qalcGetContextsDevice; 132 extern LPALCOPENDEVICE qalcOpenDevice; 133 extern LPALCCLOSEDEVICE qalcCloseDevice; 134 extern LPALCGETERROR qalcGetError; 135 extern LPALCISEXTENSIONPRESENT qalcIsExtensionPresent; 136 extern LPALCGETPROCADDRESS qalcGetProcAddress; 137 extern LPALCGETENUMVALUE qalcGetEnumValue; 138 extern LPALCGETSTRING qalcGetString; 139 extern LPALCGETINTEGERV qalcGetIntegerv; 140 extern LPALCCAPTUREOPENDEVICE qalcCaptureOpenDevice; 141 extern LPALCCAPTURECLOSEDEVICE qalcCaptureCloseDevice; 142 extern LPALCCAPTURESTART qalcCaptureStart; 143 extern LPALCCAPTURESTOP qalcCaptureStop; 144 extern LPALCCAPTURESAMPLES qalcCaptureSamples; 145 #else 146 #define qalEnable alEnable 147 #define qalDisable alDisable 148 #define qalIsEnabled alIsEnabled 149 #define qalGetString alGetString 150 #define qalGetBooleanv alGetBooleanv 151 #define qalGetIntegerv alGetIntegerv 152 #define qalGetFloatv alGetFloatv 153 #define qalGetDoublev alGetDoublev 154 #define qalGetBoolean alGetBoolean 155 #define qalGetInteger alGetInteger 156 #define qalGetFloat alGetFloat 157 #define qalGetDouble alGetDouble 158 #define qalGetError alGetError 159 #define qalIsExtensionPresent alIsExtensionPresent 160 #define qalGetProcAddress alGetProcAddress 161 #define qalGetEnumValue alGetEnumValue 162 #define qalListenerf alListenerf 163 #define qalListener3f alListener3f 164 #define qalListenerfv alListenerfv 165 #define qalListeneri alListeneri 166 #define qalListener3i alListener3i 167 #define qalListeneriv alListeneriv 168 #define qalGetListenerf alGetListenerf 169 #define qalGetListener3f alGetListener3f 170 #define qalGetListenerfv alGetListenerfv 171 #define qalGetListeneri alGetListeneri 172 #define qalGetListener3i alGetListener3i 173 #define qalGetListeneriv alGetListeneriv 174 #define qalGenSources alGenSources 175 #define qalDeleteSources alDeleteSources 176 #define qalIsSource alIsSource 177 #define qalSourcef alSourcef 178 #define qalSource3f alSource3f 179 #define qalSourcefv alSourcefv 180 #define qalSourcei alSourcei 181 #define qalSource3i alSource3i 182 #define qalSourceiv alSourceiv 183 #define qalGetSourcef alGetSourcef 184 #define qalGetSource3f alGetSource3f 185 #define qalGetSourcefv alGetSourcefv 186 #define qalGetSourcei alGetSourcei 187 #define qalGetSource3i alGetSource3i 188 #define qalGetSourceiv alGetSourceiv 189 #define qalSourcePlayv alSourcePlayv 190 #define qalSourceStopv alSourceStopv 191 #define qalSourceRewindv alSourceRewindv 192 #define qalSourcePausev alSourcePausev 193 #define qalSourcePlay alSourcePlay 194 #define qalSourceStop alSourceStop 195 #define qalSourceRewind alSourceRewind 196 #define qalSourcePause alSourcePause 197 #define qalSourceQueueBuffers alSourceQueueBuffers 198 #define qalSourceUnqueueBuffers alSourceUnqueueBuffers 199 #define qalGenBuffers alGenBuffers 200 #define qalDeleteBuffers alDeleteBuffers 201 #define qalIsBuffer alIsBuffer 202 #define qalBufferData alBufferData 203 #define qalBufferf alBufferf 204 #define qalBuffer3f alBuffer3f 205 #define qalBufferfv alBufferfv 206 #define qalBufferi alBufferi 207 #define qalBuffer3i alBuffer3i 208 #define qalBufferiv alBufferiv 209 #define qalGetBufferf alGetBufferf 210 #define qalGetBuffer3f alGetBuffer3f 211 #define qalGetBufferfv alGetBufferfv 212 #define qalGetBufferi alGetBufferi 213 #define qalGetBuffer3i alGetBuffer3i 214 #define qalGetBufferiv alGetBufferiv 215 #define qalDopplerFactor alDopplerFactor 216 #define qalDopplerVelocity alDopplerVelocity 217 #define qalSpeedOfSound alSpeedOfSound 218 #define qalDistanceModel alDistanceModel 219 220 #define qalcCreateContext alcCreateContext 221 #define qalcMakeContextCurrent alcMakeContextCurrent 222 #define qalcProcessContext alcProcessContext 223 #define qalcSuspendContext alcSuspendContext 224 #define qalcDestroyContext alcDestroyContext 225 #define qalcGetCurrentContext alcGetCurrentContext 226 #define qalcGetContextsDevice alcGetContextsDevice 227 #define qalcOpenDevice alcOpenDevice 228 #define qalcCloseDevice alcCloseDevice 229 #define qalcGetError alcGetError 230 #define qalcIsExtensionPresent alcIsExtensionPresent 231 #define qalcGetProcAddress alcGetProcAddress 232 #define qalcGetEnumValue alcGetEnumValue 233 #define qalcGetString alcGetString 234 #define qalcGetIntegerv alcGetIntegerv 235 #define qalcCaptureOpenDevice alcCaptureOpenDevice 236 #define qalcCaptureCloseDevice alcCaptureCloseDevice 237 #define qalcCaptureStart alcCaptureStart 238 #define qalcCaptureStop alcCaptureStop 239 #define qalcCaptureSamples alcCaptureSamples 240 #endif 241 242 qboolean QAL_Init(const char *libname); 243 void QAL_Shutdown( void ); 244 245 #endif // __QAL_H__ 246