From ae898aa1a5175b2b08f7248e4cd89bf61bc8e4be Mon Sep 17 00:00:00 2001 From: Yohann Ferreira Date: Thu, 29 Jul 2010 20:20:51 +0200 Subject: Changed the items loading to handle a new 'attack-action' parameter. The old behaviour was to load the weapon-type value and do many unnecessary checks and transformation on it: The weapon-type was transformed using hard-coded values into an integer enum value. The exact same thing was done on the opposite side in the animation files before comparing the two. As both data were string values, I simplified all of it by using the value taken in items.xml to call the corresponding action. This now also permit to set up new attack animation in items.xml and in the playerset.xml without having the need to modify the client code. Last but not least, the weapon-type value was used by both the skills and the actions and avoided the possibility to set up a definite action for a weapon-type. Note: The weapon-type parameter will become deprecated for the server in favor of a 'skill' parameter to reflect more it's actual use. This patch is the first step to fix Manasource issue: #157. --- src/animatedsprite.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/animatedsprite.cpp') diff --git a/src/animatedsprite.cpp b/src/animatedsprite.cpp index 9ddc001c..ec666d80 100644 --- a/src/animatedsprite.cpp +++ b/src/animatedsprite.cpp @@ -51,7 +51,7 @@ AnimatedSprite::AnimatedSprite(SpriteDef *sprite): mSprite->incRef(); // Play the stand animation by default - play(ACTION_STAND); + play(SpriteAction::STAND); } AnimatedSprite *AnimatedSprite::load(const std::string &filename, int variant) @@ -81,7 +81,7 @@ bool AnimatedSprite::reset() return ret; } -bool AnimatedSprite::play(SpriteAction spriteAction) +bool AnimatedSprite::play(std::string spriteAction) { Action *action = mSprite->getAction(spriteAction); if (!action) @@ -122,7 +122,7 @@ bool AnimatedSprite::update(int time) if (!updateCurrentAnimation(dt)) { // Animation finished, reset to default - play(ACTION_STAND); + play(SpriteAction::STAND); } // Make sure something actually changed -- cgit v1.2.3-70-g09d2