Index: code/branches/hud/src/util/Convert.h
===================================================================
--- code/branches/hud/src/util/Convert.h	(revision 1588)
+++ code/branches/hud/src/util/Convert.h	(revision 1595)
@@ -43,4 +43,5 @@
 #include "SubString.h"
 #include "MultiTypeMath.h"
+#include "String.h"
 
 // disable annoying warning about forcing value to boolean
@@ -320,4 +321,11 @@
     }
 };
+
+// convert from string Shortcut
+template <class ToType>
+ToType convertFromString(std::string str)
+{
+  return getConvertedValue<std::string, ToType>(str);
+}
 
 
@@ -411,4 +419,19 @@
 ////////////////////
 
+// bool to std::string
+template <>
+struct ConverterSpecialized<bool, std::string, _Explicit_>
+{
+    enum { specialized = true };
+    static bool convert(std::string* output, const bool& input)
+    {
+        if (input)
+          *output = "true";
+        else
+          *output = "false";
+        return false;
+    }
+};
+
 // Vector2 to std::string
 template <>
@@ -501,4 +524,31 @@
 ////////////////////
 
+// std::string to bool
+template <>
+struct ConverterSpecialized<std::string, bool, _Explicit_>
+{
+    enum { specialized = true };
+    static bool convert(bool* output, const std::string& input)
+    {
+        std::string stripped = getLowercase(removeTrailingWhitespaces(input));
+        if (stripped == "true" || stripped == "on" || stripped == "yes")
+        {
+          *output = true;
+          return true;
+        }
+        else if (stripped == "false" || stripped == "off" || stripped == "no")
+        {
+          *output = false;
+          return true;
+        }
+
+        std::istringstream iss(input);
+        if (iss >> (*output))
+            return true;
+        else
+            return false;
+    }
+};
+
 // std::string to Vector2
 template <>
Index: code/branches/hud/src/util/String.h
===================================================================
--- code/branches/hud/src/util/String.h	(revision 1588)
+++ code/branches/hud/src/util/String.h	(revision 1595)
@@ -70,97 +70,3 @@
 _UtilExport unsigned int getNextCommentPosition(const std::string& str, unsigned int start = 0);
 
-//! The Convert class has some static member functions to convert strings to values and values to strings.
-class _UtilExport Convert
-{
-    public:
-        /**
-            @brief Converts a value of any type to a string.
-            @param output The string to write the result in
-            @param input The variable to convert
-            @return True if the conversion succeded
-
-            @example
-            float f = 3.14;
-            std::string output;
-            bool success = Convert::ToString(&output, f);
-        */
-        template <typename T>
-        static bool ToString(std::string* output, T input)
-        {
-            std::ostringstream oss;
-            if (oss << input)
-            {
-                (*output) = oss.str();
-                return true;
-            }
-
-            return false;
-        }
-
-        /**
-            @brief Converts a value of any type to a string and assigns a defaultvalue if the conversion fails.
-            @param output The string to write the result in
-            @param input The variable to convert
-            @param fallbackString The assigned string if the conversion fails.
-            @return True if the conversion succeeded
-
-            @example
-            float f = 3.14;
-            std::string output;
-            bool success = Convert::ToString(&output, f, "0.000000");
-        */
-        template <typename T>
-        static bool ToString(std::string* output, T input, const std::string& fallbackString)
-        {
-            if (Convert::ToString(output, input))
-                return true;
-
-            (*output) = fallbackString;
-            return false;
-        }
-
-        /**
-            @brief Converts a string to a value of any type.
-            @param output The variable to assign the result to
-            @param input The string to convert
-            @return True if the conversion succeeded
-
-            @example
-            std::string input = "3.14";
-            float f;
-            bool success = string2Number(&f, input);
-        */
-        template <typename T>
-        static bool FromString(T* output, const std::string& input)
-        {
-            std::istringstream iss(input);
-            if (iss >> (*output))
-                return true;
-
-            return false;
-        }
-
-        /**
-            @brief Converts a string to a value of any type.
-            @param output The variable to assign the result to
-            @param input The string to convert
-            @param fallbackValue The assigned value if the conversion fails
-            @return True if the conversion succeeded
-
-            @example
-            std::string input = "3.14";
-            float f;
-            bool success = string2Number(&f, input, 0.000000);
-        */
-        template <typename T>
-        static bool FromString(T* output, const std::string& input, T fallbackValue)
-        {
-            if (Convert::FromString(output, input))
-                return true;
-
-            (*output) = fallbackValue;
-            return false;
-        }
-};
-
 #endif /* _Util_String_H__ */
