3521 Commits
Author SHA1 Message Date
AxionyxandGitHub c1919263f4 Track isLocal in user data (#6641) 2026-06-20 20:00:38 +02:00
PJB3005 fbab678058 Add FormattedStringBuilder for safely constructing markup with code. 2026-06-20 03:36:49 +02:00
PJB3005 30cac6ec2a Add CommandParsing.EscapeCommand 2026-06-20 00:10:04 +02:00
PJB3005 ead6018a6a Add markup escaping Fluent functions 2026-06-19 22:49:34 +02:00
PJB3005 51cdfb6b7e Add "hidden" console commands 2026-06-18 10:39:35 +02:00
metalgearslothandGitHub 338825c8e7 Add Pure attr to EntityLookup bounds methods (#6622) 2026-06-09 16:54:31 +02:00
adamsongandGitHub bd6b7068f3 Small fix to doc comment (#6616) 2026-06-04 05:19:57 +02:00
611023acbc Add SharedMapSystem.GetFilledTileCount (#6562)
* Add SharedMapSystem.GetFilledTileCount

* Update Robust.Shared/GameObjects/Systems/SharedMapSystem.Grid.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-05-22 16:57:11 -04:00
TemporalOroborosandGitHub 321bd3cf38 Fix swapped args in grid lookup (#6578)
* Fix swapped args in grid lookup

* use: use, named: named, args: args
2026-05-19 12:42:03 -04:00
Connor HuffineandGitHub aac0e4d1c0 Remove comment (#6560) 2026-05-11 21:30:35 -04:00
eoineoineoinandGitHub 6e78763172 Improved collision filter test (#6431) 2026-05-08 21:32:02 +02:00
ea3bae1b24 Send server URL on hasJoined (#6416)
* Send server URL when advertising

* Fix

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2026-05-08 13:13:49 +02:00
f68abaab68 EntityManager Singleton methods (#6445)
* Implement the singleton methods.

* Fix API + Tests.

* Move remark.

* Typo fix + Proxies.

* Pause remarks.

* No, really, we don't obey paused!

* Release notes.

* testdocs.

* Poke

* The API design axe.

* Update Robust.Shared.IntegrationTests/GameObjects/EntityManagerSingletonTests.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* Remove unused doc comment blerb

---------

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2026-05-08 12:49:54 +02:00
83c2a1be11 [Dependency] source generator part 2 (#6550)
* [Dependency] source generator

No more reflection, no more codegen at runtime

Also various changes to Roslyn helpers to make this easier to write.

Requires all types with dependencies to be partial and not have readonly dependency fields. An analyzer enforces this at warning level, the previous injection strategies have remained in the code *for now* as a fallback.

No fallback is available for [field: Dependency] properties, due to a Roslyn bug.

Code Fixes exist. We love Roslyn

* Apply dependencies generator changes to all code

* Release notes

* Preprocessor got hands

* Handle nullable dependencies

These are bad but gotta deal with it.

* Apply suggestions from code review

Co-authored-by: Moony <moony@hellomouse.net>

* Fine, let's not use collection expressions

---------

Co-authored-by: Moony <moony@hellomouse.net>
2026-05-08 12:38:33 +02:00
b4eb85ad3c [Dependency] source generator (#6549)
* [Dependency] source generator

No more reflection, no more codegen at runtime

Also various changes to Roslyn helpers to make this easier to write.

Requires all types with dependencies to be partial and not have readonly dependency fields. An analyzer enforces this at warning level, the previous injection strategies have remained in the code *for now* as a fallback.

No fallback is available for [field: Dependency] properties, due to a Roslyn bug.

Code Fixes exist. We love Roslyn

* Release notes

* Handle nullable dependencies

These are bad but gotta deal with it.

* Apply suggestions from code review

Co-authored-by: Moony <moony@hellomouse.net>

* Fine, let's not use collection expressions

---------

Co-authored-by: Moony <moony@hellomouse.net>
2026-05-08 12:38:02 +02:00
740c562ca3 Import tensors and add methods to sbox (#6450)
* Import tensors and add methods to sbox

* might be a good idea to expose pseudo-ctors
also nuke spans as tey're too much to review rn

* nuke buffers

* nuke unconsumable types

* hilarious

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2026-05-08 11:57:19 +02:00
302d240a54 Fix escaped quotes in formatted message parameters. (#6547)
* Fix escaped quotes in formatted message parameters

* Dedicated escape function.

---------

Co-authored-by: lunarica <lassovira@duck.com>
2026-05-08 11:40:20 +02:00
PJB3005 9b96e926d5 Fix doc comment in EntitySerializer 2026-05-07 17:51:12 +02:00
B_KirillandGitHub f39b3d24d2 Fix race condition in HappyEyeballs leaving extra connections alive (#6497)
* Fix race condition in HappyEyeballs leaving extra connections alive

* Review

* Review
2026-05-06 14:45:05 +02:00
PJB3005 83c05413e8 Add MarkupNode.IsPlainText helper
Was reviewing https://github.com/space-wizards/RobustToolbox/pull/5633 and figured this would make sense.
2026-05-05 19:20:22 +02:00
ff4edd0423 Allow static abstract through the sandbox + INumber (#6432)
* Allow `static abstract`.

* Allow BigInteger + INumber family of interfaces and classes.

* Spurious test fail.

* Further sandbox additions..

* Release notes.

* Fix typo

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2026-05-05 19:02:15 +02:00
MoonyandGitHub f948bafd3a Make IDependencyCollection constructable. (#6466) 2026-05-05 19:00:12 +02:00
17a15b15d7 Expose access to more fields on AudioComponent (#6510)
Co-authored-by: mirrorcult <mirrorcult@pm.me>
2026-05-05 12:43:57 +02:00
53e1ec24d5 HRTF support through openal-soft (#6511)
* HRTF support through openal-soft

* a

* more correct

---------

Co-authored-by: mirrorcult <mirrorcult@pm.me>
2026-05-05 12:41:35 +02:00
mastermiller01andGitHub 15962c62a6 record bandwidth usage on release (#6545) 2026-05-05 12:28:51 +02:00
eoineoineoinandGitHub 612cd04d00 Fix cross-grid collisions. (#6542)
* Fix bug where some grid-grid collisions were missed

* Document future bug; trivial code reorg, for clarity

* Rename poorly named variables
2026-04-30 16:16:24 -04:00
pathetic meowmeowandGitHub 1046bc9a73 More comprehensively tag auto-generated code (#6541) 2026-04-27 08:43:18 -04:00
TayrtahnandGitHub 5a931f368c Add parent check debug assert to SharedContainerSystem.Insert (#6532)
Check for correct parent
2026-04-25 01:22:09 -04:00
TayrtahnandGitHub 60d6114906 Fix SetCoordinates causing unexpected reparenting (#6533)
* Don't check for grid traversal when we already know the new parent

* Actually, we shouldn't ever need to check for grid traversal in SetCoordinates
2026-04-25 01:04:00 -04:00
09284c2fc2 fully remove obsolete methods in mapgridcomponent (#6476)
* obsolete methods in mapgridcomponent

* Update Robust.Shared/Map/Components/MapGridComponent.cs

Co-authored-by: Moony <moony@hellomouse.net>

---------

Co-authored-by: Moony <moony@hellomouse.net>
2026-04-25 01:03:01 -04:00
DrSmugleafandGitHub 437a65ffd1 Fix TryGetEntitySystem and GetEntitySystemOrNull throwing with uninitialized EntitySystemManager (#6512) 2026-04-07 12:51:57 -04:00
TayrtahnandGitHub 1666a3a704 Fix BUI EntitySystem injection (#6515)
* Disable injection when creating BUI instances (the constructor will take care of it)

* Comment

* Release note
2026-04-07 12:51:03 -04:00
MoonyandGitHub a8f723f635 Catch another couple sources of netencryption exceptions. (#6498)
* Catch another couple sources of netencryption exceptions.

* Clean up tests a bit.

* prevent nonsense.
2026-03-30 15:35:55 -04:00
MoonyandGitHub 03cb357fe6 The damage one typo can do. (#6492) 2026-03-29 00:01:44 -04:00
MoonyandGitHub f3aa5ed44c Fix an active denial of service, correctly. (#6491)
* Fix an active denial of service, correctly. Moves a bunch of logging to debug only to avoid amplification.

* One more test.

* Swap over to the NetLogging cvar.

* Be a little more thorough with the bad messages.
2026-03-27 20:08:19 -04:00
slarticodefastandGitHub a516aa2414 Fully Obsolete TimerComponent (#6475)
remove timer comp
2026-03-25 00:31:14 -04:00
slarticodefastandGitHub aee5faa997 Fully obsolete methods in ContainerManagerComponent (#6477)
cleanup
2026-03-25 00:06:32 -04:00
TayrtahnandGitHub d2792926e5 Remove [Virtual] attributes from abstract/sealed classes (#6482)
Removed [Virtual] attributes that shouldn't be there
2026-03-24 23:41:58 -04:00
MoonyandGitHub 8279e2ce26 Allow content to serialize YAML, add missing StringReader/StringWriter. (#6480) 2026-03-24 20:38:43 -04:00
MoonyandGitHub e7e1d9a17a Document all analyzer attributes. (#6467) 2026-03-19 08:44:44 -04:00
d529de6b6f Fix completions for entity prototypes. (#6435)
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
2026-03-13 20:24:22 +01:00
MoonyandGitHub 745e3906f3 Prevent UI update limits from causing test flaking. (#6443) 2026-03-12 14:02:39 +01:00
TayrtahnandGitHub fcc2c01d01 Revert "Revert "Add analyzer & fixer to detect when proxy methods are not used (ProxyForAttribute)"" (#6439)
Revert "Revert "Add analyzer & fixer to detect when proxy methods are not use…"

This reverts commit 1af32c3129.
2026-03-07 11:32:01 -05:00
e428a341e1 Debug assertions + a throw in RemoveComponentImmediate. (#6437)
* Debug assertions + a throw in RemoveComponentImmediate.

* nit

* Update Robust.Shared/GameObjects/EntityManager.Components.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2026-03-04 11:26:39 -05:00
TayrtahnandGitHub 1af32c3129 Revert "Add analyzer & fixer to detect when proxy methods are not used (ProxyForAttribute)" (#6430)
Revert "Add analyzer & fixer to detect when proxy methods are not used (`Prox…"

This reverts commit db1d3054ac.
2026-02-27 08:46:58 -05:00
TayrtahnandGitHub db1d3054ac Add analyzer & fixer to detect when proxy methods are not used (ProxyForAttribute) (#6026)
* Attribute, analyzer, and tests

* Add attribute to EntitySystem methods

* Code fixer for redundant method name

* Code fixer for proxy substitution

* Comments

* Improve error message when target method is not found

* Modify AddComp signature to match AddComponent (Component -> IComponent)

* Revert "Modify AddComp signature to match AddComponent (Component -> IComponent)"

This reverts commit 1939d11765.

* Check that proxy and target have matching type constraints

* Reapply "Modify AddComp signature to match AddComponent (Component -> IComponent)"

This reverts commit a65ea71b9b.

Might as well include this, since the file needs to be changed anyway.

* Boost efficiency by only searching for proxy methods once.
Previously we searched with each method invocation.
This also lets us skip analysis on classes with no proxy methods available.

* Revert unrelated change

* Fine, I'll do it properly

* Misleading method name

* Preserve trivia when when replacing method

* Prevent flagging method calls on non-member variables

* Prevent flagging method calls on other classes

* Switch to new HasAttribute helper

* comment fix

* Switch ProxyMethod from struct to class

* Kill TryGetAttributeSyntax

* Move member owner check to helper

* Use helper for proxy method search

* meh

* A little bit of documentation never hurt anybody

* Test attributes

* Convert AnalyzeDeclaration from SyntaxNodeAction to OperationAction

* You can keep the comment though
2026-02-27 08:22:41 -05:00
deathride58andGitHub cc530a9107 Makes RemoveJoint(uid, id) recursive by default (#6378) 2026-02-27 08:17:45 -05:00
pathetic meowmeowandGitHub ea5394f06b Make UserInterfaceComponent#Interfaces AlwaysPushInheritance (#6426) 2026-02-27 08:16:28 -05:00
AftrLiteandGitHub 07da4c9eac Add [Animatable] to SharedPointlightComponent's Offset (#6429)
make Pointlights' offset animatable
2026-02-27 08:16:12 -05:00
MoonyandPJB3005 48dbcf7fd4 Hotpatch for map loading test fail. 2026-02-08 15:33:30 +01:00