Index: code/branches/kicklib/src/external/tinyxml/CMakeLists.txt
===================================================================
--- code/branches/kicklib/src/external/tinyxml/CMakeLists.txt	(revision 8102)
+++ code/branches/kicklib/src/external/tinyxml/CMakeLists.txt	(revision 8103)
@@ -36,6 +36,4 @@
   ORXONOX_EXTERNAL
   NO_DLL_INTERFACE
-  VERSION
-    2.5.3
   SOURCE_FILES
     ${TINYXML_FILES}
Index: code/branches/kicklib/src/external/tinyxml/VERSION
===================================================================
--- code/branches/kicklib/src/external/tinyxml/VERSION	(revision 8102)
+++ code/branches/kicklib/src/external/tinyxml/VERSION	(revision 8103)
@@ -1,1 +1,2 @@
-TinyXML++ trunk checkout revision 106. Built on top of TinyXML 2.5.3
+TinyXML++ trunk checkout revision 122 (version 0.04a).
+Built with TinyXML 2.5.3.
Index: code/branches/kicklib/src/external/tinyxml/changes_orxonox.diff
===================================================================
--- code/branches/kicklib/src/external/tinyxml/changes_orxonox.diff	(revision 8102)
+++ code/branches/kicklib/src/external/tinyxml/changes_orxonox.diff	(revision 8103)
@@ -1,18 +1,35 @@
---- ticpp.h	Tue Nov  4 21:55:49 2008
-+++ ticpp.h	Sat Jan 10 14:48:41 2009
-@@ -1229,6 +1229,7 @@
+--- ticpp.h
++++ ticpp.h
+@@ -38,9 +38,7 @@
+ @todo add TYPECOUNT support. See ticpp::NodeFactory.
+ @todo Add a quick reference
+ */
+-#ifndef TIXML_USE_TICPP
+-	#define TIXML_USE_TICPP
+-#endif
++#ifdef TIXML_USE_TICPP
+ 
+ #ifndef TICPP_INCLUDED
+ #define TICPP_INCLUDED
+@@ -1231,6 +1229,7 @@
  
  		T* m_tiXmlPointer;		/**< Internal pointer to the TiXml Class which is being wrapped */
  
-+    public:
++	public:
  		/**
  		@internal
  		Gets the internal TinyXML pointer.
-@@ -1240,6 +1241,7 @@
+@@ -1242,6 +1241,7 @@
  			ValidatePointer();
  			return m_tiXmlPointer;
  		}
-+    protected:
++	protected:
  
  		/**
  		@internal
+@@ -1903,3 +1903,5 @@
+ }
+ 
+ #endif	// TICPP_INCLUDED
++
++#endif // TIXML_USE_TICPP
Index: code/branches/kicklib/src/external/tinyxml/ticpp.cpp
===================================================================
--- code/branches/kicklib/src/external/tinyxml/ticpp.cpp	(revision 8102)
+++ code/branches/kicklib/src/external/tinyxml/ticpp.cpp	(revision 8103)
@@ -370,5 +370,5 @@
 }
 
-Node* Node::InsertEndChild( Node& addThis )
+Node* Node::InsertEndChild( const Node& addThis )
 {
 	if ( addThis.Type() == TiXmlNode::DOCUMENT )
@@ -404,5 +404,5 @@
 }
 
-Node* Node::InsertBeforeChild( Node* beforeThis, Node& addThis )
+Node* Node::InsertBeforeChild( Node* beforeThis, const Node& addThis )
 {
 	if ( addThis.Type() == TiXmlNode::DOCUMENT )
@@ -423,5 +423,5 @@
 }
 
-Node* Node::InsertAfterChild( Node* afterThis, Node& addThis )
+Node* Node::InsertAfterChild( Node* afterThis, const Node& addThis )
 {
 	if ( addThis.Type() == TiXmlNode::DOCUMENT )
@@ -442,5 +442,5 @@
 }
 
-Node* Node::ReplaceChild( Node* replaceThis, Node& withThis )
+Node* Node::ReplaceChild( Node* replaceThis, const Node& withThis )
 {
 	if ( withThis.Type() == TiXmlNode::DOCUMENT )
Index: code/branches/kicklib/src/external/tinyxml/ticpp.h
===================================================================
--- code/branches/kicklib/src/external/tinyxml/ticpp.h	(revision 8102)
+++ code/branches/kicklib/src/external/tinyxml/ticpp.h	(revision 8103)
@@ -225,5 +225,5 @@
 			return ( GetBasePointer() == rhs.GetBasePointer() );
 		}
-		
+
 		/**
 		Compare internal TiXml pointers to determine is both are wrappers around the same node
@@ -233,5 +233,5 @@
 			return ( GetBasePointer() != rhs.GetBasePointer() );
 		}
-		
+
 		/**
 		Builds detailed error string using TiXmlDocument::Error() and others
@@ -250,6 +250,6 @@
 					{
 						full_message 	<< "\nDescription: " << doc->ErrorDesc()
-										<< "\nFile: " << (strlen( doc->Value() ) > 0 ? doc->Value() : "<unnamed-file>") 
-										<< "\nLine: " << doc->ErrorRow() 
+										<< "\nFile: " << (strlen( doc->Value() ) > 0 ? doc->Value() : "<unnamed-file>")
+										<< "\nLine: " << doc->ErrorRow()
 										<< "\nColumn: " << doc->ErrorCol();
 					}
@@ -287,5 +287,5 @@
 				TICPPTHROW( "Internal TiXml Pointer is NULL" );
 			}
-		}		
+		}
 
 		/**
@@ -617,5 +617,5 @@
 		@see TiXmlNode::InsertEndChild
 		*/
