2668 Commits

Author SHA1 Message Date
PJB3005
5d6dbc18e3 Remove swnfd from ClientDllMap 2026-01-31 22:21:36 +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
B_Kirill
446cf8c003 Cleanup warnings: CS0414 (#6396) 2026-01-24 23:41:10 -05:00
PJB3005
2afef1480e Add debug code to slow down transfer connections 2026-01-20 19:01:56 +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
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
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
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
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
TGRCDev
7b245260e3 SpriteView updates its size whenever the entity is set (#6362)
* SpriteView updates its size whenever the entity is set

* SpriteView recalculates its measure when the entity changes
2026-01-02 16:41:20 +01:00
PJB3005
af7f4ec8e7 Make RichTextLabel.Text allow all tags again
Fixes #6360

I debated doing this with a special case in Robust.Xaml instead, but decided against it. This is mostly used for static contents anyways.
2025-12-31 23:15:06 +01:00
PJB3005
d43c3f2caf Merge remote-tracking branch 'origin/master' into 25-11-01-cef-update 2025-12-27 01:50:23 +01:00
Princess Cheeseballs
d78e3ce157 Extend AddMessage capabilites in RobustToolbox. (#6350)
push or w/e

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-12-24 15:42:40 +01:00
PJB3005
ad056e0b45 Add [NotContentImplementable] to client interfaces 2025-12-23 18:34:27 +01:00
PJB3005
6f2c45aab7 Remove unused IRand interface 2025-12-23 18:33:44 +01:00
PJB3005
9a3aad4630 Delete unused IRenderableComponent 2025-12-23 18:25:36 +01:00
B_Kirill
68609a94d8 Fix inverted clipboard error check in SDL3 (#6348) 2025-12-22 17:35:09 +01:00
PJB3005
9b02a4e718 Add game.time_scale cvar
Primary use case (other than silly) is to be a better way to speed up/slow down replays.
2025-12-20 16:32:06 +01:00
Fruitsalad
43337a3743 Fix layouting bug in SS14 ghost role menu (space-wizards/space-station-14#41434) (#6323) 2025-12-19 23:49:52 +01:00
PJB3005
0498036f1c Remove kdialog/nfd file dialog implementation
Purely rely on the SDL3 one now.
2025-12-17 20:03:15 +01:00
Tayrtahn
dd86bf980d Add MeansDataDefinition support to DataDefinitionAnalyzer (#5699)
* Add MeansDataDefinition support to DataDefinitionAnalyzer

* Poke tests

* Fix violations in engine

* Fix more lacking partials

* Fix tests

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-12-17 19:47:30 +01:00
PJB3005
7f2ec17651 Okay, the Robust API thing didn't pan out. New plan.
It apparently broke clean builds, as the dependencies aren't in the project asset list or something anymore. I tried to fix this, but it seems impossible to do without relying on .NET SDK internals, as there's no point in the NuGet graph walk process that seems cleanly extensible.

Instead let's just do the much dumber thing: a bunch of .props files for content to import. Hooray!

This also means that I have to go through and *explicitly* disable transitive dependencies everywhere in RT. This thankfully isn't too hard.
2025-12-16 22:56:31 +01:00
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
PJB3005
095c5f58d9 Obliterate GLFW with an orbital strike 2025-12-15 22:45:39 +01:00
PJB3005
95d5f7eec1 Add flag to block command bindings while UI focused
This means you can bind stuff to your numpad without it firing while you're *actually* typing stuff.
2025-12-14 21:48:20 +01:00
Princess Cheeseballs
ad31ec64d3 Add some default Sanitization to RichTextEntry (#6333)
* PR time

* am dum dont make PRs at 3am

* file scoped. I pushed this to the wrong branch initially because I'm stupid

* Revert "file scoped. I pushed this to the wrong branch initially because I'm stupid"

This reverts commit 9a911caa77.

* Review

* Update API used by content to actually use the default values

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-12-10 19:09:51 +01:00
PJB3005
1a0dab4526 OkLAB test in uitest
I can just add whatever random shit I want in there, nobody will stop me
2025-12-05 17:34:20 +01:00
PJB3005
dff5b5fe95 Prototype AspectRatioPanel UI control
Wrote this as a quicky, needed it for something. Don't feel like stabilizing it yet so it's internal.
2025-12-05 17:34:20 +01:00
Jewel
2c3cbaf3b9 Fix word wrapping on non-runed inline metrics like links (#6267)
Fix word wrapping on non-runed metrics like links (previously they would never wrap if they extended past max width)
2025-12-04 20:07:15 +01:00
wixoa
f2d74df4d7 Fix WebView loading (#6321) 2025-12-01 15:02:43 +01:00
Nemanja
465a1fb5bd Allow content to override ProcessStream and GetOcclusion in AudioSystem (#6268)
* Add optional override methods for ProcessStream and GetOcclusion

* Mark override events as static

* Change audio actions to non-static
2025-11-30 17:32:26 +01:00
eoineoineoin
83a1098476 Fix bug where ButtonGroup would erroneously unpress buttons (#6271) 2025-11-30 16:57:12 +01:00
Princess Cheeseballs
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
Szunti
899eef397c Make Caps Lock bindable (#6308) 2025-11-24 11:10:24 +01:00
Centronias
6aa4fb9594 Make SpriteSystem.LayerExists say layer index 0 is valid (#6305) 2025-11-21 22:04:20 +01:00
PJB3005
b8ff394f73 Fix spamming startup error messages for projects without splash logo 2025-11-16 15:01:46 +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
80cad0cd8f Add public control sawmill to UI Manager (#6231)
* Add public control sawmill

* Remove static IoCManager in MarkupTagManager

* very important comment

* release notes

* fix merge

* fix
2025-11-13 21:33:50 +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
metalgearsloth
fe19ff9bd5 Fix physics events not being re-run in prediction (#6261)
* Fix physics events not being re-run in prediction

Someone should probably network contacts someday.

* Documentation
2025-11-09 19:37:12 +11:00
PJB3005
602d7833a1 Initial macOS WebView support
This is a gigantic kerfuffle because Chromium expects a very specific directory & app bundle layout. Have to change a bunch of resource loading code to account for content development being launched from an app bundle, and also had to make automatic MSBuild tooling & a python script to generate such an app bundle
2025-11-09 00:06:16 +01:00
metalgearsloth
4755cb5747 Better broadphase performance (#6272)
* Better broadphase parallelism

Moves more stuff into the parallel loop and avoids allocating the list per fixtureproxy.

* Fixes

* Better docs

* doc
2025-11-08 02:11:31 +11:00