diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-10-28 18:18:13 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-10-28 18:18:13 +0300 |
commit | 8cd16a9a9ca605137276379361b0328af736c2cc (patch) | |
tree | 5a0c52367d604c42e0bcd7bdf26665900b179166 /src/resources | |
parent | 0cdc936ea83fe265fb6bd1d128b10ff6b53e6254 (diff) | |
download | manaplus-8cd16a9a9ca605137276379361b0328af736c2cc.tar.gz manaplus-8cd16a9a9ca605137276379361b0328af736c2cc.tar.bz2 manaplus-8cd16a9a9ca605137276379361b0328af736c2cc.tar.xz manaplus-8cd16a9a9ca605137276379361b0328af736c2cc.zip |
Add support for add images into buttons in skinned npc dialogs.
Diffstat (limited to 'src/resources')
-rw-r--r-- | src/resources/db/npcdialogdb.cpp | 14 | ||||
-rw-r--r-- | src/resources/npcbuttoninfo.h | 8 |
2 files changed, 18 insertions, 4 deletions
diff --git a/src/resources/db/npcdialogdb.cpp b/src/resources/db/npcdialogdb.cpp index 628ee233e..cf334a601 100644 --- a/src/resources/db/npcdialogdb.cpp +++ b/src/resources/db/npcdialogdb.cpp @@ -56,9 +56,6 @@ static void loadNpcDialog(NpcDialogInfo *const dialog, if (xmlNameEqual(childNode, "button")) { const std::string name = XML::getProperty(childNode, "name", ""); - if (name.empty()) - continue; - const std::string value = XML::getProperty(childNode, "value", ""); if (value.empty()) continue; @@ -70,6 +67,17 @@ static void loadNpcDialog(NpcDialogInfo *const dialog, childNode, "y", 0, 0, 10000); button->name = name; button->value = value; + button->image = XML::getProperty(childNode, "image", ""); + if (button->name.empty() && button->image.empty()) + { + logger->log("Error: npc button without name or image"); + delete button; + continue; + } + button->imageWidth = XML::getIntProperty( + childNode, "imageWidth", 16, 1, 1000); + button->imageHeight = XML::getIntProperty( + childNode, "imageHeight", 16, 1, 1000); dialog->buttons.push_back(button); } } diff --git a/src/resources/npcbuttoninfo.h b/src/resources/npcbuttoninfo.h index 19de87891..d54b7d94c 100644 --- a/src/resources/npcbuttoninfo.h +++ b/src/resources/npcbuttoninfo.h @@ -30,15 +30,21 @@ struct NpcButtonInfo final NpcButtonInfo() : name(), value(), + image(), x(0), - y(0) + y(0), + imageWidth(16), + imageHeight(16) { } std::string name; std::string value; + std::string image; int x; int y; + int imageWidth; + int imageHeight; }; #endif // RESOURCES_NPCBUTTONINFO_H |