Skip to content

Releases: stephengold/jolt-jni

0.9.3

14 Nov 05:32
Compare
Choose a tag to compare
  • API changes:

    • Redesigned the BroadPhase class.
    • Changed the semantics of BroadPhaseCastResult.getBodyId() and ConstBodyCreationSettings.getMassPropertiesOverride().
    • Replaced the va() method in the ConstJoltPhysicsObject interface with non-final targetVa() .
    • Deleted the getUserData() and setUserData() methods from the Constraint class.
    • Finalized the GroupFilterRef and WheelSettingsTvRef classes.
  • Bug fixes:

    • dynamic linkage failures and unimplemented methods
    • Vec3.add() always returns (0,0,0)
    • many premature garbage collection bugs
    • some ref targets instantiated as owners
    • native assert while creating an empty ConvexHullShapeSettings
    • crash when a collision group has a null filter
    • assertion failure while instantiating MotorcycleControllerSettings
    • assertion failures in the JoltPhysicsObject constructor and setVirtualAddress()
    • index out of range in ConstraintVsCOMChangeTest.Initialize()
    • Constraint.newConstraint() returns the wrong subclass
    • unable to cast VehicleController
    • ConstraintSettings.getControllerType() can return wrong values
    • IllegalStateException in MotorcycleTest
  • Added many public methods to the library.

  • Added chaining capability to many methods.

  • Implemented Perlin noise.

  • Added the ConstTwoBodyConstraint interface to the library.

  • Added classes to the library:

    • AllHitCollideShapeCollector
    • BodyIdArray
    • ClosestPoint
    • CollisionDispatch
    • PathConstraintPath
    • PathConstraintPathRef
    • PathConstraintPathHermite
    • SubShapeIdCreator
    • TwoBodyConstraintRef
    • TwoBodyConstraintSettingsRef
    • VehicleConstraintRef
  • Split the "testjoltjni.app.samples" package into many packages.

  • Updated the Jolt source code and assets to 2d7176a (=sg241107).

0.9.1