-		Node* InsertEndChild( Node& addThis );
+		Node* InsertEndChild( const Node& addThis );
 
 		/**
@@ -642,5 +642,5 @@
 		@see TiXmlNode::InsertBeforeChild
 		*/
-		Node* InsertBeforeChild( Node* beforeThis, Node& addThis );
+		Node* InsertBeforeChild( Node* beforeThis, const Node& addThis );
 
 		/**
@@ -655,5 +655,5 @@
 		@see TiXmlNode::InsertAfterChild
 		*/
-		Node* InsertAfterChild( Node* afterThis, Node& addThis );
+		Node* InsertAfterChild( Node* afterThis, const Node& addThis );
 
 		/**
@@ -667,5 +667,5 @@
 		@see TiXmlNode::ReplaceChild
 		*/
-		Node* ReplaceChild( Node* replaceThis, Node& withThis );
+		Node* ReplaceChild( Node* replaceThis, const Node& withThis );
 
 		/**
@@ -1163,5 +1163,5 @@
 		/** Sets internal pointer to the Previous Sibling, or Iterator::END, if there are no prior siblings */
 		Iterator operator--(int)
-		{			
+		{
 			Iterator tmp(*this);
 			--(*this);
@@ -1230,5 +1230,5 @@
 		T* m_tiXmlPointer;		/**< Internal pointer to the TiXml Class which is being wrapped */
 
-    public:
+	public:
 		/**
 		@internal
@@ -1242,5 +1242,5 @@
 			return m_tiXmlPointer;
 		}
-    protected:
+	protected:
 
 		/**
@@ -1400,9 +1400,10 @@
 
 		/**
-		Constructor.
-		Create a document with a name. The name of the document is also the filename of the xml.
-
-		@param documentName Name to set in the Document.
-		*/
+		 * Constructor.
+		 * Create a document with a name. The name of the document is also the filename of the xml.
+		 * @param documentName Name to set in the Document.
+		 * @note LoadFile() needs to be called to actually load the data from the file specified by documentName
+		 * 		 SaveFile() needs to be called to save data to file specified by documentName.
+		 */
 		Document( const std::string& documentName );
 
@@ -1749,5 +1750,6 @@
 				if ( throwIfNotFound )
 				{
-					TICPPTHROW( "Attribute does not exist" );
+					const std::string error( std::string( "Attribute '" ) + name + std::string( "' does not exist" ) );
+					TICPPTHROW( error );
 				}
 			}
@@ -1781,5 +1783,6 @@
 				if ( throwIfNotFound )
 				{
-					TICPPTHROW( "Attribute does not exist" );
+					const std::string error( std::string( "Attribute '" ) + name + std::string( "' does not exist" ) );
+					TICPPTHROW( error );
 				}
 				else
