diff options
-rw-r--r-- | src/being/actor.cpp | 9 | ||||
-rw-r--r-- | src/being/actor.h | 6 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/being/actor.cpp b/src/being/actor.cpp index b66435739..aebf00adb 100644 --- a/src/being/actor.cpp +++ b/src/being/actor.cpp @@ -26,6 +26,8 @@ #include "debug.h" Actor::Actor() : + mPixelX(0), + mPixelY(0), mMap(nullptr), mPos(), mYDiff(0), @@ -70,3 +72,10 @@ int Actor::getTileY() const return getPixelY() / mMap->getTileHeight(); } + +void Actor::setPixelPositionF(const Vector &restrict pos) restrict2 +{ + mPos = pos; + mPixelX = CAST_S32(mPos.x); + mPixelY = CAST_S32(mPos.y); +} diff --git a/src/being/actor.h b/src/being/actor.h index 0b83e46be..72a9810ee 100644 --- a/src/being/actor.h +++ b/src/being/actor.h @@ -76,8 +76,7 @@ class Actor notfinal /** * Sets the pixel position of this actor. */ - virtual void setPixelPositionF(const Vector &restrict pos) restrict2 - { mPos = pos; } + virtual void setPixelPositionF(const Vector &restrict pos) restrict2; /** * Returns the pixels X coordinate of the actor. @@ -128,6 +127,9 @@ class Actor notfinal const Map* getMap() const A_WARN_UNUSED { return mMap; } + int mPixelX; + int mPixelY; + protected: Actor(); |