2789 Commits

Author SHA1 Message Date
Fabian Greffrath
bfe338f8fb
rework AddDefaultExtension() (#2124)
* rework AddDefaultExtension()

* simplify: assume `ext` must start with a dot
2025-01-07 17:02:17 +01:00
Alaux
af76ea901c
Improved weapon interpolation (#2123)
* Improved weapon interpolation

This approach, similar to that of mobj interpolation, eliminates some issues from the old approach, namely interpolation having to be reset upon sprite changes and view-size changes.

* rfomin's patch: remove `pspr_interp`

Co-Authored-By: Roman Fomin <rfomin@gmail.com>

* Assign `s#2` to `olds#2` when loading savegames

* Assign to `olds#2` properly

---------

Co-authored-by: Roman Fomin <rfomin@gmail.com>
2025-01-06 06:47:56 -03:00
Fabian Greffrath
501a54ce40
always append the absolute IWAD path to iwad_dirs[] (#2122) 2025-01-06 09:32:54 +01:00
Fabian Greffrath
dcf934132d
return PROJECT_SHORTNAME for D_DoomExeName() (#2120) 2025-01-05 21:48:09 +01:00
Fabian Greffrath
abd23ab741
improve "IWAD not found" error message (#2119) 2025-01-05 21:47:52 +01:00
Fabian Greffrath
7e39b8d839
do not mistake WAD-named directories for actual WAD files (#2118)
* do not mistake WAD-named directories for actual WAD files

* explicitly check for files not dirs
2025-01-05 21:47:26 +01:00
Fabian Greffrath
22a1ee93e2
do not encourage littering the HOME directory with loose WAD files (#2117) 2025-01-05 21:46:45 +01:00
Fabian Greffrath
ec7344f041
draw time right-aligned if no par time and total time right-aligned (#2116)
Fixes #2114
2025-01-03 10:50:45 +01:00
Fabian Greffrath
5e04f8742e
add D_DoomPrefDir() instead of D_DoomExeDir() to iwad_dirs (#2115)
D_DoomPrefDir() returns the executable directory on Windows,
and a user-writable config directory everywhere else.
2025-01-03 10:50:18 +01:00
Fabian Greffrath
2ac2f646de
dynamically grow the iwad_dirs[] array (#2113)
* dynamically grow the iwad_dirs[] array

* short-cut AddIWADDir(...) -> array_push(iwad_dirs, ...)
2025-01-02 07:01:31 +01:00
Fabian Greffrath
31715892fe
add type-safe MIN() and MAX() macros (#2112)
* add type-safe MIN() and MAX() macros

https://stackoverflow.com/questions/3437404/min-and-max-in-c

* add a CMake check for __typeof__() availability

* extend CMake check for statement expressions

* Revert "extend CMake check for statement expressions"

This reverts commit 52a24bcadcfc42746ba5f39ddb42d317248f9b4c.

* Revert "add a CMake check for __typeof__() availability"

This reverts commit 24d14f592af7b9615666a5f86ecee90c552dd70d.
2025-01-01 17:43:06 +01:00
Fabian Greffrath
fc6d14cfa6
clear active thermo when prematurely exiting out of the menu (#2111)
Fixes #2100

At least this fixes the last thermo still being in an active state
when exiting the menu while the mouse button is pressed but not
yet released. It does not fix the thermo value != actual value
issue, though
2024-12-31 09:10:46 +01:00
Alaux
4e3779359f
Add missing FluidSynth checks, consistency tweak (#2109)
* Add missing FluidSynth check

* Fix check inconsistency

* Add more missing checks
2024-12-31 09:09:07 +01:00
Roman Fomin
f2fa2bc44c use video.width instead of video.pitch 2024-12-31 12:03:55 +07:00
Fabian Greffrath
fe20c4903c
do not draw fuzz columns beyond screen boundaries (#2108)
Fixes #2099
2024-12-30 19:24:03 +01:00
Fabian Greffrath
79c801ce90 Merge branch 'master' of github.com:fabiangreffrath/woof 2024-12-30 17:47:55 +01:00
Fabian Greffrath
9a063ef29c print video driver (x11 or wayland on Linux) in verbose mode 2024-12-30 17:47:44 +01:00
MelodicSpaceship
08a546ba47
Use Final Doom EXE only for TNT and Plutonia. (#2106) 2024-12-30 23:28:57 +07:00
Roman Fomin
164098805c
fix -levelstat in release build (#2103) 2024-12-24 01:05:09 +07:00
Fabian Greffrath
395ab83e48
consolidate getting home and data dir into helper functions (#2101)
Co-authored-by: Fabian Greffrath <fabian@brainbug>
2024-12-23 18:56:19 +01:00
Roman Fomin
13bd9e2305
sort zip directory (#2098)
* remove 512 chars file names truncation, load .wad only from root directory
2024-12-22 14:39:39 +07:00
Roman Fomin
00001ff4e4 umapinfo: remove lump name check 2024-12-21 13:14:55 +07:00
Roman Fomin
bf71e8c0c5
fix entering check in WI_initAnimatedBack, reformat (#2097) 2024-12-20 18:58:39 +07:00
Roman Fomin
5b1851e94d
umapinfo: finale handling improvements, cosmetic changes (#2096)
* rename u_mapinfo->g_umapinfo, cosmetic changes

* update copyright and README.md
2024-12-20 16:00:54 +07:00
Fabian Greffrath
8a8d4f8053 nameless function parameters in p_action.h 2024-12-19 11:55:47 +01:00
Fabian Greffrath
b53ee54b66
allow code to build with -std=gnu23 (which is the new default in gcc-15) (#2094)
* attempt to build with -std=gnu23, which is the new default in gcc-15

* include <stdbool.h>

* fix function pointers in d_deh.c

* fix argument type in p_tick.c

* fix function pointes in m_cheat.c

* fix function pointers in info.c

* fix parameter list in m_cheat.c

* revert changes to build system and CI
2024-12-18 20:39:16 +01:00
elf-alchemist
df532c753d
expand exit sequence support to include PWAD endoom + no sound (#2095)
* add PWAD ENDOOM option setting

* cleaned redundant parentheses
2024-12-18 19:39:50 +01:00
Roman Fomin
3f41e8f14d
remove UMAPDEF (#2093) 2024-12-17 16:50:28 +07:00
MelodicSpaceship
f07688a73d
Make chex3v.wad its own mission pack, add support for chex3d2.wad. (#2091)
* Make Chex 3 Vanilla its own mission pack, and add support for the modding version.

* Fix chex3d2 incorrectly using Final Doom behavior.
2024-12-15 12:38:40 +01:00
Fabian Greffrath
f154314894 move tran_filter_pct and sts_pct_always_gray to ss_none 2024-12-15 10:36:35 +01:00
Fabian Greffrath
0c5d0f5674
move player pain sound to the sg_oof sound group (#2092)
Prevents the chainsaw idle sound and the player pain sound from interruting each other.

https://www.doomworld.com/forum/topic/112333-this-is-woof-1501-dec-06-2024/?page=103&tab=comments#comment-2877815

This fix seems plausible since both "Oof!" and "Ouch!" are voiceful expressions. ;)
2024-12-15 10:33:30 +01:00
Roman Fomin
1e4aa38e0d
replace u_scanner with DECORATE compatible version (#2090) 2024-12-13 18:58:20 +07:00
Fabian Greffrath
02306aa263
minor menu clean-up (#2089)
* minor menu clean-up

* move "Invulnerability effect" back to Misc category
2024-12-13 07:23:52 +01:00
Fabian Greffrath
cb6c9a5e5c
Update README.md 2024-12-12 15:56:12 +01:00
Roman Fomin
d5830f2ce9
don't free crosshair patch (#2085)
* don't draw crosshair two times
2024-12-12 17:58:26 +07:00
Fabian Greffrath
1c179adb81
do not redraw view border three times (#2087)
* do not redraw view border three times

We do not have three video buffers anymore.

* turn borderdrawcount into a boolean
2024-12-12 10:39:34 +01:00
Roman Fomin
29e1e9e1b5
bring back extras.wad autoload, support for chex3v.wad IWAD (#2086)
* add "-noextras"
2024-12-12 14:12:16 +07:00
Roman Fomin
78491e0340 add "no texture" marker to prevent SKYDEFS crash with empty texture name 2024-12-12 11:57:35 +07:00
Roman Fomin
f16bbb7877 add 2px right offset for widgets with "Digits" font 2024-12-12 11:37:16 +07:00
Fabian Greffrath
7cd76828c5
mostly cosmetic fixes to fuzz column drawing functions (#2084) 2024-12-09 10:15:07 +01:00
Roman Fomin
2dbf92db08
add Crispy HUD (#2077)
* unlimited number of statusbars
2024-12-08 20:29:44 +07:00
Fabian Greffrath
913c0688b3
allow to toggle "Organize save files" at runtime (#2082)
* allow to toggle "Organize save files" at runtime

* create savegame directory only when saving the game

* put free/reassign into a macro
2024-12-08 13:19:58 +01:00
Roman Fomin
84a56a26f0
add "refraction" and "shadow" fuzz modes (#2043)
* use Ceski's naming

* add simple "Shadow" mode

* add little noise using formula from Nugget Doom

* don't allow in netgame
2024-12-08 10:22:54 +07:00
gendlin
458c61ae2d
Fix potential overflow in FixedDiv, re-add gcc asm implementation (#1832)
* Revert "remove GCC variant of `div64_32` (#1818)"

This reverts commit fac7cf789fd9063b523d85dc17b8e6ac701459ae.

* Remove asm multi-constraint

clang generates poor code otherwise:

https://stackoverflow.com/questions/16850309/clang-llvm-inline-assembly-multiple-constraints-with-useless-spills-reload

* Fix potential FixedDiv overflow when passed INT_MIN as first arg
2024-12-07 20:21:34 +07:00
Jon Daniel
89aae9c789
Add Clang Vector Extension and swich to xyzw quat (#2025)
* Add Clang Vector Extension and switch to xyzw quat

* Formatting

---------

Co-authored-by: Jon Daniel <jopadan@mailfence.com>
Co-authored-by: ceski <56656010+ceski-1@users.noreply.github.com>
2024-12-07 20:05:52 +07:00
Fabian Greffrath
b674af945d
Update README.md 2024-12-07 13:40:50 +01:00
Roman Fomin
fc01df7d29
update minimum CMake version (#2081) 2024-12-07 01:08:34 +07:00
Fabian Greffrath
0fd910107c
actually fix ouch face again (#2080) 2024-12-06 13:47:16 +01:00
Fabian Greffrath
087e113356 This is Woof! 15.0.1 woof_15.0.1 2024-12-06 10:50:19 +01:00
Roman Fomin
b9797c19af
update CHANGELOG.md (#2079)
* remove mention of "Chex Quest 3: Vanilla Edition"
2024-12-06 16:45:00 +07:00