X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ftreegen.h;h=a557ad97516fca2e77625576901fb31a1b2436b9;hb=b97c9c65777b0389f4cc9a6e3257506f29761e03;hp=16c85cf0a301c079cce25c3e396fa2b37eefcb8a;hpb=d10223254ab9363eb1b6f8cc7aa6b99965940cee;p=oweals%2Fminetest.git diff --git a/src/treegen.h b/src/treegen.h index 16c85cf0a..a557ad975 100644 --- a/src/treegen.h +++ b/src/treegen.h @@ -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