From e02ec2b695660ec2f370ef8dfa7bed84393ae148 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 23 Nov 2025 22:50:51 -0500 Subject: [PATCH] Compatibility fixes for older compilers --- include/ui/metatileselector.h | 18 +++++++++++++----- src/project.cpp | 16 ++++++++++------ src/ui/flowlayout.cpp | 4 ++-- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/include/ui/metatileselector.h b/include/ui/metatileselector.h index 663ccd5a..fc927e26 100644 --- a/include/ui/metatileselector.h +++ b/include/ui/metatileselector.h @@ -9,15 +9,23 @@ struct MetatileSelectionItem { - bool enabled = false; - uint16_t metatileId = 0; + bool enabled; + uint16_t metatileId; + + // Default values + compatibility with older compilers + MetatileSelectionItem(bool enabled_ = false, uint16_t metatileId_ = 0) + : enabled(enabled_), metatileId(metatileId_) {} }; struct CollisionSelectionItem { - bool enabled = false; - uint16_t collision = 0; - uint16_t elevation = 0; + bool enabled; + uint16_t collision; + uint16_t elevation; + + // Default values + compatibility with older compilers + CollisionSelectionItem(bool enabled_ = false, uint16_t collision_ = 0, uint16_t elevation_ = 0) + : enabled(enabled_), collision(collision_), elevation(elevation_) {} }; struct MetatileSelection diff --git a/src/project.cpp b/src/project.cpp index 0826d62c..0b9ee75e 100644 --- a/src/project.cpp +++ b/src/project.cpp @@ -3175,15 +3175,19 @@ bool Project::readEventGraphics() { QPixmap Project::getEventPixmap(const QString &gfxName, const QString &movementName) { struct FrameData { - int index = 0; - bool hFlip = false; + int index; + bool hFlip; + + // Default values + compatibility with older compilers + FrameData(int index_ = 0, bool hFlip_ = false) + : index(index_), hFlip(hFlip_) {} }; // TODO: Expose as a setting to users static const QMap directionToFrameData = { - {"DIR_SOUTH", { .index = 0, .hFlip = false }}, - {"DIR_NORTH", { .index = 1, .hFlip = false }}, - {"DIR_WEST", { .index = 2, .hFlip = false }}, - {"DIR_EAST", { .index = 2, .hFlip = true }}, // East-facing sprite is just the West-facing sprite mirrored + {"DIR_SOUTH", { 0, false }}, + {"DIR_NORTH", { 1, false }}, + {"DIR_WEST", { 2, false }}, + {"DIR_EAST", { 2, true }}, // East-facing sprite is just the West-facing sprite mirrored }; const QString direction = this->facingDirections.value(movementName, "DIR_SOUTH"); auto frameData = directionToFrameData.value(direction); diff --git a/src/ui/flowlayout.cpp b/src/ui/flowlayout.cpp index 54cde082..1404c30e 100644 --- a/src/ui/flowlayout.cpp +++ b/src/ui/flowlayout.cpp @@ -81,7 +81,7 @@ QSize FlowLayout::sizeHint() const { QSize FlowLayout::minimumSize() const { QSize size; - for (const QLayoutItem *item : std::as_const(itemList)) + for (const QLayoutItem *item : this->itemList) size = size.expandedTo(item->minimumSize()); const QMargins margins = contentsMargins(); @@ -97,7 +97,7 @@ int FlowLayout::doLayout(const QRect &rect, bool testOnly) const { int y = effectiveRect.y(); int lineHeight = 0; - for (QLayoutItem *item : std::as_const(itemList)) { + for (QLayoutItem *item : this->itemList) { const QWidget *wid = item->widget(); int spaceX = horizontalSpacing(); if (spaceX == -1)