aboutsummaryrefslogtreecommitdiffstats
path: root/src/player.cpp
diff options
context:
space:
mode:
authorClyne Sullivan <tullivan99@gmail.com>2017-01-10 11:18:50 -0500
committerClyne Sullivan <tullivan99@gmail.com>2017-01-10 11:18:50 -0500
commitfbd59263b52a42f85453ae918f8d2ab5817bd470 (patch)
tree8f68da5b6ae4461b08d8ac2b51dde8293ab36ebc /src/player.cpp
parentbef28375cbaaa3f527b98b8c617fbfd5ca3a525a (diff)
help fix the particles please
Diffstat (limited to 'src/player.cpp')
-rw-r--r--src/player.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/player.cpp b/src/player.cpp
index 62ff6fe..e83616d 100644
--- a/src/player.cpp
+++ b/src/player.cpp
@@ -6,6 +6,13 @@
#include <world.hpp>
#include <particle.hpp>
+static const char *spriteXML =
+ "<Sprite> \
+ <frame> \
+ <src limb='0' offset='0,0' size='19,15' drawOffset='0,0'>assets/cat.png</src> \
+ </frame> \
+ </Sprite>";
+
void PlayerSystem::create(void)
{
player = game::entities.create();
@@ -17,9 +24,12 @@ void PlayerSystem::create(void)
player.assign<Visible>(-0.2f);
auto sprite = player.assign<Sprite>();
- sprite->addSpriteSegment(SpriteData("assets/cat.png",
- vec2(0, 0)),
- vec2(0, 0));
+ XMLDocument xmld;
+ xmld.Parse(spriteXML);
+ auto frame = developFrame(xmld.FirstChildElement("Sprite"));
+ if (frame.size() > 0)
+ sprite->sprite = frame.at(0);
+
vec2 dim = player.component<Sprite>().get()->getSpriteSize();
float cdat[2] = {dim.x, dim.y};
player.assign<Solid>(cdat[0], cdat[1]);