summaryrefslogtreecommitdiff
path: root/src/being
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-03-05 02:38:49 +0300
committerAndrei Karas <akaras@inbox.ru>2016-03-05 03:16:32 +0300
commit31782ba3cdeced9baa91739c55e9ae819d70d616 (patch)
tree8de190fa01b37a960dd392fb6d3d159249bb1603 /src/being
parent097ef639a433f5d87d675ee7551a1640788031bd (diff)
downloadmv-31782ba3cdeced9baa91739c55e9ae819d70d616.tar.gz
mv-31782ba3cdeced9baa91739c55e9ae819d70d616.tar.bz2
mv-31782ba3cdeced9baa91739c55e9ae819d70d616.tar.xz
mv-31782ba3cdeced9baa91739c55e9ae819d70d616.zip
Add pixel position into actor.
Diffstat (limited to 'src/being')
-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();