Commit graph

9 commits

Author SHA1 Message Date
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
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
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
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
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
Christoph Oelckers
2dcd0fcda4 moved another declaration out of a global header. 2024-11-23 20:39:23 +01:00
Christoph Oelckers
4b5c74f856 - reactivated saving of sounds by name, not by index. 2020-04-13 10:32:46 +02:00
Christoph Oelckers
ef8b4c7d5e - put the state pointer serializer in a virtual function so that types.cpp can operate without any knowledge of Doom states. 2020-04-11 20:20:54 +02:00
Christoph Oelckers
7b292cca57 - split the serializer in two to keep the Doom specific parts out of the main file. 2020-04-11 20:20:53 +02:00