Commit Graph

3282 Commits

Author SHA1 Message Date
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
Pieter-Jan Briers
13ef4e8423 Various optimizations focused on the entity spawn panel:
Give BoxContainer a preset capacity to reduce allocations in layout.

Removed Control.GetChild(string) and similar. This was no longer used (and was a pretty bad idea in general), and the implementation had a lot of wasted book keeping to do.

Use UpdateLayout() instead of DoUpdateLayout() in Control minsize changed to avoid doing redundant layout, and by extension style & minsize, updates.

Used RemoveAllChildren instead of DisposeAllChildren in EntitySpawnWindow because it's faster (way less stuff to clear, just let the GC handle it).

Optimized ResourcePath with a better GetHashCode(), better Equals, replacement for List<T>.ToArray()

Fixed enumerator allocations in stylesheet SelectorElement matching to speed up style updates.

ResourceCache now caches fallbacks to avoid constructing Resource instance when fetching fallback explicitly.

ResourceCache now has nested dictionaries for Type -> ResourcePath -> BaseResource storage of resources.

Use calculated property instead of auto property for TextureResource.Fallback
2019-11-28 14:19:02 +01:00
Pieter-Jan Briers
f3669e6646 Sound system improvements.
This just makes the sound system more flexible so content can do more stuff.
2019-11-27 00:33:54 +01:00
Acruid
d9a411b260 Shared IMap/Map class removal (#904)
* Moved IMap from Shared/Interfaces/Map to Shared/Map namespace.

* Extracted Map class out of the MapManager class.

* Removed the Map class and interface.

* Fully removed the Map and IMap class.
2019-11-26 20:47:04 +01:00
Acruid
9de0c9b299 Adds the RemoveMap concommand rmmap to the engine.
Adds the RemoveGrid concommand `rmgrid` to the engine.
2019-11-25 23:13:07 -08:00
Acruid
73e89f9e27 Fixes a bug where the using the TP player command with a destination on top of a grid resulted in the player teleporting to the wrong location. 2019-11-24 15:45:01 -08:00
Peter Wedder
063c30e2bf Scrollbar minimum size (#903) 2019-11-24 11:35:52 +01:00
ShadowCommander
1263e10f5e Add exception to catch rendering deleted entities in UI (#902) 2019-11-24 10:44:42 +01:00
Pieter-Jan Briers
36822462ba Improve ray debug drawing.
Fixes unit tests.
Made ray color change if successful hit.
Made ray length based on actual ray results.
2019-11-24 00:44:47 +01:00
Ephememory
519c28cad2 Add a DebugDrawingManager for drawing server side events like Ra… (#892)
* add basis for debug drawing raycasts

* rays

* this was too much work

* i assumed you could do string object stuff. you cant.

* fixed a crash

* Greatly improved DebugDrawingManager code with a struct and list as opposed to dictionary

* change default ray debug color from green to magenta

* reviewed changes

* reviewed changes and adds network message to physicsmanager so it works without much user config
2019-11-23 13:09:48 +01:00
Acruid
e82f969589 Adds missing using statement, Master compiles again. 2019-11-22 15:04:29 -08:00
DamianX
c67a1475f9 Added Color.TryFromHex (#900) 2019-11-22 19:50:58 +01:00
Pieter-Jan Briers
1353dde41d Implement shader instances and uniforms. 2019-11-22 17:55:39 +01:00
Pieter-Jan Briers
a9ce50a6a5 Invert icon cutout.
This fixes the ugly border around the exported png.
2019-11-22 12:53:09 +01:00
ShadowCommander
134141feaf Implement SpawnRepeating (#898)
* Implement SpawnRepeating

Allows repeating timer events to be used.

* Update doc comments
2019-11-21 23:21:14 +01:00
DamianX
844e9776f3 Public YamlMappingFix (#897) 2019-11-21 20:27:19 +01:00
Ephememory
cbe2fe698a Fix window width/height being equal to 0 equal game crash (#896)
* Fix window width/height being equal to 0 equal game crash

* suggested changes
2019-11-18 19:11:55 -08:00
Pieter-Jan Briers
da440bbf28 Use new logo 2019-11-18 00:51:07 +01:00