* Add InterfaceData constructor
Add InterfaceData constructor to allow for dynamic UI assignment via
SharedUiSystem::setUi
* empty commit because of heisentest
* BUI helpers
- Some virtual methods for BUI to make it slightly easier. Haven't though of a good way to do it via sourcegen yet.
- TryGetUiState which is occasionally useful.
* Also this one
* V1 commit
* V2 Commit, ObjectSerializer
* Make sure write for objects have the !type:<T> set
* Added AppearanceDataInit
* Change to AppearanceDataInit setting to AppearanceData the moment it itself gets set; ComponentInit is too late. Forgive me sloth.
* RELEASE-NOTES.md
* Fix release notes
* Fix release-notes for realsies
* Add window helper for BUIs
Automatically does OnClose and just makes content slightly nicer.
* more
* Add prototype reload helper
* Add Box2i Center
* weh
* Add MapSystem.GetMapOrInvalid
This is effectively the same exact behavior as IMapManager.GetMapEntityId. Adding this so I don't have to consider whether warning fixes using MapSystem.GetMap() instead would change behavior.
* Warning fixes around IMapManager.GetMapEntityId
* Fix tests
* 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.
* Make PvsSystem consider offset and zoom from EyeComponent
* Just use PvsScale float
* float.IsFinite
---------
Co-authored-by: geraeumig <alfenos@proton.me>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Fix grid-based audio
- Fixes parenting issues.
- Add SetGridAudio as an easy way to set it up and apply the override too.
* No more global
* Rejig it all
* mergew
* review
* Minor optimisation
* Revert "Minor optimisation"
This reverts commit d0cdac7690.
* Add load parameter support to RSIs.
Currently only supports turning sRGB off. RSIs with custom load parameters are not thrown into the meta-atlas.
As part of this, TextureLoadParameters and TextureSampleParameters has been made to support equality.
* Add UV2 channel to vertices.
This is a bad hack to make displacement maps work in Robust. The UV2 channel goes from 0 -> 1 across the draw and can therefore be used by displacement maps to map a separate displacement map layer on top of the regular meta-atlas RSI texture.
This creates float inaccuracy issues but they weren't bad enough to completely void the feature. I'm thinking I learn from this experience and completely re-do how UVs work with the renderer rewrite, so that hopefully won't happen anymore.
This required dumping the optimized PadVerticesV2 because the changed struct size made it impractical. RIP.
I don't like this approach at all but the renderer is slated for a rewrite anyways, and all shaders will need to be rewritten regardless.
* Add CopyToShaderParameters for sprite layers.
This effectively allows copying the parameters of a sprite layer into another layer's shader parameters. The use case is to copy texture coordinates for displacement maps, as the exact map used changes depending on orientation. It also enables animations to be used though I didn't use that personally.
* Add TryGetOpenBUI
Avoids having to get the component and openinterfaces separately.
* Couple more helpers
* entityquery
* reviews
* Shared BUIs
* zawehdo
* More boilerplate
* Bunch more work
* Building
* Stuff
* More state handling
* API cleanup
* Slight tweak
* Tweaks
* gabriel
* Disposies
* Active UI support
* Lots of fixes
- Fix states not applying properly, fix predicted messages, remove redundant message type, add RaiseUiMessage for an easy way to do it from shared, add the old BUI state change events back.
* Fix test failures
* weh
* Remove unncessary closes.
* release note
Useful in some rare cases, mainly for grid-related activities.
Specifically:
- Audio entity where we never want it detached.
- FTL previs effects to show impending squish.
* Extension helper function for registering BUI events filtered to UI key.
Usages of events like BoundUIClosedEvent frequently did not check the UI key or do it improperly. This has, and will continue to cause, bugs.
The new helper (accessible as Subs.BuiEvents() from an entity system) makes it easy to subscribe to BUI events while also filtering to the correct UI key.
Also added missing SubscribeLocalEvent overloads with new handler types to EntitySystem.Subscriptions.
* Sprinkle [ViewVariables] around BUI
* Avoid buggy behavior if a Bound UI is closed inside the `BoundUIOpenedEvent` that's opening it.
* Don't defer grid traversals
Transform is in a slightly better state so we can remove this hacky thing.
It got to the point it was doing a bunch of unnecessary checks (no need to check container if you're just checking map / grid parent assuming no map / grid has containers).
The main concern now is: Does not deferring cause any issues, which it doesn't seem to (previously this mostly happened with transform state handling). On server-side the main worry is broadphasesystem seeing as this is being run manually to check for entities entering grids.
* Comment cleanup
* Obsolete MoveEvent .FromStateHandling
* Faster map position calculation
* Check Xform.GridUid instead of checking for `MapGridComponent`
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>