30 Oct 23:16
Compare
Choose a tag to compare
  • Finalized the ObjectStreamIn class.
  • Bugfix: various methods lack a native implementation
  • Bugfix: some native objects could be freed more than once
  • Bugfix: some NonCopyable native objects are never freed
  • Added the TempAllocatorImplWithMallocFeedback class (issue #3)
  • Added many public methods to the library.
  • Futher reorganization of the "glue" source files.

0.9.0

18 Oct 05:04
Compare
Choose a tag to compare
  • Bugfix: Body.setCollisionGroup() lacks a native implementation

  • Bugfix: wrong argument type in implementation of RMat44.setElement()

  • Bugfix: 2 missing TRACE_NEW() macros

  • Renamed the CollisionGroup.setSubGroupID() method for style conformance.

  • Removed the PhysicsSettings.getSystem() method

  • Added classes to the library:

    • ClosestHitCastRayCollector
    • ClosestHitCastShapeCollector
    • Edge
    • Face
    • IgnoreMultipleBodiesFilter
    • MotorcycleController
    • MotorcycleControllerSettings
    • Mutex
    • PathConstraint
    • PathConstraintSettings
    • PulleyConstraint
    • PulleyConstraintSettings
    • RackAndPinionConstraint
    • RackAndPinionConstraintSettings
    • SoftBodyCreationSettings
    • SoftBodySharedSettings
    • SoftBodySharedSettingsRef
    • SwingTwistConstraint
    • SwingTwistConstraintSettings
    • TrackedVehicleController
    • TrackedVehicleControllerRef
    • TrackedVehicleControllerSettings
    • WheelSettingsTv
    • WheelSettingsTvRef
    • WheelTv
    • Vec4
    • VehicleCollisionTesterCastCylinder
    • VehicleCollisionTesterCastCylinderRef
    • VehicleDifferentialSettings
    • VehicleEngineSettings
    • VehicleTrackSettings
    • VehicleTransmissionSettings
    • Vertex
    • VertexAttributes
    • Volume
  • Added 3 enums to the library:

    • EBendType
    • ELraType
    • ETransmissionMode
  • Added 4 interfaces to the library:

    • ConstVertexAttributes
    • ConstSoftBodySharedSettings
    • ConstSoftBodyCreationSettings
    • TriFunction
    • Vec4Arg
  • Added many public methods to the library.

0.8.0

06 Oct 23:47
Compare
Choose a tag to compare
  • Moved all methods equivalent to overloaded operators to a new package.

  • Renamed DrawSettings to distinguish it from SkeletonPose::DrawSettings.

  • Bugfix: CharacterVirtual.toRef() returns the wrong kind of reference

  • Bugfix: StateRecorder read methods lack the old values

  • Added classes to the library:

    • AllHitRayCastBodyCollector
    • BodyManager
    • BodyVector
    • BroadPhase
    • BroadPhaseBruteForce
    • BroadPhaseQuadTree
    • CharacterContactListener
    • CharacterContactSettings
    • CharacterVsCharacterCollision
    • CharacterVsCharacterCollisionSimple
    • CollisionGroup
    • Color
    • CustomCharacterContactListener
    • CustomPhysicsStepListener
    • DefaultBroadPhaseLayerFilter
    • DefaultObjectLayerFilter
    • DefaultRandomEngine
    • EmptyShape
    • EmptyShapeSettings
    • ExtendedUpdateSettings
    • GroupFilter
    • GroupFilterTable
    • GroupFilterTableRef
    • PhysicsMaterialList
    • PhysicsStepListener
    • PhysicsStepListenerContext
    • SkeletonPoseDrawSettings
    • StreamIn
    • SubShape
    • Triangle
    • UniformIntDistribution
    • VehicleCollisionTester
    • VehicleCollisionTesterRay
    • VehicleCollisionTesterRayRef
    • VehicleConstraint
    • VehicleConstraintSettings
    • VehicleController
    • VehicleControllerSettings
    • VehicleControllerSettingsRef
    • Wheel
    • WheeledVehicleController
    • WheeledVehicleControllerRef
    • WheeledVehicleControllerSettings
    • WheelSettings
    • WheelSettingsWv
    • WheelSettingsWvRef
    • WheelWv
  • Added 3 enums to the library:

    • ECastShadow
    • ECullMode
    • EDrawMode
  • Added many public methods to the library.

  • Updated the Jolt source code and assets to fed2b6c (=sg240929).

0.7.0

12 Sep 19:57
Compare
Choose a tag to compare
  • Moved the RefTarget interface to a new package.

  • Package-protected many methods and no-arg constructors.

  • Bugfix: _DEBUG is #defined in Release builds.

  • Bugfix: initial user data of a shape isn't always zero.

  • Added classes to the library:

    • Array
    • BodyFilter
    • BodyLockInterfaceNoLock
    • BodyLockRead
    • BodyLockWrite
    • BroadPhaseCastResult
    • BroadPhaseLayerFilter
    • BroadPhaseQuery
    • CastRayCollector
    • CastShapeCollector
    • CollidePointCollector
    • CollidePointResult
    • CollideSettingsBase
    • CollideShapeBodyCollector
    • CollideShapeCollector
    • CollideShapeSettings
    • CustomCastShapeCollector
    • CustomCollidePointCollector
    • CustomCollideShapeBodyCollector
    • CustomCollideShapeCollector
    • CustomRayCastBodyCollector
    • CustomRayCastCollector
    • DebugRenderer
    • DebugRendererRecorder
    • DrawSettings
    • EStateRecorderState
    • JointState
    • Mt19937
    • NarrowPhaseQuery
    • NarrowPhaseStat
    • ObjectLayerFilter
    • ObjectStreamIn
    • OffsetCenterOfMassShapeSettings
    • OffsetCenterOfMassShape
    • Part
    • PhysicsScene
    • PhysicsSceneRef
    • Ragdoll
    • RagdollRef
    • RagdollSettings
    • RagdollSettingsRef
    • RayCast
    • RayCastBodyCollector
    • RayCastResult
    • RayCastSettings
    • Ref
    • RRayCast
    • RShapeCast
    • ShapeCastResult
    • ShapeCastSettings
    • ShapeFilter
    • Skeleton
    • SkeletonAnimation
    • SkeletonAnimationRef
    • SkeletonPose
    • SkeletonRef
    • SpecifiedBroadPhaseLayerFilter
    • SpecifiedObjectLayerFilter
    • StreamOut
    • StreamOutWrapper
    • StateRecorder
    • StateRecorderFilter
    • StateRecorderImpl
    • TaperedCapsuleShape
    • TaperedCapsuleShapeSettings
    • TaperedCylinderShape
    • TaperedCylinderShapeSettings
    • UniformRealDistribution
  • Added 2 enums to the library:

    • EActiveEdgeMode
    • ECollectFacesMode
  • Added many public methods to the library.

  • Added package-level javadoc.

  • Merged Ref<> implementations into corresponding RefTarget source files.

  • Updated Jolt source code and assets to 5da6ac8 (=sg240907).

0.6.0

29 Aug 01:21
Compare
Choose a tag to compare
  • Renamed the RefShape class to ShapeRef.

  • Bugfix: JVM crashes when OnBodyDeactivated() invoked by a native thread.

  • Bugfix: work around JobSystemSingleThreaded deadlocks on Windows.

  • Added classes to the library:

    • BodyIdVector
    • Character
    • CharacterBase
    • CharacterBaseSettings
    • CharacterRef
    • CharacterSettings
    • CharacterSettingsRef
    • CharacterVirtual
    • CharacterVirtualRef
    • CharacterVirtualSettings
    • CharacterVirtualSettingsRef
    • ConeConstraint
    • ConeConstraintSettings
    • CollideShapeResult
    • Constraint
    • Constraints
    • ConstraintRef
    • ConstraintSettings
    • ConstraintSettingsRef
    • Contact
    • ContactList
    • ContactManifold
    • ContactSettings
    • DistanceConstraint
    • DistanceConstraintSettings
    • FixedConstraint
    • FixedConstraintSettings
    • GearConstraint
    • GearConstraintSettings
    • HingeConstraint
    • HingeConstraintSettings
    • MotorSettings
    • PhysicsMaterial
    • PhysicsMaterialRef
    • Plane
    • PlaneShape
    • PlaneShapeSettings
    • PointConstraint
    • PointConstraintSettings
    • RMat44
    • SixDofConstraint
    • SixDofConstraintSettings
    • SliderConstraint
    • SliderConstraintSettings
    • SpringSettings
    • SubShapeId
    • SubShapeIdPair
    • TwoBodyConstraint
    • TwoBodyConstraintSettings
  • Added enums to the library:

    • EAxis
    • EBackFaceMode
    • EConstraintSubType
    • EConstraintSpace
    • EConstraintType
    • EGroundState
    • EMotorState
    • ESpringMode
    • ESwingType
    • ValidateResult
  • Added interfaces to the library:

    • ConstBody
    • ConstCharacter
    • ConstCharacterBase
    • ConstCharacterBaseSettings
    • ConstCharacterSettings
    • ConstCharacterVirtual
    • ConstCharacterVirtualSettings
    • ConstConstraint
    • ConstConstraintSettings
    • ConstContact
    • ConstPhysicsMaterial
    • ConstPlane
    • ConstRMat44
  • Added many public methods to the library.

  • Updated Jolt source code to 8feb90c (=sg240827).

  • Updated jSnapLoader to v1.0.0-stable .

  • Reorganized the "glue" source files into multiple directories.

0.5.0

02 Aug 03:01
Compare
Choose a tag to compare
  • Split off the Jolt Physics enums into a "joltjni.enumerate" package.
  • Use GCC v9 when compiling for the Linux_ARM32hf platform.
  • Added the RefShape class to the library.
  • Added a no-argument constructor for MutableCompoundShape.
  • Added 2 public methods to the library:
    • CompoundShape.getNumSubShapes()
    • Shape.toRef()

0.4.1

30 Jul 18:52
Compare
Choose a tag to compare
  • Split off the read-only interfaces into a "joltjni.readonly" package.
  • Added support for 2 Linux-on-ARM platforms.
  • Began using jSnapLoader to select native libraries for testing.
  • Purged JMonkeyEngine code from the project and simplified the license.

0.3.2

25 Jul 00:05
Compare
Choose a tag to compare
  • Added many methods.
  • Added the cDefaultConvexRadius constant.
  • Added classes to the library:
    • BodyLockInterface
    • BodyLockInterfaceLocking
    • CompoundShape
    • CompoundShapeSettings
    • MutableCompoundShape
    • MutableCompoundShapeSettings
    • RotatedTranslatedShape
    • RotatedTranslatedShapeSettings
    • SharedMutex
    • SharedMutexBase
    • StaticCompoundShape
    • StaticCompoundShapeSettings
    • TriangleShape
    • TriangleShapeSettings

0.3.1

20 Jul 22:35
Compare
Choose a tag to compare
  • Bugfix: memory leak in MassProperties
  • Added many methods.
  • Added classes and interfaces to the library:
    • BroadPhaseLayerInterface
    • ConstBodyCreationSettings
    • ConstBroadPhaseLayerInterface
    • ConstMassProperties
    • ConstObjectLayerPairFilter
    • ConstObjectVsBroadPhaseLayerFilter
    • EAllowedDofs
    • EOverrideMassProperties
    • Mat44
    • Mat44Arg
    • ObjectLayerPairFilter
    • ObjectVsBroadPhaseLayerFilter
    • UVec4
    • UVec4Arg