summaryrefslogtreecommitdiff
path: root/tools/tmxcopy/xmlutils.cpp
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2008-02-11 19:07:36 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2008-02-11 19:07:36 +0000
commit7f2a504d7bcbc255616af97e050e59b0a2d99c12 (patch)
tree358df0d3f4606aa5386a1937f4d8127633e99a99 /tools/tmxcopy/xmlutils.cpp
parent230c65a923aeaf456d61e5fbf4faec4c93313308 (diff)
downloadmana-client-7f2a504d7bcbc255616af97e050e59b0a2d99c12.tar.gz
mana-client-7f2a504d7bcbc255616af97e050e59b0a2d99c12.tar.bz2
mana-client-7f2a504d7bcbc255616af97e050e59b0a2d99c12.tar.xz
mana-client-7f2a504d7bcbc255616af97e050e59b0a2d99c12.zip
Merged revisions 3750-3751,3755-3759,3761,3766-3767,3773-3776,3779,3781,3783-3789,3791-3800,3807,3814-3815,3817,3819-3820,3822,3824-3825,3827,3829-3838,3840-3841,3843-3858,3860-3875 via svnmerge from
https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/branches/0.0 ........ r3750 | crush_tmw | 2007-11-20 00:36:02 +0100 (Tue, 20 Nov 2007) | 1 line Updated desert maps with new tiles by Len. ........ r3755 | crush_tmw | 2007-11-20 17:47:44 +0100 (Tue, 20 Nov 2007) | 1 line fixed a collision layer error ........ r3773 | crush_tmw | 2007-12-12 16:45:25 +0100 (Wed, 12 Dec 2007) | 2 lines Added my tmxcopy tool for copying parts of maps to other maps. ........ r3774 | b_lindeijer | 2007-12-12 20:06:49 +0100 (Wed, 12 Dec 2007) | 2 lines Added two new cave tiles by yosuhara. ........ r3775 | crush_tmw | 2007-12-12 20:25:40 +0100 (Wed, 12 Dec 2007) | 1 line Fixed the blurred outlines of the new tiles. ........ r3791 | b_lindeijer | 2007-12-18 17:19:53 +0100 (Tue, 18 Dec 2007) | 2 lines Added initial version of the update analysis tool upalyzer. ........ r3792 | b_lindeijer | 2007-12-18 17:22:27 +0100 (Tue, 18 Dec 2007) | 2 lines Small fix to the displayed obsolete data percentage. ........ r3793 | b_lindeijer | 2007-12-18 17:31:52 +0100 (Tue, 18 Dec 2007) | 2 lines Calculate usage percentage correctly and display zip file overhead. ........ r3794 | b_lindeijer | 2007-12-18 19:44:12 +0100 (Tue, 18 Dec 2007) | 4 lines Optimized with single loop approach and nicer printing calls, inspired by doener's version. Also added list of update entries and their respective update. ........ r3795 | b_lindeijer | 2007-12-19 10:26:21 +0100 (Wed, 19 Dec 2007) | 4 lines Fixed association of entries to update, added no-cache headers, added a bit of error reporting in case of invalid zip files, kept original ordering of the update list and sorted the list of entries on their filename. ........ r3796 | b_lindeijer | 2007-12-19 11:32:28 +0100 (Wed, 19 Dec 2007) | 3 lines Added list of files in each update with indication on whether they are still used. ........ r3797 | b_lindeijer | 2007-12-19 12:16:24 +0100 (Wed, 19 Dec 2007) | 2 lines Fixed weird problem with zip_open failing with relative path. ........ r3798 | b_lindeijer | 2007-12-19 12:22:50 +0100 (Wed, 19 Dec 2007) | 2 lines Incorporated some more of doener's leet PHP skills. ;) ........ r3800 | crush_tmw | 2007-12-19 19:11:22 +0100 (Wed, 19 Dec 2007) | 1 line Fixed a map bug (monster trap) on map 18 (woodland village surrounding) ........ r3814 | b_lindeijer | 2007-12-24 17:23:56 +0100 (Mon, 24 Dec 2007) | 2 lines Updated debian subfolder. ........ r3817 | b_lindeijer | 2007-12-25 15:26:22 +0100 (Tue, 25 Dec 2007) | 2 lines Fixed missing backslash. ........ r3822 | crush_tmw | 2007-12-28 01:26:57 +0100 (Fri, 28 Dec 2007) | 1 line Some mapping errors fixed by Zipon. ........ r3824 | crush_tmw | 2007-12-29 03:25:16 +0100 (Sat, 29 Dec 2007) | 1 line Added new map by 5t3v3 (east desert cave) and enhanced version of eastern desert by Len. ........ r3827 | crush_tmw | 2007-12-30 01:28:00 +0100 (Sun, 30 Dec 2007) | 1 line switched layer compression on. ........ r3830 | crush_tmw | 2008-01-03 18:17:00 +0100 (Thu, 03 Jan 2008) | 1 line Some map bugs reported by Strump, fixed by Zipon. ........ r3840 | crush_tmw | 2008-01-14 11:22:14 +0100 (Mon, 14 Jan 2008) | 1 line Added new versions of snow maps by 5t3v3 (with minor fixes) ........ r3845 | crush_tmw | 2008-01-19 12:43:32 +0100 (Sat, 19 Jan 2008) | 1 line Fixes for the new snowland maps by 5t3v3. ........ r3846 | crush_tmw | 2008-01-19 14:00:37 +0100 (Sat, 19 Jan 2008) | 1 line Added hot spring particle effect to pond south of snow village. ........ r3873 | crush_tmw | 2008-02-08 23:07:21 +0100 (Fri, 08 Feb 2008) | 1 line Added Dimonds Cove Restaurant maps. ........ r3875 | crush_tmw | 2008-02-10 15:40:00 +0100 (Sun, 10 Feb 2008) | 1 line Added Dimonds Cove outdoor map. ........
Diffstat (limited to 'tools/tmxcopy/xmlutils.cpp')
-rw-r--r--tools/tmxcopy/xmlutils.cpp76
1 files changed, 76 insertions, 0 deletions
diff --git a/tools/tmxcopy/xmlutils.cpp b/tools/tmxcopy/xmlutils.cpp
new file mode 100644
index 00000000..47bff51a
--- /dev/null
+++ b/tools/tmxcopy/xmlutils.cpp
@@ -0,0 +1,76 @@
+/*
+ * The Mana World
+ * Copyright 2004 The Mana World Development Team
+ *
+ * This file is part of The Mana World.
+ *
+ * The Mana World is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * The Mana World is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with The Mana World; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#include "xmlutils.h"
+
+namespace XML
+{
+ int
+ getProperty(xmlNodePtr node, const char* name, int def)
+ {
+ int &ret = def;
+
+ xmlChar *prop = xmlGetProp(node, BAD_CAST name);
+ if (prop) {
+ ret = atoi((char*)prop);
+ xmlFree(prop);
+ }
+
+ return ret;
+ }
+
+ double
+ getFloatProperty(xmlNodePtr node, const char* name, double def)
+ {
+ double &ret = def;
+
+ xmlChar *prop = xmlGetProp(node, BAD_CAST name);
+ if (prop) {
+ ret = atof((char*)prop);
+ xmlFree(prop);
+ }
+
+ return ret;
+ }
+
+ std::string
+ getProperty(xmlNodePtr node, const char *name, const std::string &def)
+ {
+ xmlChar *prop = xmlGetProp(node, BAD_CAST name);
+ if (prop) {
+ std::string val = (char*)prop;
+ xmlFree(prop);
+ return val;
+ }
+
+ return def;
+ }
+
+ xmlNodePtr findFirstChildByName(xmlNodePtr parent, const char *name)
+ {
+ for_each_xml_child_node(child, parent)
+ if (xmlStrEqual(child->name, BAD_CAST name))
+ return child;
+
+ return NULL;
+ }
+}