diff options
Diffstat (limited to 'src/resources')
-rw-r--r-- | src/resources/itemdb.cpp | 12 | ||||
-rw-r--r-- | src/resources/settingsmanager.cpp | 17 |
2 files changed, 21 insertions, 8 deletions
diff --git a/src/resources/itemdb.cpp b/src/resources/itemdb.cpp index b802457e..8c1a8d15 100644 --- a/src/resources/itemdb.cpp +++ b/src/resources/itemdb.cpp @@ -326,9 +326,6 @@ void TaItemDB::init() { if (mLoaded) unload(); - - mUnknown = new TaItemInfo; - loadEmptyItemDefinition(); } void TaItemDB::readItemNode(xmlNodePtr node, const std::string &filename) @@ -376,6 +373,9 @@ void TaItemDB::readItemNode(xmlNodePtr node, const std::string &filename) void TaItemDB::checkStatus() { + mUnknown = new TaItemInfo; + loadEmptyItemDefinition(); + checkHairWeaponsRacesSpecialIds(); mLoaded = true; @@ -417,9 +417,6 @@ void ManaServItemDB::init() // Initialize the trigger table for effect descriptions initTriggerTable(); - - mUnknown = new ManaServItemInfo; - loadEmptyItemDefinition(); } void ManaServItemDB::readItemNode(xmlNodePtr node, const std::string &filename) @@ -530,6 +527,9 @@ void ManaServItemDB::readItemNode(xmlNodePtr node, const std::string &filename) void ManaServItemDB::checkStatus() { + mUnknown = new ManaServItemInfo; + loadEmptyItemDefinition(); + mLoaded = true; } diff --git a/src/resources/settingsmanager.cpp b/src/resources/settingsmanager.cpp index b2d1fe80..940ebb59 100644 --- a/src/resources/settingsmanager.cpp +++ b/src/resources/settingsmanager.cpp @@ -20,6 +20,7 @@ #include "resources/settingsmanager.h" +#include "configuration.h" #include "resources/attributes.h" #include "resources/hairdb.h" #include "resources/itemdb.h" @@ -39,14 +40,15 @@ namespace SettingsManager { - std::string mSettingsFile; - std::set<std::string> mIncludedFiles; + static std::string mSettingsFile; + static std::set<std::string> mIncludedFiles; static void loadFile(const std::string &filename); void load() { // initialize managers + paths.clear(); Attributes::init(); hairDB.init(); itemDb->init(); @@ -140,6 +142,17 @@ namespace SettingsManager } } } + else if (xmlStrEqual(childNode->name, BAD_CAST "option")) + { + // options from paths.xml + std::string name = XML::getProperty(childNode, "name", std::string()); + std::string value = XML::getProperty(childNode, "value", std::string()); + + if (!name.empty()) + paths.setValue(name, value); + else + logger->log("Warning: option without a name found in %s", filename.c_str()); + } else if (xmlStrEqual(childNode->name, BAD_CAST "attribute")) { // map config |