2888 Commits

Author SHA1 Message Date
Roman Fomin
6c893a6bc5 small cleanup 2025-07-17 16:33:45 +07:00
Roman Fomin
969022109c
SBARDEF improvements (#2310)
* Increase the size of the string buffers for the stats widget

* Check GODMODE cheat with invulnerability item

* Implement SBARDEF v1.1.0 changes
2025-07-17 16:30:10 +07:00
Roman Fomin
bfba921f14
fix tracker music looping (#2316) 2025-07-16 20:53:17 +07:00
elf-alchemist
8c2cc46e9a
fix Brightmaps setting set to off (#2315) 2025-07-16 10:49:44 +02:00
Fabian Greffrath
89901e543c
improvements to vertical scrolling detection for sky textures (#2312) 2025-07-11 11:06:05 +02:00
elf-alchemist
1a5b3e4187
Everything is a sky_t -- consolidate sky rendering (#2301)
* first step: static skies work (global sky, MBF, flatmapping, fire)

* stretch short skies

* some clean up

* MBF sky transfers are working

* set basemid earlier

* apply skydef skies to lines

* fix sky positioning

* fix foreground drawing, except for >1 fires

* support multiple fires

* cosmetics

* fix?

* clang-format-19 -i src/r_sky*

* introduce linked sky concept

* minor clean up

* another fix

* introduce skyindex_t type

* first attempt at fire scaling

* first stab at fire sky scrolling

* fix rendering glitch with negative scaley factors

* add some headroom for additional foreground skies

* dummy commit; there's no separate fire sky render path, just a texture replacement

* cleaner final diff

* renderring working, foreground working, fire-as-texture working

* clang-format-19 -i src/r_sky.*

* remove extraneous addition from testing

* simplified UpdateFireSky

* re-introduced fire sky ticrate

* clang warning: moved extraneous `#include`

* do not use `sky_t::linked_sky` on R_InitSkyMap

* skydef transfers are working woohoo

* no more `linked_sky`

* redundant zero-ing

* removed extraneous property; maybe come back later with fire customization

* fixed check for color skies; ugh, there should be a better way to do this

* consistent type usage

* added temporary sky color property

* now reading transfered sky offsets

* testing on `example/sky.wad`, one step forward two steps back

* define proper baseline mid value for sky transfers

* fix sky transfer horizontal scrolling

* add fix for transfered sky vertical scrolling

* fix sky transfer mid line

* YET AGAIN, MAJOR FIXES

using rate of change of base and old offsets per-tic is a bad idea, does not work on run-time scrolling

* FINALLY sky transfers + skydefs are working together

* moved SkyDefs parsing much earlier, matching R&R

* apply flatmapping before sky transfers; foreground array growth

* sky mid handling how matches DSDA/PrBoom+ behavior

* de-globalized one variable, globalized another

* moved skytran back into r_plane

* updated copyright notice

* clarifying comment

* pre-computed sky color

* clean up comments

* fixed horizontal sky transfer interpolation

* whoops

* comments 2 electric boogaloo

* simplified tall skies implementation code

* transfers now stretch, woohoo

* linking is expensive

* only one conditional

* cleaner conditional; fix meamory leak

* needless extern

* de-globalized skydefs

* clean up and got vertically offset transfers stretching

* do not colorfill on skies shorter than 128

* allow stretching fire skies

* spelling

* add fabian's changes

* fix stretching short skies logic

---------

Co-authored-by: Fabian Greffrath <fabian@greffrath.com>
2025-07-10 20:48:53 +02:00
Roman Fomin
0536de77f4 CI: simplify caching 2025-07-09 15:02:43 +07:00
Roman Fomin
790be8d7a8
SNDINFO: warning instead of error out (#2309) 2025-07-09 14:45:38 +07:00
Fabian Greffrath
e0677008ed
Catch crash if animation speed is 0 (#2308)
Co-authored-by: Pedro Beirao <pedrocbeirao@gmail.com>
2025-07-08 09:59:58 +02:00
elf-alchemist
bff9b1af3e
fixes #2305 (#2306) 2025-07-06 22:06:43 +02:00
elf-alchemist
d8f50be53e
Allow non-power-of-2 textures (#2303)
* trial by fire

* allow non-power-of-2 textures

* fix masked seg typo

* removed minor extraneous changes

* fix type typo, add const
2025-07-06 10:00:13 +02:00
elf-alchemist
c0ed699e18
Fix ID24 inventory-reset exits missing from UMAPINFO 0-tag check (#2300)
* add id24 inventory-reset specials to UMAPINFO 0-tag

* gun-triggered special formatting
2025-07-04 08:41:51 +02:00
Mr. Myth
911f8940a6 Use $TMPDIR to find tempdir on Unix (#1748)
* Properly check for tempdir on Unix

* Properly check for tempdir on Unix

* Use M_getenv()

* Use M_getenv()

* Revert "Use M_getenv()"

This reverts commit eedd01409749c8e8edc1b0ca79081683dc67d911.

* Revert "Use M_getenv()"

This reverts commit 31437d6097047ba32092848ce980af57c4eb1791.

* Use spaces instead of tabs

* Consistancy and correct Unix environment variable

* Consistancy
2025-06-24 08:03:46 +02:00
ceski
dad00953e5
Replace BETWEEN macro with CLAMP (#2293)
`clampi` and `clampf` functions are also available now.
2025-06-21 01:08:51 -07:00
elf-alchemist
70aa28dc82
added BEX mnemonic for beta pickup sprite (#2291) 2025-06-20 10:27:00 +02:00
ceski
f6325f138f Disable raw input for XInput devices under Windows 2025-06-18 20:19:34 -07:00
elf-alchemist
da417c51e1
enable all compatible scrollers on demo_compatibility (#2289) 2025-06-16 16:11:06 +02:00
elf-alchemist
d4bb4e8ae8
Fix REKKR autoload directory infinite recursion (#2287)
* fix REKKR autoload issue

* fix typo

* remove extraneous auto folder creation

* do not autoload from REKKR pwads
2025-06-12 17:46:21 +02:00
MelodicSpaceship
f237fb9941
Add rekkr-all autoload directory. (#2284)
* Add rekkr-all autoload directory.

* Make the requested changes to rekkr-all autoloading.

* Remove .wad extensions in calls to strncasecmp.

* Add space after commas for calls to strncasecmp.
2025-06-11 11:52:05 +02:00
ceski
c85e5d98d9 Add ambient sound example WAD 2025-06-08 06:08:09 -07:00
Roman Fomin
10a4fc359d
improvements to the SNDINFO parser (#2281)
* Always error out using `SC_Error`.

* Introduce `TK_RawString`, remove `SC_GetNextTokenLumpName`.

* Use `TK_RawString` for sound logical name and lump names.
2025-06-03 10:24:03 +07:00
elf-alchemist
451618d435
Implement separate Woof!-exclusive Thing flags (#2279)
* add MIRROREDCORPSE enemy corpses to Legacy of Rust

* implement 'Woof Bits' randomly flipped corspes

* add 'Woof Bits' to save data
2025-06-02 15:25:57 +07:00
ceski
c378d97aef
Add support for SNDINFO ambient sounds (#2280) 2025-06-02 00:12:36 -07:00
Roman Fomin
785984696d fix error if lump not found in TRAKINFO 2025-05-29 12:51:52 +07:00
Fabian Greffrath
ceacff0163
allow saving when recording a joined demo (#2273)
Saving is allowed when regularly recording a demo anyway
2025-05-27 12:01:38 +02:00
Fabian Greffrath
d8077adb64
support binding the non-US backslash key (#2271)
This is the key between Left Shift and Y on an ISO keyboard.
2025-05-25 10:48:30 +02:00
elf-alchemist
8553faabd8
fix Demoloop missing support for DeHackEd Text substitution (#2269) 2025-05-20 11:56:01 +02:00
Fabian Greffrath
3c4b90f30a pipe error handling functions through clang-format 2025-05-16 10:42:27 +02:00
Fabian Greffrath
cc0dc9af62 restrict screenblocks to maxscreenblocks boundaries 2025-05-15 22:30:59 +02:00
Fabian Greffrath
a6956ccac7 more elegant solution: append note to error message 2025-05-15 22:09:31 +02:00
Fabian Greffrath
d8c7ce1a69 distinguish error exits from success exits 2025-05-15 18:18:35 +02:00
Fabian Greffrath
dd94081ac0
make EV_VerticalDoor() consistent with DSDA-Doom (#2268)
Corresponding code:
ca3f4b1731/prboom2/src/p_doors.c (L679-L739)
2025-05-15 09:53:20 +02:00
Fabian Greffrath
cfe4431875 clarify that an error message is *not a crash* 2025-05-15 09:45:26 +02:00
Fabian Greffrath
81bf1e70c7
break quit messages after at most 42 chars (#2267)
if they do not contain explicit line breaks themselves

Fixes #2263
2025-05-14 06:33:13 +02:00
Fabian Greffrath
d28289ca1f
prepend function name to error messages (#2266)
* prepend function name to error messages

* adjust error messages accordingly
2025-05-14 06:32:17 +02:00
Fabian Greffrath
40e3447805 simplify check for PL_FLATMAPPING in do_draw_plane() 2025-05-13 21:47:07 +02:00
Alaux
4d4d91de0a
Consistently use pixel_t for screen buffer (#2262) 2025-05-10 13:42:32 -03:00
ceski
0ef7f192e3 Update README.md 2025-05-09 20:07:19 -07:00
ceski
f52e7728a9
Simplify IWAD list building, add more search locations (#2260)
* Don't add blank paths to wad list

* Simplify GOG paths

Removes redundant/invalid paths. Adds paths to original IWADs which are now included with DOOM + DOOM II.

* Simplify Steam paths

Removes invalid paths. Paths to wads are generated based on registry entries, like GOG.

* Add `const`

* Separate CE and GOG

* Update Linux Steam paths

Some of these games may be installed due to the popularity of modern Proton support. So it doesn't hurt to include their paths.

* Remove extra `steampath`
2025-05-08 12:07:30 -07:00
ceski
17e318b91b
Improve sound limiter (#2256) 2025-05-08 09:42:33 -07:00
Roman Fomin
ca5a4aef94 CI: continue of error 2025-05-08 15:36:33 +07:00
ceski
7530deae79
Free/destroy SDL video resources on shutdown (#2259)
* Rename `disable_endoom` to `fast_exit`

* Rename `D_AllowQuitSound` to `D_QuitSoundEnabled`

* Add separate `D_EndDoomEnabled` function

* Move all ENDOOM checks to `D_AllowEndDoom`

* Free/destroy SDL video resources on shutdown

* Simplify
2025-05-07 22:13:18 -07:00
Fabian Greffrath
232c1e478f
add a "prev map" key binding (#2046)
* add a "prev map" key binding

Fixes #2007

* simplify

* add safety measures

* simplify again

* fix

* simplify logic

* add to key binding menu instead of player specific chat keys

* start with gamemap 99 when crossing gameepisodes

* start new episode with gamemap = cur_map to allow a full gamemap circle

* fix UMAPINFO

* reset gamemap outside the while() condition

* do not let linear and UMAPINFO maps cross

* prevent G_GotoNextLevel() from cycling across levels that end the game

* check either UMAPINFO or linear progression in G_GotoNextLevel()

* don't report the map we couldn't find, but the map that we couldn't find a previous map for
2025-05-08 07:06:04 +02:00
Roman Fomin
7bc3712cfd CI: always update cache 2025-05-08 12:04:36 +07:00
Fabian Greffrath
7bfc01ff69
reset weapon carousel for zombie players (#2253)
Fixes #2252
2025-04-29 13:33:18 +02:00
Fabian Greffrath
0a789c7783 do not redefine deh_flag_t struct type in deh_mobjflags[] declaration 2025-04-28 15:06:44 +02:00
Roman Fomin
2361f851de fix buffer overflow in d_deh.c 2025-04-28 17:45:08 +07:00
Roman Fomin
550ceb4b3f CI: x-gha extension is deprecated, so we cache the vcpkg build ourselves. 2025-04-28 11:14:48 +07:00
Fabian Greffrath
b271de8949 replace a bool instance with proper boolean 2025-04-24 18:02:29 +07:00
Roman Fomin
4c6e114939
update TRAKINFO records (#2248) 2025-04-18 11:01:12 +07:00