mirror of
https://github.com/huderlem/porymap.git
synced 2026-08-22 16:46:45 -05:00
Fix memory leaks in Tileset
This commit is contained in:
@@ -10,7 +10,7 @@ class MetatileParser
|
||||
{
|
||||
public:
|
||||
MetatileParser();
|
||||
QList<Metatile*> *parse(QString filepath, bool *error, bool primaryTileset);
|
||||
QList<Metatile*> parse(QString filepath, bool *error, bool primaryTileset);
|
||||
};
|
||||
|
||||
#endif // METATILEPARSER_H
|
||||
|
||||
@@ -6,8 +6,20 @@
|
||||
class Tile
|
||||
{
|
||||
public:
|
||||
Tile() {}
|
||||
Tile(int tile, bool xflip, bool yflip, int palette);
|
||||
Tile() :
|
||||
tile(0),
|
||||
xflip(false),
|
||||
yflip(false),
|
||||
palette(0)
|
||||
{ }
|
||||
|
||||
Tile(int tile, bool xflip, bool yflip, int palette) :
|
||||
tile(tile),
|
||||
xflip(xflip),
|
||||
yflip(yflip),
|
||||
palette(palette)
|
||||
{ }
|
||||
|
||||
public:
|
||||
int tile;
|
||||
bool xflip;
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
class Tileset
|
||||
{
|
||||
public:
|
||||
Tileset();
|
||||
Tileset() = default;
|
||||
Tileset(const Tileset &other) = default;
|
||||
Tileset &operator=(const Tileset &other) = default;
|
||||
|
||||
public:
|
||||
QString name;
|
||||
QString is_compressed;
|
||||
@@ -24,14 +27,12 @@ public:
|
||||
QString metatile_attrs_path;
|
||||
QString tilesImagePath;
|
||||
QImage tilesImage;
|
||||
QList<QString> palettePaths;
|
||||
QStringList palettePaths;
|
||||
|
||||
QList<QImage> *tiles = nullptr;
|
||||
QList<Metatile*> *metatiles = nullptr;
|
||||
QList<QList<QRgb>> *palettes = nullptr;
|
||||
QList<QList<QRgb>> *palettePreviews = nullptr;
|
||||
|
||||
Tileset* copy();
|
||||
QList<QImage> tiles;
|
||||
QList<Metatile*> metatiles;
|
||||
QList<QList<QRgb>> palettes;
|
||||
QList<QList<QRgb>> palettePreviews;
|
||||
|
||||
static Tileset* getBlockTileset(int, Tileset*, Tileset*);
|
||||
static Metatile* getMetatile(int, Tileset*, Tileset*);
|
||||
|
||||
@@ -77,8 +77,8 @@ public:
|
||||
Q_INVOKABLE void setPrimaryTilesetPalettes(QList<QList<QList<int>>> palettes);
|
||||
Q_INVOKABLE void setSecondaryTilesetPalette(int paletteIndex, QList<QList<int>> colors);
|
||||
Q_INVOKABLE void setSecondaryTilesetPalettes(QList<QList<QList<int>>> palettes);
|
||||
QJSValue getTilesetPalette(QList<QList<QRgb>> *palettes, int paletteIndex);
|
||||
QJSValue getTilesetPalettes(QList<QList<QRgb>> *palettes);
|
||||
QJSValue getTilesetPalette(const QList<QList<QRgb>> &palettes, int paletteIndex);
|
||||
QJSValue getTilesetPalettes(const QList<QList<QRgb>> &palettes);
|
||||
Q_INVOKABLE QJSValue getPrimaryTilesetPalette(int paletteIndex);
|
||||
Q_INVOKABLE QJSValue getPrimaryTilesetPalettes();
|
||||
Q_INVOKABLE QJSValue getSecondaryTilesetPalette(int paletteIndex);
|
||||
|
||||
Reference in New Issue
Block a user