1366 Commits

Author SHA1 Message Date
Fabian Greffrath
73dc94480c
use SDL_ConvertAudio() to convert sound samples to target format (#863)
* properly cache sound lump numbers

* initialize original_S_sfx[] array using macros

* rename channelinfo[].id -> channelinfo[].sfx

* rename LINKED_SOUND -> SOUND_LINK

* use SDL_ConvertAudio() to convert sound samples to target format

Fixes #858

* precache_sounds is not an option anymore

* lowpass_filter is not an option anymore

* rename channel -> handle and other clean-up

* some more clean-up

* fix pitch-shifted sounds

* set SDL_HINT_AUDIO_RESAMPLING_MODE to "default"

* set SDL_HINT_AUDIO_RESAMPLING_MODE to "linear", with a comment

* clear out cvt target buffer

* de-obfuscate steptable[pitch] generation

* make snd_samplerate and snd_resampling_mode configurable

* simplify SOUND_LINK macro call

* set default sampling mode to "default"

* cosmetics

* comments

* correct snd_resampling_mode choice name

* replace some redundant variables by a single SDL_AudioSpec

* forgotten parenthesis

* minor polish
2023-01-10 07:48:33 +01:00
Roman Fomin
e5872e9bda clean up in CMakeLists.txt
Also update SDL2 to 2.26.2 otherwise it will always rebuild in my pull request.
It's probably not a good idea to always update vcpkg.
2023-01-09 19:39:50 +07:00
Roman Fomin
caa7299abb update vcpkg 2023-01-09 15:02:49 +07:00
Fabian Greffrath
b22ef7e580 CI: enable libsamplerate support for SDL2 2023-01-09 08:31:13 +01:00
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