porymap/src/core/maplayout.cpp
garak 601e671fc8 add options to count metatiles to tileset editor
- count the total number of usages across all maps of specific metatiles
- display the count and/or display unused metatiles
- this does not account for metatiles used in code (most of these are labeled)
2021-07-22 12:23:21 -04:00

32 lines
966 B
C++

#include "maplayout.h"
#include <QRegularExpression>
QString MapLayout::layoutConstantFromName(QString mapName) {
// Transform map names of the form 'GraniteCave_B1F` into layout constants like 'LAYOUT_GRANITE_CAVE_B1F'.
QString nameWithUnderscores = mapName.replace(QRegularExpression("([a-z])([A-Z])"), "\\1_\\2");
QString withMapAndUppercase = "LAYOUT_" + nameWithUnderscores.toUpper();
QString constantName = withMapAndUppercase.replace(QRegularExpression("_+"), "_");
// Handle special cases.
// SSTidal should be SS_TIDAL, rather than SSTIDAL
constantName = constantName.replace("SSTIDAL", "SS_TIDAL");
return constantName;
}
int MapLayout::getWidth() {
return width.toInt(nullptr, 0);
}
int MapLayout::getHeight() {
return height.toInt(nullptr, 0);
}
int MapLayout::getBorderWidth() {
return border_width.toInt(nullptr, 0);
}
int MapLayout::getBorderHeight() {
return border_height.toInt(nullptr, 0);
}