3,072 Commits over 1,552 Days - 0.08cph!
Add SkinnedModelRenderer.TryGetBoneTransformAnimation to get the worldspace bone transform after animation but before physics and procedural bones
Fix gizmo transform for gameobjects with absolute flag
Add smooth move and rotate to rigidbody instead of having to access physics body for them
▇▍▅▋█▅ █▋▆▅▌▆█▄▄.▌▍▋▇▋▋▅▅▌▉.█▇▄██▅▌.▉▄▉▍▆▆
Static props set model collider to static
Unhide static property on mesh component (should we force mesh components to always be static?)
Disable kinematic rigidbody being a shadow controller
Clamp mixer volume to 0,1
Add readonly Mass property to Rigidbody, some parented props are calculating wrong mass so it helps to know what mass a rigidbody is
Fix offset child model colliders constantly rebuilding, check if their target local has changed instead
Add GameObjectFlags.Absolute, ignores the parent transform. Basically, position: absolute for gameobjects
Fix capsule collider update not using scale
Fix adding transformed RnHull, just make a new hull, we were transforming the serialized rubikon hull which is very bad!
Scale hull collider points with world scale
Fix capsule collider not using world uniform scale when it probably should
Rigidbody with motion disabled uses shadow controller because it's kinematic
Return joint desc limits in degrees because who wants to deal with radians
Make SetBoneTransform and ClearPhysicsBones because I need them
Support HideAttribute on enum control widget entries
Add points primitive type to hull collider for the situations when you want a custom hull collider defined by points
Add attachment mode to ball joint, same as hinge
Fix crash getting joint desc limits, interop hates this for some reason
Implement CastBodyMultiple for trace body run all
Fix Trace.Body not using start rotation
Update physics shape material properties on surface reload
Remove vsurf resource, we use surface game resource for this
0,1 range on Collider.Friction
Make sure collider friction is set back to surface friction when custom friction is disabled
Colliders use the target world of rigidbody to work out the local shape transform, more reliable than using the physics body transform
Check for changes internally for physics body SetPosition and SetOrientation, setting them wakes up the body and moves proxies so only set them on change
Fix isUpdatingFromPhysics not being set back to false
Don't include triggers in mass calculation, rebuild mass when trigger property changes
Fix CPhysicsShape::SetMaterial likely not rebuilding mass properly
Refresh shape contacts before and after changing tags, fixes shape collision rules not updating when proxy bounds are overlapping
Don't draw physics wireframe with alpha, it's hard to see
Add Surface.RollingResistance https://files.facepunch.com/layla/1b0811b1/sbox-dev_JICzg1spr4.mp4
Obsolete Surface.Dampening, unused, never has been
Rebuild mass when updating physics shapes (only convex shapes)
Only update collider shape on property change
Forgot to return array to pool
Fix non uniform scale sphere collider updates
Don't rely on keyframebody when updating colliders, they could be sweeping to a new position so the shape gets updated using an incorrect local transform
Try to make restitution work with soft contacts, fixes bouncy surfaces when dynamic collides with kinematic
Scaling should not be applied to NormalToLocal and NormalToWorld but happy to be proven wrong
Fixed transformation order for PointToLocal and PointToWorld, add some tests to make sure they match ToLocal and ToWorld
Serialize animation parameters if they're changed in editor https://files.facepunch.com/layla/1b0611b1/sbox-dev_paNSU6QjyT.mp4
Run animation for skinned model renderer in editor if it has any stored parameters because we want to see them
Signal values changed for float slider, OnChildValuesChanged wasn't called when moving slider
Rebuild colliders immediately instead of next update
Fix NRE setting null surface on physics body or shape, should just set to default surface internally
Fix NRE's when renaming component - some work needs to be done here though to handle renames gracefully
Mesh component center origin restores child transforms
Add all properties of mesh component to sheet, filter the ones we don't want
Use EditorWindow for FileDialog parent here, fixes component type selector crash
Deserialize replaced component with json of previous component