22,806 Commits over 1,642 Days - 0.58cph!
Possible fix for fragile tests
Restore old TypeLibrary at end of SerializeTest
Move VR scene switcher logic into OnStart
Add support for custom specialised asset pickers per-resource type via AssetPickerAttribute
Add SimplePicker, use for shaders until we get something better so that's not awful to use
https://files.facepunch.com/solw/2025/January/20_13-12-GentlePinkriverdolphin.png
Merge branch 'master' into jsonfree-clone
Fix cloning types that do not have public parameter less constructors
Simplify clone. Implement DeepClone for built-in types, for custom types fallback to JSON
Add support for custom specialised asset pickers per-resource type via AssetPickerAttribute
Add SimplePicker, use for shaders until we get something better so that's not awful to use
https://files.facepunch.com/solw/2025/January/20_13-12-GentlePinkriverdolphin.png
Move VR scene switcher logic into OnStart
Add [CopyToClone] attribute to allow fast path clone of structs that don't hold any references (ParticleFloat, Curve, Vector...)
Restore old TypeLibrary at end of SerializeTest
Possible fix for fragile tests
Humans/animgraph: added Sprint_N (+ temp derived NE/NW)
Humans: small tweak to Sprint_N + export the copy of the graph assigned to Humans
Refactor GameObject serialization tests a little
A couple of object cloning edge case tests
CloneActionGraphProperty test
Add CloneActionGraphSceneReference test
Pull tests from master
DeppClone all reference types
Refactor GameObject serialization tests a little
A couple of object cloning edge case tests
CloneActionGraphProperty test
Add CloneActionGraphSceneReference test
Add CloneActionGraphSceneReference test
CloneActionGraphProperty test
Refactor GameObject serialization tests a little
A couple of object cloning edge case tests
Removed too much in prev commit
Removed actiongraph scope from component postclone
Make sure both buffers are destroyed
Add octohedral_encoding.fxc
Add skinning_cs.shader
Try and use animated vertex cache when D_CS_VERTEX_ANIMATION is enabled
Store vb size offsets in rendermesh
Create GPU buffers for skinned vertex cache and vertex cache offsets
Dispatch requested vertex cache updates
Animatables requests vertex cache updates
JSON free GameObject.Clone
Target > SV_Target0 & out with reflection combo
Remove Dynamic Reflections feature from shaders & crumbs from lighting.fxc
Humans: small tweak to Sprint_N + export the copy of the graph assigned to Humans
Humans/animgraph: added Sprint_N (+ temp derived NE/NW)
Push time scope when calling pending starts
Fix NRE in SpriteRenderer when texture is null
TextureControlWidget creates a child ResourceControlWidget instead of trying to be one
Speed up Pixmap.FromTexture ( there's got to be a faster way than this come on)
Draw texture preview
Remove Reflections.hlsl and both instances of Reflection() mode in our shaders
Add TextureGenerator boilerplate
TextureControlWidget poc
Fix crash in unit test when creating SoundStream
Run pending component starts at the end of loading, before host joins game
Revert "Widget.Parent checks for valid"
This reverts commit 0da86010868490ff4bbe0b0cb524e5a5fcbb0bf7.
Scene loading only happens once
Add TextureGenerator boilerplate
KeyValuesToJson
Add Material.Shader
Add TypeLibrary.CreateProperty, Obsolete SerializedProperty.Create
TypeLibrary.CreateProperty takes attributes - allowing further customization
Make ParseToJsonObject public
Add Asset.SetInMemoryReplacement, ClearInMemoryReplacement
Pass on description, title, source info to property
Widget.Parent checks for valid
Fix warnings
Delete ResourceConverterFactory, ResourceJsonConvert
safe to pick to main
Add TypeLibrary.Current
Add TypeLibrary.Current
Remove hacky Scene.IsWaitingForLoad
Give NavMesh a proper place to generate during loading (after everything is loaded)
Don't try to auto-switch hosts if LobbyConfig.DestroyWhenHostLeaves is true. If that's true, we should only ever have the same host..
Wrap scoped undos in a nicer API
Still need to rewrite existing usages
Fix TypeLibrary.Current not working
Materials store the shader version they were compiled against, added Source( ShaderVersion ) for shaders to query what the current material was compiled against for backwards compatability
Blendable: Use hemi octahedron encoded normals same as complex for better quality, remove a redundant texture lookup per layer, remove the 5th unused blend layer because wtf
https://files.facepunch.com/matt/1b1811b1/mspaint_qIv6MYpn8Y.png
Delete ResourceConverterFactory, ResourceJsonConvert
safe to pick to main
Add TypeLibrary.Current
Add TextureGenerator boilerplate
Remove C++ side of Dynamic Reflections, this is becoming a component like SSAO & going to use DepthNormals
Remove FramebufferScratchTexture, it was used to fetch a rendertarget over multiple frames easily and only meant to be used on dynamic reflections in native side, our C# RenderTarget is equivalent to it
Should be continue rather than break, fix undefined identifier if S_MODE_DEPTH_NORMAL is not set
Pass MSAA value from pipeline, make DepthNormals a dynamic combo instead of a mode, conditional
Add Normals.hlsl, with fallback if no depthnormals are available, add Bindless::GetTexture2DMS
Adjustments, Depth Prepass Depth Only under a convar, do depthnormals without size cull threshold
GTAO uses Normals::Sample() instead of recalculating normals from depth
https://files.facepunch.com/sampavlovic/1b1711b1/sbox-dev_e5dHGELNmU.mp4
Use current msaa type when creating a new swapchain for tool widgets instead of using msaa 16X, currently doesn't change when changing settings though
Adjustments, Depth Prepass Depth Only under a convar, do depthnormals without size cull threshold
GTAO uses Normals::Sample() instead of recalculating normals from depth
https://files.facepunch.com/sampavlovic/1b1711b1/sbox-dev_e5dHGELNmU.mp4
Amend MoveMode.IsStandableSurace typo, though I can't Obsolete the old one without an error
Don't "step down" when on a dynamic physics object (let physics work)
Stomp z velocity when stepping down
Stomp z velocity when stepping up
Editor: Launch dedicated server option (we probably want some way to join it from editor?)
Fix NRE when attempting to save with unresolved errors
Guarantee IsSubgraph is set properly from the ShaderGraph window
Only Update FunctionResult.Inputs when necessary instead of when accessed.
Add PlugInfo.GetInput() and serialize PlugInfo.Name as the property name instead of display name
GameObjectInspector Reacts to Start/Finish Edit
Fix Component/GameObjectControl EyeDropper undo
Fix BoolControlWidget Undo
Blur active widget on undo/redo
Rewrite undo for component tool gizmos