Commit Graph
104 Commits
Author SHA1 Message Date
metalgearslothandGitHub 2f6839f4e3 PredictedQueueDel fix attempt (#6688) 2026-07-24 00:26:36 +10:00
metalgearslothandGitHub 651e9034dd Cache grafana histograms (#6767) 2026-07-16 19:14:32 +10: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
bb4c4ed302 Fix PredictedQueueDeleteEntity mispredicts (#6260)
* Fix PredictedQueueDeleteEntity

* typo

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2025-10-27 23:04:12 +11:00
de188cc773 Defer PredictedQueueDel detachment on the client (#6154)
* Defer PredictedQueueDel detachment on the client

* release notes

* fixes

* I love ambiguous implicit casts

* avoid deferral issues

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2025-09-26 19:13:14 +12:00
8dc55e8748 fix the lifestage checks on predicted entity deletion (#5993)
Co-authored-by: Ruddygreat <ruddygreat1@gmail.com>
2025-06-05 22:29:22 +10:00
Leon FriedrichandGitHub f49b01b1b7 PredictedDeleteEntity fixes (#5873)
* PredictedDeleteEntity fixes

* release notes
2025-04-20 23:38:43 +10:00
metalgearslothandGitHub 65d2f2dd2f Entity spawn prediction v1 (#5841)
* Entity spawn prediction v1

Client can't properly interact with this but that requires additional work on top so we can cleanly split this.

* This

* delete fix

* cats
2025-04-19 16:50:41 +10:00
MilonandGitHub 1029047e2f fix (#5752) 2025-03-20 22:30:59 +11:00
Leon FriedrichandGitHub 3f37846731 Avoid unnecessary DirtyField() calls (#5620) 2025-01-27 21:21:53 +11:00
Pieter-Jan Briers cf230b3454 Warning fixes centered around Clyde
Pulling entity systems into direct fields in Clyde to make it now painful. This required adding an event to ClientEntityManager when these become available, as they are only available when the client is in a server/single player.
2024-07-23 17:49:56 +02:00
Pieter-Jan BriersandGitHub b8924a04cf Fix RaisePredictiveEvent prediction checks (#5294)
RaisePredictiveEvent was made to not check whether prediction is enabled in #3534. This doesn't make much sense to me and is causing various SS14 game logic to erroneously run when prediction is disabled.

Here's the fix PR. Also fixes the assert to actually work (checking Connected is wrong, it should've been InGame) and makes the new check also account for SinglePlayerGame.
2024-07-13 15:30:20 +10:00
Pieter-Jan BriersandGitHub 7fbcfeaa8f Warning fixes (#5275)
* Warning fixes in Robust.Shared

* Robust.Client warning fixes

* Fix test failure

Test failures were due to broken system registrations for the client RobustUnitTest. It was accidentally registering some server systems, which means DebugPhysicsSystem wasn't gettings its dependencies properly.

Fixing this meant pulling half a dozen extra dependencies that client ContainerSystem and TransformSystem are supposed to have, but didn't.
2024-07-10 01:38:32 +02:00
metalgearslothandGitHub 4bed20e070 Add RaiseSharedEvent (#4950)
Used in some rare cases on content (popups + pickup prediction). I was too lazy to make system proxy methods because it's very infrequent.
2024-03-10 19:33:45 +01:00
Pieter-Jan Briers a3047b1687 More warning fixes 2024-02-11 15:51:07 +01:00
Leon FriedrichandGitHub 012faa0a16 Don't log errors when attempting to delete invalid entities (#4786) 2023-12-31 06:24:33 +11:00
Leon FriedrichandGitHub eba58cb893 Remove RobustTree & PVSCollection (#4759)
* Cut down RobustTree

* Better LoD

* Add PvsPriority flag

* Undo cvar name change

* reorganize grafana metrics

* Fix tests

* Fix replays

* Don't try process empty chunks

* Fix move benchmark

* Fix benchmark

* Remove obsolete audio methods

* Moar benchmarks

* Rename EntityData

* A

* B
2023-12-28 09:10:13 +11:00
Leon FriedrichandGitHub 5232e61d38 Add multi-component Dirty() methods (#4770) 2023-12-28 08:20:06 +11:00
metalgearslothandGitHub 24b0165ec9 Revert Arch (#4613) 2023-11-27 21:41:01 +11:00
7dce51e2cf Arch PR two electric boogaloo (#4388)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-11-23 14:29:37 +11:00
Leon FriedrichandGitHub 5a6c4220fc IPlayerManager refactor (#4518) 2023-10-24 20:18:58 +11:00
DrSmugleafandGitHub f754ddb96d Remove all usages of obsolete Dirty method, remove some obsoleted methods (#4500) 2023-10-21 14:19:07 -07:00
DrSmugleafandGitHub b737ecf9b3 Add generic EntityUid, remove some usages of .Owner (#4498) 2023-10-19 12:23:48 -07:00
DrSmugleafandGitHub 6b6ec844e8 Replace all T : Component constraints with T : IComponent (#4494) 2023-10-17 19:37:46 -07:00
Leon FriedrichandGitHub 684cabf3e6 Use metadata query in ToPrettyString() (#4478) 2023-10-09 19:07:31 +11:00
metalgearslothandGitHub c4c528478e Use gamestate fields to avoid heap allocs (#4452) 2023-09-29 15:03:50 +10:00
Leon FriedrichandGitHub 4a4a135089 Make ToPrettyString() take in nullable EntityUids (#4396) 2023-09-15 01:43:39 -07:00
DrSmugleafandGitHub 1476f9d462 Make QueueDel work with nullable entity uids (#4381) 2023-09-13 12:58:03 +10:00
metalgearslothandGitHub 3fd731d917 Network entity ids (#4252) 2023-09-11 09:42:55 +10:00
metalgearslothandGitHub f905ea631b Raise MapInitEvent on components added after spawn (#4290) 2023-09-10 10:47:18 +10:00
Leon FriedrichandGitHub 9d4105abc7 Add support for client-side replays (#4122) 2023-06-19 03:23:46 +10:00
Leon FriedrichandGitHub a9eafd4025 Add new Dirty() override for Component.Owner removal (#4144) 2023-06-18 03:19:40 +10:00
Pieter-Jan Briers 1da229549d Remove some Logger usages from client.
About all I could muster before I got bored.
2023-06-10 00:19:09 +02:00
Leon FriedrichandGitHub b8081a335a Fix queued deletion error log (#3982) 2023-05-01 14:11:51 +10:00
metalgearslothandGitHub 26efbb4b81 Adjust QDel log (#3888) 2023-03-29 18:38:55 +11:00
metalgearslothandGitHub 27877820ed Add QueueDel logs (#3878) 2023-03-27 10:41:48 +11:00
Leon FriedrichandGitHub f856ac0efa Misc replay related engine changes (#3508) 2022-11-28 12:11:44 +11:00
Leon FriedrichandGitHub c5ebe2c252 Two small bugfixes (#3534) 2022-11-26 16:03:38 +11:00
Leon FriedrichandGitHub 7b59fbd3ef Audio and other misc replay related changes (#3471) 2022-11-22 11:49:59 +11:00
Leon FriedrichandGitHub 60e0c0b804 Expose more state/tick logic to content (#3474) 2022-11-16 20:56:02 +01:00
Leon FriedrichandGitHub 603b88c77a Client entity deletion error tolerance (#3435) 2022-11-06 03:45:28 +11:00
Leon FriedrichandGitHub d867661c24 Add MetadataComponent argument to Dirty() (#3302) 2022-10-09 16:19:09 +11:00
Leon FriedrichandGitHub 1af0ebca6c Make RaisePredictiveEvent check IsPredictionEnabled (#3246) 2022-09-14 16:39:49 +10:00
Leon FriedrichandGitHub a2a25fb296 Add session info for client-side ToPrettyString() (#3162) 2022-08-23 02:56:09 +10:00
Leon FriedrichandGitHub 6a8266af7e Revert "Revert "PVS & client state handling changes"" (#3152) 2022-08-21 08:30:28 +10:00
Leon FriedrichandGitHub 9cd8adae93 Revert "PVS & client state handling changes" (#3151) 2022-08-21 05:27:16 +10:00
Leon FriedrichandGitHub b4358a9e33 PVS & client state handling changes (#3000) 2022-08-21 03:40:18 +10:00
Pieter-Jan Briers 6fc1daf978 Some compiler warning fixes. 2022-05-28 13:36:35 +02:00
b0a4593f44 Speed up map init, and unpause map on init (#2781)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-05-05 19:21:03 +10:00
Pieter-Jan Briers 45d906ba7e Deprecate CreateNetMessage<T>. 2022-04-15 18:47:42 +02:00