From cf9314eaa60271002f8bb8caf7e2e3d2b75c2d67 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 14 Jul 2020 03:02:01 -0400 Subject: [PATCH] Reflect palette changes in TE metatile selection --- include/ui/tileseteditortileselector.h | 2 ++ src/ui/tileseteditortileselector.cpp | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/include/ui/tileseteditortileselector.h b/include/ui/tileseteditortileselector.h index a207db08..8109cd88 100644 --- a/include/ui/tileseteditortileselector.h +++ b/include/ui/tileseteditortileselector.h @@ -14,6 +14,7 @@ public: this->paletteId = 0; this->xFlip = false; this->yFlip = false; + this->paletteChanged = false; setAcceptHoverEvents(true); } QPoint getSelectionDimensions(); @@ -48,6 +49,7 @@ private: int paletteId; bool xFlip; bool yFlip; + bool paletteChanged; void updateSelectedTiles(); uint16_t getTileId(int x, int y); QPoint getTileCoords(uint16_t); diff --git a/src/ui/tileseteditortileselector.cpp b/src/ui/tileseteditortileselector.cpp index 186a0248..8bd6dcfa 100644 --- a/src/ui/tileseteditortileselector.cpp +++ b/src/ui/tileseteditortileselector.cpp @@ -71,6 +71,7 @@ void TilesetEditorTileSelector::setTilesets(Tileset *primaryTileset, Tileset *se void TilesetEditorTileSelector::setPaletteId(int paletteId) { this->paletteId = paletteId; + this->paletteChanged = true; this->draw(); } @@ -118,6 +119,8 @@ QList TilesetEditorTileSelector::buildSelectedTiles(int width, int height, Tile tile = selected.at(index); tile.xflip ^= this->xFlip; tile.yflip ^= this->yFlip; + if (this->paletteChanged) + tile.palette = this->paletteId; if (this->xFlip) layerRow.prepend(tile); else @@ -145,6 +148,7 @@ QList TilesetEditorTileSelector::buildSelectedTiles(int width, int height, void TilesetEditorTileSelector::setExternalSelection(int width, int height, QList tiles) { this->externalSelection = true; + this->paletteChanged = false; this->externalSelectionWidth = width; this->externalSelectionHeight = height; this->externalSelectedTiles.clear();