Skip to content
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

Automapping: Allow ignoring flip flags #3803

Closed
eishiya opened this issue Aug 7, 2023 · 0 comments · Fixed by #3916
Closed

Automapping: Allow ignoring flip flags #3803

eishiya opened this issue Aug 7, 2023 · 0 comments · Fixed by #3916
Labels
feature It's a feature, not a bug.

Comments

@eishiya
Copy link
Contributor

eishiya commented Aug 7, 2023

Problem

In some Automapping applications, one may need to react to the presence of tiles and their various orientations. For example, a rule looking for RPG grass may need to look for any of 4 grass tiles, plus their horizontal flips, and maybe even also their vertical flips. A rule looking at floors made up of ceramic tiles might need to accept all possible orientations - that's 8 versions of each tile! Currently, rules need input layers for each of these orientations, which is rather tedious (even with scripts to help!), and makes the rules rather unwieldy. Here's an example rule that needs to look at 12 different tiles which are allowed to be rotated vertically and horizontally, requiring 48 layers in total:
image
I have another pair of rule maps with 80 input layers looking for 20 tiles and allowing for horizontal and vertical flipping, I loathe looking at them, as they predate Automapping supporting groups and are thus chaos :]

Proposal

Properties on input layers that tell Tiled to ignore the flip flags of tiles on that layer would greatly reduce the number of layers (and work!) needed to enumerate tiles for rules like this. Ideally, it should be possible to specify allowing horizontal flips, vertical flips, and rotations separately, e.g. with three boolean properties: ignoreHorizontalFlip, ignoreVerticalFlip, ignoreRotation.

If only some tiles need to ignore some flags, they would need to be placed on separate input layers from those that don't need to ignore flags or ignore different flags. I think even in these cases, the total number of layers will likely be reduced compared to enumerating the allowed orientations manually.

When implementing ignoring rotation, don't forget to include the hex 120 rotation flag, so that this feature can work fully when Automapping is finally fixed for staggered maps xP

@eishiya eishiya added the feature It's a feature, not a bug. label Aug 7, 2023
bjorn added a commit to bjorn/tiled-dev that referenced this issue Mar 21, 2024
bjorn added a commit to bjorn/tiled-dev that referenced this issue Mar 22, 2024
This can greatly reduce the number of layers necessary to describe all
matching input tiles.

Closes mapeditor#3803
bjorn added a commit to bjorn/tiled-dev that referenced this issue Mar 22, 2024
This can greatly reduce the number of layers necessary to describe all
matching input tiles.

Closes mapeditor#3803
bjorn added a commit to bjorn/tiled-dev that referenced this issue Mar 22, 2024
This can greatly reduce the number of layers necessary to describe all
matching input tiles.

Closes mapeditor#3803
bjorn added a commit that referenced this issue Mar 22, 2024
This can greatly reduce the number of layers necessary to describe all
matching input tiles.

Closes #3803
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature It's a feature, not a bug.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant