PJB3005
927f05fd3b
Robust native, compiled with ogg, opus, and vorbis
2026-01-10 23:22:13 +01:00
DrSmugleaf
e5be11458e
Fix EntProtoId<T>.TryGet throwing an error on invalid prototype ids ( #6349 )
2026-01-01 00:53:14 +01:00
āda
9464ccb500
Get hard collision API method ( #6354 )
...
commit
Co-authored-by: iaada <iaada@users.noreply.github.com >
2025-12-31 23:20:14 +01:00
slarticodefast
de2dafe507
increase Loc.GetString log level to warning ( #6361 )
...
* increase loglevel to warning
* add release notes
---------
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com >
2025-12-31 19:49:05 +01:00
PJB3005
dd41a7ce44
Use hard links for macOS app bundles
...
Avoid needing to get executable path from MainModule, which broke the game when run with the dotnet command instead of the bin's apphost. Fixes tests.
2025-12-31 18:46:46 +01:00
PJB3005
d43c3f2caf
Merge remote-tracking branch 'origin/master' into 25-11-01-cef-update
2025-12-27 01:50:23 +01:00
PJB3005
5f1327808d
Mark IRobustRandom.GetRandom() as obsolete
...
This API should've never existed.
2025-12-24 16:03:06 +01:00
PJB3005
e308b89fe6
Log string map size
2025-12-22 17:56:16 +01:00
PJB3005
76727cec5f
Give timescale a default value to fix tests
2025-12-22 01:49:45 +01:00
PJB3005
bb81d88653
Add [NotContentImplementable] to shared interfaces
2025-12-20 16:49:35 +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
PJB3005
9802963933
Add [NotContentImplementable] attribute
2025-12-20 14:11:36 +01:00
ArtisticRoomba
077ad1929e
Expand SharedUserInterfaceSystem API ( #6342 )
...
* Expand SharedUserInterfaceSystem API
* addr reviews
2025-12-18 22:05:33 +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
Tayrtahn
d7abbad717
Add validation for DirtyField strings ( #5713 )
...
* Add ValidateMemberAttribute, analyzer and test
* Use attribute on DirtyFields methods
* Defer member lookup
* Additional test case
* Add support for collection types
* Poke tests
* Revert "Add support for collection types"
This reverts commit 2b8f5534bd .
* break, not continue
* Cheaper attribute check with AttributeHelper
* Clean up unused helper method
---------
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com >
2025-12-17 19:32:34 +01:00
Tayrtahn
c1737a540f
Analyzer & Fixer for redundant Prototype type strings ( #5718 )
...
* Add Prototype analyzer
* Add Prototype fixer
* Early return after finding prototype attribute
* Add PrototypeEndsWithPrototypeRule diagnostic
* Oops. Uncomment parallelizable.
* Rework to ignore redundancy for non-literal string values
* Allow redundancy when removal would expose class name not ending in "Prototype"
* Promote PrototypeEndsWithPrototypeRule from warning to error, since it causes a runtime error.
* No need to get the symbol to get the class identifier
* Minor cleanup
* A little more cleanup
* More specific location for redundant name
* Refactor redundant name fixer so argument order is no longer important
* Add failing test
* Use symbol analysis to fix alias handling
* Oops! We have to go back to the previous syntax-based approach.
Now it's a hybrid.
Also fixed tests to not copy the prototype definitions.
---------
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com >
2025-12-17 18:15:32 +01:00
PJB3005
ddfa12808c
Fix some roslyn tests
2025-12-17 16:55:33 +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
deltanedas
d548bce347
make EntityQuery.Resolve error not useless ( #6320 )
...
* make EntityQuery.Resolve error not useless
* it actually wasnt that bad
* goida
* make EntityQuery constructor internal
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-12-16 14:23:47 +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
4f21c8c9b2
Move default marker filename to SLNX
...
Will be alright because next engine version will demand SLNX templating
2025-12-15 22:40:42 +01:00
slarticodefast
4747e5a05a
Add and update a lot of documentation ( #6337 )
...
* Serialization docs
Co-authored-by: Moony <moonheart08@users.noreply.github.com >
* ECS docs
Co-authored-by: Moony <moonheart08@users.noreply.github.com >
* scattered docs
Co-authored-by: Moony <moonheart08@users.noreply.github.com >
* Fixes
---------
Co-authored-by: Moony <moonheart08@users.noreply.github.com >
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com >
2025-12-15 20:26:17 +01:00
Pieter-Jan Briers
d161c3b3b8
Add FormattedString type ( #6339 )
...
This is basically a lightweight marker type saying "this string contains markup". Intended to avoid injection accidents if people don't realize they should escape stuff.
2025-12-15 19:36:16 +01:00
PJB3005
53e1222b6b
Fix FormattedMessage not escaping text when converted to markup
...
Meant that ToMarkup() wasn't actually round-trip safe.
2025-12-15 04:58:23 +01:00
PJB3005
8de8f5dc7f
Add AVX10 as logged intrinsics
2025-12-14 21:56:08 +01:00
PJB3005
e9dc40be24
Report available memory in startup info
2025-12-14 21:55:58 +01:00
PJB3005
b4a0dad67a
Fix tests on .NET 10
...
Fixes #6329
2025-12-14 17:46:41 +01:00
kosticia
f1c30128d6
Fix typos in EntityDeserializaer ( #6336 )
...
good
2025-12-10 19:20:00 +01:00
PJB3005
fe35a24e88
Basic prototype string interning
...
From my extremely rough and unscientific tests, this saves like 15 MB of client memory on the main menu. Probably also just improves load speed on startup too.
It's per file to keep the implementation simple.
2025-12-09 12:31:50 +01:00
PJB3005
0414cde339
Remove recursion from TilesEnumerator
...
We love stack overflowing, Rider refactor go brr
Fixes #6330
2025-12-08 00:54:13 +01:00
PJB3005
20d97ff855
Add ExtensionMarkerAttribute to sandbox
...
Necessary for C# 14 extension members
2025-12-04 19:08:20 +01:00
PJB3005
9d45357ca9
Enable C# 14, fix a nullability error
2025-12-04 17:49:46 +01:00
PJB3005
6bbeaeeba6
Fix NetBitArraySerializer compatibility.
...
Apparently NetSerializer treats IDynamicTypeSerializer and IStaticTypeSerializer differently for sealed types??
2025-12-02 00:51:04 +01:00
B_Kirill
3175a6cb2b
Cleanup warnings: CS0162, CS0618, CS0649 ( #6309 )
...
* Cleanup
* Revert TagHandler for now
* Probably deleting it would be better
2025-12-01 15:02:25 +01:00
LaCumbiaDelCoronavirus
c41d63be27
make SharedAudioSystem.Stop not return early when the current tick has already been predicted ( #6137 )
...
1 line diff
2025-11-30 17:02:35 +01:00
Myra
28f7d6497e
Add Account Creation time from auth to the userdata ( #6278 )
...
Add CreatedTime from auth to the userdata
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com >
2025-11-30 17:01:08 +01:00
ArtisticRoomba
107b7c5077
IParallelBulkRobustJob ( #6307 )
...
* init commit
* thank you tests
2025-11-30 16:30:45 +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
PJB3005
b267cd6fb4
Actually add NetBitArraySerializer to RobustSerializer
...
oops
#6301
2025-11-15 18:46:01 +01:00
PJB3005
83ad6042a7
Fix BitArray serialization for .NET 10
...
Fixes #6301
2025-11-15 18:41:43 +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
64baee0a22
Add support for including map/game saves in replays. ( #6189 )
...
* Improve map serialization error logging
* Prevent remove children of erroring entities
* better logging
* Improve error tolerance
* Even more exception tolerance
* missing !
* Add WriteYaml and WriteObject to IReplayFileWriter
* Add MapLoaderSystem.TrySaveAllEntities()
* On second thought, WriteObject will just be abused
* I forgot to commit
* Add default implementation to avoid breaking changes
* release notes
* fix merge issues
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
2025-11-13 22:14:56 +11:00
DrSmugleaf
83279ff285
Fix YAML linter not printing the erroring file when failing to load it ( #6256 )
2025-11-13 21:35:42 +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
Leon Friedrich
b15d960c69
Try improve RaiseEvent performance ( #5925 )
...
* IEventBus -> EventBus
* Fix CompIdx.RefArray
* IEntityManager -> EntityManager
* Remove double delegate
* Add GetNetCompEventHandlers()
* release notes & cleanup
* Make PVS use GetNetCompEventHandlers
* I love event bus tests
* also fix pvs pause test
* dont trimm
---------
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com >
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
2025-11-13 21:32:40 +11:00
metalgearsloth
cd59027089
Double-buffer contact events ( #6295 )
...
* Add
* a
* Fix test
* note
* Fix reflection
2025-11-13 21:28:13 +11:00
metalgearsloth
015bf3318b
Generic GetMassData ( #6291 )
...
* Generic GetMassData
Nothing fancy. Also made the class version use the struct.
* Slim method
* Fix test
2025-11-10 18:30:24 +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