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