New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to re-arrange tilesets in tileset window is broken. #1613

Open
jo26 opened this Issue Jun 13, 2017 · 6 comments

Comments

3 participants
@jo26
Copy link

jo26 commented Jun 13, 2017

In older versions of Tiled, you were able to re-arrange the tilesets in Tiled's tileset window by click-n-dragging on the the tileset's tab. This also restructured the "firstgid" value in the TMX file, and reorganized the map's data accordingly.

As of 1.0.0 and 1.0.1, this feature no longer works. The only way to re-arrange tilesets now is to delete the tileset, and re-add it at the end of the list. This obviously also breaks your maps, and will remove any tile data on the map.

To verify that this feature did work in past versions, I re-downloaded version 0.18.2 and recorded this GIF:
tiled 18

This feature is vital to me, because my game engine expects certain tilesets to be loaded in a certain order (for example: collision_tileset > level_specific_tilesets > tilesets_only_used_wihle_level_editing)

@bjorn

This comment has been minimized.

Copy link
Owner

bjorn commented Jun 13, 2017

Hmm, this feature was removed because the Tilesets view now displays all loaded external tilesets regardless of which map is selected. Since it no longer reflects just the tilesets used by a single map, I chose to simply order them alphabetically, though that's just for display purposes.

The order in which the tilesets appear in the map file should be irrelevant so I'd rather not introduce additional UI for having this option again. How hard would it be for you to use something else than the tileset order to determine when to load each tileset, like a custom tileset property for example?

@jo26

This comment has been minimized.

Copy link

jo26 commented Jun 13, 2017

Well I'm using a plugin that loads TMX files, and I don't have the source to it. I think the plugin simply reads the tilesets in the order that they are listed in the file, incrementally. There are certain tilesets that I skip loading, and I think this is causing errors that didn't manifest before I installed Tiled 1.0 for some reason.

This may be more of an issue on how the plugin I'm using is reading the TMX file, and not necessarily Tiled's fault. Or it could be my own error. I'm gonna play around with it and see if I can find anything. I'll report back if I can figure out what went wrong on my end.

Regardless, I do miss the ability to organize my tilesets how I want. But I suppose it is a minor issue, and I can adjust.

Keep up the great work! Tiled is such a time saver!

@alaa-eddine

This comment has been minimized.

Copy link

alaa-eddine commented Nov 30, 2017

Just updated from Tiled 0.18 to 1.0.3 and noticed that the feature is missing it was driving me crazy :D
in my case, I was using the possibility to rearrange tab to optimize the work.
for example, this allows to arrange all interrior tilesets then exterrior , or putting the most used tilesets to the left so we don't have to scroll each time between all the imported tilesets to find the ones we are using ... we can live without it, but I think it can still make sense .

another usage I had with this, is that I put a special tileset at index zero, this allows me to handle a special set of tile in my code starting from index zero ... this is very specific tho, and I have a workaround for it as the special tileset is only imported once.

@bjorn

This comment has been minimized.

Copy link
Owner

bjorn commented Nov 30, 2017

Just updated from Tiled 0.18 to 1.0.3 and noticed that the feature is missing it was driving me crazy :D
in my case, I was using the possibility to rearrange tab to optimize the work.
for example, this allows to arrange all interrior tilesets then exterrior , or putting the most used tilesets to the left so we don't have to scroll each time between all the imported tilesets to find the ones we are using ... we can live without it, but I think it can still make sense .

Thanks for adding another note to this. I definitely agree we need to improve the efficiency of tileset selection, I'm just not sure if manual ordering is still the way to go now that all loaded tilesets are displayed. At least, it would currently be complex to implement since there are both embedded and external tilesets, and the view is not showing tilesets embedded in other loaded maps, since that would lead to a lot of duplicates.

Some alternative solutions I could think of:

  • Make the list of displayed tilesets manually controlled. So there's the complete list somewhere, and then you could put the ones you'd like to use in the tileset view (and control their order). I think this could work well in combination with support for Projects (#1665).

  • Have a kind of "pin this tileset" feature similar to the ability to pin tabs in a browser, where pinned tilesets are loaded again on startup and their order can be controlled. I'm unsure how feasible such a feature is on top of QTabBar though.

another usage I had with this, is that I put a special tileset at index zero, this allows me to handle a special set of tile in my code starting from index zero ... this is very specific tho, and I have a workaround for it as the special tileset is only imported once.

For this scenario I would say it's preferable to use a custom property to mark your custom tileset rather than its position in the map file.

@alaa-eddine

This comment has been minimized.

Copy link

alaa-eddine commented Nov 30, 2017

Make the list of displayed tilesets manually controlled. So there's the complete list somewhere, and then you could put the ones you'd like to use in the tileset view (and control their order). I think this could work well in combination with support for Projects (#1665).

This would be a perfect solution, the complete tilesets list could be showed in a checkboxes list, when you can select the visible ones, the arrangement could be done using tabs or within the checkboxes list ... then if a project is used, the checked tilesets list will represent the project tilesets.

@bjorn

This comment has been minimized.

Copy link
Owner

bjorn commented Dec 9, 2018

Feature also asked for on the Tiled forum. I've now put it on the roadmap so that it isn't forgotten when I get around to working on project support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment