This development snapshot adds many new features and includes all the bugfixes in Tiled 1.3.2. Most of the new features were not on the roadmap for Tiled 1.4, but were instead prompted by pull requests.
Layers can now be tinted by multiplying their pixels with a color. This way you can darken or colorize your graphics in various ways without needing to set up separate images for it! The new "Tint Color" property is supported on tile layers, object layers and image layers, and is inherited from group layers.
Ever since tile objects were added as a feature, their alignment has been inconsistent with the other shapes. Whereas a rectangle had its origin in the top-left, tile objects had their origin in the bottom-left (or even bottom-center, on isometric maps). While useful in some contexts, this inconsistency has annoyed many people over the years.
Now, a new tileset property specifies which alignment to use for tile objects using that tileset. If you set it to top-left, the tile objects will align consistently with the other objects. But of course you could also choose for bottom-center or center alignment depending on your needs.
Object Reference Properties
This change is a big step towards the Connecting Objects feature, which is planned for Tiled 1.4. You can now choose "object" as the type when adding a custom property, and the property will be interpreted as a reference to an object on the map, referring to it by its unique ID. A special dialog makes it easy to search for the object you want to refer to and the name of the referenced object will be displayed.
Here are all the improvements made since the last snapshot.
- Added layer tint color (with Thorbjørn Lindeijer, #2687)
- Translated using Weblate (Italian)
- Added object alignment property to tileset (with Thorbjørn Lindeijer, #2698)
- Added object reference custom property type (with Thorbjørn Lindeijer, #2712)
- Added automatic reloading of object templates (#2699)
- Scripting: Provide access to existing file formats (#2716)
- Scripting: Assign global variables to console script evaluations (#2724)
- Scripting: Added checks for nullptr arguments (#2736)
- Optimized loading of CSV tile layer data (#2701)
- Optimized first-draw of large maps by ensuring a minimum scale (#2707)
- libtiled-java: Fixed writing of the tile type (#2704)
- docs: Clarify "can contain" documentation and error handling (#2702)
- docs: Document all optional attributes (#2705)
- docs: Alphabetize scripting API reference (#2720)
- docs: Fixed broken link to tile flipping (#2723)
- docs: Added missing BinaryFile constructor docs, fix style (#2732)
- Added support for converting between 'string' and 'file' properties
- AppVeyor: Set up release-signing by SignPath
- Fixed initialization of selected layers (#2719)
- Fixed displayed layer data format in Properties
- Fixed restoring of the active file in last session
- Fixed repeating of export when map is saved by a custom command (#2709)
- Fixed context menus activating first item on release
- Scripting: Support FilePath and ObjectRef custom properties
- Projects: Improved starting paths when saving projects and adding folders
- Projects: Fixed updating of "last session" when saving project under new name
- docs: Added go-tiled library (#2728)
- Added ability to convert object reference property to and from int (#2734)
- Fixed issue where image layer images cannot be loaded from Qt resource files (#2711)
- Translated using Weblate (Finnish)
Many thanks to all who have contributed to this development snapshot!
Support Tiled Development
To keep improving Tiled, I depend on your support! If you're looking forward to the next new feature release, please consider supporting me on GitHub Sponsors, Patreon or Liberapay. Thank you!