Add palette and flip selectors to tileset editor
This commit is contained in:
parent
0bc3513b15
commit
ffd769f7ed
9 changed files with 278 additions and 95 deletions
|
@ -25,7 +25,7 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>386</width>
|
<width>363</width>
|
||||||
<height>539</height>
|
<height>539</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -89,6 +89,114 @@
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QFrame" name="frame_2">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item alignment="Qt::AlignTop">
|
||||||
|
<widget class="QFrame" name="frame_4">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QFrame" name="frame_3">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout_3">
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Y Flip</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Palette</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="spinBox_paletteSelector"/>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>X Flip</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_xFlip">
|
||||||
|
<property name="layoutDirection">
|
||||||
|
<enum>Qt::LeftToRight</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_yFlip">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QFrame" name="frame_5">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QGraphicsView" name="graphicsView_selectedTile">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>32</width>
|
||||||
|
<height>32</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>32</width>
|
||||||
|
<height>32</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="verticalScrollBarPolicy">
|
||||||
|
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||||
|
</property>
|
||||||
|
<property name="horizontalScrollBarPolicy">
|
||||||
|
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QScrollArea" name="scrollArea_Tiles">
|
<widget class="QScrollArea" name="scrollArea_Tiles">
|
||||||
<property name="widgetResizable">
|
<property name="widgetResizable">
|
||||||
|
@ -99,13 +207,13 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>386</width>
|
<width>363</width>
|
||||||
<height>539</height>
|
<height>415</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
<item row="1" column="0">
|
<item row="1" column="2">
|
||||||
<spacer name="horizontalSpacer_3">
|
<spacer name="horizontalSpacer_4">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -133,19 +241,6 @@
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QGraphicsView" name="graphicsView_Tiles"/>
|
<widget class="QGraphicsView" name="graphicsView_Tiles"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="2">
|
|
||||||
<spacer name="horizontalSpacer_4">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
<item row="2" column="1">
|
||||||
<spacer name="verticalSpacer_4">
|
<spacer name="verticalSpacer_4">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
@ -159,12 +254,39 @@
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<spacer name="horizontalSpacer_3">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QFrame" name="frame">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout"/>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
<widget class="QMenuBar" name="menubar">
|
<widget class="QMenuBar" name="menubar">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
|
|
|
@ -27,6 +27,7 @@ public:
|
||||||
static Tileset* getBlockTileset(int, Tileset*, Tileset*);
|
static Tileset* getBlockTileset(int, Tileset*, Tileset*);
|
||||||
static Metatile* getMetatile(int, Tileset*, Tileset*);
|
static Metatile* getMetatile(int, Tileset*, Tileset*);
|
||||||
static QList<QList<QRgb>> getBlockPalettes(Tileset*, Tileset*);
|
static QList<QList<QRgb>> getBlockPalettes(Tileset*, Tileset*);
|
||||||
|
static QList<QRgb> getPalette(int, Tileset*, Tileset*);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TILESET_H
|
#endif // TILESET_H
|
||||||
|
|
|
@ -10,6 +10,6 @@ QImage getCollisionMetatileImage(Block);
|
||||||
QImage getCollisionMetatileImage(int, int);
|
QImage getCollisionMetatileImage(int, int);
|
||||||
QImage getMetatileImage(uint16_t, Tileset*, Tileset*);
|
QImage getMetatileImage(uint16_t, Tileset*, Tileset*);
|
||||||
QImage getTileImage(uint16_t, Tileset*, Tileset*);
|
QImage getTileImage(uint16_t, Tileset*, Tileset*);
|
||||||
QImage getColoredTileImage(uint16_t, Tileset*, Tileset*, QList<QRgb>);
|
QImage getColoredTileImage(uint16_t, Tileset*, Tileset*, int);
|
||||||
|
|
||||||
#endif // IMAGEPROVIDERS_H
|
#endif // IMAGEPROVIDERS_H
|
||||||
|
|
|
@ -26,18 +26,30 @@ private slots:
|
||||||
void onHoveredTileCleared();
|
void onHoveredTileCleared();
|
||||||
void onSelectedTileChanged(uint16_t);
|
void onSelectedTileChanged(uint16_t);
|
||||||
|
|
||||||
|
void on_spinBox_paletteSelector_valueChanged(int arg1);
|
||||||
|
|
||||||
|
void on_checkBox_xFlip_stateChanged(int arg1);
|
||||||
|
|
||||||
|
void on_checkBox_yFlip_stateChanged(int arg1);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void initMetatileSelector();
|
void initMetatileSelector();
|
||||||
void initTileSelector();
|
void initTileSelector();
|
||||||
|
void initSelectedTileItem();
|
||||||
|
void drawSelectedTile();
|
||||||
Ui::TilesetEditor *ui;
|
Ui::TilesetEditor *ui;
|
||||||
TilesetEditorMetatileSelector *metatileSelector;
|
TilesetEditorMetatileSelector *metatileSelector;
|
||||||
TilesetEditorTileSelector *tileSelector;
|
TilesetEditorTileSelector *tileSelector;
|
||||||
Project *project;
|
Project *project;
|
||||||
uint paletteNum;
|
int paletteId;
|
||||||
|
bool tileXFlip;
|
||||||
|
bool tileYFlip;
|
||||||
QString primaryTilesetLabel;
|
QString primaryTilesetLabel;
|
||||||
QString secondaryTilesetLabel;
|
QString secondaryTilesetLabel;
|
||||||
QGraphicsScene *metatilesScene;
|
QGraphicsScene *metatilesScene = nullptr;
|
||||||
QGraphicsScene *tilesScene;
|
QGraphicsScene *tilesScene = nullptr;
|
||||||
|
QGraphicsScene *selectedTileScene = nullptr;
|
||||||
|
QGraphicsPixmapItem *selectedTilePixmapItem = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TILESETEDITOR_H
|
#endif // TILESETEDITOR_H
|
||||||
|
|
|
@ -11,13 +11,13 @@ public:
|
||||||
this->primaryTileset = primaryTileset;
|
this->primaryTileset = primaryTileset;
|
||||||
this->secondaryTileset = secondaryTileset;
|
this->secondaryTileset = secondaryTileset;
|
||||||
this->numTilesWide = 16;
|
this->numTilesWide = 16;
|
||||||
this->paletteNum = 0;
|
this->paletteId = 0;
|
||||||
setAcceptHoverEvents(true);
|
setAcceptHoverEvents(true);
|
||||||
}
|
}
|
||||||
void draw();
|
void draw();
|
||||||
void select(uint16_t metatileId);
|
void select(uint16_t metatileId);
|
||||||
void setTilesets(Tileset*, Tileset*);
|
void setTilesets(Tileset*, Tileset*);
|
||||||
void setPaletteNum(int);
|
void setPaletteId(int);
|
||||||
uint16_t getSelectedTile();
|
uint16_t getSelectedTile();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -32,7 +32,7 @@ private:
|
||||||
Tileset *secondaryTileset;
|
Tileset *secondaryTileset;
|
||||||
uint16_t selectedTile;
|
uint16_t selectedTile;
|
||||||
int numTilesWide;
|
int numTilesWide;
|
||||||
int paletteNum;
|
int paletteId;
|
||||||
void updateSelectedTile();
|
void updateSelectedTile();
|
||||||
uint16_t getTileId(int x, int y);
|
uint16_t getTileId(int x, int y);
|
||||||
QPoint getTileCoords(uint16_t);
|
QPoint getTileCoords(uint16_t);
|
||||||
|
|
|
@ -39,3 +39,14 @@ QList<QList<QRgb>> Tileset::getBlockPalettes(Tileset *primaryTileset, Tileset *s
|
||||||
}
|
}
|
||||||
return palettes;
|
return palettes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QList<QRgb> Tileset::getPalette(int paletteId, Tileset *primaryTileset, Tileset *secondaryTileset) {
|
||||||
|
QList<QRgb> paletteTable;
|
||||||
|
Tileset *tileset = paletteId < Project::getNumPalettesPrimary()
|
||||||
|
? primaryTileset
|
||||||
|
: secondaryTileset;
|
||||||
|
for (int i = 0; i < tileset->palettes->at(paletteId).length(); i++) {
|
||||||
|
paletteTable.append(tileset->palettes->at(paletteId).at(i));
|
||||||
|
}
|
||||||
|
return paletteTable;
|
||||||
|
}
|
||||||
|
|
|
@ -80,7 +80,8 @@ QImage getTileImage(uint16_t tile, Tileset *primaryTileset, Tileset *secondaryTi
|
||||||
return tileset->tiles->value(local_index, QImage());
|
return tileset->tiles->value(local_index, QImage());
|
||||||
}
|
}
|
||||||
|
|
||||||
QImage getColoredTileImage(uint16_t tile, Tileset *primaryTileset, Tileset *secondaryTileset, QList<QRgb> palette) {
|
QImage getColoredTileImage(uint16_t tile, Tileset *primaryTileset, Tileset *secondaryTileset, int paletteId) {
|
||||||
|
QList<QRgb> palette = Tileset::getPalette(paletteId, primaryTileset, secondaryTileset);
|
||||||
QImage tileImage = getTileImage(tile, primaryTileset, secondaryTileset);
|
QImage tileImage = getTileImage(tile, primaryTileset, secondaryTileset);
|
||||||
for (int i = 0; i < 16; i++) {
|
for (int i = 0; i < 16; i++) {
|
||||||
tileImage.setColor(i, palette.at(i));
|
tileImage.setColor(i, palette.at(i));
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include "tileseteditor.h"
|
#include "tileseteditor.h"
|
||||||
#include "ui_tileseteditor.h"
|
#include "ui_tileseteditor.h"
|
||||||
|
#include "imageproviders.h"
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
TilesetEditor::TilesetEditor(Project *project, QString primaryTilesetLabel, QString secondaryTilesetLabel, QWidget *parent) :
|
TilesetEditor::TilesetEditor(Project *project, QString primaryTilesetLabel, QString secondaryTilesetLabel, QWidget *parent) :
|
||||||
|
@ -9,11 +10,17 @@ TilesetEditor::TilesetEditor(Project *project, QString primaryTilesetLabel, QStr
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
this->project = project;
|
this->project = project;
|
||||||
|
|
||||||
|
this->tileXFlip = ui->checkBox_xFlip->isChecked();
|
||||||
|
this->tileYFlip = ui->checkBox_yFlip->isChecked();
|
||||||
|
this->paletteId = ui->spinBox_paletteSelector->value();
|
||||||
this->primaryTilesetLabel = primaryTilesetLabel;
|
this->primaryTilesetLabel = primaryTilesetLabel;
|
||||||
this->secondaryTilesetLabel = secondaryTilesetLabel;
|
this->secondaryTilesetLabel = secondaryTilesetLabel;
|
||||||
|
|
||||||
initMetatileSelector();
|
ui->spinBox_paletteSelector->setMinimum(0);
|
||||||
initTileSelector();
|
ui->spinBox_paletteSelector->setMaximum(Project::getNumPalettesTotal() - 1);
|
||||||
|
this->initMetatileSelector();
|
||||||
|
this->initTileSelector();
|
||||||
|
this->initSelectedTileItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
TilesetEditor::~TilesetEditor()
|
TilesetEditor::~TilesetEditor()
|
||||||
|
@ -63,6 +70,25 @@ void TilesetEditor::initTileSelector()
|
||||||
this->ui->graphicsView_Tiles->setFixedSize(this->tileSelector->pixmap().width() + 2, this->tileSelector->pixmap().height() + 2);
|
this->ui->graphicsView_Tiles->setFixedSize(this->tileSelector->pixmap().width() + 2, this->tileSelector->pixmap().height() + 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TilesetEditor::initSelectedTileItem() {
|
||||||
|
this->selectedTileScene = new QGraphicsScene;
|
||||||
|
this->drawSelectedTile();
|
||||||
|
this->ui->graphicsView_selectedTile->setScene(this->selectedTileScene);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TilesetEditor::drawSelectedTile() {
|
||||||
|
if (!this->selectedTileScene) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Tileset *primaryTileset = this->project->getTileset(this->primaryTilesetLabel);
|
||||||
|
Tileset *secondaryTileset = this->project->getTileset(this->secondaryTilesetLabel);
|
||||||
|
QImage tileImage = getColoredTileImage(this->tileSelector->getSelectedTile(), primaryTileset, secondaryTileset, this->paletteId)
|
||||||
|
.mirrored(this->tileXFlip, this->tileYFlip);
|
||||||
|
this->selectedTilePixmapItem = new QGraphicsPixmapItem(QPixmap::fromImage(tileImage).scaled(32, 32));
|
||||||
|
this->selectedTileScene->addItem(this->selectedTilePixmapItem);
|
||||||
|
}
|
||||||
|
|
||||||
void TilesetEditor::onHoveredMetatileChanged(uint16_t metatileId) {
|
void TilesetEditor::onHoveredMetatileChanged(uint16_t metatileId) {
|
||||||
QString message = QString("Metatile: 0x%1")
|
QString message = QString("Metatile: 0x%1")
|
||||||
.arg(QString("%1").arg(metatileId, 3, 16, QChar('0')).toUpper());
|
.arg(QString("%1").arg(metatileId, 3, 16, QChar('0')).toUpper());
|
||||||
|
@ -88,5 +114,24 @@ void TilesetEditor::onHoveredTileCleared() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void TilesetEditor::onSelectedTileChanged(uint16_t) {
|
void TilesetEditor::onSelectedTileChanged(uint16_t) {
|
||||||
|
this->drawSelectedTile();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TilesetEditor::on_spinBox_paletteSelector_valueChanged(int paletteId)
|
||||||
|
{
|
||||||
|
this->paletteId = paletteId;
|
||||||
|
this->tileSelector->setPaletteId(paletteId);
|
||||||
|
this->drawSelectedTile();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TilesetEditor::on_checkBox_xFlip_stateChanged(int checked)
|
||||||
|
{
|
||||||
|
this->tileXFlip = checked;
|
||||||
|
this->drawSelectedTile();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TilesetEditor::on_checkBox_yFlip_stateChanged(int checked)
|
||||||
|
{
|
||||||
|
this->tileYFlip = checked;
|
||||||
|
this->drawSelectedTile();
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,19 +13,19 @@ void TilesetEditorTileSelector::draw() {
|
||||||
int primaryLength = this->primaryTileset->tiles->length();
|
int primaryLength = this->primaryTileset->tiles->length();
|
||||||
int secondaryLength = this->secondaryTileset->tiles->length();
|
int secondaryLength = this->secondaryTileset->tiles->length();
|
||||||
int height = totalTiles / this->numTilesWide;
|
int height = totalTiles / this->numTilesWide;
|
||||||
QList<QRgb> palette = this->getCurPaletteTable();
|
QList<QRgb> palette = Tileset::getPalette(this->paletteId, this->primaryTileset, this->secondaryTileset);
|
||||||
QImage image(this->numTilesWide * 16, height * 16, QImage::Format_RGBA8888);
|
QImage image(this->numTilesWide * 16, height * 16, QImage::Format_RGBA8888);
|
||||||
|
|
||||||
QPainter painter(&image);
|
QPainter painter(&image);
|
||||||
for (uint16_t tile = 0; tile < totalTiles; tile++) {
|
for (uint16_t tile = 0; tile < totalTiles; tile++) {
|
||||||
QImage tileImage;
|
QImage tileImage;
|
||||||
if (tile < primaryLength) {
|
if (tile < primaryLength) {
|
||||||
tileImage = getColoredTileImage(tile, this->primaryTileset, this->secondaryTileset, palette).scaled(16, 16);
|
tileImage = getColoredTileImage(tile, this->primaryTileset, this->secondaryTileset, this->paletteId).scaled(16, 16);
|
||||||
} else if (tile < Project::getNumTilesPrimary()) {
|
} else if (tile < Project::getNumTilesPrimary()) {
|
||||||
tileImage = QImage(16, 16, QImage::Format_RGBA8888);
|
tileImage = QImage(16, 16, QImage::Format_RGBA8888);
|
||||||
tileImage.fill(palette.at(0));
|
tileImage.fill(palette.at(0));
|
||||||
} else if (tile < Project::getNumTilesPrimary() + secondaryLength) {
|
} else if (tile < Project::getNumTilesPrimary() + secondaryLength) {
|
||||||
tileImage = getColoredTileImage(tile, this->primaryTileset, this->secondaryTileset, palette).scaled(16, 16);
|
tileImage = getColoredTileImage(tile, this->primaryTileset, this->secondaryTileset, this->paletteId).scaled(16, 16);
|
||||||
} else {
|
} else {
|
||||||
tileImage = QImage(16, 16, QImage::Format_RGBA8888);
|
tileImage = QImage(16, 16, QImage::Format_RGBA8888);
|
||||||
QPainter painter(&tileImage);
|
QPainter painter(&tileImage);
|
||||||
|
@ -43,15 +43,6 @@ void TilesetEditorTileSelector::draw() {
|
||||||
this->drawSelection();
|
this->drawSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QRgb> TilesetEditorTileSelector::getCurPaletteTable() {
|
|
||||||
QList<QRgb> paletteTable;
|
|
||||||
for (int i = 0; i < this->primaryTileset->palettes->at(this->paletteNum).length(); i++) {
|
|
||||||
paletteTable.append(this->primaryTileset->palettes->at(this->paletteNum).at(i));
|
|
||||||
}
|
|
||||||
|
|
||||||
return paletteTable;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TilesetEditorTileSelector::select(uint16_t tile) {
|
void TilesetEditorTileSelector::select(uint16_t tile) {
|
||||||
QPoint coords = this->getTileCoords(tile);
|
QPoint coords = this->getTileCoords(tile);
|
||||||
SelectablePixmapItem::select(coords.x(), coords.y(), 0, 0);
|
SelectablePixmapItem::select(coords.x(), coords.y(), 0, 0);
|
||||||
|
@ -65,8 +56,8 @@ void TilesetEditorTileSelector::setTilesets(Tileset *primaryTileset, Tileset *se
|
||||||
this->draw();
|
this->draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TilesetEditorTileSelector::setPaletteNum(int paletteNum) {
|
void TilesetEditorTileSelector::setPaletteId(int paletteId) {
|
||||||
this->paletteNum = paletteNum;
|
this->paletteId = paletteId;
|
||||||
this->draw();
|
this->draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue