Roman Fomin
d8e40de9a7
fix config strings, alternative config_t UB fix ( #2166 )
2025-01-29 01:28:20 +07:00
Fabian Greffrath
9a889301e0
save button states in savegames ( #2165 )
...
* save button states in savegames
Mostly taken from Doom Retro.
* simplify loop
* simplify restoring button state
2025-01-28 13:55:01 +01:00
Fabian Greffrath
4089139a7a
simplify demo file name attempt counter implementation ( #2164 )
...
* always record demos with an attempt counter appended to the file name
* keep first attempt without counter in the file name
2025-01-28 13:47:23 +01:00
Fabian Greffrath
1ab18dcff4
prevent G_ReadOptions() overriding netgame settings ( #2163 )
...
* prevent G_ReadOptions() overriding netgame settings
* reorder commands
Co-Authored-By: Roman Fomin <rfomin@gmail.com>
---------
Co-authored-by: Roman Fomin <rfomin@gmail.com>
2025-01-28 13:35:20 +01:00
Fabian Greffrath
12bd1fed68
fix evil grin getting triggered at level start (and by ID(K)FA) ( #2162 )
...
* fix evil grin getting triggered at level start (and by ID(K)FA)
* ad one extra ST_Start() call to prevent triggering from savegames
2025-01-28 13:18:00 +01:00
Fabian Greffrath
793d5fc4a1
rename "FPS Limit" to "Target FPS" ( #2161 )
...
The term "limit" sounds like an upper bound only. However, this value
is also used by DRS to decide to decrease screen resolution if it
cannot be kept. Thus, I find "target" to fit better.
2025-01-28 13:17:02 +01:00
Roman Fomin
c24d5c57ab
fix UB related to config_t union ( #2158 )
2025-01-28 08:25:44 +07:00
Roman Fomin
344d86d61b
fix linearsky calculation for large sky texture width ( #2160 )
2025-01-28 08:24:00 +07:00
Roman Fomin
4ebaddec41
fix various UB issues ( #2159 )
...
* Fix "applying non-zero offset to NULL pointer".
* Fix "non-aligned access to struct members" (maptexture_t).
2025-01-27 09:53:23 +07:00
Roman Fomin
bdd5630f8d
fix undefined behavior in linearsky calculation ( #2157 )
2025-01-27 02:53:43 +07:00
Roman Fomin
a6b0c1e324
DRS improvements ( #2154 )
...
* Added 30-frame history and 15-frame cooldown period after resolution change.
* Simplified and tweaked downscale/upscale threshold parameters.
2025-01-26 22:36:43 +07:00
Roman Fomin
a8e1749cef
add ENDABLE_UBSAN CMake option ( #2155 )
2025-01-26 21:23:38 +07:00
Roman Fomin
cec33c2631
same invul rules for SKYDEFS ( #2153 )
2025-01-25 22:40:36 +07:00
Fabian Greffrath
c710992f3f
fix PYthon deprecation warning
2025-01-25 13:22:26 +01:00
Roman Fomin
93dffe234a
always use WI_checkForAccelerate for UMAPINFO ending ( #2149 )
2025-01-24 15:36:36 +07:00
Roman Fomin
f256b18e06
fix demo footer after level restart
2025-01-19 14:44:12 +07:00
Roman Fomin
aee6da51f4
fix demo name buffer size for "-00000" case
...
+1 bytw for '/0'
2025-01-19 13:55:16 +07:00
Roman Fomin
075b47ed75
reformat d_deh.c ( #2146 )
...
* implement deh_log function
* fix cppcheck warning
* rename "deh IO" functions
* remove unnecessary declarations
2025-01-17 15:26:20 +07:00
Fabian Greffrath
1bae19fcc1
This is Woof! 15.1.0
woof_15.1.0
2025-01-17 07:55:31 +01:00
Roman Fomin
e19b4cebd6
add check for parse error in TRAKINFO
2025-01-16 23:46:18 +07:00
Roman Fomin
fadd2ee538
update CHANGELOG.md ( #2145 )
...
* update CHANGELOG.md
* small fixes
* more minor fixes
---------
Co-authored-by: Fabian Greffrath <fabian@greffrath.com>
2025-01-16 21:38:56 +07:00
Roman Fomin
bfe1af9db5
id24: implement DEHACKED "Carousel icon" weapon block field ( #2144 )
2025-01-16 13:36:03 +07:00
Roman Fomin
ce584fbf55
demoloop: add check for secondarylump
, remove TYPE_NONE
...
If `secondarylump` is invalid, there will be a crash as we try to copy NULL
string.
2025-01-16 13:10:32 +07:00
Fabian Greffrath
7346d178a2
fix super-wide (1600px) status bar graphic alignment ( #2142 )
...
* fix super-wide (1600px) status bar graphic alignment
Fixes #2140
* use formula from Eternity Engine
* drop casts
* use DIV_ROUND_FLOOR()
2025-01-16 06:15:46 +01:00
elf-alchemist
f9b9f23be7
Implement ID24 DemoLoop specification ( #2141 )
...
* implement id24 demoloop specification
* fixed various assorted issues from draft PR
* added further fixes and simplifications to demoloop system
* cleaner demoloop internals
* implement outro_wipe field functionality
* Revert "implement outro_wipe field functionality"
This reverts commit 1dba7b23d025c32bd4574499d54514c1a4bbcace.
* added demoloop TODO notice
---------
Co-authored-by: Fabian Greffrath <fabian@greffrath.com>
2025-01-16 11:57:44 +07:00
Fabian Greffrath
ffa9a3974c
fix fast doors reopening with wrong sound ( #2139 )
...
* fix fast doors reopening with wrong sound
Thanks @MrAlaux for pointing me to this fix.
* change comp flag description accordingly
2025-01-12 15:05:01 +01:00
Fabian Greffrath
d915c1845e
fix level logging during multi.level demos
2025-01-12 14:54:05 +01:00
Fabian Greffrath
b88073123d
fix G_GetNamedComplevel() not actually returning (but setting) gameversion
2025-01-12 14:53:04 +01:00
Fabian Greffrath
982c75ab50
dropoff is actually type int, not boolean
...
Fixes desync in evit32x333.lmp
2025-01-12 10:27:30 +01:00
elf-alchemist
6cd8c4e2c5
fix 'pwad endoom only' logic ( #2138 )
...
* fix 'pwad endoom only' logic
* fixed code formatting
2025-01-10 16:13:38 +01:00
Fabian Greffrath
8d87277247
fix end buffer being visible in rightmost column in melt wipe ( #2137 )
...
Fixes #2059
2025-01-10 09:58:09 +01:00
Fabian Greffrath
a2606a1677
fix loading VILE\* sprite lump files from PK3 directories ( #2136 )
...
Fixes #2131
2025-01-10 09:57:48 +01:00
Fabian Greffrath
866f5d8dd3
fix SKYDEFS scroll speed ( #2135 )
...
* fix SKYDEFS scroll speed
Fixes #2107
* add scrolling sky interpolation
* add `scrolly` interpolation, check fo pause/menu
Co-Authored-By: @rfomin
2025-01-10 09:57:34 +01:00
Fabian Greffrath
18032f654b
compdb: minor fixes to the COMPDB lump ( #2130 )
...
* comvert md5 entries into single-element arrays
* fix the tntr_map30 entry, while at it
* revert converting md5 entries into single-element arrays
* pretty print the base/all-all/compdb.lmp JSON format lump
by piping it through the following code and fixing the missing newline
at the end of the file:
```python
import sys, json
json.dump(json.load(sys.stdin), sys.stdout, indent=2)
```
2025-01-10 09:57:18 +01:00
elf-alchemist
afd3ac8686
fix not reading doom2-all/
, doom1-all/
autoload directories ( #2128 )
...
Closes #2127
Co-authored-by: Fabian Greffrath <fabian@greffrath.com>
2025-01-07 17:02:56 +01:00
Fabian Greffrath
a4b08b7152
allow to set complevel by COMPDB lump ( #2125 )
...
* allow to set complevel by COMPDB lump
Fixes #2121
* do not apply comp[] options in complevel Vanilla
* check for DV_NONE, do not apply comp options if not MBF21
* minor restructuring
* do not even need old_demover, it will always be MBF21 anyway
* fix blank line in compdb.lmp
2025-01-07 17:02:38 +01:00
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