diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-04-03 23:39:39 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-04-03 23:39:39 +0300 |
commit | c8ebcf5c2a18a37aa45253a8a63c28bbcd4b989e (patch) | |
tree | b86d8ca191c3bcf4a03aba19198316424cb08a08 /src | |
parent | e998c784e0a3943a6a85be4f82c5a1b8f027b838 (diff) | |
download | manaplus-c8ebcf5c2a18a37aa45253a8a63c28bbcd4b989e.tar.gz manaplus-c8ebcf5c2a18a37aa45253a8a63c28bbcd4b989e.tar.bz2 manaplus-c8ebcf5c2a18a37aa45253a8a63c28bbcd4b989e.tar.xz manaplus-c8ebcf5c2a18a37aa45253a8a63c28bbcd4b989e.zip |
Change imageset offset work not like default offset, but as additional offset.
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/widgets/layout.cpp | 2 | ||||
-rw-r--r-- | src/resources/imageset.cpp | 5 | ||||
-rw-r--r-- | src/resources/spritedef.cpp | 8 |
3 files changed, 9 insertions, 6 deletions
diff --git a/src/gui/widgets/layout.cpp b/src/gui/widgets/layout.cpp index ad474cf63..3dc4eb038 100644 --- a/src/gui/widgets/layout.cpp +++ b/src/gui/widgets/layout.cpp @@ -335,7 +335,7 @@ void LayoutArray::reflow(int nx, int ny, int nw, int nh) LayoutCell *cell = mCells[gridY][gridX]; if (cell && cell->mType != LayoutCell::NONE) { - int dx = x, dy = y, dw, dh; + int dx = x, dy = y, dw = 0, dh = 0; align(dx, dw, 0, *cell, &widths[gridX]); align(dy, dh, 1, *cell, &heights[gridY]); cell->reflow(dx, dy, dw, dh); 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; |