- changed default value for midi_config to empty string since gus is not working with sf2 file
- fixed SetupDMXGUS not loading lump correctly, wrong use of CheckNumForFullName
- midi_config default to empty string, since lzdoom.sf2 doesn't seem supported (distorted sound)
- added absolute paths to FZipPatReader so we can add custom patches to resource files by using gus_patchdir and/or ULTRADIR variable (some custom maps has custom patches that can be added this way without putting them inside the resource file or in the same folder of the configuration file)
- set timidity_reverb_level min value to 0 in menudef.txt, set to 9 by mistake?
Turns out that there's a few old maps that have the extended line flags set but not the guard bit that forces their clearance.
Astrostein 1's first map is an example for this.
This can be used to improve automap readability on high-resolution
displays.
Some automap options in the menu were reordered to follow a more
logical order.
* Added SBSLETTERBOX to menudef.txt
* Changed PresentSideBySide in gl_renderer
Needed for new side-by-side mode
* Added VR_SIDEBYSIDELETTERBOX to gl_stereo3d.cpp
For side by side letterbox display mode
* Added VR_SIDEBYSIDELETTERBOX to hw_modes.h
For new side by side letterbox display mode
* Added VR_SIDEBYSIDELETTERBOX to hw_vrmodes.cpp
For Side By Side Letterbox display mode
This allows proper dimensions in the stock menus and should make menu layout for mods a lot easier because coordinates are more predictable than with the clean factors.
The feature is opt-in for custom content. As long as only stock elements are used, the menu will be able to switch between both on its own, but as soon as custom classes or custom elements are used, the virtual size must be declared explicitly, defaulting to clean scaling.
* Merged chat and scoreboard bindings into a "Multiplayer" submenu.
* Reordered items by importance. Chat at position #2 was nonsense.
* Moved weapon state actions from "Action" to "Weapon" menu, because the menu was already quite large and these are not standard actions.
Sensitivity scaling of both axes is now exposed as a raw factor to the user instead of obscuring it behind an unclear 'prescale' boolean.
This also consolidates the coordinate processing code to prevent such discrepancies as were present here from happening again.
Migration code for old config settings is present so that this change does not affect existing configurations.