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
Pieter-Jan Briers and GitHub
05cdb99252
Warning fixes around IMapManager.GetMapEntityId ( #5298 )
...
* Add MapSystem.GetMapOrInvalid
This is effectively the same exact behavior as IMapManager.GetMapEntityId. Adding this so I don't have to consider whether warning fixes using MapSystem.GetMap() instead would change behavior.
* Warning fixes around IMapManager.GetMapEntityId
* Fix tests
2024-07-13 15:27:32 +10:00
Leon Friedrich and GitHub
d5c4981648
Partial MapManager refactor ( #5042 )
...
* MapManager rejig
* Update Tests
* A
2024-04-18 14:05:02 +10:00
Leon Friedrich and GitHub
1758fced75
Revert some grid/map related changes ( #4809 )
2024-01-05 13:48:43 +11:00
Leon Friedrich and GitHub
cfb88b2e8e
Arch related engine changes ( #4806 )
2024-01-04 12:18:03 +11:00
2733435218
Audio rework unrevert + audio packaging ( #4555 )
...
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com >
2023-11-27 22:12:26 +11:00
metalgearsloth and GitHub
24b0165ec9
Revert Arch ( #4613 )
2023-11-27 21:41:01 +11:00
7dce51e2cf
Arch PR two electric boogaloo ( #4388 )
...
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com >
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com >
2023-11-23 14:29:37 +11:00
metalgearsloth and GitHub
170d192791
Revert audio rework ( #4554 )
2023-11-07 09:34:09 +11:00
metalgearsloth and GitHub
d75dbc901f
Audio rework ( #4421 )
2023-10-29 14:58:19 +11:00
DrSmugleaf and GitHub
b737ecf9b3
Add generic EntityUid, remove some usages of .Owner ( #4498 )
2023-10-19 12:23:48 -07:00
Leon Friedrich and GitHub
7476628840
Give map and grid entities a default name ( #4464 )
2023-09-30 14:09:37 +10:00
metalgearsloth and GitHub
f2c2750f8c
Gridtree ECS ( #4109 )
2023-06-10 18:15:04 +10:00
metalgearsloth and GitHub
4af1728da4
use ISawmill on mapmanager ( #4123 )
2023-06-07 20:40:01 +10:00
Leon Friedrich and GitHub
34adf454c5
Slight map manager cleanup ( #4083 )
2023-05-24 11:25:16 +10:00
Leon Friedrich and GitHub
a284159a18
Remove MapId serializer and rename WorldMap to MapId ( #3872 )
2023-03-27 22:38:36 +11:00
Leon Friedrich and GitHub
b09ddf986c
Remove nullspace logic from CreateEntityUninitialized ( #3600 )
2022-12-25 22:37:09 +11:00
metalgearsloth and GitHub
3c168f5a31
Replace GridEntityId with Owner ( #3530 )
2022-12-12 14:58:41 +11:00
6b076645db
Kill NetworkedMapManager ( #3516 )
...
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com >
Co-authored-by: Paul <ritter.paul1@googlemail.com >
2022-12-11 22:00:31 +01:00
metalgearsloth and GitHub
31c4a331ab
Swap entities when a map is loaded onto an existing map ( #3511 )
2022-12-10 14:37:23 +11:00
metalgearsloth and GitHub
5e3a5a0d0c
Merge MapGrid into MapGridComponent ( #3468 )
2022-11-22 13:04:51 +11:00
Leon Friedrich and GitHub
efa0fa3f1b
Remove more "real" nullspace maps ( #3449 )
2022-11-08 13:29:56 +11:00
metalgearsloth and GitHub
4521dc37f5
Remove IMap / IMapGrid comps ( #3434 )
2022-11-04 10:12:36 +11:00
Leon Friedrich and GitHub
2b594f6356
Cache broadphases and container rejig ( #3407 )
2022-10-31 10:06:08 +11:00
Leon Friedrich and GitHub
1e843bf3a2
More Transform ECS ( #3368 )
2022-10-30 03:36:23 +11:00
Leon Friedrich and GitHub
e534fcd800
Unrevert "Remove obsolete GridId and all references to it" ( #3279 )
2022-10-10 08:41:58 +11:00
metalgearsloth and GitHub
818ea1a629
Revert "Remove obsolete GridId and all references to it" ( #3308 )
2022-10-09 17:32:54 +11:00
SpaceManiac and GitHub
ebaa8d9ac3
Remove obsolete GridId and all references to it ( #3279 )
2022-10-09 16:23:40 +11:00
Leon Friedrich and GitHub
f4f2dea688
Fix load grid errors ( #3181 )
2022-08-25 23:28:29 +10:00
metalgearsloth and GitHub
2220f3e346
Fix broadphase desync ( #3078 )
2022-07-25 20:09:07 +10:00
metalgearsloth and GitHub
db3f3e5b32
Allow maps to be saved ( #3055 )
...
* Allow maps to be saved
* I hate myself
* fix?
* Fix maybe?
2022-07-25 15:30:20 +10:00
Acruid and GitHub
6b9b56ca83
Grid Components Allocate Grids ( #2597 )
...
* Deleting a map is now routed through MapComponent deletion.
* Remove map and grid deletions from map networking, just delete the entity if you want to remove the map.
* Moved the chunkSize property of created grids from the networked MapData to the MapGridComponent state.
* Remove unused IMapManager.DefaultMap property.
* Removed MapCreationTick field from MapManager.MapCollection.
* Removed _maps hashset field from MapManager.
* Removed CreatedMaps array from network MapData.
* MapGrid.ParentMapId is now derived from the bound TransformComponent, and isn't required in the MapGrid ctor.
Removed MapGrid.CreatedTick, it can be found on MapGridComponent.CreationTick.
* Remove a bunch of ApplyGameStatePre code duplication.
* Completely refactored CreateGrid.
* Adds AddComponentUninitialized to the ECS system. This allows you to access a component before it is initialized in a using block.
* Use AddComponentUninitialized to allocate a grid after the component is allocated.
* MapLoader now creates the grids after creating the map entities.
* Chunksize and TileSize properties are now actually read out of the map yaml.
TileSize has a public Setter.
* Minor cleanup.
* Moved grid allocation onto the MapGridComponent.
* Final Cleanup.
* Merge Fail.
* Fixed test, grid was getting deleted because it was empty.
* Remove DeletedChunkDatum from grid networking.
* ApplyMapGridState moved from map manager to the MapGridComponent.
2022-03-13 18:28:59 -07: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
Acruid and GitHub
8456cd90d1
Move MapGrid data from MapManager to MapGridComponent ( #2430 )
2022-02-03 13:15:06 +11:00