diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/being/actorsprite.cpp | 19 | ||||
-rw-r--r-- | src/being/actorsprite.h | 14 | ||||
-rw-r--r-- | src/being/localplayer.cpp | 8 | ||||
-rw-r--r-- | src/being/targetcursortype.h | 36 |
4 files changed, 56 insertions, 21 deletions
diff --git a/src/being/actorsprite.cpp b/src/being/actorsprite.cpp index 6d5702da0..f52820f86 100644 --- a/src/being/actorsprite.cpp +++ b/src/being/actorsprite.cpp @@ -42,7 +42,8 @@ #include "debug.h" -AnimatedSprite *ActorSprite::targetCursor[NUM_TCT][TargetCursorSize::NUM_TC]; +AnimatedSprite *ActorSprite::targetCursor[TargetCursorType::NUM_TCT] + [TargetCursorSize::NUM_TC]; bool ActorSprite::loaded = false; ActorSprite::ActorSprite(const int id) : @@ -136,9 +137,9 @@ void ActorSprite::controlParticle(Particle *const particle) mChildParticleEffects.addLocally(particle); } -void ActorSprite::setTargetType(const TargetCursorType type) +void ActorSprite::setTargetType(const TargetCursorType::Type type) { - if (type == TCT_NONE) + if (type == TargetCursorType::NONE) { untarget(); } @@ -334,10 +335,10 @@ static const char *cursorType(const int type) { switch (type) { - case ActorSprite::TCT_IN_RANGE: + case TargetCursorType::IN_RANGE: return "in-range"; default: - case ActorSprite::TCT_NORMAL: + case TargetCursorType::NORMAL: return "normal"; } } @@ -365,7 +366,9 @@ void ActorSprite::initTargetCursor() size < TargetCursorSize::NUM_TC; size ++) { - for (int type = TCT_NORMAL; type < NUM_TCT; type++) + for (int type = TargetCursorType::NORMAL; + type < TargetCursorType::NUM_TCT; + type ++) { targetCursor[type][size] = AnimatedSprite::load( Theme::resolveThemePath(strprintf( @@ -382,7 +385,9 @@ void ActorSprite::cleanupTargetCursors() size < TargetCursorSize::NUM_TC; size ++) { - for (int type = TCT_NORMAL; type < NUM_TCT; type++) + for (int type = TargetCursorType::NORMAL; + type < TargetCursorType::NUM_TCT; + type ++) { if (targetCursor[type][size]) delete2(targetCursor[type][size]) diff --git a/src/being/actorsprite.h b/src/being/actorsprite.h index b646500da..1c08e4333 100644 --- a/src/being/actorsprite.h +++ b/src/being/actorsprite.h @@ -31,6 +31,7 @@ #include "being/actortype.h" #include "being/compoundsprite.h" #include "being/targetcursorsize.h" +#include "being/targetcursortype.h" #include "particle/particlecontainer.h" @@ -46,14 +47,6 @@ class ActorSpriteListener; class ActorSprite : public CompoundSprite, public Actor { public: - enum TargetCursorType - { - TCT_NONE = -1, - TCT_NORMAL = 0, - TCT_IN_RANGE, - NUM_TCT - }; - explicit ActorSprite(const int id); A_DELETE_COPY(ActorSprite) @@ -108,7 +101,7 @@ public: /** * Sets the target animation for this actor. */ - void setTargetType(const TargetCursorType type); + void setTargetType(const TargetCursorType::Type type); /** * Untargets the actor. @@ -218,7 +211,8 @@ private: static void cleanupTargetCursors(); /** Animated target cursors. */ - static AnimatedSprite *targetCursor[NUM_TCT][TargetCursorSize::NUM_TC]; + static AnimatedSprite *targetCursor[TargetCursorType::NUM_TCT] + [TargetCursorSize::NUM_TC]; static bool loaded; diff --git a/src/being/localplayer.cpp b/src/being/localplayer.cpp index d22e8503c..b64c494b7 100644 --- a/src/being/localplayer.cpp +++ b/src/being/localplayer.cpp @@ -298,7 +298,7 @@ void LocalPlayer::logic() if (mTarget->getType() == ActorType::NPC) { // NPCs are always in range - mTarget->setTargetType(TCT_IN_RANGE); + mTarget->setTargetType(TargetCursorType::IN_RANGE); } else { @@ -308,9 +308,9 @@ void LocalPlayer::logic() const int rangeY = static_cast<int>( abs(mTarget->getTileY() - getTileY())); const int attackRange = getAttackRange(); - const TargetCursorType targetType = rangeX > attackRange || - rangeY > attackRange ? - TCT_NORMAL : TCT_IN_RANGE; + const TargetCursorType::Type targetType + = rangeX > attackRange || rangeY > attackRange + ? TargetCursorType::NORMAL : TargetCursorType::IN_RANGE; mTarget->setTargetType(targetType); if (!mTarget->isAlive() && (!mTargetDeadPlayers diff --git a/src/being/targetcursortype.h b/src/being/targetcursortype.h new file mode 100644 index 000000000..f245d4384 --- /dev/null +++ b/src/being/targetcursortype.h @@ -0,0 +1,36 @@ +/* + * The ManaPlus Client + * Copyright (C) 2010 The Mana Developers + * Copyright (C) 2011-2014 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef BEING_TARGETCURSORTYPE_H +#define BEING_TARGETCURSORTYPE_H + +namespace TargetCursorType +{ + enum Type + { + NONE = -1, + NORMAL = 0, + IN_RANGE, + NUM_TCT + }; +} + +#endif // BEING_TARGETCURSORTYPE_H |