Releases: stephengold/jolt-jni
0.9.9
-
API changes:
- Began representing body IDs, character IDs, and sub-shape IDs
usingint
primitives instead of objects. - Removed the
BodyId
,CharacterId
, andSubShapeId
classes. - Removed the
ConstBodyId
interface. - Moved the
sSetNextCharacterId()
method fromCharacterId
toJolt
. - Added chaining to 15 public setters in the
SoftBodyCreationSettings
class. - Altered the return types and/or semantics of 14 other methods:
Body.getCollisionGroup()
Body.setCollisionGroup()
CollisionGroup.getGroupFilter()
ConstBodyCreationSettings.getMassPropertiesOverride()
ConstCharacterVirtual.getActiveContacts()
ConstContact.getCharacterB()
Skeleton.getJoint()
Skeleton.getJoints()
SkeletonRef.getJoint()
SkeletonRef.getJoints()
SoftBodyCreationSettings.getSettings()
SoftBodyMotionProperties.getFace()
SoftBodyMotionProperties.getFaces()
SoftBodyMotionProperties.getSettings()
- Generalized 2 methods:
SoftBodyCreationSettings.setCollisionGroup()
BodyCreationSettings.setCollisionGroup()
- Began representing body IDs, character IDs, and sub-shape IDs
-
Bugfixes:
- unimplemented
CharacterVirtual.getTransformedShape()
- 2 logic errors in
CustomCharacterContactListener
- assertion failure in
JoltPhysicsObject
while creating aSoftBodyVertex
- unimplemented
-
Added 2 interfaces:
ConstCollisionGroup
ConstGroupFilter
-
Added many public methods to the libraries.
0.9.8
-
API changes:
- Removed the
containsBody()
method from thePhysicsSystem
class. - Deleted the public "user data" accessors from the
Shape
class. - Redeclared the
ConvexHullBuilder
constructor. - Changed
VehicleConstraint
to manage the step listener
like a contained object. - Added chaining to 41 public methods.
- Changed the return types of the
getHits()
methods in the
AllHitCollideShapeCollector
andAllHitRayCastBodyCollector
classes. - Corrected the return type of
SoftBodyCreationSettings.getSettings()
.
- Removed the
-
Bugfixes:
Shape
throws anUnsatisfiedLinkError
getHit()
doesn't return a new object- silently starting extra cleaner threads
- logic error in MeshShapeSettings.cpp
- logic errors in
countDebugTriangles()
andcopyDebugTriangles()
- bugfix: unimplemented
putEdgeIndices()
method
-
Added classes:
AllHitCastRayCollector
AllHitCastShapeCollector
AllHitCollidePointCollector
AllHitCollideShapeBodyCollector
AllHitTransformedShapeCollector
AnyHitCastRayCollector
AnyHitCastShapeCollector
AnyHitCollideShapeCollector
CharacterRefC
CharacterVirtualRefC
ClosestHitCollideShapeCollector
CsrFace
Float2
GetTrianglesContext
PhysicsMaterialRefC
ScaleHelpers
ShapeSettingsRefC
SupportingFace
TransformedShape
TransformedShapeCollector
VertexArray
-
Added interfaces:
ConstFace
ConstMotionProperties
ConstSoftBodyMotionProperties
ConstSoftBodyVertex
-
Implemented revision counting for collision shapes.
-
Added many public constructors and methods to the libraries.
-
Defined another desktop platform: Linux_LoongArch64
-
Updated the Jolt source code and assets to 0373ec0 (=v5.3.0).
-
Updated the jSnapLoader library to v1.1.1-stable .
-
Updated the OSHI library to v6.8.0 .
0.9.7
-
API changes:
- Renamed the
RVec3.addLocal()
method toaddInPlace()
. - Added a return value to the
Jolt.newFactory()
method.
- Renamed the
-
Bugfixes:
- Debug builds suppress diagnostic output
product()
methods always return an identity matrix
-
Added 2 desktop platforms: "Linux64_fma" and "Windows64_avx2"
-
Added the
ConstShapeSettings
interface. -
Added many public constructors and methods to the libraries.
0.9.6
-
API changes:
- Renamed
CharacterVsCharacterCollisionSimple.getCharactersAsArray()
. - Delete 5 trig functions from
Std
in favor of theirJolt
replacements.
- Renamed
-
Bugfixes:
ClassCastException
in "BoatTest.java" with flavor=Dp- native assertion failures at DMat44.h:115
- out-of-range error in
CharacterVsCharacterCollisionSimple
-
Switched to LLVM when compiling (but not cross-compiling) on Linux.
-
Added V-HACD v4.1.0 source code to the project.
-
Added classes, enums, and interfaces to the libraries:
CharacterId
ConstSoftBodyContactSettings
ConvexHull
CustomSoftBodyContactListener
Decomposer
FillMode
InvBind
Parameters
ProgressListener
Skinned
SkinWeight
SoftBodyContactListener
SoftBodyContactSettings
SoftBodyManifold
SoftBodyMotionProperties
SoftBodyShape
SoftBodyValidateResult
SoftBodyVertex
-
Added many public methods to the libraries.
-
Updated the Jolt source code and assets to c1bdc5a (=sg250217).
0.9.5
-
Bugfix: heap corruption in
ConvexHullShapeSettings.createSettings()
-
Bugfix:
UnsatisfiedLinkError
inVehicleConstraintSettings
on Windows -
Added support for 4 Android platforms.
-
Added classes and interfaces to the libraries:
RandomNumberEngine
SkeletonMapper
SkeletonMapperRef
VehicleAntiRollBar
VehicleCollisonTesterCastSphere
VehicleCollisonTesterCastSphereRef
VehicleEngine
VehicleTransmission
-
Added many public methods to the libraries.
0.9.4
-
API changes:
-
Renamed 25 public static methods in the
Op
class. -
Split off the
Std
class from theJolt
class. -
Split off the "com.stephengold.joltjni.std" package.
-
Renamed the
UniformRealDistribution
class. -
Renamed the
Vec3.add()
method. -
Deleted 3 classes from the libraries:
TrackedVehicleControllerRef
VehicleControllerRef
WheeledVehicleControllerRef
-
Renamed the
Ragdoll.getBodyIDs()
method. -
Moved the
cDefaultConvexRadius
constant to theJolt
class. -
Altered the value returned by the
AaBox.biggest()
method. -
Altered the semantics of the
BodyIdVector.get()
method. -
Altered the signature of the
BodyIdArray.set()
method. -
Altered the signature of the
SkeletonPose.setSkeleton()
method. -
Added an argument to the
Part.getToParent()
method. -
Altered the return type of the
BodyIdArray.get()
method. -
Altered the default values returned by the
getMaxHeightValue()
and
getMinHeightValue()
methods in theHeightfiedShapeSettings
class. -
Deleted a redundant
addShape()
method from
theCompoundShapeSettings
class. -
Redesigned the
CharacterVsCharacterCollisionSimple
class. -
Depublicized the
Wheel.newWheel()
method. -
Bug fixes:
-
crash due to use-after-free when a
PhysicsSystem
gets cleaned
before a character orRagdoll
-
premature cleaning of various physics objects
-
crash due to uninitialized data in
ConvexHullBuilder.initialize()
-
assertion error while instantiating a
PhysicsScene
-
lossy casts in 4
PlaneShape
getters -
SkeletonPose.getJointMatrices()
returns an invalid pointer -
methods that should return
null
but are unabled to:RagdollSettings.createRagdoll()
RagdollSettingsRef.createRagdoll()
Contact.getCharacterB()
-
memory leaks in
ObjectStreamIn
-
Added classes and enums to the libraries:
AddConvexRadiusSupport
AdditionalConstraint
ChbEdge
ChbFace
ConvexHullBuilder
EConstraintOverride
EResult
EStreamType
ESupportMode
HeightFieldShapeConstants
Joint
Mat44Array
ObjectStreamOut
PhysicsMaterialSimple
PhysicsSceneResult
RagdollResult
ShapeList
Sphere
Stats
StreamInWrapper
StringStream
Support
SupportBuffer
-
Added many public constants and public methods to the libraries.
-
Added chaining capability to 7 methods.
-
Updated the Jolt source code and assets to ba8beb8 (=sg250106).
0.9.3
-
API changes:
- Redesigned the
BroadPhase
class. - Changed the semantics of
BroadPhaseCastResult.getBodyId()
andConstBodyCreationSettings.getMassPropertiesOverride()
. - Replaced the
va()
method in theConstJoltPhysicsObject
interface with non-finaltargetVa()
. - Deleted the
getUserData()
andsetUserData()
methods from theConstraint
class. - Finalized the
GroupFilterRef
andWheelSettingsTvRef
classes.
- Redesigned the
-
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 andsetVirtualAddress()
- index out of range in
ConstraintVsCOMChangeTest.Initialize()
Constraint.newConstraint()
returns the wrong subclass- unable to cast
VehicleController
ConstraintSettings.getControllerType()
can return wrong valuesIllegalStateException
inMotorcycleTest
-
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
- 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
-
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
-
Moved all methods equivalent to overloaded operators to a new package.
-
Renamed
DrawSettings
to distinguish it fromSkeletonPose::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).