Commit graph

22138 commits

Author SHA1 Message Date
Dileep V. Reddy
2c4ac886aa Stacked sector portals now render for OoB viewpoints. 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
dc5a250797 Reflective flats now work with OoB viewpoints, including ortho. Had to create a new type of portal stencil for the HWPlaneMirrorPortal. Stacked sector portals could be made to work the same way, but there are clipper issues, revealing out-of-view sections of the map on the other side. Hence sector portal rendering is still disabled in OoB viewpoints. 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
0acfd9661b Making 3D-floors respond to r_dithertransparency properly. 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
42947d04dc Added visual rendering for LinePortals and SkyPortals for OoB viewpoints. SkyPortals will be stenciled, and will always use perspective projection. Disabled interpolation when portalgroup changes (portal transition occurs) if viewpoint is OoB (was necessary for fog of war when r_radarclipper is set to true). Tightened up radar clipper by making it more aggressive. Voided walls wont' get filled in by a floor or ceiling sky (because of the stencil). Ceiling sky will be half-infinitely tall upwards, and floor sky will be half-infinitely tall downwards. Use only floor skies and a good GLSKYBOX for top-down/isometric cameras. Level.ReplaceTextures("F_SKY1", "SKY1", TexMan.NOT_FLOOR); (zscript) is a nice trick for WorldLoaded(). 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
2223ea6227 3D floor flats now respect r_dithertransparency flag (how did this make it into vkdoom but not gzdoom?) 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
232b93534d Better flat visibility checks for Ortho projection. 2025-03-05 12:54:34 -05:00
Boondorl
94be307225 Netcode Overhaul
Rewrote netcode to be more stable and functional. Packet-server mode has been restrategized and will now be the default netmode when playing with 3+ non-LAN players. TryRunTics has been cleaned up with older tick control behavior removed to account for the rewritten renderer. The main thread is now more consistent when playing online to prevent potential slow downs and lock ups. Load barriers are better accounted for to prevent spikes on level transition. Improvements to chat and lobby systems including a force start game button. Added a suite of new host options such as kicking and controlling who can pause the game. Max players increased from 8 to 16 since the new code can now handle it.

