Commit Graph

5304 Commits

Author SHA1 Message Date
bjorn 828e039f8d Mesh/terrain colliders correctly default to static; 2024-04-28 12:08:16 -07:00
bjorn 61fd59d1a2 Add missing ConeJoint bindings; 2024-04-28 11:53:38 -07:00
bjorn 90ed67c0d5 Misc cleanup; 2024-04-28 11:53:38 -07:00
bjorn 8c52cf5b01 Collider:getEnabledAxes works better; 2024-04-28 11:53:38 -07:00
bjorn e9a3db6250 ConeJoint; 2024-04-28 11:53:38 -07:00
bjorn ea9e512d9a Fix ConvexShape methods; 2024-04-28 11:53:38 -07:00
bjorn 1115029fe0 Add more settings to newWorld; 2024-04-28 11:53:38 -07:00
bjorn 4dbcc15cef Add ConvexShape methods; 2024-04-28 11:53:38 -07:00
bjorn 91072136aa Update Jolt; 2024-04-28 11:53:38 -07:00
bjorn a0bbc68be5 Joint colliders are optional;
One of the colliders can be nil to fix the joint to the world.

This currently crashes JoltC.
2024-04-27 14:23:39 -07:00
bjorn 1865cf8591 Add Collider:get/setType;
Deprecates Collider:is/setKinematic.
2024-04-27 13:37:31 -07:00
bjorn 9b3ace7094 WIP Collider:get/setEnabledAxes; 2024-04-27 13:37:31 -07:00
bjorn b6b13deea6 Call NotifyShapeChanged when collider shape changes;
Jolt says we have to do this if the collider has joints.  um...ok...
2024-04-27 13:37:31 -07:00
bjorn ee76f3418a World:shapecast; 2024-04-27 13:37:31 -07:00
bjorn 5f6880f8ef Raycast adjustments; 2024-04-27 13:37:31 -07:00
bjorn 115f2e24b2 New raycast implementation; 2024-04-27 13:37:31 -07:00
bjorn a1ea0eaceb World:queryBox/querySphere use broad phase queries; 2024-04-27 13:37:31 -07:00
bjorn 5fee9feea8 Update Jolt; 2024-04-27 13:37:31 -07:00
bjorn 37be4a2909 Query callback use better function pointer syntax; 2024-04-26 17:17:52 -07:00
bjorn 5d7811903b Lots of Joint stuff; 2024-04-26 17:17:51 -07:00
bjorn 795b585e75 Update Jolt; 2024-04-26 17:04:55 -07:00
bjorn d8d194e8ec rm Joint anchor setters;
For consistency, since not all the joints support them.
2024-04-23 11:24:50 -07:00
bjorn 851b12b292 rm Collider:get/setShapeOffset;
Maybe we can just use CompoundShape.
2024-04-23 11:17:05 -07:00
bjorn 816f5fce1d Update Jolt; 2024-04-23 11:17:00 -07:00
bjorn 1d4d403ae5 WeldJoint; Joint:getForce; Joint:getTorque; 2024-04-22 20:31:54 -07:00
bjorn 6575b6ad70 Fix mass update when changing shape offset; 2024-04-22 11:03:53 -07:00
bjorn f9169202d0 rm lovrColliderInitInertia; 2024-04-22 11:03:53 -07:00
bjorn eaf6805fc6 Collider:getWorldCenter; Jolt center of mass; 2024-04-22 11:03:53 -07:00
bjorn e4895a7f1e rm World:getContacts; 2024-04-22 11:03:49 -07:00
bjorn c896541356 Add luax_pushstash helper; 2024-04-21 15:40:43 -07:00
bjorn bd3abe9470 rm World:raycastAny/Closest; 2024-04-21 15:40:43 -07:00
bjorn 83e11cc264 rm World:overlaps/computeOverlaps/collide; 2024-04-21 15:40:42 -07:00
bjorn 5c68b701d3 Add helpers to convert between jolt vectors; 2024-04-19 19:42:24 -07:00
bjorn 30b8ddc2ed Update jolt; 2024-04-18 13:16:07 -07:00
bjorn 48c0b4c167 Rework Buffer formats;
Summary:

- Buffer length can be zero (indicates single value instead of array)
- Internally, arrays aren't coerced to array-of-single-struct
- Removes support for "flat table" data (array-of-structs w/o wrapping
  each struct in a nested table)
- Use consistent syntax for reading table data into buffers:
  - Numbers are numbers
  - Vectors are numbers, tables, or vectors
  - Structs are tables with any combination of integer/string keys
    - Fields are assigned from integer keys in order, then any remaining
      fields use the string keys
  - Arrays are tables of elements, formatted as above
- Try to improve error messages for Buffer:setData errors
2024-04-17 21:35:54 -07:00
bjorn 35e285d53e Add none BlendMode; 2024-04-17 20:53:52 -07:00
Bjorn 72e042f6ae
Merge pull request #763 from jmiskovic/fix/jolt-setmass
Fix setMass; correct terrain sampling
2024-04-11 16:14:45 -07:00
Josip Miskovic 2302c51952 Fix terrain generation horizontal increment 2024-04-11 22:26:15 +02:00
Josip Miskovic aaac317c67 Fix setMass allocation on user side 2024-04-11 20:28:36 +02:00
bjorn e08217e6ca Fix lovr.graphics.newTexture when passing a single image; 2024-04-11 09:27:54 -07:00
bjorn bdeee99953 Tracy; 2024-04-10 14:06:57 -07:00
bjorn aef71192ac Add ConvexShape;
Also luax_readmesh supports ModelData input, and the indices pointer can
be NULL to only request the vertex positions.
2024-04-09 13:01:30 -07:00
bjorn f1ba4d1a1e Clean up Joint lists further; 2024-04-08 11:11:28 -07:00
bjorn 5df8405af3 Cleanup; Methods take vectors;
Ugh this was way worse than I thought
2024-04-07 20:27:10 -07:00
bjorn 2952ed764d Fix issue with Collider:getJoints;
This can probably be simplified somehow...
2024-04-07 15:22:06 -07:00
bjorn 985ba6bd13 Fix collider leak; 2024-04-07 15:13:33 -07:00
bjorn 15649802c8 Rework World Collider/Joint lists;
- Add World:getColliderCount
- Add World:getJointCount
- Add World:getJoints
- Add Joint:isDestroyed
- Destroy joints when either of their colliders are destroyed (Jolt
  seems to require this).
- Fix joint memory leak.
- Change joints to be stored in some crazy graph thing.
  - Reduces allocations, allows constant time insertion/removal.
2024-04-07 15:08:22 -07:00
Bjorn e3b42fe24b
Merge pull request #762 from bjornbytes/compound-shape
CompoundShape
2024-04-07 14:34:28 -07:00
bjorn 060e72c525 Rename CompoundShape 'shape' to 'child';
Maybe slightly less ambiguous/confusing?
2024-04-07 13:47:52 -07:00
bjorn 47dec01772 rm more useless checks; 2024-04-07 13:47:52 -07:00