|
| 1 | +--- |
| 2 | +title: FastJ 1.5.1 Release |
| 3 | +author: Andrew Dey |
| 4 | +author_title: Creator of the FastJ Game Engine |
| 5 | +author_url: https://github.com/lucasstarsz |
| 6 | +author_image_url: https://github.com/lucasstarsz.png |
| 7 | +keywords: ["fastj", "java game engine", "fastj game engine", "fastj 1.5.1", "fastj game engine 1.5.1", "java game engine 2021", "can java be used for making games", "free java game engine", "free game engine", "game engine 2021", "kotlin game engine", "is kotlin good for making games", "kotlin game engine 2021", "groovy game engine", "groovy game engine 2021", "is groovy good for making games", "2d game engine", "java2d game engine", "java 2d game engine", "kotlin 2d game engine", "fastj 2d game engine", "groovy 2d game engine", "how to make games", "how to make game tutorial", "game making tutorial"] |
| 8 | +tags: [fastj, release, fastj-1.5.1] |
| 9 | +description: "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." |
| 10 | +image: /img/fastj/fastj_icon_wired.png |
| 11 | +hide_table_of_contents: false |
| 12 | +--- |
| 13 | + |
| 14 | +FastJ 1.5.1 has been released, with 80 new commits since FastJ [1.5.0][FastJ-Version-1.5.0-Release-Link]. This version of FastJ contains bug fixes, new features, new examples, and more! Read on to find out what's new. |
| 15 | + |
| 16 | + |
| 17 | +[FastJ-Version-1.5.0-Release-Link]: /news/2021/08/04/fastj-1-5-0-release "FastJ 1.5.0 Release" |
| 18 | + |
| 19 | +<!--truncate--> |
| 20 | + |
| 21 | + |
| 22 | +## New Example Programs |
| 23 | +2 new example programs have been added to FastJ: Simple Audio and Behaviors! Check them out below: |
| 24 | + |
| 25 | +- [FastJ Audio](https://example.fastj.dev/audio/Main.java) -- Simple Audio Playing/Loading in FastJ |
| 26 | +- [Behaviors](https://example.fastj.dev/behaviors/Main.java) -- Behaviors in FastJ |
| 27 | + |
| 28 | + |
| 29 | +## Replace Issue Templates with Issue Forms |
| 30 | +All of FastJ's issue templates have been replaced with GitHub's [issue forms](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms). [Check them out here](https://github.com/fastjengine/FastJ/issues/new/choose)! |
| 31 | + |
| 32 | + |
| 33 | +## Audio from Java URLs |
| 34 | +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`. |
| 35 | + |
| 36 | + |
| 37 | +## General Changelog |
| 38 | + |
| 39 | +### Additions |
| 40 | +- Added explicit methods to manage behaviors/keys pressed in `LogicManager` |
| 41 | +- `initBehaviors` -- requests that the `LogicManager` initialize its behaviors |
| 42 | +- `updateBehaviors` -- requests that the `LogicManager` update its behaviors |
| 43 | +- `processKeysDown` -- requests that the `LogicManager` process keys pressed down |
| 44 | +- `BehaviorManager.destroyListenerList` for destroying the behaviors of any `BehaviorHandler`'s behavior listener list |
| 45 | +- `BehaviorHandler.destroyBehaviorListeners` for calling the `BehaviorManager`'s behavior destroying method |
| 46 | + |
| 47 | + |
| 48 | +### Breaking Changes |
| 49 | +- (by [@Sammie156][Sammie156-Link], PR [#72][FastJ-Pull-72]) Renamed `SupportedFileFormats` to [`SupportedModelFormats`](https://github.com/fastjengine/FastJ/blob/main/src/main/java/tech/fastj/graphics/io/SupportedModelFormats.java) |
| 50 | +- `SceneManager` no longer handles input at the update() stage. All input dealt with in `SceneManager` will be called _before_ `render()` |
| 51 | +- `SceneManager` behavior initialization now occurs after background adjustments and scene initialization |
| 52 | + |
| 53 | + |
| 54 | +### Bug Fixes |
| 55 | +- ([#96][FastJ-Issue-96]) Fixed issue where `LogicManager` did not initialize, update, or destroy behaviors |
| 56 | +- Fixed issue where `LogicManager` did not act on keys pressed down |
| 57 | +- ([#99][FastJ-Issue-99]) Added behavior destroy calls to both `SimpleManager` and `Scene` classes' `reset` methods |
| 58 | + |
| 59 | + |
| 60 | +### Other Changes |
| 61 | +- (by [@SaadRehmanCS][SaadRehmanCS-Link], PR [#71][FastJ-Pull-71]) include default case in `AudioEventListener.AudioEventProcessor` switch statements which throws `IllegalStateException` |
| 62 | +- (by [@Sammie156][Sammie156-Link], PR [#80][FastJ-Pull-80]) removed unnecessary casts in `Gradient.java` and `Point.java` |
| 63 | +- (by [@Sammie156][Sammie156-Link], PR [#84][FastJ-Pull-84]) removed more unnecessary casts in `Point.java` and `MemoryAudioPlayer.java` |
| 64 | +- (internal) Replaced `update/init/renderCurrentScene` methods with `safeUpdate/Init/Render` methods, respectively |
| 65 | +- (internal) Reorganize unit tests to match main package structure |
| 66 | +- (internal) Added unit tests to cover loading/playing audio with URLs |
| 67 | +- (internal) Added unit tests to cover unloading multiple audio files at once |
| 68 | + |
| 69 | + |
| 70 | +[Sammie156-Link]: https://github.com/Sammie156 |
| 71 | +[SaadRehmanCS-Link]: https://github.com/SaadRehmanCS |
| 72 | + |
| 73 | +[FastJ-Pull-71]: https://github.com/fastjengine/FastJ/pull/71 |
| 74 | +[FastJ-Pull-72]: https://github.com/fastjengine/FastJ/pull/72 |
| 75 | +[FastJ-Pull-80]: https://github.com/fastjengine/FastJ/pull/80 |
| 76 | +[FastJ-Pull-84]: https://github.com/fastjengine/FastJ/pull/84 |
| 77 | +[FastJ-Issue-96]: https://github.com/fastjengine/FastJ/issues/96 |
| 78 | +[FastJ-Issue-99]: https://github.com/fastjengine/FastJ/issues/99 |
0 commit comments