From 363ea86a2afcafe41c8b26f9a4e2b3da7e9a6171 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Wed, 19 Sep 2018 12:35:45 -0500 Subject: [PATCH] Move static tileset vars to Project --- map.cpp | 7 ++++--- project.cpp | 55 +++++++++++++++++++++++++++++++++++++++++------------ project.h | 14 ++++++++++++++ tileset.cpp | 18 ++++++------------ tileset.h | 7 ------- 5 files changed, 67 insertions(+), 34 deletions(-) diff --git a/map.cpp b/map.cpp index d4bb6ab0..54298a5c 100755 --- a/map.cpp +++ b/map.cpp @@ -1,4 +1,5 @@ #include "map.h" +#include "project.h" #include #include @@ -68,7 +69,7 @@ uint16_t Map::getSelectedBlockIndex(int index) { if (index < layout->tileset_primary->metatiles->length()) { return static_cast(index); } else { - return static_cast(Tileset::num_metatiles_primary + index - layout->tileset_primary->metatiles->length()); + return static_cast(Project::getNumMetatilesPrimary() + index - layout->tileset_primary->metatiles->length()); } } @@ -76,7 +77,7 @@ int Map::getDisplayedBlockIndex(int index) { if (index < layout->tileset_primary->metatiles->length()) { return index; } else { - return index - Tileset::num_metatiles_primary + layout->tileset_primary->metatiles->length(); + return index - Project::getNumMetatilesPrimary() + layout->tileset_primary->metatiles->length(); } } @@ -337,7 +338,7 @@ QPixmap Map::renderMetatiles() { for (int i = 0; i < length_; i++) { int tile = i; if (i >= primary_length) { - tile += Tileset::num_metatiles_primary - primary_length; + tile += Project::getNumMetatilesPrimary() - primary_length; } QImage metatile_image = Metatile::getMetatileImage(tile, layout->tileset_primary, layout->tileset_secondary); int map_y = i / width_; diff --git a/project.cpp b/project.cpp index c8d0c2d6..9cce7bbb 100755 --- a/project.cpp +++ b/project.cpp @@ -12,6 +12,13 @@ #include #include +int Project::num_tiles_primary = 512; +int Project::num_tiles_total = 1024; +int Project::num_metatiles_primary = 512; +int Project::num_metatiles_total = 1024; +int Project::num_pals_primary = 6; +int Project::num_pals_total = 13; + Project::Project() { groupNames = new QStringList; @@ -1131,50 +1138,44 @@ void Project::readTilesetProperties() { QMap defines = readCDefines(text, definePrefixes); auto it = defines.find("NUM_TILES_IN_PRIMARY"); if (it != defines.end()) { - Tileset::num_tiles_primary = it.value(); + Project::num_tiles_primary = it.value(); } else { - Tileset::num_tiles_primary = 512; error = true; } it = defines.find("NUM_TILES_TOTAL"); if (it != defines.end()) { - Tileset::num_tiles_total = it.value(); + Project::num_tiles_total = it.value(); } else { - Tileset::num_tiles_total = 1024; error = true; } it = defines.find("NUM_METATILES_IN_PRIMARY"); if (it != defines.end()) { - Tileset::num_metatiles_primary = it.value(); + Project::num_metatiles_primary = it.value(); } else { - Tileset::num_metatiles_primary = 512; error = true; } it = defines.find("NUM_METATILES_TOTAL"); if (it != defines.end()) { - Tileset::num_metatiles_total = it.value(); + Project::num_metatiles_total = it.value(); } else { - Tileset::num_metatiles_total = 1024; error = true; } it = defines.find("NUM_PALS_IN_PRIMARY"); if (it != defines.end()) { - Tileset::num_pals_primary = it.value(); + Project::num_pals_primary = it.value(); } else { - Tileset::num_pals_primary = 6; error = true; } it = defines.find("NUM_PALS_TOTAL"); if (it != defines.end()) { - Tileset::num_pals_total = it.value(); + Project::num_pals_total = it.value(); } else { - Tileset::num_pals_total = 13; error = true; } @@ -1730,3 +1731,33 @@ QMap Project::readCDefines(QString text, QStringList prefixes) { } return filteredDefines; } + +int Project::getNumTilesPrimary() +{ + return Project::num_tiles_primary; +} + +int Project::getNumTilesTotal() +{ + return Project::num_tiles_total; +} + +int Project::getNumMetatilesPrimary() +{ + return Project::num_metatiles_primary; +} + +int Project::getNumMetatilesTotal() +{ + return Project::num_metatiles_total; +} + +int Project::getNumPalettesPrimary() +{ + return Project::num_pals_primary; +} + +int Project::getNumPalettesTotal() +{ + return Project::num_pals_total; +} diff --git a/project.h b/project.h index ca34147b..cb1a10ee 100755 --- a/project.h +++ b/project.h @@ -115,6 +115,13 @@ public: QStringList readCArray(QString text, QString label); QString readCIncbin(QString text, QString label); QMap readCDefines(QString text, QStringList prefixes); + + static int getNumTilesPrimary(); + static int getNumTilesTotal(); + static int getNumMetatilesPrimary(); + static int getNumMetatilesTotal(); + static int getNumPalettesPrimary(); + static int getNumPalettesTotal(); private: QString getMapLayoutsTableFilepath(); QString getMapLayoutFilepath(QString); @@ -133,6 +140,13 @@ private: void setNewMapBorder(Map *map); void setNewMapEvents(Map *map); void setNewMapConnections(Map *map); + + static int num_tiles_primary; + static int num_tiles_total; + static int num_metatiles_primary; + static int num_metatiles_total; + static int num_pals_primary; + static int num_pals_total; }; #endif // PROJECT_H diff --git a/tileset.cpp b/tileset.cpp index 981e2612..55fa6258 100755 --- a/tileset.cpp +++ b/tileset.cpp @@ -1,4 +1,5 @@ #include "tileset.h" +#include "project.h" #include #include @@ -9,13 +10,6 @@ Tileset::Tileset() } -int Tileset::num_tiles_primary; -int Tileset::num_tiles_total; -int Tileset::num_metatiles_primary; -int Tileset::num_metatiles_total; -int Tileset::num_pals_primary; -int Tileset::num_pals_total; - Metatile::Metatile() { tiles = new QList; @@ -95,7 +89,7 @@ QImage Metatile::getMetatileTile(int tile, Tileset *primaryTileset, Tileset *sec } Tileset* Metatile::getBlockTileset(int metatile_index, Tileset *primaryTileset, Tileset *secondaryTileset) { - if (metatile_index < Tileset::num_metatiles_primary) { + if (metatile_index < Project::getNumMetatilesPrimary()) { return primaryTileset; } else { return secondaryTileset; @@ -103,19 +97,19 @@ Tileset* Metatile::getBlockTileset(int metatile_index, Tileset *primaryTileset, } int Metatile::getBlockIndex(int index) { - if (index < Tileset::num_metatiles_primary) { + if (index < Project::getNumMetatilesPrimary()) { return index; } else { - return index - Tileset::num_metatiles_primary; + return index - Project::getNumMetatilesPrimary(); } } QList> Metatile::getBlockPalettes(Tileset *primaryTileset, Tileset *secondaryTileset) { QList> palettes; - for (int i = 0; i < Tileset::num_pals_primary; i++) { + for (int i = 0; i < Project::getNumPalettesPrimary(); i++) { palettes.append(primaryTileset->palettes->at(i)); } - for (int i = Tileset::num_pals_primary; i < Tileset::num_pals_total; i++) { + for (int i = Project::getNumPalettesPrimary(); i < Project::getNumPalettesTotal(); i++) { palettes.append(secondaryTileset->palettes->at(i)); } return palettes; diff --git a/tileset.h b/tileset.h index f936855a..5cd22daa 100755 --- a/tileset.h +++ b/tileset.h @@ -24,13 +24,6 @@ public: QList *tiles = nullptr; QList *metatiles = nullptr; QList> *palettes = nullptr; - - static int num_tiles_primary; - static int num_tiles_total; - static int num_metatiles_primary; - static int num_metatiles_total; - static int num_pals_primary; - static int num_pals_total; }; class Metatile