55 for(cur = 0;cur <
n;cur++)
77 effects[cur] = effect->
id;
115 memset(Effect, 0,
sizeof(*Effect));
265 *value = ALEffect->
type;
524 if(val >= 0.0
f && val <= 10.0
f)
540 if(isfinite(vals[0]) && isfinite(vals[1]) && isfinite(vals[2]))
552 if(isfinite(vals[0]) && isfinite(vals[1]) && isfinite(vals[2]))
1121 if(val >= 0.0
f && isfinite(val))
1324 #define DECL(x) { #x, EFX_REVERB_PRESET_##x }
1325 static const struct {
1340 DECL(CARPETEDHALLWAY),
1342 DECL(STONECORRIDOR),
1356 DECL(CASTLE_SMALLROOM),
1357 DECL(CASTLE_SHORTPASSAGE),
1358 DECL(CASTLE_MEDIUMROOM),
1359 DECL(CASTLE_LARGEROOM),
1360 DECL(CASTLE_LONGPASSAGE),
1362 DECL(CASTLE_CUPBOARD),
1363 DECL(CASTLE_COURTYARD),
1364 DECL(CASTLE_ALCOVE),
1366 DECL(FACTORY_SMALLROOM),
1367 DECL(FACTORY_SHORTPASSAGE),
1368 DECL(FACTORY_MEDIUMROOM),
1369 DECL(FACTORY_LARGEROOM),
1370 DECL(FACTORY_LONGPASSAGE),
1372 DECL(FACTORY_CUPBOARD),
1373 DECL(FACTORY_COURTYARD),
1374 DECL(FACTORY_ALCOVE),
1376 DECL(ICEPALACE_SMALLROOM),
1377 DECL(ICEPALACE_SHORTPASSAGE),
1378 DECL(ICEPALACE_MEDIUMROOM),
1379 DECL(ICEPALACE_LARGEROOM),
1380 DECL(ICEPALACE_LONGPASSAGE),
1381 DECL(ICEPALACE_HALL),
1382 DECL(ICEPALACE_CUPBOARD),
1383 DECL(ICEPALACE_COURTYARD),
1384 DECL(ICEPALACE_ALCOVE),
1386 DECL(SPACESTATION_SMALLROOM),
1387 DECL(SPACESTATION_SHORTPASSAGE),
1388 DECL(SPACESTATION_MEDIUMROOM),
1389 DECL(SPACESTATION_LARGEROOM),
1390 DECL(SPACESTATION_LONGPASSAGE),
1391 DECL(SPACESTATION_HALL),
1392 DECL(SPACESTATION_CUPBOARD),
1393 DECL(SPACESTATION_ALCOVE),
1395 DECL(WOODEN_SMALLROOM),
1396 DECL(WOODEN_SHORTPASSAGE),
1397 DECL(WOODEN_MEDIUMROOM),
1398 DECL(WOODEN_LARGEROOM),
1399 DECL(WOODEN_LONGPASSAGE),
1401 DECL(WOODEN_CUPBOARD),
1402 DECL(WOODEN_COURTYARD),
1403 DECL(WOODEN_ALCOVE),
1405 DECL(SPORT_EMPTYSTADIUM),
1406 DECL(SPORT_SQUASHCOURT),
1407 DECL(SPORT_SMALLSWIMMINGPOOL),
1408 DECL(SPORT_LARGESWIMMINGPOOL),
1409 DECL(SPORT_GYMNASIUM),
1410 DECL(SPORT_FULLSTADIUM),
1411 DECL(SPORT_STADIUMTANNOY),
1413 DECL(PREFAB_WORKSHOP),
1414 DECL(PREFAB_SCHOOLROOM),
1415 DECL(PREFAB_PRACTISEROOM),
1416 DECL(PREFAB_OUTHOUSE),
1417 DECL(PREFAB_CARAVAN),
1421 DECL(DOME_SAINTPAULS),
1422 DECL(PIPE_LONGTHIN),
1424 DECL(PIPE_RESONANT),
1426 DECL(OUTDOORS_BACKYARD),
1427 DECL(OUTDOORS_ROLLINGPLAINS),
1428 DECL(OUTDOORS_DEEPCANYON),
1429 DECL(OUTDOORS_CREEK),
1430 DECL(OUTDOORS_VALLEY),
1436 DECL(DRIVING_COMMENTATOR),
1437 DECL(DRIVING_PITGARAGE),
1438 DECL(DRIVING_INCAR_RACER),
1439 DECL(DRIVING_INCAR_SPORTS),
1440 DECL(DRIVING_INCAR_LUXURY),
1441 DECL(DRIVING_FULLGRANDSTAND),
1442 DECL(DRIVING_EMPTYGRANDSTAND),
1443 DECL(DRIVING_TUNNEL),
1449 DECL(CITY_UNDERPASS),
1450 DECL(CITY_ABANDONED),
1454 DECL(SMALLWATERROOM),
1463 if(strcasecmp(name,
"NONE") == 0)
1466 TRACE(
"Loading reverb '%s'\n",
"NONE");
1480 if(strcasecmp(name,
reverblist[i].name) != 0)
1514 if(i == reverblistsize)
1515 WARN(
"Reverb preset '%s' not found\n", name);
#define ALeffect_GetParamfv(x, c, p, v)
#define AL_EAXREVERB_LATE_REVERB_DELAY
#define AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY
#define AL_REVERB_MAX_DENSITY
#define AL_EAXREVERB_DEFAULT_DIFFUSION
#define AL_EAXREVERB_LATE_REVERB_GAIN
#define AL_REVERB_DEFAULT_REFLECTIONS_DELAY
void FreeThunkEntry(ALuint index)
#define AL_REVERB_MAX_LATE_REVERB_DELAY
GLuint const GLfloat * val
#define AL_REVERB_MIN_DIFFUSION
#define AL_REVERB_MIN_DECAY_HFLIMIT
GLenum GLuint GLsizei const GLenum * props
static void null_SetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals)
#define AL_EAXREVERB_MAX_REFLECTIONS_DELAY
static void null_GetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals)
#define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF
void(* SetParamfv)(struct ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals)
static void echo_GetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint *val)
#define AL_ECHO_MAX_FEEDBACK
#define AL_REVERB_REFLECTIONS_GAIN
static void ded_GetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *val)
struct ALeffect::@52 Reverb
#define AL_EAXREVERB_DIFFUSION
static void ded_SetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat val)
void(* GetParami)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint *val)
static void mod_SetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint val)
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
#define CHECK_VALUE(ctx, cond)
#define AL_EAXREVERB_MAX_LATE_REVERB_GAIN
#define AL_REVERB_LATE_REVERB_DELAY
#define AL_EAXREVERB_MIN_GAIN
#define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN
#define AL_REVERB_MAX_DIFFUSION
static void ded_GetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals)
#define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ
#define AL_ECHO_DEFAULT_FEEDBACK
struct UIntMap::@59 * array
#define AL_REVERB_MAX_GAINHF
#define AL_EAXREVERB_ECHO_TIME
#define AL_EAXREVERB_MAX_GAINLF
#define AL_EAXREVERB_REFLECTIONS_DELAY
static void reverb_SetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals)
static void null_SetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat val)
static void echo_GetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *val)
#define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR
#define AL_EAXREVERB_DEFAULT_HFREFERENCE
#define AL_REVERB_MIN_GAIN
#define al_throwerr(ctx, err)
#define AL_EAXREVERB_MIN_HFREFERENCE
float flReflectionsPan[3]
static void eaxreverb_SetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals)
#define AL_EAXREVERB_DEFAULT_MODULATION_TIME
static void eaxreverb_GetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals)
#define AL_EAXREVERB_DECAY_HFRATIO
#define AL_REVERB_MAX_REFLECTIONS_DELAY
#define AL_REVERB_DECAY_HFRATIO
#define AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN
#define ALeffect_GetParamiv(x, c, p, v)
#define AL_EAXREVERB_HFREFERENCE
#define AL_REVERB_MIN_LATE_REVERB_DELAY
#define AL_EAXREVERB_MAX_HFREFERENCE
#define AL_EAXREVERB_MAX_LATE_REVERB_DELAY
#define AL_EAXREVERB_MIN_MODULATION_DEPTH
#define AL_EAXREVERB_MODULATION_DEPTH
static void mod_SetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals)
#define AL_EAXREVERB_MAX_DECAY_HFRATIO
ALfloat ReflectionsPan[3]
#define AL_REVERB_MIN_GAINHF
EGLImageKHR EGLint * name
#define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF
#define AL_RING_MODULATOR_MAX_FREQUENCY
struct ALeffect::@54 Modulator
#define AL_ECHO_MIN_DELAY
#define AL_REVERB_DECAY_TIME
struct ALeffect::@53 Echo
#define AL_REVERB_MAX_GAIN
LPALGETEFFECTI alGetEffecti
#define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY
#define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR
#define AL_EAXREVERB_MAX_DENSITY
#define AL_EAXREVERB_MAX_MODULATION_DEPTH
static void ded_SetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint val)
ALCcontext * GetContextRef(void)
#define AL_EAXREVERB_MIN_DECAY_TIME
#define AL_EAXREVERB_MIN_DECAY_LFRATIO
LPALGETEFFECTF alGetEffectf
#define AL_EAXREVERB_MIN_LATE_REVERB_GAIN
#define AL_REVERB_DEFAULT_DIFFUSION
#define AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF
#define AL_EAXREVERB_MIN_DECAY_HFRATIO
#define AL_EAXREVERB_LATE_REVERB_PAN
void(* SetParamiv)(struct ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals)
#define ALeffect_SetParami(x, c, p, v)
#define AL_EAXREVERB_DEFAULT_GAINHF
#define AL_REVERB_DEFAULT_REFLECTIONS_GAIN
#define AL_EAXREVERB_MAX_GAINHF
#define AL_REVERB_AIR_ABSORPTION_GAINHF
#define AL_EAXREVERB_MIN_REFLECTIONS_DELAY
#define AL_ECHO_MIN_FEEDBACK
#define AL_RING_MODULATOR_MIN_FREQUENCY
#define AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF
#define AL_EAXREVERB_MAX_GAIN
#define AL_REVERB_DECAY_HFLIMIT
#define AL_ECHO_DEFAULT_DELAY
#define AL_REVERB_MAX_DECAY_TIME
#define AL_REVERB_MAX_DECAY_HFLIMIT
void(* GetParamiv)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals)
static void ded_SetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals)
#define AL_EAXREVERB_REFLECTIONS_GAIN
static void eaxreverb_GetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *val)
void(* GetParamf)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *val)
#define AL_EAXREVERB_MAX_MODULATION_TIME
ALfloat AirAbsorptionGainHF
ALvoid ReleaseALEffects(ALCdevice *device)
#define AL_REVERB_DEFAULT_GAIN
#define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO
#define AL_REVERB_DEFAULT_LATE_REVERB_DELAY
#define AL_EAXREVERB_MAX_DIFFUSION
#define AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR
static void ded_GetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint *val)
#define AL_REVERB_DIFFUSION
static void mod_SetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals)
static void null_GetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *val)
#define AL_EAXREVERB_DEFAULT_GAINLF
#define AL_REVERB_DEFAULT_LATE_REVERB_GAIN
#define AL_REVERB_REFLECTIONS_DELAY
static void reverb_SetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals)
static void mod_SetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat val)
static void echo_SetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint val)
static void mod_GetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint *val)
#define AL_EAXREVERB_DEFAULT_ECHO_DEPTH
#define AL_REVERB_MIN_DENSITY
#define AL_EAXREVERB_MAX_LFREFERENCE
ALfloat RoomRolloffFactor
static void reverb_GetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals)
static void echo_SetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals)
#define AL_REVERB_MIN_LATE_REVERB_GAIN
static void eaxreverb_SetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint val)
#define AL_EAXREVERB_DEFAULT_GAIN
#define RemoveEffect(m, k)
#define AL_EAXREVERB_MODULATION_TIME
#define AL_EFFECT_DEDICATED_DIALOGUE
#define AL_ECHO_DEFAULT_SPREAD
ALenum InitEffect(ALeffect *effect)
static void InitEffectParams(ALeffect *effect, ALenum type)
#define AL_EAXREVERB_MIN_MODULATION_TIME
#define AL_EAXREVERB_MAX_ECHO_TIME
#define AL_REVERB_DENSITY
#define AL_EAXREVERB_MAX_REFLECTIONS_GAIN
#define AL_EAXREVERB_MIN_DECAY_HFLIMIT
#define AL_EAXREVERB_GAIN
#define ALeffect_SetParamiv(x, c, p, v)
#define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF
#define AL_ECHO_MAX_LRDELAY
LPALGETEFFECTIV alGetEffectiv
#define AL_REVERB_MAX_REFLECTIONS_GAIN
#define AL_EAXREVERB_MIN_REFLECTIONS_GAIN
static void eaxreverb_SetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat val)
ALboolean DisabledEffects[MAX_EFFECTS]
ALenum NewThunkEntry(ALuint *index)
static const ALsizei reverblistsize
#define AL_ECHO_MAX_DAMPING
#define AL_EAXREVERB_MIN_DENSITY
#define ALeffect_GetParami(x, c, p, v)
#define AL_DEDICATED_GAIN
#define AL_EAXREVERB_GAINHF
static void echo_SetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals)
ALvoid LoadReverbPreset(const char *name, ALeffect *effect)
static void echo_GetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals)
#define AL_ECHO_DEFAULT_LRDELAY
static void reverb_GetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals)
#define AL_EAXREVERB_DECAY_LFRATIO
#define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT
#define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF
float flAirAbsorptionGainHF
#define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF
#define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR
#define AL_REVERB_MIN_REFLECTIONS_DELAY
#define AL_EAXREVERB_ROOM_ROLLOFF_FACTOR
#define AL_REVERB_DEFAULT_DECAY_TIME
#define AL_RING_MODULATOR_MIN_WAVEFORM
#define AL_ECHO_MIN_DAMPING
#define ALeffect_SetParamf(x, c, p, v)
#define AL_ECHO_MAX_DELAY
#define AL_EAXREVERB_DECAY_TIME
#define AL_EAXREVERB_AIR_ABSORPTION_GAINHF
#define AL_EAXREVERB_MIN_GAINLF
#define AL_ECHO_MIN_SPREAD
#define AL_RING_MODULATOR_WAVEFORM
#define AL_RING_MODULATOR_DEFAULT_WAVEFORM
float flRoomRolloffFactor
#define AL_EAXREVERB_DECAY_HFLIMIT
#define LookupEffect(m, k)
#define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH
#define AL_REVERB_DEFAULT_DECAY_HFLIMIT
static void eaxreverb_SetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals)
static void ded_GetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals)
#define AL_EAXREVERB_DENSITY
static void reverb_SetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat val)
void ALCcontext_DecRef(ALCcontext *context)
#define AL_EAXREVERB_REFLECTIONS_PAN
EGLSurface EGLint void ** value
#define ALeffect_SetParamfv(x, c, p, v)
static void mod_GetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals)
#define AL_REVERB_MIN_REFLECTIONS_GAIN
#define AL_EAXREVERB_MAX_DECAY_HFLIMIT
#define AL_REVERB_MAX_LATE_REVERB_GAIN
#define AL_REVERB_DEFAULT_DECAY_HFRATIO
static void null_GetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint *val)
#define AL_EAXREVERB_DEFAULT_DECAY_TIME
static void null_SetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint val)
static void echo_GetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals)
#define AL_REVERB_LATE_REVERB_GAIN
#define AL_ECHO_DEFAULT_DAMPING
struct ALeffect::@55 Dedicated
#define AL_EAXREVERB_MIN_ECHO_TIME
static void eaxreverb_GetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint *val)
#define AL_EAXREVERB_MIN_ECHO_DEPTH
#define AL_EAXREVERB_LFREFERENCE
void(* SetParami)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint val)
LPALGENEFFECTS alGenEffects
#define AL_REVERB_MAX_DECAY_HFRATIO
#define AL_EAXREVERB_GAINLF
static void mod_GetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *val)
#define AL_EFFECT_RING_MODULATOR
#define AL_RING_MODULATOR_HIGHPASS_CUTOFF
void(* GetParamfv)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals)
static void null_SetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals)
LPALGETEFFECTFV alGetEffectfv
#define AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT
#define AL_EAXREVERB_MAX_DECAY_LFRATIO
#define AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF
static void ded_SetParamiv(ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals)
#define AL_REVERB_MIN_DECAY_TIME
#define AL_REVERB_DEFAULT_GAINHF
#define AL_EAXREVERB_DEFAULT_LFREFERENCE
#define AL_RING_MODULATOR_MAX_WAVEFORM
static __inline void LockContext(ALCcontext *context)
#define AL_RING_MODULATOR_FREQUENCY
static void null_GetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals)
static void reverb_SetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint val)
#define AL_ECHO_MAX_SPREAD
ALvoid alSetError(ALCcontext *Context, ALenum errorCode)
#define AL_EAXREVERB_MAX_ECHO_DEPTH
static void reverb_GetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *val)
#define AL_EFFECT_EAXREVERB
#define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO
static void reverb_GetParami(ALeffect *effect, ALCcontext *context, ALenum param, ALint *val)
#define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF
#define AL_EAXREVERB_MIN_GAINHF
ALenum InsertUIntMapEntry(UIntMap *map, ALuint key, ALvoid *value)
static __inline void UnlockContext(ALCcontext *context)
#define AL_EAXREVERB_MIN_LFREFERENCE
#define AL_REVERB_DEFAULT_DENSITY
#define AL_EAXREVERB_MIN_LATE_REVERB_DELAY
static void mod_GetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals)
#define AL_EAXREVERB_DEFAULT_ECHO_TIME
#define AL_EAXREVERB_ECHO_DEPTH
#define AL_RING_MODULATOR_DEFAULT_FREQUENCY
#define ALeffect_GetParamf(x, c, p, v)
#define AL_REVERB_MIN_DECAY_HFRATIO
static void echo_SetParamf(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat val)
#define AL_REVERB_ROOM_ROLLOFF_FACTOR
static struct @50 reverblist[]
GLint GLsizei const GLuint64 * values
#define AL_EAXREVERB_DEFAULT_DENSITY
#define AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN_XYZ
LPALDELETEEFFECTS alDeleteEffects
static void eaxreverb_GetParamfv(ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals)
void(* SetParamf)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat val)
#define AL_ECHO_MIN_LRDELAY
#define AL_EAXREVERB_MIN_DIFFUSION
#define AL_EAXREVERB_MAX_DECAY_TIME