* implement SKYDEFS flatmapping feature (floor and ceiling at once)
* separate floor and ceiling sky
* fix comment
* call R_GetSkyColor() on each flatmapped sky texture
* comment on PL_FLATMAPPING composition
* 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.