From 0e04d2250baabfc22fe5555ddb22e82d0415ccae Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 7 Jul 2020 17:53:22 -0400 Subject: [PATCH] Ignore invalid metatiles in tileset editor when syncing --- src/ui/tileseteditor.cpp | 8 +++++--- src/ui/tileseteditormetatileselector.cpp | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ui/tileseteditor.cpp b/src/ui/tileseteditor.cpp index 3a9f33fd..aa58d533 100644 --- a/src/ui/tileseteditor.cpp +++ b/src/ui/tileseteditor.cpp @@ -106,9 +106,11 @@ void TilesetEditor::init(Project *project, Map *map) { } void TilesetEditor::selectMetatile(uint16_t metatileId) { - this->metatileSelector->select(metatileId); - QPoint pos = this->metatileSelector->getMetatileIdCoordsOnWidget(metatileId); - this->ui->scrollArea_Metatiles->ensureVisible(pos.x(), pos.y()); + if (Tileset::metatileIsValid(metatileId, this->primaryTileset, this->secondaryTileset)) { + this->metatileSelector->select(metatileId); + QPoint pos = this->metatileSelector->getMetatileIdCoordsOnWidget(metatileId); + this->ui->scrollArea_Metatiles->ensureVisible(pos.x(), pos.y()); + } } void TilesetEditor::setMap(Map *map) { diff --git a/src/ui/tileseteditormetatileselector.cpp b/src/ui/tileseteditormetatileselector.cpp index 24cb7716..31e34531 100644 --- a/src/ui/tileseteditormetatileselector.cpp +++ b/src/ui/tileseteditormetatileselector.cpp @@ -62,7 +62,7 @@ void TilesetEditorMetatileSelector::updateSelectedMetatile() { if (Tileset::metatileIsValid(metatileId, this->primaryTileset, this->secondaryTileset)) this->selectedMetatile = metatileId; else - this->selectedMetatile = 0; + this->selectedMetatile = Project::getNumMetatilesPrimary() + this->secondaryTileset->metatiles->length() - 1; emit selectedMetatileChanged(this->selectedMetatile); }