Skip to content

Releases: stephengold/Minie

Minie 1.0.0for33

09 Oct 01:06

Choose a tag to compare

  • API changes:
    • Based BulletAppState on AbstractAppState (JME issue 1178).
    • Removed the extrapolateTransform() and getPhysicsScale() methods from PhysicsRigidBody.
    • Renamed the getLocation() and getRotation() methods of ChildCollisionShape.
    • Privatized the objectId fields of CollisionShape and PhysicsJoint.
    • Privatized the collisionShape field of PhysicsCollisionObject.
    • Privatized the bodyA and bodyB fields of PhysicsJoint.
    • Privatized the cfm, erp, and split fields of SoftPhysicsJoint.
    • Finalized the getObjectId() methods of CollisionShape, PhysicsCollisionObject, and PhysicsJoint.
    • Protected many constructors that shouldn't be invoked directly.
    • Removed the countDistinctVertices() method from DebugMeshCallback
  • Fixed bugs:
    • DacLinks attempts to link a bone with no vertices
    • in DynamicAnimControl, armature joints remain animated in ragdoll mode
    • in BuoyDemo, old skeleton visualization persists after model a change
    • NullPointerException while de-serializing an AbstractPhysicsControl
    • NPEs while serializing/de-serializing a DynamicAnimControl that's not added to a Spatial
    • NullPointerException while cloning a SoftBodyControl
    • out-of-bounds exception in DebugMeshCallback for an empty debug mesh
    • SoftBodyDebugControl doesn't resize debug meshes
    • RuntimeException in DacWizard while loading a non-model J3O
    • NullPointerException in DacWizard after loading a non-animated model
    • OtoOldAnim.j3o asset contained an invalid MatParamOverride
    • scaling and rotation bugs in DacWizard
    • bind pose not applied in to models in TrackDemo and WatchDemo apps
    • RopeDemo delete key cancels skeleton visualization
  • Added library features:
    • getSquaredSpeed() and setEnableSleep() for PhysicsRigidBody
    • getActivationState() for PhysicsCollisionObject
    • Activation and AfMode classes
    • correctAxes(), principalAxes(), and setChildTransform() for CompoundCollisionShape
    • copyRotation() and copyTransform() methods for ChildCollisionShape`
    • countMeshTriangles() for MeshCollisionShape
    • isConvex(), isInfinite(), isNonMoving(), and isPolyhedral() methods for CollisionShape
    • getViewDirection() for MinieCharacterControl
    • IndexedMesh constructors handle TriangleFan and TriangleStrip mesh types
    • SoftBodyControl handles 4 more mesh types
  • Enhancements to PhysicsDumper:
    • shape and group info of a PhysicsCharacter
    • group, orientation, scale, and shape of a PhysicsGhost
    • AABBs, activation state, damping, and friction of a PhysicsRigidBody
    • ID of the CollisionShape of a PhysicsRigidBody
    • wheels of a PhysicsVehicle
    • describe a PlaneCollisionShape
    • simplify descriptions of various shapes, especially compounds
  • Changes to MultiSphereDemo:
    • Renamed to DropTest.
    • Added box, compound, cone, cylinder, simplex, and V-HACD shapes.
    • Changed the Ins key to add a single gem instead of a shower.
    • Added a UI to tune damping and friction.
    • Added a HeightfieldCollisionShape platform as an alternative.
    • Randomized the initial orientation of each dynamic body.
  • Other improvements:
    • Updated DacWizard and demo apps to work with the new animation system.
    • Implemented SoftJointDebugControl.
    • MinieAssets sub-project converts OgreXML and glTF assets to J3O format.
    • Added the ForceDemo app.
    • Added the TestCollisionShapeFactory, TestIssue1120, and TestPhysicsRayCast apps from jme3-examples.
    • Added a "go limp" action to the "puppetInSkirt" test of TestSoftBody.
    • Avoid aliasing in HeighfieldCollisionShape constructors.
    • Added "toggle axes" and "toggle boxes" hotkeys to various demo apps.
    • Updated the native libraries to version 2.0.10 of Libbulletjme.
    • Based on version 4.1 of the jme3-utilities-heart library, version 0.7.8 of the jme3-utilities-ui library, and version 0.9.10 of the jme3-utilities-nifty library.
    • Upgraded to Gradle v5.6.2 .

Minie 1.0.0for32

09 Oct 01:29

Choose a tag to compare

  • API changes:
    • Based BulletAppState on AbstractAppState (JME issue 1178).
    • Removed the extrapolateTransform() and getPhysicsScale() methods from PhysicsRigidBody.
    • Renamed the getLocation() and getRotation() methods of ChildCollisionShape.
    • Privatized the objectId fields of CollisionShape and PhysicsJoint.
    • Privatized the collisionShape field of PhysicsCollisionObject.
    • Privatized the bodyA and bodyB fields of PhysicsJoint.
    • Privatized the cfm, erp, and split fields of SoftPhysicsJoint.
    • Finalized the getObjectId() methods of CollisionShape, PhysicsCollisionObject, and PhysicsJoint.
    • Protected many constructors that shouldn't be invoked directly.
    • Removed the countDistinctVertices() method from DebugMeshCallback
  • Fixed bugs:
    • DacLinks attempts to link a bone with no vertices
    • in DynamicAnimControl, armature joints remain animated in ragdoll mode
    • in BuoyDemo, old skeleton visualization persists after model a change
    • NullPointerException while de-serializing an AbstractPhysicsControl
    • NPEs while serializing/de-serializing a DynamicAnimControl that's not added to a Spatial
    • NullPointerException while cloning a SoftBodyControl
    • out-of-bounds exception in DebugMeshCallback for an empty debug mesh
    • SoftBodyDebugControl doesn't resize debug meshes
    • RuntimeException in DacWizard while loading a non-model J3O
    • NullPointerException in DacWizard after loading a non-animated model
    • OtoOldAnim.j3o asset contained an invalid MatParamOverride
    • scaling and rotation bugs in DacWizard
    • bind pose not applied in to models in TrackDemo and WatchDemo apps
    • RopeDemo delete key cancels skeleton visualization
  • Added library features:
    • getSquaredSpeed() and setEnableSleep() for PhysicsRigidBody
    • getActivationState() for PhysicsCollisionObject
    • Activation and AfMode classes
    • correctAxes(), principalAxes(), and setChildTransform() for CompoundCollisionShape
    • copyRotation() and copyTransform() methods for ChildCollisionShape`
    • countMeshTriangles() for MeshCollisionShape
    • isConvex(), isInfinite(), isNonMoving(), and isPolyhedral() methods for CollisionShape
    • getViewDirection() for MinieCharacterControl
    • IndexedMesh constructors handle TriangleFan and TriangleStrip mesh types
    • SoftBodyControl handles 4 more mesh types
  • Enhancements to PhysicsDumper:
    • shape and group info of a PhysicsCharacter
    • group, orientation, scale, and shape of a PhysicsGhost
    • AABBs, activation state, damping, and friction of a PhysicsRigidBody
    • ID of the CollisionShape of a PhysicsRigidBody
    • wheels of a PhysicsVehicle
    • describe a PlaneCollisionShape
    • simplify descriptions of various shapes, especially compounds
  • Changes to MultiSphereDemo:
    • Renamed to DropTest.
    • Added box, compound, cone, cylinder, simplex, and V-HACD shapes.
    • Changed the Ins key to add a single gem instead of a shower.
    • Added a UI to tune damping and friction.
    • Added a HeightfieldCollisionShape platform as an alternative.
    • Randomized the initial orientation of each dynamic body.
  • Other improvements:
    • Updated DacWizard and demo apps to work with the new animation system.
    • Implemented SoftJointDebugControl.
    • MinieAssets sub-project converts OgreXML and glTF assets to J3O format.
    • Added the ForceDemo app.
    • Added the TestCollisionShapeFactory, TestIssue1120, and TestPhysicsRayCast apps from jme3-examples.
    • Added a "go limp" action to the "puppetInSkirt" test of TestSoftBody.
    • Avoid aliasing in HeighfieldCollisionShape constructors.
    • Added "toggle axes" and "toggle boxes" hotkeys to various demo apps.
    • Updated the native libraries to version 2.0.10 of Libbulletjme.
    • Based on version 4.1 of the jme3-utilities-heart library, version 0.7.8 of the jme3-utilities-ui library, and version 0.9.10 of the jme3-utilities-nifty library.
    • Upgraded to Gradle v5.6.2 .

