summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/being/actor.cpp9
-rw-r--r--src/being/actor.h6
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();