Commit Graph

37 Commits

Author SHA1 Message Date
Pieter-Jan Briers
fb54d0df1c Remove usages of Newtonsoft.Json outside StatusHost 2022-01-09 11:53:06 +01:00
Pieter-Jan Briers
d5199ec459 Update NuGet packages. 2021-02-25 12:06:05 +01:00
Pieter-Jan Briers
fd4f45e670 Use NuGet packages for engine natives.
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.
2020-12-13 00:46:23 +01:00
Pieter-Jan Briers
6296171b63 Move some shared engine properties to a new msbuild file. 2020-11-28 18:05:16 +01:00
Pieter-Jan Briers
124b447428 Update NuGet packages.
Most notably YamlDotNet which has performance improvements for large files such as our map files.
2020-11-26 02:19:11 +01:00
Víctor Aguilera Puerto
6b780c55fd Numerics Helpers: SIMD accelerated array math methods (#1380)
* 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
2020-11-25 10:47:38 +01:00
Pieter-Jan Briers
2ca5d30e9d C# 9.
Insert glasses joke here.
2020-11-24 00:50:38 +01:00
Acruid
64a3916c04 Added the Robust.Physics project.
Added BenchmarkDotNet to the Robust.UnitTesting project.
2020-08-09 13:43:57 -07:00
Pieter-Jan Briers
2fc6614118 Add NUnit.Analyzers analyzer
Caught numerous cases of expected/actual being mixed and even a few broken test cases in content.
2020-07-30 18:38:17 +02:00
Tyler Young
9cbdd1058c Use CannyFastMath & Update Some Packages (#1130)
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
2020-06-18 02:25:36 +02:00
Pieter-Jan Briers
aaa09881cb Enable NRTs for unit tests. 2020-06-12 17:11:32 +02:00
Pieter-Jan Briers
289938dbd1 Refactor PackLoader.
Use System.IO.Compression instead of SharpZipLib.
Unit tests.
Fixes.
2020-06-08 23:58:32 +02:00
Pieter-Jan Briers
3459e5fd0b Remove explicit x64 platform target to fix ARM64 builds. 2020-06-08 23:36:08 +02:00
Pieter-Jan Briers
76933003ad Improve native downloading spaghetti, use own Freetype on macOS 2020-01-30 13:29:19 +01:00
Pieter-Jan Briers
e7ccef53de Update NuGet dependencies. 2020-01-20 20:41:01 +01:00
Pieter-Jan Briers
d075c82041 Switch to C# 8 2019-12-17 16:06:46 +01:00
Pieter-Jan Briers
9868f186f3 Remove some unecessary NuGet dependencies. (#871)
Also made the window icon work again.
2019-09-24 12:42:59 +02:00
Pieter-Jan Briers
c16ef6ce77 Update all the NuGet packages. 2019-08-27 22:38:49 +02:00
Pieter-Jan Briers
2a08389235 Remove dependency on Smocks.ExtensionPackage.
It didn't support .NET Standard and it wasn't used anyways.
2019-08-27 22:34:32 +02:00
Pieter-Jan Briers
fc4e3be40a Replace SS14 noise dependency with FastNoise. 2019-08-07 14:51:23 +02:00
Pieter-Jan Briers
e62021cb92 Try to work around space-wizards/space-station-14#284 2019-08-03 15:07:43 +02:00
Pieter-Jan Briers
c0eca4f6c2 .NET Core support. 2019-08-02 02:07:03 +02:00
Pieter-Jan Briers
bed9a082bc Probably fix AppVeyor. 2019-07-17 13:56:01 +02:00
Pieter-Jan Briers
f2cdb0d68c File dialog API.
Only works on KDE Linux right now until I compile the natives.
I'll ship libswnfd when I got it compiled for all platforms.
2019-07-13 17:54:21 +02:00
Pieter-Jan Briers
9a4c1cae1e Networked integration tests work. 2019-06-28 16:03:58 +02:00
Pieter-Jan Briers
00f6564351 Update some NuGet dependencies. 2019-05-29 01:45:31 +02:00
Pieter-Jan Briers
bb4a1eda8e Project file refactor (#819)
* 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.
2019-05-28 00:16:01 +02:00
Acruid
61aba8fc50 Create Entities Without Prototypes (#815)
* 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().
2019-05-24 21:37:28 +02:00
Pieter-Jan Briers
f954bcb3e8 Switch to .NET Framework 4.7.2 2019-05-11 16:09:55 +02:00
Pieter-Jan Briers
d6a9343635 Make GameController created by IoC, remove GameControllerProxy. 2019-05-08 21:55:16 +02:00
Pieter-Jan Briers
cf2995437f Remove Godot support. (#805)
Let's be real, it's pretty damn broken already and will never be fixed.
2019-05-05 01:58:24 +02:00
Pieter-Jan Briers
e2c7a0086c Integration Testing Framework. (#804)
* 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.
2019-05-04 17:51:20 +02:00
Acruid
39eeab14ea Disable Extrapolation (#803)
* 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.
2019-05-03 13:26:06 +02:00
Acruid
1b3cc8aba6 Grid Bounds (#800)
* 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.
2019-04-29 12:43:20 +02:00
Acruid
5fe0bd6e55 EntityStates (#798)
* 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.
2019-04-26 15:38:56 +02:00
Pieter-Jan Briers
55fb70af8b Fix some compiler warnings. 2019-04-19 23:24:19 +02:00
Silver
25926a17b7 Renames SS14.* to Robust.* (#793)
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
2019-04-15 20:24:59 -06:00