diff options
-rw-r--r-- | src/localconsts.h | 8 | ||||
-rw-r--r-- | src/resources/map/maplayer.cpp | 15 | ||||
-rw-r--r-- | src/resources/map/maplayer.h | 40 |
3 files changed, 34 insertions, 29 deletions
diff --git a/src/localconsts.h b/src/localconsts.h index 523f80569..af5d2b002 100644 --- a/src/localconsts.h +++ b/src/localconsts.h @@ -91,6 +91,14 @@ name &operator=(const name&) = delete; #endif // !defined(__GXX_EXPERIMENTAL_CXX0X__) +#ifdef __clang__ +#define constexpr3 +#elif GCC_VERSION > 70000 +#define constexpr3 constexpr +#else +#define constexpr3 +#endif + #ifdef __GNUC__ #define A_UNUSED __attribute__ ((unused)) #define A_WARN_UNUSED __attribute__ ((warn_unused_result)) diff --git a/src/resources/map/maplayer.cpp b/src/resources/map/maplayer.cpp index 0f8c4377b..ce9813c63 100644 --- a/src/resources/map/maplayer.cpp +++ b/src/resources/map/maplayer.cpp @@ -96,13 +96,6 @@ void MapLayer::optionChanged(const std::string &value) restrict } } -void MapLayer::setTile(const int x, - const int y, - Image *const img) restrict -{ - mTiles[x + y * mWidth].image = img; -} - void MapLayer::draw(Graphics *const graphics, int startX, int startY, @@ -765,14 +758,6 @@ int MapLayer::getEmptyTileDrawWidth(const TileInfo *restrict tilePtr, return c; } -void MapLayer::setDrawLayerFlags(const MapTypeT &n) restrict -{ - mDrawLayerFlags = n; - mSpecialFlag = (mDrawLayerFlags != MapType::SPECIAL && - mDrawLayerFlags != MapType::SPECIAL2 && - mDrawLayerFlags != MapType::SPECIAL4); -} - void MapLayer::updateConditionTiles(const MetaTile *const metaTiles, const int width, const int height) restrict diff --git a/src/resources/map/maplayer.h b/src/resources/map/maplayer.h index 081b2537e..5794ca635 100644 --- a/src/resources/map/maplayer.h +++ b/src/resources/map/maplayer.h @@ -74,15 +74,18 @@ class MapLayer final : public MemoryCounter, public ConfigListener /** * Set tile image, with x and y in layer coordinates. */ - void setTile(const int x, - const int y, - Image *restrict const img) restrict; + constexpr3 void setTile(const int x, + const int y, + Image *restrict const img) restrict + { + mTiles[x + y * mWidth].image = img; + } /** * Set tile image with x + y * width already known. */ - void setTile(const int index, - Image *restrict const img) restrict + constexpr3 void setTile(const int index, + Image *restrict const img) restrict { mTiles[index].image = img; } /** @@ -134,27 +137,36 @@ class MapLayer final : public MemoryCounter, public ConfigListener const int scrollY, const Actors &actors) const restrict A_NONNULL(2); - bool isFringeLayer() const restrict noexcept2 A_WARN_UNUSED + constexpr3 bool isFringeLayer() const restrict noexcept2 A_WARN_UNUSED { return mIsFringeLayer; } - void setSpecialLayer(const SpecialLayer *restrict const val) restrict + constexpr3 void setSpecialLayer(const SpecialLayer *restrict const val) + restrict noexcept2 { mSpecialLayer = val; } - void setTempLayer(const SpecialLayer *restrict const val) restrict + constexpr3 void setTempLayer(const SpecialLayer *restrict const val) + restrict noexcept2 { mTempLayer = val; } - int getWidth() const restrict noexcept2 A_WARN_UNUSED + constexpr3 int getWidth() const restrict noexcept2 A_WARN_UNUSED { return mWidth; } - int getHeight() const restrict noexcept2 A_WARN_UNUSED + constexpr3 int getHeight() const restrict noexcept2 A_WARN_UNUSED { return mHeight; } void optionChanged(const std::string &restrict value) restrict override final; - void setDrawLayerFlags(const MapTypeT &restrict n) restrict; + constexpr3 void setDrawLayerFlags(const MapTypeT &restrict n) + restrict noexcept2 + { + mDrawLayerFlags = n; + mSpecialFlag = (mDrawLayerFlags != MapType::SPECIAL && + mDrawLayerFlags != MapType::SPECIAL2 && + mDrawLayerFlags != MapType::SPECIAL4); + } - void setActorsFix(const int y) restrict + constexpr3 void setActorsFix(const int y) restrict noexcept2 { mActorsFix = y; } int calcMemoryLocal() const override final; @@ -165,12 +177,12 @@ class MapLayer final : public MemoryCounter, public ConfigListener { return mName; } #ifdef UNITTESTS - TileInfo *getTiles() const + constexpr3 TileInfo *getTiles() const restrict noexcept2 { return mTiles; } - void setTileCondition(const int c) + constexpr3 void setTileCondition(const int c) restrict noexcept2 { mTileCondition = c; } |