Commit graph

22,465 commits

Author SHA1 Message Date
Boondorl
86375c1b79 Move travelling to two-step system
Mark Actors meant to travel early so their flag can be written into the snapshot, followed by moving them over all at once at the same time as previously. On finish, destroy any marked Actors to prevent duplication in hubs. Switch to a unique function that does the verification instead of ChangeStatNum and lock out STAT_TRAVELLING entirely since it shouldn't be used for regular gameplay.
2025-08-02 17:35:16 -03:00
Boondorl
00d2b43ce0 Remember statnum when travelling
Also cleans up the functions a little.
2025-08-02 17:35:16 -03:00
Boondorl
d7d71177d7 Reworked Travelling logic
Added safety barriers for STAT_STATIC and STAT_TRAVELLING to avoid potential exploits. Properly clear all internal fields pointing towards non-read barriered data and always relink properly when finishing travelling. Moved ZScript callback to after travelling has finished for all Thinkers, that way everything is initialized correctly.  Allow arbitrary thinkers (excluding native ones) to be added to the travelling list (for Actors, their positioning will need to be handled by modders). Ensure lights get re-enabled after travelling.
2025-08-02 17:35:16 -03:00
Marcus Minhorst
7ccd0dd3cd Fix oboe 2025-08-02 15:04:34 -03:00
Boondorl
1fd267a96a Improved Object handling while predicting
Added a warning if a networked Object or non-client-side Thinker was erroneously destroyed manually while predicting. This only applies to ZScript since this is the only place it's relevant. Added a warning if a non-client-side Thinker was spawned while predicting. Sweep objects before backing up while predicting to ensure invalid pointers aren't captured.
2025-08-02 15:03:18 -03:00
nashmuhandes
346f4c0e87 Add gl_weapon_purelightlevel to make view weapon sprites/models match sector light levels purely 2025-08-02 12:00:50 -04:00
Rachael Alexanderson
d72ae6d14b
- implement impure's changes to discordrpc to use crt allocator to prevent crashes with newer versions of cmake 2025-08-02 11:55:24 -04:00
Rachael Alexanderson
abb52b43ab
Merge pull request #3272 from the-phinet/workflow
Minor workflow fix
2025-08-02 11:28:29 -04:00
Marcus Minhorst
c9abd4966e change apt to apt-get 2025-08-02 11:16:16 -04:00
SAN4EZDREAMS
0418bec4b1
Menudef bool arguments expect integers Fix 2025-08-01 17:53:05 -03:00
alexey.lysiuk
2db3f7bc45 - fixed build with system-wide ZMusic intallation
tools/zipdir/zipdir.c:47:10: fatal error: 'miniz.h' file not found
2025-08-01 11:54:27 +03:00
Rachael Alexanderson
e5f42ab2d2
Merge pull request #3264 from madame-rachelle/submodules
Subtrees for ZMusic and ZWidget
2025-07-31 04:12:36 -04:00
Boondorl
d6ead264ed Fixed +playerclass not being respected when new players join a save 2025-07-31 04:11:22 -04:00
Sally Coolatta
4cc5fe942d Save/Load menu: Add delete bind for gamepads 2025-07-30 12:56:06 -03:00
Rachael Alexanderson
e4a77cf8be
Create SECURITY.md 2025-07-30 02:55:41 -04:00
Rachael Alexanderson
34c2d4f917
Squashed commit of the following:
- add submodule update scripts
    - remove auto-setup scripts, they don't work anymore
    - copy zmusic.dll into build folder (this may need to be also done on Linux sometime)
    mirror changes from commit '194fb9e' at https://github.com/dpjudas/vkdoom
    - fix for case sensitive systems
