From 670304fefa71e2b25b264066aaf0d69fde95bced Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 31 Jan 2012 04:48:00 +0300 Subject: Redesing char creation dialog. Add support for reading all information about hair colors. --- src/resources/colordb.cpp | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'src/resources/colordb.cpp') diff --git a/src/resources/colordb.cpp b/src/resources/colordb.cpp index 1ffe507b2..bce768d6d 100644 --- a/src/resources/colordb.cpp +++ b/src/resources/colordb.cpp @@ -65,7 +65,7 @@ void ColorDB::loadHair() if (!root || !xmlNameEqual(root, "colors")) { logger->log1("ColorDB: Failed to find any color files."); - mHairColors[0] = mFail; + mHairColors[0] = ItemColor(0, "", ""); mLoaded = true; delete doc; @@ -83,9 +83,8 @@ void ColorDB::loadHair() if (mHairColors.find(id) != mHairColors.end()) logger->log("ColorDB: Redefinition of dye ID %d", id); - mHairColors[id] = hairXml ? - XML::getProperty(node, "value", "#FFFFFF") : - XML::getProperty(node, "dye", "#FFFFFF"); + mHairColors[id] = ItemColor(id, XML::getProperty(node, "name", ""), + XML::getProperty(node, hairXml ? "value" : "dye", "#FFFFFF")); } } @@ -158,7 +157,25 @@ std::string &ColorDB::getHairColor(int id) } else { - return i->second; + return i->second.color; + } +} + +std::string &ColorDB::getHairColorName(int id) +{ + if (!mLoaded) + load(); + + ColorIterator i = mHairColors.find(id); + + if (i == mHairColors.end()) + { + logger->log("ColorDB: Error, unknown dye ID# %d", id); + return mFail; + } + else + { + return i->second.name; } } -- cgit v1.2.3-60-g2f50