aboutsummaryrefslogtreecommitdiff
path: root/src/mapgen/treegen.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mapgen/treegen.h')
-rw-r--r--src/mapgen/treegen.h120
1 files changed, 61 insertions, 59 deletions
diff --git a/src/mapgen/treegen.h b/src/mapgen/treegen.h
index f2ee36a4e..447baabb3 100644
--- a/src/mapgen/treegen.h
+++ b/src/mapgen/treegen.h
@@ -28,64 +28,66 @@ class MMVManip;
class NodeDefManager;
class ServerMap;
-namespace treegen
-{
-
-enum error
-{
- SUCCESS,
- UNBALANCED_BRACKETS
-};
-
-struct TreeDef
-{
- std::string initial_axiom;
- std::string rules_a;
- std::string rules_b;
- std::string rules_c;
- std::string rules_d;
-
- MapNode trunknode;
- MapNode leavesnode;
- MapNode leaves2node;
-
- int leaves2_chance;
- int angle;
- int iterations;
- int iterations_random_level;
- std::string trunk_type;
- bool thin_branches;
- MapNode fruitnode;
- int fruit_chance;
- s32 seed;
- bool explicit_seed;
-};
-
-// Add default tree
-void make_tree(MMVManip &vmanip, v3s16 p0, bool is_apple_tree, const NodeDefManager *ndef,
- s32 seed);
-// Add jungle tree
-void make_jungletree(MMVManip &vmanip, v3s16 p0, const NodeDefManager *ndef, s32 seed);
-// Add pine tree
-void make_pine_tree(MMVManip &vmanip, v3s16 p0, const NodeDefManager *ndef, s32 seed);
-
-// Add L-Systems tree (used by engine)
-treegen::error make_ltree(MMVManip &vmanip, v3s16 p0, const NodeDefManager *ndef,
- TreeDef tree_definition);
-// Spawn L-systems tree from LUA
-treegen::error spawn_ltree(ServerMap *map, v3s16 p0, const NodeDefManager *ndef,
- const TreeDef &tree_definition);
-
-// L-System tree gen helper functions
-void tree_node_placement(MMVManip &vmanip, v3f p0, MapNode node);
-void tree_trunk_placement(MMVManip &vmanip, v3f p0, TreeDef &tree_definition);
-void tree_leaves_placement(
- MMVManip &vmanip, v3f p0, PseudoRandom ps, TreeDef &tree_definition);
-void tree_single_leaves_placement(
- MMVManip &vmanip, v3f p0, PseudoRandom ps, TreeDef &tree_definition);
-void tree_fruit_placement(MMVManip &vmanip, v3f p0, TreeDef &tree_definition);
-irr::core::matrix4 setRotationAxisRadians(irr::core::matrix4 M, double angle, v3f axis);
-
-v3f transposeMatrix(irr::core::matrix4 M, v3f v);
+namespace treegen {
+
+ enum error {
+ SUCCESS,
+ UNBALANCED_BRACKETS
+ };
+
+ struct TreeDef {
+ std::string initial_axiom;
+ std::string rules_a;
+ std::string rules_b;
+ std::string rules_c;
+ std::string rules_d;
+
+ MapNode trunknode;
+ MapNode leavesnode;
+ MapNode leaves2node;
+
+ int leaves2_chance;
+ int angle;
+ int iterations;
+ int iterations_random_level;
+ std::string trunk_type;
+ bool thin_branches;
+ MapNode fruitnode;
+ int fruit_chance;
+ s32 seed;
+ bool explicit_seed;
+ };
+
+ // Add default tree
+ void make_tree(MMVManip &vmanip, v3s16 p0,
+ bool is_apple_tree, const NodeDefManager *ndef, s32 seed);
+ // Add jungle tree
+ void make_jungletree(MMVManip &vmanip, v3s16 p0,
+ const NodeDefManager *ndef, s32 seed);
+ // Add pine tree
+ void make_pine_tree(MMVManip &vmanip, v3s16 p0,
+ const NodeDefManager *ndef, s32 seed);
+
+ // Add L-Systems tree (used by engine)
+ treegen::error make_ltree(MMVManip &vmanip, v3s16 p0,
+ const NodeDefManager *ndef, TreeDef tree_definition);
+ // Spawn L-systems tree from LUA
+ treegen::error spawn_ltree (ServerMap *map, v3s16 p0,
+ const NodeDefManager *ndef, const TreeDef &tree_definition);
+
+ // L-System tree gen helper functions
+ void tree_node_placement(MMVManip &vmanip, v3f p0,
+ MapNode node);
+ void tree_trunk_placement(MMVManip &vmanip, v3f p0,
+ TreeDef &tree_definition);
+ void tree_leaves_placement(MMVManip &vmanip, v3f p0,
+ PseudoRandom ps, TreeDef &tree_definition);
+ void tree_single_leaves_placement(MMVManip &vmanip, v3f p0,
+ PseudoRandom ps, TreeDef &tree_definition);
+ void tree_fruit_placement(MMVManip &vmanip, v3f p0,
+ TreeDef &tree_definition);
+ irr::core::matrix4 setRotationAxisRadians(irr::core::matrix4 M, double angle, v3f axis);
+
+ v3f transposeMatrix(irr::core::matrix4 M ,v3f v);
}; // namespace treegen