181 Commits over 366 Days - 0.02cph!
Don't update scene view camera input if the editor window isn't active (sbox-issues/issues/5383)
Haptics NRE fix
Clamp haptic motor values where appropriate, matching existing behaviour
Basic controller haptics (#1498)
Allows for controller haptics based on haptic events.
```cs
public static void TriggerHaptics( HapticEffect pattern, float lengthScale = 1.0f, float frequencyScale = 1.0f, float amplitudeScale = 1.0f )
```
e.g.
```cs
Input.TriggerHaptics( HapticEffect.HardImpact );
```
Fix crash when drag-dropping .sbproj into launcher
Update stereo-related camera properties explicitly, rather than bundling in with UpdateSceneCamera
Editor scene camera ignores VR settings, only blit for stereo cameras - prevents weird ghostly stereo blit
Don't stop shadow animations/transitions when building final style
sbox-issues/issues/5122, sbox-issues/issues/4679
Clean up UI lerp functions
AnimationIterationCount uses float infinity instead of -1 for "infinite"
Fixes sbox-issues/issues/5306
Add index setter to SegmentedControl
Fixes sbox-issues/issues/5300
Refresh editor title on project update
Give primary buttons more feedback on click
Project settings window updates title etc. correctly when project is modified
sbox-issues/issues/4862
Fix texture filtering inside ui_cssbox.shader
Fix filtering in other UI shaders too
CSS box shader - D_BORDER_IMAGE combo should be range 0..2
Fixes sbox-issues/issues/4874
SCSS: Don't apply animation styles before/after if fill mode is none
sbox-issues/issues/5273
SCSS: Implement rem and em
https://files.facepunch.com/alexguthrie/1b2611b1/sbox-dev_f5t9eFrLSk.png
Parse commandline properly to prevent projects with `-test` in the name breaking
sbox-issues/issues/5208
Test for multiple keyframe percentages (sbox-issues/issues/5168)
Support multiple keyframe percentages
e.g.
```scss
@keyframes tilt {
0%, 10% {
transform: rotate(0deg) scale(1);
transform-origin: center;
}
}
```
sbox-issues/issues/5168
Vector2Int, Vector3Int
sbox-issues/issues/4995
Fix build (we don't support "display: inline", not sure if this was done on purpose?)
Improved style parser errors (sbox-issues/issues/4541)
https://files.facepunch.com/alexguthrie/1b2911b1/sbox-dev_vMdiBVFnHU.png
Don't clear all attributes when popping a layer
Preserve everything (so we keep scissor attributes etc)
Fixes sbox-issues/issues/4971.
Correct text-decoration thickness default value
Clear dirty framebuffer region when popping a UI layer
sbox/issues/1461
Add RenderAttributes.GetMatrix
Save off and restore clipping values before/after drawing box shadows
Should fix sbox/issues/1453
Remove log
Add support for CSS `font-smooth`
https://files.facepunch.com/alexguthrie/1b2011b1/sbox-dev_oYg0ytkmSm.png
Implement calc for CSS, make it so that dynamic units (vw/vh/expressions/etc.) all update correctly
https://files.facepunch.com/alexguthrie/1b1911b1/sbox-dev_ADiqfZ9hI2.png
For sbox/issues/421, sbox-issues/issues/4753, sbox-issues/issues/723
Stomp cursor delta if we're locking to canvas in scene view, should hopefully prevent camera going wild when wrapping?
Add support for editor pixmap cursors from managed, use it for custom eye cursor inside scene view
Add margin to LockCursorToCanvas, clean up
Tidy up AfterUI render stage and use that for after-UI post-processing effects, rename to `AddHookAfterUI`
Add `CameraComponent.AddHookAfterOverlay`, supports running post-processing effects after UI is drawn
Show mouse cursors inside scene view, wrap them to canvas rather than locking to center, panning follows same direction as other engines
If you preferred the previous panning behaviour there's an option for inverting it
https://files.facepunch.com/alexguthrie/1b3111b1/sbox_MUEzCxyWs7.mp4
Scene view orbit camera: account for mouse X axis, add invert options to editor preferences
sbox-issues/issues/4663
DoF doesn't need to grab depth buffer, we can use the depth prepass (thanks Matt)
Don't need to grab depth for any other post processing effects either (because they don't use them)
Compile shaders
Undo changes to Graphics.GrabDepthTexture to avoid problems
Correctly resolve textures fetched from Graphics.GrabDepthTexture
DOF uses DepthBuffer texture again + clean up a bit
Update DOF post-processing to use new Depth::GetNormalized() instead of accessing non-existent texture
Update editor play button when using F5 hotkey
sbox-issues/issues/4529
Add button to open code editor if we fail to load a project
UI: optimal gradient width prefers background size if specified
UI: improve gradients by calculating an optimal width for gradient textures
Re-compile ui backdrop filter shader w/ SPIR-V block
VR: fix LOD rendering, remove bVr from CFrustum::ComputeScreenSize
VR: Fix VROverlay xml comment
VR: Fix vulkan submit, submit depth texture to compositor
VR: Update overlays from the render thread, because SetOverlayTexture might touch vulkan queue
Forward InputData and VROverlay through to Sandbox.Game to preserve compatibility
VR: Minor VROverlay cleanup
Fix multiple box-shadow parsing (oops)
UI box / shadow / filter shader recompile
CSS box-shadow inset implementation
https://files.facepunch.com/alexguthrie/1b2311b1/sbox_QVsBt34bNx.png
sbox-issues/issues/3649
Correctly preserve worldpanel combo when popping UI layers
Almost fixes worldpanel filters, but there's still some issues with depth
Worldpanel backdrop filters correctly sample from the framebuffer
https://files.facepunch.com/alexguthrie/1b2211b1/sbox_SEP7KjTrRh.png
For sbox-issues/issues/3520
Motion blur post-processing component
Color adjustments post-processing component (saturation, hue rotate, brightness, contrast)
Blur post-processing component
Adjust new post-process component orders
Remove unused attributes & clean up post-processing shaders
Don't stomp sceneobject flags if passed an invalid override material
Fixes glass etc.
sbox-issues/issues/4461
Only run DXT compute on platforms with full support
Re-add DXT compute staging texture for platforms that don't support block texel views (dx11)
Allocate output & intermediate textures right before dispatching DXT compute
Minor fix for GetMemRequired call, was giving it the wrong parameters 🤦♂️
Re-write dxt compute upload/read to not crash
Run DXT5 on CPU for mips > 1 until I can figure out why this isn't working
VR: Don't crash inside ControllerTypeFromString if we weren't able to fetch an index for the device
Blur LineEdit on escape pressed
sbox-issues/issues/4438
Only change ident field inside project creator window if necessary
Fixes sbox-issues/issues/4433