Skip to main content

FastJ 1.5.1 Release

Andrew Dey

FastJ 1.5.1 has been released, with 80 new commits since FastJ 1.5.0. This version of FastJ contains bug fixes, new features, new examples, and more! Read on to find out what's new.

New Example Programs#

2 new example programs have been added to FastJ: Simple Audio and Behaviors! Check them out below:

Replace Issue Templates with Issue Forms#

All of FastJ's issue templates have been replaced with GitHub's issue forms. Check them out here!

Audio from Java URLs#

Loading/Playing Audio with FastJ can now be done using java.net.URL, enabling easy use of sound files contained in a jarfile through the ClassLoader.

Added Missing Keyboard Improvements Section to 1.5.0#

It seems that I forgot to cover the improvements made to FastJ's keyboard system in the 1.5.0 release. Sorry! Go check it out to see what's up.

General Changelog#

Additions#

  • Added explicit methods to manage behaviors/keys pressed in LogicManager
  • initBehaviors -- requests that the LogicManager initialize its behaviors
  • updateBehaviors -- requests that the LogicManager update its behaviors
  • processKeysDown -- requests that the LogicManager process keys pressed down
  • BehaviorManager.destroyListenerList for destroying the behaviors of any BehaviorHandler's behavior listener list
  • BehaviorHandler.destroyBehaviorListeners for calling the BehaviorManager's behavior destroying method

Breaking Changes#

  • (by @Sammie156, PR #72) Renamed SupportedFileFormats to SupportedModelFormats
  • SceneManager no longer handles input at the update() stage. All input dealt with in SceneManager will be called before render()
  • SceneManager behavior initialization now occurs after background adjustments and scene initialization

Bug Fixes#

  • (#96) Fixed issue where LogicManager did not initialize, update, or destroy behaviors
  • Fixed issue where LogicManager did not act on keys pressed down
  • (#99) Added behavior destroy calls to both SimpleManager and Scene classes' reset methods

Other Changes#

  • (by @SaadRehmanCS, PR #71) include default case in AudioEventListener.AudioEventProcessor switch statements which throws IllegalStateException
  • (by @Sammie156, PR #80) removed unnecessary casts in Gradient.java and Point.java
  • (by @Sammie156, PR #84) removed more unnecessary casts in Point.java and MemoryAudioPlayer.java
  • (internal) Replaced update/init/renderCurrentScene methods with safeUpdate/Init/Render methods, respectively
  • (internal) Reorganize unit tests to match main package structure
  • (internal) Added unit tests to cover loading/playing audio with URLs
  • (internal) Added unit tests to cover unloading multiple audio files at once