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