Positional sound: Limit volume when closer than 1 node
authorparamat <paramat@users.noreply.github.com>
Sat, 23 Sep 2017 07:38:22 +0000 (08:38 +0100)
committerparamat <mat.gregory@virginmedia.com>
Mon, 25 Sep 2017 18:09:21 +0000 (19:09 +0100)
commita455297d297c0819a7eff89e51e5f01a5ac731c3
tree27d66be28d50b0d9a1710ce9403c250752e56879
parentd5a97e00eaac54def16fb53b68cfed7300af0854
Positional sound: Limit volume when closer than 1 node

Change OpenAL distance model from AL_INVERSE_DISTANCE to
AL_INVERSE_DISTANCE_CLAMPED to avoid excessive volume when very close
to the sound location, for example MTG doors, and MTG fire sounds which
are combined at an average position and often located in air nodes.

Because AL_REFERENCE_DISTANCE has been reduced to 1 node (the distance
under which gain is clamped), multiply volume by the same factor to keep
sound gains the same as before, since the gain is calculated as:

gain = (AL_REFERENCE_DISTANCE / distance)
src/sound_openal.cpp