Minie 0.9.15for33

29 Aug 20:51

Choose a tag to compare

  • API changes:
    • Deprecated the extrapolateTransform() and getPhysicsScale() methods of the PhysicsRigidBody class.
    • Deleted the unused OverlapListener interface.
  • Fixed bug:
    • "body A does not exist" NullPointerException while loading a DynamicAnimControl from a J3O.
  • Added library features:
    • getScale() and getTransform() methods for PhysicsCollisionObject
    • Argument validation for MeshCollisionShape constructors

Minie 0.9.15for32

29 Aug 20:53

Choose a tag to compare

  • API changes:
    • Deprecated the extrapolateTransform() and getPhysicsScale() methods of the PhysicsRigidBody class.
    • Deleted the unused OverlapListener interface.
  • Fixed bug:
    • "body A does not exist" NullPointerException while loading a DynamicAnimControl from a J3O.
  • Added library features:
    • getScale() and getTransform() methods for PhysicsCollisionObject
    • Argument validation for MeshCollisionShape constructors

Minie 0.9.14for33

26 Aug 03:11

Choose a tag to compare

  • Simplified the construction of collision shapes from multiple meshes.
  • Changed DacLinks to skip setGravity() on kinematic bodies.
  • Added verification of the local copy of gravity in PhysicsSpace when assertions are enabled.
  • Updated the native libraries to version 2.0.7 of Libbulletjme.
  • Based on version 3.0 of the jme3-utilities-heart library, version 0.7.7 of the jme3-utilities-ui library, and version 0.9.9 of the jme3-utilities-nifty library.

