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)
committerSmallJoker <mk939@ymail.com>
Sun, 3 Jun 2018 15:31:59 +0000 (17:31 +0200)
commit3a9d500396b327d04439bb5f629d8d713c228e89
treeb920d724fccb167b8d2e83546975a33c2b6eb096
parent01b9da870b8501395125f3181cb5893da39831bb
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