Fixes#1434
This means that adding support for new architectures (e.g. ARM) is MUCH easier.
It removes download_natives.py which simplifies the build process.
It's also way less painful to maintain.
* Numerics helpers
* Comments
* Reuse naive methods for remainders.
* Do naive operation if array length is under 4.
* NumericsHelpers takes in Span, can store elsewhere
* Make some spans read-only
* Enabled static property to disable/enable hardware accelerated paths.
* AVX support.
* welp
* .
* environment variable to disable simd
* Adds ARM support (AdvSimd)
* Fix AVX horizontal sum
* Add unit tests
* NET 5.0 moment
* RemoteExecutor moment
* Add nuget.config to the UnitTesting project only
* Add "ROBUST" prefix to env vars
* Better naming for array length utils
* Revert "Add nuget.config to the UnitTesting project only"
This reverts commit 1d474ff33d.
* Ignore ARM tests, remove #if NET5_0
update a bunch of packages and use JetBrains.Annotations as private asset as needed
mark some hot math methods agg inline to benefit from loop opts
use FMA for interp
use canny min/max/clamp
make Quaternion NormalizeAngle fixed time and faster
clean up YamlDotNet references
* Project file refactor
Move all the .csproj files to the new .NET Core style.
This doesn't make any difference for compiling for Framework,
but it does reduce a ton of useless boilerplate.
As an extension of this, killed a bunch of uncompiled & unmaintained .cs files.
Compiling for release (to profile) works now.
Removed AnyCPU targets from the solution file.
* Fix compiler warnings.
* Retrofitted ComponentManager_Test to use DependencyCollection.
* Renamed ComponentManager_Test to ComponentManager_Tests to follow naming conventions.
* Added component add/remove/delete events to IComponentManager.
Removed IEntity dependency from ComponentManager.
* Entities can now be spawned without a prototype.
* Removed unused function.
* CreateEntity now actually works with a null prototype ID. The other spawn functions should work as well.
Updated doc comments for IEntityManager.SpawnEntity().
* 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.
* Split GameState processing logic out of ClientGameStateManager into the new GameStateProcessor class.
* Adds a test fixture for GameStateProcessor with a basic use test.
* More unit tests and added Extrapolated property to GameStateProcessor.
* Added centered unit box static field to Box2.
* MapGrid is more testable.
* Added some unit tests for MapGrid.
Fixed bug in MapChunk.GridTileToLocal().
MapGrid.UpdateAABB() actually expands properly now.
* Moved IMapChunk to Robust.Shared.Map.
Moved Chunk class out of MapManager class.
* Added unit tests for MapChunk.
* Bounds reduce by 1, so almost working.
* Now bound shrinking works :D
* Moved MapGrid out of MapManager.
Moved IMapGrid into the Shared/Map folder.
Replaced all calls to IMapGrid.ParentMap.Index with IMapGrid.ParentMapId.
* Added more MapGrid unit tests.
Fixed a bug in TryGetTileRef.
* 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