7,351 Commits over 3,622 Days - 0.08cph!
Fix gizmo transform for gameobjects with absolute flag
Ragdoll smooth moves kinematic rigidbodies to renderer bone, as an added benefit it means we don't need to calculate bone velocities, the rigidbody already has it when switching to dynamic
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
These floors should be static in physics_simple scene
Add IgnoreRoot to ragdoll, mostly so I can test motion enable toggle, needs better name
Set ragdoll transform to root body transform. Use absolute flag for child rigidbodies so parent transform doesn't fuck them
Add GameObjectFlags.Absolute, ignores the parent transform. Basically, position: absolute for gameobjects
Parts have linear and angular damping, so use them
Dynamic joint scaling https://files.facepunch.com/layla/1b1311b1/sbox-dev_8tUelwOLEE.mp4
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
Scale ragdoll joint local frames by body world scale
Fix capsule collider not using world uniform scale when it probably should
Add motion enabled support to ragdoll, motion disabled drives kinematic bodies using render bones https://files.facepunch.com/layla/1b1211b1/sbox-dev_x0MIf0ioIl.mp4
Rigidbody with motion disabled uses shadow controller because it's kinematic
Destroy physics on ragdoll destroy too
Clear physics bones when switching out renderer
Add rigidbody flags to ragdoll
Add physics lock to ragdoll
Use renderer bone transform to set up ragdoll rigid bodies if they exist https://files.facepunch.com/layla/1b1211b1/sbox-dev_Rr8wJCrHB6.mp4
Joint desc limits are in degrees
Return joint desc limits in degrees because who wants to deal with radians
Set ragdoll collider surfaces
Add work in progress ragdoll component that creates child rigid bodies from model physics https://files.facepunch.com/layla/1b1211b1/sbox-dev_CS4vIaEj8o.mp4
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