efxf(AL_EAXREVERB_DENSITY, (size < 2.0f) ? (size - 1.0f) : 1.0f);That's incorrect. The correct way to convert it, based on Creative's own EAX-to-EFX conversion tools and as adopted by the Dhewm3 port, is:
float size = src.ParseFloat(); efxf(AL_EAXREVERB_DENSITY, idMath::ClampFloat( AL_EAXREVERB_MIN_DENSITY, AL_EAXREVERB_MAX_DENSITY, idMath::Pow(size, 3.0f) * 0.0625f ));This will help improve the quality of the reverb, making the presets sound closer to the intended response.
Hope that's helpful.
Edited by KCat, 08 February 2018 - 04:51 AM.