doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
eax3.h
Go to the documentation of this file.
1 /*******************************************************************\
2 * *
3 * EAX.H - Environmental Audio Extensions version 3.0 *
4 * for OpenAL and DirectSound3D *
5 * *
6 ********************************************************************/
7 
8 #ifndef EAX30_H_INCLUDED
9 #define EAX30_H_INCLUDED
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif // __cplusplus
14 
15 #ifndef OPENAL
16  #include <dsound.h>
17 
18  /*
19  * EAX Wrapper Interface (using Direct X 7) {4FF53B81-1CE0-11d3-AAB8-00A0C95949D5}
20  */
21  DEFINE_GUID(CLSID_EAXDirectSound,
22  0x4ff53b81,
23  0x1ce0,
24  0x11d3,
25  0xaa, 0xb8, 0x0, 0xa0, 0xc9, 0x59, 0x49, 0xd5);
26 
27  /*
28  * EAX Wrapper Interface (using Direct X 8) {CA503B60-B176-11d4-A094-D0C0BF3A560C}
29  */
30  DEFINE_GUID(CLSID_EAXDirectSound8,
31  0xca503b60,
32  0xb176,
33  0x11d4,
34  0xa0, 0x94, 0xd0, 0xc0, 0xbf, 0x3a, 0x56, 0xc);
35 
36 
37 
38 #ifdef DIRECTSOUND_VERSION
39 #if DIRECTSOUND_VERSION == 0x0800
40  __declspec(dllimport) HRESULT WINAPI EAXDirectSoundCreate8(GUID*, LPDIRECTSOUND8*, IUnknown FAR *);
41  typedef HRESULT (FAR PASCAL *LPEAXDIRECTSOUNDCREATE8)(GUID*, LPDIRECTSOUND8*, IUnknown FAR*);
42 #endif
43 #endif
44 
45  __declspec(dllimport) HRESULT WINAPI EAXDirectSoundCreate(GUID*, LPDIRECTSOUND*, IUnknown FAR *);
46  typedef HRESULT (FAR PASCAL *LPEAXDIRECTSOUNDCREATE)(GUID*, LPDIRECTSOUND*, IUnknown FAR*);
47 
48 #else // OPENAL
49  //#include <al.h>
50 
51  #ifndef GUID_DEFINED
52  #define GUID_DEFINED
53  typedef struct _GUID
54  {
55  unsigned long Data1;
56  unsigned short Data2;
57  unsigned short Data3;
58  unsigned char Data4[8];
59  } GUID;
60  #endif // !GUID_DEFINED
61 
62  #ifndef DEFINE_GUID
63  #ifndef INITGUID
64  #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
65  extern const GUID /*FAR*/ name
66  #else
67  #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
68  extern const GUID name = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
69  #endif // INITGUID
70  #endif // DEFINE_GUID
71 
72 
73  /*
74  * EAX OpenAL Extension
75  */
76  typedef ALenum (*EAXSet)(const GUID*, ALuint, ALuint, ALvoid*, ALuint);
77  typedef ALenum (*EAXGet)(const GUID*, ALuint, ALuint, ALvoid*, ALuint);
78  typedef ALboolean (*EAXSetBufferMode)(ALsizei,ALuint*,ALint);
79  typedef ALenum (*EAXGetBufferMode)(ALuint,ALint*);
80 #endif
81 
82 #pragma pack(push, 4)
83 
84 /*
85  * EAX 3.0 listener property set {A8FA6880-B476-11d3-BDB9-00C0F02DDF87}
86  */
87 DEFINE_GUID(DSPROPSETID_EAX30_ListenerProperties,
88  0xa8fa6882,
89  0xb476,
90  0x11d3,
91  0xbd, 0xb9, 0x00, 0xc0, 0xf0, 0x2d, 0xdf, 0x87);
92 
93 // For compatibility with future EAX versions:
94 #define DSPROPSETID_EAX_ListenerProperties DSPROPSETID_EAX30_ListenerProperties
95 
96 typedef enum
97 {
125 
126 // OR these flags with property id
127 #define DSPROPERTY_EAXLISTENER_IMMEDIATE 0x00000000 // changes take effect immediately
128 #define DSPROPERTY_EAXLISTENER_DEFERRED 0x80000000 // changes take effect later
129 #define DSPROPERTY_EAXLISTENER_COMMITDEFERREDSETTINGS (DSPROPERTY_EAXLISTENER_NONE | \
130  DSPROPERTY_EAXLISTENER_IMMEDIATE)
131 #ifndef EAXVECTOR_DEFINED
132 #define EAXVECTOR_DEFINED
133 typedef struct _EAXVECTOR {
134  float x;
135  float y;
136  float z;
137 } EAXVECTOR;
138 #endif
139 
140 // Use this structure for DSPROPERTY_EAXLISTENER_ALLPARAMETERS
141 // - all levels are hundredths of decibels
142 // - all times and delays are in seconds
143 //
144 // NOTE: This structure may change in future EAX versions.
145 // It is recommended to initialize fields by name:
146 // myListener.lRoom = -1000;
147 // myListener.lRoomHF = -100;
148 // ...
149 // myListener.dwFlags = myFlags /* see EAXLISTENERFLAGS below */ ;
150 // instead of:
151 // myListener = { -1000, -100, ... , 0x00000009 };
152 // If you want to save and load presets in binary form, you
153 // should define your own structure to insure future compatibility.
154 //
156 {
157  unsigned long ulEnvironment; // sets all listener properties
158  float flEnvironmentSize; // environment size in meters
159  float flEnvironmentDiffusion; // environment diffusion
160  long lRoom; // room effect level (at mid frequencies)
161  long lRoomHF; // relative room effect level at high frequencies
162  long lRoomLF; // relative room effect level at low frequencies
163  float flDecayTime; // reverberation decay time at mid frequencies
164  float flDecayHFRatio; // high-frequency to mid-frequency decay time ratio
165  float flDecayLFRatio; // low-frequency to mid-frequency decay time ratio
166  long lReflections; // early reflections level relative to room effect
167  float flReflectionsDelay; // initial reflection delay time
168  EAXVECTOR vReflectionsPan; // early reflections panning vector
169  long lReverb; // late reverberation level relative to room effect
170  float flReverbDelay; // late reverberation delay time relative to initial reflection
171  EAXVECTOR vReverbPan; // late reverberation panning vector
172  float flEchoTime; // echo time
173  float flEchoDepth; // echo depth
174  float flModulationTime; // modulation time
175  float flModulationDepth; // modulation depth
176  float flAirAbsorptionHF; // change in level per meter at high frequencies
177  float flHFReference; // reference high frequency
178  float flLFReference; // reference low frequency
179  float flRoomRolloffFactor; // like DS3D flRolloffFactor but for room effect
180  unsigned long ulFlags; // modifies the behavior of properties
182 
183 // used by DSPROPERTY_EAXLISTENER_ENVIRONMENT
184 #ifndef EAX_ENVIRONMENTS_DEFINED
185 #define EAX_ENVIRONMENTS_DEFINED
186 enum
187 {
214 
216 
218 };
219 #endif
220 
221 // Used by DSPROPERTY_EAXLISTENER_FLAGS
222 //
223 // Note: The number and order of flags may change in future EAX versions.
224 // It is recommended to use the flag defines as follows:
225 // myFlags = EAXLISTENERFLAGS_DECAYTIMESCALE | EAXLISTENERFLAGS_REVERBSCALE;
226 // instead of:
227 // myFlags = 0x00000009;
228 //
229 // These flags determine what properties are affected by environment size.
230 #define EAXLISTENERFLAGS_DECAYTIMESCALE 0x00000001 // reverberation decay time
231 #define EAXLISTENERFLAGS_REFLECTIONSSCALE 0x00000002 // reflection level
232 #define EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE 0x00000004 // initial reflection delay time
233 #define EAXLISTENERFLAGS_REVERBSCALE 0x00000008 // reflections level
234 #define EAXLISTENERFLAGS_REVERBDELAYSCALE 0x00000010 // late reverberation delay time
235 #define EAXLISTENERFLAGS_ECHOTIMESCALE 0x00000040 // echo time
236 #define EAXLISTENERFLAGS_MODULATIONTIMESCALE 0x00000080 // modulation time
237 
238 // This flag limits high-frequency decay time according to air absorption.
239 #define EAXLISTENERFLAGS_DECAYHFLIMIT 0x00000020
240 
241 #define EAXLISTENERFLAGS_RESERVED 0xFFFFFF00 // reserved future use
242 
243 // Property ranges and defaults:
244 
245 #define EAXLISTENER_MINENVIRONMENT 0
246 #define EAXLISTENER_MAXENVIRONMENT (EAX_ENVIRONMENT_COUNT-1)
247 #define EAXLISTENER_DEFAULTENVIRONMENT EAX_ENVIRONMENT_GENERIC
248 
249 #define EAXLISTENER_MINENVIRONMENTSIZE 1.0f
250 #define EAXLISTENER_MAXENVIRONMENTSIZE 100.0f
251 #define EAXLISTENER_DEFAULTENVIRONMENTSIZE 7.5f
252 
253 #define EAXLISTENER_MINENVIRONMENTDIFFUSION 0.0f
254 #define EAXLISTENER_MAXENVIRONMENTDIFFUSION 1.0f
255 #define EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION 1.0f
256 
257 #define EAXLISTENER_MINROOM (-10000)
258 #define EAXLISTENER_MAXROOM 0
259 #define EAXLISTENER_DEFAULTROOM (-1000)
260 
261 #define EAXLISTENER_MINROOMHF (-10000)
262 #define EAXLISTENER_MAXROOMHF 0
263 #define EAXLISTENER_DEFAULTROOMHF (-100)
264 
265 #define EAXLISTENER_MINROOMLF (-10000)
266 #define EAXLISTENER_MAXROOMLF 0
267 #define EAXLISTENER_DEFAULTROOMLF 0
268 
269 #define EAXLISTENER_MINDECAYTIME 0.1f
270 #define EAXLISTENER_MAXDECAYTIME 20.0f
271 #define EAXLISTENER_DEFAULTDECAYTIME 1.49f
272 
273 #define EAXLISTENER_MINDECAYHFRATIO 0.1f
274 #define EAXLISTENER_MAXDECAYHFRATIO 2.0f
275 #define EAXLISTENER_DEFAULTDECAYHFRATIO 0.83f
276 
277 #define EAXLISTENER_MINDECAYLFRATIO 0.1f
278 #define EAXLISTENER_MAXDECAYLFRATIO 2.0f
279 #define EAXLISTENER_DEFAULTDECAYLFRATIO 1.00f
280 
281 #define EAXLISTENER_MINREFLECTIONS (-10000)
282 #define EAXLISTENER_MAXREFLECTIONS 1000
283 #define EAXLISTENER_DEFAULTREFLECTIONS (-2602)
284 
285 #define EAXLISTENER_MINREFLECTIONSDELAY 0.0f
286 #define EAXLISTENER_MAXREFLECTIONSDELAY 0.3f
287 #define EAXLISTENER_DEFAULTREFLECTIONSDELAY 0.007f
288 
289 #define EAXLISTENER_MINREVERB (-10000)
290 #define EAXLISTENER_MAXREVERB 2000
291 #define EAXLISTENER_DEFAULTREVERB 200
292 
293 #define EAXLISTENER_MINREVERBDELAY 0.0f
294 #define EAXLISTENER_MAXREVERBDELAY 0.1f
295 #define EAXLISTENER_DEFAULTREVERBDELAY 0.011f
296 
297 #define EAXLISTENER_MINECHOTIME 0.075f
298 #define EAXLISTENER_MAXECHOTIME 0.25f
299 #define EAXLISTENER_DEFAULTECHOTIME 0.25f
300 
301 #define EAXLISTENER_MINECHODEPTH 0.0f
302 #define EAXLISTENER_MAXECHODEPTH 1.0f
303 #define EAXLISTENER_DEFAULTECHODEPTH 0.0f
304 
305 #define EAXLISTENER_MINMODULATIONTIME 0.04f
306 #define EAXLISTENER_MAXMODULATIONTIME 4.0f
307 #define EAXLISTENER_DEFAULTMODULATIONTIME 0.25f
308 
309 #define EAXLISTENER_MINMODULATIONDEPTH 0.0f
310 #define EAXLISTENER_MAXMODULATIONDEPTH 1.0f
311 #define EAXLISTENER_DEFAULTMODULATIONDEPTH 0.0f
312 
313 #define EAXLISTENER_MINAIRABSORPTIONHF (-100.0f)
314 #define EAXLISTENER_MAXAIRABSORPTIONHF 0.0f
315 #define EAXLISTENER_DEFAULTAIRABSORPTIONHF (-5.0f)
316 
317 #define EAXLISTENER_MINHFREFERENCE 1000.0f
318 #define EAXLISTENER_MAXHFREFERENCE 20000.0f
319 #define EAXLISTENER_DEFAULTHFREFERENCE 5000.0f
320 
321 #define EAXLISTENER_MINLFREFERENCE 20.0f
322 #define EAXLISTENER_MAXLFREFERENCE 1000.0f
323 #define EAXLISTENER_DEFAULTLFREFERENCE 250.0f
324 
325 #define EAXLISTENER_MINROOMROLLOFFFACTOR 0.0f
326 #define EAXLISTENER_MAXROOMROLLOFFFACTOR 10.0f
327 #define EAXLISTENER_DEFAULTROOMROLLOFFFACTOR 0.0f
328 
329 #define EAXLISTENER_DEFAULTFLAGS (EAXLISTENERFLAGS_DECAYTIMESCALE | \
330  EAXLISTENERFLAGS_REFLECTIONSSCALE | \
331  EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE | \
332  EAXLISTENERFLAGS_REVERBSCALE | \
333  EAXLISTENERFLAGS_REVERBDELAYSCALE | \
334  EAXLISTENERFLAGS_DECAYHFLIMIT)
335 
336 
337 
338 /*
339 * EAX 3.0 buffer property set {A8FA6881-B476-11d3-BDB9-00C0F02DDF87}
340 */
341 DEFINE_GUID(DSPROPSETID_EAX30_BufferProperties,
342  0xa8fa6881,
343  0xb476,
344  0x11d3,
345  0xbd, 0xb9, 0x0, 0xc0, 0xf0, 0x2d, 0xdf, 0x87);
346 
347 // For compatibility with future EAX versions:
348 #define DSPROPSETID_EAX_BufferProperties DSPROPSETID_EAX30_BufferProperties
349 #define DSPROPSETID_EAX_SourceProperties DSPROPSETID_EAX30_BufferProperties
350 
351 typedef enum
352 {
377 
378 // OR these flags with property id
379 #define DSPROPERTY_EAXBUFFER_IMMEDIATE 0x00000000 // changes take effect immediately
380 #define DSPROPERTY_EAXBUFFER_DEFERRED 0x80000000 // changes take effect later
381 #define DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS (DSPROPERTY_EAXBUFFER_NONE | \
382  DSPROPERTY_EAXBUFFER_IMMEDIATE)
383 
384 // Use this structure for DSPROPERTY_EAXBUFFER_ALLPARAMETERS
385 // - all levels are hundredths of decibels
386 // - all delays are in seconds
387 //
388 // NOTE: This structure may change in future EAX versions.
389 // It is recommended to initialize fields by name:
390 // myBuffer.lDirect = 0;
391 // myBuffer.lDirectHF = -200;
392 // ...
393 // myBuffer.dwFlags = myFlags /* see EAXBUFFERFLAGS below */ ;
394 // instead of:
395 // myBuffer = { 0, -200, ... , 0x00000003 };
396 //
397 typedef struct _EAXBUFFERPROPERTIES
398 {
399  long lDirect; // direct path level (at low and mid frequencies)
400  long lDirectHF; // relative direct path level at high frequencies
401  long lRoom; // room effect level (at low and mid frequencies)
402  long lRoomHF; // relative room effect level at high frequencies
403  long lObstruction; // main obstruction control (attenuation at high frequencies)
404  float flObstructionLFRatio; // obstruction low-frequency level re. main control
405  long lOcclusion; // main occlusion control (attenuation at high frequencies)
406  float flOcclusionLFRatio; // occlusion low-frequency level re. main control
407  float flOcclusionRoomRatio; // relative occlusion control for room effect
408  float flOcclusionDirectRatio; // relative occlusion control for direct path
409  long lExclusion; // main exlusion control (attenuation at high frequencies)
410  float flExclusionLFRatio; // exclusion low-frequency level re. main control
411  long lOutsideVolumeHF; // outside sound cone level at high frequencies
412  float flDopplerFactor; // like DS3D flDopplerFactor but per source
413  float flRolloffFactor; // like DS3D flRolloffFactor but per source
414  float flRoomRolloffFactor; // like DS3D flRolloffFactor but for room effect
415  float flAirAbsorptionFactor; // multiplies DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF
416  unsigned long ulFlags; // modifies the behavior of properties
418 
419 // Use this structure for DSPROPERTY_EAXBUFFER_OBSTRUCTION,
420 #ifndef EAX_OBSTRUCTIONPROPERTIES_DEFINED
421 #define EAX_OBSTRUCTIONPROPERTIES_DEFINED
423 {
427 #endif
428 
429 // Use this structure for DSPROPERTY_EAXBUFFER_OCCLUSION
430 #ifndef EAX_OCCLUSIONPROPERTIES_DEFINED
431 #define EAX_OCCLUSIONPROPERTIES_DEFINED
433 {
439 #endif
440 
441 // Use this structure for DSPROPERTY_EAXBUFFER_EXCLUSION
442 #ifndef EAX_EXCLUSIONPROPERTIES_DEFINED
443 #define EAX_EXCLUSIONPROPERTIES_DEFINED
445 {
449 #endif
450 
451 // Used by DSPROPERTY_EAXBUFFER_FLAGS
452 // TRUE: value is computed automatically - property is an offset
453 // FALSE: value is used directly
454 //
455 // Note: The number and order of flags may change in future EAX versions.
456 // To insure future compatibility, use flag defines as follows:
457 // myFlags = EAXBUFFERFLAGS_DIRECTHFAUTO | EAXBUFFERFLAGS_ROOMAUTO;
458 // instead of:
459 // myFlags = 0x00000003;
460 //
461 #define EAXBUFFERFLAGS_DIRECTHFAUTO 0x00000001 // affects DSPROPERTY_EAXBUFFER_DIRECTHF
462 #define EAXBUFFERFLAGS_ROOMAUTO 0x00000002 // affects DSPROPERTY_EAXBUFFER_ROOM
463 #define EAXBUFFERFLAGS_ROOMHFAUTO 0x00000004 // affects DSPROPERTY_EAXBUFFER_ROOMHF
464 
465 #define EAXBUFFERFLAGS_RESERVED 0xFFFFFFF8 // reserved future use
466 
467 // Property ranges and defaults:
468 
469 #define EAXBUFFER_MINDIRECT (-10000)
470 #define EAXBUFFER_MAXDIRECT 1000
471 #define EAXBUFFER_DEFAULTDIRECT 0
472 
473 #define EAXBUFFER_MINDIRECTHF (-10000)
474 #define EAXBUFFER_MAXDIRECTHF 0
475 #define EAXBUFFER_DEFAULTDIRECTHF 0
476 
477 #define EAXBUFFER_MINROOM (-10000)
478 #define EAXBUFFER_MAXROOM 1000
479 #define EAXBUFFER_DEFAULTROOM 0
480 
481 #define EAXBUFFER_MINROOMHF (-10000)
482 #define EAXBUFFER_MAXROOMHF 0
483 #define EAXBUFFER_DEFAULTROOMHF 0
484 
485 #define EAXBUFFER_MINOBSTRUCTION (-10000)
486 #define EAXBUFFER_MAXOBSTRUCTION 0
487 #define EAXBUFFER_DEFAULTOBSTRUCTION 0
488 
489 #define EAXBUFFER_MINOBSTRUCTIONLFRATIO 0.0f
490 #define EAXBUFFER_MAXOBSTRUCTIONLFRATIO 1.0f
491 #define EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO 0.0f
492 
493 #define EAXBUFFER_MINOCCLUSION (-10000)
494 #define EAXBUFFER_MAXOCCLUSION 0
495 #define EAXBUFFER_DEFAULTOCCLUSION 0
496 
497 #define EAXBUFFER_MINOCCLUSIONLFRATIO 0.0f
498 #define EAXBUFFER_MAXOCCLUSIONLFRATIO 1.0f
499 #define EAXBUFFER_DEFAULTOCCLUSIONLFRATIO 0.25f
500 
501 #define EAXBUFFER_MINOCCLUSIONROOMRATIO 0.0f
502 #define EAXBUFFER_MAXOCCLUSIONROOMRATIO 10.0f
503 #define EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO 1.5f
504 
505 #define EAXBUFFER_MINOCCLUSIONDIRECTRATIO 0.0f
506 #define EAXBUFFER_MAXOCCLUSIONDIRECTRATIO 10.0f
507 #define EAXBUFFER_DEFAULTOCCLUSIONDIRECTRATIO 1.0f
508 
509 #define EAXBUFFER_MINEXCLUSION (-10000)
510 #define EAXBUFFER_MAXEXCLUSION 0
511 #define EAXBUFFER_DEFAULTEXCLUSION 0
512 
513 #define EAXBUFFER_MINEXCLUSIONLFRATIO 0.0f
514 #define EAXBUFFER_MAXEXCLUSIONLFRATIO 1.0f
515 #define EAXBUFFER_DEFAULTEXCLUSIONLFRATIO 1.0f
516 
517 #define EAXBUFFER_MINOUTSIDEVOLUMEHF (-10000)
518 #define EAXBUFFER_MAXOUTSIDEVOLUMEHF 0
519 #define EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF 0
520 
521 #define EAXBUFFER_MINDOPPLERFACTOR 0.0f
522 #define EAXBUFFER_MAXDOPPLERFACTOR 10.f
523 #define EAXBUFFER_DEFAULTDOPPLERFACTOR 0.0f
524 
525 #define EAXBUFFER_MINROLLOFFFACTOR 0.0f
526 #define EAXBUFFER_MAXROLLOFFFACTOR 10.f
527 #define EAXBUFFER_DEFAULTROLLOFFFACTOR 0.0f
528 
529 #define EAXBUFFER_MINROOMROLLOFFFACTOR 0.0f
530 #define EAXBUFFER_MAXROOMROLLOFFFACTOR 10.f
531 #define EAXBUFFER_DEFAULTROOMROLLOFFFACTOR 0.0f
532 
533 #define EAXBUFFER_MINAIRABSORPTIONFACTOR 0.0f
534 #define EAXBUFFER_MAXAIRABSORPTIONFACTOR 10.0f
535 #define EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR 1.0f
536 
537 #define EAXBUFFER_DEFAULTFLAGS (EAXBUFFERFLAGS_DIRECTHFAUTO | \
538  EAXBUFFERFLAGS_ROOMAUTO | \
539  EAXBUFFERFLAGS_ROOMHFAUTO )
540 
541 #pragma pack(pop)
542 
543 #ifdef __cplusplus
544 }
545 #endif // __cplusplus
546 
547 #endif
float flOcclusionRoomRatio
Definition: eax3.h:407
float flModulationTime
Definition: eax3.h:174
struct _EAXOCCLUSIONPROPERTIES * LPEAXOCCLUSIONPROPERTIES
int ALint
OpenAL 32bit signed integer type.
Definition: altypes.h:48
float z
Definition: eax3.h:136
float flOcclusionRoomRatio
Definition: eax3.h:436
float flReflectionsDelay
Definition: eax3.h:167
__declspec(dllimport) HRESULT WINAPI EAXDirectSoundCreate(GUID *
float flExclusionLFRatio
Definition: eax3.h:410
#define WINAPI
Definition: qgl.h:64
DEFINE_GUID(CLSID_EAXDirectSound, 0x4ff53b81, 0x1ce0, 0x11d3, 0xaa, 0xb8, 0x0, 0xa0, 0xc9, 0x59, 0x49, 0xd5)
EAXVECTOR vReverbPan
Definition: eax3.h:171
DSPROPERTY_EAX_LISTENERPROPERTY
Definition: eax3.h:96
struct _EAXEXCLUSIONPROPERTIES EAXEXCLUSIONPROPERTIES
struct _EAXVECTOR EAXVECTOR
struct _EAXBUFFERPROPERTIES EAXBUFFERPROPERTIES
unsigned ALuint
OpenAL 32bit unsigned integer type.
Definition: altypes.h:45
unsigned long ulEnvironment
Definition: eax3.h:157
unsigned int ALsizei
OpenAL 32bit type.
Definition: altypes.h:57
long lOutsideVolumeHF
Definition: eax3.h:411
char ALboolean
OpenAL cross platform audio library Copyright (C) 1999-2000 by authors.
Definition: altypes.h:30
float flDopplerFactor
Definition: eax3.h:412
float flOcclusionLFRatio
Definition: eax3.h:435
float flRoomRolloffFactor
Definition: eax3.h:179
float flObstructionLFRatio
Definition: eax3.h:425
float flEnvironmentSize
Definition: eax3.h:158
#define FAR
Definition: jmorecfg.h:205
float flOcclusionDirectRatio
Definition: eax3.h:408
struct _EAXLISTENERPROPERTIES EAXLISTENERPROPERTIES
float flAirAbsorptionFactor
Definition: eax3.h:415
float flEnvironmentDiffusion
Definition: eax3.h:159
struct _EAXOBSTRUCTIONPROPERTIES * LPEAXOBSTRUCTIONPROPERTIES
struct _EAXOCCLUSIONPROPERTIES EAXOCCLUSIONPROPERTIES
float x
Definition: eax3.h:134
float flObstructionLFRatio
Definition: eax3.h:404
struct _EAXOBSTRUCTIONPROPERTIES EAXOBSTRUCTIONPROPERTIES
unsigned long ulFlags
Definition: eax3.h:180
void ALvoid
OpenAL void type.
Definition: altypes.h:60
float flModulationDepth
Definition: eax3.h:175
float flRolloffFactor
Definition: eax3.h:413
float y
Definition: eax3.h:135
float flOcclusionDirectRatio
Definition: eax3.h:437
EAXVECTOR vReflectionsPan
Definition: eax3.h:168
float flRoomRolloffFactor
Definition: eax3.h:414
DSPROPERTY_EAX_BUFFERPROPERTY
Definition: eax3.h:351
int ALenum
OpenAL enumerations.
Definition: altypes.h:63
float flDecayLFRatio
Definition: eax3.h:165
float flDecayHFRatio
Definition: eax3.h:164
float flOcclusionLFRatio
Definition: eax3.h:406
struct _EAXEXCLUSIONPROPERTIES * LPEAXEXCLUSIONPROPERTIES
struct _EAXLISTENERPROPERTIES * LPEAXLISTENERPROPERTIES
float flExclusionLFRatio
Definition: eax3.h:447
float flAirAbsorptionHF
Definition: eax3.h:176
struct _EAXBUFFERPROPERTIES * LPEAXBUFFERPROPERTIES
LPDIRECTSOUND IUnknown FAR *typedef HRESULT(FAR PASCAL *LPEAXDIRECTSOUNDCREATE)(GUID *
unsigned long ulFlags
Definition: eax3.h:416