Skip to content

New metatile export options, metatile/tile image fixes#758

Merged
GriffinRichards merged 11 commits intohuderlem:devfrom
GriffinRichards:metatile-layers
Jul 25, 2025
Merged

New metatile export options, metatile/tile image fixes#758
GriffinRichards merged 11 commits intohuderlem:devfrom
GriffinRichards:metatile-layers

Conversation

@GriffinRichards
Copy link
Copy Markdown
Collaborator

@GriffinRichards GriffinRichards commented Jul 22, 2025

Additions/changes:

  • Adds an Export Metatiles Image... option to the Tileset Editor that provides many more options for customizing metatile images (Closes Add option to export metatile layer image #544).
  • Adds an Export Porytiles Layer Images option to the Tileset Editor, which is a shortcut for individually exporting layer images with the correct settings using the new Export Metatiles Image... window.
  • Adds new API functions to set the default metatile layer order and opacity for all maps, rather than just for individual maps.
  • Adds a setting to change the width of the metatile selectors.
  • Additional tile information (palette, xflip, yflip) is now displayed when hovering over tiles in the Tileset Editor.
  • The map image exporter now uses a checkered background to indicate transparency.

Fixes:

  • Fix crash when rendering tiles with invalid palette numbers.
  • Fix crash when opening the Tileset Editor for tilesets with no metatiles.
  • Fix display errors when a project's metatile limits are not divisible by 8 (Closes Metatile selectors mishandle certain metatile amounts #757).
  • Fix incorrect dividing line position for primary tiles images that are smaller than the maximum size.
  • Fix the checkered background of the Change Dimensions popup shifting while scrolling around (Closes Checked background shifts on map resizing screen #739).
  • Fix Tileset Editor's tile selector poor performance due to it redrawing too frequently.
  • Fix Undo/Redo ignoring the automatic resizing that occurs if a layout/border was an unexpected size.

Internally, there were a lot of changes to move away from explicit image sizes. In particular there are now constants to represent the pixel size of tiles, the tile size of metatiles, and various other sizes that inherit from these two.

if (!filepath.isEmpty()) {
QImage image = this->metatileSelector->buildPrimaryMetatilesImage();
image.save(filepath, "PNG");
void TilesetEditor::exportPorytilesLayerImages(Tileset *tileset) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@GriffinRichards GriffinRichards merged commit 647e595 into huderlem:dev Jul 25, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants