1762 Commits

Author SHA1 Message Date
Fabian Greffrath
36060400fa sort source files alphabetically in CMakeLists.txt files 2023-01-05 09:57:52 +01:00
Roman Fomin
98a5f61bd3 remove TRUE/FALSE macro 2023-01-04 19:13:08 +07:00
Fabian Greffrath
5fa249c14e
play a sound if the menu is activated with a different key than ESC (#862)
* play a sound if the menu is activated with a different key than ESC

* fix ternary operator
2023-01-04 11:14:34 +01:00
Fabian Greffrath
a45ee95d57 rename m_FOUND -> HAVE_LIBM 2023-01-01 16:00:29 +01:00
Roman Fomin
7bc9edebb6
enable MSVC CI for push requests (#857)
The author of the push request can change the workflow files anyway, so there is
no point in limiting it. We have to be careful with PRs that change vcpkg.json
or win_msvc.yml
2023-01-01 21:21:12 +07:00
Roman Fomin
6807bab12d add .gitattributes with linguist-language option
Try to fix "Languages" display on main page.
2023-01-01 21:06:53 +07:00
Roman Fomin
eb4851dd63 fix clang-cl warnings
This is for clang in MSVC emulation mode (it's ABI compatible)
2022-12-31 14:12:35 +07:00
Roman Fomin
bb938f81fe rename build->windows build in win_msvc.yml 2022-12-30 22:14:38 +07:00
Roman Fomin
4a404d8aae move FindSDL2*.cmake modules to cmake/SDL2 directory
Use our modules only if vcpkg is not present.
2022-12-30 22:11:26 +07:00
Roman Fomin
b69852fb07
switch to vcpkg for MSVC build (#855)
* 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
2022-12-30 20:44:59 +07:00
Fabian Greffrath
caae08a9a7 release Woof! 10.5.1 woof_10.5.1 2022-12-28 16:38:06 +01:00
ceski
4143e97db2
winmidi: Wait for stream when hot swapping modules (#856)
* winmidi: Wait for stream when hot swapping modules

* Manually unset `MHDR_INQUEUE` flag
2022-12-27 22:02:14 +01:00
Roman Fomin
6a38d3832c
config fixes (#854)
* 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
2022-12-26 18:16:10 +07:00
Roman Fomin
83878a8cd0
fix wrong m_flags checks (#852) 2022-12-24 16:14:52 +07:00
Fabian Greffrath
fd9c870944
de-obfuscate FF_FULLBRIGHT in info.c (#851) 2022-12-22 13:30:31 +01:00
Fabian Greffrath
752f613160
first check if linetarget is set 2022-12-21 15:47:55 +01:00
Fabian Greffrath
13f3539f66 fix crosshair lock on spectre targets
Fixes #850
2022-12-21 14:40:18 +01:00
Fabian Greffrath
79e01421ec release Woof! 10.5.0 woof_10.5.0 2022-12-21 08:08:39 +01:00
Roman Fomin
4ebae19865
game controller updates (#849)
* 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
2022-12-21 09:08:41 +07:00
Roman Fomin
f29e7a3b9f update CHANGELOG.md 2022-12-20 08:28:35 +07:00
Fabian Greffrath
1956d6e7e4
unify gamma correction concepts (#848)
* unify gamma correction concepts

* fix "gamma correction level" user messages

* pointer constness fix

* fix config help line
2022-12-19 13:54:06 +01:00
Roman Fomin
65f3da8c84 make padlook indepedent of the player's speed too 2022-12-17 15:00:51 +07:00
Roman Fomin
2c46941329 analog turning speed is independent of run enabled
Feature request from DW.
2022-12-17 12:26:14 +07:00
Roman Fomin
b9e1820629 winmidi: fix MS GS Synth detection in Windows XP 2022-12-17 09:56:19 +07:00
Roman Fomin
e75a51d822 fix formatting in CMDLINE.txt 2022-12-17 09:55:34 +07:00
Roman Fomin
f5cd6f2aab add missed DLLs to 32-bit build 2022-12-17 09:50:41 +07:00
Roman Fomin
0a5442aaa8 remove ENABLE_PARAMSGEN option, it doesn't work anyway 2022-12-17 09:05:57 +07:00
Fabian Greffrath
4ac0613549 fixes to SSG availability checks 2022-12-15 11:56:39 +01:00
Roman Fomin
4c105b39d5 update CHANGELOG.md 2022-12-15 11:10:28 +07:00
Roman Fomin
21d61dcd0a sync midifallback.* with Chocolate Doom version 2022-12-15 10:46:53 +07:00
Roman Fomin
fd1d9305e6 fix memory leak 2022-12-14 18:20:20 +07:00
Roman Fomin
9601a2cbdf winmidi: cosmetic changes 2022-12-14 18:15:23 +07:00
Roman Fomin
96dfa368ee remove unused function
It was added for initial i_winmusic.c implementation
2022-12-14 18:09:50 +07:00
Fabian Greffrath
a75c38eda9
Crosshair lock fixes (#844)
* 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
2022-12-14 10:05:54 +01:00
Roman Fomin
2f27fa739a
fall back to module 0 device 0 if the music module failed to initialize (#845)
* 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`
2022-12-13 20:34:55 +07:00
Fabian Greffrath
1f39b0dc36
enable doubled card and skull key display on status bar by default 2022-12-13 12:44:02 +01:00
Roman Fomin
b93e6f5c7b
show soundfonts as FluidSynth "devices", save module devices independently (#832)
* show found soundfonts as FluidSynth "devices"

* `soundfont_dir` config variable, scan multiple directories

* save module devices independently, add SNDFONT exception, cosmetic fixes

* support unicode filenames for soundfonts

FluidSynth supports UTF8 filenames on Windows

* remove WOOFSOUNDFONT macro

* don't use SDL iconv, remove unnecessary check

* add default soundfont search paths for Linux

* rename module_index->music_module_index, add comments

Co-authored-by: Fabian Greffrath <fabian@greffrath.com>
2022-12-13 16:25:02 +07:00
Fabian Greffrath
82f85d7e77 update SDL to 2.26.1 2022-12-13 10:05:31 +01:00
Roman Fomin
46119c136b winmidi: apply ceski's patch (fix FF loop restart) 2022-12-13 14:10:14 +07:00
ceski
34012fa633
winmidi: Add custom loop support (EMIDI, Square/FF, RPG Maker) (#841)
* Cosmetic changes

* winmidi: Add custom loop support (EMIDI, Square/FF, RPG Maker)

* Fix typo
2022-12-13 11:42:26 +07:00
Fabian Greffrath
2e97d235f2
add prev/next indicators for multiple-choice menu items (#843)
* add prev/next indicators for multiple-choice menu items

* blinking prev/next indicators
2022-12-12 11:01:21 +01:00
Roman Fomin
ae6a6845bd
allow parsing of cosmetic items in the OPTIONS lump for all complevels (#840) 2022-12-12 16:51:23 +07:00
Fabian Greffrath
1425ed7d50
stop looping sounds after reaching a timeout (#838)
* stop looping sounds after reaching a timeout

* simplify

* re-introduce S_StopLoopSounds()

* cosmetic fix
2022-12-10 09:14:44 +01:00
Fabian Greffrath
e09d446449 fix a crash when using the right key on a thermo menu item 2022-12-10 00:16:11 +01:00
Fabian Greffrath
003d8e2e50 rearrange QOL menu section 2022-12-10 00:05:47 +01:00
Fabian Greffrath
524c96cff0
provide a default map progression if neither nextmap nor endpic are set (#835)
* 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
2022-12-09 19:02:31 +01:00
Roman Fomin
b1ec01f4bf update CHANGELOG.md 2022-12-09 19:30:06 +07:00
Fabian Greffrath
2b6ddd69ac
use MAPNAME() more consistently (#836) 2022-12-09 12:35:44 +01:00
Roman Fomin
fa2398109e
OPL output gain (#829)
* 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
2022-12-09 17:11:09 +07:00
ceski
72ddbe8ffc
winmidi: Optimize reset messages, change volume control, add instrument fallback support (#834)
* 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.
2022-12-09 17:09:49 +07:00