Read tileset headers from C data

This commit is contained in:
GriffinR
2022-09-27 20:17:55 -04:00
committed by Marcus Huderle
parent ebdf22145d
commit efd49cd544
11 changed files with 261 additions and 201 deletions

View File

@@ -154,6 +154,9 @@ enum ProjectFilePath {
tilesets_headers,
tilesets_graphics,
tilesets_metatiles,
tilesets_headers_asm,
tilesets_graphics_asm,
tilesets_metatiles_asm,
data_obj_event_gfx_pointers,
data_obj_event_gfx_info,
data_obj_event_pic_tables,

View File

@@ -69,7 +69,8 @@ public:
static QString removeLineComments(QString text, const QStringList &commentSymbols);
static QStringList splitShellCommand(QStringView command);
static QMap<QString, QMap<QString, QString>> readCStructs(const QString &filePath, const QHash<int, QString> memberMap = { });
static bool gameStringToBool(QString gameString);
static QMap<QString, QMap<QString, QString>> readCStructs(const QString &filePath, const QString &target = "", const QHash<int, QString> memberMap = { });
private:
QString root;

View File

@@ -15,14 +15,11 @@ public:
public:
QString name;
QString is_compressed;
QString is_secondary;
QString padding;
QString tiles_label;
QString palettes_label;
QString metatiles_label;
QString metatiles_path;
QString callback_label;
QString metatile_attrs_label;
QString metatile_attrs_path;
QString tilesImagePath;
@@ -41,9 +38,9 @@ public:
static QList<QRgb> getPalette(int, Tileset*, Tileset*, bool useTruePalettes = false);
static bool metatileIsValid(uint16_t metatileId, Tileset *, Tileset *);
bool appendToHeaders(QString headerFile, QString friendlyName);
bool appendToGraphics(QString graphicsFile, QString friendlyName, bool primary);
bool appendToMetatiles(QString metatileFile, QString friendlyName, bool primary);
bool appendToHeaders(QString root, QString friendlyName, bool usingAsm);
bool appendToGraphics(QString root, QString friendlyName, bool primary, bool usingAsm);
bool appendToMetatiles(QString root, QString friendlyName, bool primary, bool usingAsm);
};
#endif // TILESET_H

View File

@@ -81,6 +81,7 @@ public:
ParseUtil parser;
QFileSystemWatcher fileWatcher;
QMap<QString, qint64> modifiedFileTimestamps;
bool usingAsmTilesets;
void set_root(QString);
@@ -105,7 +106,7 @@ public:
Tileset* loadTileset(QString, Tileset *tileset = nullptr);
Tileset* getTileset(QString, bool forceLoad = false);
QMap<QString, QStringList> tilesetLabels;
QList<QString> tilesetLabelsOrdered;
QStringList tilesetLabelsOrdered;
Blockdata readBlockdata(QString);
bool loadBlockdata(MapLayout*);
@@ -143,6 +144,8 @@ public:
void loadTilesetTiles(Tileset*, QImage);
void loadTilesetMetatiles(Tileset*);
void loadTilesetMetatileLabels(Tileset*);
void loadTilesetPalettes(Tileset*);
void readTilesetPaths(Tileset* tileset);
void saveLayoutBlockdata(Map*);
void saveLayoutBorder(Map*);
@@ -164,7 +167,7 @@ public:
QString defaultSong;
QStringList getVisibilities();
QMap<QString, QStringList> getTilesetLabels();
bool readTilesetLabels();
bool readTilesetProperties();
bool readMaxMapDataSize();
bool readRegionMapSections();