Commit Graph

9956 Commits

Author SHA1 Message Date
InsoPL 41ad959192 Center UI bugfix (#6434)
* init

* crlf

* crfl

* fix
2026-03-02 11:06:24 -05:00
Tayrtahn 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
Tayrtahn 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
eoineoineoin 5393cfab85 Avoid crashing client when reloading a shader with syntax errors (#6425) 2026-02-27 08:20:19 -05:00
deathride58 cc530a9107 Makes RemoveJoint(uid, id) recursive by default (#6378) 2026-02-27 08:17:45 -05:00
pathetic meowmeow ea5394f06b Make UserInterfaceComponent#Interfaces AlwaysPushInheritance (#6426) 2026-02-27 08:16:28 -05:00
AftrLite 07da4c9eac Add [Animatable] to SharedPointlightComponent's Offset (#6429)
make Pointlights' offset animatable
2026-02-27 08:16:12 -05:00
Tayrtahn 9c4dd7a5e7 Add entity ProtoId to spawn panel tooltip (#6424)
* Add entity ProtoId to spawn panel tooltip

* Add backup message for entities with no description

* Release notes
2026-02-22 15:23:48 -05:00
Moony 48dbcf7fd4 Hotpatch for map loading test fail. 2026-02-08 15:33:30 +01:00
PJB3005 686c47a193 Release notes for ecfaa68ae6 2026-02-08 14:11:50 +01:00
Moony ecfaa68ae6 Deprecate System.Random leakage 2026-02-08 14:09:48 +01:00
PJB3005 fd27f315cb Add more MapLoaderSystem TextReader/TextWriter overloads
Co-authored-by: kaylie <moony@hellomouse.net>
2026-02-08 14:04:09 +01:00
DrSmugleaf fe1648d290 Make EntitySystemManager.DependencyCollection inject EntityQuery, make BUIs inject systems and entity queries (#6394)
* Make EntitySystemManager.DependencyCollection inject EntityQuery

* Make BUIs inject systems and entity queries

* Fix import

* We parallelize those

* RIDER I BEG YOU

* Mocked unit tests are my passion

* Perhaps we do not care about fractional milliseconds

* Forgor to make it debug only

* Use Parallel.For instead of ForEach

* Rider I am going to become the joker

* Fix EntMan resolve

* Now with lazy resolve technology

* Use GetOrAdd
2026-02-05 21:35:52 +01:00
PJB3005 ec0c667c33 Add System.StringComparer to sandbox
Fixes #6081
2026-02-05 21:32:59 +01:00
PJB3005 75d0c29973 Add OrderedDictionary to sandbox whitelist
Fixes #6411
2026-02-05 16:38:01 +01:00
PJB3005 5d6dbc18e3 Remove swnfd from ClientDllMap 2026-01-31 22:21:36 +01:00
Princess Cheeseballs 5e160e26ee Prevent a potential EnsureComp exception. (#6405)
Fix potential EnsureComponent collision

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2026-01-31 09:59:39 -05:00
deltanedas 0e54fa7329 add debug info to static protoid in generic class error (#6395)
* add debug info to static protoid in generic class error

* lets see

* goida

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2026-01-31 11:59:23 +01:00
PJB3005 2722448474 Don't compile new sandbox code outside TOOLS
Fix build
2026-01-31 09:11:24 +01:00
PJB3005 e7f75ab35d Fix size of OSWindows on macOS (& probably Wayland)
The way SDL handles window coordinates passes through the native platform API's behavior instead of trying to make a consistent API, so the way sizes are handled on macOS is different.
2026-01-31 08:13:19 +01:00
Cookie Cakes 57361e8ffd Update PlacementManager::HandleRectRemoveReq (#6403)
Update PlacementManager.cs

* Fixed AGhost observers and player torsos getting deleted with rect delete.
2026-01-30 13:50:20 +01:00
PJB3005 8449015cf8 Locate references to bad compiler generated methods in sandbox
Should help pinpoint issues from params arrays and similar.
2026-01-30 10:19:57 +01:00
PJB3005 72d6a42c27 Fix release notes for previous version 2026-01-29 01:52:25 +01:00
PJB3005 f509405022 Version: 272.0.0 v272.0.0 2026-01-29 01:49:02 +01:00
PJB3005 7bb516f0bf Update release notes 2026-01-29 01:49:01 +01:00
PJB3005 521e7981bc Fix ValidateMemberAnalyzer performance
The analyzer was built to go off syntax nodes. This (AFAICT) meant that the SemanticModel had to be recalculated for every single invocation.

If you don't know what the above means: it basically means the compiler has to re-analyze the entire file.

Fix this by moving it to an operation analyzer so the compiler can properly cache the semantic model.
2026-01-29 01:39:06 +01:00
DrSmugleaf 4c87e6185f Add ProfManager.Value guard, write first command argument as a ProfManager value in ExecuteInShell (#6400)
* Add ProfManager.Value guard, write first command argument as a ProfManager value in ExecuteInShell

* Make EntitySystemManager use the new Value method
2026-01-28 21:26:01 +01:00
DrSmugleaf aaf5003fcf Initialize ProfManager on the server (#6401) 2026-01-28 16:01:58 +01:00
PJB3005 3bec89aaa5 Fix MapCoordinate spawns using grid-relative rotation
This was an undocumented breaking change introduced by https://github.com/space-wizards/RobustToolbox/pull/5915. The behavior does not make much sense: you're specifying coordinates relative to the map, so the rotation should be relative to the map too.
2026-01-26 19:20:12 +01:00
PJB3005 0b93a1b7e2 Version: 271.2.0 v271.2.0 2026-01-25 19:11:54 +01:00
PJB3005 51397ba319 Release notes 2026-01-25 19:11:39 +01:00
B_Kirill 446cf8c003 Cleanup warnings: CS0414 (#6396) 2026-01-24 23:41:10 -05:00
PJB3005 65b8d0cce2 Add network serialization float NaN sanitization
Apparently cheat clients have figured out that none of SS14's code does validation against NaN inputs. Uh oh.

IRobustSerializer can now be configured to remove NaN values when reading. This is intended to be set on the server to completely block the issue.

Added "Unsafe" float types that can be used to bypass the new configurable behavior, in case somebody *really* needs NaNs.

An alternative option was to make a "SafeFloat" type, and only apply the sanitization to that. The problem is that would require updating hundreds if not thousands of messages in SS14, and probably significantly confuse contributors on "when use what." Blocking NaNs by default is likely to cause little issues while ensuring the entire exploit is guaranteed impossible.
2026-01-25 03:45:50 +01:00
deltanedas 397b441a17 improve contact debug asserts (#6397)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2026-01-24 08:44:49 -05:00
PJB3005 40b10f0dcc Version: 271.1.0 v271.1.0 2026-01-20 19:45:58 +01:00
PJB3005 5885549c78 Release notes 2026-01-20 19:45:51 +01:00
PJB3005 89e16d5ba9 Fix Reset() not getting called if client channel disconnects unprompted.
Fixes https://github.com/space-wizards/RobustToolbox/issues/6390
Fixes https://github.com/space-wizards/RobustToolbox/issues/6388
2026-01-20 19:03:32 +01:00
PJB3005 2afef1480e Add debug code to slow down transfer connections 2026-01-20 19:01:56 +01:00
PJB3005 76189579c7 Remove dead code from transfer 2026-01-20 19:01:39 +01:00
PJB3005 114c2bee62 Fix transfer being entirely nonfunctional
Oops
2026-01-20 19:01:32 +01:00
PJB3005 ce96331ec4 Add completions to launchauth command 2026-01-20 01:14:56 +01:00
Ataman 14b17aff6d Add events on animation starts (#6382)
* added AnimationStartedEvent

* added AnimationStarted event to Control

* reordered Control.AnimationStarted above Control.AnimationCompleted

* fixed comment

* switched to internal constructor and proxy method
2026-01-19 23:29:22 +01:00
PJB3005 65ed19fa4e Version: 271.0.0 v271.0.0 2026-01-19 21:07:22 +01:00
PJB3005 30cd9eb527 Update release notes 2026-01-19 21:06:58 +01:00
PJB3005 3f556814a5 Cull old release notes
This file was hundreds of kilobytes and genuinely made my Rider lag to edit
2026-01-19 21:06:25 +01:00
ThereDrD 17662baaf7 Fixed looped audio playback position calculation (#6325)
* fix: looped audio position calculation

* refactor: tiny clean up

* move comment

* fix: review changes

* remove `

* rerun tests

* Remove unecessary formatting changes

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2026-01-19 21:05:44 +01:00
Pieter-Jan Briers dc1464b462 High-bandwidth transfer system (#6373)
* WebSocket-based data transfer system

* Move resource downloads/uploads to the new transfer system

Should drastically increase the permitted practical size

* Transfer impl for Lidgren

* Async impl for receive stream

* Use unbounded channel for Lidgren

* Add metrics

* More comments

* Add serverside stream limit to avoid being a DoS vector

* Fix tests

* Oops forgot to actually implement sequence channels in NetMessage

* Doc comment for NetMessage.SequenceChannel

* Release notes
2026-01-19 20:44:44 +01:00
DrSmugleaf 48654ac424 Fix component tree system crapping out taking half the game with it (#6366)
* Fix component tree system crapping out taking half the game with it

* Fix build
2026-01-19 20:43:50 +01:00
ArtisticRoomba d9ea1079f7 Fix Robust.Benchmarks failing to compile (#6365) 2026-01-19 20:42:03 +01:00
DrSmugleaf cb384b8242 Make VV work with structs in components (#6377)
* Make VV work with structs in components

* Fix missing imports
2026-01-19 20:41:24 +01:00