Note: Demo functionality is untested. This will be rewritten at a later time alongside improvements to GZDoom's playback features (e.g. freecam mode).
2025-03-05 12:52:52 -05:00
Ricardo Luís Vaz Silva
abfd91e8f1 stop game from getting stuck in chat mode if the main menu is open 2025-03-05 12:07:19 -03:00
Ricardo Luís Vaz Silva
a09dba6b8b fix crash if chat key is pressed during the loading screen 2025-03-05 12:07:19 -03:00
Ricardo Luís Vaz Silva
909d211137 rename vm internal structs to make room for compilation-unit-internal structs/classes 2025-03-05 12:07:19 -03:00
Ricardo Luís Vaz Silva
0d963166f1 Allow >> in parser for aggregate types
makes stuff like Array<Class<X>> parse properly (bit hacky but can't do much better without restructuring the scanner/lexer)
2025-03-05 12:07:19 -03:00
Ricardo Luís Vaz Silva
7685553af8 4.14.1 accepts 4.15, bump version to 4.15.1 2025-03-03 08:28:59 -03:00
Ricardo Luís Vaz Silva
02523b1f90 restrict internal structs to gzdoom.pk3 2025-03-02 17:48:03 -03:00
Ricardo Luís Vaz Silva
93c8af32ca allow deprecation of classes/structs, deprecate Dictionary 2025-03-02 17:48:03 -03:00
Ricardo Luís Vaz Silva
35c44c7e21 don't allow backing types of string/array/map/etc to be referenced as actual types 2025-03-02 17:48:03 -03:00
Ricardo Luís Vaz Silva
e8b7a30a79 add better descriptive name for vectors/quats 2025-03-02 17:48:03 -03:00
Ricardo Luís Vaz Silva
6b8736fb30 rework how vector local type restrictions are managed 2025-03-02 17:48:03 -03:00
Rachael Alexanderson
f1b5ba09e0
Update README.md
update copyright year
2025-02-28 02:38:42 -05:00
Rachael Alexanderson
b0d6f143f6
- fix classic doom.doom filter 2025-02-27 12:57:02 -05:00
Rachael Alexanderson
52a54521ed
- fix erroneous check in previous commit 2025-02-25 12:59:23 -05:00
Rachael Alexanderson
e5cf79fecb
- don't load idres24.wad in multiplayer games by default; allow override with cvar setting 2025-02-25 12:55:38 -05:00
Rachael Alexanderson
538f62a556
- renormalize normals on scaled models 2025-02-22 13:22:41 -05:00
Rachael Alexanderson
cb4acf9192
- language update 2025-02-22 12:03:07 -05:00
Ricardo Luís Vaz Silva
d9c224439d don't allow changing out-ness of parameters in virtual overrides 2025-02-21 02:17:54 -03:00
inkoalawetrust
645dbcfa51 Made the BFG and EXPLOSIVE weapon flags usable.
- Made the BFG and EXPLOSIVE weapon flags usable again.
- Marked the appropriate weapons with them for the 3 main supported games.
2025-02-20 20:37:20 -03:00
inkoalawetrust
286371791a Made MTF_NOINFIGHTING work. 2025-02-20 18:32:37 -03:00
Ricardo Luís Vaz Silva
7bdffa2592 fix OptionMenuItemCommand::DoCommand for new 4.15 keyword 2025-02-20 05:21:45 -03:00
Boondorl
f9dcda91d7 Update ZScript version to 4.15 2025-02-20 04:35:15 -03:00
Ricardo Luís Vaz Silva
ad579a8e43 add unsafe clearscope, to allow declaring clearscope fields outside of gzdoom.pk3 2025-02-20 04:18:29 -03:00
Ricardo Luís Vaz Silva
7e86116ab1 make const actually work, and add unsafe(const) for old behavior 2025-02-20 04:18:29 -03:00
Boondorl
236c9b4224 Added FindClass
Allows for classes to be looked up during run time without having to use string casting.
2025-02-20 04:14:18 -03:00
marrub
9f6c1d65c5 add default cvar getters 2025-02-20 04:14:07 -03:00
f7cjo
f1e6445e82 Add GetSelfObituary 2025-02-20 04:13:56 -03:00
inkoalawetrust
b54da619ad Added spawn origin flags.
- Added new spawn flags that allow for checking if an actor was spawned by the level, the console, or ACS/DECORATE/ZScript.
2025-02-20 04:13:36 -03:00
Boondorl
606bc1d04e Added versioning for Behaviors 2025-02-20 04:12:46 -03:00
Boondorl
7a4927fdf5 Added TransferredOwner virtual
Allows for proper cleaning up of behaviors when moving between Actors. Important for player respawn handling and morphing.
2025-02-20 04:12:46 -03:00
Boondorl
7efd301810 Clean up for Behavior API
Use TObjPtr to improve null checking. Add option to clear only specific kinds of Behaviors. Fixed removal checks while ticking. Don't stop at now-null behaviors when iterating.
2025-02-20 04:12:46 -03:00
Boondorl
1e05bb2a55 Clean up behaviors properly when moving levels
Also adds support for foreach loops with the behavior iterator.
2025-02-20 04:12:46 -03:00
Boondorl
ad87477650 Make DBehavior final
Specifics should be implemented in ZScript.
2025-02-20 04:12:46 -03:00
Boondorl
3d6506df5b Added owner type parameter to iterator 2025-02-20 04:12:46 -03:00
Boondorl
14f7a10ae6 Added global iterator for behaviors
Imported Behaviors to the engine to allow them to properly clean up their level list. Restrict Behaviors from being new'd in ZScript as they need an owner to function.
2025-02-20 04:12:46 -03:00
Boondorl
e27bf38165 Added behavior iterator for Actors
Renamed Readded to Reinitialize.
2025-02-20 04:12:46 -03:00
Boondorl
08de93b2fa Fixed missing ref in MoveBehaviors 2025-02-20 04:12:46 -03:00
Boondorl
f301e6cc0f Improve Behavior Tick() behavior
Collect all objects first to account for the map being modified mid-iteration.
2025-02-20 04:12:46 -03:00
Boondorl
bd60fd7546 Added initial Behavior API
Allows for arbitrary behaviors to be attached to Actors in a way that doesn't require the use of Inventory tokens. This list can't be freely modified nor can it have duplicates meaning it has far better deterministic behavior than using Inventory items for this purpose.
2025-02-20 04:12:46 -03:00
Chronos Ouroboros
7d180069e3 Fix FxExpression::EmitCompare not properly handling constant registers. 2025-02-17 07:53:27 -03:00
Rachael Alexanderson
e01297803a
- language update 2025-02-16 00:29:50 -05:00
Boondorl
fdd2a90545 Fixed ammo and backpack with local items on
Now avoids duplicate calling CreateCopy
2025-02-14 13:43:58 -05:00
Boondorl
a7d4d409a0 Added PlayerRespawning event
Allows denying player respawns for better control on special game modes e.g. Last Man Standing.
2025-02-14 03:49:56 -05:00
Boondorl
567a180d2b Added is3DFloor parameter to SpecialBounceHit
Allows for better plane bounce handling e.g. flipping the normal.
2025-02-11 20:49:39 -03:00