]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/nodemetadata.h
Biomes: Make biome heat and humidity noise parameters user-configurable
[dragonfireclient.git] / src / nodemetadata.h
index 5af10d0f0ef8133a9fad5d177c1026fcdb6060cf..6baf3b3d37bf3808bedab05e768c6472ccaaed13 100644 (file)
@@ -20,7 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #ifndef NODEMETADATA_HEADER
 #define NODEMETADATA_HEADER
 
-#include "irrlichttypes_bloated.h"
+#include "irr_v3d.h"
 #include <string>
 #include <iostream>
 #include <map>
@@ -49,28 +49,10 @@ class NodeMetadata
        void clear();
 
        // Generic key/value store
-       std::string getString(const std::string &name) const
-       {
-               std::map<std::string, std::string>::const_iterator i;
-               i = m_stringvars.find(name);
-               if(i == m_stringvars.end())
-                       return "";
-               return resolveString(i->second);
-       }
-       void setString(const std::string &name, const std::string &var)
-       {
-               if(var.empty())
-                       m_stringvars.erase(name);
-               else
-                       m_stringvars[name] = var;
-       }
-       // support variable names in values
-       std::string resolveString(const std::string &str) const
-       {
-               if(str.substr(0,2) == "${" && str[str.length()-1] == '}')
-                       return resolveString(getString(str.substr(2,str.length()-3)));
-               return str;
-       }
+       std::string getString(const std::string &name, unsigned short recursion = 0) const;
+       void setString(const std::string &name, const std::string &var);
+       // Support variable names in values
+       std::string resolveString(const std::string &str, unsigned short recursion = 0) const;
        std::map<std::string, std::string> getStrings() const
        {
                return m_stringvars;