diff options
author | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-01-13 17:58:50 +0100 |
---|---|---|
committer | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-01-13 17:58:50 +0100 |
commit | 715d07feeb01a3f633aa42aeb40a524c16ca321e (patch) | |
tree | 68eec12d328476a9f303cc0584ecb3cd6fa868af /src/resources/itemdb.cpp | |
parent | 83a3b6f920f446b3001725554ab15bed34d6f368 (diff) | |
download | mana-715d07feeb01a3f633aa42aeb40a524c16ca321e.tar.gz mana-715d07feeb01a3f633aa42aeb40a524c16ca321e.tar.bz2 mana-715d07feeb01a3f633aa42aeb40a524c16ca321e.tar.xz mana-715d07feeb01a3f633aa42aeb40a524c16ca321e.zip |
Made the client handle better the lack of items.xml file.
Now the client returns to server choice dialog with a warning
instead of aborting.
I'm kinda certain I'm not the only one getting crazy
with such a lazy behaviour.
Reviewed-by: Jaxad.
Diffstat (limited to 'src/resources/itemdb.cpp')
-rw-r--r-- | src/resources/itemdb.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/resources/itemdb.cpp b/src/resources/itemdb.cpp index 019c66e3..435cdf96 100644 --- a/src/resources/itemdb.cpp +++ b/src/resources/itemdb.cpp @@ -89,11 +89,14 @@ void ItemDB::load() mUnknown->setSprite(errFile, GENDER_MALE); mUnknown->setSprite(errFile, GENDER_FEMALE); - XML::Document doc("items.xml"); + XML::Document doc(ITEMS_DB_FILE); xmlNodePtr rootNode = doc.rootNode(); if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "items")) - logger->error("ItemDB: Error while loading items.xml!"); + { + logger->log("ItemDB: Error while loading " ITEMS_DB_FILE "!"); + return; + } for_each_xml_child_node(node, rootNode) { @@ -104,7 +107,8 @@ void ItemDB::load() if (!id) { - logger->log("ItemDB: Invalid or missing item ID in items.xml!"); + logger->log("ItemDB: Invalid or missing item ID in " + ITEMS_DB_FILE "!"); continue; } else if (mItemInfos.find(id) != mItemInfos.end()) |