bjorn
907d89c913
Add Collider:getShapes for backcompat;
2024-04-07 13:47:52 -07:00
bjorn
ff0f39fc7b
rm unused shape prototypes;
2024-04-07 13:47:52 -07:00
bjorn
b809db1d83
ODE compatibility;
2024-04-07 13:47:52 -07:00
bjorn
051266f8ea
Collider shape is required I think;
...
Jolt doesn't really support bodies without shapes.
2024-04-07 13:47:52 -07:00
bjorn
930e713079
Add Collider:get/setShapeOffset;
2024-04-07 13:47:52 -07:00
bjorn
4f26182595
World queries return collider/shapeindex instead of Shape;
2024-04-07 13:47:52 -07:00
bjorn
8cbdda00f3
Require frozen CompoundShapes to have at least 2 children;
...
If you create a StaticCompoundShape with 1 child, Jolt creates a
RotatedTranslatedShape. It would be a pain to have to branch on that,
so let's just require 2 children.
2024-04-07 13:47:52 -07:00
bjorn
10f965d69e
rm Shape setters;
...
Jolt doesn't support this and requires you to recreate the shape. Since
the shape -> collider relationship is 1:N, we can't really create a new
shape because we'd have to figure out which colliders/compoundshapes to
assign it to, which isn't feasible.
2024-04-07 13:47:52 -07:00
bjorn
a7bf4ca2a4
CompoundShape fixes;
2024-04-07 13:47:52 -07:00
bjorn
c27694fd8e
Shapes set their userdata;
2024-04-07 13:47:52 -07:00
bjorn
b3e9e55b8a
CompoundShape API;
2024-04-07 13:47:52 -07:00
bjorn
6f0b6391df
Start CompoundShape;
2024-04-07 13:47:52 -07:00
bjorn
ce58619094
Colliders can only have 1 shape; rm shape pose;
2024-04-07 13:47:52 -07:00
bjorn
9b6f58ac1e
Update Jolt;
2024-04-07 13:47:52 -07:00
bjorn
f4d1161a3d
Disable Jolt profiler and debug renderer;
2024-04-07 13:46:57 -07:00
bjorn
f4d5c0d758
Add assert for body count;
2024-04-06 00:47:31 -07:00
bjorn
38a68dc4e5
TerrainShape image must be square;
2024-04-06 00:12:50 -07:00
bjorn
5e521b7698
Collider:applyLinear/AngularImpulse;
2024-04-05 19:16:39 -07:00
bjorn
fb6b402034
Add Collider:is/setContinuous;
2024-04-05 19:05:25 -07:00
bjorn
e9fe088521
Add Collider:get/setGravityScale; Deprecate Collider:get/setGravityIgnored;
2024-04-05 14:22:02 -07:00
bjorn
01194a80c7
Deprecate several World methods;
...
They still work on ODE, and Jolt makes a best-effort attempt to support
them, but they will be removed in a future version.
- Damping should be set explicitly on colliders.
- Tightness and response time will be supported via spring forces, and
also some global settings in newWorld will affect joints too.
- Step count will be added to :update soon. Since the correct value is
dt-dependent in Jolt, a persistent accessor doesn't make sense.
- Sleeping allowed will be an immutable setting in newWorld soon, but
otherwise should be changed per-collider.
2024-04-05 14:07:56 -07:00
bjorn
ffc23497a9
Details;
2024-04-05 13:58:28 -07:00
bjorn
d756cc2b1d
Add variant of newWorld that takes an options table;
2024-04-05 13:25:32 -07:00
bjorn
77abad4e21
Merge branch 'stable' into dev
2024-04-05 11:42:18 -07:00
bjorn
40879f383a
Fix possible crash when using math module in multiple threads;
2024-04-05 11:41:51 -07:00
bjorn
8596bb06a0
Fix OBJ triangulation for faces with more than 4 vertices;
2024-04-04 17:34:04 -07:00
bjorn
3dd641c02d
Undo accidental jolt submodule bump;
2024-04-04 17:31:42 -07:00
bjorn
01a0df37cc
Fix OBJ triangulation for faces with more than 4 vertices;
2024-04-04 17:28:05 -07:00
bjorn
ecbd331552
Details;
2024-04-01 20:49:50 -07:00
bjorn
fdba60214c
Fix Collider/Shape/Joint UserData leak;
...
refs are cumbersome because they require storing an int and they require
manual cleanup when the object is destroyed.
Instead, we'll go with a pure Lua solution using a table in the
registry. The table has weak keys containing the LÖVR object, and the
values are the userdata. This doesn't require any manual cleanup,
reduces the size of objects by 8 bytes, and is about 25% faster.
2024-04-01 16:03:42 -07:00
bjorn
243b6ae21a
Use lovrDefer more;
2024-04-01 15:32:06 -07:00
bjorn
1c070990de
Add support for Lua 5.4 <close> variables;
...
Taken from LÖVE.
2024-03-30 09:53:01 -07:00
bjorn
458e7b176c
rm job system error handling;
...
Having it in the job system is too gross. Use lovrTry instead.
2024-03-29 18:11:21 -07:00
bjorn
cdecc1bae7
Add defer system; Rework exceptions; util cleanup;
...
Defer can be used to clean up resources when an error occurs.
2024-03-29 18:10:22 -07:00
bjorn
67e228125b
Add d24 TextureFormat;
...
LÖVR uses d32f by default, but that's not guaranteed to be supported.
However, GPUs must support either d32f or d24, so we can fall back to
d24 reliably.
2024-03-29 18:07:25 -07:00
bjorn
c37cd3852f
tup: add -Wno-strict-prototypes for now;
...
glslang and ODE are the troublemakers. I updated glslang but I'm too
lazy to update ODE, so I'm just gonna wait until we switch to jolt.
2024-03-29 18:04:42 -07:00
bjorn
b7e1b5111e
jolt: fix some shape memory leaks;
2024-03-29 15:26:10 -07:00
bjorn
c5d6bb6b48
jolt: rm matrix copies;
...
JoltC now uses floats for its RVec/RMatrix structs in single precision
mode, so we can operate on them as mat4's directly, copy/cast them, etc.
2024-03-29 15:26:03 -07:00
bjorn
87cd13d95c
jolt: adjust includes;
2024-03-29 15:25:41 -07:00
bjorn
822eb94993
CMake: rm physics library log messages;
2024-03-29 14:54:35 -07:00
bjorn
cfd2374449
Update Jolt;
2024-03-29 14:50:00 -07:00
bjorn
55f0da97ce
Update glslang;
2024-03-28 21:00:24 -07:00
bjorn
e7d0764e49
Update Jolt;
...
Also disable the HelloWorldNative sample...
2024-03-28 15:28:40 -07:00
bjorn
f4553075cb
Upgrade Jolt;
...
Seems we can add the root CMake project directly now.
2024-03-28 12:58:33 -07:00
bjorn
fd7fe08055
Upgrade lovr-http;
2024-03-28 12:47:35 -07:00
bjorn
8ec7a18c28
Update lua-enet;
2024-03-28 12:46:20 -07:00
bjorn
7373bb6b83
Bump minimum CMake version;
...
Newer versions of CMake show a deprecation warning that < 3.5 will be
unsupported soon.
2024-03-28 12:42:22 -07:00
bjorn
abd2eddf0d
Fix some strict prototype warnings;
2024-03-23 13:12:26 -07:00
bjorn
70e4b9fd7b
actions: Adjust MoltenVK paths for newer SDK version;
...
The MoltenVK folder was removed from the SDK in favor of the macOS folder.
2024-03-17 21:37:48 -07:00
bjorn
8fc5d4fd24
actions: Update macOS Vulkan SDK version;
...
This version includes VK_KHR_synchronization2, which LÖVR uses now.
2024-03-17 20:42:25 -07:00