ryzomcore icon indicating copy to clipboard operation
ryzomcore copied to clipboard

Environment room size does not work the same under different sound drivers

Open ryzom-pipeline opened this issue 17 years ago • 1 comments

Room size is a higher-level variable that basically adjusts the environment settings. Write code to adjust the environment reverb settings manually from the room size parameter, instead of letting the sound api do this.

Original creation date in redmine: 2008/11/03 17:04:52 +0100 by kaetemi at https://dev.ryzom.com/issues/168

ryzom-pipeline avatar Nov 03 '08 17:11 ryzom-pipeline

Reference materials on legacy EAX reverb environments:

  • http://www.csounds.com/maldonado/Manual/surroundpcodes.html
  • http://connect.creativelabs.com/developer/Gaming/EAX%202.zip
  • https://wiki.thedarkmod.com/index.php?title=Setting_Reverb_Data_of_Rooms_(EAX)

Effectively, Ryzom just sets the legacy environment ID, and then the environment/room size, which modifies all the preset parameters of the environment. We can use either the known preset values directly, or the environment ID on targets that don't have access to the values directly. (Maybe add a flag as well to our built-in presets to indicate if they're using the original preset values.)

Note that room size in EAX and OpenAL is in meters, in XAudio2 it's in feet for some reason.

kaetemi avatar Mar 22 '23 00:03 kaetemi