summaryrefslogtreecommitdiff
path: root/src/being.cpp
diff options
context:
space:
mode:
authorBjörn Steinbrink <B.Steinbrink@gmx.de>2006-07-24 14:49:24 +0000
committerBjörn Steinbrink <B.Steinbrink@gmx.de>2006-07-24 14:49:24 +0000
commit59fa52906b1ac1f53e895f28e035d985cbee24a9 (patch)
tree9d5a1b4703cbb998aaea2ffeef066e05e596a5a4 /src/being.cpp
parent362a5f5db4a1c4792ddc4feca5e581edff439c34 (diff)
downloadmana-59fa52906b1ac1f53e895f28e035d985cbee24a9.tar.gz
mana-59fa52906b1ac1f53e895f28e035d985cbee24a9.tar.bz2
mana-59fa52906b1ac1f53e895f28e035d985cbee24a9.tar.xz
mana-59fa52906b1ac1f53e895f28e035d985cbee24a9.zip
Fixed setDirection() semantics.
Removed a printf-leftover.
Diffstat (limited to 'src/being.cpp')
-rw-r--r--src/being.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/being.cpp b/src/being.cpp
index 69057c09..8a55f2e2 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -230,7 +230,7 @@ Being::setAction(Action action)
void
Being::setDirection(Uint8 direction)
{
- mDirection |= direction;
+ mDirection = direction;
std::string dir;
if (direction & UP)
@@ -268,15 +268,17 @@ Being::nextStep()
PATH_NODE node = mPath.front();
mPath.pop_front();
- mDirection = 0;
+ int dir = 0;
if (node.x > mX)
- setDirection(RIGHT);
+ dir |= RIGHT;
else if (node.x < mX)
- setDirection(LEFT);
+ dir |= LEFT;
if (node.y > mY)
- setDirection(DOWN);
+ dir |= DOWN;
else if (node.y < mY)
- setDirection(UP);
+ dir |= UP;
+
+ setDirection(dir);
mX = node.x;
mY = node.y;