5 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