Skip to content

Commit baed0ce

Browse files
committed
Tileset: Added isPalettedFormat() so you don't have to check manually
1 parent 9e0f966 commit baed0ce

7 files changed

Lines changed: 24 additions & 21 deletions

File tree

canvas.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ void Canvas::RedrawTile(int row, int column)
153153
QPixmap pix;
154154
QTransform trans= QTransform();
155155

156-
if (project.tileset.format == Tileset::GBA_4bpp)
156+
if (project.tileset.isPalettedFormat())
157157
{
158158
//Clamp 256 color indexes to 16 colors of one of 16 palettes
159159
QImage pix_tf= project.tileset.tiles[ttile->tileset_offset];
@@ -216,7 +216,7 @@ void Canvas::OpenContextMenu(QPoint screen_pos, QPoint canvas_pos)
216216
context_menu_palette_sel->addAction(""+QString::number(i));
217217
}
218218
connect(context_menu_palette_sel, &QMenu::triggered, this, &Canvas::onMenuChangePal_triggered);
219-
context_menu_palette_sel->setEnabled(project.tileset.format == Tileset::GBA_4bpp);
219+
context_menu_palette_sel->setEnabled(project.tileset.isPalettedFormat());
220220
context_menu->addAction("Flip tile horizontally");
221221
context_menu->actions().last()->setCheckable(true);
222222
context_menu->actions().last()->setChecked(tiles[tilen].hflip);
@@ -417,7 +417,7 @@ QImage Canvas::GetImage()
417417
for (int ix=0; ix<TILE_W; ix++)
418418
{
419419
unsigned char pixel= tile_scanline[ix];
420-
if (project.tileset.format == Tileset::GBA_4bpp)
420+
if (project.tileset.isPalettedFormat())
421421
pixel= tiles[tm_ti].palette_index*PALETTE_W+pixel%PALETTE_W;
422422

423423
if (!tiles[tm_ti].hflip)

exportdialog.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ ExportDialog::ExportDialog(QWidget *parent)
1212
{
1313
ui->setupUi(this);
1414

15-
ui->rdbGBA4bpp->setChecked(project.tileset.format == Tileset::GBA_4bpp);
16-
ui->rdbGBA8bpp->setChecked(project.tileset.format == Tileset::GBA_8bpp);
15+
ui->rdbGBA4bpp->setChecked(project.tileset.isPalettedFormat());
16+
ui->rdbGBA8bpp->setChecked(!project.tileset.isPalettedFormat());
1717
}
1818

1919
ExportDialog::~ExportDialog()

mainwindow.cpp

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -78,17 +78,7 @@ void MainWindow::ChangeTileFormat(Tileset::tile_format_t format)
7878
ui->actionGBA_8bpp->setChecked(format==Tileset::GBA_8bpp);
7979
ui->actionGBA_4bpp->setChecked(format==Tileset::GBA_4bpp);
8080

81-
switch (format)
82-
{
83-
case Tileset::GBA_4bpp:
84-
ui->actionTilePicker_selected_pal->setEnabled(true);
85-
break;
86-
case Tileset::GBA_8bpp:
87-
ui->actionTilePicker_selected_pal->setEnabled(false);
88-
break;
89-
default:
90-
break;
91-
}
81+
ui->actionTilePicker_selected_pal->setEnabled(project.tileset.isPalettedFormat());
9282

9383
if (project.editor_canvas)
9484
project.editor_canvas->Redraw();
@@ -202,7 +192,7 @@ void MainWindow::on_actionOptimize_tileset_triggered()
202192
QMessageBox::critical(this, "Optimize tileset", "Please import a tileset first!");
203193
return;
204194
}
205-
unsigned int optiflags= OptimizeDialog(this).GetFlags(project.tileset.format==Tileset::GBA_4bpp);
195+
unsigned int optiflags= OptimizeDialog(this).GetFlags(project.tileset.isPalettedFormat());
206196
if (!(optiflags&0x80))
207197
return; //User rejected on the dialog
208198
project.tileset.tiles= project.tileset.Optimized(&project.editor_canvas->tiles, optiflags&0x7F);
@@ -278,7 +268,7 @@ void MainWindow::on_actionGBA_4bpp_triggered()
278268

279269
void MainWindow::on_actionTilePicker_selected_pal_triggered()
280270
{
281-
if (isTilePicker_ViewSelPal() && project.tileset.format == Tileset::GBA_4bpp)
271+
if (isTilePicker_ViewSelPal() && project.tileset.isPalettedFormat())
282272
dckTilePicker->Update();
283273
}
284274

paletteedit.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ void PaletteEdit::Update()
4444
int lumarand= rand()%32;
4545
bru_bg.setColor(QColor::fromRgb(lumarand*8, lumarand*8, lumarand*8));
4646
}
47-
if (project.tileset.format == Tileset::GBA_4bpp)
47+
if (project.tileset.isPalettedFormat())
4848
{
4949
if (project.paltable_current_row == iy && project.paltable_current_column == ix)
5050
bru_bg.setStyle(Qt::Dense3Pattern);
@@ -61,7 +61,7 @@ void PaletteEdit::Update()
6161
bru_bg.setStyle(Qt::SolidPattern);
6262
}
6363
item->setBackground(bru_bg);
64-
if (project.tileset.format == Tileset::GBA_4bpp)
64+
if (project.tileset.isPalettedFormat())
6565
item->setToolTip("Pal #"+QString::number(iy)+": "+QString::number(ix));
6666
else
6767
item->setToolTip("Index: "+QString::number(ix+iy*PALETTE_W));

tile.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,3 +223,14 @@ void Tileset::UpdatePalettes()
223223
tiles[it].setColorTable(palette);
224224
}
225225
}
226+
227+
bool Tileset::isPalettedFormat()
228+
{
229+
switch (format)
230+
{
231+
case Tileset::GBA_4bpp:
232+
return true;
233+
default:
234+
return false;
235+
}
236+
}

tile.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ class Tileset
5151
void UpdatePalettes();
5252
QVector<QImage> Optimized(QList<Tile>* tilemap, Tileset::optimize_flags_t optiflags);
5353
void RebuildTilesetImage(int columns=16);
54+
55+
bool isPalettedFormat();
5456
};
5557

5658
#endif // TILE_HPP

tilepicker.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ void TilePicker::Update()
4141
break;
4242

4343
QPixmap pix;
44-
if (main_window->isTilePicker_ViewSelPal() && project.tileset.format == Tileset::GBA_4bpp)
44+
if (main_window->isTilePicker_ViewSelPal() && project.tileset.isPalettedFormat())
4545
{
4646
QImage timg= project.tileset.tiles[tindex];
4747
//Alter image pixels to clamp it to a 16 bit palette

0 commit comments

Comments
 (0)