Skip to content

Releases: stephengold/Minie

5.0.1

03 Aug 04:30
Compare
Choose a tag to compare
  • Bugfix: static rigid body misbehaves after being assigned a positive mass
  • Bugfix: DynamicAnimComposer with SceneComposer exhibits glitches during blends to kinematic mode
  • Bugfix: when rebuilding a rigid body, its ignore list is lost
  • Based on v8.1.0 of the Heart library.

5.0.0

12 Jul 00:36
Compare
Choose a tag to compare
  • Replaced the "+ano" build with a "+droid" build that includes Java classes.

  • Changes to the library API:

    • Replaced the DebugMeshNormals enum with MeshNormals (from Heart).
    • Protected the no-arg constructors of the DacConfiguration and DacLinks classes.
    • Protected the public constructors of 3 classes:
      • AbstractPhysicsDebugControl
      • IKController
      • SoftPhysicsJoint
    • Qualified 17 utility classes as final.
    • Removed the static qualifier from the protected createWireMaterial() method of the BulletDebugAppState class.
    • Deleted the deprecated setContractCalcArea3Points() method of the PhysicsCollisionEvent class.
  • Library bugfixes:

    • PhysicsCharacter.onGround() is unreliable (see issue stephengold/Libbuletjme#18)
    • TorsoLink continues writing the model transform after a blend to kinematic completes
    • DynamicAnimControl rebuilds the ragdoll for minute changes to bone scaling
    • TorsoLink plays some bone animations, even in dynamic mode
    • outdated constant values in ConfigFlag
    • DynamicAnimControl is still marked "ready" after removal from the PhysicsSpace
    • DebugMeshCallback.maxDistance() modifies the vertex list
    • ConfigFlag.describe() ignores 3 flags
  • Other library improvements:

    • Warn if the native library version differs from the expected version.
    • Throw an exception in AbstractPhysicsControl.jmeClone() if the control is added to a PhysicsSpace.
    • Add capability to specify the main bone of a ragdoll, which needn't be a root bone.
    • Added accessors for global deactivation settings:
      • PhysicsBody.getDeactivationDeadline()
      • PhysicsBody.isDeactivationEnabled()
      • PhysicsBody.setDeactivationDeadline()
      • PhysicsBody.setDeactivationEnabled()
    • Added debug visualizations of rigid-body angular velocities and soft-body wind velocities.
    • Added a "relative tolerance" parameter to DynamicAnimControl.
    • Reimplemented BulletDebugAppState using BaseAppState.
    • Added the DeformableSpace class that supports both multibodies and soft bodies.
    • Added SDF_MDF and SDF_RDN bitmasks to ConfigFlag.
  • Updated the project URL in the POM.

  • Based on v8.0.0 of the Heart library.

  • Updated the native libraries to v15.2.1 of Libbulletjme.

4.9.0

04 May 07:06
Compare
Choose a tag to compare
  • Eliminated the last dependency on JCenter!
  • Bugfix: IllegalArgumentException caused by slerps in TorsoLink
  • Changed CollisionShapeFactory to skip meshes without triangles.
  • Added the GearJoint class.
  • Based on:
    • v3.5.2-stable of JMonkeyEngine,
    • v1.5.0 of the SimMath library,
    • v7.6.0 of the Heart library,
    • v0.9.15 of the Acorus library, and
    • v0.9.29 of the jme3-utilities-nifty library.
  • Updated the native libraries to v14.3.0 of Libbulletjme.

4.8.1

29 Mar 08:20
Compare
Choose a tag to compare

Bugfix: issue #23 (access violations on 64-bit Windows)

4.8.0

20 Mar 21:53
Compare
Choose a tag to compare
  • Added native libraries for the MacOSX_ARM64 platform, so that Minie applications can run on "Apple Silicon" Macs.
  • Created the "+ano" (Android natives only) build, for use in Android signed bundles (for distribution via Google Store).
  • Added the contactErp(), jointErp(), setContactErp(), and setJointErp() methods to the SolverInfo class, to give applications better control over joint elasticity.
  • Based on v3.5.1-stable of JMonkeyEngine.
  • Updated the native libraries to v14.1.0 of Libbulletjme.

4.7.1

11 Mar 21:28
Compare
Choose a tag to compare
  • Bugfix: PhysicsCollisionEvent.getNormalWorldOnB() returns wrong value
  • Bugfix: issue #20 (btAssert fails after HingeJoint.setAngularOnly(true))
  • Added the needsCollision() method to the CollisionSpace class. This method can be overridden for dynamic collision filtering.
  • Added the ContactListener interface for immediate handling of rigid-body contacts.
  • Added the ManifoldPoints utility class to access the properties of a contact point without instantiating a PhysicsCollisionEvent.
  • Added the PersistentManifolds utility class to access the properties of a contact manifold.
  • Added 8 methods to the PhysicsSpace class:
    • addContactListener(ContactListener)
    • countManifolds()
    • listManifolds()
    • onContactEnded(PhysicsCollisionObject, PhysicsCollisionObject, long)
    • onContactProcessed(PhysicsCollisionObject, PhysicsCollisionObject, long)
    • onContactStarted(PhysicsCollisionObject, PhysicsCollisionObject, long)
    • removeContactListener(ContactListener)
    • update(float, int, boolean, boolean, boolean) to enable callbacks to specific ContactListener methods
  • Deprecated the PhysicsCollisionEvent.setContactCalcArea3Points() method in favor of the corresponding ManifoldPoints method.
  • Deleted placeholder files from class jars.
  • Added the ConveyorDemo and JointElasticity apps to MinieExamples.
  • Based on:
    • v7.4.1 of the Heart library,
    • v0.7.1 of the Wes library,
    • v0.9.10 of the Acorus library, and
    • v0.9.27 of the jme3-utilities-nifty library.
  • Built using Gradle v7.4.1 .
  • Updated the native libraries to v14.0.0 of Libbulletjme.

4.6.1

24 Jan 23:22
Compare
Choose a tag to compare
  • Restored support for the MacOSX32 platform.
  • Based on:
    • v3.5.0-stable of JMonkeyEngine,
    • v7.2.0 of the Heart library,
    • v0.6.8 of the Wes library,
    • v0.9.6 of the jme3-utilities-ui library, and
    • v0.9.24 of the jme3-utilities-nifty library.
  • Updated the native libraries to v12.7.1 of Libbulletjme, which include the fix for bullet3 issue 4117.

4.6.0

04 Dec 23:28
Compare
Choose a tag to compare
  • Bugfix: issue #19 (zero-thickness mesh shape crashes the JRE)
  • Dropped support for the MacOSX32 platform.
  • Based on v3.4.1-stable of JMonkeyEngine.
  • Added the isInsideTriangle() method to the NativeLibrary class.
  • Guarded some low-level logging code to improve efficiency.
  • Updated the native libraries to v12.6.0 of Libbulletjme, which includes Bullet updates through 13 November 2021.

4.5.0

19 Nov 19:51
Compare
Choose a tag to compare
  • Bugfix: invalid contact points for heightfield/mesh/Gimpact shapes (issue #18)
  • Added a flag to disable contact filtering on a per-shape basis.
  • Cached the methods that free native objects, to improve performance.
  • Added a mesh customization API to the DebugShapeFactory class, to support (for example) debug materials that need barycentric coordinates.
  • Publicized the worldMax() and worldMin() methods in the BulletAppState class.
  • Added accessors to the CollisionSpace class for the collision dispatcher's "deterministic" option.
  • Made all native physics objects Comparable (for use in collections).
  • Added the setPivotInB() method to the Anchor class.
  • Updated the native libraries to v12.5.0 of Libbulletjme.

4.5.0-test1

25 Oct 21:41
Compare
Choose a tag to compare
4.5.0-test1 Pre-release
Pre-release
  • Bugfix: invalid contact points for heightfield/mesh shapes (issue #18)
  • Added a flag to disable contact filtering on a per-shape basis.
  • Added accessors to the CollisionSpace class for the collision dispatcher's "deterministic" option.
  • Made all native physics objects Comparable (for use in collections).
  • Updated the native libraries to v12.4.1 of Libbulletjme.