241 Commits

Author SHA1 Message Date
sboxbot
ed02b173ee Gave Sandbox.ISceneLoadingEvents.AfterLoad a default implementation so you aren't forced to implement it (#3519)
Co-authored-by: glimpsebeyond <no>
2025-12-01 03:53:21 -08:00
766974616c79
c75d2c10de Allow frozen collections 2025-12-01 11:17:13 +00:00
Lorenz Junglas
1408529189 PR triage requires checks to pass (#3503)
* Add formatting workflow to git filter-repo path rename

* Verify checks pass before triaging
2025-12-01 11:43:11 +01:00
James King
6736a09ad8 Bone tracks, IK controls, character anim tools (#3021)
Documentation: https://sbox.game/dev/doc/systems/movie-maker/skeletal-animation/
2025-12-01 11:42:47 +01:00
sboxbot
333e999f30 Support Nullable<> as ConCmd argument (#3515)
Co-authored-by: 766974616c79 <100430077+766974616c79@users.noreply.github.com>
2025-12-01 02:40:32 -08:00
sboxbot
95a575e1c4 Fix "QMenu was null when calling clear" error (#3516)
Co-authored-by: trende2001 <68961063+trende2001@users.noreply.github.com>
2025-12-01 02:28:13 -08:00
Layla
abfa79f610 fix impact gib velocity (#3513) 2025-12-01 09:28:15 +00:00
sboxbot
ac798c9be1 Use TensorPrimitives in FloatSpan (#3517)
* Use TensorPrimitives in FloatSpan instead of questionable AVX usage.
* Add some basic floatspan unit tests

---------

Co-authored-by: Lorenz Junglas <4759511+lolleko@users.noreply.github.com>
2025-12-01 08:49:24 +00:00
Lorenz Junglas
1a29f98237 Public sync upload build content artifacts (#3518)
* Sync build content to r2
* Additional safe guards for uploading
2025-12-01 08:45:58 +00:00
sboxbot
a6fdc48ecd Add min and max zoom to GraphicsView (#3511)
Co-authored-by: HaydenPrice <haydenwprice95@gmail.com>
2025-12-01 06:53:05 +00:00
Sam Pavlovic
eb1c7fda31 Fix atmosphere_sky shader (#3514)
* Fix atmosphere_sky shader

https://files.facepunch.com/sampavlovic/1b3011b1/sbox-dev_JyR30GkkzO.png

I am not sure if we should have this on core shaders, this was one of our earliest shaders while we were still experimenting with the engine, but I fixed some issues people were having with it anyway since it's here

When we moved to new Lightbinner we didnt had a dedicated variable for sunlight anymore so I had quickly made a hack to get this working on atmosphere light, but it sucked and had issues with multiple lights in the scene

I don't think this needs to be passed from C# to shader since this is so niche, so I am calculating sun light in the compute shader and done properly now, this makes it more perfomant and reduces the need of redundant operations, from lightbinner directional light has infinite range

Removed atmosphere_sky.fxc, just put everything in the same shader in COMMON

Also fixes envmap probes and DDGI not rendering correctly on sky
https://files.facepunch.com/sampavlovic/1b3011b1/sbox-dev_DpFWvNuLgv.mp4

This does not support multiple directional lights but I dont think anyone would care

* Fix signed comparison in uint
2025-12-01 03:36:47 -03:00
sboxbot
3cd7bf3873 Fix model highlights showing when gizmos block selection (#3508)
Co-authored-by: andy013 <10728824+andy013@users.noreply.github.com>
2025-11-30 19:34:25 +00:00
sboxbot
b2b8612055 Min length library (#3509)
Co-authored-by: 766974616c79 <100430077+766974616c79@users.noreply.github.com>
2025-11-30 19:16:55 +00:00
sboxbot
173ac80dfa Clear Bitmap PathEffect (#3507)
Co-authored-by: 766974616c79 <100430077+766974616c79@users.noreply.github.com>
2025-11-30 19:09:59 +00:00
sboxbot
77849db8ad Handle QueryServers cancellation without throwing (#3505)
Update QueryServers to stop throwing on cancellation and return any collected server data. Catch OperationCanceledException, letting callers treat timeouts as empty/partial results.

Co-authored-by: trende2001 <68961063+trende2001@users.noreply.github.com>
2025-11-30 18:29:15 +00:00
sboxbot
187ac5a11a Fix 'Open in Editor' not working on hierarchy prefabs (#3504)
Co-authored-by: trende2001 <68961063+trende2001@users.noreply.github.com>
2025-11-30 18:06:02 +00:00
sboxbot
6c26b3bde9 ParticleEmitters aren't finished until they've emitted at least once (#3506)
Co-authored-by: nixx quality <nixx@is-fantabulo.us>
2025-11-30 17:59:28 +00:00
sboxbot
41a047c606 Fix can paste properties with invalid json (#3502)
Co-authored-by: 766974616c79 <100430077+766974616c79@users.noreply.github.com>
2025-11-30 17:36:40 +00:00
Sam Pavlovic
041dfab0c2 Use a Dictionary instead of List for Mounting file entries, using their path as key (#3496)
Games with multiple archives can have multiple files with same names through their archives, either for HDD/CD seek optimization with sequential access redundancy or patch versioning

We don't even support duplicate file names in archive loading but they'd be added regardless to our list & UI
2025-11-30 13:30:41 -03:00
sboxbot
705f7ab7f5 Fix delayed heartbeat and host stats sending every frame (#3500)
Co-authored-by: Andy <10728824+andy013@users.noreply.github.com>
2025-11-30 16:29:15 +00:00
sboxbot
b637389840 Updated the button styles by moving the :hover rules into a nested selector to prevent future typo (#3501)
Co-authored-by: Tim Fedorchuk <tfedorchuk@redux.games>
2025-11-30 16:28:52 +00:00
Matt Stevens
adf9c8c928 sbox-public: don't build content for pr checks 2025-11-30 13:20:14 +00:00
Matt Stevens
9d3f9ca647 sbox-public: run formatting on it's own runner 2025-11-30 13:18:17 +00:00
Matt Stevens
7f4ef9eed9 public pr: fix trailing space fucking commands up 2025-11-30 13:17:21 +00:00
Layla
16809db787 fix ducking modifying body height, stomping over user changes (#3463) 2025-11-29 11:16:50 +00:00
sboxbot
bc133aba24 Fix SoundscapeTrigger Error if source or SoundFile is not valid (#3489)
* Fix SoundscapeTrigger error if source or SoundFile is not valid
2025-11-29 07:23:29 +00:00
sboxbot
a02d870efb Update MapInstance to support scene maps (#3490)
* Update MapInstance to support scene maps
2025-11-29 07:21:57 +00:00
Sam Pavlovic
920e3760bc Bunch of SSR fixes (#3481)
* Fix SSR not reprojecting correctly and drifting on downsample, reference original code and backport some of the stuff from motion vectors too, major cleanup

* Logic for RenderTarget.GetTemporary probably shouldn't ceil, causes a lot of drifting in SSR even though the logic is correct, can see downsampling up to 10 and still remaining sharp

https://files.facepunch.com/sampavlovic/1b2511b1/sbox-dev_dB9j5ipUTA.mp4

* Barriers are very strict on Intel ARC, make them explicit for SSAO and SSR, while at it make this logic for SSR simpler

For reference this is how it could appear on Intel ARC B580

https://files.facepunch.com/sampavlovic/1b2511b1/sbox-dev_UjkEGVD4k4.mp4

* CommandList.ResourceBarrierTransition for Textures/RenderTargets

* Fix Reflections_GetHitPositionReprojection while being aware of Motion::Get for future Motion Vector API, deal with temporal stability better

https://files.facepunch.com/sampavlovic/1b2811b1/sbox-dev_He8gAbtPau.mp4

* Build shader

* Format
2025-11-28 14:35:05 -03:00
Lorenz Junglas
0b782830a5 Set fetch-depth for public PR check to 0/all (#3492)
That way the Bootstrap script will actually be able to find a manifest.
2025-11-28 17:13:45 +00:00
sboxbot
0238870553 Reimplement impact damage system for Rigidbody (#3491)
* Impact damage system added to Rigidbody
* Fix Rigidbody Velocity and AngularVelocity not getting applied if object wasn't created yet
* Props only ignite from impact damage if it's significant
* Fix gibs not properly inheriting parent object velocity
2025-11-28 14:55:50 +00:00
sboxbot
f3d06f6850 Fix gibs being network spawned twice (#3466)
Co-authored-by: Kicks <nolandimensions@gmail.com>
2025-11-28 14:10:01 +00:00
sboxbot
804619f777 Add effects drawing for underline/strikethrough styles (#3488) 2025-11-28 14:09:11 +00:00
Sol Williams
4abac08bff AssetList: fix label clipping, use proper text eliding (#3480) 2025-11-28 12:49:09 +00:00
Tony Ferguson
f58e41b52d Switch Dresser's initialization from OnAwake to OnStart -- fixes null Network.Owner case (#3474) 2025-11-28 10:51:11 +00:00
Lorenz Junglas
28e8e8609f Artifact Download: Walk back commits until a valid manifest is found (#3485) 2025-11-28 10:37:20 +00:00
sboxbot
83df9b8f3a Display s&box version in editor (#3483)
* display application version in log on editor startup

* show version in editor about popup

---------

Co-authored-by: nixx quality <nixx@is-fantabulo.us>
2025-11-28 09:40:05 +01:00
Sam Pavlovic
d753fa0e24 Vulkan Raytracing Support (#2409)
* Re-enable CreateBLAS in RenderDeviceVulkan

* Update SPVRemapper to suppot raytracing opcode remapping

* Null initialize BLAS on RenderMesh

* Clean proper to generate BLAS on mesh data loading

* SceneRaytracingSystem stub

* Glue SceneRaytracing

* Remove pipelines from SceneRaytracing for now, just do TLAS, tie it to SceneRaytracingSystem, updates only once per frame just like how we want in a clean way
https://files.facepunch.com/sampavlovic/1b0611b1/ngfx-ui_Ck3ckzQQFT.png

* Send Descriptor Set of Raytracing World to RenderAttribute

* RTAO example using RayQuery

* RayTracingShader API stub

* Set SM6.0 and dxlevel 120 as default

* Instead of making raytracing opt-in, add -nogpuraytracing to force disable it

* Add IRenderDevice::IsRayTracingSupported() to easily query support for it

* Fix IsRayTracingSupported()

* RTAO Adjustments

* Allow Rayquery through AS on Compute and Pixel shaders even if not optimal, avoids it crashing when acessing it on compute

* Strip CRaytraceSceneWorld to just generating TLAS, dont need anything else for now and we need a better way to handle UGC than what's there

* Bindless::RaytracingAccelerationStructure()

* Simplify interface too

* Stub for UpdateSkinnedForRaytracing

* Dotnet format and fix documentation, make RTAO run at correct stage

* Only support raytracing in tools mode for now

* Move raytracing stuff to Raytracing.hlsl

* Stub RTX shader

* Internal Raytracingshader and remove useless stuff exposed from it

* VfxProgramHasRenderShader should check for VFX_PROGRAM_RTX too, that's the source from everything else failing

* Add arbitrary entry point support to shaders, needed as RTX shaders use [shader("XXX")] instead of MainXXX directly

* RenderTools::TraceRays API, preliminary implementation, RTAO uses RaytracingShader

* Make RT support internal, allow RT on game

* Remove RaytracedAmbientOcclusion, will be on scenestaging when ready

* Update engine/Sandbox.Engine/Systems/Render/RayTracingShader.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix rebase

* Update shaders

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-27 22:40:02 -03:00
sboxbot
96597e25e6 [public] Add AddRange support to NetList (#3467)
Co-authored-by: Matt <matt@ninetyfour.dev>
2025-11-27 20:29:49 +00:00
Carson Kompon
2d90d6bf55 Opening a scene/prefab no longer opens a new tab if one already exists. It will focus the existing tab like it did before (#3479)
https://files.facepunch.com/CarsonKompon/2025/November/27_09-14-PalevioletredMarten.mp4
2025-11-27 12:26:41 -05:00
Layla
a6794e92af fix Voice.LaughterScore not being hooked up (#3464) 2025-11-27 15:26:23 +00:00
Alex Guthrie
5c58563b6d VR Fixes 2 (#3458)
Improved error logging, crash fixes, and light menu tweaks
2025-11-27 13:54:25 +00:00
sboxbot
132f75f685 Fix AssetBrowser view mode persistence and icon update 2025-11-27 13:23:28 +00:00
Tony Ferguson
532113cd76 Update viewport from cookie when re-posessing game 2025-11-27 12:47:07 +00:00
sboxbot
e34d864a1d Only delay FakeLagProcess if no packets were handled (#3455)
Co-authored-by: nixx quality <nixx@is-fantabulo.us>
2025-11-27 12:46:11 +00:00
Zachary
79ea308083 Transform child panels relative to parent space 2025-11-27 12:40:37 +00:00
Jusvit
d6e72110b5 Fix various public-facing XML comments 2025-11-27 12:37:51 +00:00
Lorenz Junglas
5cea73639b Use pwsh syntax for public PR bootstrap (#3477) 2025-11-27 12:36:57 +00:00
andy013
cd49cf33a1 Fix animgraphs not being downloaded by clients for local only projects. 2025-11-27 12:36:30 +00:00
nixx quality
b7f92c73a2 add Sandbox.Mounting.InitializeContext.IsDlcInstalled 2025-11-27 11:30:32 +00:00
Lorenz Junglas
64fc154f39 Fix private PR formatting check (#3473)
* Make sure our private PR action run also check BuildTool formatting

* Format BuildTools
2025-11-27 10:17:39 +00:00