refactor(fmod): move all original files into fmod directory
This commit is contained in:
parent
50fb3c6b1c
commit
35569faecc
544 changed files with 0 additions and 0 deletions
218
fmod/lib/sfx/foreverb/3dl2.h
Executable file
218
fmod/lib/sfx/foreverb/3dl2.h
Executable file
|
|
@ -0,0 +1,218 @@
|
|||
// 3DL2.H
|
||||
//
|
||||
|
||||
// #ifndef 3DL2_H_INCLUDED
|
||||
// #define 3DL2_H_INCLUDED
|
||||
|
||||
#ifndef __3DL2_H
|
||||
#define __3DL2_H
|
||||
|
||||
// #include <dsound.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
/*
|
||||
#pragma pack(push, 4)
|
||||
|
||||
// I3DL2 listener property set {DA0F0520-300A-11D3-8A2B-0060970DB011}
|
||||
DEFINE_GUID(DSPROPSETID_I3DL2_ListenerProperties,
|
||||
0xDA0F0520,
|
||||
0x300A,
|
||||
0x11D3,
|
||||
0x8A2B,
|
||||
0x0060970DB011);
|
||||
*/
|
||||
|
||||
typedef enum
|
||||
{
|
||||
DSPROPERTY_I3DL2LISTENER_ALL, // sets all I3DL2 listener properties
|
||||
DSPROPERTY_I3DL2LISTENER_ROOM, // room effect level at low frequencies
|
||||
DSPROPERTY_I3DL2LISTENER_ROOMHF, // room effect high-frequency level re. low frequency level
|
||||
DSPROPERTY_I3DL2LISTENER_ROOMROLLOFFFACTOR, // like DS3D flRolloffFactor but for room effect
|
||||
DSPROPERTY_I3DL2LISTENER_DECAYTIME, // reverberation decay time at low-frequencies
|
||||
DSPROPERTY_I3DL2LISTENER_DECAYHFRATIO, // high-frequency to low-frequency decay time ratio
|
||||
DSPROPERTY_I3DL2LISTENER_REFLECTIONS, // early reflections level relative to room effect
|
||||
DSPROPERTY_I3DL2LISTENER_REFLECTIONSDELAY, // delay time of first reflection
|
||||
DSPROPERTY_I3DL2LISTENER_REVERB, // late reverberation level relative to room effect
|
||||
DSPROPERTY_I3DL2LISTENER_REVERBDELAY, // late reverberation delay time relative to first reflection
|
||||
DSPROPERTY_I3DL2LISTENER_DIFFUSION, // reverberation diffusion (echo density)
|
||||
DSPROPERTY_I3DL2LISTENER_DENSITY, // reverberation density (modal density)
|
||||
DSPROPERTY_I3DL2LISTENER_HFREFERENCE // reference high frequency
|
||||
} DSPROPERTY_I3DL2_LISTENERPROPERTY;
|
||||
|
||||
// use this structure for DSPROPERTY_I3DL2LISTENER_ALL
|
||||
// - all levels are hundredths of decibels (mB)
|
||||
// - all times are in seconds (s)
|
||||
typedef struct _I3DL2_LISTENERPROPERTIES
|
||||
{
|
||||
long lRoom; // [-10000, 0] default: -10000 mB
|
||||
long lRoomHF; // [-10000, 0] default: 0 mB
|
||||
float flRoomRolloffFactor; // [0.0, 10.0] default: 0.0
|
||||
float flDecayTime; // [0.1, 20.0] default: 1.0 s
|
||||
float flDecayHFRatio; // [0.1, 2.0] default: 0.5
|
||||
long lReflections; // [-10000, 1000] default: -10000 mB
|
||||
float flReflectionsDelay; // [0.0, 0.3] default: 0.02 s
|
||||
long lReverb; // [-10000, 2000] default: -10000 mB
|
||||
float flReverbDelay; // [0.0, 0.1] default: 0.04 s
|
||||
float flDiffusion ; // [0.0, 100.0] default: 100.0 %
|
||||
float flDensity; // [0.0, 100.0] default: 100.0 %
|
||||
float flHFReference; // [20.0, 20000.0] default: 5000.0 Hz
|
||||
} I3DL2_LISTENERPROPERTIES, *LPI3DL2_LISTENERPROPERTIES;
|
||||
|
||||
// property ranges and defaults:
|
||||
|
||||
#define I3DL2LISTENER_MINROOM -10000
|
||||
#define I3DL2LISTENER_MAXROOM 0
|
||||
#define I3DL2LISTENER_DEFAULTROOM -10000
|
||||
|
||||
#define I3DL2LISTENER_MINROOMHF -10000
|
||||
#define I3DL2LISTENER_MAXROOMHF 0
|
||||
#define I3DL2LISTENER_DEFAULTROOMHF 0
|
||||
|
||||
#define I3DL2LISTENER_MINROOMROLLOFFFACTOR 0.0f
|
||||
#define I3DL2LISTENER_MAXROOMROLLOFFFACTOR 10.0f
|
||||
#define I3DL2LISTENER_DEFAULTROOMROLLOFFFACTOR 0.0f
|
||||
|
||||
#define I3DL2LISTENER_MINDECAYTIME 0.1f
|
||||
#define I3DL2LISTENER_MAXDECAYTIME 20.0f
|
||||
#define I3DL2LISTENER_DEFAULTDECAYTIME 1.0f
|
||||
|
||||
#define I3DL2LISTENER_MINDECAYHFRATIO 0.1f
|
||||
#define I3DL2LISTENER_MAXDECAYHFRATIO 2.0f
|
||||
#define I3DL2LISTENER_DEFAULTDECAYHFRATIO 0.5f
|
||||
|
||||
#define I3DL2LISTENER_MINREFLECTIONS -10000
|
||||
#define I3DL2LISTENER_MAXREFLECTIONS 1000
|
||||
#define I3DL2LISTENER_DEFAULTREFLECTIONS -10000
|
||||
|
||||
#define I3DL2LISTENER_MINREFLECTIONSDELAY 0.0f
|
||||
#define I3DL2LISTENER_MAXREFLECTIONSDELAY 0.3f
|
||||
#define I3DL2LISTENER_DEFAULTREFLECTIONSDELAY 0.02f
|
||||
|
||||
#define I3DL2LISTENER_MINREVERB -10000
|
||||
#define I3DL2LISTENER_MAXREVERB 2000
|
||||
#define I3DL2LISTENER_DEFAULTREVERB 0 // -10000
|
||||
|
||||
#define I3DL2LISTENER_MINREVERBDELAY 0.0f
|
||||
#define I3DL2LISTENER_MAXREVERBDELAY 0.1f
|
||||
#define I3DL2LISTENER_DEFAULTREVERBDELAY 0.04f
|
||||
|
||||
#define I3DL2LISTENER_MINDIFFUSION 0.0f
|
||||
#define I3DL2LISTENER_MAXDIFFUSION 100.0f
|
||||
#define I3DL2LISTENER_DEFAULTDIFFUSION 100.0f
|
||||
|
||||
#define I3DL2LISTENER_MINDENSITY 0.0f
|
||||
#define I3DL2LISTENER_MAXDENSITY 100.0f
|
||||
#define I3DL2LISTENER_DEFAULTDENSITY 100.0f
|
||||
|
||||
#define I3DL2LISTENER_MINHFREFERENCE 20.0f
|
||||
#define I3DL2LISTENER_MAXHFREFERENCE 20000.0f
|
||||
#define I3DL2LISTENER_DEFAULTHFREFERENCE 5000.0f
|
||||
|
||||
// I3DL2 buffer property set {DA0F0521-300A-11D3-8A2B-0060970DB011}
|
||||
/*
|
||||
DEFINE_GUID(DSPROPSETID_I3DL2_BufferProperties,
|
||||
0xDA0F0521,
|
||||
0x300A,
|
||||
0x11D3,
|
||||
0x8A2B,
|
||||
0x0060970DB011);
|
||||
*/
|
||||
|
||||
/*
|
||||
typedef enum
|
||||
{
|
||||
DSPROPERTY_I3DL2BUFFER_ALL, // sets all I3DL2 buffer properties
|
||||
DSPROPERTY_I3DL2BUFFER_OBSTRUCTIONALL, // sets both obstruction properties
|
||||
DSPROPERTY_I3DL2BUFFER_OCCLUSIONALL, // sets both occlusion properties
|
||||
DSPROPERTY_I3DL2BUFFER_DIRECT, // additional direct path level correction
|
||||
DSPROPERTY_I3DL2BUFFER_DIRECTHF, // additional direct path high-frequency re. low-frequency level correction
|
||||
DSPROPERTY_I3DL2BUFFER_ROOM, // additional room effect level correction
|
||||
DSPROPERTY_I3DL2BUFFER_ROOMHF, // additional room effect high-frequency re. low-frequency level correction
|
||||
DSPROPERTY_I3DL2BUFFER_ROOMROLLOFFFACTOR, // like DS3D flRolloffFactor but for room effect
|
||||
DSPROPERTY_I3DL2BUFFER_OBSTRUCTION, // main obstruction control (attenuation at high frequencies)
|
||||
DSPROPERTY_I3DL2BUFFER_OBSTRUCTIONLFRATIO, // obstruction low-frequency re. high-frequency ratio
|
||||
DSPROPERTY_I3DL2BUFFER_OCCLUSION, // main occlusion control (attenuation at high frequencies)
|
||||
DSPROPERTY_I3DL2BUFFER_OCCLUSIONLFRATIO // occlusion low-frequency re. high-frequency ratio
|
||||
} DSPROPERTY_I3DL2_BUFFERPROPERTY;
|
||||
*/
|
||||
|
||||
/*
|
||||
// use this structure for DSPROPERTY_I3DL2BUFFER_OBSTRUCTIONALL
|
||||
// - all levels are hundredths of decibels (mB)
|
||||
typedef struct _I3DL2_OBSTRUCTIONPROPERTIES
|
||||
{
|
||||
LONG lHFLevel; // [-10000, 0] default: 0 mB
|
||||
FLOAT flLFRatio; // [0.0, 1.0] default: 0.0
|
||||
} I3DL2_OBSTRUCTIONPROPERTIES, *LPI3DL2_OBSTRUCTIONPROPERTIES;
|
||||
|
||||
// use this structure for DSPROPERTY_I3DL2BUFFER_OCCLUSIONALL
|
||||
// - all levels are hundredths of decibels (mB)
|
||||
typedef struct _I3DL2_OCCLUSIONPROPERTIES
|
||||
{
|
||||
LONG lHFLevel; // [-10000, 0] default: 0 mB
|
||||
FLOAT flLFRatio; // [0.0, 1.0] default: 0.25
|
||||
} I3DL2_OCCLUSIONPROPERTIES, *LPI3DL2_OCCLUSIONPROPERTIES;
|
||||
|
||||
// use this structure for DSPROPERTY_I3DL2BUFFER_ALL
|
||||
// - all levels are hundredths of decibels (mB)
|
||||
typedef struct _I3DL2_BUFFERPROPERTIES
|
||||
{
|
||||
LONG lDirect; // [-10000, 1000] default: 0 mB
|
||||
LONG lDirectHF; // [-10000, 0] default: 0 mB
|
||||
LONG lRoom; // [-10000, 1000] default: 0 mB
|
||||
LONG lRoomHF; // [-10000, 0] default: 0 mB
|
||||
FLOAT flRoomRolloffFactor; // [0.0, 10.0] default: 0.0
|
||||
I3DL2BUFFER_OBSTRUCTIONPROPERTIES Obstruction;
|
||||
I3DL2BUFFER_OCCLUSIONPROPERTIES Occlusion;
|
||||
} I3DL2_BUFFERPROPERTIES, *LPI3DL2_BUFFERPROPERTIES;
|
||||
|
||||
// property ranges and defaults:
|
||||
|
||||
#define I3DL2BUFFER_MINDIRECT -10000
|
||||
#define I3DL2BUFFER_MAXDIRECT 1000
|
||||
#define I3DL2BUFFER_DEFAULTDIRECT 0
|
||||
|
||||
#define I3DL2BUFFER_MINDIRECTHF -10000
|
||||
#define I3DL2BUFFER_MAXDIRECTHF 0
|
||||
#define I3DL2BUFFER_DEFAULTDIRECTHF 0
|
||||
|
||||
#define I3DL2BUFFER_MINROOM -10000
|
||||
#define I3DL2BUFFER_MAXROOM 1000
|
||||
#define I3DL2BUFFER_DEFAULTROOM 0
|
||||
|
||||
#define I3DL2BUFFER_MINROOMHF -10000
|
||||
#define I3DL2BUFFER_MAXROOMHF 0
|
||||
#define I3DL2BUFFER_DEFAULTROOMHF 0
|
||||
|
||||
#define I3DL2BUFFER_MINROOMROLLOFFFACTOR 0.0f
|
||||
#define I3DL2BUFFER_MAXROOMROLLOFFFACTOR 10.f
|
||||
#define I3DL2BUFFER_DEFAULTROOMROLLOFFFACTOR 0.0f
|
||||
|
||||
#define I3DL2BUFFER_MINOBSTRUCTION -10000
|
||||
#define I3DL2BUFFER_MAXOBSTRUCTION 0
|
||||
#define I3DL2BUFFER_DEFAULTOBSTRUCTION 0
|
||||
|
||||
#define I3DL2BUFFER_MINOBSTRUCTIONLFRATIO 0.0f
|
||||
#define I3DL2BUFFER_MAXOBSTRUCTIONLFRATIO 1.0f
|
||||
#define I3DL2BUFFER_DEFAULTOBSTRUCTIONLFRATIO 0.0f
|
||||
|
||||
#define I3DL2BUFFER_MINOCCLUSION -10000
|
||||
#define I3DL2BUFFER_MAXOCCLUSION 0
|
||||
#define I3DL2BUFFER_DEFAULTOCCLUSION 0
|
||||
|
||||
#define I3DL2BUFFER_MINOCCLUSIONLFRATIO 0.0f
|
||||
#define I3DL2BUFFER_MAXOCCLUSIONLFRATIO 1.0f
|
||||
#define I3DL2BUFFER_DEFAULTOCCLUSIONLFRATIO 0.25f
|
||||
*/
|
||||
|
||||
// #pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue