159 Commits over 30 Days - 0.22cph!
Rescale body when setting transform with different scale
Simple debug drawing for sphere and capsule, they were drawing too much geometry
SweepBody, SweepBodyMultiple
Activate non solid contacts regardless of if neither is dynamic (triggers)
Create BVH and copy it to RnMesh_t (for tools)
BVH resource pointers point to rubikon data
Swap these bits around in bvh node because that's the order rubikon has it
Use aligned vertices for RnMesh_t, convert post load if they're unaligned
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