1729 Commits

Author SHA1 Message Date
Roman Fomin
c144d35d06 fix volume reset when tracks change from MUSINFO
This fixes the volume change at the beginning of level 1 in aaliens.wad
2023-04-18 20:06:30 +07:00
Fabian Greffrath
1d5bfd743b minor clean-up 2023-04-18 15:05:56 +02:00
Roman Fomin
ee3807d2e5 OAL stream: run StartPlayer in thread to avoid a slight pause when changing tracks 2023-04-18 20:03:01 +07:00
Roman Fomin
eb38f52ee3 cmake: use VERSION_GREATER_EQUAL 2023-04-18 20:01:56 +07:00
Fabian Greffrath
7490f90b0f
set resampler for sfx channels, remove alsoft config (#995)
* report used resampler in I_InitSound()

* set resampler for sfx channels, remove `alsoft` config

---------

Co-authored-by: Roman Fomin <rfomin@gmail.com>
2023-04-18 14:50:37 +02:00
Fabian Greffrath
aa17f83ac0 improve logging of opened audio device
In fact, ALC_DEVICE_SPECIFIER is only a fallback if the
ALC_ENUMERATE_ALL_EXT extension is not available.

Also added logging the sample rate.

I would have liked to log the used resampler as well, but apparently
this requires jumping through some more loops.
2023-04-18 11:45:17 +02:00
Roman Fomin
654ddf6200
bring back MSYS2 packaging (#994)
* add package step to workflow
2023-04-17 22:39:46 +07:00
Roman Fomin
13d0eea2a4 automap: reset buttons state when follow mode is enabled 2023-04-16 20:32:45 +07:00
Roman Fomin
653482947f
improve automap controls (#993)
* change the state of the automap buttons instantly, without waiting for the
  next tick

* opposite directions cancel each other

* don't reset automap if overlay mode is enabled

* panning speed depends on `hires`
2023-04-16 15:04:31 +07:00
Roman Fomin
ec08b63d34
support for QUITMSG1..QUITMSG14 in Dehacked (#989)
* remove `const`
2023-04-13 14:17:05 +07:00
Roman Fomin
3f4ba9f388
check for negative value in ptr_lstrip() (#988)
* check for negative value in ptr_lstrip()

This fixes parsing of DEHACKED in D2ISOv2.wad with debug version of CRT. If the
value < 0 the behavior of `isspace()` is undefined according to the
documentation.

* disable vcpkg update
2023-04-13 06:36:08 +07:00
Roman Fomin
7ad722e845 disable vcpkg update 2023-04-13 03:48:49 +07:00
Roman Fomin
b337fa556c
add M_VBOX and M_PALSEL lumps (#985) 2023-04-12 20:58:55 +07:00
Roman Fomin
a535400a42
always interpolate idle weapon bob with uncapped FPS (#986) 2023-04-12 13:17:31 +07:00
Roman Fomin
faa96f0505
print error and skip PNG patch (#984) 2023-04-12 03:05:34 +07:00
Roman Fomin
7096d5a77a enable win_msvc.yml for PRs 2023-04-12 00:00:43 +07:00
Roman Fomin
bca805ed7b Merge branch 'master' of https://github.com/fabiangreffrath/woof 2023-04-11 23:51:02 +07:00
Roman Fomin
2d9befe8fb support for static build 2023-04-11 23:50:18 +07:00
Roman Fomin
94c8c8dcb0 cosmetic fix: align MIDI player string in menu 2023-04-11 23:43:08 +07:00
Roman Fomin
042f93b357
add openal-soft config and set resampler to "linear" by default (#981)
* fix nomusic parameter

* add install alsoft.conf CMake rule

* check for WOOFDATADIR
2023-04-11 23:39:40 +07:00
Roman Fomin
f1e0138a44
suppress puff interpolation for the first tic (#982)
Now the snapping of the puff to the floor level isn't interpolated. Taken from
Crispy Doom.
2023-04-10 19:33:07 +07:00
Roman Fomin
2e7615f3ec don't run update_wiki.yml and win_msvc.yml in other repositories
win_msvc.yml is very heavy and create a lot of packages
2023-04-10 18:10:31 +07:00
Roman Fomin
7f84768407
remove signal handler (#980) 2023-04-10 11:56:51 +07:00
Roman Fomin
32339247b0 update_wiki: fix path 2023-04-10 11:48:36 +07:00
Roman Fomin
538df5213c add update_wiki.yml 2023-04-10 11:43:54 +07:00
Roman Fomin
7579b3dfc1 fix -dmuplumps 2023-04-10 09:43:32 +07:00
Roman Fomin
662c13b943 load ADPCM formats as 16-bit for now 2023-04-09 21:47:12 +07:00
Roman Fomin
e03274eea5 fix volume reset for non-MIDI music 2023-04-09 21:46:20 +07:00
Roman Fomin
70b4fdf178
use screenvisible, fix alt-tab with exclusive fullscreen on Windows (#979) 2023-04-09 12:31:22 +07:00
Julia Nechaevskaya
c642d27993
Simplify VSync toggling (#977)
* Simplify VSync toggling

* Bump required SDL version to 2.0.18

SDL_RenderSetVSync requires it, see:
https://wiki.libsdl.org/SDL2/SDL_RenderSetVSync

* remove win_version.c

---------

Co-authored-by: Roman Fomin <rfomin@gmail.com>
2023-04-09 01:41:31 +07:00
Fabian Greffrath
ce8f70ff00 Merge branch 'master' of github.com:fabiangreffrath/woof 2023-04-08 16:55:48 +02:00
Fabian Greffrath
9d2ebef012 let W_WadNameForLump() return "lump" for predefined or single lumps 2023-04-08 16:55:44 +02:00
Roman Fomin
732d5878c7 add schema to vcpkg.json 2023-04-08 14:37:10 +07:00
Roman Fomin
112105076d M_remove() should return 0 on success 2023-04-08 14:32:00 +07:00
Roman Fomin
11c652b67e missed static, cosmetic changes 2023-04-07 11:33:57 +07:00
Fabian Greffrath
efb5867399 print actual device name instead of default device name
just to be 100% sure
2023-04-06 15:32:05 +02:00
Roman Fomin
8058a800d3
implement modplug stream module (#976)
* update workflows

* implement stream_module_t interface, use it for sndfile and modplug

This way we got the proper pause, loop and gain for the modplug module.
2023-04-06 18:59:53 +07:00
Fabian Greffrath
d9595b64c1
back to the original S_getChannel() from WinMBF (#975)
* back to the original S_getChannel() from WinMBF

* reformat to my liking
2023-04-06 08:39:58 +02:00
Roman Fomin
6bbc5507f9
support for Ogg/FLAC loop points (taken from Chocolate Doom) (#974) 2023-04-06 12:51:05 +07:00
Fabian Greffrath
7338feccef
remove looping sounds quirk (#973) 2023-04-06 07:29:05 +02:00
Fabian Greffrath
0ff8bdb36b
remove parallel sfx limit (#972) 2023-04-05 20:49:51 +02:00
Roman Fomin
b09678d980
sound system clean up (#971)
* Explicitly use OpenAL buffer IDs instead of void pointers.

* Free the `openal_sources` array on shutdown.

* Remove more unused code
2023-04-05 23:18:03 +07:00
Roman Fomin
639069d399 OAL stream: actually use buffer samples instead of buffer size
This was the idea from the beginning. Also reduce the buffer length to about
half a second.

* cosmetic changes
2023-04-05 12:46:56 +07:00
Roman Fomin
dd536bff1b
change snd_samplerate variable to constant (#970)
It's not possible to "force" a samplerate when creating an OpenAL audio device,
see https://github.com/kcat/openal-soft/issues/350

We use the `SND_SAMPLERATE` macro only when generating synth music.
2023-04-05 12:41:38 +07:00
Roman Fomin
a55e4168d6
provide FindOpenAL.cmake module (taken from cmake) (#969)
* use `#include "al.h"` istead of `#include <AL/al.h>` as recommended
2023-04-05 11:40:07 +07:00
Roman Fomin
9b9b3b9d2c
convert multichannel sfx to mono (#968)
* fix FindSndFile.cmake, detect libsndfile version properly

* convert multichannel sfx to mono, cosmetic changes
2023-04-05 04:00:55 +07:00
Roman Fomin
2b2214b9a6 remove snd_resampling_mode 2023-04-05 03:23:37 +07:00
Roman Fomin
8c8acf3a0f try to update vcpkg 2023-04-04 20:11:38 +07:00
Roman Fomin
a50fd6c794 reset gain in I_OAL_HookMusic() 2023-04-04 20:10:58 +07:00
Roman Fomin
60eef57795 win midi: don't show MessageBox on errors 2023-04-04 20:08:39 +07:00