4,304 Commits over 1,552 Days - 0.12cph!
Rescale bodies and joints on aggregate creation using aggregates scale
Support joint scaling https://files.facepunch.com/layla/1b1411b1/sbox_0123.mp4
Support sphere shape scaling
Scale sphere debug shape transform
Port over shadow controller
Fix trigger touch events, skip contact AFTER activating it
Adjust inertia tensor based on the ratio of custom mass to computed mass
Shape AsSphere and AsCapsule
Remove shape creation from interface, used for getting hit point and normal from sweeps, should just have a function for it on interface
Make aggregate physics library agnostic
Implement some more annoying joint functions
Get joint local and global frames
Touch found, touch persists and touch lost
Enable contact modification if touch persists is enabled
Allow contacts to be flagged as non solid so they get reported but not resolved (triggers)
Non dynamic bodies mass center is bounds center for now
Compute mass for hull
Compute mass for sphere and capsule
Do the same for HullCreateBox so we can get player hull starting to work
HullCreate with just the vertices until we have a shared hull class or interface
Store the original triangle index on BVH before it runs through mesh builder and sorting so we can get the original triangle and triangle material
Revert this, it cocks everything up, find a different way
Calculate mass for all bodies, not just dynamic, our API relies on it
Oops, wouldn't have worked, now it does
Traces get start solid from solver, not fraction being zero
Cast callbacks calls world ShouldHit, does some extra checking for static/dynamic
Save pre velocity for intersection notifications
Support body inertia scale
For aggregate CheckShapeOverlap, just use CastShape, that will handle meshes for us
Fix body CheckOverlap, switch the test around when the shape is a mesh
Get rid of unused overlap and sweep functions from interface
Aggregate CheckShapeOverlap, skip meshes for now
Body Enable, Disable, IsEnabled
Remove GetSimulationTime
Apply flags to collision attributes for toggling touch events
CastShapeSingle
CastShapeMultiple
Use GJK for GetDistanceBetweenHulls
Fully implement CastShapeAgainstShape using TOI, one function vs fuck knows how many
Start supporting CastShapeAgainstShape, starting with ray vs capsule to get hitboxes working
Move TestQuery to world, only physics game system uses this
Create new BVH and swap it out for UpdateMeshShape (probably not fast but never was)
Get rid of orthographic areas (used for drag?)
Only collide on INTERSECTION_PAIR_RESOLVE_CONTACTS
Get rid of CreateMeshShape on the interface, nothing uses it
If we're casting against a sphere or capsule, add on the radius from the proxy
Fix mistake in trace solver when porting over
Cast against hull properly
Add trace solver
Attempt to use trace solver for meshes and hulls
Shape triangulation (tools need this)
Remove IsEntityPairDisabled and DoesEntityHaveCollisionPairs
Get rid of CPhysicsWorld::ShouldHit, only used once in nav runtime gen but I don't think it's enabled or used
Remove unused shit from util_trace
Support body AddMeshShape