September 2016 development updates

(Thorbjørn Lindeijer) #1

Week 36

Tiled Tuesday

In the morning I first wrote the last development update. Then, I implemented a small change to the JavaScript JSON export that will allow the files to be easily loaded when using Node.js (#1350).

After lunch, I fixed a bug that caused objects you are still in the process of placing to get included in the saved file when pressing Ctrl+S (#1348).

Then I decided to try implementing a recent suggestion to add a quick action to move the selection to a new layer. It turned out to be a bit more work than I thought so I didn’t manage to finish it before I had to go home.

Tiled Friday

First of all I finished adding two new actions: “Layer via Cut” and “Layer via Copy”. To make room for them in the Layer menu I grouped them together with the other actions that create new layers in a submenu:

This will certainly look familiar to people using Photoshop.

After lunch I got back to the wip/tilesetdocument branch. I noticed the Tile Stamps were not working anymore and fixed this. And the TSX format was shown twice when trying to export a tileset. Then I fixed up the “Edit” button below the tileset view, using it to replace the button that opened the tileset properties.

Finally I started a bold change, which is to show all open tilesets in the Tilesets view, rather than just the tilesets currently used by the map. The idea is to get rid of the need for manually managing the list of tilesets used by a map, and rather have Tiled track this automatically. Needless to say this change raises some questions and I didn’t manage to finish it right away.

Week 37

Tiled Monday

A long standing issue on Windows is that console output it not visible for graphical applications by default, which affected Tiled as well. I could not simply compile Tiled as console application, because then it would always open a console window. This morning buckle2000 helped me with a solution that allowed console output to appear only when Tiled is launched from a console.

Then I reviewed and accepted a pull request adding a quick way to change the type of a custom property, without having to remove it and then re-add it. This works as long as the current value can be converted to the new type. I’ve extended the new context menu with existing remove and rename actions:

While trying to continue working on the change to display all loaded tilesets in the Tilesets view, I ran into a bug when loading a map that used the same external tileset twice. Which I fixed by making sure no duplicates occur in the list of tilesets used by a map. This was a little involved since it affected code to support replacing one tileset with another. Unfortunately, there was not enough time to finish the Tilesets view change, but I think it’s the right direction so I’ll continue it next time.

Looking Ahead

This Friday I found with great difficulty some time for writing this update, since I’m leaving on a short holiday with my family. I’m taking off two Tiled development days and expect to resume development 25th and 26th of September.

When I’m back, I’d like to do a small Tiled 0.17.1 release to get out some bug fixes and continue working on the wip/tilesetdocument branch, which is to eventually be merged into master before getting to Tiled 1.0.

I want to again thank everybody who is supporting Tiled development! It allows me to be responsive to pull requests, questions and develop small features as well as doing larger changes towards the next Tiled release. Now I’ll be away for a week, but I’m already looking forward to be back!

(kawika) #2

Thanks for the updates! The convert property type feature especially sounds great!

(Thorbjørn Lindeijer) #3

Week 38

This week I was on holiday with my family, as well as making a quick visit to my parents.

Week 39

Tiled Sunday

This was the first day of @Ablu’s visit to the Tiled office. I picked him up in the morning at the train station.

Being just back from holiday, there was a lot of e-mail to catch up with so I didn’t get around to do much actual development on Tiled.

In the morning, Ablu closed a small issue by adding keywords to the appdata file. This should make Tiled more discoverable in GNOME’s Software. And while trying to help someone on the forum he fixed a small issue in the code causing the “Object Properties…” context menu item to get disabled when multiple objects were selected. This was a relic from before Tiled 0.10, which added property editing for multiple objects.

I merged a pull request fixing some Chinese translations and made some updates to the Qbs project files after my version of Qbs got updated to 1.6.

Tiled Monday

While trying to get back to the wip/tilesetdocument branch, I noticed that when opening The Mana World maps, Tiled would ask me to adjust some tileset to a change in tile columns. I found out that the tileset was actually unused by the map, so I figured bothering the user about the index adjustment was actually not needed. But in the process of suppressing this message in such cases, it occurred to me that the adjustment is still needed for the tiles in the tileset (an oversight that I had just fixed in Tiled 0.17, issue #1315).

However, the tileset here was only a single row of tiles, so really the amount of columns changing was irrelevant since no tile indexes would change in the process. So I did a patch suppressing the adjustment in the case of single-row tilesets.

In the meantime I had told @Ablu, who was visiting for another day, that it would be nice if Tiled maps would show as thumbnails in the file manager and he was looking into how to set this up. It turned out to be not too difficult on Linux, as long as there was a tool to create images from the maps. Such a tool already existed and ships with Tiled (called tmxrasterizer), but it needed some adjustments to its behavior.

So I added a --size parameter that can be used to specify the (maximum) expected size of the output image. And I made it default to png format when the output format could not be determined based on the file extension. Ablu then finished the work by adding the file needed to integrate tmxrasterizer with the file manager. It works with Nautilus, GNOME’s file manager, but unfortunately didn’t seem to work for Thunar, the file manager in Xfce.

This feature is right now available to Ubuntu users who are using the nightly builds from the Tiled PPA, as well as in daily builds for Fedora. It would be nice if thumbnails could also be made to work on Windows and OS X of course, though at the moment I don’t know how their integrations work. Contributions from anyone who does are of course welcome!

Tiled Friday

As I mentioned previously, this was the last day in my own office, so in the afternoon I moved back into the bedroom at home. On the way, I also picked up my UHD 4K screen at work, the present I chose when I worked there for 5 years. Of course, I hope to optimize Tiled for 4K screens as well (once I can actually run it in 4K, I still need a new video card for this).

In the morning I had made another small tweak to the tmxrasterizer tool to improve the general quality of the thumbnails. And I fixed an issue with the type of some variables in the Lua export.

Looking Ahead

The first week of October will be incredibly busy again due to my daughter’s 4th birthday, with family visiting and organizing her first birthday party with other kids.

In addition, I’m doing a hopefully quick contract for a solution helping a project integrate Tiled maps into their game. This will also help me fill the missing income from not having reached my goal on Patreon yet, while already having reduced my work contract to 3 days/week.

For Tiled, my goals are to get a Tiled 0.17.1 bugfixing release out soon, and to continue working towards Tiled 1.0 on the wip/tilesetdocument branch.

October 2016 development updates
(Erik Schilling) #4

Or just blame me for distracting him all the time :grimacing: