Commit Graph
19 Commits
Author SHA1 Message Date
Leon FriedrichandGitHub 2f8f4f2f7a Make MappingDataNode use string keys (#5783)
* string keys

* obsoletions

* Fix ValueTupleSerializer

* Release notes

* fix release note conflict

* cleanup

* Fix yaml validator & tests

* cleanup release notes

* a

* enumerator allocations

* Also sequence enumerator alloc
2025-04-18 19:01:34 +10:00
DrSmugleafandGitHub 9f73e0398a Make MappingDataNode.Equals take 2952 times less time to run when loading maps (#5781) 2025-03-27 12:52:29 +11:00
metalgearslothandGitHub 56eae5ad08 Reduce EntityManager.IsDefault allocations (#5741)
* Reduce EntityManager.IsDefault allocations

We don't actually need the MappingDataNode so we can avoid allocating the entire class per entity.

* Adjust this order
2025-03-12 19:42:08 +11:00
fbc706f37b Refactor map loading & saving (#5572)
* Refactor map loading & saving

* test fixes

* ISerializationManager tweaks

* Fix component composition

* Try fix entity deserialization component composition

* comments

* CL

* error preinit

* a

* cleanup

* error if version is too new

* Add AlwaysPushSerializationTest

* Add auto-inclusion test

* Better categorization

* Combine test components

* Save -> TrySave

Also better handling for saving multiple entities individually

* Create new partial class for map loading

* Add OrphanSerializationTest

* Include MapIds in BeforeSerializationEvent

* Addd LifetimeSerializationTest

* Add TestMixedLifetimeSerialization

* Add CategorizationTest

* explicitly serialize list of nullspace entities

* Add backwards compatibility test

* Version comments

also fixes wrong v4 format

* add MapMergeTest

* Add NetEntity support

* Optimize EntityDeserializer

Avoid unnecessary component deserialization

* fix assert & other bugs

* fucking containers strike again

* Fix deletion of pre-init entities

* fix release note merge conflict

* Update Robust.Shared/Map/MapManager.GridCollection.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* VV

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2025-02-16 21:25:07 +11:00
Leon FriedrichandGitHub afaef645b0 Fix MappingDataNode.TryAddCopy() (#5677) 2025-02-14 14:10:13 +11:00
Leon FriedrichandGitHub bdef9e3401 Fix reloading prototypes with AlwaysPushInheritance (#5612) 2025-01-31 15:38:13 +11:00
Leon FriedrichandGitHub c1789cbbaf Make MappingDataNode ordered (#4800) 2024-01-03 10:22:44 +11:00
Leon FriedrichandGitHub a137c839fc Add prototype serialization validation methods. (#4210) 2023-08-02 10:29:55 +10:00
be8147a722 serv4 (#3527)
Co-authored-by: Paul <ritter.paul1@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2022-11-27 19:23:58 +01:00
14c0c58e87 adds includedatafields to serv3 (#3101)
* adds includedatafields to serv3

* fixes some stuff and adds tests

* checks for circular include

* fix writing

* this one should fix it frfrf

* ok now this one is gonna be it i swear

* we can save a few operations here

* goofy string

Co-authored-by: Paul <ritter.paul1@gmail.com>
2022-08-29 17:16:04 +02:00
wrexbeandGitHub 2275ec9573 Update YamlDotNet (#3082) 2022-08-25 21:28:12 -07:00
Paul d60bbe9fe9 misc client optimizations 2022-04-18 22:34:49 +02:00
Paul 141b1205c6 removes some todos 2022-04-17 18:09:46 +02:00
ElectroJr cdcbb60ca7 more comments 2022-04-13 21:46:40 +12:00
ElectroJr fa1c1b8e6e better equality 2022-04-13 21:39:48 +12:00
ElectroJr 2ded835602 Make MappingDataNode.Except() not recursive 2022-04-13 21:08:59 +12:00
8491f7be24 New Serv3 api just dropped (#2605)
Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
2022-04-03 01:59:48 +02:00
de4d255841 Analyzer to enforce classes to be either [Virtual], abstract, or sealed. (#2469)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-02-05 19:31:58 +01:00
DrSmugleafandGitHub 3e28b083b9 Cleanup serialization markdown, add extensions for easier mapping node manipulation (#1738) 2021-05-04 13:01:07 +02:00