1 /*******************************************************************\
2 *                                                                   *
3 *  EFX-UTIL.H - EFX Utilities functions and Reverb Presets          *
4 *                                                                   *
5 *               File revision 1.0                                   *
6 *                                                                   *
7 \*******************************************************************/
8 
9 #ifndef EAXVECTOR_DEFINED
10 #define EAXVECTOR_DEFINED
11 typedef struct _EAXVECTOR {
12 	float x;
13 	float y;
14 	float z;
15 } EAXVECTOR;
16 #endif
17 
18 #ifndef EAXREVERBPROPERTIES_DEFINED
19 #define EAXREVERBPROPERTIES_DEFINED
20 typedef struct _EAXREVERBPROPERTIES
21 {
22     unsigned long ulEnvironment;
23     float flEnvironmentSize;
24     float flEnvironmentDiffusion;
25     long lRoom;
26     long lRoomHF;
27     long lRoomLF;
28     float flDecayTime;
29     float flDecayHFRatio;
30     float flDecayLFRatio;
31     long lReflections;
32     float flReflectionsDelay;
33     EAXVECTOR vReflectionsPan;
34     long lReverb;
35     float flReverbDelay;
36     EAXVECTOR vReverbPan;
37     float flEchoTime;
38     float flEchoDepth;
39     float flModulationTime;
40     float flModulationDepth;
41     float flAirAbsorptionHF;
42     float flHFReference;
43     float flLFReference;
44     float flRoomRolloffFactor;
45     unsigned long ulFlags;
46 } EAXREVERBPROPERTIES, *LPEAXREVERBPROPERTIES;
47 #endif
48 
49 #ifndef EFXEAXREVERBPROPERTIES_DEFINED
50 #define EFXEAXREVERBPROPERTIES_DEFINED
51 typedef struct
52 {
53 	float flDensity;
54 	float flDiffusion;
55 	float flGain;
56 	float flGainHF;
57 	float flGainLF;
58 	float flDecayTime;
59 	float flDecayHFRatio;
60 	float flDecayLFRatio;
61 	float flReflectionsGain;
62 	float flReflectionsDelay;
63 	float flReflectionsPan[3];
64 	float flLateReverbGain;
65 	float flLateReverbDelay;
66 	float flLateReverbPan[3];
67 	float flEchoTime;
68 	float flEchoDepth;
69 	float flModulationTime;
70 	float flModulationDepth;
71 	float flAirAbsorptionGainHF;
72 	float flHFReference;
73 	float flLFReference;
74 	float flRoomRolloffFactor;
75 	int	iDecayHFLimit;
76 } EFXEAXREVERBPROPERTIES, *LPEFXEAXREVERBPROPERTIES;
77 #endif
78 
79 #ifndef EAXOBSTRUCTIONPROPERTIES_DEFINED
80 #define EAXOBSTRUCTIONPROPERTIES_DEFINED
81 typedef struct _EAXOBSTRUCTIONPROPERTIES
82 {
83     long          lObstruction;
84     float         flObstructionLFRatio;
85 } EAXOBSTRUCTIONPROPERTIES, *LPEAXOBSTRUCTIONPROPERTIES;
86 #endif
87 
88 #ifndef EAXOCCLUSIONPROPERTIES_DEFINED
89 #define EAXOCCLUSIONPROPERTIES_DEFINED
90 typedef struct _EAXOCCLUSIONPROPERTIES
91 {
92     long          lOcclusion;
93     float         flOcclusionLFRatio;
94     float         flOcclusionRoomRatio;
95     float         flOcclusionDirectRatio;
96 } EAXOCCLUSIONPROPERTIES, *LPEAXOCCLUSIONPROPERTIES;
97 #endif
98 
99 #ifndef EAXEXCLUSIONPROPERTIES_DEFINED
100 #define EAXEXCLUSIONPROPERTIES_DEFINED
101 typedef struct _EAXEXCLUSIONPROPERTIES
102 {
103     long          lExclusion;
104     float         flExclusionLFRatio;
105 } EAXEXCLUSIONPROPERTIES, *LPEAXEXCLUSIONPROPERTIES;
106 #endif
107 
108 #ifndef EFXLOWPASSFILTER_DEFINED
109 #define EFXLOWPASSFILTER_DEFINED
110 typedef struct _EFXLOWPASSFILTER
111 {
112 	float		flGain;
113 	float		flGainHF;
114 } EFXLOWPASSFILTER, *LPEFXLOWPASSFILTER;
115 #endif
116 
117 void ConvertReverbParameters(EAXREVERBPROPERTIES *pEAXProp, EFXEAXREVERBPROPERTIES *pEFXEAXReverb);
118 void ConvertObstructionParameters(EAXOBSTRUCTIONPROPERTIES *pObProp, EFXLOWPASSFILTER *pDirectLowPassFilter);
119 void ConvertExclusionParameters(EAXEXCLUSIONPROPERTIES *pExProp, EFXLOWPASSFILTER *pSendLowPassFilter);
120 void ConvertOcclusionParameters(EAXOCCLUSIONPROPERTIES *pOcProp, EFXLOWPASSFILTER *pDirectLowPassFilter, EFXLOWPASSFILTER *pSendLowPassFilter);
121 
122 
123 /***********************************************************************************************\
124 *
125 * EAX Reverb Presets in legacy format - use ConvertReverbParameters() to convert to
126 * EFX EAX Reverb Presets for use with the OpenAL Effects Extension.
127 *
128 ************************************************************************************************/
129 
130 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
131 #define REVERB_PRESET_GENERIC \
132 	{0,		7.5f,	1.000f,	-1000,	-100,	0,		1.49f,	0.83f,	1.00f,	-2602,	0.007f,	0.00f,0.00f,0.00f,	200,	0.011f,		0.00f,0.00f,0.00f,	0.250f,	0.000f,	0.250f,	0.000f,	-5.0f,	5000.0f,	250.0f,	0.00f,	0x3f }
133 #define REVERB_PRESET_PADDEDCELL \
134 	{1,		1.4f,	1.000f,	-1000,	-6000,	0,		0.17f,	0.10f,	1.00f,	-1204,	0.001f, 0.00f,0.00f,0.00f,  207,	0.002f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f,	-5.0f,	5000.0f,	250.0f,	0.00f,	0x3f }
135 #define REVERB_PRESET_ROOM \
136 	{2,		1.9f,	1.000f,	-1000,	-454,	0,		0.40f,	0.83f,	1.00f,  -1646,	0.002f, 0.00f,0.00f,0.00f,	53,		0.003f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f,	-5.0f,  5000.0f,	250.0f,	0.00f,	0x3f }
137 #define REVERB_PRESET_BATHROOM \
138 	{3,		1.4f,	1.000f,	-1000,  -1200,	0,		1.49f,	0.54f,	1.00f,  -370,	0.007f, 0.00f,0.00f,0.00f,	1030,	0.011f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f,	-5.0f,  5000.0f,	250.0f,	0.00f,	0x3f }
139 #define REVERB_PRESET_LIVINGROOM \
140 	{4,		2.5f,	1.000f,	-1000,  -6000,	0,		0.50f,	0.10f,	1.00f,  -1376,	0.003f, 0.00f,0.00f,0.00f,	-1104,	0.004f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f,	-5.0f,  5000.0f,	250.0f,	0.00f,	0x3f }
141 #define REVERB_PRESET_STONEROOM \
142 	{5,		11.6f,	1.000f,  -1000, -300,	0,		2.31f,	0.64f,	1.00f,	-711,	0.012f, 0.00f,0.00f,0.00f,	83,		0.017f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f,	-5.0f,  5000.0f,	250.0f,	0.00f,	0x3f }
143 #define REVERB_PRESET_AUDITORIUM \
144 	{6,		21.6f,	1.000f,  -1000,	-476,	0,		4.32f,	0.59f,	1.00f,	-789,	0.020f, 0.00f,0.00f,0.00f,	-289,	0.030f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f,	-5.0f,  5000.0f,	250.0f,	0.00f,	0x3f }
145 #define REVERB_PRESET_CONCERTHALL \
146 	{7,		19.6f,	1.000f,  -1000,	-500,	0,		3.92f,	0.70f,	1.00f,  -1230,	0.020f, 0.00f,0.00f,0.00f,  -02,	0.029f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
147 #define REVERB_PRESET_CAVE \
148 	{8,		14.6f,	1.000f,  -1000,	0,		0,		2.91f,	1.30f,	1.00f,  -602,	0.015f, 0.00f,0.00f,0.00f,	-302,	0.022f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,	0.00f,	0x1f }
149 #define REVERB_PRESET_ARENA \
150 	{9,		36.2f,	1.000f,  -1000,	-698,	0,		7.24f,	0.33f,	1.00f,  -1166,	0.020f, 0.00f,0.00f,0.00f,  16,		0.030f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,	0.00f,	0x3f }
151 #define REVERB_PRESET_HANGAR \
152 	{10,	50.3f,	1.000f,  -1000,	-1000,	0,		10.05f, 0.23f,	1.00f,  -602,	0.020f, 0.00f,0.00f,0.00f,  198,	0.030f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
153 #define REVERB_PRESET_CARPETTEDHALLWAY \
154 	{11,	1.9f,	1.000f,	-1000,	-4000,	0,		0.30f,	0.10f,	1.00f,  -1831,	0.002f, 0.00f,0.00f,0.00f,	-1630,	0.030f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
155 #define REVERB_PRESET_HALLWAY \
156 	{12,	1.8f,	1.000f,	-1000,	-300,	0,		1.49f,	0.59f,	1.00f,  -1219,	0.007f, 0.00f,0.00f,0.00f,  441,	0.011f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
157 #define REVERB_PRESET_STONECORRIDOR \
158 	{13,	13.5f,	1.000f,	-1000,	-237,	0,		2.70f,	0.79f,	1.00f,  -1214,	0.013f, 0.00f,0.00f,0.00f,  395,	0.020f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
159 #define REVERB_PRESET_ALLEY \
160 	{14,	7.5f,	0.300f,	-1000,	-270,	0,		1.49f,	0.86f,	1.00f,  -1204,	0.007f, 0.00f,0.00f,0.00f,  -4,		0.011f,		0.00f,0.00f,0.00f,	0.125f, 0.950f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
161 #define REVERB_PRESET_FOREST \
162 	{15,	38.0f,	0.300f,	-1000,	-3300,	0,		1.49f,	0.54f,	1.00f,  -2560,	0.162f, 0.00f,0.00f,0.00f,	-229,	0.088f,		0.00f,0.00f,0.00f,	0.125f, 1.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
163 #define REVERB_PRESET_CITY \
164 	{16,	7.5f,	0.500f,	-1000,	-800,	0,		1.49f,	0.67f,	1.00f,  -2273,	0.007f, 0.00f,0.00f,0.00f,	-1691,	0.011f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
165 #define REVERB_PRESET_MOUNTAINS \
166 	{17,	100.0f, 0.270f,	-1000,	-2500,	0,		1.49f,	0.21f,	1.00f,  -2780,	0.300f, 0.00f,0.00f,0.00f,	-1434,	0.100f,		0.00f,0.00f,0.00f,	0.250f, 1.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x1f }
167 #define REVERB_PRESET_QUARRY \
168 	{18,	17.5f,	1.000f,	-1000,	-1000,	0,		1.49f,	0.83f,	1.00f,	-10000, 0.061f, 0.00f,0.00f,0.00f,  500,	0.025f,		0.00f,0.00f,0.00f,	0.125f, 0.700f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
169 #define REVERB_PRESET_PLAIN \
170 	{19,	42.5f,	0.210f,	-1000,	-2000,	0,		1.49f,	0.50f,	1.00f,  -2466,	0.179f, 0.00f,0.00f,0.00f,	-1926,	0.100f,		0.00f,0.00f,0.00f,	0.250f, 1.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
171 #define REVERB_PRESET_PARKINGLOT \
172 	{20,	8.3f,	1.000f,	-1000,	0,		0,		1.65f,	1.50f,	1.00f,  -1363,	0.008f, 0.00f,0.00f,0.00f,	-1153,	0.012f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x1f }
173 #define REVERB_PRESET_SEWERPIPE \
174 	{21,	1.7f,	0.800f,	-1000,	-1000,	0,		2.81f,	0.14f,	1.00f,	429,	0.014f, 0.00f,0.00f,0.00f,	1023,	0.021f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
175 #define REVERB_PRESET_UNDERWATER \
176 	{22,	1.8f,	1.000f,	-1000,  -4000,	0,		1.49f,	0.10f,	1.00f,  -449,	0.007f, 0.00f,0.00f,0.00f,	1700,	0.011f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 1.180f, 0.348f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
177 #define REVERB_PRESET_DRUGGED \
178 	{23,	1.9f,	0.500f,	-1000,	0,		0,		8.39f,	1.39f,	1.00f,  -115,	0.002f, 0.00f,0.00f,0.00f,  985,	0.030f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 1.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x1f }
179 #define REVERB_PRESET_DIZZY \
180 	{24,	1.8f,	0.600f,	-1000,	-400,	0,		17.23f, 0.56f,	1.00f,  -1713,	0.020f, 0.00f,0.00f,0.00f,	-613,	0.030f,		0.00f,0.00f,0.00f,	0.250f, 1.000f, 0.810f, 0.310f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x1f }
181 #define REVERB_PRESET_PSYCHOTIC \
182 	{25,	1.0f,	0.500f,	-1000,	-151,	0,		7.56f,	0.91f,	1.00f,  -626,	0.020f, 0.00f,0.00f,0.00f,  774,	0.030f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 4.000f, 1.000f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x1f }
183 
184 
185 // CASTLE PRESETS
186 
187 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
188 #define REVERB_PRESET_CASTLE_SMALLROOM \
189 	{ 26,   8.3f,	0.890f,	-1000,	-800,	-2000,	1.22f,	0.83f,	0.31f,	-100,	0.022f,	0.00f,0.00f,0.00f,	600,	0.011f,		0.00f,0.00f,0.00f,	0.138f,	0.080f,	0.250f,	0.000f,	-5.0f,	5168.6f,	139.5f,  0.00f, 0x20 }
190 #define REVERB_PRESET_CASTLE_SHORTPASSAGE \
191 	{ 26,   8.3f,	0.890f, -1000,  -1000,  -2000,  2.32f,	0.83f,	0.31f,	-100,	0.007f, 0.00f,0.00f,0.00f,  200,		0.023f,		0.00f,0.00f,0.00f,	0.138f, 0.080f, 0.250f, 0.000f, -5.0f,  5168.6f,	139.5f,  0.00f, 0x20 }
192 #define REVERB_PRESET_CASTLE_MEDIUMROOM \
193 	{ 26,   8.3f,	0.930f, -1000,  -1100,  -2000,  2.04f,	0.83f,	0.46f,  -400,	0.022f, 0.00f,0.00f,0.00f,	400,	0.011f,		0.00f,0.00f,0.00f,	0.155f, 0.030f, 0.250f, 0.000f, -5.0f,  5168.6f,	139.5f,  0.00f, 0x20 }
194 #define REVERB_PRESET_CASTLE_LONGPASSAGE \
195 	{ 26,   8.3f,	0.890f, -1000,  -800,	-2000,  3.42f,	0.83f,	0.31f,  -100,	0.007f, 0.00f,0.00f,0.00f,	300,	0.023f,		0.00f,0.00f,0.00f,	0.138f, 0.080f, 0.250f, 0.000f, -5.0f,  5168.6f,	139.5f,  0.00f, 0x20 }
196 #define REVERB_PRESET_CASTLE_LARGEROOM \
197 	{ 26,   8.3f,	0.820f, -1000,  -1100,  -1800,  2.53f,	0.83f,	0.50f,  -700,	0.034f, 0.00f,0.00f,0.00f,	200,		0.016f,		0.00f,0.00f,0.00f,	0.185f, 0.070f, 0.250f, 0.000f, -5.0f,  5168.6f,	139.5f,  0.00f, 0x20 }
198 #define REVERB_PRESET_CASTLE_HALL \
199 	{ 26,   8.3f,	0.810f, -1000,  -1100,  -1500,  3.14f,	0.79f,	0.62f,  -1500,	0.056f, 0.00f,0.00f,0.00f,	100,	0.024f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5168.6f,	139.5f,  0.00f, 0x20 }
200 #define REVERB_PRESET_CASTLE_CUPBOARD \
201 	{ 26,   8.3f,	0.890f, -1000,  -1100,  -2000,  0.67f,	0.87f,	0.31f,  300,	0.010f,	0.00f,0.00f,0.00f,	1100,	0.007f,		0.00f,0.00f,0.00f,	0.138f, 0.080f, 0.250f, 0.000f, -5.0f,  5168.6f,	139.5f,  0.00f, 0x20 }
202 #define REVERB_PRESET_CASTLE_COURTYARD \
203 	{ 26,   8.3f,	0.420f, -1000,  -700,   -1400,	2.13f,	0.61f,	0.23f,  -1300,	0.160f, 0.00f,0.00f,0.00f,	-300,	0.036f,		0.00f,0.00f,0.00f,	0.250f, 0.370f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x1f }
204 #define REVERB_PRESET_CASTLE_ALCOVE \
205 	{ 26,   8.3f,	0.890f,	-1000,  -600,	-2000,  1.64f,	0.87f,	0.31f,  00,	0.007f, 0.00f,0.00f,0.00f,		300,	0.034f,		0.00f,0.00f,0.00f,	0.138f, 0.080f, 0.250f, 0.000f, -5.0f,	5168.6f,	139.5f,  0.00f, 0x20 }
206 
207 
208 // FACTORY PRESETS
209 
210 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
211 #define REVERB_PRESET_FACTORY_ALCOVE \
212 	{ 26,   1.8f,	0.590f,  -1200, -200,   -600,	3.14f,	0.65f,	1.31f,  300,	0.010f, 0.00f,0.00f,0.00f,	000,	0.038f,		0.00f,0.00f,0.00f,	0.114f, 0.100f, 0.250f, 0.000f, -5.0f,  3762.6f,	362.5f,  0.00f, 0x20 }
213 #define REVERB_PRESET_FACTORY_SHORTPASSAGE \
214 	{ 26,   1.8f,	0.640f,  -1200, -200,   -600,	2.53f,	0.65f,	1.31f,  0,		0.010f, 0.00f,0.00f,0.00f,	200,	0.038f,		0.00f,0.00f,0.00f,	0.135f, 0.230f, 0.250f, 0.000f, -5.0f,  3762.6f,	362.5f,  0.00f, 0x20 }
215 #define REVERB_PRESET_FACTORY_MEDIUMROOM \
216 	{ 26,   1.9f,	0.820f,  -1200, -200,   -600,	2.76f,	0.65f,	1.31f,  -1100,	0.022f, 0.00f,0.00f,0.00f,	300,	0.023f,		0.00f,0.00f,0.00f,	0.174f, 0.070f, 0.250f, 0.000f, -5.0f,  3762.6f,	362.5f,  0.00f, 0x20 }
217 #define REVERB_PRESET_FACTORY_LONGPASSAGE \
218 	{ 26,   1.8f,	0.640f,  -1200, -200,   -600,	4.06f,	0.65f,	1.31f,  0,		0.020f, 0.00f,0.00f,0.00f,	200,	0.037f,		0.00f,0.00f,0.00f,	0.135f, 0.230f, 0.250f, 0.000f, -5.0f,  3762.6f,	362.5f,  0.00f, 0x20 }
219 #define REVERB_PRESET_FACTORY_LARGEROOM \
220 	{ 26,   1.9f,	0.750f,  -1200, -300,   -400,	4.24f,	0.51f,	1.31f,  -1500,	0.039f, 0.00f,0.00f,0.00f,	100,		0.023f,		0.00f,0.00f,0.00f,	0.231f, 0.070f, 0.250f, 0.000f, -5.0f,  3762.6f,	362.5f,  0.00f, 0x20 }
221 #define REVERB_PRESET_FACTORY_HALL \
222 	{ 26,   1.9f,	0.750f,  -1000, -300,   -400,	7.43f,	0.51f,	1.31f,  -2400,	0.073f, 0.00f,0.00f,0.00f,	-100,	0.027f,		0.00f,0.00f,0.00f,	0.250f, 0.070f, 0.250f, 0.000f, -5.0f,  3762.6f,	362.5f,  0.00f, 0x20 }
223 #define REVERB_PRESET_FACTORY_CUPBOARD \
224 	{ 26,   1.7f,	0.630f,  -1200, -200,   -600,	0.49f,	0.65f,	1.31f,  200,	0.010f, 0.00f,0.00f,0.00f,	600,	0.032f,		0.00f,0.00f,0.00f,	0.107f, 0.070f, 0.250f, 0.000f, -5.0f,  3762.6f,	362.5f,  0.00f, 0x20 }
225 #define REVERB_PRESET_FACTORY_COURTYARD \
226 	{ 26,   1.7f,	0.570f,  -1000, -1000,  -400,	2.32f,	0.29f,	0.56f,  -1300,	0.140f, 0.00f,0.00f,0.00f,	-800,	0.039f,		0.00f,0.00f,0.00f,	0.250f, 0.290f, 0.250f, 0.000f, -5.0f,  3762.6f,	362.5f,  0.00f, 0x20 }
227 #define REVERB_PRESET_FACTORY_SMALLROOM \
228 	{ 26,   1.8f,	0.820f,  -1000,	-200,   -600,	1.72f,	0.65f,	1.31f,  -300,	0.010f, 0.00f,0.00f,0.00f,	500,	0.024f,		0.00f,0.00f,0.00f,	0.119f, 0.070f, 0.250f, 0.000f, -5.0f,	3762.6f,	362.5f,  0.00f, 0x20 }
229 
230 
231 // ICE PALACE PRESETS
232 
233 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
234 #define REVERB_PRESET_ICEPALACE_ALCOVE \
235 	{ 26,   2.7f,	0.840f, -1000,  -500,	-1100,  2.76f,	1.46f,	0.28f,  100,	0.010f, 0.00f,0.00f,0.00f,	-100,	0.030f,		0.00f,0.00f,0.00f,	0.161f, 0.090f, 0.250f, 0.000f,	-5.0f,	12428.5f,	99.6f,  0.00f,	0x20 }
236 #define REVERB_PRESET_ICEPALACE_SHORTPASSAGE \
237 	{ 26,   2.7f,	0.750f, -1000,  -500,	-1100,  1.79f,	1.46f,	0.28f,  -600,	0.010f, 0.00f,0.00f,0.00f,	100,		0.019f,		0.00f,0.00f,0.00f,	0.177f, 0.090f, 0.250f, 0.000f, -5.0f,	12428.5f,	99.6f,  0.00f,	0x20 }
238 #define REVERB_PRESET_ICEPALACE_MEDIUMROOM \
239 	{ 26,   2.7f,	0.870f, -1000,  -500,   -700,	2.22f,	1.53f,	0.32f,  -800,	0.039f, 0.00f,0.00f,0.00f,	100,	0.027f,		0.00f,0.00f,0.00f,	0.186f, 0.120f, 0.250f, 0.000f, -5.0f,	12428.5f,	99.6f,  0.00f,	0x20 }
240 #define REVERB_PRESET_ICEPALACE_LONGPASSAGE \
241 	{ 26,   2.7f,	0.770f, -1000,  -500,   -800,	3.01f,	1.46f,	0.28f,  -200,	0.012f, 0.00f,0.00f,0.00f,	200,	0.025f,		0.00f,0.00f,0.00f,	0.186f, 0.040f, 0.250f, 0.000f, -5.0f,	12428.5f,	99.6f,  0.00f,	0x20 }
242 #define REVERB_PRESET_ICEPALACE_LARGEROOM \
243 	{ 26,   2.9f,	0.810f, -1000,  -500,   -700,	3.14f,	1.53f,	0.32f,  -1200,	0.039f, 0.00f,0.00f,0.00f,	000,	0.027f,		0.00f,0.00f,0.00f,	0.214f, 0.110f, 0.250f, 0.000f, -5.0f,	12428.5f,	99.6f,  0.00f,	0x20 }
244 #define REVERB_PRESET_ICEPALACE_HALL \
245 	{ 26,   2.9f,	0.760f, -1000,  -700,   -500,	5.49f,	1.53f,	0.38f,  -1900,	0.054f, 0.00f,0.00f,0.00f,	-400,	0.052f,		0.00f,0.00f,0.00f,	0.226f, 0.110f, 0.250f, 0.000f, -5.0f,	12428.5f,	99.6f,  0.00f,	0x20 }
246 #define REVERB_PRESET_ICEPALACE_CUPBOARD \
247 	{ 26,   2.7f,	0.830f, -1000,  -600,	-1300,  0.76f,	1.53f,	0.26f,  100,	0.012f, 0.00f,0.00f,0.00f,	600,	0.016f,		0.00f,0.00f,0.00f,	0.143f, 0.080f, 0.250f, 0.000f, -5.0f,	12428.5f,	99.6f,  0.00f,	0x20 }
248 #define REVERB_PRESET_ICEPALACE_COURTYARD \
249 	{ 26,   2.9f,	0.590f, -1000,  -1100,  -1000,  2.04f,	1.20f,	0.38f,  -1000,	0.173f, 0.00f,0.00f,0.00f,	-1000,	0.043f,		0.00f,0.00f,0.00f,	0.235f, 0.480f, 0.250f, 0.000f, -5.0f,	12428.5f,	99.6f,  0.00f,	0x20 }
250 #define REVERB_PRESET_ICEPALACE_SMALLROOM \
251 	{ 26,   2.7f,	0.840f, -1000,  -500,	-1100,  1.51f,	1.53f,	0.27f,	-100,	0.010f, 0.00f,0.00f,0.00f,	300,	0.011f,		0.00f,0.00f,0.00f,	0.164f, 0.140f, 0.250f, 0.000f, -5.0f,	12428.5f,	99.6f,  0.00f,	0x20 }
252 
253 
254 // SPACE STATION PRESETS
255 
256 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
257 #define REVERB_PRESET_SPACESTATION_ALCOVE \
258 	{ 26,   1.5f,	0.780f, -1000,  -300,   -100,	1.16f,	0.81f,	0.55f,  300,	0.007f, 0.00f,0.00f,0.00f,	000,	0.018f,		0.00f,0.00f,0.00f,	0.192f, 0.210f, 0.250f, 0.000f,	-5.0f,  3316.1f,	458.2f,  0.00f, 0x20 }
259 #define REVERB_PRESET_SPACESTATION_MEDIUMROOM \
260 	{ 26,   1.5f,	0.750f, -1000,  -400,   -100,	3.01f,	0.50f,	0.55f,  -800,	0.034f, 0.00f,0.00f,0.00f,	100,		0.035f,		0.00f,0.00f,0.00f,	0.209f, 0.310f, 0.250f, 0.000f,	-5.0f,  3316.1f,	458.2f,  0.00f, 0x20 }
261 #define REVERB_PRESET_SPACESTATION_SHORTPASSAGE \
262 	{ 26,   1.5f,	0.870f, -1000,  -400,   -100,	3.57f,	0.50f,	0.55f,  0,		0.012f, 0.00f,0.00f,0.00f,	100,		0.016f,		0.00f,0.00f,0.00f,	0.172f, 0.200f, 0.250f, 0.000f, -5.0f,  3316.1f,	458.2f,  0.00f, 0x20 }
263 #define REVERB_PRESET_SPACESTATION_LONGPASSAGE \
264 	{ 26,   1.9f,	0.820f, -1000,  -400,   -100,	4.62f,	0.62f,	0.55f,  0,		0.012f, 0.00f,0.00f,0.00f,	200,		0.031f,		0.00f,0.00f,0.00f,	0.250f, 0.230f, 0.250f, 0.000f, -5.0f,  3316.1f,	458.2f,  0.00f, 0x20 }
265 #define REVERB_PRESET_SPACESTATION_LARGEROOM \
266 	{ 26,   1.8f,	0.810f, -1000,  -400,   -100,	3.89f,	0.38f,	0.61f,  -1000,	0.056f, 0.00f,0.00f,0.00f,	-100,	0.035f,		0.00f,0.00f,0.00f,	0.233f, 0.280f, 0.250f, 0.000f, -5.0f,  3316.1f,	458.2f,  0.00f, 0x20 }
267 #define REVERB_PRESET_SPACESTATION_HALL \
268 	{ 26,   1.9f,	0.870f, -1000,  -400,   -100,	7.11f,	0.38f,	0.61f,  -1500,	0.100f, 0.00f,0.00f,0.00f,	-400,	0.047f,		0.00f,0.00f,0.00f,	0.250f, 0.250f, 0.250f, 0.000f, -5.0f,  3316.1f,	458.2f,  0.00f, 0x20 }
269 #define REVERB_PRESET_SPACESTATION_CUPBOARD \
270 	{ 26,   1.4f,	0.560f, -1000,  -300,   -100,	0.79f,	0.81f,	0.55f,  300,	0.007f, 0.00f,0.00f,0.00f,	500,	0.018f,		0.00f,0.00f,0.00f,	0.181f, 0.310f, 0.250f, 0.000f, -5.0f,  3316.1f,	458.2f,  0.00f, 0x20 }
271 #define REVERB_PRESET_SPACESTATION_SMALLROOM \
272 	{ 26,   1.5f,	0.700f, -1000,  -300,   -100,	1.72f,	0.82f,	0.55f,	-200,	0.007f, 0.00f,0.00f,0.00f,	300,	0.013f,		0.00f,0.00f,0.00f,	0.188f, 0.260f, 0.250f, 0.000f, -5.0f,  3316.1f,	458.2f,  0.00f, 0x20 }
273 
274 
275 // WOODEN GALLEON PRESETS
276 
277 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
278 #define REVERB_PRESET_WOODEN_ALCOVE \
279 	{ 26,   7.5f,	1.000f, -1000,  -1800,  -1000,  1.22f,	0.62f,	0.91f,	100,	0.012f, 0.00f,0.00f,0.00f,	-300,	0.024f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  4705.0f,	99.6f,  0.00f,	0x3f }
280 #define REVERB_PRESET_WOODEN_SHORTPASSAGE \
281 	{ 26,   7.5f,	1.000f, -1000,  -1800,  -1000,  1.75f,	0.50f,	0.87f,	-100,	0.012f, 0.00f,0.00f,0.00f,	-400,	0.024f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  4705.0f,	99.6f,  0.00f,	0x3f }
282 #define REVERB_PRESET_WOODEN_MEDIUMROOM \
283 	{ 26,   7.5f,	1.000f, -1000,  -2000,  -1100,  1.47f,	0.42f,	0.82f,	-100,	0.049f, 0.00f,0.00f,0.00f,	-100,	0.029f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  4705.0f,	99.6f,  0.00f,	0x3f }
284 #define REVERB_PRESET_WOODEN_LONGPASSAGE \
285 	{ 26,   7.5f,	1.000f, -1000,  -2000,  -1000,  1.99f,	0.40f,	0.79f,	000,	0.020f, 0.00f,0.00f,0.00f,	-700,	0.036f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  4705.0f,	99.6f,  0.00f,	0x3f }
286 #define REVERB_PRESET_WOODEN_LARGEROOM \
287 	{ 26,   7.5f,	1.000f, -1000,  -2100,  -1100,  2.65f,	0.33f,	0.82f,	-100,	0.066f, 0.00f,0.00f,0.00f,	-200,	0.049f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  4705.0f,	99.6f,  0.00f,	0x3f }
288 #define REVERB_PRESET_WOODEN_HALL \
289 	{ 26,   7.5f,	1.000f, -1000,  -2200,  -1100,  3.45f,	0.30f,	0.82f,	-100,	0.088f, 0.00f,0.00f,0.00f,	-200,	0.063f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  4705.0f,	99.6f,  0.00f,	0x3f }
290 #define REVERB_PRESET_WOODEN_CUPBOARD \
291 	{ 26,   7.5f,	1.000f, -1000,  -1700,  -1000,  0.56f,	0.46f,	0.91f,	100,	0.012f, 0.00f,0.00f,0.00f,	100,	0.028f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  4705.0f,	99.6f,  0.00f,	0x3f }
292 #define REVERB_PRESET_WOODEN_SMALLROOM \
293 	{ 26,   7.5f,	1.000f, -1000,  -1900,  -1000,  0.79f,	0.32f,	0.87f,	00,		0.032f, 0.00f,0.00f,0.00f,	-100,	0.029f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  4705.0f,	99.6f,  0.00f,	0x3f }
294 #define REVERB_PRESET_WOODEN_COURTYARD \
295 	{ 26,   7.5f,	0.650f, -1000,  -2200,  -1000,  1.79f,	0.35f,	0.79f,	-500,	0.123f, 0.00f,0.00f,0.00f,	-2000,	0.032f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  4705.0f,	99.6f,  0.00f,	0x3f }
296 
297 
298 // SPORTS PRESETS
299 
300 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
301 #define REVERB_PRESET_SPORT_EMPTYSTADIUM \
302 	{ 26,   7.2f,	1.000f, -1000,  -700,   -200,	6.26f,	0.51f,	1.10f,  -2400,	0.183f, 0.00f,0.00f,0.00f,	-800,	0.038f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x20 }
303 #define REVERB_PRESET_SPORT_SQUASHCOURT \
304 	{ 26,   7.5f,	0.750f, -1000,  -1000,  -200,	2.22f,	0.91f,	1.16f,  -700,	0.007f, 0.00f,0.00f,0.00f,	-200,	0.011f,		0.00f,0.00f,0.00f,	0.126f, 0.190f, 0.250f, 0.000f, -5.0f,  7176.9f,	211.2f,  0.00f, 0x20 }
305 #define REVERB_PRESET_SPORT_SMALLSWIMMINGPOOL \
306 	{ 26,  36.2f,	0.700f, -1000,  -200,   -100,	2.76f,	1.25f,	1.14f,  -400,	0.020f, 0.00f,0.00f,0.00f,	-200,	0.030f,		0.00f,0.00f,0.00f,	0.179f, 0.150f, 0.895f, 0.190f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x0 }
307 #define REVERB_PRESET_SPORT_LARGESWIMMINGPOOL\
308 	{ 26,  36.2f,	0.820f, -1000,  -200,   0,		5.49f,	1.31f,	1.14f,  -700,	0.039f, 0.00f,0.00f,0.00f,	-600,	0.049f,		0.00f,0.00f,0.00f,	0.222f, 0.550f, 1.159f, 0.210f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x0 }
309 #define REVERB_PRESET_SPORT_GYMNASIUM \
310 	{ 26,   7.5f,	0.810f, -1000,  -700,   -100,	3.14f,	1.06f,	1.35f,  -800,	0.029f, 0.00f,0.00f,0.00f,	-500,	0.045f,		0.00f,0.00f,0.00f,	0.146f, 0.140f, 0.250f, 0.000f, -5.0f,  7176.9f,	211.2f,  0.00f, 0x20 }
311 #define REVERB_PRESET_SPORT_FULLSTADIUM \
312 	{ 26,   7.2f,	1.000f, -1000,  -2300,  -200,	5.25f,	0.17f,	0.80f,  -2000,	0.188f, 0.00f,0.00f,0.00f,	-1100,	0.038f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x20 }
313 #define REVERB_PRESET_SPORT_STADIUMTANNOY \
314 	{ 26,   3.0f,	0.780f, -1000,   -500,   -600,	2.53f,	0.88f,	0.68f,  -1100,	0.230f, 0.00f,0.00f,0.00f,	-600,	0.063f,		0.00f,0.00f,0.00f,	0.250f, 0.200f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x20 }
315 
316 
317 // PREFAB PRESETS
318 
319 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
320 #define REVERB_PRESET_PREFAB_WORKSHOP \
321 	{ 26,   1.9f,	1.000f, -1000,  -1700,  -800,	0.76f,	1.00f,	1.00f,	0,		0.012f, 0.00f,0.00f,0.00f,	100,		0.012f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x0 }
322 #define REVERB_PRESET_PREFAB_SCHOOLROOM \
323 	{ 26,   1.86f,	0.690f, -1000,  -400,   -600,	0.98f,	0.45f,	0.18f,  300,	0.017f, 0.00f,0.00f,0.00f,  300,	0.015f,		0.00f,0.00f,0.00f,	0.095f, 0.140f, 0.250f, 0.000f, -5.0f,  7176.9f,	211.2f,  0.00f, 0x20 }
324 #define REVERB_PRESET_PREFAB_PRACTISEROOM \
325 	{ 26,   1.86f,	0.870f, -1000,  -800,   -600,	1.12f,	0.56f,	0.18f,  200,	0.010f, 0.00f,0.00f,0.00f,	300,	0.011f,		0.00f,0.00f,0.00f,	0.095f, 0.140f, 0.250f, 0.000f, -5.0f,  7176.9f,	211.2f,  0.00f, 0x20 }
326 #define REVERB_PRESET_PREFAB_OUTHOUSE \
327 	{ 26,  80.3f,	0.820f, -1000,  -1900,  -1600,  1.38f,	0.38f,	0.35f,	-100,	0.024f, 0.00f,0.00f,-0.00f,	-400,	0.044f,		0.00f,0.00f,0.00f,	0.121f, 0.170f, 0.250f, 0.000f, -5.0f,  2854.4f,	107.5f,  0.00f, 0x0 }
328 #define REVERB_PRESET_PREFAB_CARAVAN \
329 	{ 26,   8.3f,	1.000f, -1000,  -2100,  -1800,  0.43f,	1.50f,	1.00f,  0,		0.012f, 0.00f,0.00f,0.00f,	600,	0.012f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x1f }
330 			// for US developers, a caravan is the same as a trailer =o)
331 
332 
333 // DOME AND PIPE PRESETS
334 
335 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
336 #define REVERB_PRESET_DOME_TOMB \
337 	{ 26,  51.8f,	0.790f, -1000,  -900,	-1300,  4.18f,	0.21f,	0.10f,  -825,	0.030f, 0.00f,0.00f,0.00f,	450,	0.022f,		0.00f,0.00f,0.00f,	0.177f, 0.190f, 0.250f, 0.000f,	-5.0f,  2854.4f,	20.0f,  0.00f,	0x0 }
338 #define REVERB_PRESET_PIPE_SMALL \
339 	{ 26,  50.3f,	1.000f, -1000,  -900,	-1300,  5.04f,	0.10f,	0.10f,  -600,	0.032f, 0.00f,0.00f,0.00f,	800,	0.015f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  2854.4f,	20.0f,  0.00f,	0x3f }
340 #define REVERB_PRESET_DOME_SAINTPAULS \
341 	{ 26,  50.3f,	0.870f, -1000,  -900,	-1300,  10.48f,	0.19f,	0.10f,  -1500,	0.090f, 0.00f,0.00f,0.00f,	200,	0.042f,		0.00f,0.00f,0.00f,	0.250f, 0.120f, 0.250f, 0.000f, -5.0f,  2854.4f,	20.0f,  0.00f,	0x3f }
342 #define REVERB_PRESET_PIPE_LONGTHIN \
343 	{ 26,   1.6f,	0.910f, -1000,  -700,	-1100,  9.21f,	0.18f,	0.10f,  -300,	0.010f, 0.00f,0.00f,0.00f,	-300,	0.022f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  2854.4f,	20.0f,  0.00f,	0x0 }
344 #define REVERB_PRESET_PIPE_LARGE \
345 	{ 26,  50.3f,	1.000f, -1000,  -900,	-1300,  8.45f,	0.10f,	0.10f,  -800,	0.046f, 0.00f,0.00f,0.00f,  400,	0.032f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  2854.4f,	20.0f,  0.00f,	0x3f }
346 #define REVERB_PRESET_PIPE_RESONANT \
347 	{ 26,   1.3f,	0.910f, -1000,  -700,	-1100,  6.81f,	0.18f,	0.10f,  -300,	0.010f, 0.00f,0.00f,0.00f,	00,		0.022f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,  2854.4f,	20.0f,  0.00f,	0x0 }
348 
349 
350 // OUTDOORS PRESETS
351 
352 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
353 #define REVERB_PRESET_OUTDOORS_BACKYARD \
354 	{ 26,  80.3f,	0.450f,	-1000,  -1200,  -600,	1.12f,	0.34f,	0.46f,  -700,	0.069f, 0.00f,0.00f,-0.00f,	-300,	0.023f,		0.00f,0.00f,0.00f,	0.218f, 0.340f, 0.250f, 0.000f,	-5.0f,  4399.1f,	242.9f,  0.00f, 0x0 }
355 #define REVERB_PRESET_OUTDOORS_ROLLINGPLAINS \
356 	{ 26,  80.3f,	0.000f,	-1000,  -3900,  -400,	2.13f,	0.21f,	0.46f,  -1500,	0.300f, 0.00f,0.00f,-0.00f,	-700,	0.019f,		0.00f,0.00f,0.00f,	0.250f, 1.000f, 0.250f, 0.000f, -5.0f,  4399.1f,	242.9f,  0.00f, 0x0 }
357 #define REVERB_PRESET_OUTDOORS_DEEPCANYON \
358 	{ 26,  80.3f,	0.740f,	-1000,  -1500,  -400,	3.89f,	0.21f,	0.46f,  -1000,	0.223f, 0.00f,0.00f,-0.00f,	-900,	0.019f,		0.00f,0.00f,0.00f,	0.250f, 1.000f, 0.250f, 0.000f, -5.0f,  4399.1f,	242.9f,  0.00f, 0x0 }
359 #define REVERB_PRESET_OUTDOORS_CREEK \
360 	{ 26,  80.3f,	0.350f,	-1000,  -1500,  -600,	2.13f,	0.21f,	0.46f,  -800,	0.115f, 0.00f,0.00f,-0.00f,	-1400,	0.031f,		0.00f,0.00f,0.00f,	0.218f, 0.340f, 0.250f, 0.000f, -5.0f,  4399.1f,	242.9f,  0.00f, 0x0 }
361 #define REVERB_PRESET_OUTDOORS_VALLEY \
362 	{ 26,  80.3f,	0.280f,	-1000,  -3100,	-1600,  2.88f,	0.26f,	0.35f,  -1700,	0.263f, 0.00f,0.00f,-0.00f,	-800,	0.100f,		0.00f,0.00f,0.00f,	0.250f, 0.340f, 0.250f, 0.000f, -5.0f,  2854.4f,	107.5f,  0.00f, 0x0 }
363 
364 
365 // MOOD PRESETS
366 
367 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
368 #define REVERB_PRESET_MOOD_HEAVEN \
369 	{ 26,  19.6f,	0.940f,  -1000, -200,   -700,	5.04f,	1.12f,	0.56f,  -1230,	0.020f, 0.00f,0.00f,0.00f,	200,	0.029f,		0.00f,0.00f,0.00f,	0.250f, 0.080f, 2.742f, 0.050f, -2.0f,  5000.0f,	250.0f,  0.00f, 0x3f }
370 #define REVERB_PRESET_MOOD_HELL \
371 	{ 26, 100.0f,	0.570f,  -1000, -900,   -700,	3.57f,	0.49f,	2.00f,	-10000, 0.020f, 0.00f,0.00f,0.00f,	300,	0.030f,		0.00f,0.00f,0.00f,	0.110f, 0.040f, 2.109f, 0.520f, -5.0f,  5000.0f,	139.5f,  0.00f, 0x40 }
372 #define REVERB_PRESET_MOOD_MEMORY \
373 	{ 26,   8.0f,	0.850f,  -1000, -400,   -900,	4.06f,	0.82f,	0.56f,  -2800,	0.000f, 0.00f,0.00f,0.00f,	100,	0.000f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.474f, 0.450f, -10.0f,  5000.0f,	250.0f,  0.00f, 0x0 }
374 
375 
376 // DRIVING SIMULATION PRESETS
377 
378 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
379 #define REVERB_PRESET_DRIVING_COMMENTATOR \
380 	{ 26,   3.0f,	0.000f, 1000,   -500,   -600,	2.42f,	0.88f,	0.68f,  -1400,	0.093f, 0.00f,0.00f,0.00f,	-1200,	0.017f,		0.00f,0.00f,0.00f,	0.250f, 1.000f, 0.250f, 0.000f, -10.0f,  5000.0f,	250.0f,  0.00f, 0x20 }
381 #define REVERB_PRESET_DRIVING_PITGARAGE \
382 	{ 26,   1.9f,	0.590f, -1000,  -300,   -500,	1.72f,	0.93f,	0.87f,  -500,	0.000f, 0.00f,0.00f,0.00f,	200,		0.016f,		0.00f,0.00f,0.00f,	0.250f, 0.110f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x0 }
383 #define REVERB_PRESET_DRIVING_INCAR_RACER \
384 	{ 26,   1.1f,	0.800f, -1000,   0,		-200,	0.17f,	2.00f,	0.41f,  500,	0.007f, 0.00f,0.00f,0.00f,	-300,	0.015f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,	10268.2f,	251.0f,  0.00f, 0x20 }
385 #define REVERB_PRESET_DRIVING_INCAR_SPORTS \
386 	{ 26,   1.1f,	0.800f, -1000,	-400,   0,		0.17f,	0.75f,	0.41f,  0,		0.010f, 0.00f,0.00f,0.00f,	-500,	0.000f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,	10268.2f,	251.0f,  0.00f, 0x20 }
387 #define REVERB_PRESET_DRIVING_INCAR_LUXURY \
388 	{ 26,   1.6f,	1.000f, -1000,	-2000,  -600,	0.13f,	0.41f,	0.46f,  -200,	0.010f, 0.00f,0.00f,0.00f,	400,	0.010f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,	10268.2f,	251.0f,  0.00f, 0x20 }
389 #define REVERB_PRESET_DRIVING_FULLGRANDSTAND \
390 	{ 26,   8.3f,	1.000f, -1000,  -1100,  -400,	3.01f,	1.37f,	1.28f,  -900,	0.090f, 0.00f,0.00f,0.00f,	-1500,	0.049f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,	10420.2f,	250.0f,  0.00f, 0x1f }
391 #define REVERB_PRESET_DRIVING_EMPTYGRANDSTAND \
392 	{ 26,   8.3f,	1.000f, -1000,   0,		-200,	4.62f,	1.75f,	1.40f,  -1363,	0.090f, 0.00f,0.00f,0.00f,	-1200,	0.049f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.000f, -5.0f,	10420.2f,	250.0f,  0.00f, 0x1f }
393 #define REVERB_PRESET_DRIVING_TUNNEL \
394 	{ 26,   3.1f,	0.810f, -1000,   -800,	-100,	3.42f,	0.94f,	1.31f,  -300,	0.051f, 0.00f,0.00f,0.00f,  -300,	0.047f,		0.00f,0.00f,0.00f,	0.214f, 0.050f, 0.250f, 0.000f, -5.0f,  5000.0f,	155.3f,  0.00f, 0x20 }
395 
396 
397 // CITY PRESETS
398 
399 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
400 #define REVERB_PRESET_CITY_STREETS \
401 	{ 26,   3.0f,	0.780f, -1000,  -300,   -100,	1.79f,	1.12f,	0.91f,  -1100,	0.046f, 0.00f,0.00f,0.00f,	-1400,	0.028f,		0.00f,0.00f,0.00f,	0.250f, 0.200f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x20 }
402 #define REVERB_PRESET_CITY_SUBWAY \
403 	{ 26,   3.0f,	0.740f, -1000,  -300,   -100,	3.01f,	1.23f,	0.91f,   -300,	0.046f, 0.00f,0.00f,0.00f,	200,	0.028f,		0.00f,0.00f,0.00f,	0.125f, 0.210f, 0.250f, 0.000f, -5.0f,  5000.0f,	250.0f,  0.00f, 0x20 }
404 #define REVERB_PRESET_CITY_MUSEUM \
405 	{ 26,  80.3f,	0.820f, -1000,  -1500,  -1500,  3.28f,	1.40f,	0.57f,  -1200,	0.039f, 0.00f,0.00f,-0.00f, -100,	0.034f,		0.00f,0.00f,0.00f,	0.130f, 0.170f, 0.250f, 0.000f, -5.0f,  2854.4f,	107.5f,  0.00f, 0x0 }
406 #define REVERB_PRESET_CITY_LIBRARY \
407 	{ 26,  80.3f,	0.820f, -1000,  -1100,  -2100,  2.76f,	0.89f,	0.41f,  -900,	0.029f, 0.00f,0.00f,-0.00f, -100,	0.020f,		0.00f,0.00f,0.00f,	0.130f, 0.170f, 0.250f, 0.000f, -5.0f,  2854.4f,	107.5f,  0.00f, 0x0 }
408 #define REVERB_PRESET_CITY_UNDERPASS \
409 	{ 26,   3.0f,	0.820f, -1000,  -700,   -100,	3.57f,	1.12f,	0.91f,  -800,	0.059f, 0.00f,0.00f,0.00f,	-100,	0.037f,		0.00f,0.00f,0.00f,	0.250f, 0.140f, 0.250f, 0.000f, -7.0f,  5000.0f,	250.0f,  0.00f, 0x20 }
410 #define REVERB_PRESET_CITY_ABANDONED \
411 	{ 26,   3.0f,	0.690f, -1000,  -200,   -100,	3.28f,	1.17f,	0.91f,  -700,	0.044f, 0.00f,0.00f,0.00f,	-1100,	0.024f,		0.00f,0.00f,0.00f,	0.250f, 0.200f, 0.250f, 0.000f, -3.0f,  5000.0f,	250.0f,  0.00f, 0x20 }
412 
413 
414 // MISC ROOMS
415 
416 //	Env		Size	Diffus	Room	RoomHF	RoomLF	DecTm	DcHF	DcLF	Refl	RefDel	Ref Pan				Revb	RevDel		Rev Pan				EchTm	EchDp	ModTm	ModDp	AirAbs	HFRef		LFRef	RRlOff	FLAGS
417 #define REVERB_PRESET_DUSTYROOM  \
418 	{ 26,   1.8f,	0.560f,	-1000,	-200,	-300,	1.79f,	0.38f,	0.21f,	-600,	0.002f,	0.00f,0.00f,0.00f,	200,	0.006f,		0.00f,0.00f,0.00f,	0.202f, 0.050f, 0.250f, 0.000f, -10.0f,  13046.0f,	163.3f,	0.00f,	0x20 }
419 #define REVERB_PRESET_CHAPEL \
420 	{ 26,  19.6f,	0.840f,	-1000,  -500,	0,		4.62f,	0.64f,	1.23f,  -700,	0.032f,	0.00f,0.00f,0.00f,	-200,	0.049f,		0.00f,0.00f,0.00f,	0.250f, 0.000f, 0.250f, 0.110f, -5.0f,  5000.0f,	250.0f, 0.00f,	0x3f }
421 #define REVERB_PRESET_SMALLWATERROOM \
422 	{ 26,  36.2f,	0.700f, -1000,  -698,   0,		1.51f,	1.25f,	1.14f,  -100,	0.020f, 0.00f,0.00f,0.00f,	300,	0.030f,		0.00f,0.00f,0.00f,	0.179f, 0.150f, 0.895f, 0.190f, -7.0f,  5000.0f,	250.0f, 0.00f, 0x0 }
423