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