September raced by with lots of nice things happening, most noteworthy the release of Tiled 0.14 and the start on Tiled 1.0. Now we have October and the goal of the month is to get as far as possible on Tiled 1.0.
The first thing I want to note is that while I intended for 1.0 to not grow too many tasks, the milestone on GitHub has been growing like mad the past two weeks. And it's mostly things that Tiled is really lacking before it could be seen as complete and some of them are known bugs that should really be fixed. I had not anticipated all of these things before and if it turns out that there is too much work to make it to 1.0 this year then I plan to do an intermediate Tiled 0.15 release.
I spent the whole day working on a way to deal with broken links to images in maps. It's not finished yet, but I think I'm on a good way now.
I started with delaying the loading of images until after the entire map data was loaded. That way when an image fails to load, I should be able to offer the user a way to tell Tiled where to load the image from and then it can try again.
But that change made me worry about no longer being able to tell a valid tile ID from an invalid one. The solution for this that I implemented was to delay the resolving of the tile IDs as well. Unfortunately I think I spent rather too much time worrying about these invalid tile IDs, which in practice should never happen, and in the end I don't think my solution is a very good one since it's probably needlessly complicated. Also, the alternative solution of changing the way tiles are stored in the tileset from a list to a map structure is probably one I should do anyway to solve an issue with Collection of Images tilesets. Finally, it only solved the problem of dealing with invalid tile IDs at the tile layer and tile object level, but not for tile elements in a tileset.
I also wanted to make some progress on this issue from the user's perspective, and I think this is turning out quite nicely. Here's a screenshot of what to expect when you load a map with broken image references:
Of course, it still lacks icons and the right buttons, but the important part for me is that it is non-modal and will provide a way to quickly resolve a large number of broken links. So there is sorting and there will be multi-selection. I think we can even split the view and still render the map with the tiles that could be loaded.
So, it's taking a bit longer than I expected but I think it's an important feature since many people run into this issue after moving around their maps or tilesets.
Closed issues on GitHub
#1086 Polish translation - Merged
#1114 Building on debian requires libqt5opengl5-dev - Merged
Two important issues were reported that I will try to resolve in a Tiled 0.14.2 release. The fact that Tiled does not allow picking a JSON-formatted external tileset when adding one (#1108) and an issue with copy/pasting tiles and/or tile objects when using image collection tilesets (#1113). There's also a big Brazilian Portuguese translation update almost ready to be merged (#1112).
And of course, I will aim to finish the broken links handling soon so that I can move on to other Tiled 1.0 tasks.
Thanks for listening and thanks to all my patrons for their support, without which all of this would not be possible!