* Add test pooling and global test setup
* WIP test pooling changes
* Make asynchronous tests the default again
* Finish fixing tests, make test threads background threads
* Un-pool tests with custom cvars
* Fix not changing FailureLogLevel cvar on instance return
* Fix error when overriding already overriden cvar
* Don't pool some physics integration tests
* Unpool engine tests, the technology just isn't there yet
* Remove explicit Pool = false from physics tests
* Change default pooling setting to false
* Didn't need this anyway
* Remove ConfigurationManager.ResetOverrides
* Bring back enum cvar override parsing
* Make integrationInstances name clearer > notPooledInstaces
Make clients ready and servers ready internal
* Add logging test instances
* Give more info on ran tests
* Show total clients and servers in test output
* Wipe LayerMap on SpriteComponent.AfterDeserialize
* Fix server not properly kicking clients
* Rider shut
* Make all test metrics report totals
* Format tests ran better
* Replace Console.WriteLine with TestContext.Out.WriteLine
* Fix two server test pooling info prints using total clients instead of total servers
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Fright night
* Shitty bounds working
* No more fixture leak
* Optimise TryFindGridAt
Should be O(1) now instead of the previous O(n) for number of fixtures
* ambush
* Merge stuffies
* Merge to master
* Fixes I guess
* Fix client sync
* Fix grid deserialization
* Jank test
* Fix deferral shitfuckery
* Optimise and remove
* Fixes
* Just werk dam u
* Optimisations
* Bunch of fixes
* FINALLY IT'S DONE
* Fixes
* Fix
* Comment
* Split entity lookups from entitymanager
* Helps if you subscribe dingus
* Handle map changes
* Stacks instead
* Make mapchanges use a queue because it's probably better
Moves likely only care about the latest position
* IoC what you did there
* IoC refactor
* Minor optimisations
* Apply feedback
* My IQ dropped 3 sizes that day
* Rest of acruid's feedback
* final_no_actual commit
* enlightenment?
* Liftoff
* final_commit_v2_actual
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Added new ComponentEventBus, combined it with IEventBus.
* Removed all traces of IEntity from ComponentDependencies.
Removed IEntityManager dependency from ComponentManager.
* Added entity create/delete events to IEntityManager.
* ComponentEvents now use EntitySystemMessages instead of their custom ComponentEvent class.
* Component events are now just overloads of entity events.
* Removed obsolete EntitySystemMessage, now everything uses the base EntityEventArgs.
* Add a bool argument for if the message should be broadcast as well as directed.
Fix ordering and init issues of events in EntityManager.
* Changed names from Component/Entity events to Directed/Broadcast.
* Fix bugs and unit tests.
* Removed the Interfaces folder.
* All objects inside the GameObjects subfolders are now in the GameObjects namespace.
* Added a Resharper DotSettings file to mark the GameObjects subfolders as not providing namespaces.
* Simplified Robust.client.Graphics namespace.
* Automated remove redundant using statements.
* Attempted Clyde cleanup, didn't get far.
* Add negation operator to Vector2i.
* Add RenderOrder to ISpriteComponent.
* Post process shaders.
Adds "post process" shaders to sprite component.
These are executed on the WHOLE sprite component (every layer)
in one draw.
This is necessary to implement functional outlines.
* Server works if not connected to a tty.
* Rich presence does not run IoC resolution at runtime anymore.
* Work towards integration tests.
Mostly work related to making it so the server and client can run in
parallel, and allowing more control over main loop for testing.
* Lots of code relating to integration tests.
* Added a new special MetaDataComponent to store entity data that isn't specific to a component.
* Adds ExposeData to MetaDataComponent.
Name of the entity now defaults to the prototype name.
* EntityStates changed so that the list of networked components is not sent every tick for a modified entity.
* Code cleanup & doc comments.
* MetaDataComponent Name and Description are taken from the prototype before storing them in the component.
* Adds the EntityState serializer benchmark. This isn't a test, but is really useful.
* Redesigned the logic in ServerGameStateManager.
* Adds MetaDataComponent registration to the UnitTesting project.
RobustToolbox projects should be named Robust.*
This PR changes the RobustToolbox projects from SS14.* to Robust.*
Updates SS14.* prefixes/namespaces to Robust.*
Updates SpaceStation14.sln to RobustToolbox.sln
Updates MSBUILD/SS14.* to MSBUILD/Robust.*
Updates CSProject and MSBuild references for the above
Updates git_helper.py
Removes Runserver and Runclient as they are unusable