summaryrefslogtreecommitdiff
path: root/src/resources
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-10-28 18:18:13 +0300
committerAndrei Karas <akaras@inbox.ru>2015-10-28 18:18:13 +0300
commit8cd16a9a9ca605137276379361b0328af736c2cc (patch)
tree5a0c52367d604c42e0bcd7bdf26665900b179166 /src/resources
parent0cdc936ea83fe265fb6bd1d128b10ff6b53e6254 (diff)
downloadmanaplus-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.cpp14
-rw-r--r--src/resources/npcbuttoninfo.h8
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