Commit Graph
1589 Commits
Author SHA1 Message Date
WhatstoneandGitHub 5749d7a6e5 Revert UI queueing (#6789, #6829, #6840) (#6900)
* Revert "Hotfix: pass last state in SharedUserInterfaceSystem.EnsureClientBui (#6840)"

This reverts commit 08b3257ece.

* Revert "Bugfix: SharedUserInterfaceSystem stores and applies BUI states in order. (#6829)"

This reverts commit c766e79ef4.

* Revert "Defer UI operations until UI system runs frame update (#6789)"

This reverts commit f44d7e00c3.
2026-08-04 01:14:17 +00:00
metalgearslothandGitHub e27e039aea Fix some movebuffer holes with nullspace (#6838) 2026-08-01 16:01:45 +10:00
metalgearslothandGitHub ac13da4328 Add chunk entities (#6705) 2026-07-24 19:02:55 +10:00
08b3257ece Hotfix: pass last state in SharedUserInterfaceSystem.EnsureClientBui (#6840)
* sins

* New AddQueuedState function, comment both

* I like this name better actually

---------

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
2026-07-23 20:03:30 -07:00
WhatstoneandGitHub c766e79ef4 Bugfix: SharedUserInterfaceSystem stores and applies BUI states in order. (#6829)
* store intermediate bui states

* exception printout, remove redundant check

* Set state on Open

* trygetvalue defaults, you dingus

* fix string interpolation bug

* queue in SetUiState

* queue in SetUiState regardless

* TryGetValue->GetValueOrDefault
2026-07-23 14:01:16 -07:00
metalgearslothandGitHub 45f3caaac4 Fastpath EntityManager.IsDefault (#6735)
* Slim it down

Had the spawn mess included.

* fixes

* build fix
2026-07-24 01:07:57 +10:00
deltanedasGitHubdeltanedas <@deltanedas:goida.zip>metalgearsloth
9cd8401cfb Serializer improvement and cleanup (#6674)
Co-authored-by: deltanedas <@deltanedas:goida.zip>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2026-07-24 00:57:13 +10:00
5e79016217 Illumination measuring system to determine how "lit up" entities are (#5574)
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2026-07-23 23:09:22 +10:00
metalgearslothandGitHub 7b4f159474 Optimise PVS broadphase leaves (#6810) 2026-07-18 13:03:26 +10:00
metalgearslothandGitHub 17224a8ec1 Optimise broadphase re-insertions (#6809) 2026-07-18 11:07:10 +10:00
WhatstoneandGitHub 7c7d1ae451 Cleanup: Warning resolution/suppression (#6721) 2026-07-16 19:43:54 +10:00
ab4db16d08 Fix calling Dirty+DiryField on same tick (#6685)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2026-07-16 19:32:20 +10:00
metalgearslothandGitHub a978e33560 Cache entity system profile names (#6765) 2026-07-16 19:14:41 +10:00
metalgearslothandGitHub 651e9034dd Cache grafana histograms (#6767) 2026-07-16 19:14:32 +10:00
eoineoineoinandGitHub f44d7e00c3 Defer UI operations until UI system runs frame update (#6789) 2026-07-16 17:22:55 +10:00
RoudenandGitHub c2d0490a9e Add EntitySystem.TryComp(EntityUid, Type, out IComponent?) proxy method (#6746) 2026-07-08 22:26:21 +10:00
34ce2ba534 serv5 (#6496)
* Add source generator for DataDefinition validation

* Add source generator for reading

* Add source generator for writing

* Include prototypes and other meansdatadefinition types

* Target ISerializationGenerated in data definitions

* Murder

* Use array, struct, enum methods

* Source generate get field definitions

* serv5

* Fix and pray

* Fix release compile

* Tayrtahn review

* a

* Generator bugfix

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2026-07-08 22:18:35 +10:00
ГолубьandGitHub 6a6cff2b87 Serialize EyeComponent.DrawLight (#6433) 2026-07-04 12:06:10 +10:00
f2625bf5c5 Removes IMapManager (#6584)
* Move MapManager queries to SharedMapSystem
Moves all variants of FindGridsIntersecting/TryFindGridAt to SharedMapSystem
Hollows out the MapManager methods and converts them into relays to SharedMapSystem

* Move CreateGrid to SharedMapSystem
Moves the functionality for CreateGrid and its variants to SharedMapSystem
Hollows out the MapManager methods and converts them into relays for the SharedMapSystem methods
Obsoletes them too
Also moves over the GetAllMapGrids and GetAllGrids methods

* Move RaiseOnTileChanged to SharedMapSystem
Also moves the SuppressOnTileChanged flag member to SharedMapSystem
Hollows out and obsoletes the MapManager versions

* Move default value constants to SharedMapSystem

* Converts map pausing events into LocalizedEntityCommands

* Move MapManager related delegates/structs to SharedMapSystem
Moves the GridCreationOptions struct to the same namespace as SharedMapSystem and converts it into a record struct
Move the GridCallback delegates to the same namespace as SharedMapSystem

* Move CullDeletionHistory to SharedMapSystem
Well, that was less painful than I thought it would be

* Actually obsolete the NetworkedMapManager method

* Rename file

* Doc comments for new SharedMapSystem methods

* Doc comment

* Doc comments

* Fix access

* Purge all references to IMapManagerInternal

* Cull easy IMapManager references

* The rest

* Purge IMapManager

* Private internal FindGridsIntersecting method

* please die

* 41

* notes

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-07-01 19:32:17 -07:00
1322177e62 IEntitySystem Event Subscription Code Generation (#6227)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2026-07-01 13:30:23 +10:00
WhatstoneandGitHub dfe1d4ef8a Cleanup: ProtoMan Part 3 - remove redundant EntitySystem IPrototypeManager, IComponentFactory instances (#6693) 2026-06-30 17:12:55 +10:00
c3f80b99bd Change SpawnAtPoisition EntityCoordinates overload to use the rotation of the attached entity, and to allow a rotation override. (#6527)
* minor API addition

* better

* I forgor

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-28 20:56:10 +10:00
TemporalOroborosandGitHub 5dbf86fb93 IMapManager to hospice care (#6579)
* Move MapManager queries to SharedMapSystem
Moves all variants of FindGridsIntersecting/TryFindGridAt to SharedMapSystem
Hollows out the MapManager methods and converts them into relays to SharedMapSystem

* Move CreateGrid to SharedMapSystem
Moves the functionality for CreateGrid and its variants to SharedMapSystem
Hollows out the MapManager methods and converts them into relays for the SharedMapSystem methods
Obsoletes them too
Also moves over the GetAllMapGrids and GetAllGrids methods

* Move RaiseOnTileChanged to SharedMapSystem
Also moves the SuppressOnTileChanged flag member to SharedMapSystem
Hollows out and obsoletes the MapManager versions

* Move default value constants to SharedMapSystem

* Converts map pausing events into LocalizedEntityCommands

* Move MapManager related delegates/structs to SharedMapSystem
Moves the GridCreationOptions struct to the same namespace as SharedMapSystem and converts it into a record struct
Move the GridCallback delegates to the same namespace as SharedMapSystem

* Move CullDeletionHistory to SharedMapSystem
Well, that was less painful than I thought it would be

* Actually obsolete the NetworkedMapManager method

* Rename file

* Doc comments for new SharedMapSystem methods

* Doc comment

* Doc comments

* Fix access
2026-06-27 18:33:48 +10:00
DrSmugleafandGitHub c51009d4f0 Allow foreach with EntityQueryEnumerator and AllEntityQueryEnumerator (#6660) 2026-06-27 17:58:16 +10:00
metalgearslothandGitHub d07c1af29b Early-out PVS updates on rotation (#133) 2026-06-24 22:39:36 +10:00
metalgearslothandGitHub e568c7ba78 LocalRotation normalize + obsolete setter (#125) 2026-06-21 16:08:30 +10:00
metalgearsloth 751952a85f Merge remote-tracking branch 'upstream/master' into 2026-06-18-bui-message 2026-06-19 20:32:18 +10:00
deltanedas e1ebbd0acb ! 2026-06-18 15:17:41 +01:00
deltanedas a008dda4fa add pure 2026-06-18 15:15:42 +01:00
metalgearsloth cb768d2aa5 Raise a BUI message on any input
The bound wrapper is internal only and I don't want these filtered out by UI validation.
2026-06-18 17:21:47 +10:00
deltanedasanddeltanedas 9160f48608 fix remark on no ignored components 2026-06-17 19:54:42 +01:00
deltanedasanddeltanedas dc2cbd952f CompName gaming 2026-06-17 19:54:42 +01:00
6522ff42ec Apply suggestions from code review
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2026-06-17 19:54:42 +01:00
a86e33ccb6 a
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2026-06-17 19:54:42 +01:00
deltanedasanddeltanedas c12e4e7acc add HasComp proxy methods for EntProtoId and EntityPrototype 2026-06-17 19:54:42 +01:00
deltanedasanddeltanedas c9d5f31fbf add Proto field to EntitySystem for proxy and all systems to use 2026-06-17 19:54:41 +01:00
metalgearslothandGitHub 338825c8e7 Add Pure attr to EntityLookup bounds methods (#6622) 2026-06-09 16:54:31 +02:00
611023acbc Add SharedMapSystem.GetFilledTileCount (#6562)
* Add SharedMapSystem.GetFilledTileCount

* Update Robust.Shared/GameObjects/Systems/SharedMapSystem.Grid.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-05-22 16:57:11 -04:00
f68abaab68 EntityManager Singleton methods (#6445)
* Implement the singleton methods.

* Fix API + Tests.

* Move remark.

* Typo fix + Proxies.

* Pause remarks.

* No, really, we don't obey paused!

* Release notes.

* testdocs.

* Poke

* The API design axe.

* Update Robust.Shared.IntegrationTests/GameObjects/EntityManagerSingletonTests.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* Remove unused doc comment blerb

---------

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2026-05-08 12:49:54 +02:00
83c2a1be11 [Dependency] source generator part 2 (#6550)
* [Dependency] source generator

No more reflection, no more codegen at runtime

Also various changes to Roslyn helpers to make this easier to write.

Requires all types with dependencies to be partial and not have readonly dependency fields. An analyzer enforces this at warning level, the previous injection strategies have remained in the code *for now* as a fallback.

No fallback is available for [field: Dependency] properties, due to a Roslyn bug.

Code Fixes exist. We love Roslyn

* Apply dependencies generator changes to all code

* Release notes

* Preprocessor got hands

* Handle nullable dependencies

These are bad but gotta deal with it.

* Apply suggestions from code review

Co-authored-by: Moony <moony@hellomouse.net>

* Fine, let's not use collection expressions

---------

Co-authored-by: Moony <moony@hellomouse.net>
2026-05-08 12:38:33 +02:00
TayrtahnandGitHub 60d6114906 Fix SetCoordinates causing unexpected reparenting (#6533)
* Don't check for grid traversal when we already know the new parent

* Actually, we shouldn't ever need to check for grid traversal in SetCoordinates
2026-04-25 01:04:00 -04:00
DrSmugleafandGitHub 437a65ffd1 Fix TryGetEntitySystem and GetEntitySystemOrNull throwing with uninitialized EntitySystemManager (#6512) 2026-04-07 12:51:57 -04:00
TayrtahnandGitHub 1666a3a704 Fix BUI EntitySystem injection (#6515)
* Disable injection when creating BUI instances (the constructor will take care of it)

* Comment

* Release note
2026-04-07 12:51:03 -04:00
slarticodefastandGitHub a516aa2414 Fully Obsolete TimerComponent (#6475)
remove timer comp
2026-03-25 00:31:14 -04:00
TayrtahnandGitHub d2792926e5 Remove [Virtual] attributes from abstract/sealed classes (#6482)
Removed [Virtual] attributes that shouldn't be there
2026-03-24 23:41:58 -04:00
TayrtahnandGitHub fcc2c01d01 Revert "Revert "Add analyzer & fixer to detect when proxy methods are not used (ProxyForAttribute)"" (#6439)
Revert "Revert "Add analyzer & fixer to detect when proxy methods are not use…"

This reverts commit 1af32c3129.
2026-03-07 11:32:01 -05:00
e428a341e1 Debug assertions + a throw in RemoveComponentImmediate. (#6437)
* Debug assertions + a throw in RemoveComponentImmediate.

* nit

* Update Robust.Shared/GameObjects/EntityManager.Components.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2026-03-04 11:26:39 -05:00
TayrtahnandGitHub 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
TayrtahnandGitHub 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
pathetic meowmeowandGitHub ea5394f06b Make UserInterfaceComponent#Interfaces AlwaysPushInheritance (#6426) 2026-02-27 08:16:28 -05:00