21,395 Commits over 1,552 Days - 0.57cph!
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.
Move PlayerController.Animation behaviour to MoveMode
Include Sandbox.CodeUpgrader.dll as an Analyzer
Refactor upgraders with nicer syntax
UI: Set Button.Active inside TabContainer rather than setting active class directly (consistent with ButtonGroup)
UI: Fix worldpanel filters, save off default viewport Z range when setting a render target (solves depth issues after pushing/popping worldpanel filters)
https://files.facepunch.com/alexguthrie/1b2911b1/sbox-dev_Nl7AwCZeb5.mp4
Published packages don't include dlls
Update PlayerController animator params
PlayerController copy clothes better
PlayerController increase skin slightly, prevents sliding down slopes
PlayerController creates collision on a child GameObject, so it can have different tags set etc
PlayerController - delete existing BoxCollider, CapsuleCollider if they exist
PlayerController - don't recreate Colliders GameObject if we have a child named that already
PlayerController: Fix ducking slightly when standing on small shit
Move PlayerController.Animation behaviour to MoveMode
Dynamic NavMesh Obstacles (#1706)
Allows to block of certain areas of the navmesh both in editor and at runtime.
For this we introduce and expose the concept of **navmesh areas**. Areas can affect navmesh generation and agent behavior/pathing.
### Details
- Accomplished by implementing a tile cache that stores an intermediate representation of the navmesh
- The intermediate representation can be used to modify & remove areas of the navmesh.
- Modifying the intermediate state is magnitudes cheaper than rebuilding the navmesh from scratch.
- Static areas are basically free.
- Moving areas are a bit more expensive, but you should be able to have at least a couple of dozens of them
- The area's shape is defined by a (trigger) collider that can be linked to a nav area component
https://files.facepunch.com/lolleko/1b2911b1/sbox-dev_JTOOu8AAeA.png
https://files.facepunch.com/lolleko/1b2911b1/sbox-dev_3XdDSxj7Ly.mp4
https://files.facepunch.com/lolleko/1b2511b1/sbox-dev_XBNEUDAPfh.mp4
https://files.facepunch.com/lolleko/1b2111b1/sbox-dev_CQAKEpUbQk.mp4
### Summary
Allows to create a navmesh area, link it to a (trigger) collider & set it to blocking to create an obstacle. In the future we can expand on area functionality: custom tags, local navmesh generation parameters...
Fix NRE on editor shutdown
Fix NavmeshArea.IsBlocking not toggling state
GameObject serializing survives when a child is somehow added during serialization
Fix NRE in color picker when there's no parent
Hide, JsonIgnore on GameResource
Create directory when saving clothing render icon (should these be put in temp filesystem/game resource data block)
Update shaders
Gamma correct samples during accumulated ggx, makes highlight less blown out and makes the cubemap more vibrant
Start moving same fast ggx filtering code to cpu for resourcecompiler also for consistency
Revert "Use IClimbingMode interface in PlayerController"
This reverts commit 5fc097414bfb1ef7da5e2f75b35c11c358641200.
Use IClimbingMode interface in PlayerController
Instead of hard-coded checks for MoveModeLadder
Add doc comments to navarea component
Make new PhysHsape.UpdateShape functions internal
Ensure IsGenerating flag is cleared if navmesh generation fails
Do TextEntry placeholder without a separate label, simplifies and makes placeholders/prefix/suffix all play nicely together
also fixes Facepunch/sbox-issues#7060
Add support for caret-color css property, default to text color
Tweak caret appearance, avoid nasty subpixel blur
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
Attempt to use static nav generator pools again
Rename Unbuffered to SendImmediate