Minie 0.9.14for32

26 Aug 03:21

Choose a tag to compare

  • Simplified the construction of collision shapes from multiple meshes.
  • Changed DacLinks to skip setGravity() on kinematic bodies.
  • Added verification of the local copy of gravity in PhysicsSpace when assertions are enabled.
  • Updated the native libraries to version 2.0.7 of Libbulletjme.
  • Based on version 3.0 of the jme3-utilities-heart library, version 0.7.7 of the jme3-utilities-ui library, and version 0.9.9 of the jme3-utilities-nifty library.

Minie 0.9.13for33

08 Aug 04:30

Choose a tag to compare

  • API changes:
    • Finalized the TorsoLink.countManaged() method.
    • Standardized TranslationalLimitMotor.getAccumulatedImpulse() to use caller-provided storage.
  • Fixed bugs:
    • Various bugs in debug visualization, including one where shadows were cast by visualizations of bounding boxes and swept spheres and one where axes were visualized after shapes were no longer visualized.
    • A NullPointerException in DacLinks.findManagerForVertex().
    • A NullPointerException in DacLinks.managerMap().
    • An AssertionError in PhysicsSpace.countJoints().
    • An AssertionError caused by scaled compound shapes.
    • User objects were not cloned/serialized, even if they implement JmeCloneable or Savable.
    • Motor-enable flags and accumulated impulses weren't properly loaded/saved/cloned.
  • Added library features:
    • Support for V-HACD using Riccardo's Java bindings.
    • A warning in case a joint is added to a PhysicsSpace before the bodies that it joins.
    • Constructors for box/cylinder/sphere shapes based on float buffers.
    • Optional filtering of physics dumps.
    • Dump CCD/sleep parameters of dynamic rigid bodies.
    • isEnabled() and setEnabled() methods for TranslationalLimitMotor.
    • A flag to dump motors.
    • A setAccumulatedImpulse() method for RotationalLimitMotor.
    • FilterAll methods countExceptions(), defaultReturnValue(), and listExceptions().
    • A UserFilter class.
  • Other improvements:
    • Extended the setDebugViewPorts() method of BulletAppState to accept multiple arguments.
    • More thorough dumps/descriptions of joints, especially 6-DOF joints and their motors.
    • Updated the native libraries to version 2.0.5 of Libbulletjme.
    • Based on version 2.31 of the jme3-utilities-heart library, version 0.7.6 of the jme3-utilities-ui library, and version 0.9.8 of the jme3-utilities-nifty library.

Minie 0.9.13for32

08 Aug 04:31

Choose a tag to compare

  • Standardized TranslationalLimitMotor.getAccumulatedImpulse() to use caller-provided storage. (API change)
  • Fixed bugs where motor-enable flags and accumulated impulses weren't properly loaded/saved/cloned.
  • Added constructors for box/cylinder/sphere shapes based on float buffers.
  • Added a setAccumulatedImpulse() method to RotationalLimitMotor.
  • Updated the native libraries to version 2.0.5 of Libbulletjme.
  • Based on version 2.31 of the jme3-utilities-heart library, version 0.7.6 of the jme3-utilities-ui library, and version 0.9.8 of the jme3-utilities-nifty library.

Minie 0.9.12for32

04 Aug 20:58

Choose a tag to compare

  • Fixed a bug where axes were visualized after shapes were no longer visualized.
  • Added isEnabled() and setEnabled() methods to the TranslationalLimitMotor class to address JME issue 1157.
  • Added countExceptions(), defaultReturnValue(), and listExceptions() methods to the FilterAll class.
  • Added the UserFilter class.
  • More thorough dumps/descriptions of joints, especially 6-DOF joints and their motors.
  • Updated the native libraries to version 2.0.4 of Libbulletjme.

Minie 0.9.11for32

02 Aug 18:33

Choose a tag to compare

  • Added a 3rd argument to the CollisionShapeFactory.createVhacdShape() method, to simplify augmentation of an existing compound shape. (API change)
  • Finalized the TorsoLink.countManaged() method. (API change)
  • Fixed a bug where axes were visualized after shapes were no longer visualized.
  • Added CCD/sleep parameters of dynamic rigid bodies to dumps.
  • Added optional filtering of physics dumps.