241 Commits

Author SHA1 Message Date
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
Matt
9895d42002 Clicking anywhere within ContentBlockHero brings up the create game modal 2025-11-26 18:21:59 +00:00
Garry Newman
79eebb54f9 Color mixer popup 2025-11-26 16:20:21 +00:00
Garry Newman
ab1ae86f88 Add ColorControl 2025-11-26 16:20:21 +00:00
Garry Newman
1595f035d2 TextEntry has tokenize turned off, strings can start with # 2025-11-26 16:20:21 +00:00
Garry Newman
0533d101a8 Add Label.Tokenize (turn off automatic conversion of strings starting with #) 2025-11-26 16:20:21 +00:00
Garry Newman
07e1f7a2d4 Add EnumControl 2025-11-26 16:20:21 +00:00
Garry Newman
f4eedb345f ControlSheetRow.Property is a [Parameter] 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
Tony Ferguson
28c63a2b7b Give SceneViewWidget a background so it doesn't look so weird when fullscreening at a low resolution preset (#3457) 2025-11-26 16:12:12 +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
752b3584da Move menu code from lowercase to uppercase dir to fix sync (#3451) 2025-11-26 09:41:50 +01: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
7edb4cc404 Support instanced tint on Blendable and Material::From( i ) (#3449)
* Support instanced tint on Blendable and Material::From( i )

Blendable supports vertex tint color, but was initially intended for world geometry so there was no point in working with instance color, now works fine

https://files.facepunch.com/sampavlovic/1b2611b1/sbox-dev_qkWlvBOXW8.png

* Build shaders
2025-11-26 04:10:12 -03: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
752c461e31 Public PR triage uses pull_request_target 2025-11-26 02:11:31 +00:00
Matt Stevens
89e669c155 Public PR triage workflow 2025-11-26 01:01:35 +00:00
Tony Ferguson
77cc796498 Play mode: re-add game view resolution/ratio dropdown functionality 2025-11-25 21:51:54 +00:00
ryleigh
350b15e623 Prevent Camera Preview LookAt mode from exiting immediately (#3419) 2025-11-25 09:13:02 -08: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
Layla
8caa6f4861 Fix tool widget when no subtools (#3435) 2025-11-25 11:58:36 +00: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
Carson Kompon
4c22db7c49 Fix not being able to "Paste as New Component" on prefab instances (#3432)
Resolves Facepunch/sbox-issues#9604
2025-11-24 08:55:28 -05:00
Lorenz Junglas
80593bb904 Move InterfaceControlWidget.cs to uppercase code dir 2025-11-24 12:19:28 +00:00
Carson Kompon
8b3cd0de79 Fix "Render Backface" toggle not working in Material made from ShaderGraph shaders (#3261) 2025-11-24 07:16:51 -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
Matt Stevens
7792af8dce .gitignore for public repo 2025-11-24 12:00:11 +00:00
s&box team
71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00