4 Months Ago
Update to latest, update vpc, wrap any izabu changes in SBOX defines
Add back body axis lock
Linear slop is 0.03125 in sbox
Allow joint to become inactive
Joint is enabled if it's active
Add should collide callback
Ignore izShouldCollide(Body, Body) if one of the shapes is a sensor
Add joint break callback
Don't calculate mass for height shapes
Test max impulses for joint breaking
AddSpringJoint
Fix compile errors in physics joint
Fix GetBody, AddBody, StepSimulation, StepUpdateManaged
World and shape userdata is void* now not intptr
Fix body types
Joint max impulse limits
Create shapes with default shape def
Default world def
Setup contact modify and should collide callbacks
Fix AddBoxShape
Add material list to BVH
IsConcave -> IsMesh
IzArray -> IzSlowArray
IzTOIQuery -> IzTOIResult
IzGeometry -> IzQueryShape
Remove custom cast callbacks for now, can probably use their casting now
Shape, Joint, Contact are structs now
Fix more compile errors
Remove these sweep functions from interface, we're not using them
Collision mesh serialization now uses Vector instead of VectorAligned for vertices, upgrade them in transfer post load
Fix GetTriangleMaterialIndex for meshes
AddTriangleMaterialIndex and ClearTriangleMaterials do nothing until izabu base mesh shapes have a physical material list
Comment out all cast functions so we can compile
Don't include simd.h in VPHYSICS2_LIBRARY, conflicts with engine simd
Deep copy rubikon hull to izabu hull
Should collide callback is backwards, woops
Fix StepUpdateManaged not accessing active bodies, woops
Destroy hull after adding it to hull shape, shapes no longer own the hull
CastBoxSingle
AddMeshShape with scale can just do a deep copy of BVH, mesh shapes support scale
Make sure BVH gets destroyed on shape destroy
Swap bit fields when copying BVH nodes
Adding transformed mesh uses fast path when there's only scale in transform (building BVH is expensive)
Izabu has body enable/disable so just use that instead of our shit
Get rid of these single body casts, they're not being used
Enable sensors for triggers
Missed an angular lock
Route asserts to engine so they show up like any other assert
Disable this contact assert, doesn't make sense
Hook up joint break callback, disable joint on break
These cast functions aren't used either
Remove GetBboxFromProxies
Try casting box with a small hull skin to avoid getting stuck
Run a trace solver on hit shape to get the proper hit fraction and start in solid
Move trace solve to cast callback so everything can use it
Use our filtering in cast callbacks
Grab triangle on base mesh so that it should work for both mesh and heightmap
Get rid of all this shit, it's no good
Hulls sweep with a radius
Resolve hit penetration (should add to trace API?)
ApplyLinearImpulseAtWorldSpace just uses ApplyLinearImpulseAt, same thing
Remove more unused from interface
Box casts can optionally have a convex radius (skin) this allows things like player movement to move to end position without the next trace becoming stuck and needing to fuck about
Shape casts can have a start rotation ( cast rotated box, capsule, etc)
Implement CastRayMultiple, CastShapeMultiple
Use a callback for izLinearCast so we can override it and do our own
Add per triangle material properties to base mesh
Sensor events
Touch events
Fix sensor typo stopping sensor events from working sometimes
Allow physics interface to easily switch to using trace solver so we can evaluate which is better for our needs
This wasn't a typo, just enable sensor events for every shape because we want to report anything crossing a trigger
Filter TestSimulation just returns a bool, we only care if we collide or not, not these bullshit flags, we technically collide with triggers because they're sensors
UpdateShadow calls SetVelocityFromKeyframe
Make sure body type and use controller are updated when collider Static property is dirty
Implement shadow controllers with SetVelocityFromKeyframe, applied pre physics step
Reset velocity on body transform change too, setting transform acts as a teleport so all velocity should be gone
Actually, don't do this, I think people rely on it even though I wish they didn't
Fix MeshCreate not creating nodes properly
Report touch lost when removing contacts for sensors and contact events enabled
Calling OnContactRemoved in the wrong place
Allow contacts to activate for kinematic vs sensor
Implement world queries (overlaps)
Fix tools_wireframe for reverse z
Start on debug drawing, starting with sphere shapes
Make debug draw turn on and off
Debug meshes
Debug capsules
Debug hulls
HeightField debug
Offset terrain collider because internally it's Y up
Fix debug draw crashing
Fix casting heightfield not working.. wrong winding
Shapes have an Overlap function, use that for CheckOverlap instead of CastShape
Allow non solid contacts to report touch events for trigger collision rules to keep the collision behaviour we have
Call OnContactRemoved when refreshing contacts
Begin and end touch events need the contact, our touch events need to calculate hit data
Get rid of the prevelocity shit
Combine friction and restitution from per triangle surfaces
thumb_up
1
thumb_down
0