Skip to content

Releases: stephengold/jolt-jni

3.5.0

28 Oct 06:25

Choose a tag to compare

  • Bugfixes:

    • unsafe stack reference in TransformedShape.getShapeScale()
    • method name inconsistency in BodyCreationSettings (issue #29)
    • invalid mark in ConvexShape.getSubmergedVolume() (issue #30)
  • Additions:

    • alternate signature for ConstBody.getShape()
    • ConstCharacterBase.getShape()
    • ConstMotorSettings interface
    • ConstVehicleConstraint.getWheel()
    • ConstVehicleConstraint.getWheelPositionAndRotation()
  • Generalized 4 MeshShapeSettings constructors.

  • Handled more cases in ObjectStreamIn.sReadObject() .

  • Publicize the 2-argument constructor for Body .

  • Updated the Jolt-Physics source and assets to sg251012 (=1e38fc6).

  • Updated the Android NDK to r29.

3.4.0

30 Sep 18:28

Choose a tag to compare

With this release, Jolt JNI began creating an internal counted reference for/to every refcounted object.
Every RefTarget is now a co-owner of its assigned native object.
This prevents such assigned objects being unintentionally freed and greatly simplifies memory management.

  • Bugfixes:

    • logic errors rendering Support.getSupportBulk() unusable
    • memory leaks in the copy constructors of CollideShapeSettings and MotorSettings
    • IndexedTriangleList.get() returns an object without ownership info
    • Shape.getMaterial() returns a contained object
  • Added methods:

    • BodyInterface.destroyBodies() and .removeBodies() (see PR #27)
    • Jolt.countDeletes()
    • Jolt.countNews()
    • Jolt.installCerrTraceCallback()
    • Jolt.installJavaTraceCallback()
    • SoftBodyCreationSettings.getFacesDoubleSided()
    • SoftBodyCreationSettings.setFacesDoubleSided()
    • Vec3Arg.copyTo(FloatBuffer, int)
  • Updated the Jolt-Physics source and assets to v5.4.0 (=sg250927 / 036ea7b1)

3.3.0

21 Sep 20:38

Choose a tag to compare

  • Bugfixes:
    • 3 copy-paste errors in FilteredContactListener.cpp (issue #26)
    • FilteredContactListener contact removals ignore body-filter settings
    • FilteredContactListener ignores its "enable removed" setting
    • heap corruption after invoking ConvexShape.getSupportFunction()
    • UnsatisfiedLinkError in CharacterBaseSettings
  • Added the ConstConvexShape interface.
  • Added the getRefCount() method to the ConstCharacterBase interface and the ConstCharacterBaseSettings interface.
  • Added more setLinearVelocity() signatures for physics characters.

3.2.0

20 Sep 17:50

Choose a tag to compare

  • Added 3 classes for efficient/flexible contact listening:
    • ContactListenerList
    • EFilterMode
    • FilteredContactListener
  • Generalized 2 body-lock multi constructors to solve issue #25.
  • Added 4 methods to the BodyInterface class, for avoiding garbage:
    • getAngularVelocity(int, Vec3)
    • getLinearVelocity(int, Vec3)
    • getPosition(int, RVec3)
    • getRotation(int, Quat)
  • Added getRefCount() to the ConstShape interface.
  • Generalized 2 PhysicsSystem setters to accept null arguments.
  • Updated the Jolt-Physics sourcecode and assets to e594aad (=sg250918).
  • Updated the OSHI library to v6.9.0 .

3.1.0

09 Sep 00:22

Choose a tag to compare

  • Allow use of both close() and a cleaner thread in a single app.
  • Added interfaces:
    • ConstVehicleCollisionTester
    • ConstVehicleController
    • ConstWheel
  • Added public constructors and methods to the libraries.
  • Added run-time checks for the maximum number of jobs.

3.0.1

01 Sep 02:22

Choose a tag to compare

Bugfix: many CharacterRefC and CharacterVirtualRefC methods crash the JVM

3.0.0

30 Aug 20:13

Choose a tag to compare

  • API changes:

    • Deleted the ContactList class.
    • Deleted the deprecated constructor of StreamOutWrapper.
    • Re-designed the API of CharacterVsCharacterCollisionSimple.
    • Renamed 2 public getters in the PhysicsSystem class:
      • getOvbFilter()
      • getOvoFilter()
    • Renamed the EConstraintSpace.LocalToBodyCOM enum value.
    • Overrode the toRef() method in VehicleConstraintSettings.
    • Changed the return type of PhysicsMaterialResult.get().
    • Finalized the BcsResult, ConstraintResult, and SbcsResult classes.
    • Changed return types from concrete classes to interfaces:
      • BcsResult.get()
      • BodyLockRead.getBody()
      • CompoundShape.getSubShape()
      • CompoundShape.getSubShapes()
      • ConvexHullBuilder.getFaces()
      • ConvexHullShape.getPlanes()
      • PathConstraint.getPath()
      • PathConstraintSettings.getPath()
      • PhysicsSystem.getBodyLockInterface()
      • PhysicsSystem.getBodyLockInterfaceNoLock()
      • PhysicsSystem.getBroadPhaseQuery()
      • PhysicsSystem.getNarrowPhaseQuery()
      • PhysicsSystem.getNarrowPhaseQueryNoLock()
      • SbcsResult.get()
      • SixDofConstraint.getLimitsSpringSettings()
      • SoftBodyMotionProperties.getFace()
      • SoftBodyMotionProperties.getFaces()
  • Bugfixes:

    • Body.setAngularVelocity() sets the wrong velocity.
    • DebugRenderer invokes close() even if a cleaner is running.
    • Memory leak in the SpringSettings copy constructor.
    • Missing case in VehicleControllerSettings.newSettings().
    • Color.sGetDistinctColor() doesn't produce distinctive colors.
    • ShapeSettingsRef.getRtti() crashes the JVM.
  • Added classes:

    • BodyLockMultiBase
    • BodyLockMultiRead
    • BodyLockMultiWrite
    • CustomDebugRendererSimple
    • DebugRendererSimple
    • Geometry
    • GeometryRef
    • Lod
    • VehicleConstraintSettingsRef
  • Added interfaces:

    • ConstBodyLockInterface
    • ConstBodyLockInterfaceLocking
    • ConstBodyLockInterfaceNoLock
    • ConstBroadPhaseQuery
    • ConstChbFace
    • ConstLod
    • ConstNarrowPhaseQuery
    • ConstPathConstraintPath
    • ConstSubShape
    • ConstWheelSettingsWv
  • Added many public methods and constructors to the libraries.

  • Added run-time checks.

  • Updated the Jolt-Physics sourcecode and assets to 4366713 (sg250829)

2.2.0

10 Aug 19:02

Choose a tag to compare

  • Bugfixes:

    • JVM crash while trying to create an empty BodyIdArray
    • UnsatisfiedLinkError finalizing bulk add on Windows (issue #16)
  • New features:

    • BodyIdArray: add a length field and a getter for it and 3 constructors
    • BodyInterface: add 3 alternative signatures for methods
    • BroadPhase: add 3 alternative signatures for methods
    • add the ConstWheelSettingsTv interface
    • DistanceConstraintSettings: add alternative signatures for 2 setters
    • PhysicsSettings: add accessors for speculativeContactDistance (PR #12)
    • PhysicsSystem: add chaining to the init() method
    • QuatArg, RVec3Arg and Vec3Arg: add copyTo() methods
    • SoftBodyCreationSettings: add an alternate signature for setPosition()
    • SoftBodySharedSettings: add putRodIndices() methods
    • Support: add getConvexRadius() and getSupport()
    • VehicleConstraint: add 2 public getters
  • Build changes:

    • disable C++ runtime type information (RTTI) and C++ exceptions

2.1.0

25 Jul 01:17

Choose a tag to compare

  • Bugfixes:

    • PhysicsSystem.getPhysicsSystem() returns null after garbage collection
    • PhysicsSystem.setBodyActivationListener() doesn't accept a null argument
  • Added classes:

    • AaBoxCast
    • CastShapeBodyCollector
    • CollisionEstimationResult
    • CustomCastShapeBodyCollector
    • Impulse
    • OfStream
    • RayInvDirection
    • SimCollideBodyVsBody
    • SimShapeFilter
    • TriangleConvexSupport
  • Added interfaces:

    • ConstIndexedTriangle
    • ConstIndexedTriangleNoMaterial
    • ConstTriangle
    • ConstVertexList
  • Added many public methods and constructors to the libraries.

  • Made 4 customizable classes concrete.

  • Deprecated a StreamOutWrapper constructor.

  • Added runtime checks to prevent use of soft bodies in 2-body constraints.

  • Updated the Android NDK to r28c.

2.0.1

30 Jun 20:13

Choose a tag to compare

  • API changes:

    • Moved the getVertexRadius() and setVertexRadius() methods from SoftBodySharedSettings to SoftBodyCreationSettings
    • Made the DecoratedShape and DecoratedShapeSettings classes abstract.
    • Made various setters chainable.
  • Bugfixes:

    • StringStream doesn't handle NULs
    • race conditions in BodyInterface
    • logic error in the PhysicsMaterialSimple copy constructor
    • passing an empty collection to the ConvexHullShapeSettings constructor crashes the JVM
    • UnsatisfiedLinkError is thrown
    • SIGSEGV in getMassProperties() when the shape is null
    • PhysicsSystem never releases step listeners
    • the Parameters copy constructor doesn't copy enableDebugOutput
  • Added classes:

    • AddConvexRadiusTab
    • BcsResult
    • ConstraintResult
    • EpaPenetrationDepth
    • GroupFilterResult
    • GroupFilterToIdMap
    • IdToGroupFilterMap
    • IdToMaterialMap
    • IdToShapeMap
    • IdToSharedSettingsMap
    • MaterialToIdMap
    • PathResult
    • PhysicsMaterialResult
    • PointConvexSupport
    • Result
    • RodBendTwist
    • RodStretchSphere
    • Rtti
    • SbcsResult
    • SettingsResult
    • ShapeToIdMap
    • SharedSettingsToIdMap
    • Temporaries
    • TransformedConvexObject
    • TransformedAaBox
    • TransformedSphere
  • Added interfaces:

    • ConstBoxShapeSettings
    • ConstEdge
    • ConstPhysicsSettings
    • ConstRodBendTwist
    • ConstRodStretchSphere
    • ConstSerializableObject
    • ConstSoftBodyManifold
    • ConstSphere
    • ConstSpringSettings
    • ConstVehicleAntiRollBar
    • ConstVehicleConstraintSettings
    • ConstVehicleControllerSettings
    • ConstVertex
    • ConstVolume
  • Added many public methods and constructors to the libraries.

  • Updated the Jolt source code and assets to 2405ff1 (sg250628).

  • Updated the OSHI library to v6.8.2 .