* switch to vcpkg for MSVC build
* Remove library downloads and install in MSYS2 environment.
* Add vcpkg.json with dependencies.
* add vcpkg to CI
* fix parallel linking conflict (files with the same name)
* use vcpkg targets (fix debug build)
* delete cross compilation toolchain files, update README.md
* switch to ninja for MSVC build
* turn off MSYS2 update
* use binary caching feature, save to GitHub using NuGet backend
* This works much more robust, also it's recommended method:
https://github.com/microsoft/vcpkg/blob/master/docs/users/binarycaching.md
* move MSVC workflow to separate file, don't run it on pull request
* fix wrong limit for `midi_player` config variable
* increase `MAX_MIDI_PLAYER_MENU_ITEMS` to 128
* increase maximum config parameter length to 256 (MAX_PATH on Windows)
* increase the buffer to 1024, because why not
* Ability to invert each axis separately
* Separate sensitivity for movement, turning and looking
* Possibility to disable the axis (choose "None" in the menu)
* New input restrictions in accordance with the DSDA rule
Do not allow simultaneous use of mouse and controller in strictmode when
recording demo.
* Update CHANGELOG.md
* draw crosshair before weapon sprites to make sure they don't overlap
* prevent tracking targets out of view
* restrict crosshair coordinates to view window
* Gosh, widescreen
* fix up signs
* fall back to `module 0 device 0` if the music module failed to initialize
Remove `music_module_index`, use instead `midi_player` - it's global anyway.
* add fall back to `I_SetMidiPlayer`
* 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