diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-08-06 17:56:54 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-08-06 18:04:42 +0300 |
commit | 23dcc6af6b06901088ceac938850e8fa8717e422 (patch) | |
tree | c87136cd1816a1340972464900511593fd5e5bec | |
parent | 8b89f43575300bceaa7ce659117707f1cbc5eddd (diff) | |
download | mv-23dcc6af6b06901088ceac938850e8fa8717e422.tar.gz mv-23dcc6af6b06901088ceac938850e8fa8717e422.tar.bz2 mv-23dcc6af6b06901088ceac938850e8fa8717e422.tar.xz mv-23dcc6af6b06901088ceac938850e8fa8717e422.zip |
Add support for player rider offset by x and y.
-rw-r--r-- | src/being/being.cpp | 4 | ||||
-rw-r--r-- | src/resources/db/horsedb.cpp | 4 | ||||
-rw-r--r-- | src/resources/horseinfo.h | 6 |
3 files changed, 12 insertions, 2 deletions
diff --git a/src/being/being.cpp b/src/being/being.cpp index 14fddc6c0..8ce14bc40 100644 --- a/src/being/being.cpp +++ b/src/being/being.cpp @@ -3521,7 +3521,9 @@ void Being::drawPlayer(Graphics *restrict const graphics, } drawBeingCursor(graphics, px, py); - drawPlayerSpriteAt(graphics, px, py); + drawPlayerSpriteAt(graphics, + px + mHorseInfo->riderOffsetX, + py + mHorseInfo->riderOffsetY); for_each_horses(mUpHorseSprites) { diff --git a/src/resources/db/horsedb.cpp b/src/resources/db/horsedb.cpp index 701bfd2f9..081a12c6f 100644 --- a/src/resources/db/horsedb.cpp +++ b/src/resources/db/horsedb.cpp @@ -141,6 +141,10 @@ void HorseDB::loadXmlFile(const std::string &fileName, "downOffsetX", offsetX); currentInfo->downOffsetY = XML::getProperty(horseNode, "downOffsetY", offsetY); + currentInfo->riderOffsetX = XML::getProperty(horseNode, + "riderOffsetX", 0); + currentInfo->riderOffsetY = XML::getProperty(horseNode, + "riderOffsetY", 0); for_each_xml_child_node(spriteNode, horseNode) { diff --git a/src/resources/horseinfo.h b/src/resources/horseinfo.h index c9d75f808..4ff1dfb09 100644 --- a/src/resources/horseinfo.h +++ b/src/resources/horseinfo.h @@ -34,7 +34,9 @@ struct HorseInfo final downOffsetX(0), downOffsetY(0), upOffsetX(0), - upOffsetY(0) + upOffsetY(0), + riderOffsetX(0), + riderOffsetY(0) { } A_DELETE_COPY(HorseInfo) @@ -45,6 +47,8 @@ struct HorseInfo final int downOffsetY; int upOffsetX; int upOffsetY; + int riderOffsetX; + int riderOffsetY; }; #endif // RESOURCES_HORSEINFO_H |