is_secondary to bool

This commit is contained in:
GriffinR 2022-10-23 23:38:27 -04:00
parent 1728e708dd
commit 5ba3720405
4 changed files with 11 additions and 9 deletions

View file

@ -15,7 +15,7 @@ public:
public:
QString name;
QString is_secondary;
bool is_secondary;
QString tiles_label;
QString palettes_label;
QString metatiles_label;

View file

@ -128,19 +128,20 @@ QList<QRgb> Tileset::getPalette(int paletteId, Tileset *primaryTileset, Tileset
bool Tileset::appendToHeaders(QString root, QString friendlyName, bool usingAsm) {
QString headersFile = root + "/" + (usingAsm ? projectConfig.getFilePath(ProjectFilePath::tilesets_headers_asm)
: projectConfig.getFilePath(ProjectFilePath::tilesets_headers));
: projectConfig.getFilePath(ProjectFilePath::tilesets_headers));
QFile file(headersFile);
if (!file.open(QIODevice::WriteOnly | QIODevice::Append)) {
logError(QString("Could not write to file \"%1\"").arg(headersFile));
return false;
}
QString isSecondaryStr = this->is_secondary ? "TRUE" : "FALSE";
QString dataString = "\n";
if (usingAsm) {
// Append to asm file
dataString.append("\t.align 2\n");
dataString.append(QString("%1::\n").arg(this->name));
dataString.append("\t.byte TRUE @ is compressed\n");
dataString.append(QString("\t.byte %1 @ is secondary\n").arg(this->is_secondary));
dataString.append(QString("\t.byte %1 @ is secondary\n").arg(isSecondaryStr));
dataString.append("\t.2byte 0 @ padding\n");
dataString.append(QString("\t.4byte gTilesetTiles_%1\n").arg(friendlyName));
dataString.append(QString("\t.4byte gTilesetPalettes_%1\n").arg(friendlyName));
@ -156,7 +157,7 @@ bool Tileset::appendToHeaders(QString root, QString friendlyName, bool usingAsm)
// Append to C file
dataString.append(QString("const struct Tileset %1 =\n{\n").arg(this->name));
if (projectConfig.getTilesetsHaveIsCompressed()) dataString.append(" .isCompressed = TRUE,\n");
dataString.append(QString(" .isSecondary = %1,\n").arg(this->is_secondary));
dataString.append(QString(" .isSecondary = %1,\n").arg(isSecondaryStr));
dataString.append(QString(" .tiles = gTilesetTiles_%1,\n").arg(friendlyName));
dataString.append(QString(" .palettes = gTilesetPalettes_%1,\n").arg(friendlyName));
dataString.append(QString(" .metatiles = gMetatiles_%1,\n").arg(friendlyName));
@ -245,7 +246,7 @@ bool Tileset::appendToMetatiles(QString root, QString friendlyName, bool usingAs
// Example: for gTileset_DepartmentStore, returns "data/tilesets/secondary/department_store"
QString Tileset::getExpectedDir()
{
return Tileset::getExpectedDir(this->name, ParseUtil::gameStringToBool(this->is_secondary));
return Tileset::getExpectedDir(this->name, this->is_secondary);
}
QString Tileset::getExpectedDir(QString tilesetName, bool isSecondary)

View file

@ -1284,7 +1284,7 @@ void MainWindow::on_actionNew_Tileset_triggered() {
newSet.tilesImagePath = fullDirectoryPath + "/tiles.png";
newSet.metatiles_path = fullDirectoryPath + "/metatiles.bin";
newSet.metatile_attrs_path = fullDirectoryPath + "/metatile_attributes.bin";
newSet.is_secondary = createTilesetDialog->isSecondary ? "TRUE" : "FALSE";
newSet.is_secondary = createTilesetDialog->isSecondary;
int numMetaTiles = createTilesetDialog->isSecondary ? (Project::getNumTilesTotal() - Project::getNumTilesPrimary()) : Project::getNumTilesPrimary();
QImage tilesImage(":/images/blank_tileset.png");
editor->project->loadTilesetTiles(&newSet, tilesImage);

View file

@ -1062,7 +1062,7 @@ Tileset* Project::loadTileset(QString label, Tileset *tileset) {
tileset = new Tileset;
}
tileset->name = label;
tileset->is_secondary = values.value(memberMap.key("isSecondary"));
tileset->is_secondary = ParseUtil::gameStringToBool(values.value(memberMap.key("isSecondary")));
tileset->tiles_label = values.value(memberMap.key("tiles"));
tileset->palettes_label = values.value(memberMap.key("palettes"));
tileset->metatiles_label = values.value(memberMap.key("metatiles"));
@ -1078,7 +1078,7 @@ Tileset* Project::loadTileset(QString label, Tileset *tileset) {
}
const auto tilesetAttributes = structs[label];
tileset->name = label;
tileset->is_secondary = tilesetAttributes.value("isSecondary");
tileset->is_secondary = ParseUtil::gameStringToBool(tilesetAttributes.value("isSecondary"));
tileset->tiles_label = tilesetAttributes.value("tiles");
tileset->palettes_label = tilesetAttributes.value("palettes");
tileset->metatiles_label = tilesetAttributes.value("metatiles");
@ -1568,7 +1568,8 @@ void Project::loadTilesetMetatileLabels(Tileset* tileset) {
for (QString labelName : labels.keys()) {
int metatileId = labels[labelName];
// subtract Project::num_tiles_primary from secondary metatiles
Metatile *metatile = Tileset::getMetatile(metatileId - (ParseUtil::gameStringToBool(tileset->is_secondary) ? Project::num_tiles_primary : 0), tileset, nullptr);
int offset = tileset->is_secondary ? Project::num_tiles_primary : 0;
Metatile *metatile = Tileset::getMetatile(metatileId - offset, tileset, nullptr);
if (metatile) {
metatile->label = labelName.replace(tilesetPrefix, "");
} else {