korman icon indicating copy to clipboard operation
korman copied to clipboard

Eax reverb

Open Jrius opened this issue 4 years ago • 4 comments

Found a way to reenable EAX on CC the other day, I thought why not add it to Korman too.

Adds the Reverb Region Modifier (aka plEAXListenerMod), and allows enabling reverberation for some sounds. Hear how it sounds in this video.

Relies on this HSPlasma pull request.

AFAIK EAX is buggy in MOULa currently ? so requires a modded CC install to test. More info here, and you'll also need to install DSOAL. If Windows prevents dsound.dll from overriding the base one, follow this link. I'll probably write a better tutorial at the GoW at some point.

The Reverb Region Modifier is attached to a softvolume. It provides reverberation for sound sources with EAX enabled - such as footstep sounds. For ease-of-use, the user simply has to pick a reverb profile within a list of existing presets. There are several dozens of those, which are split into two lists(*). The user can also setup the reverb profile himself, if he's stupid enough to try his hand with undocumented stuff.

(*) I kept both separate since historically the first (shorter) list of presets comes from the original EAX library. The second (longer) list comes from OpenAL, if I'm not mistaken. The first list is commonly found in other game engines and softwares, the second one less so.

Sound emitters themselves now have a toggle to enable reverberation. This only enables the plSound::plEAXSourceSettings. (There are more parameters available in the plEAXSourceSettings, but I couldn't figure out how they worked.)

Hope you like the modifier's icon, otherwise we can change it :P

Jrius avatar May 30 '21 19:05 Jrius

Great demo! I've missed having reverb effects in Uru, and this will definitely be great for fan Ages. We may defer merging this until proper support is available in H-uru/Plasma - just so we don't have to point to any DLL hacking when the feature is released 😉

I agree; this looks good, but I'd like to be able to test it against H'uru Plasma as well as Uru:CC if possible.

Deledrius avatar May 31 '21 17:05 Deledrius

Great demo! I've missed having reverb effects in Uru, and this will definitely be great for fan Ages. We may defer merging this until proper support is available in H-uru/Plasma - just so we don't have to point to any DLL hacking when the feature is released wink

Thanks ! Sure, no problem, EAX is a nice feature but it's not a priority. The DLL wrapper will still be required on CC, but someday I'll see if Drizzle/UAM can install it automatically.

I agree; this looks good, but I'd like to be able to test it against H'uru Plasma as well as Uru:CC if possible.

Sure. Let me know if you want the Tsoidahl Prad source to test, I can probably upload it somewhere. (I'm a bit curious to know if there are any difference between the original EAX library, DSOAL and the upcoming OAL implementation.)

Jrius avatar May 31 '21 18:05 Jrius

Thanks for the review, I implemented all suggestions. Let me know if you see something else.

Jrius avatar Aug 01 '21 11:08 Jrius

This LGTM, but I think I would like to wait for client support in H-uru/Plasma before merging (this is you cue, @Deledrius 😄).

Hoikas avatar Aug 04 '21 21:08 Hoikas