1389 Commits

Author SHA1 Message Date
ceski
411d43b37b
winmidi: Send "reset all controllers" when song loops (#878)
* winmidi: Fix songs with missing "hold pedal off" events

* Revert "winmidi: Fix songs with missing "hold pedal off" events"

This reverts commit a12e8e6a5a7c06236bc3f0e4d9abc03c19758f1e.

* Send "reset all controllers" when song loops

* Use consistent int type
2023-01-26 10:36:19 +07:00
Roman Fomin
77b5a3f6ef bmaps: don't error out on unknown sprite
Fix kdikdizd.zip loading
2023-01-26 10:28:43 +07:00
Fabian Greffrath
009f9a4b45 fix misleading indentation in level title initialization 2023-01-25 07:45:57 +01:00
Fabian Greffrath
b67f73a1b4 fix parentheses in some ternaries 2023-01-25 07:44:00 +01:00
Fabian Greffrath
2e54f67ce3 let w_wad.h include z_zone.h and clarify role of "tag" parameter 2023-01-20 10:32:12 +01:00
Fabian Greffrath
191fb2576b rearrange some crosshair code 2023-01-20 08:40:24 +01:00
Roman Fomin
c5518cdd3f move triplets to cmake directory 2023-01-17 01:14:42 +07:00
Roman Fomin
a98de6d71f
textscreen updates (#872)
* Resizable textscreen windows.

* Increase the default window size to 800x600.

* Correct aspect ratio in textscreen windows.

* Remove aspect ratio correction.
2023-01-13 19:21:09 +07:00
Fabian Greffrath
c950a3b014
fix some automap rotate/follow/overlay inconsistencies (#874)
Fixes #804
2023-01-13 12:13:31 +01:00
Fabian Greffrath
69b82e1a02 some more startup messages cosmetics 2023-01-13 10:02:37 +01:00
Fabian Greffrath
32e7b145fc
rearrange the startup messages (#873)
* print port's name and version in the startup messages

* re-arrange some more startup messages
2023-01-13 09:27:45 +01:00
Fabian Greffrath
fa228559f7 do not ignore repeated signals, it's not going to get any better 2023-01-13 09:12:27 +01:00
Fabian Greffrath
c2df5a2894 improve DEH lump souce logging in ProcessDehFile() 2023-01-13 08:13:12 +01:00
Roman Fomin
b1609270f2 do not update vcpkg (it is regularly updated in the windows-2022 image) 2023-01-12 20:27:35 +07:00
Fabian Greffrath
3a775d0605 ensure that the new buffer length is a multiple of sample size 2023-01-12 09:58:23 +01:00
Roman Fomin
7be859730a
clean up in build system (#869)
* Restore FindSDL2* modules, use CMAKE_FIND_PACKAGE_PREFER_CONFIG

* Rename FluidSynth::FluidSynth->FluidSynth::libfluidsynth for compatibility
  with provided config

* Don't use SDL2_MAIN_LIBRARY variable
2023-01-12 08:32:17 +07:00
Fabian Greffrath
658982d210
factor out pitch shifting into a separate function (#868) 2023-01-11 20:37:51 +01:00
Fabian Greffrath
3e30111ad0
support multi-channel samples by converting them to mono first (#867)
* support multi-channel samples by converting them to mono first

* add forgotten semicolons (dammit Python!)

* fix potential memory leak on error
2023-01-11 20:16:51 +01:00
Fabian Greffrath
21ceb5cf41 Merge branch 'master' of https://github.com/fabiangreffrath/woof 2023-01-11 15:45:30 +01:00
Fabian Greffrath
5eb640fd03 don't try to load again sound lumps that unce failed to load 2023-01-11 15:45:02 +01:00
Roman Fomin
88a94d21f0
support BRGHTMPS lump from Doom Retro (#846)
* u_scanner: make internal functions `static`

* add support for `SPRITE` and `FLAT`

* scan multiple BRGHTMPS lumps, move data to autoload directory

* do not scan twice (BRIGHTMAP must be defined before use)

* implement STATE

* skip BRGHTMPS lumps in demo footer

* add NOBRIGHTMAP special case

* implement optional DOOM|DOOM2 fields
2023-01-11 21:31:42 +07:00
Roman Fomin
cde9dd6aec add custom triplets for vcpkg
* Build only release packages.

* Use the "/fp:fast" compiler option for libsamplerate, which greatly increases
  speed (up to 10x for SRC_LINEAR).
2023-01-11 14:54:28 +07:00
Fabian Greffrath
95cde386eb
load sound lumps with libsndfile (#864)
* Load sound lumps with libsndfile

* factor out entire sound lump loading into i_sndfile.c

* fix void pointer arithmetics

* fix wav buffer length calculation

* include libsndfile in vcpkg CI
2023-01-11 08:37:45 +01:00
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