PJB3005
83ad6042a7
Fix BitArray serialization for .NET 10
...
Fixes #6301
2025-11-15 18:41:43 +01:00
metalgearsloth
663b83821a
Revert "Obsolete static IoC methods ( #6232 )" ( #6296 )
...
This reverts commit 14439784dd .
2025-11-15 11:26:52 +11:00
Leon Friedrich
14439784dd
Obsolete static IoC methods ( #6232 )
2025-11-13 21:35:14 +11:00
Leon Friedrich
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
cd59027089
Double-buffer contact events ( #6295 )
...
* Add
* a
* Fix test
* note
* Fix reflection
2025-11-13 21:28:13 +11:00
Leon Friedrich
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
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
haiwwkes
eb1a2ae9b4
init ( #6234 )
2025-09-27 11:32:02 -04:00
Leon Friedrich
ddeb78accd
Make toolshed's CommandImplementationAttribute optional ( #6218 )
2025-09-23 15:47:21 +12:00
Leon Friedrich
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
āda
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
PJB3005
38d3b83818
Add display.max_fps CVar.
...
Applies when vsync is not enabled.
Had to shuffle stuff around to GameController since it involves the game loop.
The implementation isn't great and undershoots the target FPS value (because the OS overshoots the desired sleep value). I tried using SDL_DelayPrecise too but this causes significantly increased CPU usage probably because it spinwaits and all that nonsense, so I decided against it.
I don't know why I bothered to do this. I just got the idea in my head. Kinda feels like a waste of time, but there's no point not committing it at this point.
2025-09-02 22:05:28 +02:00
PJB3005
b4863dcc38
Properly stop sending messages to disconnected channels.
...
Log errors, and fix the ChannelClosedException it caused.
2025-08-05 17:12:43 +02:00
Fildrance
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
dcbe0505dc
Revert "Add WeakEntityReference ( #5577 )" ( #6112 )
...
This reverts commit c3489d4ded .
2025-07-29 18:22:17 +02:00
Leon Friedrich
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
8498634993
Add tests for immutable dicts and sets ( #6109 )
2025-07-29 01:17:29 +02:00
PJB3005
d1c6c11755
Add asset pass to merge text files in directories.
...
This massively reduces the file count of published SS14 builds by a few thousand, by combining YAML prototypes and Fluent files in the same folder into one file.
2025-07-25 15:57:18 +02:00
Pieter-Jan Briers
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
slarticodefast
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
3c48b24539
Cleanup prototype instantiation warnings in unit tests ( #6058 )
2025-07-22 20:32:49 +02:00
Leon Friedrich
efa8975bc6
Fix pool manager conflicts ( #6075 )
2025-07-11 20:55:49 +02:00
PJB3005
e169d6a5a2
Enforce integration instance idleness for more helper members
...
Also allow them to be accessed regardless if from the integration instance thread.
2025-07-10 16:29:16 +02:00
PJB3005
3634ee636b
Pooled integration instances now get marked non-idle
...
Otherwise, pooled integration instances could behave differently from freshly-spawned ones, creating heisentests.
2025-07-10 16:26:56 +02:00
āda
2349728eab
out of my element ( #6074 )
...
Co-authored-by: iaada <iaada@users.noreply.github.com >
2025-07-10 12:43:51 +02:00
Tayrtahn
dc3705e520
Add ForbidLiteral to IPrototypeManager methods ( #6066 )
...
* Add ForbidLiteral to IPrototypeManager methods
* Cleanup violations
2025-07-06 20:27:32 +02:00
Tayrtahn
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
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
Leon Friedrich
d89e1a43c6
Add PvsResetTest ( #6015 )
2025-06-09 23:39:06 +10:00
Leon Friedrich
d894ef70ef
Misc SpriteSystem fixes ( #6001 )
...
* Move GetPrototypeTextures to SpriteSystem
* Fix tests
* Fix #6002
* release notes
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
2025-06-09 18:59:37 +10:00
slarticodefast
00494ad9eb
fix TryQueueDelete ( #5996 )
2025-06-05 22:34:50 +10:00
Tayrtahn
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
986b0f979d
Fix physics forces not autoclearing ( #5978 )
...
* Fix physics forces not autoclearing
* Changes
2025-05-29 00:04:55 +10:00
metalgearsloth
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
7482451ec4
optimize ToMapCoordinates ( #5953 )
2025-05-28 12:07:23 +10:00
Tayrtahn
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
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
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
Leon Friedrich
97c1548301
Add SpriteBoundsTest ( #5922 )
2025-05-11 15:30:14 +10:00
Leon Friedrich
a3d0921cc9
Pause entities that leave PVS range ( #5878 )
...
* Pause entities that leave PVS range
* Fix merge
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com >
2025-05-10 21:57:04 +10:00
Leon Friedrich
c458abdc69
Move TestPair & PoolManager to engine ( #5877 )
...
* Engine pool manager
* Move documentation
* Move namespace
* Move TestMapData to engine
* Option to prevent loading test assembly
* release notes
* Rename to avoid conflicts
2025-05-10 21:35:28 +10:00
Errant
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
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
e80f5d13a1
Add Vector2i / bitmask conversions ( #5901 )
...
Content uses for a couple tile-based flags.
2025-05-04 01:23:04 +02:00
Milon
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
8f9e0f6bab
Fix warnings in PhysicsMap_Test ( #5884 )
2025-04-24 18:10:13 +10:00
Tayrtahn
3ed408de5d
Fix warnings in Joints_Test ( #5885 )
2025-04-24 18:09:27 +10:00
Leon Friedrich
3ce764311d
Make RobustIntegrationTest pool by default ( #5872 )
2025-04-20 17:53:55 +10:00