7,442 Commits over 3,622 Days - 0.09cph!
Protect against processing the same physics intersection event multiple times
Apply particle rotation to object alignment mode https://files.facepunch.com/layla/1b2411b1/sbox-dev_Sgw55NzeQF.mp4
Ensure positive zero when doing ValueToString on float controls
Add BillboardAlignment.Object to ParticleSpriteRenderer to align particles to game object rotation https://files.facepunch.com/layla/1b2411b1/sbox-dev_wPXQU0YbTa.mp4
Add transform widget back to prefab object inspector
Don't remove sensor contacts when changing body type, fixes triggers entering without leaving when toggling motion type while inside a trigger
Shadergraph: Get rid of DynamicComboRule( Allow0( D_COMPRESSED_NORMALS_AND_TANGENTS ) )
Include bodies in ragdoll joint record
Add read only lists for ragdoll bodies and joints
Drive ragdoll physics from animation in fixed update
Add option to ragdoll to drive physics from animation https://files.facepunch.com/layla/1b2211b1/sbox-dev_zcC1rx2gSM.mp4
Rework component serialize bail logic
Ragdoll child component flags are not saved and not cloned, they always get recreated OnEnabled
Add ComponentFlags.NotCloned to opt out of component serialize when cloning in editor
Flag ragdoll body bones as bone, because they are
Unfuck native physics interface for creating joints, they should all pass in local frames, it's up to C# to calculate local frames for desired setup
Scale ragdoll joint local frames later on
Set ragdoll attachment mode and local frames on all joints
Move joint attachment mode and local frames to base joint, all joints should have these
Setup hinge motor on ragdoll (needs testing)
Setup fixed joint frequency and damping on ragdoll
Setup slider joint limits on ragdoll
Save ragdoll child objects so things can be attached to them in editor
Update Conveyor component to set collider surface velocity, this component doesn't really need to exist anymore though
Factor in surface velocity when solving linear friction constraint
Add PhysicsShape.SurfaceVelocity
Add Collider.SurfaceVelocity - Sets the local velocity of the surface so things can slide along it, like a conveyor belt https://files.facepunch.com/layla/1b1911b1/sbox-dev_0LL7vekKM3.mp4
Conveyor shouldn't use static collider
Move mirror component to work in progress
Fix all deprecation warnings
Fix null exception in PlayerStats.TryGet
WorldTextSceneObject needs to be OverlayWithDepth to have depth with draw solids
Fix winding in Gizmo.Draw.SolidBox
Fix dragging installed cloud assets, don't just bail if it can't find primary asset, fallback to url
Support drags from resource control into scene viewport https://files.facepunch.com/layla/1b1711b1/sbox-dev_A0eI3zWHiZ.mp4
Create and cache line shader outside of SceneLineObject constructor, these scene objects are created on a thread and material load has to be on main thread
Fix command line args preference not being set - line edit is auto focused so bind system needs to be flushed to set it before focus
Revert edit button on resource control
Only show resource control buttons on control hover so they're less in your face
Set tooltip for component control picker button
Add open in editor button to resource control, this is a common enough action to have on the control widget
Fix Video background-image going out of sync causing it to stop looping - disable audio on video player and sync clock to video instead of audio (background-image shouldn't have been playing audio)
Drive kinematic ragdoll parts with smooth move to the animated bone transform
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
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