22,417 Commits over 1,614 Days - 0.58cph!
Server Console Status Bar (#1770)
Now I remember why I didn't add this > before
Added GraphCompiler.RegisterFunction, allows you to create your own custom ShaderGraph nodes without modifying the base addon.
Resolves Facepunch/sbox-issues#4141
Resolves Facepunch/sbox-issues#4389
Add warning if we got a reconnect message not from the host
Deserialize GameObjectFlags.Hidden - Fixes saved hidden gameobjects not being restored with hidden flag
Get rid of S_NON_DIRECTIONAL_DIFFUSE_LIGHTING, use g_bNonDirectionalDiffuseLighting attribute instead
Dragging a prefab into an action graph creates a scene.ref node
Fix scene.ref thumbnail for prefab references
More informative / nicer display info for scene ref nodes
https://files.facepunch.com/ziks/2025-01-14/QYoZj9M8T7.png
Add analytic to SceneNetworkSystem.GetSnapshot
Add Application.IsDedicatedServer
Dedicated server performance analytics
Launch sbdb with datacore
Merge branch 'master' into console_stats_overlay
Launch sbdb with datacore
Add analytic to SceneNetworkSystem.GetSnapshot
Add Application.IsDedicatedServer
Dedicated server performance analytics
DepthNormalPrepassLayer stub, DepthNormal shader class consumes from S_MODE_DEPTH
Removed unused/cleanup
Don't need this WriteMessage method now that it's only used one time
Dragging a prefab into an action graph creates a scene.ref node
Fix scene.ref thumbnail for prefab references
More informative / nicer display info for scene ref nodes
https://files.facepunch.com/ziks/2025-01-14/QYoZj9M8T7.png
Get rid of S_NON_DIRECTIONAL_DIFFUSE_LIGHTING, use g_bNonDirectionalDiffuseLighting attribute instead
Remove old dedicated textconsole
Use Rust console style, with 3 lines printed under instead of trying to maintain a footer (messes less with outputs)
Remove some unused imports
Start moving away from snapshots and edit log by adding action based undos/redos
For cuts we have to use snapshots
Remove attempt at reference collector
Format
Aggregate actions now complete on mouse release
Deserialize GameObjectFlags.Hidden - Fixes saved hidden gameobjects not being restored with hidden flag
Add warning if we got a reconnect message not from the host
Dedicated server console shows a header with some useful performance stats on it
https://files.facepunch.com/tony/1b1011b1/WindowsTerminal_sjBEArBU4F.png
Has an annoying issue, because we're writing to lines, if a new line gets written it'll duplicate the overlay to out of viewrows
Refactor (inspired by Rust, thank you), Clear status bar before writing log messages, then render the status bar, stops polluting previous logs, and we can render it at the bottom (https://files.facepunch.com/tony/1b1111b1/WindowsTerminal_we0QXNzuT7.png)
We don't really need this
Cleanup, move as much as we can to Sbox-Server project
Remove Application.IsDedicatedServer (doesn't need to be on this branch)
Update Facepunch.ActionGraphs to 1.9.15
* Fix exposed property deserialization regression
Add some conditional [JsonIgnore]s to GameObjectReference
Implemented the "Filter Properties..." TextEdit in ShaderGraph
Added ShaderGraph.Domain. Can now create Post-Process Shaders in ShaderGraph. Resolves Facepunch/sbox-issues#5866
https://files.facepunch.com/CarsonKompon/2025/January/13_17-38-PossibleAfricanrockpython.mp4
Added ShaderGraph.ShadingModel. Can now create Unlit Shaders via ShaderGraph. Resolves Facepunch/sbox-issues#6006
https://files.facepunch.com/CarsonKompon/2025/January/13_14-55-ShamefulPacificparrotlet.mp4
Added Icons to the BlendMode and ShadingModel enums
Add ConditionalVisibilityAttribute support to ShaderNodes in ShaderGraph. All plugs into the Result node are greyed out except for Albedo and Opacity when using Unlit Shading Model
Add [Group]s to the ShaderGraph nodes with InlineEditor so they can be collapsed and feel less cluttered.
Automatically size TextureSampler nodes so that Inputs don't overlap with the preview image
Added Texture Preview to Texture Cube node
Use [ImageAssetPath] instead of [ResourceType("jpg")] in Texture Sampler nodes
Forward+ Decals
* Decals get binned by the lightbinner from OnSceneObjectVisibleInView (all lights should start using this callback too)
* Tiled culling checks decals within each tiles frustum
* Decal::Apply( ... ) is used to mix decal's albedo, normal, etc. into surface
Our shader includes are a cyclic dependent mess, I have no idea how to not make this simple thing simple
Partial backport of ISceneObjectDesc::OnSceneObjectVisibleInView
CSceneObject::GetCTransformUnaligned()
Delete random Hammer shit
Fix Draw Order in ShaderGraph nodes, fixes certain nodes not showing their previews/icons
https://files.facepunch.com/CarsonKompon/2025/January/13_13-01-SlipperyQuillback.png
Added Icons to all Binary operations in ShaderGraph (Subtract, Divide, Mod, Multiply) instead of just Add. Resolves Facepunch/sbox-issues#6516
Can now Copy/Paste all properties from Feature tabs in Components and Resources. Resolves Facepunch/sbox-issues#7374
https://files.facepunch.com/CarsonKompon/2025/January/13_12-40-KnobbyIndianspinyloach.png
Unlocking the Inspector will instantly inspect your current selection if different
Update qt for windows drag/drop cancel crash fix
More IsValid safety checks for drag/drop events
Don't use shadercache if we're force recompiling. Output total time.
Leftover log, useless include
Fix race condition with GetTemporaryFolder() where we'd end up with a .source2.source2.source2 folder
Mount cloud maps from snapshot too (repeated logic from MapInstance bleh)
SendLog on a local connection should just log the message - no need to send a network message
SendLog on a local connection should just log the message - no need to send a network message
Fix error with NetworkMode read in MapInstance. If network mode is Object then we want to NetworkSpawn the object here - this fixes networked objects from maps not appearing for clients
Fix NRE when dragging SoundFiles onto the "+" button in a List. Also fixed dragging for other resources. Facepunch/sbox-issues#7197
Clear changes in EditorSession Undo when making a full snapshot so we don't get a duplicate empty Undo entry
Create Undo Snapshot for Paste and Paste as Child. Resolves Facepunch/sbox-issues#7372
Tweak delay nodes to help distinguish them
https://files.facepunch.com/ziks/2025-01-13/92sG91y7Pi.png
Server Commands / Admin Commands (#1772)
* ConVarFlags.Server and ConVarFlags.Admin and the implementation of both. When the method has a Connection type as the first parameter, that parameter will be the source. Add Connection.SendLog( LogLevel, string )
* Safety
* Add summaries
Update Facepunch.ActionGraphs to 1.9
* Fix graph compilation times
* Compiled graphs avoid allocations where possible
* Compiled graph performance is now much closer to C#
* Cleaner node definition API
* Groundwork for new features #1667
* Fixes #1756
* Clean up game object / component reference serialization
Add IGameObjectDestroy scene event
Started on #1773
Update Facepunch.ActionGraphs to 1.9 (#1761)
* Fix graph compilation times
* Compiled graphs avoid allocations where possible
* Compiled graph performance is now much closer to C#
* Cleaner node definition API
* Groundwork for new features #1667
* Fixes #1756
* Clean up game object / component reference serialization
Update Facepunch.ActionGraphs to 1.9
* Fix graph compilation times
* Compiled graphs avoid allocations where possible
* Compiled graph performance is now much closer to C#
* Cleaner node definition API
* Groundwork for new features #1667
* Fixes #1756
* Clean up game object / component reference serialization
LobbyConfig.HideInServerList would let you hide a lobby from appearing in any server lists in s&box but still queryable with QueryLobbies
Fix IsHidden support
Remove Application.IsDedicatedServer (doesn't need to be on this branch)
Cleanup, move as much as we can to Sbox-Server project
ConVarFlags.Server and ConVarFlags.Admin and the implementation of both. When the method has a Connection type as the first parameter, that parameter will be the source. Add Connection.SendLog( LogLevel, string )
Update Facepunch.ActionGraphs to 1.9
* Fix graph compilation times
* Compiled graphs avoid allocations where possible
* Compiled graph performance is now much closer to C#
* Cleaner node definition API
* Groundwork for new features #1667
* Fixes #1756
* Clean up game object / component reference serialization
Don't send networked objects twice when the host switches scenes
Fixed a bug with the [Change] attribute not using the correct type in some cases - make sure we always use the type that the property belongs to
Dedicated server console shows a header with some useful performance stats on it
https://files.facepunch.com/tony/1b1011b1/WindowsTerminal_sjBEArBU4F.png
Has an annoying issue, because we're writing to lines, if a new line gets written it'll duplicate the overlay to out of viewrows
Refactor (inspired by Rust, thank you), Clear status bar before writing log messages, then render the status bar, stops polluting previous logs, and we can render it at the bottom (https://files.facepunch.com/tony/1b1111b1/WindowsTerminal_we0QXNzuT7.png)
We don't really need this