Week 48 (continued)
As I had written about in the previous development update, I was working on reversing the display order of the objects in the Objects view. This is to match the rendering order when using manual object ordering, with the last rendered object appearing at the top of the list. The list of layers was already reversed, so it made sense to do the same for objects.
For this I wrote a ReversingProxyModel. While it was quite a bit more work that I had anticipated, it’s a useful thing to have because it avoids having to take into account the reversed display order in a lot of other code. I then used it to reverse the order of the objects in the Objects view.
I also merged a pull request that removed reflection from the TMXMapReader in
libtiled-java (#1398). Mike has been doing a good amount of cleanups and updates to this library recently, something I personally never got around to. I hope the library will become more useful again for developing both games and tools in Java.
I skipped the Monday because we were celebrating St. Nicolaus at my parents. Also, from this week on I will be spending each Monday and Tuesday on Tiled, instead of Monday and Friday.
Tuesday was a productive day with some very good progress on the
- Finished restoring the broken links widget (3d1d44b)
- Fixed file modification indicator in a rare case (e3cb653)
- Added a few maps for testing of error handling (a71eeab)
- Fixed the “Import Tileset” action, now called “Embed Tileset” (9b330d2)
- Fixed the “Export Tileset” action (d62a13f)
- Restored ability to add embedded tilesets to a map (c96a15b)
wip/tilesetdocument branch was now really close to being ready for merging into
I also merged another pull request by Mike, adding a basic isometric renderer to libtiled-java (#1401).
Qbs on macOS
On Wednesday, Jake Petroules helped to get Qbs building Tiled on macOS again (#1405). I hope some day the time will come that I can drop the qmake based project files entirely.
On Thursday, @ponywolf posted about his awesome Sticker Knight example project. It demonstrates very well how you could use Tiled without any tile layers at all, and since such an example was really missing I’m happy to ship it with Tiled in the next release.
In the morning I finished the last known blocker on the
wip/tilesetdocument branch, by making the Command button available again on the main tool bar (f8a16d5). Now that the branch was ready for merging, I had to consider whether branching off a release beforehand would make sense. So I updated the NEWS.md file with the changes since Tiled 0.17.2. The long list, even though it consisted of mainly smaller features, made it clear that a Tiled 0.18 release should be done with the current state before the really big change was merged in.
With that done, I merged the
wip/tilesetdocument branch into
master branch will now eventually become Tiled 1.0. I’ve also synchronized the
snapshot branch, so the current snapshots already reflect that state and I’m now eager to hear any feedback about this big change as well as to see what things remain to be done.
Here’s a screenshot of the new main window layout, also showcasing one of the new Sticker Knight example maps:
The merge also closed two issues:
- You can now choose the background color of the tileset view per tileset (#227)
- Tiled remembers active layer and view position also for closed maps (#905)
So, soon there will be a Tiled 0.18 release (probably either next week, or early January, due to the holidays in between) and in the meantime we’re going full steam ahead towards Tiled 1.0. There are some features that have gone up in priority that will likely be added, but otherwise there is the 1.0 milestone to track the remaining tasks.