* Remove unused idnum tracking
* Seamlessly pause and resume sounds
Side effect: No more chainsaw "rev up" sound when pausing game.
* Update listener before updating sound sources
Make sure the sound sources are fed the latest listener data. This shouldn't matter with the call to I_DeferSoundUpdates, but just in case.
* Skip unnecessary listener calculations
No need to constantly update the listener when the menu is open (single player only), the game is paused, or no game is being played.
* Fix initial mobj->oldz when spawning mobj
mobj->oldz should be set after mobj->z is initialized. See Crispy Doom.
* Improve doppler effect for listener
Uses the correct velocity calculation.
* Improve doppler effect for sources
Uses the correct velocity calculation.
* Adjust doppler effect scaling range
With the changes made to the velocity calculations, the doppler effect thermo should be linear (0.0 to 2.0, 0.2 steps).
* Defer doppler effect thermo action
Resetting the OpenAL 3D sound module is slow.
* Use a standard map units to meters conversion factor
16 map units per foot or 0.01905 meters per map unit (https://www.doomworld.com/idgames/docs/editing/metrics). Same as the speedometer widget.
* Misc. sound refactoring
* Use parameters structure for sound functions
* Improve sound curve
Sound attenuation over distance is now more gradual when using the OpenAL 3D sound module. Previously, there was a more pronounced drop off near the sound distance limit. This uses a different roll-off factor, so the air absorption factor has been adjusted to preserve the same effect as before.
* Reduce PC speaker square wave amplitude
It was way too loud in comparison to the other sound modules.
PrBoom+/DSDA-Doom has this split into three switches:
* Change Palette On Pain
* Change Palette On Bonus
* Change Palette On Powers
Crispy Doom (Setup) has a single switch for this called "Palette
Changes" but this merely reveals an implementation detail and is
just as ambigious as "Screen flashes" otherwise.
I think our our old menu switch is still the best description.
* fix use-button timer widget
* decrease timer even if the widget is not visible
* show use button timer widget even if level time widget is not visible
Fixes#2204
* move "Show Use-Button Timer" back to "Widget Types" section
* Make the Freedoom IWADs their own mission pack and add support for the freedoom-all autoload directory.
* Add freedoom1-all and freedoom2-all directories.
* Space after comma.
The term "limit" sounds like an upper bound only. However, this value
is also used by DRS to decide to decrease screen resolution if it
cannot be kept. Thus, I find "target" to fit better.