4,380 Commits over 1,583 Days - 0.12cph!
Make these functions more readable
Add Rotation.ClosestAxis - Will give you the axis most aligned with the given normal
Add Gizmo.Nudge - Will give you a nudge vector along the most aligned left and up axis of the rotation
Fix PositionEditorTool not snapping properly in localspace
Editor tools can create subtools, move, rotation, scale become subtools
Change Gizmo.Contol.BoundingBox to new box resize gizmo because this function isn't being used anymore
Create runtime buffers for dynamically created meshes so they can create trace data, allows them to be scene traced
Early out of CreateToolsTriangleList when there's no runtime buffers but also assert because ideally this should happen
Init frustum as ortho when using ortho, fixes PointToScreenPixels. Obsolete OrthoWidth
Adjust size of EnumControlWidget popup to see if that fixes weird position sometimes
Also don't add icon button if there's no icon
Clear cache body parts on model so that bodygroups in inspector can update properly
Add material groups and body parts to their control widget value hashes so they refresh on model reload https://files.facepunch.com/layla/1b1511b1/sbox-dev_10llRRdkD3.mp4
Add PhysicsBody.AddCylinderShape and PhysicsBody.AddConeShape
Add hull collider component to combine multiple hull shapes with selector (box, cone, cylinder) https://files.facepunch.com/layla/1b1511b1/sbox-dev_KwarwIJ8dm.mp4
Fix Camera.RenderToTexture incorrect aspect when using ortho, just use ortho height, we don't use ortho width and it should be removed
Add SkinnedModelRenderer.AnimationGraph to override animgraph
Abs the radius in Gizmo.Draw.LineCylinder so it isn't all fucky
Allow multiple ShowIfAttributes, will show property if any of them are true
Add SerializedProperty.GetAttributes, will be needed if we want to get multiple attributes
Fix triggers activating when collision default is set to ignore
Add joint break strengths to modeldoc
Support Scene.trace.Body (todo: multi, sweep) https://files.facepunch.com/layla/1b1211b1/sbox-dev_G86CwDirl8.mp4
Setting SceneModel.AnimationGraph to null resets to model animgraph instead of crashing
Fix ColorControlWidget popup not constraining to screen
Creating an invalid hull or mesh physics shape will always return a valid shape (tiny sphere) so warn when this happens
Title case and remove whitespace when creating new components
Add Rigidbody.MassOverride
Add plane collider because I'm sick of thin boxes being used for floors
Timeline component stores curves for properties, timeline editor edits curves for selected object
Add some more safety checks around joint creation
Remove joint from broken joint list before it gets deleted
Add hit shape to damage info
Include hit location in DamageInfo
ModelPhysics gizmos sync to physics group
Make sure ModelPhysics always finds a root body to use as game object transform
Fix non animated ragdolls not applying physics bones properly
Fix typo in Map.CreateAsync?
Fix NRE in AssetPreviewWidget
Add RootMotion to skinned model to get the calculated motion from animgraph since last frame https://files.facepunch.com/layla/1b0111b1/sbox-dev_WlG9GCnJcc.mp4
Add a test for FindInPhysics because chances are I'm going to forget this fix when izabu updates
Fix CastShape on mesh shape not returning hit fraction when toi is overlapped
Add Scene.FindInPhysics( sphere ) and Scene.FindInPhysics( bbox )
Flip PhysicsContact normal and speed for the other collider
Hook up ModelPhysics renderer for prop_physics
Do a better job at keeping mass override applied
Some physics interface clean up
Reapply mass override when setting local mass center
Add mass test
Remove shape before checking collision events, removing a shape can generate contact reports so they need to be removed
Delete body after checking collision events
This is making physics debug draw super slow
I should probably initialize this!
Get rid of EnableLinearConstraint and EnableAngularConstraint, not supported and dumb
Support joint deactivation in izabu, this allows ragdolls to break joints, not just joint components
Joint IsActive setter so any breakage can be reset