Jolt Patch

This commit is contained in:
2026-07-09 17:25:48 -07:00
parent cb19c9b5b4
commit 9d83c318b6
18 changed files with 2542 additions and 157 deletions

View File

@ -849,6 +849,16 @@ HL_PRIM void HL_NAME(BodyCreationSettings_set_mIsSensor)(_ref(BodyCreationSettin
}
DEFINE_PRIM(_VOID, BodyCreationSettings_set_mIsSensor, _IDL _BOOL);
HL_PRIM int HL_NAME(BodyCreationSettings_get_mObjectLayer)(_ref(BodyCreationSettings)* _this) {
return (int)_unref(_this)->mObjectLayer;
}
DEFINE_PRIM(_I32, BodyCreationSettings_get_mObjectLayer, _IDL);
HL_PRIM void HL_NAME(BodyCreationSettings_set_mObjectLayer)(_ref(BodyCreationSettings)* _this, int value) {
_unref(_this)->mObjectLayer = (ObjectLayer)value;
}
DEFINE_PRIM(_VOID, BodyCreationSettings_set_mObjectLayer, _IDL _I32);
// ============= BodyInterface =============
HL_PRIM _ref(Body)* HL_NAME(BodyInterface_CreateBody1)(_ref(BodyInterface)* _this, _ref(BodyCreationSettings)* settings) {
@ -1110,12 +1120,22 @@ HL_PRIM _ref(RVec3)* HL_NAME(Body_GetPosition0)(_ref(Body)* _this) {
}
DEFINE_PRIM(_IDL, Body_GetPosition0, _IDL);
HL_PRIM void HL_NAME(Body_GetPositionInto1)(_ref(Body)* _this, _ref(RVec3)* out) {
*_unref(out) = _unref(_this)->GetPosition();
}
DEFINE_PRIM(_VOID, Body_GetPositionInto1, _IDL _IDL);
HL_PRIM _ref(Quat)* HL_NAME(Body_GetRotation0)(_ref(Body)* _this) {
Quat rot = _unref(_this)->GetRotation();
return alloc_ref(new Quat(rot), Quat);
}
DEFINE_PRIM(_IDL, Body_GetRotation0, _IDL);
HL_PRIM void HL_NAME(Body_GetRotationInto1)(_ref(Body)* _this, _ref(Quat)* out) {
*_unref(out) = _unref(_this)->GetRotation();
}
DEFINE_PRIM(_VOID, Body_GetRotationInto1, _IDL _IDL);
HL_PRIM _ref(RVec3)* HL_NAME(Body_GetCenterOfMassPosition0)(_ref(Body)* _this) {
RVec3 pos = _unref(_this)->GetCenterOfMassPosition();
return alloc_ref(new RVec3(pos), RVec3);
@ -2385,6 +2405,66 @@ HL_PRIM void HL_NAME(SixDOFConstraintSettings_SetLimitedAxis3)(_ref(SixDOFConstr
}
DEFINE_PRIM(_VOID, SixDOFConstraintSettings_SetLimitedAxis3, _IDL _I32 _F32 _F32);
// ============= RayCastSettings =============
HL_PRIM _ref(RayCastSettings)* HL_NAME(RayCastSettings_new0)() {
return alloc_ref(new RayCastSettings(), RayCastSettings);
}
DEFINE_PRIM(_IDL, RayCastSettings_new0, _NO_ARG);
HL_PRIM void HL_NAME(RayCastSettings_delete)(_ref(RayCastSettings)* _this) {
free_ref(_this);
}
DEFINE_PRIM(_VOID, RayCastSettings_delete, _IDL);
// ============= BroadPhaseLayerFilter =============
HL_PRIM _ref(BroadPhaseLayerFilter)* HL_NAME(BroadPhaseLayerFilter_new0)() {
return alloc_ref(new BroadPhaseLayerFilter(), BroadPhaseLayerFilter);
}
DEFINE_PRIM(_IDL, BroadPhaseLayerFilter_new0, _NO_ARG);
HL_PRIM void HL_NAME(BroadPhaseLayerFilter_delete)(_ref(BroadPhaseLayerFilter)* _this) {
free_ref(_this);
}
DEFINE_PRIM(_VOID, BroadPhaseLayerFilter_delete, _IDL);
// ============= ObjectLayerFilter =============
HL_PRIM _ref(ObjectLayerFilter)* HL_NAME(ObjectLayerFilter_new0)() {
return alloc_ref(new ObjectLayerFilter(), ObjectLayerFilter);
}
DEFINE_PRIM(_IDL, ObjectLayerFilter_new0, _NO_ARG);
HL_PRIM void HL_NAME(ObjectLayerFilter_delete)(_ref(ObjectLayerFilter)* _this) {
free_ref(_this);
}
DEFINE_PRIM(_VOID, ObjectLayerFilter_delete, _IDL);
// ============= BodyFilter =============
HL_PRIM _ref(BodyFilter)* HL_NAME(BodyFilter_new0)() {
return alloc_ref(new BodyFilter(), BodyFilter);
}
DEFINE_PRIM(_IDL, BodyFilter_new0, _NO_ARG);
HL_PRIM void HL_NAME(BodyFilter_delete)(_ref(BodyFilter)* _this) {
free_ref(_this);
}
DEFINE_PRIM(_VOID, BodyFilter_delete, _IDL);
// ============= ShapeFilter =============
HL_PRIM _ref(ShapeFilter)* HL_NAME(ShapeFilter_new0)() {
return alloc_ref(new ShapeFilter(), ShapeFilter);
}
DEFINE_PRIM(_IDL, ShapeFilter_new0, _NO_ARG);
HL_PRIM void HL_NAME(ShapeFilter_delete)(_ref(ShapeFilter)* _this) {
free_ref(_this);
}
DEFINE_PRIM(_VOID, ShapeFilter_delete, _IDL);
// ============= NarrowPhaseQuery =============
HL_PRIM void HL_NAME(NarrowPhaseQuery_delete)(_ref(NarrowPhaseQuery)* _this) {
@ -2392,15 +2472,10 @@ HL_PRIM void HL_NAME(NarrowPhaseQuery_delete)(_ref(NarrowPhaseQuery)* _this) {
}
DEFINE_PRIM(_VOID, NarrowPhaseQuery_delete, _IDL);
HL_PRIM bool HL_NAME(NarrowPhaseQuery_CastRay2)(_ref(NarrowPhaseQuery)* _this, _ref(RRayCast)* ray, _ref(RayCastResult)* result) {
RayCastResult hit;
bool didHit = _unref(_this)->CastRay(*_unref(ray), hit);
if (didHit) {
*_unref(result) = hit;
}
return didHit;
HL_PRIM bool HL_NAME(NarrowPhaseQuery_CastRay7)(_ref(NarrowPhaseQuery)* _this, _ref(RRayCast)* ray, _ref(RayCastResult)* result, _ref(RayCastSettings)* settings, _ref(BroadPhaseLayerFilter)* broadPhaseFilter, _ref(ObjectLayerFilter)* objectLayerFilter, _ref(BodyFilter)* bodyFilter, _ref(ShapeFilter)* shapeFilter) {
return _unref(_this)->CastRay(*_unref(ray), *_unref(result), *_unref(broadPhaseFilter), *_unref(objectLayerFilter), *_unref(bodyFilter));
}
DEFINE_PRIM(_BOOL, NarrowPhaseQuery_CastRay2, _IDL _IDL _IDL);
DEFINE_PRIM(_BOOL, NarrowPhaseQuery_CastRay7, _IDL _IDL _IDL _IDL _IDL _IDL _IDL _IDL);
// ============= PhysicsSystem::GetNarrowPhaseQuery =============
@ -2409,4 +2484,23 @@ HL_PRIM _ref(NarrowPhaseQuery)* HL_NAME(PhysicsSystem_GetNarrowPhaseQuery0)(_ref
}
DEFINE_PRIM(_IDL, PhysicsSystem_GetNarrowPhaseQuery0, _IDL);
// ============= BroadPhaseQuery =============
HL_PRIM void HL_NAME(BroadPhaseQuery_delete)(_ref(BroadPhaseQuery)* _this) {
// BroadPhaseQuery is owned by PhysicsSystem, do not delete
}
DEFINE_PRIM(_VOID, BroadPhaseQuery_delete, _IDL);
HL_PRIM void HL_NAME(BroadPhaseQuery_CastRay4)(_ref(BroadPhaseQuery)* _this, _ref(RRayCast)* ray, _ref(RayCastResult)* result, _ref(BroadPhaseLayerFilter)* broadPhaseFilter, _ref(ObjectLayerFilter)* objectLayerFilter) {
// BroadPhaseQuery::CastRay API mismatch - RayCastBodyCollector required, not RayCastResult. Not used from Haxe.
}
DEFINE_PRIM(_VOID, BroadPhaseQuery_CastRay4, _IDL _IDL _IDL _IDL _IDL);
// ============= PhysicsSystem::GetBroadPhaseQuery =============
HL_PRIM _ref(BroadPhaseQuery)* HL_NAME(PhysicsSystem_GetBroadPhaseQuery0)(_ref(PhysicsSystem)* _this) {
return const_cast<BroadPhaseQuery*>(&_unref(_this)->GetBroadPhaseQuery());
}
DEFINE_PRIM(_IDL, PhysicsSystem_GetBroadPhaseQuery0, _IDL);
} // extern "C"