summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-04-04 22:33:00 +0300
committerAndrei Karas <akaras@inbox.ru>2013-04-04 23:04:16 +0300
commitfaeaa157b1abada82243b8dc508201aa17db1df2 (patch)
tree4bd20cce8987a5e77d341b953ee6f93aaaab3504
parenta1b7e08a00a9dfcf3596252f5565eea170fd4c71 (diff)
downloadmanaplus-faeaa157b1abada82243b8dc508201aa17db1df2.tar.gz
manaplus-faeaa157b1abada82243b8dc508201aa17db1df2.tar.bz2
manaplus-faeaa157b1abada82243b8dc508201aa17db1df2.tar.xz
manaplus-faeaa157b1abada82243b8dc508201aa17db1df2.zip
Add support for loading animated effect for effects.xml
now this animation is unused. also effect field names is fixed.
-rw-r--r--src/effectmanager.cpp27
-rw-r--r--src/effectmanager.h15
2 files changed, 23 insertions, 19 deletions
diff --git a/src/effectmanager.cpp b/src/effectmanager.cpp
index 2d235bbfe..f7e1ccbaa 100644
--- a/src/effectmanager.cpp
+++ b/src/effectmanager.cpp
@@ -51,7 +51,8 @@ EffectManager::EffectManager()
mEffects.push_back(EffectDescription(
XML::getProperty(node, "id", -1),
XML::getProperty(node, "particle", ""),
- XML::getProperty(node, "audio", "")));
+ XML::getProperty(node, "audio", ""),
+ XML::getProperty(node, "sprite", "")));
}
}
}
@@ -72,14 +73,14 @@ bool EffectManager::trigger(const int id, Being *const being,
if ((*i).id == id)
{
rValue = true;
- if (!(*i).GFX.empty())
+ if (!(*i).gfx.empty())
{
Particle *const selfFX = particleEngine->addEffect(
- (*i).GFX, 0, 0, rotation);
+ (*i).gfx, 0, 0, rotation);
being->controlParticle(selfFX);
}
- if (!(*i).SFX.empty())
- soundManager.playSfx((*i).SFX);
+ if (!(*i).sfx.empty())
+ soundManager.playSfx((*i).sfx);
break;
}
}
@@ -97,14 +98,14 @@ Particle *EffectManager::triggerReturn(const int id, Being *const being,
{
if ((*i).id == id)
{
- if (!(*i).GFX.empty())
+ if (!(*i).gfx.empty())
{
rValue = particleEngine->addEffect(
- (*i).GFX, 0, 0, rotation);
+ (*i).gfx, 0, 0, rotation);
being->controlParticle(rValue);
}
- if (!(*i).SFX.empty())
- soundManager.playSfx((*i).SFX);
+ if (!(*i).sfx.empty())
+ soundManager.playSfx((*i).sfx);
break;
}
}
@@ -123,10 +124,10 @@ bool EffectManager::trigger(const int id, const int x, const int y,
if ((*i).id == id)
{
rValue = true;
- if (!(*i).GFX.empty() && particleEngine)
- particleEngine->addEffect((*i).GFX, x, y, rotation);
- if (!(*i).SFX.empty())
- soundManager.playSfx((*i).SFX);
+ if (!(*i).gfx.empty() && particleEngine)
+ particleEngine->addEffect((*i).gfx, x, y, rotation);
+ if (!(*i).sfx.empty())
+ soundManager.playSfx((*i).sfx);
break;
}
}
diff --git a/src/effectmanager.h b/src/effectmanager.h
index fca033d97..95ecc3439 100644
--- a/src/effectmanager.h
+++ b/src/effectmanager.h
@@ -37,16 +37,19 @@ class EffectManager final
public:
struct EffectDescription
{
- EffectDescription(const int id0, const std::string &GFX0,
- const std::string &SFX0) :
+ EffectDescription(const int id0, const std::string &gfx0,
+ const std::string &sfx0,
+ const std::string &sprite0) :
id(id0),
- GFX(GFX0),
- SFX(SFX0)
+ gfx(gfx0),
+ sfx(sfx0),
+ sprite(sprite0)
{
}
int id;
- std::string GFX;
- std::string SFX;
+ std::string gfx;
+ std::string sfx;
+ std::string sprite;
};
EffectManager();