projects
/
oweals
/
minetest.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make getters of the Settings class const
[oweals/minetest.git]
/
src
/
treegen.h
diff --git
a/src/treegen.h
b/src/treegen.h
index 0068219dd763a63bb0054984ba1862a1357d00d0..a557ad97516fca2e77625576901fb31a1b2436b9 100644
(file)
--- a/
src/treegen.h
+++ b/
src/treegen.h
@@
-1,6
+1,6
@@
/*
/*
-Minetest
-c55
-Copyright (C) 2010-201
2
celeron55, Perttu Ahola <celeron55@gmail.com>,
+Minetest
+Copyright (C) 2010-201
3
celeron55, Perttu Ahola <celeron55@gmail.com>,
2012-2013 RealBadAngel, Maciej Kasatkin <mk@realbadangel.pl>
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
2012-2013 RealBadAngel, Maciej Kasatkin <mk@realbadangel.pl>
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,41
+25,51
@@
with this program; if not, write to the Free Software Foundation, Inc.,
class ManualMapVoxelManipulator;
class INodeDefManager;
class ManualMapVoxelManipulator;
class INodeDefManager;
+class ServerEnvironment;
-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;
-};
+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;
+ int seed;
+ bool explicit_seed;
+ };
// Add default tree
void make_tree(ManualMapVoxelManipulator &vmanip, v3s16 p0,
// 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)
// 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
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
TreeDef tree_definition);
// L-System tree gen helper functions
@@
-73,7
+83,7
@@
int seed;
PseudoRandom ps, TreeDef &tree_definition);
void tree_fruit_placement(ManualMapVoxelManipulator &vmanip, v3f p0,
TreeDef &tree_definition);
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);
v3f transposeMatrix(irr::core::matrix4 M ,v3f v);