, partyLayout(0)
, monsters(0)
, numMonsters(0)
+, direction(ORIENTATION_NORTH)
, orientation(ORIENTATION_NORTH)
, speed(0)
, flags(0) {
void Entity::SetOrientation(Orientation o) {
orientation = o;
- UpdateVelocity();
if (CanTurn()) {
- runner.SetColOffset(orientation);
+ runner.SetColOffset(o);
}
}
+void Entity::SetDirection(Orientation o) {
+ direction = o;
+ UpdateVelocity();
+ SetOrientation(o);
+}
+
void Entity::SetSpeed(Fixed<8> s) {
speed = s;
UpdateVelocity();
velocity = Vector<Fixed<8> >();
return;
}
- switch (orientation) {
+ switch (direction) {
case ORIENTATION_NORTH:
velocity = Vector<Fixed<8> >(0, -speed);
break;