22,015 Commits over 1,583 Days - 0.58cph!
Overlay is considered a game layer since it draws to color, fixes depth prepass for overlays, remove overlay prepass from renderpipeline_standard
CommandList.GetRenderTarget with SizeFactor, don't allocate DepthTexture for it since it's not being used anywhere yet
Decode cached vertex normals and tangents
Don't call CalculateInstancingObjectToWorldMatrix when using D_CS_VERTEX_ANIMATION, it's already calculated in the cache
Automatically detect if a type can be copied for cloning.
Cleaneup clone reflection code
Remove clone interface and attribute
Add another test
Add another test
Format
Add SV_VertexID to VS_INPUT, this can be used for indexing vertex cache instead of using D_MORPH nVertexIndex
New Clothing - Headphones
https://files.facepunch.com/daniel/1b2011b1/0OyFzoEgI6.png
LODs and Human aswell
Fixed a bug where calling GameObject.GetPrefab could network spawn game objects. Never network spawn game objects if its scene is a PrefabScene.
Merge branch 'master' of sbox
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