summaryrefslogtreecommitdiff
path: root/src/resources
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-04-03 23:39:39 +0300
committerAndrei Karas <akaras@inbox.ru>2011-04-03 23:39:39 +0300
commitc8ebcf5c2a18a37aa45253a8a63c28bbcd4b989e (patch)
treeb86d8ca191c3bcf4a03aba19198316424cb08a08 /src/resources
parente998c784e0a3943a6a85be4f82c5a1b8f027b838 (diff)
downloadmv-c8ebcf5c2a18a37aa45253a8a63c28bbcd4b989e.tar.gz
mv-c8ebcf5c2a18a37aa45253a8a63c28bbcd4b989e.tar.bz2
mv-c8ebcf5c2a18a37aa45253a8a63c28bbcd4b989e.tar.xz
mv-c8ebcf5c2a18a37aa45253a8a63c28bbcd4b989e.zip
Change imageset offset work not like default offset, but as additional offset.
Diffstat (limited to 'src/resources')
-rw-r--r--src/resources/imageset.cpp5
-rw-r--r--src/resources/spritedef.cpp8
2 files changed, 8 insertions, 5 deletions
diff --git a/src/resources/imageset.cpp b/src/resources/imageset.cpp
index fa0cef349..af180b0eb 100644
--- a/src/resources/imageset.cpp
+++ b/src/resources/imageset.cpp
@@ -28,7 +28,10 @@
#include "utils/dtor.h"
-ImageSet::ImageSet(Image *img, int width, int height, int margin, int spacing)
+ImageSet::ImageSet(Image *img, int width, int height,
+ int margin, int spacing) :
+ mOffsetX(0),
+ mOffsetY(0)
{
if (img)
{
diff --git a/src/resources/spritedef.cpp b/src/resources/spritedef.cpp
index db1c3d0c3..e6a65926e 100644
--- a/src/resources/spritedef.cpp
+++ b/src/resources/spritedef.cpp
@@ -221,10 +221,10 @@ void SpriteDef::loadAnimation(xmlNodePtr animationNode,
for_each_xml_child_node(frameNode, animationNode)
{
const int delay = XML::getProperty(frameNode, "delay", 0);
- int offsetX = XML::getProperty(frameNode, "offsetX",
- imageSet->getOffsetX());
- int offsetY = XML::getProperty(frameNode, "offsetY",
- imageSet->getOffsetY());
+ int offsetX = XML::getProperty(frameNode, "offsetX", 0) +
+ imageSet->getOffsetX();
+ int offsetY = XML::getProperty(frameNode, "offsetY", 0) +
+ imageSet->getOffsetY();
offsetY -= imageSet->getHeight() - 32;
offsetX -= imageSet->getWidth() / 2 - 16;