10 #ifndef EAX_H_INCLUDED
11 #define EAX_H_INCLUDED
27 0xaa, 0xb8, 0x0, 0xa0, 0xc9, 0x59, 0x49, 0xd5);
36 0xa0, 0x94, 0xd0, 0xc0, 0xbf, 0x3a, 0x56, 0xc);
40 #ifdef DIRECTSOUND_VERSION
41 #if DIRECTSOUND_VERSION == 0x0800
43 typedef
HRESULT (FAR PASCAL *LPEAXDIRECTSOUNDCREATE8)(GUID*, LPDIRECTSOUND*, IUnknown FAR*);
48 typedef
HRESULT (FAR PASCAL *LPEAXDIRECTSOUNDCREATE)(GUID*, LPDIRECTSOUND*, IUnknown FAR*);
51 #include "..\Sdk\OpenAL\Include\al.h"
60 unsigned char Data4[8];
62 #endif // !GUID_DEFINED
66 #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
67 extern const GUID FAR name
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 } }
91 0xbd, 0xb9, 0x00, 0xc0, 0xf0, 0x2d, 0xdf, 0x87);
94 #define DSPROPSETID_EAX_ListenerProperties DSPROPSETID_EAX30_ListenerProperties
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)
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
234 #define EAXLISTENERFLAGS_DECAYHFLIMIT 0x00000020
236 #define EAXLISTENERFLAGS_RESERVED 0xFFFFFF00 // reserved future use
240 #define EAXLISTENER_MINENVIRONMENT 0
241 #define EAXLISTENER_MAXENVIRONMENT (EAX_ENVIRONMENT_COUNT-1)
242 #define EAXLISTENER_DEFAULTENVIRONMENT EAX_ENVIRONMENT_GENERIC
244 #define EAXLISTENER_MINENVIRONMENTSIZE 1.0f
245 #define EAXLISTENER_MAXENVIRONMENTSIZE 100.0f
246 #define EAXLISTENER_DEFAULTENVIRONMENTSIZE 7.5f
248 #define EAXLISTENER_MINENVIRONMENTDIFFUSION 0.0f
249 #define EAXLISTENER_MAXENVIRONMENTDIFFUSION 1.0f
250 #define EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION 1.0f
252 #define EAXLISTENER_MINROOM (-10000)
253 #define EAXLISTENER_MAXROOM 0
254 #define EAXLISTENER_DEFAULTROOM (-1000)
256 #define EAXLISTENER_MINROOMHF (-10000)
257 #define EAXLISTENER_MAXROOMHF 0
258 #define EAXLISTENER_DEFAULTROOMHF (-100)
260 #define EAXLISTENER_MINROOMLF (-10000)
261 #define EAXLISTENER_MAXROOMLF 0
262 #define EAXLISTENER_DEFAULTROOMLF 0
264 #define EAXLISTENER_MINDECAYTIME 0.1f
265 #define EAXLISTENER_MAXDECAYTIME 20.0f
266 #define EAXLISTENER_DEFAULTDECAYTIME 1.49f
268 #define EAXLISTENER_MINDECAYHFRATIO 0.1f
269 #define EAXLISTENER_MAXDECAYHFRATIO 2.0f
270 #define EAXLISTENER_DEFAULTDECAYHFRATIO 0.83f
272 #define EAXLISTENER_MINDECAYLFRATIO 0.1f
273 #define EAXLISTENER_MAXDECAYLFRATIO 2.0f
274 #define EAXLISTENER_DEFAULTDECAYLFRATIO 1.00f
276 #define EAXLISTENER_MINREFLECTIONS (-10000)
277 #define EAXLISTENER_MAXREFLECTIONS 1000
278 #define EAXLISTENER_DEFAULTREFLECTIONS (-2602)
280 #define EAXLISTENER_MINREFLECTIONSDELAY 0.0f
281 #define EAXLISTENER_MAXREFLECTIONSDELAY 0.3f
282 #define EAXLISTENER_DEFAULTREFLECTIONSDELAY 0.007f
284 #define EAXLISTENER_MINREVERB (-10000)
285 #define EAXLISTENER_MAXREVERB 2000
286 #define EAXLISTENER_DEFAULTREVERB 200
288 #define EAXLISTENER_MINREVERBDELAY 0.0f
289 #define EAXLISTENER_MAXREVERBDELAY 0.1f
290 #define EAXLISTENER_DEFAULTREVERBDELAY 0.011f
292 #define EAXLISTENER_MINECHOTIME 0.075f
293 #define EAXLISTENER_MAXECHOTIME 0.25f
294 #define EAXLISTENER_DEFAULTECHOTIME 0.25f
296 #define EAXLISTENER_MINECHODEPTH 0.0f
297 #define EAXLISTENER_MAXECHODEPTH 1.0f
298 #define EAXLISTENER_DEFAULTECHODEPTH 0.0f
300 #define EAXLISTENER_MINMODULATIONTIME 0.04f
301 #define EAXLISTENER_MAXMODULATIONTIME 4.0f
302 #define EAXLISTENER_DEFAULTMODULATIONTIME 0.25f
304 #define EAXLISTENER_MINMODULATIONDEPTH 0.0f
305 #define EAXLISTENER_MAXMODULATIONDEPTH 1.0f
306 #define EAXLISTENER_DEFAULTMODULATIONDEPTH 0.0f
308 #define EAXLISTENER_MINAIRABSORPTIONHF (-100.0f)
309 #define EAXLISTENER_MAXAIRABSORPTIONHF 0.0f
310 #define EAXLISTENER_DEFAULTAIRABSORPTIONHF (-5.0f)
312 #define EAXLISTENER_MINHFREFERENCE 1000.0f
313 #define EAXLISTENER_MAXHFREFERENCE 20000.0f
314 #define EAXLISTENER_DEFAULTHFREFERENCE 5000.0f
316 #define EAXLISTENER_MINLFREFERENCE 20.0f
317 #define EAXLISTENER_MAXLFREFERENCE 1000.0f
318 #define EAXLISTENER_DEFAULTLFREFERENCE 250.0f
320 #define EAXLISTENER_MINROOMROLLOFFFACTOR 0.0f
321 #define EAXLISTENER_MAXROOMROLLOFFFACTOR 10.0f
322 #define EAXLISTENER_DEFAULTROOMROLLOFFFACTOR 0.0f
324 #define EAXLISTENER_DEFAULTFLAGS (EAXLISTENERFLAGS_DECAYTIMESCALE | \
325 EAXLISTENERFLAGS_REFLECTIONSSCALE | \
326 EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE | \
327 EAXLISTENERFLAGS_REVERBSCALE | \
328 EAXLISTENERFLAGS_REVERBDELAYSCALE | \
329 EAXLISTENERFLAGS_DECAYHFLIMIT)
340 0xbd, 0xb9, 0x0, 0xc0, 0xf0, 0x2d, 0xdf, 0x87);
343 #define DSPROPSETID_EAX_BufferProperties DSPROPSETID_EAX30_BufferProperties
344 #define DSPROPSETID_EAX_SourceProperties DSPROPSETID_EAX30_BufferProperties
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)
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
451 #define EAXBUFFERFLAGS_RESERVED 0xFFFFFFF8 // reserved future use
455 #define EAXBUFFER_MINDIRECT (-10000)
456 #define EAXBUFFER_MAXDIRECT 1000
457 #define EAXBUFFER_DEFAULTDIRECT 0
459 #define EAXBUFFER_MINDIRECTHF (-10000)
460 #define EAXBUFFER_MAXDIRECTHF 0
461 #define EAXBUFFER_DEFAULTDIRECTHF 0
463 #define EAXBUFFER_MINROOM (-10000)
464 #define EAXBUFFER_MAXROOM 1000
465 #define EAXBUFFER_DEFAULTROOM 0
467 #define EAXBUFFER_MINROOMHF (-10000)
468 #define EAXBUFFER_MAXROOMHF 0
469 #define EAXBUFFER_DEFAULTROOMHF 0
471 #define EAXBUFFER_MINOBSTRUCTION (-10000)
472 #define EAXBUFFER_MAXOBSTRUCTION 0
473 #define EAXBUFFER_DEFAULTOBSTRUCTION 0
475 #define EAXBUFFER_MINOBSTRUCTIONLFRATIO 0.0f
476 #define EAXBUFFER_MAXOBSTRUCTIONLFRATIO 1.0f
477 #define EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO 0.0f
479 #define EAXBUFFER_MINOCCLUSION (-10000)
480 #define EAXBUFFER_MAXOCCLUSION 0
481 #define EAXBUFFER_DEFAULTOCCLUSION 0
483 #define EAXBUFFER_MINOCCLUSIONLFRATIO 0.0f
484 #define EAXBUFFER_MAXOCCLUSIONLFRATIO 1.0f
485 #define EAXBUFFER_DEFAULTOCCLUSIONLFRATIO 0.25f
487 #define EAXBUFFER_MINOCCLUSIONROOMRATIO 0.0f
488 #define EAXBUFFER_MAXOCCLUSIONROOMRATIO 10.0f
489 #define EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO 1.5f
491 #define EAXBUFFER_MINOCCLUSIONDIRECTRATIO 0.0f
492 #define EAXBUFFER_MAXOCCLUSIONDIRECTRATIO 10.0f
493 #define EAXBUFFER_DEFAULTOCCLUSIONDIRECTRATIO 1.0f
495 #define EAXBUFFER_MINEXCLUSION (-10000)
496 #define EAXBUFFER_MAXEXCLUSION 0
497 #define EAXBUFFER_DEFAULTEXCLUSION 0
499 #define EAXBUFFER_MINEXCLUSIONLFRATIO 0.0f
500 #define EAXBUFFER_MAXEXCLUSIONLFRATIO 1.0f
501 #define EAXBUFFER_DEFAULTEXCLUSIONLFRATIO 1.0f
503 #define EAXBUFFER_MINOUTSIDEVOLUMEHF (-10000)
504 #define EAXBUFFER_MAXOUTSIDEVOLUMEHF 0
505 #define EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF 0
507 #define EAXBUFFER_MINDOPPLERFACTOR 0.0f
508 #define EAXBUFFER_MAXDOPPLERFACTOR 10.f
509 #define EAXBUFFER_DEFAULTDOPPLERFACTOR 0.0f
511 #define EAXBUFFER_MINROLLOFFFACTOR 0.0f
512 #define EAXBUFFER_MAXROLLOFFFACTOR 10.f
513 #define EAXBUFFER_DEFAULTROLLOFFFACTOR 0.0f
515 #define EAXBUFFER_MINROOMROLLOFFFACTOR 0.0f
516 #define EAXBUFFER_MAXROOMROLLOFFFACTOR 10.f
517 #define EAXBUFFER_DEFAULTROOMROLLOFFFACTOR 0.0f
519 #define EAXBUFFER_MINAIRABSORPTIONFACTOR 0.0f
520 #define EAXBUFFER_MAXAIRABSORPTIONFACTOR 10.0f
521 #define EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR 1.0f
523 #define EAXBUFFER_DEFAULTFLAGS (EAXBUFFERFLAGS_DIRECTHFAUTO | \
524 EAXBUFFERFLAGS_ROOMAUTO | \
525 EAXBUFFERFLAGS_ROOMHFAUTO )
531 #endif // __cplusplus
float flOcclusionRoomRatio
struct _EAXBUFFERPROPERTIES EAXBUFFERPROPERTIES
LPDIRECTSOUND IUnknown FAR *typedef HRESULT(FAR PASCAL *LPEAXDIRECTSOUNDCREATE)(GUID *
float flOcclusionRoomRatio
DSPROPERTY_EAX_BUFFERPROPERTY
struct _EAXOCCLUSIONPROPERTIES * LPEAXOCCLUSIONPROPERTIES
struct _EAXVECTOR EAXVECTOR
unsigned ALuint
OpenAL 32bit unsigned integer type.
unsigned long ulEnvironment
struct _EAXOBSTRUCTIONPROPERTIES * LPEAXOBSTRUCTIONPROPERTIES
DEFINE_GUID(CLSID_EAXDirectSound, 0x4ff53b81, 0x1ce0, 0x11d3, 0xaa, 0xb8, 0x0, 0xa0, 0xc9, 0x59, 0x49, 0xd5)
struct _EAXBUFFERPROPERTIES * LPEAXBUFFERPROPERTIES
float flRoomRolloffFactor
float flObstructionLFRatio
struct _EAXEXCLUSIONPROPERTIES * LPEAXEXCLUSIONPROPERTIES
float flOcclusionDirectRatio
float flAirAbsorptionFactor
float flEnvironmentDiffusion
float flObstructionLFRatio
struct _EAXLISTENERPROPERTIES * LPEAXLISTENERPROPERTIES
void ALvoid
OpenAL void type.
__declspec(dllimport) HRESULT WINAPI EAXDirectSoundCreate(GUID *
struct _EAXOCCLUSIONPROPERTIES EAXOCCLUSIONPROPERTIES
float flOcclusionDirectRatio
EAXVECTOR vReflectionsPan
float flRoomRolloffFactor
int ALenum
OpenAL enumerations.
DSPROPERTY_EAX_LISTENERPROPERTY
struct _EAXLISTENERPROPERTIES EAXLISTENERPROPERTIES
struct _EAXEXCLUSIONPROPERTIES EAXEXCLUSIONPROPERTIES
struct _EAXOBSTRUCTIONPROPERTIES EAXOBSTRUCTIONPROPERTIES