is_secondary to bool
This commit is contained in:
parent
1728e708dd
commit
5ba3720405
4 changed files with 11 additions and 9 deletions
|
@ -15,7 +15,7 @@ public:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QString name;
|
QString name;
|
||||||
QString is_secondary;
|
bool is_secondary;
|
||||||
QString tiles_label;
|
QString tiles_label;
|
||||||
QString palettes_label;
|
QString palettes_label;
|
||||||
QString metatiles_label;
|
QString metatiles_label;
|
||||||
|
|
|
@ -128,19 +128,20 @@ QList<QRgb> Tileset::getPalette(int paletteId, Tileset *primaryTileset, Tileset
|
||||||
|
|
||||||
bool Tileset::appendToHeaders(QString root, QString friendlyName, bool usingAsm) {
|
bool Tileset::appendToHeaders(QString root, QString friendlyName, bool usingAsm) {
|
||||||
QString headersFile = root + "/" + (usingAsm ? projectConfig.getFilePath(ProjectFilePath::tilesets_headers_asm)
|
QString headersFile = root + "/" + (usingAsm ? projectConfig.getFilePath(ProjectFilePath::tilesets_headers_asm)
|
||||||
: projectConfig.getFilePath(ProjectFilePath::tilesets_headers));
|
: projectConfig.getFilePath(ProjectFilePath::tilesets_headers));
|
||||||
QFile file(headersFile);
|
QFile file(headersFile);
|
||||||
if (!file.open(QIODevice::WriteOnly | QIODevice::Append)) {
|
if (!file.open(QIODevice::WriteOnly | QIODevice::Append)) {
|
||||||
logError(QString("Could not write to file \"%1\"").arg(headersFile));
|
logError(QString("Could not write to file \"%1\"").arg(headersFile));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
QString isSecondaryStr = this->is_secondary ? "TRUE" : "FALSE";
|
||||||
QString dataString = "\n";
|
QString dataString = "\n";
|
||||||
if (usingAsm) {
|
if (usingAsm) {
|
||||||
// Append to asm file
|
// Append to asm file
|
||||||
dataString.append("\t.align 2\n");
|
dataString.append("\t.align 2\n");
|
||||||
dataString.append(QString("%1::\n").arg(this->name));
|
dataString.append(QString("%1::\n").arg(this->name));
|
||||||
dataString.append("\t.byte TRUE @ is compressed\n");
|
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("\t.2byte 0 @ padding\n");
|
||||||
dataString.append(QString("\t.4byte gTilesetTiles_%1\n").arg(friendlyName));
|
dataString.append(QString("\t.4byte gTilesetTiles_%1\n").arg(friendlyName));
|
||||||
dataString.append(QString("\t.4byte gTilesetPalettes_%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
|
// Append to C file
|
||||||
dataString.append(QString("const struct Tileset %1 =\n{\n").arg(this->name));
|
dataString.append(QString("const struct Tileset %1 =\n{\n").arg(this->name));
|
||||||
if (projectConfig.getTilesetsHaveIsCompressed()) dataString.append(" .isCompressed = TRUE,\n");
|
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(" .tiles = gTilesetTiles_%1,\n").arg(friendlyName));
|
||||||
dataString.append(QString(" .palettes = gTilesetPalettes_%1,\n").arg(friendlyName));
|
dataString.append(QString(" .palettes = gTilesetPalettes_%1,\n").arg(friendlyName));
|
||||||
dataString.append(QString(" .metatiles = gMetatiles_%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"
|
// Example: for gTileset_DepartmentStore, returns "data/tilesets/secondary/department_store"
|
||||||
QString Tileset::getExpectedDir()
|
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)
|
QString Tileset::getExpectedDir(QString tilesetName, bool isSecondary)
|
||||||
|
|
|
@ -1284,7 +1284,7 @@ void MainWindow::on_actionNew_Tileset_triggered() {
|
||||||
newSet.tilesImagePath = fullDirectoryPath + "/tiles.png";
|
newSet.tilesImagePath = fullDirectoryPath + "/tiles.png";
|
||||||
newSet.metatiles_path = fullDirectoryPath + "/metatiles.bin";
|
newSet.metatiles_path = fullDirectoryPath + "/metatiles.bin";
|
||||||
newSet.metatile_attrs_path = fullDirectoryPath + "/metatile_attributes.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();
|
int numMetaTiles = createTilesetDialog->isSecondary ? (Project::getNumTilesTotal() - Project::getNumTilesPrimary()) : Project::getNumTilesPrimary();
|
||||||
QImage tilesImage(":/images/blank_tileset.png");
|
QImage tilesImage(":/images/blank_tileset.png");
|
||||||
editor->project->loadTilesetTiles(&newSet, tilesImage);
|
editor->project->loadTilesetTiles(&newSet, tilesImage);
|
||||||
|
|
|
@ -1062,7 +1062,7 @@ Tileset* Project::loadTileset(QString label, Tileset *tileset) {
|
||||||
tileset = new Tileset;
|
tileset = new Tileset;
|
||||||
}
|
}
|
||||||
tileset->name = label;
|
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->tiles_label = values.value(memberMap.key("tiles"));
|
||||||
tileset->palettes_label = values.value(memberMap.key("palettes"));
|
tileset->palettes_label = values.value(memberMap.key("palettes"));
|
||||||
tileset->metatiles_label = values.value(memberMap.key("metatiles"));
|
tileset->metatiles_label = values.value(memberMap.key("metatiles"));
|
||||||
|
@ -1078,7 +1078,7 @@ Tileset* Project::loadTileset(QString label, Tileset *tileset) {
|
||||||
}
|
}
|
||||||
const auto tilesetAttributes = structs[label];
|
const auto tilesetAttributes = structs[label];
|
||||||
tileset->name = 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->tiles_label = tilesetAttributes.value("tiles");
|
||||||
tileset->palettes_label = tilesetAttributes.value("palettes");
|
tileset->palettes_label = tilesetAttributes.value("palettes");
|
||||||
tileset->metatiles_label = tilesetAttributes.value("metatiles");
|
tileset->metatiles_label = tilesetAttributes.value("metatiles");
|
||||||
|
@ -1568,7 +1568,8 @@ void Project::loadTilesetMetatileLabels(Tileset* tileset) {
|
||||||
for (QString labelName : labels.keys()) {
|
for (QString labelName : labels.keys()) {
|
||||||
int metatileId = labels[labelName];
|
int metatileId = labels[labelName];
|
||||||
// subtract Project::num_tiles_primary from secondary metatiles
|
// 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) {
|
if (metatile) {
|
||||||
metatile->label = labelName.replace(tilesetPrefix, "");
|
metatile->label = labelName.replace(tilesetPrefix, "");
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue