diff --git a/forms/mainwindow.ui b/forms/mainwindow.ui index 40cb2c3f..eac8a866 100644 --- a/forms/mainwindow.ui +++ b/forms/mainwindow.ui @@ -202,6 +202,12 @@ Qt::Horizontal + + + 1 + 0 + + QFrame::StyledPanel @@ -580,6 +586,12 @@ + + + 0 + 0 + + QFrame::StyledPanel diff --git a/forms/tileseteditor.ui b/forms/tileseteditor.ui index 78d65ad8..7d9f3405 100644 --- a/forms/tileseteditor.ui +++ b/forms/tileseteditor.ui @@ -30,6 +30,21 @@ + + 0 + + + 0 + + + 0 + + + 0 + + + 6 + @@ -138,6 +153,70 @@ 0 + + + + Metatile Properties + + + false + + + false + + + + + + Bottom/Top + + + + + + + Metatile Behavior + + + + + + + + + + Layer Type + + + + + + + + + + + 66 + 34 + + + + + 66 + 34 + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + + + + @@ -164,6 +243,16 @@ + + + + Qt::LeftToRight + + + + + + @@ -171,6 +260,13 @@ + + + + + + + @@ -184,24 +280,7 @@ - - - - Qt::LeftToRight - - - - - - - - - - - - - - + @@ -211,7 +290,7 @@ - 34 + 66 34 @@ -229,70 +308,6 @@ - - - - Metatile Properties - - - false - - - false - - - - - - Bottom/Top - - - - - - - - 66 - 34 - - - - - 66 - 34 - - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - - - - - Metatile Behavior - - - - - - - - - - Layer Type - - - - - - - - - @@ -311,6 +326,18 @@ + + 0 + + + 0 + + + 0 + + + 0 + diff --git a/include/ui/metatilelayersitem.h b/include/ui/metatilelayersitem.h index 0417f907..58d264ad 100644 --- a/include/ui/metatilelayersitem.h +++ b/include/ui/metatilelayersitem.h @@ -9,7 +9,7 @@ class MetatileLayersItem: public SelectablePixmapItem { Q_OBJECT public: - MetatileLayersItem(Metatile *metatile, Tileset *primaryTileset, Tileset *secondaryTileset): SelectablePixmapItem(16, 16, 2, 2) { + MetatileLayersItem(Metatile *metatile, Tileset *primaryTileset, Tileset *secondaryTileset): SelectablePixmapItem(16, 16, 4, 2) { this->metatile = metatile; this->primaryTileset = primaryTileset; this->secondaryTileset = secondaryTileset; diff --git a/include/ui/tileseteditortileselector.h b/include/ui/tileseteditortileselector.h index 43eb1fbc..f20bbe5d 100644 --- a/include/ui/tileseteditortileselector.h +++ b/include/ui/tileseteditortileselector.h @@ -7,7 +7,7 @@ class TilesetEditorTileSelector: public SelectablePixmapItem { Q_OBJECT public: - TilesetEditorTileSelector(Tileset *primaryTileset, Tileset *secondaryTileset): SelectablePixmapItem(16, 16, 2, 2) { + TilesetEditorTileSelector(Tileset *primaryTileset, Tileset *secondaryTileset): SelectablePixmapItem(16, 16, 4, 2) { this->primaryTileset = primaryTileset; this->secondaryTileset = secondaryTileset; this->numTilesWide = 16; diff --git a/src/ui/tileseteditor.cpp b/src/ui/tileseteditor.cpp index fe741d54..05432e09 100644 --- a/src/ui/tileseteditor.cpp +++ b/src/ui/tileseteditor.cpp @@ -195,21 +195,17 @@ void TilesetEditor::onSelectedTilesChanged() { void TilesetEditor::onMetatileLayerTileChanged(int x, int y) { Metatile *prevMetatile = this->metatile->copy(); - int maxTileIndex = x < 2 ? 3 : 7; QPoint dimensions = this->tileSelector->getSelectionDimensions(); QList tiles = this->tileSelector->getSelectedTiles(); int selectedTileIndex = 0; for (int j = 0; j < dimensions.y(); j++) { for (int i = 0; i < dimensions.x(); i++) { int tileIndex = ((x + i) / 2 * 4) + ((y + j) * 2) + ((x + i) % 2); - if (tileIndex <= maxTileIndex) { - Tile tile = this->metatile->tiles->at(tileIndex); - tile.tile = tiles.at(selectedTileIndex).tile; - tile.xflip = tiles.at(selectedTileIndex).xflip; - tile.yflip = tiles.at(selectedTileIndex).yflip; - tile.palette = tiles.at(selectedTileIndex).palette; - (*this->metatile->tiles)[tileIndex] = tile; - } + Tile *tile = &(*this->metatile->tiles)[tileIndex]; + tile->tile = tiles.at(selectedTileIndex).tile; + tile->xflip = tiles.at(selectedTileIndex).xflip; + tile->yflip = tiles.at(selectedTileIndex).yflip; + tile->palette = tiles.at(selectedTileIndex).palette; selectedTileIndex++; } }