]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/treegen.h
Mapgen V5: Fix use of uninitialized value in ctor
[dragonfireclient.git] / src / treegen.h
index 16c85cf0a301c079cce25c3e396fa2b37eefcb8a..a557ad97516fca2e77625576901fb31a1b2436b9 100644 (file)
@@ -25,10 +25,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 class ManualMapVoxelManipulator;
 class INodeDefManager;
+class ServerEnvironment;
 
 
 namespace treegen {
 
+       enum error {
+               SUCCESS,
+               UNBALANCED_BRACKETS
+       };
+
        struct TreeDef {
                std::string initial_axiom;
                std::string rules_a;
@@ -49,6 +55,7 @@ namespace treegen {
                MapNode fruitnode;
                int fruit_chance;
                int seed;
+               bool explicit_seed;
        };
 
        // Add default tree
@@ -59,10 +66,10 @@ namespace treegen {
                INodeDefManager *ndef, int seed);
 
        // Add L-Systems tree (used by engine)
-       void make_ltree(ManualMapVoxelManipulator &vmanip, v3s16 p0, INodeDefManager *ndef,
+       treegen::error make_ltree(ManualMapVoxelManipulator &vmanip, v3s16 p0, INodeDefManager *ndef,
                TreeDef tree_definition);
        // Spawn L-systems tree from LUA
-       void spawn_ltree (ServerEnvironment *env, v3s16 p0, INodeDefManager *ndef,
+       treegen::error spawn_ltree (ServerEnvironment *env, v3s16 p0, INodeDefManager *ndef,
                TreeDef tree_definition);
 
        // L-System tree gen helper functions