X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ftreegen.h;h=55da6f9e5bd6e014fee2e3b92843406c20977084;hb=dec8c43de3afdbd2e257a031f5e053e7f1e74aa0;hp=18adff8590ae55b27b76cf583088b5ebf1ecf576;hpb=497ff1ecd64c8908f988e15ca879824f2781e3fd;p=oweals%2Fminetest.git diff --git a/src/treegen.h b/src/treegen.h index 18adff859..55da6f9e5 100644 --- a/src/treegen.h +++ b/src/treegen.h @@ -1,6 +1,6 @@ /* Minetest -Copyright (C) 2010-2012 celeron55, Perttu Ahola , +Copyright (C) 2010-2013 celeron55, Perttu Ahola , 2012-2013 RealBadAngel, Maciej Kasatkin 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 @@ -25,35 +25,39 @@ with this program; if not, write to the Free Software Foundation, Inc., class ManualMapVoxelManipulator; class INodeDefManager; +class ServerEnvironment; -namespace treegen -{ +namespace treegen { -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; -int seed; -}; + 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; + int seed; + }; // Add default tree void make_tree(ManualMapVoxelManipulator &vmanip, v3s16 p0, - bool is_apple_tree, INodeDefManager *ndef,int seed); + bool is_apple_tree, INodeDefManager *ndef, int seed); + // Add jungle tree + void make_jungletree(VoxelManipulator &vmanip, v3s16 p0, + INodeDefManager *ndef, int seed); // Add L-Systems tree (used by engine) void make_ltree(ManualMapVoxelManipulator &vmanip, v3s16 p0, INodeDefManager *ndef, @@ -73,7 +77,7 @@ int seed; PseudoRandom ps, TreeDef &tree_definition); void tree_fruit_placement(ManualMapVoxelManipulator &vmanip, v3f p0, TreeDef &tree_definition); - irr::core::matrix4 setRotationAxisRadians(irr::core::matrix4 M, double angle,v3f axis); + irr::core::matrix4 setRotationAxisRadians(irr::core::matrix4 M, double angle, v3f axis); v3f transposeMatrix(irr::core::matrix4 M ,v3f v);