2025-07-30 01:25:09 -04:00
Rachael Alexanderson
054baa3b5e
- remove external zmusic checkout from the ci 2025-07-30 00:41:16 -04:00
Rachael Alexanderson
dbdc3e8670
- no more need for zmusic binary blobs 2025-07-30 00:38:50 -04:00
Rachael Alexanderson
397976738f
- integrate zmusic into normal build process 2025-07-30 00:37:50 -04:00
Rachael Alexanderson
8f1f0d5a02 Merge commit '9f3cb3d92e' as 'libraries/ZMusic' 2025-07-30 00:24:15 -04:00
Rachael Alexanderson
9f3cb3d92e Squashed 'libraries/ZMusic/' content from commit ac3e232b00
git-subtree-dir: libraries/ZMusic
git-subtree-split: ac3e232b001129c740b7b65196ae0e1b13b82513
2025-07-30 00:24:15 -04:00
Rachael Alexanderson
404123a22e Merge commit 'd9b2c00228' as 'libraries/ZWidget' 2025-07-30 00:09:28 -04:00
Rachael Alexanderson
d9b2c00228 Squashed 'libraries/ZWidget/' content from commit 96501b6ef1
git-subtree-dir: libraries/ZWidget
git-subtree-split: 96501b6ef11e8737cd8ccb2451395115b810dfcc
2025-07-30 00:09:28 -04:00
Rachael Alexanderson
3dbe3bd8e0
- remove zwidget local copy to be included later as a subtree 2025-07-30 00:05:20 -04:00
Rachael Alexanderson
9d92686c0a
- language update 2025-07-29 23:53:44 -04:00
drfrag
ecc8701260 - Fix crash in FileSystem::ReadFile when loading empty lumps. 2025-07-29 08:20:20 -04:00
Boondorl
b6b3c311e1 Export DecalBase
Allows setting this between Actors with type safety. Now also serializes these fields.
2025-07-28 15:24:04 -03:00
Boondorl
4acc5f2a7d Lock down MessageBox handler 2025-07-28 14:36:54 -03:00
Boondorl
a4ed63033e Fixed quick save rotator breaking save logic
The game should only ever save during the gameplay loop and never on the spot. Also fixes the quick save rotator skipping certain checks.
2025-07-28 02:50:10 -04:00
nashmuhandes
21ba4e6ab0 Add missing item tags for items in Doom and Chex Quest. There are mods out there that read tags. The accompanying language entries have been sent to the localization spreadsheet. 2025-07-27 17:34:08 -03:00
Marcus Minhorst
05f19f4ac0 Fixed oob array access when using m_use_mouse=1 2025-07-27 17:33:44 -03:00
Marcus Minhorst
9a6569a916 Added option to disable sound when moving cursor by hovering. 2025-07-27 17:33:44 -03:00
Marcus Minhorst
cbe710b549 Added option to disable sound when moving cursor by using scrollwheel. 2025-07-27 17:33:44 -03:00
Boondorl
9a4c2dc111 Ensure BlockingMobj checks don't fail on destroyed Actors when handling physics 2025-07-27 17:18:53 -03:00
Boondorl
12fac42bab Mark appropriate voidptr fields as readonly 2025-07-27 03:56:33 -04:00
Marcus Minhorst
87ad07f298 Added SDL HoldingQueryKey implemenation
Co-authored-by: Boondorl <boondorl@live.com>
2025-07-26 21:59:16 -03:00
Marcus Minhorst
b568cbfd17 Added release notes for previous version 2025-07-26 21:57:11 -03:00
Boondorl
66c5beccbd Added UUID for game sessions
Allows the SavegameManager to destroy all saves related to the current UUID session so hardcore mods can enforce this safely instead of needing to go nuclear.
2025-07-26 11:43:59 -03:00
Boondorl
443e899759 Fixed assert in P_GeometryRadiusAttack
Clamp the floor to the ceiling so malformed sectors don't break height checking.
2025-07-25 04:18:59 -03:00
Ricardo Luís Vaz Silva
9b44f2315d fix BlockingMobj ignoring the GC and possibly becoming a stale pointer 2025-07-24 06:23:32 -03:00
Boondorl
f0283a7773 Added -optfile argument
Allows specify optional files from the commandline (note: this currently isn't hooked up to the filesystem proper for marking, this is purely for the file parsing until then).
2025-07-23 01:03:02 -03:00
Boondorl
9731a82b7c Added ability to stop PWADs from autoloading IWADs
This will be useful for accessing the multiplayer tab and also allows accessing settings like language before auto booting up.
2025-07-23 00:40:36 -03:00
Boondorl
7d1f2df404
Added scale and alpha interpolation
Similar to angles, needs to be enabled via flags to prevent breaking existing sprites.
2025-07-22 11:35:20 -03:00
Chris Robinson
f17f732b7a Handle the sample type passed to S_CreateCustomStream 2025-07-22 11:21:18 -03:00
Chris Robinson
e902ad62fa Consolidate code to get the OpenAL format 2025-07-22 11:21:18 -03:00
Chris Robinson
c5910976d2 Use the new ZMusic_GetStreamInfoEx function 2025-07-22 11:21:18 -03:00
nashmuhandes
47f6f4cb1c Allow the blood splat decal distance to be customizable in MAPINFO's GameInfo block 2025-07-22 10:37:22 -03:00
Rachael Alexanderson
7d2d874afb - allow voodoo dolls to trigger lock messages 2025-07-22 10:36:16 -03:00
Ricardo Luís Vaz Silva
d17a4fd221 fix angled roll if xy billboard is enabled 2025-07-22 10:36:07 -03:00
Dileep V. Reddy
19291c5e5c Sprite lean/angled roll with geometric consistency in multiplayer and mirrors. An ANGLEDROLL flag ties actor's sprite-rolling axis to physical direction instead of viewpoint. Y-Billboarding occurs about a rolled axis (unlike flatsprites which don't billboard). This makes roll consistent when viewed from all angles and in reflections. Useful for sprite-based laser beams and lean mechanics with third-person cameras and/or multiplayer mods. 2025-07-22 10:36:07 -03:00