* fix and extend the code to provide a default map progression if neither nextmap nor endpic are set
* use strcasecmp instead of stricmp
* Update u_mapinfo.c
* Update u_mapinfo.c
* crude OPL volume gain
* replace SDL_MixAudioFormat with MixAudioFormat with added gain
* remove unnecessary code path, set default gain = 2
* fix gain calculation
* apply gain only to `src1`
* cosmetic changes
* Cosmetic changes.
* Add volume safeguards.
* Use device setting for reverb and chorus by default.
* Clean up volume change behavior.
* Move "all notes off" and "reset all controllers" to reset function.
* Optimize set of reset messages depending on device and reset type.
* Ignore SysEx resets from MIDI files for MS GS Wavetable Synth.
* Check for Roland master volume combined with master tune, etc.
* Check for Yamaha master volume combined with master tune, etc.
* Don't replace master volume message; send a new one.
* Change order of volume check.
* Switch from master volume to channel volume control for better compatibility with MIDI devices.
* Change default `winmm_reset_delay` to 0.
* Change default winmm_reset_delay to 0.
* Remove unused variable.
* Add GS instrument fallback support.
* Cast `event_type` as `int`
* Fix switch/case.
* Fix hot swapping.
* Remove unneeded `return`.
* Add instrument fallback support for all devices in GS mode.
* Assign reset defaults to all devices.
* Fix formatting.
* hot swap of music modules
* get a list of Windows MIDI devices
* move "MIDI Player" menu item only on Windows build
* increase MAX_MIDI_PLAYERS, index fixes
* fix hot swapping with UMAPINFO music, init OPL on song change
* initialize OPL only when necessary
* call I_ShutdownMusic in exit sequence
* don't send SysEx reset for MS GS Synth
* introduce `I_DeviceList` function, rearrange code
* `midi_player_strings` must be NULL at the end
* Color crosshair by target health
* Add missing element to `crosshealth_t`
* Second implementation
* Introduce `ColorByHealth()`
* Change `ColorByHealth()`'s arguments
* Disable "Highlight Color" item when appropriate
This is meant to add support for non-exactly 21:9 screens, such as
3840x1600 (WQHD+). Unlikely to get ever increased further than that, though.
Fixes#819
* Implement crosshair target lock-on
* Calculate lock-on offset in `R_ProjectSprite()`
* Introduce `HU_UpdateCrosshairLock()`
* A couple of changes
* More changes
* Update lock offset just once per tic
In paticular, if less time than required for a full shading sequence has passed,
don't start a new one. This allows to skip a gametic between two rendered frames,
which apparently happens sometimes.
* fix most cppcheck 2.9 warnings
* simplify matters
* simplify a bit more
* simplify
* more/better fixes
* whitespace cosmetic
* use I_Realloc() in u_mapinfo.c