]> 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 1602ef937ebaa3bd92efe042377ba6b3ca10c0bb..6baf3b3d37bf3808bedab05e768c6472ccaaed13 100644 (file)
@@ -1,6 +1,6 @@
 /*
 Minetest
-Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
+Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as published by
@@ -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;