From b14d8b8a881a42f0fa408b28bd6e6be79381e598 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 10 Sep 2022 12:33:25 -0500 Subject: [PATCH] Add vlidation for metatile id range --- src/ui/prefab.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ui/prefab.cpp b/src/ui/prefab.cpp index 4d94e495..ea3e01a7 100644 --- a/src/ui/prefab.cpp +++ b/src/ui/prefab.cpp @@ -69,11 +69,14 @@ void Prefab::loadPrefabs() { if (x < 0 || x >= width || y < 0 || y >= height) continue; int index = y * width + x; - selection.metatileItems[index].enabled = true; + int metatileId = metatileObj["metatile_id"].toInt(); + if (metatileId < 0 || metatileId >= Project::getNumMetatilesTotal()) + continue; selection.metatileItems[index].metatileId = metatileObj["metatile_id"].toInt(); - selection.collisionItems[index].enabled = true; selection.collisionItems[index].collision = metatileObj["collision"].toInt(); selection.collisionItems[index].elevation = metatileObj["elevation"].toInt(); + selection.metatileItems[index].enabled = true; + selection.collisionItems[index].enabled = true; } this->items.append(PrefabItem{QUuid::createUuid(), name, primaryTileset, secondaryTileset, selection});