"LDJAM 42" Release v0.4.13-alpha
Fixes
- #133 Fixed the DropdownListField rendering multiple times
- Fixed a bug that was causing duplicate map objects
- Fixed an issue with width/height <= 0 when scaling images.
Features / Improvements
- Added a method that automatically adds linebreaks when rendering text
- Streamline the
IEnvironment
API by adding lots of overload methods- Implemented possibility to get a list of entities from the environment by providing an array of mapIDs.
- #124 Implemented support for rendering the backgroundcolor of maps
- Added default values for
MapObjectLoader.loadCollisionProperties
- Added
CustomPropertyProvider.hasCustomProperty()
method - Named the Threads for better debugging
- Added Exit codes
- Improved crash report: It will produce a
crash.txt
with the exact exception that caused the issue - #151 Added Support for tile custom properties
- #87 Introduced an option for antialiased/interpolated rendering
- Improved the API for adding a custom configuration group.
- #66 Implemented
MapObjectSerializer
-> Possibility to exportIEntity
asIMapObject
- #105 Implemented possibility to use blueprints on the environment
- Added basic events for loading/removing entities.
- This can either be overwritten by custom implementations or one can register an
EntityListener
.
- This can either be overwritten by custom implementations or one can register an
- Fixed a ton of typos
- Added a ton of unit tests
- Lots and lots of internal improvements
Changes
- By default, Controller Input is now disabled because it requires native libraries.
- Controller support for x86 was dropped due to the
jinput
update - #134 The
TmxMapLoader
is now a static class - Changed the implementation for fullscreen from
setExtendedState
toGraphicsDevice.setFullscreenWindow
- Made
Game.terminate()
private -> The application should be closed from code usingSystem.exit(0)
- #144 Remove the loading of system fonts by the FontLoader
- The FontLoader is intended to load custom fonts from the game resources. If one wants to use a system font, he can just initialize the Font directly and doesn't have to register the font on the environment.
- Reorganized namespaces:
- Introduced new base namespace for all emitter related stuff
de.gurkenlabs.litiengine.graphics.emitters
- Moved some entity implementations from different namespaces to
de.gurkenlabs.litiengine.entities
.
- Introduced new base namespace for all emitter related stuff
- The
FontLoader
class has been removed. Fonts are now loaded with the staticResources
class - The game now crashes if an unexpected exception occurs
- Detect an unsupported Tiled version and fail-fast (currently supported:
1.1.5
) - Replace the
IKeyObserver
interface by the AWTKeyListener
. - Remove a ton of unnecessary interfaces
- #155 Clean up the
RenderEngine
by removing static methods- Implemented static
ImageRenderer
- Implemented static
TextRenderer
- Implemented static
ShapeRenderer
- Implemented static
utiLITI
- #86 Made the editor remember the visibility of the layers
- #95 Provided additional methods for adding entities
- #81 Provided a default configuration for the utiliti editor.
- #100 Implemented a deselect functionality when in multi-select-mode
- #108 Made light focus offset configurable in the editor
- #111 Prevent selection of all mapObjectLayers when updating the layer list
- Added Layer control panel for Adding / Deleting / Recoloring / Duplicating / Lifting / Lowering a MapObjectLayer and one for hiding all non-selected layers.
- Fixed ID assignment when copying objects in the editor.
- Fixed issue with lights not to being updated when snapping
Misc
- Added "Hello World" example projects
- Updated Gradle to 4.9
- Updated jinput 2.0.7 to 2.0.9
- Updated junit to 5.2.+
- Updated mockito to 2.21.+
- Updated sonarqube plugin to 2.6.2
- Updated launch4j to 2.4.4
Shout out to @TheRamenChef for his contribution to this release.