From 63112267be277e38224b510ec5745421dd7d4917 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 21 Jan 2011 23:23:16 +0200 Subject: Add diagonal animations. New animation names: upleft, upright, downleft, downright Tested atleast at mobs. --- src/resources/action.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/resources/action.cpp') diff --git a/src/resources/action.cpp b/src/resources/action.cpp index 923aa72c9..b8cfde611 100644 --- a/src/resources/action.cpp +++ b/src/resources/action.cpp @@ -22,6 +22,7 @@ #include "resources/action.h" #include "resources/animation.h" +#include "resources/spritedef.h" #include "utils/dtor.h" @@ -38,10 +39,19 @@ Animation *Action::getAnimation(int direction) const { Animations::const_iterator i = mAnimations.find(direction); - // When the given direction is not available, return the first one. - // (either DEFAULT, or more usually DOWN). if (i == mAnimations.end()) - i = mAnimations.begin(); + { + if (direction == DIRECTION_UPLEFT || direction == DIRECTION_UPRIGHT) + direction = DIRECTION_UP; + else if (direction == DIRECTION_DOWNLEFT || direction == DIRECTION_DOWNRIGHT) + direction = DIRECTION_DOWN; + i = mAnimations.find(direction); + + // When the given direction is not available, return the first one. + // (either DEFAULT, or more usually DOWN). + if (i == mAnimations.end()) + i = mAnimations.begin(); + } return (i == mAnimations.end()) ? NULL : i->second; } -- cgit v1.2.3-70-g09d2