diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-07-07 23:53:20 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-07-07 23:53:20 +0300 |
commit | dcc18eba1769a46aeaee2ff441706cf14f3ada4c (patch) | |
tree | 70a8eba874484f3764f8d0d8991b920afba318c9 | |
parent | 281644be03765c7fdb038fe0480d974f3526766f (diff) | |
download | manaplus-dcc18eba1769a46aeaee2ff441706cf14f3ada4c.tar.gz manaplus-dcc18eba1769a46aeaee2ff441706cf14f3ada4c.tar.bz2 manaplus-dcc18eba1769a46aeaee2ff441706cf14f3ada4c.tar.xz manaplus-dcc18eba1769a46aeaee2ff441706cf14f3ada4c.zip |
Add support for default equipment in char creation dialog.v1.2.7.8
-rw-r--r-- | src/gui/charcreatedialog.cpp | 8 | ||||
-rw-r--r-- | src/gui/inventorywindow.cpp | 1 | ||||
-rw-r--r-- | src/resources/chardb.cpp | 12 | ||||
-rw-r--r-- | src/resources/chardb.h | 4 |
4 files changed, 24 insertions, 1 deletions
diff --git a/src/gui/charcreatedialog.cpp b/src/gui/charcreatedialog.cpp index 6a2ad0bf3..5611efa4c 100644 --- a/src/gui/charcreatedialog.cpp +++ b/src/gui/charcreatedialog.cpp @@ -82,6 +82,14 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot): mPlayer = new Being(0, ActorSprite::PLAYER, mRace, nullptr); mPlayer->setGender(GENDER_MALE); + const std::vector<int> &items = CharDB::getDefaultItems(); + int i = 1; + for (std::vector<int>::const_iterator it = items.begin(), + it_end = items.end(); + it != it_end; ++ it, i ++) + { + mPlayer->setSprite(i, *it); + } maxHairColor = CharDB::getMaxHairColor(); minHairColor = CharDB::getMinHairColor(); diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp index 0db48cbb8..de2e0e1a4 100644 --- a/src/gui/inventorywindow.cpp +++ b/src/gui/inventorywindow.cpp @@ -48,7 +48,6 @@ #include "gui/widgets/label.h" #include "gui/widgets/layout.h" #include "gui/widgets/progressbar.h" -#include "gui/widgets/radiobutton.h" #include "gui/widgets/scrollarea.h" #include "gui/widgets/tabstrip.h" #include "gui/widgets/textfield.h" diff --git a/src/resources/chardb.cpp b/src/resources/chardb.cpp index f38f13224..6ee5f964f 100644 --- a/src/resources/chardb.cpp +++ b/src/resources/chardb.cpp @@ -36,6 +36,7 @@ namespace unsigned mMinStat = 0; unsigned mMaxStat = 0; unsigned mSumStat = 0; + std::vector<int> mDefaultItems; } void CharDB::load() @@ -69,6 +70,12 @@ void CharDB::load() loadMinMax(node, &mMinStat, &mMaxStat); mSumStat = XML::getProperty(node, "sum", 0); } + else if (xmlNameEqual(node, "item")) + { + int id = XML::getProperty(node, "id", 0); + if (id > 0) + mDefaultItems.push_back(id); + } } delete doc; @@ -123,3 +130,8 @@ unsigned CharDB::getSumStat() { return mSumStat; } + +const std::vector<int> &CharDB::getDefaultItems() +{ + return mDefaultItems; +} diff --git a/src/resources/chardb.h b/src/resources/chardb.h index 60ff31084..d0628fbdf 100644 --- a/src/resources/chardb.h +++ b/src/resources/chardb.h @@ -27,6 +27,8 @@ #include "utils/xml.h" +#include <vector> + /** * Char information database. */ @@ -57,6 +59,8 @@ namespace CharDB unsigned getMaxStat(); unsigned getSumStat(); + + const std::vector<int> &getDefaultItems(); } #endif |