2431 Commits

Author SHA1 Message Date
Fabian Greffrath
ed888d43ac undef str[n]casecmp() before redefining them 2024-06-27 11:10:05 +02:00
Fabian Greffrath
bb584c3ba1
use the same global string buffer for all widgets (#1759)
* use the same global string buffer for all widgets

* simplify

* avoid using compound literals
2024-06-27 06:27:04 +02:00
Fabian Greffrath
f8d1dfc078
add 4-band equalizer based on the OpenAL extension (config only) (#1714)
* add 4-band equalizer based on the OpenAL extension (config only)

* add comment

* another comment

* expose equalizer settings to config

* remove EQUALIZER_DEFAULT string

* allow to toggle "Apply Equalizer" in the menu

* implement Equalizer presets

The presets are exemplary for now and need some fine-tuning.

* remove header

* back to gain percent scale, dB scale is not fine-grained enough

* apply patch by @ceski-1 (thank you!)

* shorten preset names for now

* Revert "back to gain percent scale, dB scale is not fine-grained enough"

This reverts commit 3210cb07d67f71c4025e73b8b56387e45a0dc995.

* a little clean-up

* declare SetEqualizer as static

* Expose center and bandwidth settings

* Increase gain for temporary presets

* Add preamp

* Add placeholder EQ menu

* Use an alternate set of presets

* disable EQ tab in the General menu

* give equalizer presets less abstract names

* adjust equalizer preset preamp gains

@ceski-1 I will need your confirmation here

* Use safer dB ranges

* Simplify

* Formatting

---------

Co-authored-by: ceski <56656010+ceski-1@users.noreply.github.com>
2024-06-25 20:35:48 +02:00
Fabian Greffrath
480cf488d4 fix compat widget does not reset to gray
Also, space alignment is sufficient for fixed width numbers
2024-06-25 12:33:54 +02:00
Fabian Greffrath
1d294bae98 fix color translation tables for palette indices > 127
Broken for more than a year...
2024-06-25 11:13:01 +02:00
Fabian Greffrath
fed950e414
keep drop shadows of HU font glyphs black (#1758)
* keep drop shadows of HU font glyphs black

Thanks @NightFright2k19

* smoother transition
2024-06-25 08:04:12 +02:00
Fabian Greffrath
095ae7f2f2
add a compact widget showing only health, armor and ammo information (#1757)
* add a compact widget showing only health, armor and ammo information

* wording fixes

* do not restrict the w_compact widget to hud_active == 0

* add forgotten woofhud.lmp changes

* draw labels in gray

* fixed width
2024-06-25 08:03:49 +02:00
Roman Fomin
58ebd88de2 fix missed ammo_yellow config option 2024-06-25 07:52:44 +07:00
Fabian Greffrath
9d2811382f fix external asset contributors copyrights 2024-06-24 14:00:32 +02:00
Roman Fomin
1e9ad29092
DRS tweaks (#1755)
* Keep native resolution, reduce resolution more slowly.

* Remove SDL_HINT_RENDER_BATCHING
2024-06-22 08:34:28 +07:00
ceski
aecd933c5d
Video fixes (#1754)
* Fix alt+tab and Windows key when using exclusive fullscreen

* Fix OpenGL exclusive fullscreen

Ignore window events during initialization.

* Raise priority at launch, remove redundant calls
2024-06-21 11:19:35 -07:00
Roman Fomin
84cd748be5 make wrong aspect ratio not fatal 2024-06-21 20:08:30 +07:00
Roman Fomin
b9630c6829 fix bunny scroll 2024-06-21 20:08:10 +07:00
Roman Fomin
477fc429bf
linter fixes (#1719)
* use cpp-linter action

* fix header files

* disable clang-analyzer-valist checks

* remove unused values

* the value is never read from `scale`
2024-06-21 14:12:28 +07:00
ceski
6ff39793ad
Misc. input cleanup (#1753)
* Get SDL events in batches

* Clean up `I_StartTic()`

* Clean up `I_ReadMouse()`

* Ignore unused controller events

Triggers are now based on their state, like other axes.

* Combine controller update functions

* Separate mouse and gamepad ticcmd prep

* Simplify "store demo" check and disable it

From Chocolate Doom, but commented out.

* Cosmetic changes

* Remove "store demo" check
2024-06-20 09:01:56 -07:00
Roman Fomin
74c13a87c3
numspechit should be >= 0 (#1751) 2024-06-19 17:08:50 +07:00
Roman Fomin
1e4d234f44 cosmetic change 2024-06-19 15:42:17 +07:00
Roman Fomin
ad6599a1f2
brightmaps: STATE works for all sprites (#1750) 2024-06-19 15:37:17 +07:00
ceski
1eaa8cdff0
Ignore mouse motion events (#1749) 2024-06-18 23:58:17 -07:00
Fabian Greffrath
80e7fa3b09 initialize hud_timestr[], valgrind complains 2024-06-18 18:02:13 +02:00
Roman Fomin
bfabf7213b
FPS limiter tweaks (#1744)
* Remove I_CpuPause().

* Change limiter sleep loop.

* Use CREATE_WAITABLE_TIMER_HIGH_RESOLUTION
2024-06-18 14:47:07 +07:00
Fabian Greffrath
a5be5b5e19
do not trigger silent teleports in the SPECHITS cheat (#1746) 2024-06-17 09:53:37 +02:00
Roman Fomin
1fe88ec513
reset tmthing pointer in cheat_spechits function (#1745)
Fix SPECHITS cheat in Resurge.wad MAP15
2024-06-17 11:36:24 +07:00
Fabian Greffrath
9bea4e33ac
fix automap input when being closed due to death (#1742) 2024-06-13 09:33:02 +02:00
Roman Fomin
2ea22a6455
save/load menu improvements in mouse mode (#1741)
* Don't show snapshot for page item.

* Switch pages left/right depending on mouse cursor position.
2024-06-13 14:27:38 +07:00
tomas7770
db36bafe6e
add doomu.wad alias for Ultimate Doom (#1736) 2024-06-10 08:32:56 +07:00
gendlin
2721476433
Disable SDL render batching by default (#1733) 2024-06-09 10:36:06 +07:00
ceski
06f3324f99
Unconditionally skip first/last 16 bytes of DMX sound data (#1732) 2024-06-08 06:29:01 -07:00
Roman Fomin
d22ed9b2ed upload MSYS artifact 2024-06-08 18:48:41 +07:00
Fabian Greffrath
caea42167f
fade out sound samples (#1731)
* fade out 8-bit mono sound samples

Fixes #1730

* apply to FadeInOutMono16() and FadeInOutMonoFloat32()

* Fix crash

* Check fade in and fade out separately

---------

Co-authored-by: ceski <56656010+ceski-1@users.noreply.github.com>
2024-06-08 10:24:51 +02:00
Fabian Greffrath
f7b5cd317c fix M_StringCopy() again 2024-06-07 10:03:02 +02:00
Roman Fomin
80d92fa2ae fix ST_BAR flickers when changing the resolution scale in the menu 2024-06-07 08:57:33 +07:00
Roman Fomin
e4ec2abd6f
building dependencies with vcpkg on Linux (#1724) 2024-06-06 16:18:28 +07:00
Roman Fomin
e81db0ae77
"function factory" in r_draw.c and v_video.c (#1721)
* reformat r_draw.c

* add R_ShadeScreen and V_ShadeScreen functions

* add translation functions

* fix fuzzpos
2024-06-06 16:17:18 +07:00
Fabian Greffrath
0f996cb2eb Merge branch 'master' of github.com:fabiangreffrath/woof 2024-06-04 17:58:28 +02:00
Fabian Greffrath
789ed8adf9 update params.h 2024-06-04 17:58:23 +02:00
gendlin
9bf7babb9a
Improve frame limiter behavior on older CPUs (#1723) 2024-06-04 20:19:32 +07:00
gendlin
0f728d629b
Fix overflow in fps counter at 2147 fps (#1725) 2024-06-03 12:07:31 +07:00
Fabian Greffrath
31c9e45453 fix warning: ‘strncpy’ destination unchanged after copying no bytes 2024-06-02 21:00:59 +02:00
ceski
fe9e2d8920 Update README.md 2024-06-01 07:28:36 -07:00
ceski
32be8190c8
Prevent mouse motion when returning from message prompts (#1722)
* Flush mouse motion when clearing relative state

* Clear relative mouse state when clearing input variables

* Prevent mouse motion when returning from message prompts
2024-05-31 23:23:29 -07:00
ceski
4f95da2225
Merge pull request #1720 from ceski-1/pitch_fix 2024-05-31 06:35:44 -07:00
ceski
c89059e606 Scale pitch before clamping range 2024-05-31 00:32:08 -07:00
ceski
ef34eab76d Simplify gamepad calculations 2024-05-30 22:53:04 -07:00
ceski
f219f7231d
Additional input refactoring (#1712)
* Revert input refactoring

* Add back independent `raw_input` and `fake_longtics`

* Don't rotate camera during invalid state

* Simplify viewangle calc

* Move side calcs to g_input

* Move gamepad calcs to g_input

* Move mouse calcs to g_input

* Keep local view update in g_game

* Move error accumulation to g_input

* Reduce scope
2024-05-30 07:03:09 -07:00
Roman Fomin
76604bca42 fix M_StringJoin calls 2024-05-30 20:59:39 +07:00
Roman Fomin
51cb24de4a
move all autoload and internal resources to woof.pk3 archive (#1713)
* Remove -dumplums and -dumptables commands.
2024-05-30 20:55:01 +07:00
Roman Fomin
215c75a55a
add clang-tidy to CI and fix some warnings (#1717)
* fix replacement of `author` umapinfo string (assumed to be lump name)

* remove some variables that are never read

* remove `toolsrc` from the build (we don't package it anyway)

* make sure that `dropoff` parameter is boolean

* allow `i` values outside enum mobjtype_t range

* `oldgamestate` out of range for `gamestate_t` enum

* false positive (?) for leaking memory in U_SaveState

* use the `__VA_ARGS__` macro instead of functions with variable parameters

In standard C, using NULL to terminate the argument list of a variadic
function is undefined behaviour.
2024-05-30 20:20:46 +07:00
Roman Fomin
1f957567a6
use compile_commands.json for Cppcheck (#1716)
* suppress memleak warnings only for u_scanner.c
2024-05-29 18:07:46 +07:00
Fabian Greffrath
605289f161 initialize midi_position_t position in i_midimusic.c:PlayerThread() 2024-05-28 13:45:51 +02:00