Skip to content

"Working on the LEPUS" Release v0.4.11-alpha

Compare
Choose a tag to compare
@gurkenlabs gurkenlabs released this 13 Mar 20:49

Fixes

  • Fixed an issue with the movement delta not being calculated properly.
  • Fixed an issue with the SpeechBubble flickering.
  • Fixed an issue with the cache not firing the clear event.

Features / Improvements

  • Provided a static method to evaluate the default sprite name for a custom Creature implementation.
  • Implemented a reflection based logic that allows registering custom Creature implementation without having to implement a custom MapObjectLoader.
  • It is now possible to provide multiple spritePrefixes for a class.
  • Provided a method that gets a random element from a collection.
  • Added missing getter for ground and overlay renderables.
  • Improve toString for Creature and Prop to display the spritePrefix/spritesheetName.
  • The PropMapObjectLoader now also supports to register custom prop implementations.
  • Implemented a mechanism that allows to annotate custom mapobject properties on a custom entity implementation.
    • It is possible to define multiple properties.
    • The property key must now be equal to the memberName.
  • Tilesets that are located in subfolders are now considered.
  • Implemented new methods that help to combine paths, respecting windows and linux path separators.
  • The Trigger implementation now exposes all the customProperties of its MapObject.
  • Implemented the possibility to load a simple list of string from a game resource file.
  • Extended the AnimationInfo annotation by allowing to specify custom death sprite names.
  • Extended the CreatureAnimationController to support custom death animations.
  • Implemented a functionality that flips all sprites of a Spritesheet vertically.
  • Added method that allows getting all map Layers, including overlays, from the OrthogonalMapRenderer.
  • Implemented a debug option that tracks details about the duration of the different rendering steps.

Changes

  • Breaking change: Change the file extension for game resource files from .env to .litidata (No automatic backward compatibility).
  • Renamed getEntitiesByType to getByType similar to the getByTag method.
  • Added missing Environment events for unloading and clear action.
  • The currently initializing Environment is now passed to the MapObjectLoaders.
  • Removed Decormob from the engine.
  • Extracted a ton of reflection logic to a separate ReflectionUtilities class.
  • The absolut path for MapImages of Tilesets are now set relative to the tileset
  • Removed rendering/rendered callbacks from the AnimationControllerbecause they caused major performance leaks and didn't work properly.
  • Renamed Entity.getDimensionCenter() to Entity.getCenter()`.
  • Replaced some unnecessary MessageFormats because they're not very fast.
  • Cached the graphicsConfig to improve performance.

utiLITI

  • Fixed snapping behavior when dragging multiple mapobjects.
  • Fixed issue that caused sprite files to be added multiple times upon import.
  • Fixed issue with the selection getting lost when pasting elements.
  • Fixed issue with the selection not being cleared properly.
  • #104 Fixed an issue that caused the map import not to work properly
    • #96 All mapobjects are now snapped in a way that they keep their distance to the other selected objects, i.e. relative to the top-most, left-most x and y coordinates.
  • #96 Implemented the possibility to move all selected map objects with the keyboard.
  • Implemented an import for non-embedded tilesets.
  • Gave selection outlines a pulsating look for better identification during multi-selection.
  • Gamefiles are no longer compressed by default.