Commit Graph

3299 Commits

Author SHA1 Message Date
Pieter-Jan Briers
cb563c75fd Update map loader to work with grid entities. 2019-12-28 03:22:09 +01:00
Pieter-Jan Briers
472bd67ace Fix edge sliding.
The "too close" threshold on Transform WorldPosition set was way too high, so the low movement speed when edge sliding was seen as not moving at all.
2019-12-24 15:26:23 +01:00
Pieter-Jan Briers
2f94beb4b5 Fix ContainerManagerComponent.ContainsEntity not returning correct results for multiple containers. 2019-12-24 15:16:14 +01:00
Pieter-Jan Briers
47d4a8f628 Improve ModLoader to fix loading issues for Dapper.dll 2019-12-24 02:52:38 +01:00
Pieter-Jan Briers
3c08f56619 Sprite orientation improvements (#917)
* Fold animation delays into a single set for all directions.

* Update systems to use new RSI animations API.

* Fetching layer directions now done in sprite render.

* Allow overriding direction in SpriteView.
2019-12-24 01:15:44 +01:00
Pieter-Jan Briers
761b06d68a Add threading assertions to IoCManager. 2019-12-22 21:47:00 +01:00
Pieter-Jan Briers
2b037c3bf2 Synchronize containers to the client. 2019-12-22 21:43:03 +01:00
Pieter-Jan Briers
f2c8b343bb Fix initialize not getting called for components added during initialize. 2019-12-22 21:42:30 +01:00
Pieter-Jan Briers
531cfeb9e6 KVPair<K, V> now shows in VV. Client only. 2019-12-22 21:38:21 +01:00
Pieter-Jan Briers
21b29e26e2 Fix a bunch of warnings. 2019-12-22 13:50:29 +01:00
Pieter-Jan Briers
2b8645b60f Fix some Robust.Server namespaces in Robust.Shared. 2019-12-22 13:40:43 +01:00
Acruid
f5c0dba194 Map & Grid Entities (#916)
* Adds Map components to the ECS system.

* Grid entities are now created along with map grids.
Grid components are now properly reused from map deserialization when a grid is created through the MapManager.

* Make MapGridComponent shared.
Don't send Nullspace default grid to client, they have their own.
Properly link the new grid with the entity sent from the server.

* Fixes nullRefException when ToString() is called on an Entity with no Prototype.

* Adds logging debug info about binding a map/grid to an entity.
Nightly Commit.

* Client map networking now properly pivots a grid from the client entity to the shared entity.
Added IMapGridComponent.ClearGridId() to properly dissociate the component from a grid before deleting it.
WorldPosition of a default grid is always 0,0 regardless of the entity transform (if any).
Nullspace map and default grid are not bound to an entity.
Nullspace map and default grid cannot be deleted.

* Map Entities are now created along with new maps.

* Client & Server load with new scene hierarchy.

* Fix rebase damage.

* Added ContainerHelpers helper class.

* Fix Container checks.

* Fixed clothes.

* Fixing unit tests.

* Removed disabled code.

* Actually initialize and startup the Map and Grid entities.
2019-12-21 22:11:17 +01:00
Acruid
2c7630f4f1 Adds assertions in various places to make sure entities are being initialized properly before the game state is built. 2019-12-19 11:16:43 -08:00
Pieter-Jan Briers
610bfea95c Clyde improvements.
Reduced the amount of buffer data calls to the OpenGL driver significantly, cleaned some code up to make it easier to extend Clyde.
2019-12-18 12:21:52 +01:00
Pieter-Jan Briers
6c0c395dc7 Remove lite stuff from Clyde. 2019-12-17 19:25:05 +01:00
Pieter-Jan Briers
99f96aee27 Remove Robust.Lite 2019-12-17 16:09:55 +01:00
Pieter-Jan Briers
d075c82041 Switch to C# 8 2019-12-17 16:06:46 +01:00
DamianX
f71d72d88c Added Sqlite dependency (#915) 2019-12-17 15:58:21 +01:00
Acruid
df34ce025a Entities now require a location when being spawned. 2019-12-16 21:43:24 -08:00
DamianX
5ff164e762 Expose IWritableDirProvider.RootDir (#913)
* Expose IWritableDirProvider.UserDir

* Update WritableDirProvider.cs
2019-12-16 09:56:37 +01:00
Pieter-Jan Briers
9f7a1e066b Try to fix crash loop on game server 2019-12-16 01:03:55 +01:00
Pieter-Jan Briers
58dcea5bda Try to fix AppVeyor. 2019-12-15 22:31:29 +01:00
Pieter-Jan Briers
3f0032911a Try to fix travis.. 2019-12-15 22:28:33 +01:00
Pieter-Jan Briers
c8c17da176 Remove reference to System.Net.Http. 2019-12-15 22:26:48 +01:00
Pieter-Jan Briers
08ba611fe6 Forgot to commit the travis script. 2019-12-15 22:24:33 +01:00
Pieter-Jan Briers
7442f52297 Try to fix CI. 2019-12-15 22:22:24 +01:00
Pieter-Jan Briers
ba80ba5cc1 Try to fix CI. 2019-12-15 22:17:18 +01:00
Pieter-Jan Briers
1db0694541 Try to fix CI. 2019-12-15 22:13:54 +01:00
Pieter-Jan Briers
f6b894f274 .NET Core time. 2019-12-15 16:01:08 +01:00
Pieter-Jan Briers
52e5afd277 Switch to GLFW for windowing (#914)
* Use GLFW instead of OpenTK windows

* Seems to work pretty well now.

* Fix stackalloc issue on Framework.

* Add GLFW project to sln.

* Fix package downgrade.

* Fix SLN more.

* Please work.

* Fix C# version error.
2019-12-15 15:53:30 +01:00
Pieter-Jan Briers
1899544500 Server optimizations.
1. NetManager.IsConnected no longer uses LINQ.
2. creating net messages for sending/receiving now uses cached DynamicMethods to improve speed (bypasses Activator.CreateInstance and params allocations)
3. Entity.GetComponentStates uses GetNetComponents now.
4. PhysicsManager allocates significantly less now.
2019-12-11 17:08:46 +01:00
Pieter-Jan Briers
f893d308ad Cut cruft from DebugCoordsPanel. 2019-12-11 07:50:19 +01:00
Pieter-Jan Briers
2fc8e6af46 Remove dependency on ConcurrentDataStructures by pulling in their PriorityQueue<T> implementation. 2019-12-11 07:16:52 +01:00
Pieter-Jan Briers
3095952dcb Use our own SpaceWizards.SharpFont for better .NET Core support. 2019-12-11 06:46:26 +01:00
Acruid
ea8e5e9fe7 EventBus Refactor (#909)
* Extracts the ECS event system out of EntityManager, and into a new class called EventBus.
XML Docs and full test coverage for EventBus.
2019-12-08 19:36:52 -08:00
Pieter-Jan Briers
026f6cb118 Use new icon 2019-12-06 17:38:08 +01:00
Pieter-Jan Briers
12787db8de Avoid crash in Clyde if the GLSL compiler optimizes out uniforms. 2019-12-06 02:29:58 +01:00
Pieter-Jan Briers
31fb926127 Remove selection outline code from ClickableComponent 2019-12-06 01:18:37 +01:00
Pieter-Jan Briers
66ea13684b Remove GameScreen from engine. 2019-12-06 00:40:37 +01:00
Pieter-Jan Briers
69ff3638ba Make framegraph not catch clicks. 2019-12-06 00:10:14 +01:00
Pieter-Jan Briers
6cfe6caae2 guidump lists attached properties. 2019-12-05 15:37:11 +01:00
Pieter-Jan Briers
ab1f4fb0e7 UI layout v2. (#908)
* UI layout v2.

All controls now act like containers.
Moved anchor/margin layout model to LayoutContainer

Implement basic WPF-like attached properties for the above LayoutContainer.

* Fix VV.
2019-12-05 13:37:58 +01:00
Pieter-Jan Briers
9b15070126 Remove allocations from PhysicsSystem HandleMovement.
LINQ is bad alright.
This removes approx 20% of allocations on the server.
2019-12-04 13:48:45 +01:00
Pieter-Jan Briers
4eb100076d Entity spawn window no longer lags when opening. 2019-12-04 13:26:37 +01:00
Pieter-Jan Briers
6156a9eae8 Fix crash on detaching from deleted entity. 2019-12-04 02:16:20 +01:00
Pieter-Jan Briers
2e762fbaf4 Give RSISchema.json a logical name in the csproj.
This *should* fix random occurrences of the compiler putting it somewhere else and the schema failing to load.
2019-12-01 15:15:57 +01:00
Pieter-Jan Briers
dec9ea744d Static localization manager class for convenience. 2019-12-01 15:13:00 +01:00
Pieter-Jan Briers
89094458cd Add documentation to ILocalizationManager 2019-12-01 15:12:35 +01:00
Pieter-Jan Briers
31adf9e4fc Mention thread locality in IoCManager documentation. 2019-12-01 15:12:06 +01:00
Pieter-Jan Briers
563cc262cb Add !Deleted assertion to Entity.GetComponent() 2019-12-01 15:08:53 +01:00