1488 Commits

Author SHA1 Message Date
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
Roman Fomin
1a278d6105
switch to OpenAl for sound mixing (#967)
* switch to OpeanAl for sound mixing

* Rewrote Load_SNDFile() to use float format. Made libsndfile mandatory.

* update main.yml workflow

* implement OpeanAl music streaming

* remove i_sdlmusic.c and SDL_Mixer dependecy

* enable mpeg support in libsndfile

* require SndFile 1.1.0

* check SF_FORMAT_MPEG_LAYER_III symbol

* use AL_GAIN for opl_gain
2023-04-04 19:46:58 +07:00
Roman Fomin
28a88c41dc
fix mouse controls in textscreen windows (#966)
SDL_RenderSetLogicalSize() automatically centers it
2023-04-02 07:47:25 +02:00
Roman Fomin
798ba2b507 update PROJECT_COPYRIGHT year 2023-04-02 10:57:47 +07:00
Roman Fomin
077752e09c add controls to manifest.xml
Modern UI for MessageBox etc.
2023-04-02 10:56:23 +07:00
Roman Fomin
354f6f7b3c ignore codes for color change in M_StringWidth
Fix #965
2023-04-01 17:13:19 +07:00
Roman Fomin
177f358d65 clean up missed headers 2023-04-01 16:43:22 +07:00
Roman Fomin
49abe0d28a
clean up file headers (#964)
* Remove "Emacs style mode select" line.

* Remove RSC Id tags.

* Remove "You should have received a copy of..." text from copyright header.
  This address in no longer correct.
2023-04-01 09:02:12 +02:00
Roman Fomin
f36805e7f1 fix some memory leaks 2023-03-30 21:18:54 +07:00
ceski
b9e567c728
winmidi: Update volume after "reset all controllers" event (#963) 2023-03-30 10:11:25 +07:00
Fabian Greffrath
0745932c18 fix overlapping setup menu text
Fixes #961, thanks @MrAlaux
2023-03-28 23:16:49 +02:00
Fabian Greffrath
b1c1256891
check if drag-n-dropped .lmp files could be demo lumps (#960)
and pass them to the -playdemo parameter if appropriate.
2023-03-27 20:19:16 +07:00
Fabian Greffrath
a922c4a0aa get away with only one invulnerability tracker for status bar and HUD
Just remembered that `ST_ticker()` is *always* called before `HU_Ticker()`.
2023-03-26 11:34:56 +02:00
Alaux
1a2de565fc
Smooth Health/Armor Count (#959)
* Smooth Health/Armor Count

* Move smooth counts menu item
2023-03-26 11:28:44 +02:00
Roman Fomin
6323e85a84
fix crash when trying to send chat macro with key ASCII code < '0' (#958) 2023-03-25 08:45:42 +01:00
Roman Fomin
44921bfd9a delete dead code 2023-03-24 00:41:08 +07:00
Fabian Greffrath
3bc2769f0a config description consistencies 2023-03-22 13:19:39 +01:00
Roman Fomin
1e220bd103
config updates (#954)
* config updates

* Remove `page_flip` variable and software rendering (user can set
  SDL_VIDEODRIVER if needed)

* Delete config version

* Sort and group config entries

* forgot net_player_name, cosmetics

Fixes #953, fixes #951
2023-03-22 11:25:07 +01:00
Fabian Greffrath
6faaefcc4e
factor out HUD font patches and update with the ones provided by @liPillON (#950)
* factor out HUD font patches and update with the ones provided by @liPillON

* replace only the patches which were actually changed

* add kraflab's copyright

* update copyright holders

Regarding license: derivative work of GPL-2+ (Boom) is still GPL-2+
2023-03-22 11:04:01 +01:00
Fabian Greffrath
3fc2346bdd tweaks to toolsrc/bin2c 2023-03-21 11:43:23 +01:00
Fabian Greffrath
0daf278ce4 update copyright information for textscreen fonts 2023-03-21 11:08:23 +01:00
Fabian Greffrath
ce2f4ff47c add alternative HUD examples to docs, thanks @liPillON 2023-03-21 07:57:58 +01:00
Roman Fomin
8e62cae31e
disable "180 turn" in strict mode (new DSDA rules) (#948) 2023-03-20 15:23:54 +01:00
Roman Fomin
5cbe63c196 FluidSynth music module fixes 2023-03-20 21:18:56 +07:00
Roman Fomin
dd192165e3
use performance counters (#947) 2023-03-19 10:13:23 +01:00
Fabian Greffrath
fc24be131c
render textscreen content to an upscaled intermediate texture (#944)
* render textscreen content to an upscaled intermediate texture

* scale upscaled texture only to double framebuffer size

Could you please repeat your tests with this one @liPillON ?

* only create intermediate texture for normal font, increase scaling factor to 4

* remove small and large font

* get rid of the highdpi_font, always initialize renderer with SDL_WINDOW_ALLOW_HIGHDPI

Why is this even optional?
2023-03-19 10:12:38 +01:00
Roman Fomin
9180d56ec9 fix typo 2023-03-18 22:22:31 +07:00
Roman Fomin
34e55fba78
menu rearrangements (#946)
* Move translucency to "Display Options"

* Move "Mouse Settings" to last page
2023-03-18 01:24:07 +07:00
Michael Day
381d9b697e
Add framerate limiting (#943)
* Introduce FPS limit

* Make `uncapped` enable for frame limiting

* Add frame limiting to menu, first attempt

* Restore previous frame limit enable logic

fpslimit == 0 -> disable framerate limit
uncapped is back to being a boolean

* Coerce `fpslimit` to 0 when below 35

* Disable FPS Limit in menu if Uncapped is off

* Frame rate limiting cleanup
2023-03-17 12:56:05 +01:00
Fabian Greffrath
64583c43c8
fix fullscreen overlay automap (#942) 2023-03-16 09:10:53 +01:00
Fabian Greffrath
688472f634
properly reset widget colors to original or none (#940)
Fixes #934
2023-03-12 14:45:16 +01:00
Fabian Greffrath
4c6892ce82
add a format description for the WOOFHUD lump (#939)
* add a format description for the WOOFHUD lump

* minor changes

* provide an alternative example using absolute screen coordinates

* formatting
2023-03-12 14:45:02 +01:00
Fabian Greffrath
26d4ff2c39
complete donut overrun emulation (from PrBoom+/Choco) (#937)
* complete donut overrun emulation (from PrBoom+/Choco)

* fix build

* fix format string

* fix pointer arithmetic in format string
2023-03-12 14:44:49 +01:00
Fabian Greffrath
cba9bd5454
play sound when hitting animated floor (#931)
* play sound when hitting animated floor

* play sounds instead of "oof" only

* fix sound group

* add support for "small" splash sounds when merely stepping down into liquid

* fix build

* compat fix

* introduce a flatterrain[] lookup table

* comments
2023-03-12 14:44:33 +01:00
Fabian Greffrath
3a97d652d7 fix fatal typo in V_InitColorTranslation() 2023-03-10 13:44:44 +01:00
Fabian Greffrath
e4add0d07a always draw demo status bar with the lightest and darkest color available
Fixes visibility in Tetanus
2023-03-10 12:03:35 +01:00
Roman Fomin
f1799e90de replace access() call with M_access() 2023-03-07 16:56:31 +07:00
Fabian Greffrath
0473620d46
use light blue for HUD font and dark blue for standard Doom font (#930) 2023-03-07 10:40:51 +01:00
Roman Fomin
60573fa667
remove one pixel trimming for each font character in setup menu (#926)
* set menu font spacing based on font width
2023-03-06 15:23:54 +07:00
Fabian Greffrath
f49693b204
generate color translation tables (#924)
* generate color translation tables

* improve color ranges

* build fixes

* fix signeness bug

* move CR_NONE from -1 to 14

* reuse the -tranmap parameter to force colormap generation ("fixes" BTSX)

* fix MSVC build

* hopefully fix MSVC build for real

* keep stnum shadow preservation condition out of V_Colorize()

* another attempt at silencing MSVC

* support the full range of color translation tables for all widgets

* add simple formulas for the missing color translation ranges

* refinements

* print menu warnings and instructions in red

* only preserve original translation ranges for the IWAD palette

* improvements to the orange and yellow ranges
2023-03-05 13:11:32 +01:00
ceski
5401a03622
Play quit sound only if showing ENDOOM (#923)
* Play quit sound only if showing ENDOOM

* Move extern to header

* Remove extra definitions

* Revert "Remove extra definitions"

This reverts commit ad4f3a69e363767e455b0b23e388ce4892be9802.

* Revert "Move extern to header"

This reverts commit eac8677ecea9f155d33dd1f32b1aa2c24b6e4232.

* Revert "Play quit sound only if showing ENDOOM"

This reverts commit 95e764030010eed1c62f0b66c88162e85fdabd0c.

* Play quit sound only if showing ENDOOM
2023-02-28 22:10:01 +01:00
Fabian Greffrath
d75ef3c308
some fixes to the dynamic HUD implementation (#916)
* build and align text widgets in HU_Ticker(), drawn then in HU_Drawer()

* fix widget scope

* fix clang build

* minor fix

* simplify

* back to alignment in HU_Drawer()

* fix the widgets jumping around when switching from status bar to fullscreen
2023-02-28 17:14:49 +01:00