Skip to content

Naughty Elves Release v0.4.8-alpha

Compare
Choose a tag to compare
@gurkenlabs gurkenlabs released this 10 Dec 18:40

Fixes

  • Fixed static initialization of GuiComponent ICON_FONT.
  • Fixed issue with the Gamepad producing nullreference exceptions.
  • Fixed possible ArgumentNullException if Gamepad support was disabled.
  • Fixed an issue that caused collision not to be checked if no entity was specified.
  • Fixed trigger to properly evaluate the activated entities
  • Fixed size for collisionboxes.
  • Fixed a possible nullreference exception when removing entities from the Environment.
  • Fixed an issue with the size not being set for spawnpoints.
  • Fixed a possible nullreference exception for CustomPropertyProvider.
  • Fixed issue with randomInRange not working for negative numbers for integers.
  • Fixed an issue with the Menu that caused elements to be added twice.
  • Fixed an issue with competing META-INF content
  • Fixed an issue with volume not being applied to looping music.
  • Fixed an issue that caused particles to flicker (BE DAMNED LITI!!!!!)
  • Fixed an issue with entities traveling a long distance in case of a lag.
  • Fixed an issue with enum values not being serialized properly in the configuration
  • Fixed an issue with a gamepad not being properly detected if it was already connected from the beginning.

Features / Improvements

  • Improved the loading of a game file.
  • Reduced cognitive complexity of entity loading
  • Reduced cognitive complexity of the textfied keyboard typed handling.
  • Added equals overwrite for AttributeModifier class.
  • Provide some base unit tests for GuiComponents
  • Removed the isDragged method from the GuiComponent because it was never used and didn't work.
  • Extended the test sfor GuiComponents to ensure default flags.
  • Cleaned up the cognitive complexity of the AStarGrid.getNeighbours method.
  • Extended the ITileset implementation with a method that evaluates if a specified tile is part of the tileset.
  • Extended the environment by a method to retrieve colliders by id.
  • Issue #32 Implemented IMapObjectLoader interface and the default loader implementation for props, collisionboxes, triggers, decormobs, emitters and lightsources, spawnpoints
  • MapObjectLoaders are registered statically because they are designed to be independent from the environment.
  • Improved performance of the physics engine by only collecting all collisionboxes once per update
  • Extended ILayer with the getRenderType method which retrieves the rendertype from the custom properties of the layer.
  • Extended the Environment with an event that notifies consumers when an entity gets added to the Environment.
  • Implemented a general AnimationController that uses naming convention to provide Animations for a movable combat entity.
  • Issue #37 Replace deprecated XML tile layer serialization by data serialization that supports CSV and Base64 (including compression to GZIP/ZLIB).
  • Extended the MovableCombatEntityAnimationController to allow flipping left/right sprites to provide the opposite.
  • Extended ArrayUtilities with a method that gets a random element from a specified array.
  • Added a getter for the environmentBounds.
  • Added steamworks support to the engine
  • Implemented support for RenderType on particle level
  • Extended Props with the possibility to change the sprite during runtime.
  • If there are no static shadows to render, the static shadow image is no longer rendered.

Changes

  • Changed messagehandler provider to abstract because it is designed to be used as base implementation.
  • LightSource no longer keeps a reference to the static environment
  • Changed default updaterate to match the framerate.
  • There's no more static lib folder (see changes under Misc)
  • RenderLoop no longer catches and ignores all exceptions (they will be tracked by the UncaughtExceptionHandler)
  • Cleaned up the input loops to be started upon game start and not on game init.
  • Renamed the collider to CollisionBox for the sake of consistency.
  • Refactored the GameTime implementation: It is now part of the Game itself instead of the GameLoop.
  • The singleton instances of Game.getLoop is no longer passed in the update method
  • ImageCache no longer supports persistent cache. This was actually very unperformant.
  • Ambient light is now only rendered with graphics quality of Medium or more.

Misc

  • Updated build script to distinguish between usual dev build and full build that includes javadocs and jacoco test reports
  • Issue #35 Fixed litiengine dependencies on maven release
  • Update litiengine to use maven repository to get jinput and sound libraries.
  • Updated native jinput runtime dependencies to the latest version.
  • Issue #28 Create a distribution zip file with the gradle build.
  • Update gradle build by making use of the Gradle Natives Plugin in order to retrieve the native references required for jinput.
  • A lot of improvements on the general build script and process