22,818 Commits over 1,642 Days - 0.58cph!
Physics tool selects all rigidbodies in hierarchy
Expose MeshComponent.Model
Don't invoke ISceneCollisionEvents for trigger intersections
Update skinned renderers if they have physics bones
Improve handling of empty navmesh tiles
Also improve editor auto update when world bounds change.
deserialize absolute game object flag, flags are deserialized selectively
Joints execute in editor, physics tool can manipulate physics in editor so joints should also work
Colliders without rigidbody are static in editor
Ao proxies removal (#1678)
* Remove aoproxies ambient occlusion, it never looked too right and it's stupid to have artists authoring them manually, almost no one did
I still think SDF AO works better than SSAO in most cases, but they should live as a renderhook and artists don't need to touch anything, the way it is now is very hard to maintain, it could be 10x simpler
* Remove sdf.hlsl (until we meet again 🫡 )
Navmesh only run heightfield generator cleanup in task
Navmesh generator cleanup is sub 10 microseconds, so not worth it to dispatch a task, since task dispatch overhead would be higher than actual compute.
Remove aoproxies ambient occlusion, it never looked too right and it's stupid to have artists authoring them manually, almost no one did
I still think SDF AO works better than SSAO in most cases, but they should live as a renderhook and artists don't need to touch anything, the way it is now is very hard to maintain, it could be 10x simpler
Remove sdf.hlsl (until we meet again 🫡 )
TextEntry: Prevent brief caret selection of placeholder text, fixes Facepunch/sbox-issues#7087
Tweak TextEntry selection behaviour to match modern browsers
Update Facepunch.ActionGraphs
* Fix display info of constructor node result output
Sort filtered node query by relevance
https://files.facepunch.com/ziks/2024-12-02/sbox-dev_02cGbJAziV.png
Make it easier to find constructors for Vector3 etc
Applies to constructors that were already [ActionGraphNode]s
Facepunch/sbox-issues#5624
Make node queries less strict
https://files.facepunch.com/ziks/2024-12-02/sbox-dev_jj1QWkPK4U.mp4
Fixes Facepunch/sbox-issues#7024
Fix potential infinite loop in navmesh generation
Fix navmesh geometry collection physicsworld NRE
Fix NavmeshGeneration performance regression caused by 51c5e14
Navmesh generator cleanup now runs in parallel
Heightfield span pools are no longer freed after a completed generator run, instead they are returned to the freelist and reused.
Disposing of the generators now waits for all active generator tasks to terminate.
Partial backport of ISceneObjectDesc::OnSceneObjectVisibleInView (Don't merge this, hacky temp allocation)
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
Support SoundHandle.Stop fade time, add Fadeout curve to control fading
Fixed backward compat for Authority attribute when specifying NetPermission. Ensure networking is cleaned up after game leave so any last-chance RPCs can be sent.
Actually include stats from direct connection / dedicated server with net_debug on
Added Connection.GetStats support / implementation for non-lobby Steam connections. Can view net stats for connection to dedicated server or clients connected to dedicated server as well
Fix physics triangulation occasionally overwriting the vertex buffer
Spheres & Capsules were always written at the beginning of the buffer
Fix NRE when scene was unloaded while navmesh generation was running
Cluster Delta Snapshots - Improvements to Bandwidth, Max Snapshot Size (#1717)
Resolves issues with Steam networking choking.
Add DeltaSnapshotCluster.MaxSize const (def: 24kb)
Test per obj snapshot / no bunch
Initialize last sent snapshot ids
Snapshot clusters
Fix write order
Increase cluster size, grouping, actual delta for clusters
unreliablenodelay
Increase cluster size, grouping, actual delta for clusters
Initialize last sent snapshot ids
Test per obj snapshot / no bunch
Some safety in Connection.All (don't add any null values to output list)
Fix Owner/Host mode RPCs not sending to target. Fix issue w/ Rider intellinse when typing Rpc. in attribute
Smooth move rigidbodies with position tool so moving them doesn't fight with physics https://files.facepunch.com/layla/1b2911b1/sbox-dev_ondqw8nnTP.mp4
New RPC api + code upgrader foundation
Add RpcAttribute, RpcMode
Remove codegen from AuthorityAttribute
Instanced rpcs
Expose transmission
Rename NetTransmission to NetFlags, hide RpcMode
Update NetFlags descriptions and names
Obsolete NetPermission, BroadcastAttribute, AuthorityAttribute
Rename Unbuffered to SendImmediate
Add upgraders
Convert NetPermission flags too
Explicitly pull in updated System.Formats.Asn1
Show PanelComponent source location in UI Panels heirarchy
UI Panels: fix deselection not clearing selected panel
UI Panels: fix element nodes not updating when changed
Optimise comically slow processing logic when pasting into TextEntry (several seconds -> low ms), Facepunch/sbox-issues#6938
Move PlayerController.Animation behaviour to MoveMode (#1716)
Clean tests
Documentation
Fix hull navmesh area bounds using z up instead of y up.