Commit Graph

52 Commits

Author SHA1 Message Date
Lorenz Junglas
594f252d27 Add some basic floatspan unit tests 2025-11-30 20:48:00 +01:00
Lorenz Junglas
d2f6624317 Use TensorPrimitives in FloatSpan
instead of questionable AVX usage.
2025-11-30 20:02:51 +01: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
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
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
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
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
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
Lorenz Junglas
0581185500 Fix Unreachable Code warning in Writer.Import.cs (#3472)
Fixes Warning: D:\a\sbox-public\sbox-public\engine\Tools\InteropGen\Writer\ManagerWriter.Imports.cs(133,7): warning CS0162: Unreachable code detected [D:\a\sbox-public\sbox-public\engine\Tools\InteropGen\InteropGen.csproj]
2025-11-27 10:17:24 +00:00
Lorenz Junglas
5addf6f59b Public PR Github Action Checksuite (#3470)
Checks formatting
Runs tests
2025-11-27 10:08:41 +01:00
sboxbot
00f4be8242 Add MaxLengthAttribute support to ListControlWidget (#3469)
ListControlWidget now respects the MaxLengthAttribute by disabling the add button when the collection reaches the specified maximum length. Also updated access rules to include MaxLengthAttribute.

Implements https://github.com/Facepunch/sbox-issues/issues/6361

Co-authored-by: Braxen <braxen@braxnet.org>
2025-11-27 08:37:33 +00:00
Lorenz Junglas
8b1d58d524 Fix native interop gen being skipped in in private build (#3462) 2025-11-26 19:43:30 +00:00
Garry Newman
0533d101a8 Add Label.Tokenize (turn off automatic conversion of strings starting with #) 2025-11-26 16:20:21 +00:00
Sol Williams
b3243e89b3 SceneRenderingWidget: still do Scene.PreRender without a camera in the scene (#3456)
Fixes Facepunch/sbox-issues#9567
2025-11-26 16:13:11 +00:00
Sol Williams
80aa601771 Restore separate GameEditorSessions (#3453)
* SceneEditorSession: make game vs editor scenes more distinct, Scene is whichever is currently active

* Route prefab update, model reload etc events to both scenes if needed

* SceneTree update checking a bit cleaner

* Bring back GameEditorSessions instead, so undo, selection etc can all be linked 1:1 with scenes again

* tweak and tidy
2025-11-26 16:05:23 +00:00
Matt Stevens
94d8c22b84 Revert "Render DebugOverlay before UI"
This reverts commit dd44dc6eb8.
2025-11-26 15:58:29 +00:00
Sam Pavlovic
b0e3a8d964 Terrain Fixes - Seamsless & Optimizations (#3442)
* Fix terrain seams and optimize

Overlap LODs by one step to fix holes in LOD transitions
Reuse vertices that exist on same key when building diamond square

https://files.facepunch.com/sampavlovic/1b2411b1/8mb.video-eW2-tNb22a60.mp4

* Add NoTile class and make terrain use it
https://files.facepunch.com/sampavlovic/1b2411b1/sbox-dev_R1FwUmLhvu.mp4
https://files.facepunch.com/sampavlovic/1b2411b1/sbox-dev_YhKyIwvhve.mp4

* Sure why not Mr. Robot
2025-11-26 15:49:41 +00:00
Lorenz Junglas
09d20a4482 Fix git filtering causing inconsistent commit hashes when files are deleted
Move filter implementation to python so we have more flexibility when implementing filters.
Make sure deleted files are properly filtered by evaluating globs in the filter itself not before.
Make sure deleted LFS files are accounted for by scanning the history of the shallow clone for delete/changed lfs files.
Whitelist some additional shaders.
2025-11-26 13:25:18 +00:00
Lorenz Junglas
c2c74e1719 Public bootstrap robust download (#3450)
* More robust downloading of artifacts

Don't download to a temp file first
Try to retry download up to 3 times, if it fails
Fail Bootstrap if any download fails

* Fix contentbuilder and shadercompiler not forwarding to stdout
2025-11-26 08:27:14 +00:00
Sam Pavlovic
47915c600b Fix leaky swapchain when resizing on game mode (#3389)
* Fix leaky swapchain when resizing on game mode and dispose of handle after usage
VideoRecorder would get a strong handle copy of the swapchain every frame and retain it, causing native to fail to shutdown the copies from it
Made usage of getting native swapchain consistent on managed on other stuff, doing it like this ensures GC properly disposes of the strong handles even not disposing explicitly

Remove now unused ScreenRecorder.def and ScreenshotService.def

There are still optimizations to swapchain I'd like to send on another commit, game is allocating way more swapchains than needed even without the leak, has two completely different paths depending if you are MSAA or not, this can all be much simpler
https://files.facepunch.com/sampavlovic/1b1811b1/EjDyxbTahs.png

* Remove NativeLayerRenderTarget, was unused and fucked

* Keep it as an ITexture/HRenderTextureStrong in managed so we avoid IDisposable, ReadTextureAsync with ITexture
2025-11-26 02:44:01 -03:00
Matt Stevens
89e669c155 Public PR triage workflow 2025-11-26 01:01:35 +00:00
Lorenz Junglas
8dbcd83bbe Refactor the public repo sync (#3444)
* Refactor sync script

Use single filter repo call
Use globs instead of python madness
Ensure shallow clone is clean before working on it

* Add dry run option to sync script
* Add public gitattributes
2025-11-25 14:40:57 +01:00
Matt Stevens
49b28d213c Use a tagged commit for the public baseline, using a date jumped between different commits 2025-11-25 09:54:19 +00:00
Lorenz Junglas
c35b887952 Fix access error when cleaning up standalone test (#3441)
Add slight delay because windows may still briefly hold a lock on some files even after the process exited
2025-11-24 23:56:00 +00:00
Matt Stevens
dd44dc6eb8 Render DebugOverlay before UI 2025-11-24 23:09:56 +00:00
Lorenz Junglas
af2c9f63d9 Less aggressive shutdown during standalone test (#3438) 2025-11-24 23:39:25 +01:00
Lorenz Junglas
e8a0d480c1 Free native engine dlls before shutdown (#3307) 2025-11-24 17:05:27 +01:00
Sol Williams
aff86e3ad2 Menu-in-editor fixes 2 (#3395)
* Skip menu editor code outside of the menu project
* Asset Browser: skip menu project assets in Everything and Recents
2025-11-24 15:20:04 +00:00
Carson Kompon
5e8a352de6 SceneTrace uses the passed scene.PhysicsWorld instead of Game.ActiveScene.PhysicsWorld (#3433)
Resolves Facepunch/sbox-issues#9598 (Fixes issues where traces in the editor can throw NREs after exiting play mode)
2025-11-24 09:39:57 -05:00
Matt Stevens
71f3ce2d42 Do sync step sooner, avoid any extra junk made during tests/upload 2025-11-24 12:12:29 +00:00
Matt Stevens
0675def24c Add missing shader includes 2025-11-24 12:10:29 +00:00