mirror of
https://github.com/huderlem/porymap.git
synced 2026-08-26 02:26:17 -05:00
Allow rendering individual metatile layers
This commit is contained in:
@@ -133,9 +133,6 @@ private:
|
||||
QMap<Event::Group, QList<Event *>> m_events;
|
||||
QSet<Event *> m_ownedEvents; // for memory management
|
||||
|
||||
QList<int> m_metatileLayerOrder;
|
||||
QList<float> m_metatileLayerOpacity;
|
||||
|
||||
void trackConnection(MapConnection*);
|
||||
|
||||
// MapConnections in 'ownedConnections' but not 'connections' persist in the edit history.
|
||||
|
||||
@@ -17,7 +17,7 @@ class BorderMetatilesPixmapItem;
|
||||
class Layout : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
Layout() {}
|
||||
Layout() {};
|
||||
Layout(const Layout &other);
|
||||
|
||||
static QString layoutConstantFromName(const QString &name);
|
||||
@@ -64,8 +64,15 @@ public:
|
||||
QSize borderDimensions;
|
||||
} lastCommitBlocks; // to track map changes
|
||||
|
||||
QList<int> metatileLayerOrder;
|
||||
QList<float> metatileLayerOpacity;
|
||||
void setMetatileLayerOrder(const QList<int> &layerOrder) { m_metatileLayerOrder = layerOrder; }
|
||||
QList<int> metatileLayerOrder() const;
|
||||
static void setDefaultMetatileLayerOrder(const QList<int> &layerOrder) { s_defaultMetatileLayerOrder = layerOrder; }
|
||||
static QList<int> defaultMetatileLayerOrder();
|
||||
|
||||
void setMetatileLayerOpacity(const QList<float> &layerOpacity) { m_metatileLayerOpacity = layerOpacity; }
|
||||
QList<float> metatileLayerOpacity() const;
|
||||
static void setDefaultMetatileLayerOpacity(const QList<float> &layerOpacity) { s_defaultMetatileLayerOpacity = layerOpacity; }
|
||||
static QList<float> defaultMetatileLayerOpacity();
|
||||
|
||||
LayoutPixmapItem *layoutItem = nullptr;
|
||||
CollisionPixmapItem *collisionItem = nullptr;
|
||||
@@ -147,6 +154,8 @@ public:
|
||||
void setCollisionItem(CollisionPixmapItem *item) { collisionItem = item; }
|
||||
void setBorderItem(BorderMetatilesPixmapItem *item) { borderItem = item; }
|
||||
|
||||
bool metatileIsValid(uint16_t metatileId) { return Tileset::metatileIsValid(metatileId, this->tileset_primary, this->tileset_secondary); }
|
||||
|
||||
private:
|
||||
void setNewDimensionsBlockdata(int newWidth, int newHeight);
|
||||
void setNewBorderDimensionsBlockdata(int newWidth, int newHeight);
|
||||
@@ -155,6 +164,11 @@ private:
|
||||
|
||||
static int getBorderDrawDistance(int dimension, qreal minimum);
|
||||
|
||||
QList<int> m_metatileLayerOrder;
|
||||
QList<float> m_metatileLayerOpacity;
|
||||
static QList<int> s_defaultMetatileLayerOrder;
|
||||
static QList<float> s_defaultMetatileLayerOpacity;
|
||||
|
||||
signals:
|
||||
void dimensionsChanged(const QSize &size);
|
||||
void needsRedrawing();
|
||||
|
||||
Reference in New Issue
Block a user