4,014 Commits over 1,461 Days - 0.11cph!
Add materials back to BVH
Save RnHull_t on shape so tools can grab it later
Create RnHull from library hull, just copy everything over
Revert "Don't add hulls and meshes to aggregate if they fail to build (old data)"
This reverts commit 54d7102f39ce1aca8dde5f84c4cb91070f953eb2.
Revert "Abstract physics hull"
This reverts commit 592ef2bbb12f7cb633735b58c7ff5f594c292715.
Revert "Allow BVH to have optional material indices"
This reverts commit 6ba259ea8f0271d3f59e7b138a07f691cc918c6f.
Revert "Move CPhysicsMesh and CPhysicsHull to their own files"
This reverts commit 9c6ca449f38b72260189f2dc093aa4325b96fee6.
Revert "Abstract physics mesh, phase out RnMesh_t but keep around for loading old collision data"
This reverts commit 883b63ad78c97bd879a9f64e14551ff13bebca5f.
Revert "Start trying to phase out RnHull and RnMesh"
This reverts commit 71878031f158215d4f40a4f1dc913827824394ba.
Revert "Remove bullshit from RnHull and RnMesh to see if still loads and how"
This reverts commit 288df9621dd0c6cb6de3e35b958cecc4cb267102.
Try pointing hull resource pointers to rubikon data, much easier if works
Resource pointer needs to use intptr_t
Add a hull deep clone
Cherry picked SAT fixes in library
Don't add hulls and meshes to aggregate if they fail to build (old data)
Move CPhysicsMesh and CPhysicsHull to their own files
Allow BVH to have optional material indices
Abstract physics mesh, phase out RnMesh_t but keep around for loading old collision data
Start trying to phase out RnHull and RnMesh
Remove bullshit from RnHull and RnMesh to see if still loads and how
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)