mapeditor / tiled

Flexible level editor
https://www.mapeditor.org/
Other
11.26k stars 1.76k forks source link

docs: Various corrections to the Automapping page #4069

Closed bjorn closed 1 month ago

bjorn commented 1 month ago

Thanks to eishiya for their help.

eishiya commented 1 month ago

Removed the note about DeleteTiles in 'Updating Legacy Rules' Because no action is required, in fact.

Just for posterity, I'd like to elaborate on this: DeleteTiles behaves very differently from MatchType Empty tiles, or indeed any other Automapping feature. It deletes tiles on all output layers if there is any tile in any input later at that location. It does this before checking the individual rules, meaning it can delete tiles even if no rules match.

While identical results can be created using MatchType Empty tiles, the way to do this can get tedious for rules with many input layers or input indices, and though not very complicated in practice, it's complicated to explain in a way that covers all scenarios. For the specific functionality that DeleteTiles has, DeleteTiles is the best option, even in the 1.9+ Automapping system.

However, we still recommend using MatchType Empty as part of regular outputs for erasing tiles in new rules you create, as they will almost always behave more intuitively than DeleteTiles, and are more clear visually. Even for deleting tiles en masse, it's often preferable to create a rule like input_Target with a MatchType Ignore tile and output_Target with a MatchType Empty tile. DeleteTiles should be used when you specifically want to delete tiles from all output layers when any of several inputs have any time in them.