PJB3005
788e9386fd
Split up test project
...
Robust.UnitTesting was both ALL tests for RT, and also API surface for content tests.
Tests are now split into separate projects as appropriate, and the API side has also been split off.
2025-12-16 01:36:53 +01:00
Pieter-Jan Briers and GitHub
d161c3b3b8
Add FormattedString type ( #6339 )
...
This is basically a lightweight marker type saying "this string contains markup". Intended to avoid injection accidents if people don't realize they should escape stuff.
2025-12-15 19:36:16 +01:00
PJB3005
53e1222b6b
Fix FormattedMessage not escaping text when converted to markup
...
Meant that ToMarkup() wasn't actually round-trip safe.
2025-12-15 04:58:23 +01:00
PJB3005
8580ab93a6
Dependency update
2025-12-08 00:49:37 +01:00
PJB3005
6bbeaeeba6
Fix NetBitArraySerializer compatibility.
...
Apparently NetSerializer treats IDynamicTypeSerializer and IStaticTypeSerializer differently for sealed types??
2025-12-02 00:51:04 +01:00
1bcf04ef76
Revert "Double-buffer contact events ( #6295 )" ( #6314 )
...
This reverts commit cd59027089 .
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com >
2025-11-30 16:24:55 +01:00
PJB3005
83ad6042a7
Fix BitArray serialization for .NET 10
...
Fixes #6301
2025-11-15 18:41:43 +01:00
metalgearsloth and GitHub
663b83821a
Revert "Obsolete static IoC methods ( #6232 )" ( #6296 )
...
This reverts commit 14439784dd .
2025-11-15 11:26:52 +11:00
Leon Friedrich and GitHub
14439784dd
Obsolete static IoC methods ( #6232 )
2025-11-13 21:35:14 +11:00
b15d960c69
Try improve RaiseEvent performance ( #5925 )
...
* IEventBus -> EventBus
* Fix CompIdx.RefArray
* IEntityManager -> EntityManager
* Remove double delegate
* Add GetNetCompEventHandlers()
* release notes & cleanup
* Make PVS use GetNetCompEventHandlers
* I love event bus tests
* also fix pvs pause test
* dont trimm
---------
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com >
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
2025-11-13 21:32:40 +11:00
metalgearsloth and GitHub
cd59027089
Double-buffer contact events ( #6295 )
...
* Add
* a
* Fix test
* note
* Fix reflection
2025-11-13 21:28:13 +11:00
3f19d25018
Box Simd ( #6193 )
...
* Box Simd
* Add 256 bit version of GetAABB
* Add AABB bechmarks
* No real diff between 128 & 256, so removing 256
| Method | Mean | Error | StdDev | Ratio |
|----------- |----------:|----------:|----------:|------:|
| GetAABB | 5.8107 ns | 0.0154 ns | 0.0137 ns | 1.00 |
| GetAABB128 | 0.4927 ns | 0.0003 ns | 0.0002 ns | 0.08 |
| GetAABB256 | 0.4332 ns | 0.0006 ns | 0.0006 ns | 0.07 |
* Add Box2Rotated.Transform Benchmark
* Results
20% faster and much smaller code. Also I don't think it inlined RotateVec
* Add Matrix3x2Helper.TransformBox() benchmark
new:
| Method | Mean | Error | StdDev | Code Size |
|---------- |---------:|----------:|----------:|----------:|
| Transform | 2.463 ns | 0.0766 ns | 0.0679 ns | 216 B |
old:
| Method | Mean | Error | StdDev | Median | Code Size |
|---------- |---------:|----------:|----------:|---------:|----------:|
| Transform | 9.469 ns | 0.2140 ns | 0.5408 ns | 9.206 ns | 621 B |
* Fix polygon constructor
* SlimPolygonBenchmark
* use new SimdHelper for other methods
* Fix bugs
* Use new methods
* Simd SlimPolygon.ComputeAABB
* Move simd transform to physics
* Cleanup
* Remove uneccesary Unsafe.SkipInit
* These tests all work on master
* Add Transform.MulSimd test
* Add SlimPolygon constructor tests
* Add ComputeAABB test
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
2025-11-10 18:30:08 +11:00
Nemanja and GitHub
f75ce13f00
Always align newly created entities with the grid ( #5915 )
...
* align spawns with grids
* :godmode:
* Fix comment
* fix
* release notes
2025-10-06 17:37:48 +13:00
Leon Friedrich and GitHub
ddeb78accd
Make toolshed's CommandImplementationAttribute optional ( #6218 )
2025-09-23 15:47:21 +12:00
Leon Friedrich and GitHub
912b6da20a
Fix serialization of data-records with get-only properties ( #6204 )
...
* Fix serialization of data-records with get-only properties
* even less nesting
* asserts
2025-09-17 19:11:12 +02:00
PJB3005
16fc48cef2
Hide IWritableDirProvider.RootDir on client
...
This shouldn't be exposed.
2025-09-14 14:49:13 +02:00
5cecbb2cff
Fix TransformBounds(Matrix3x2 , Box2Rotated) ( #6171 )
...
* jouneys-end
* test
* more tests
* test overkill
* i'm tired
* rip it out
* Keep method but mark it as obsolete
* Release notes
* grammar
---------
Co-authored-by: iaada <iaada@users.noreply.github.com >
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com >
2025-09-13 15:11:59 +10:00
735ef09d42
Better unsubscription for multiple ConfigurationManager subscriptions ( #6115 )
...
* feat: new method or aggregating multiple config changed subscriptions into one disposable object or more slim unsubscribing code
* refactor: moved nested private class declaration to bottom of class
* refactor: reusing stateful object in tests is not smart
* fix: invalid code for forming new array during InvokeList.Remove call
* refactor: extracted new sub-multiple builder into configuration manager extensions
* refactor: remove unused code
* refactor: removed UnSubscribeActionsDelegates
* refactor: whitespaces and renaming
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru >
2025-08-02 18:35:38 +02:00
PJB3005
4bd7aa16c1
Config no longer logs a warning when saved in integration test
...
Supersedes #6108
See https://github.com/space-wizards/space-station-14/issues/39196
2025-08-02 17:54:09 +02:00
Pieter-Jan Briers and GitHub
dcbe0505dc
Revert "Add WeakEntityReference ( #5577 )" ( #6112 )
...
This reverts commit c3489d4ded .
2025-07-29 18:22:17 +02:00
c3489d4ded
Add WeakEntityReference ( #5577 )
...
* Add WeakEntityReference
* Use NetEntity
* release notes
* A
* Fix merge conflicts
* comments
* A
* Add network serialization test
* Add ToPrettyString support for WeakEntityReference?
* inheritdoc
* Add GetWeakReference methods
* Not-nullable too
* Make EntitySystem proxy method signatures match EntityManager
* Add TryGetEntity
* interface
* fix test
* De-ref GetWeakReference methods
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com >
2025-07-29 11:12:49 -04:00
DrSmugleaf and GitHub
8498634993
Add tests for immutable dicts and sets ( #6109 )
2025-07-29 01:17:29 +02:00
Pieter-Jan Briers and GitHub
cdd3afaa4c
Remove redundant custom math types ( #6078 )
...
Vector3, Vector4, Matrix4, and Quaternion are now gone. Use System.Numerics instead.
This commit is just replacing usages, cleaning up using declarations, and moving over the (couple) helpers that are actually important.
2025-07-23 01:15:27 +02:00
fee67b648c
Allow AutoNetworkedField to work with inherited datafields ( #6090 )
...
* allow AutoNetworkedField to work for inherited datafields
* fix
* test fix
* typo
* Update Robust.UnitTesting/Shared/GameState/AutoNetworkingTest.cs
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com >
2025-07-23 01:15:12 +02:00
Tayrtahn and GitHub
3c48b24539
Cleanup prototype instantiation warnings in unit tests ( #6058 )
2025-07-22 20:32:49 +02:00
2349728eab
out of my element ( #6074 )
...
Co-authored-by: iaada <iaada@users.noreply.github.com >
2025-07-10 12:43:51 +02:00
Tayrtahn and GitHub
dc3705e520
Add ForbidLiteral to IPrototypeManager methods ( #6066 )
...
* Add ForbidLiteral to IPrototypeManager methods
* Cleanup violations
2025-07-06 20:27:32 +02:00
Tayrtahn and GitHub
a45b72a1c5
IRobustCloneable and generator support ( #5692 )
...
* Add IRobustCloneable and check for it in compnet generator.
* Redo compnetgenerator support; add test
* Disconnect client at end of test
* Actually test for client entities
* Cleanup
* Cleanup 2
2025-06-27 20:37:43 +02:00
Leon Friedrich and GitHub
c6a1d82bb1
Validate that Toolshed command arguments have parsers ( #6014 )
...
* Add Nullable<T> support to ToolshedManager.TryParse
* Check that command arguments are parseable
* release notes
* a
* A is for Array
* Fix test
* Fix indentation
2025-06-09 23:47:29 +10:00
slarticodefast and GitHub
00494ad9eb
fix TryQueueDelete ( #5996 )
2025-06-05 22:34:50 +10:00
6d46d3f4a5
Cleanup most warnings in unit tests ( #5946 )
...
* 2 warnings in JointDeletion_Test
* 1 warning in Collision_Test
* 2 warnings in Color_Test (deleted test of deprecated HCY color space)
* 1 warning in MapVelocity_Test
* 2 warnings in MapManager_Tests
* 2 warnings in MapPauseTests
* 1 warning in NetDisconnectMessageTest
* 1 warning in ContainerTests
* Suppress 1 warning in EntityEventBusTests.ComponentEvent
* 4 warnings in MapGridMap_Tests
* 1 warning in GridDeletion_Test
* Remove TryGetContainingContainer foolishness
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
2025-05-29 00:12:58 +10:00
metalgearsloth and GitHub
986b0f979d
Fix physics forces not autoclearing ( #5978 )
...
* Fix physics forces not autoclearing
* Changes
2025-05-29 00:04:55 +10:00
metalgearsloth and GitHub
ee8ea4ec3b
Purge PhysicsMapComponent ( #5766 )
...
* Replace PhysicsMapComponent
- Dumb idea
- Lots of book-keeping and perf overhead.
- Much saner this way.
* stuff
* More work
* Purge
* Fixes
* Eh?
* Fixes
* Also this
* weh
* Fixes
* ice-cream
* Fix
* Fix stacking / gravity
* Gravity query
* MoveBuffer optimisations
* Fixes for test
* World gravity
* Fix build
* Avoid some transform resolves for contactless ents
* Less getcomps
* Fix contact caching
* Possibly less copies
* reh
* bulldoze
* Test "fix"
* seikrets
* a
* I saw this but now I decideded against it
* true
2025-05-28 19:18:36 +10:00
slarticodefast and GitHub
7482451ec4
optimize ToMapCoordinates ( #5953 )
2025-05-28 12:07:23 +10:00
Tayrtahn and GitHub
5c97b15849
Mark Entity methods as readonly ( #5919 )
...
* Mark Entity methods as readonly
* Add to GenericEntityPrint
* No but really
2025-05-15 20:23:29 +10:00
metalgearsloth and GitHub
73f6555624
Fix static ent collision spawn ( #5933 )
...
* Fix static ent collision spawn
* Fix test
* cool
2025-05-15 19:11:20 +10:00
Leon Friedrich and GitHub
4d47cfa1a6
Minor respath improvements ( #5876 )
...
* Minor respath improvements
* Add helpers
* tweak helper
* Throw on more than 1 char
* comments
* No emoji separators
2025-05-12 13:04:40 +10:00
eb5ed12270
Serialize TimeSpan from text ( #5865 )
...
* timespanserializer cleanup
* string reading
* high speed, low drag
* unit tests
* Update Robust.Shared/Serialization/TypeSerializers/Implementations/TimespanSerializer.cs
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com >
2025-05-05 00:57:01 +02:00
Leon Friedrich and GitHub
806c23e034
Move EntityExt.AsNullable extension methods into the Entity struct ( #5899 )
...
* Move `EntityExt.AsNullable` extension methods into the Entity struct
* use constructor
* a
2025-05-04 01:24:23 +02:00
metalgearsloth and GitHub
e80f5d13a1
Add Vector2i / bitmask conversions ( #5901 )
...
Content uses for a couple tile-based flags.
2025-05-04 01:23:04 +02:00
Milon and GitHub
3bbe0e7f44
ftl hot reloading ( #5874 )
...
* sloth is so going to kill me
* the voices in my head told me to do this
* Register ILocalizationManagerInternal on client
* Avoid breaking change
* Cleanup
* Release notes
2025-04-26 22:38:56 +10:00
Tayrtahn and GitHub
8f9e0f6bab
Fix warnings in PhysicsMap_Test ( #5884 )
2025-04-24 18:10:13 +10:00
Tayrtahn and GitHub
3ed408de5d
Fix warnings in Joints_Test ( #5885 )
2025-04-24 18:09:27 +10:00
Leon Friedrich and GitHub
3ce764311d
Make RobustIntegrationTest pool by default ( #5872 )
2025-04-20 17:53:55 +10:00
Leon Friedrich and GitHub
2f8f4f2f7a
Make MappingDataNode use string keys ( #5783 )
...
* string keys
* obsoletions
* Fix ValueTupleSerializer
* Release notes
* fix release note conflict
* cleanup
* Fix yaml validator & tests
* cleanup release notes
* a
* enumerator allocations
* Also sequence enumerator alloc
2025-04-18 19:01:34 +10:00
Tayrtahn and GitHub
7365a59bd9
Cleanup warnings in CollisionWake_Test ( #5847 )
2025-04-18 12:05:48 +10:00
Whatstone and GitHub
919de8ce0e
SharedPhysicsSystem.Island: set position after velocity ( #5801 )
2025-04-09 01:10:17 +10:00
metalgearsloth and GitHub
ae625ebad8
Inline manifold points ( #5794 )
...
* Inline manifold points
Max is 2 so no reason to use an array over a fixedarray.
* this
2025-04-02 00:04:51 +11:00
Tayrtahn and GitHub
f244c94905
Switch from checking comp.Owner == ent to GetComp(ent) == comp ( #5776 )
2025-03-27 15:21:05 +11:00
Tayrtahn and GitHub
01cac6465b
Cleanup warnings in EntityCoordinates_Tests ( #5771 )
...
* Fix warnings
* Use transform refs to simplify WithEntityId
2025-03-27 15:20:20 +11:00