Commit Graph

9943 Commits

Author SHA1 Message Date
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
Pieter-Jan Briers
21581df93d Revert "make SharedAudioSystem.Stop not return early when the current tick has already been predicted" (#6375)
Revert "make SharedAudioSystem.Stop not return early when the current tick ha…"

This reverts commit c41d63be27.
2026-01-19 20:40:31 +01:00
Princess Cheeseballs
df98bca4bc Fix Erronius entity deletion on grid deletion from SetTiles() (#6367)
Don't delete the grid *before* we raise the event???

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-19 20:39:49 +01:00
PJB3005
02b64b7386 Show task bar progress bar for loading progress
Using the new API in SDL 3.4.0
2026-01-18 23:30:15 +01:00
PJB3005
36e5f10511 Update SDL3 to 3.4.0 2026-01-18 23:30:15 +01:00
Richard Van Tassel
93d14d55c7 Let viewport clear when eye is missing (#6379)
* Adds option to viewport to allow render target clearing if eye is missing

* on->when and add to IClydeViewport

* add to ClydeHeadless
2026-01-18 21:17:31 +01:00
pathetic meowmeow
c20343601d Make tabs wrap to available size (#6387) 2026-01-18 21:16:44 +01:00
deltanedas
52d3376c9e make "failed to set destination" debug assert not useless (#6383)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2026-01-18 09:27:50 -05:00
PJB3005
a417a8fd99 Mark DebugTools.AssertNotNull as [NotNull]
This means C# nullable analysis actually recognizes it.
2026-01-18 02:42:23 +01:00
Aiden
627856e207 Update error message for direct project references. (#6380)
Update error message for direct project references
2026-01-16 14:55:51 +01:00
Dinner
aa5cca4c7f Fix Layer constructor in SpriteComponent not properly copying unshaded sprite layers (#6368)
* remove Layer() null check for Unshaded and ShaderPrototype variables

* remove comments
2026-01-11 04:03:05 +01:00
eoineoineoin
5b06066fcb Make some Control properties animatable (#6376) 2026-01-10 23:35:08 +01:00
deltanedas
736e46cd82 fix MarkupNode.ToString mangling tags (#6374)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2026-01-09 20:17:46 +01:00
PJB3005
539d0563b8 "Add vorbis" she said. "It'll be easy"
Yeah so this adds libogg, libvorbis, and libopus to the Rust library on the client. This is intended for use by the client soon-ish to replace .NET ogg vorbis implementations and add opus support.

This turns out to be a huge pain thanks to https://github.com/rust-lang/rfcs/issues/2771 . To solve this I ended up compiling the projects as staticlib and creating a build.py script to invoke the linker. This sucks a *lot* and I have yet to write the linker invocations for Linux/Windows, but it's probably the best option we have.
2026-01-04 04:16:20 +01:00