* Allow reloading loaded resources when loading addon ontop of parent package during editor startup
* Allow initial NetworkFiles sync to reload/replace existing resources too
* Include "Doo" in all names so there's no overlap with other variables/methods that a component might have (like IsRunning or Stop)
* Make sure previous functions still work, obsoleted, telling user to use new methods. (These are implemented as extension methods so that member variables cannot conflict with the same name)
- Now, there's a "Voice" mixer that is created along with the Music/Game/UI Mixers
- Existing Games will create the Mixer automatically if it doesn't have it so nothing breaks
- Existing Voice Components will be updated to target the Voice mixer if it doesn't already
- The Mixer dropdown on the Voice Component now only shows the Voice Mixer (or any Mixers that are a descendant). This way no games can circumvent the Voice volume slider in the settings.
* Apply Video Settings on first Launch
Video settings were being saved to video.json but never actually pushed to the render device at first launch. On first launch the window would open with whatever the C++ defaults were instead of the managed settings.
* Make borderless native default too
Every trace allocating an array would cause noticeable GC overhead when shooting lots of traces.
This change inlines the Tag array into the result struct to avoid heap allocation for every trace.
Struct size grows by around 60 bytes from 154 to 214 bytes.
But also get's rid of the `[ThreadStatic] HashSet`, so might even end up using less memory overall.
Obsolete `.Tags` accessor provide `HasTag()` as alternative.
* Unfocusing a TreeView item should commit any pending name change. The early Visible return was blocking as the popup is already hidden at this point.
* formatting
---------
Co-authored-by: matt944 <matt@ninetyfour.dev>
* Hide FeaturedStoreItem
* Mark Label.IsRich and Label.Text with [Parameter] so it shows in Razor intellisense
* Add support for cubic-bezier()
* Add support for step-start, step-end, step( x, x )
* Change how button:active styles to reduce ignored clicks
* Fix ArgumentNullException calling SelectionSystem.Remove
* Protect against NRE in UISystem.RunDeferredDeletion
* Welcome screen
* Support all the ways box-shadow can be parsed
* Camera motion vectors for static geometry
A full screen pass that creates a motion vector texture from depth +
previous frame view projection.
This is only good for objects that have moved due to camera motion,
per object motion is not captured here - so this is good for static
geometry that does not move, which is the majority of draw calls.
Also this layer only executes if "WantsMotionVectors" is true in the
pipeline's render attributes.
* Add upscaling infrastructure and a simple bilinear stretch upscaler
For stretch upscaler, the scene renders into a low-resolution RT, then
is upscaled to display resolution before post-processing.
* Add FSR upscaler (non temporal)
* Add FSR3 upscaler (temporal)
Temporal upscaler using FSR3 with explicitly no frame generation
Maps to the standard resolution scale factors:
* Native - 1x
* Quality - 1.5x
* Balanced - 1.7x
* Performance - 2x
* Ultra Performance - 3x
* Add all the upscaler cvars to the settings menu
https://files.facepunch.com/matt/1b1311b1/sbox_jIRwaBdWwJ.png
* Add FidelityFX SDK to third-party legal notices
* Add FSR3 reactive mask for viewmodel and overlay objects
* Compiled shaders
* Citizen/humans: animgraph, modeldoc & animation asset updates (carried over from animation_soft-ik branch)
* Citizen/animgraph: re-save animgraph to remove orphaned Soft IK values
* Humans/animgraph: derive animgraphs from updates
* Citizen/humans: oops, forgot to remove the debug wiring
* Citizen/humans: fix second half of the optimize check that wouldn't allow it to go backwards with regards to scale_heel & scale_height