tiled icon indicating copy to clipboard operation
tiled copied to clipboard

Add options to disable certain features

Open bjorn opened this issue 4 years ago • 4 comments

It happens quite often that you need to avoid using certain features, either because they are unsupported by your game or for any other reason. This can be quite tricky, for example it's easy to accidentally flip some tiles or to rotate some objects.

In addition, some features add UI elements which take up space. If a project does not use object templates, then the Template Editor view and the Insert Template tools could be hidden entirely. If rotation and scaling are disabled, the related properties can be hidden and no handles should be shown when using the Select Objects tool.

Now that Tiled supports projects (#1665), we have a good place to add a kind of "feature flags".

List of suggested features that could be toggled

  • Tile flipping (hopefully one setting for all flipping bits would suffice).
  • Object rotation
  • Tile object resizing
  • Tile Collision Editor
  • Terrain Tool and related view in Tile Editor
  • Wang Tool and related view in Tile Editor
  • Object Templates
  • Each layer type (tile layer, object layer, image layer, group layer)
  • ... (please comment if I'm missing anything you'd like to see!)

Of course, one question is what to do when an opened file already used any of the features that may be turned off. At the least, no data loss or crashes should be expected in this case, but you may not be able to edit the data covered by the disabled features.

bjorn avatar May 12 '20 15:05 bjorn

Would love to enable/disable: Single/multiple tilesets in a map

Other features, though in my opinion these feature's aren't really in the way even when not used: Changing map orientation, tile size, infinite, render order etc Snapping objects (old consoles such as nes, gameboy, etc heavily rely on the grid, so I guess this could be usefull for some?) Tile animations

EJlol avatar May 13 '20 12:05 EJlol

Tile flipping (hopefully one setting for all flipping bits would suffice).

Some retro consoles support a subset of the available flips. GBC and SNES support horizontal and vertical flips, but not diagonal/rotations, for example. It would be nice to see granular settings for this in Tiled, four checkboxes instead of one. Making sure that orthogonal and isometric projects can't ever save maps with the hex 120 flag set could simplify parsing, too.

When an existing document that uses a disabled setting is loaded, I think the user should be alerted and given options to fix the issues (where possible), or ignore them. I think this check can run every time the file is opened, if someone finds themselves opening and ignoring warnings about disabled features in a lot of files, then they may want to enable some of those features, or may want to make a separate project for the non-confirming files they're working on at this time. Perhaps for documents where "ignore" was chosen, the features should be enabled, so that edits can be made, though I can imagine this would make things complicated, requiring per-document disabling/enabling of features.

I'd love to disable Layer Offsetting. I only ever do it by accident, and it's not supported at all in my games. It's been less of an issue recently as I have scripted tools that get selected by default instead of the Offset Layers tool, but it's still a feature I worry about. I'd also not mind hiding the Shape Fill Tool from my toolbar, as I often get it confused with the rectangular select and find it useless. However, if it gains a feature to use Terrains, it might become useful...

I like the earlier suggestion to restrict map orientation, particularly if it it means that non-applicable settings such as stagger options and hex tile side length will be hidden or collapsed when irrelevant. Without that, I could take or leave it.

eishiya avatar Dec 13 '21 20:12 eishiya

Suggested on Discord: Options to hide specific Tools from the toolbars, since those can get rather cluttered.

In this case, I think it should only be a cosmetic hiding, and the tool should be available via its hotkey. Then, if the user never wants to enable the tool even by accident, then can also unset its hotkey.

Edit, another idea: I'd like to be able to disable embedding and exporting Tilesets. I don't embed tilesets, and the icons in the Tilesets panel push more useful icons off into the overflow menu when the panel is narrow.

eishiya avatar Jan 21 '23 13:01 eishiya

Was anything done towards this since opening?

I think my team would benefit from this, as we have some map designers who aren't exposed to much of how the map data is ingested and used in our engine, and there are some features of Tiled that are sometimes mistakenly used when they aren't supported, and it can be tricky to track down what specific feature of Tiled they have used that is causing some weird bug.

It would be great to be able to reduce the scope of these kinds of problems and reduce the overhead of things to remember/worry about misusing for designers.

Arcanorum avatar Sep 23 '23 14:09 Arcanorum