Commit Graph

9623 Commits

Author SHA1 Message Date
PJB3005
54645b4adf Use fancy mac symbols for key names 2025-08-17 16:24:04 +02:00
PJB3005
c69756e7f1 Merge remote-tracking branch 'upstream/master' into dont-skip-leg-day 2025-08-07 21:27:41 +02:00
PJB3005
07fbd5263c Run disconnect callbacks after removing channel from lists
Similar to the previous changes to player sessions, but now one layer lower.

Fixed ServerSendToAll from the relevant callbacks sending to a disconnected channel.
2025-08-07 00:44:06 +02:00
PJB3005
a1cdd60602 Version: 266.0.0 v266.0.0 2025-08-06 16:14:11 +02:00
PJB3005
6fcaee91b6 Update release notes 2025-08-06 16:11:03 +02:00
slarticodefast
4d4f353680 Move ScaleVisuals to Content (and improve it) (#6096)
* împrove ScaleVisuals

* toolshedify

* fix

* rerun tests

* remove redundant code

* move to content
2025-08-06 14:33:35 +02:00
Hannah Giovanna Dawson
9f0dad80e4 Fix instrument pausing when outside PVS range (#6113) 2025-08-06 01:12:55 +02:00
Hannah Giovanna Dawson
c3f4b9bd67 Update MidiRenderer to use TryNoteOn and TryNoteOff (#6106)
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-08-06 01:02:15 +02:00
PJB3005
641411288f Update NFluidsynth to 0.2.0 2025-08-06 00:48:40 +02:00
Hannah Giovanna Dawson
1fb7d3e723 Minimum MIDI note volume (#6127) 2025-08-05 23:35:48 +02:00
PJB3005
8cbc5d4cd8 Raise PlayerStatusChanged after removing disconnected players
This makes it so players aren't in the Sessions list anymore when their status is Disconnected.

Fixes SS14's lobby code sending lobby status updates to the just-disconnected player, which logs an error with the recent net message changes.
2025-08-05 17:31:29 +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
Tayrtahn
e771530de2 Mark AutoGenerateComponentStateAttribute fields as readonly (redo) (#6129)
* Mark AutoGenerateComponentStateAttribute fields as readonly

* Remove no-longer-valid test case
2025-08-05 00:48:36 -04:00
Tayrtahn
ce3a5f6bfa Revert "Mark AutoGenerateComponentStateAttribute fields as readonly (#6126)" (#6128)
This reverts commit 1cd802640a.
2025-08-04 18:32:54 -04:00
Tayrtahn
1cd802640a Mark AutoGenerateComponentStateAttribute fields as readonly (#6126) 2025-08-04 18:25:09 -04:00
Perry Fraser
1983734e2d feat: add analyzer for correct AfterAutoHandleStateEvent usage (#6117)
* feat: add analyzer for AfterAutoHandleStateEvent

* fix: correct TestOf attribute

Oopsieeeee.

Also weird newline plus unused import.

* Rerun content tests

* refactor: use ==, not .Contains

* feat: make AttributeHelper.HasAttribute looser

* refactor: use AttributeHelper.HasAttribute

* perf: cache AutoGenStateAttribute's type

* refactor: more pattern matching

ElementAtOrDefault with constant arg is bad; just use positional
matching.
2025-08-04 18:22:06 -04:00
PJB3005
ea380056b4 Make BaseWindow dragging use new cursor shapes
Technology.
2025-08-04 16:34:38 +02:00
PJB3005
9c26fba308 Add uitest tab for mouse cursor shapes 2025-08-04 16:31:51 +02:00
PJB3005
3de48d7595 Add more SDL3-exclusive mouse cursor shapes
They just fall back on GLFW.
2025-08-04 16:31:43 +02:00
pathetic meowmeow
7a510298e1 Add the ability to scale ItemList icons (#6125) 2025-08-04 10:34:46 +02:00
PJB3005
046db645e9 Update ImageSharp to shut up vulnerability warnings
It's just a DoS attack so nothing too major (for us) but still annoying.
2025-08-02 21:52:01 +02:00
Tayrtahn
63e383bb17 Fix NotYamlSerializable analyzer ignoring nullable structs (#5934)
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-08-02 19:25:48 +02:00
Tayrtahn
e316649fd1 Add a Select button to ProtoId VV editor (#6097)
* Add a Select button to ProtoId VV editor

* Changelog

* Fix ftl string name

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-08-02 19:08:24 +02:00
Fildrance
121b58ee9a feat: added generic method for getting component from ComponentRegistry (#6082)
* feat: added generic method for getting component from ComponentRegistry

* refactor: corrected xml-doc

* refactor: moved emthod to ComponentRegistry

* Fix release notes entry.

Wording + it was in the template.

* Fix doc comments

* Do not use inappropriate fallible cast.

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-08-02 18:55:49 +02:00
PJB3005
d11f4bcc14 Fix release notes AGAIN 2025-08-02 18:53:29 +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
Connor Huffine
772173cbaf Fix Non-solution Build: second attempt (#6098)
Downselect Robust.Client.Injectors to 'Debug' or 'Release' when built outside of solution context
2025-08-02 18:23:13 +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
pathetic meowmeow
bc4b4d3e6f Fix color naming crash (#6102) 2025-08-02 17:15:49 +02:00
Łukasz Mędrek
7d9a039252 add: Dictionary<T, TimeSpan> OnUnpaused generator (#6119)
* add: Dictionary<T, TimeSpan> OnUnpaused generator

* fix

* add: test

* Fix compiler warning from duplicate using

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-08-02 16:57:43 +02:00
Zeneganto
857f9a540b Add localization support for TileSpawnWindow (#6121) 2025-08-02 16:53:14 +02:00
Perry Fraser
6ae332d543 fix: use the actual top anchor in SetMarginsPreset (#6118) 2025-08-01 13:10:26 +02:00
slarticodefast
f4786f2d90 add QueueDeleteMap to SharedMapSystem (#6116) 2025-07-31 11:13:28 -04: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
3d289fbd83 Update NetSerializer
Adds ImmutableDictionary and ImmutableHashSet serializers.
2025-07-29 01:17:19 +02:00
PJB3005
ebce0daa1b Merge remote-tracking branch 'upstream/master' into dont-skip-leg-day 2025-07-28 20:54:36 +02:00
PJB3005
bbbfcca303 Fix RSI preloading with .rsic files 2025-07-28 18:50:20 +02:00
DrSmugleaf
e195ac4ce6 Add ImmutableArrayExtensions All to sandbox.yml (#6110) 2025-07-28 16:05:05 +02:00
PJB3005
dc5cbd085b Enable RSI packing pass in RobustClientAssetGraph 2025-07-26 02:08:34 +02:00
PJB3005
c4dff678a9 Make .rsic packing in asset packaging work
Finishing what I started a couple years ago, the packaging system now packages .rsi files into single .rsic files. This means a single .rsi "file" (1 + N files) becomes a single file when packaged.

This should improve performance on game startup, downloading, etc etc. The total file count for SS14 goes down from 30,000 to 6,000 (with the previous change for merging text files too).

Mostly just involved shuffling a bunch of the RSI loading code around so that it can be re-used for this purpose nicely. The original prototype in the code was copy-pasted, which obviously couldn't be relied upon.

This does mean that if you're loading an RSI's interior PNG directly via a texture path, that PNG will now be unavailable on packaged builds. To avoid this, you can set "rsic": false in the meta.json, so that it gets left alone by the pass.
2025-07-26 01:51:17 +02:00
PJB3005
cd9616c87c Add new text file merge asset pass to RobustClientAssetGraph 2025-07-25 15:57:47 +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
PJB3005
1ebac7c894 Make prototype load ignore documents with empty values
This happens if you have a YAML file like this:

---
# commented prototype
---
# Real prototype
- type: bla

This case is generated by my (next commit) prototype file merger asset pass, and I don't see any harm in just skipping in this case.

Also improve the logging in general.
2025-07-25 15:54:58 +02:00
PJB3005
6b41be8901 Make AssetPassPackRsis not crap out due to ImageSharp errors.
Still just for testing.
2025-07-25 15:50:21 +02:00
PJB3005
51c929c8ec Version: 265.0.0 v265.0.0 2025-07-23 01:47:41 +02:00
PJB3005
4863b09f0a Update release notes 2025-07-23 01:47:16 +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