Changelog LITIengine v0.4.19-alpha

Fixes

  • bf31e15 Fixed ArgumentNullException that could be thrown if an entity hit event was not related to an Ability.
  • 7c25cb2 Fixed bug that made XmlUtilities.read not work for files within a jar.
  • 69afe69 Don’t ignore minimal location updates on entities
  • 680ce0b Fixed issue which caused the Camera hotfix for certain renderscales not to work.
  • ca5cfa2 Fixed null pointer check in TmxMap
  • 59360c4 Fixed issue with the GameWorld.reset overload

Features / Improvements

  • Added and improve the Javadocs of many APIs
  • aeccaa4 Added possibility to remove timed actions.
  • #301 28f1036 Added entity render events for individual entities.
  • adb2bfc Extend the ReflectionUtilities with a few helpful methods
  • 9fde70d Added events for changes on ConfigurationGroups
  • c8ca4b1 Added events for layer rendering on the MapRenderer
  • 70c598a Added onMoved event for IMobileEntity
  • 41679ed Added spawned event for Spawnpoint
  • 87c339d Added updatable count to the GameMetrics
  • a7a7637 Don’t modify layer visibility when serializing maps.
  • #297 Re-Added shortcut API for finding tile bounds

Changes

  • 5ddf044 Drop the Game.loop().getUpdateRate() method in favor of Game.loop().getTickRate().
  • 30cd2c1 Improve visibility modifies of the SoundEngine
  • 6d92e25 Rework the default mouse cursor behavior
    • Use the default cursor if no virtual cursor is set and the mouse is not being grabbed by the window.
    • Move the debug cursor handling to the MouseCursor implementation
    • Don’t grab the mouse by default.
  • c950d55 Replace some explicitly thrown exceptions by log messages.
  • d715f2f Drop the de.gurkenlabs.litiengine.annotation package.
  • 39f365e Change Entity collections from the Environment to be immutable

Revamp of several event methods and listeners

  • 3747d8c 080afea Streamline rendering events and API
  • 59b4b3d Reworked the ScreenManager events
  • 1c41e83 Reworked the Mouse events
  • 537b5d7 Reworked the Keyboard events
  • 480a259 Reworked the Gamepad and GamepadManager events
  • 111d81d Reworked the Camera events
  • 4204d8a Reworked the Emitter events
  • e438fc8 Reworked the Ability events
  • Marked many listeners as FunctionalInterface

utiLITI

  • 60c0466 Fixed initial error when no game file is loaded.
  • #299 Fixed Reassigning map IDs

Misc

  • Updated SonarQube plugin 2.7 -> 2.8
  • Updated Gradle 5.3.1 -> 6.0.1
    • d4d35a7 Print Gradle warnings in the build log.
  • 7340f5b Prevent duplicated resources in the .jar files.
  • 94b46dc Exclude duplicate files from the jar.

Contributors in this release

@TheRamenChef
@Phlosioneer

Also, thanks to all the contributors to the LITIENGINE community in the forum and our discord! All your comments and thoughts help us to shape the engine towards a stable release.