22,469 Commits over 1,614 Days - 0.58cph!
Fix crash when removing contacts, sometimes the next contact can be null?
Remove contacts if we disable joint collision
Allow joint collision to be toggled (do we need to update contacts?)
Don't use file scoped classes for input action cells, ends up codegenning a really shit name for them and makes stack traces worse to read
Editor: Add inline text editing for input action name and group
https://files.facepunch.com/tony/1b0911b1/sbox_Pa9V155XnL.mp4
Reference Facepunch.ActionJigs, NodeGraph refactor
Allow references to Facepunch.ActionJigs in editor code
More plumbing for action editing
Updated ActionJigs
Some more node types
Support deserializing system types if TypeLibrary is okay with them
Error messages in node tool tips
Added GraphView.GetRelevantNodes
Node graph HandleConfig refactor
Allow arbitrary nesting in node creation context menu
Default handle color tweak
Update Facepunch.ActionJigs
Hotload: fix before / after constraints on upgrader ordering
Can get physics hull edges (for debug renderering)
Can get triangles from physics mesh
Add some faster line drawing functions to gizmo
FPArms: add sprinting anim to punching animgraph
FPArms: remove hold adjustment sequences from adjustment prefab
Filter out shapes on sphere and box queries
Add CWorldCastMultipleCallback for multiple casts
Add a should collide callback so we can hijack the simulation filtering (naughty)
Move cast callback to physicsfilter
Remove collision function mask stuff on body, only used on shape
Use our custom cast callback using physics filter for single casts to test
Setting collision attributes with no tags will add solid by default, important!
Add CPhysicsFilter which is just our modified CRnCollisionFilter, we'll fork the physics library slightly to perform our own filtering
Start exposing CPhysAggregareData
PhysicsGroupDescription can get a list of parts, and their parts
Add Gizmo.Draw.LineCylinder (sucks)
Add BodyPart.Transform
Surfaces properties instead of material on CShapeCastResult
Get cast result surface properties from per triangle material indices if we trace a mesh
Store per triangle material indices on shape so we can get them back on collision event
Do the same for CastSphereMultiple
CastBoxMultiple too while we're at it
Add a cast callback that collects all intersections to support CastRayMultiple https://files.facepunch.com/layla/1b0711b1/sbox_0053.mp4
PhysicsTrace supports Capsule trace
Remove linear and angular drag, no longer a thing
Get rid of unused query functions on interface
Fix shape CastSphere and CastBox (probably)
FPArms: added weaponless sprint animation & renamed existing shared run/sprint anims
Downgrade CastSphereSingle to CastRaySingle if radius is zero
Mesh shape CastRay is getting -1 for best triangle sometimes so ignore it to avoid crash
Do sphere and bounds shape overlap tests properly by copying how testbed does shape casts
Sphere query will perform a shape overlap if we're testing for shapes and not proxies https://files.facepunch.com/layla/1b0711b1/sbox_0048.mp4
Add sphere query to dynamic tree
World sphere query (needs testing)
AddBoxShape and AddHullShape that C# use
Get rid of UTIL_TraceModel
CastRaySingleBody, CastSphereSingleBody, CastBoxSingleBody, probably not fully correct but only markup volume uses it and we'll probably get rid of this
Remove some unused cast functions from interface
Make physics trace operate identically to game trace, diagnosing bbox vs sphere https://files.facepunch.com/garry/477f5e8e-920d-4eea-977b-b1404b4a632e.mp4
PhysicsTrace.EndPoint fix
Delete our joints and shapes before removing body from world
Remove shape from body and remove body from world checks if it owns them first
World query (cos mixed shadows uses it)
Disable shadows on debug rendering
Get cast result surface properties from hit shape material
Shape GetInertiaProperties (overkill? Only CModelPreviewPhysicsShape uses it)
Adding/removing tags on shapes collision attributes until we know how this fits into the filtering system
FPArms: added shared holster animation
Aggregate SetCollisionAttributesFromResource and SetTotalMass
Setup the callbacks for contact modify and end
Prismatic joint from desc
Spring joint from desc
Start the editor with the previous saved log level (e.g tracing stays on)
Fix events not running on instances where they have events on the base and derived class
Port spring joint from rubikon https://files.facepunch.com/layla/1b0611b1/sbox_0041.mp4
Allow arbitrary nesting in node creation context menu
Node graph HandleConfig refactor