summaryrefslogtreecommitdiff
path: root/src/treegen.cpp
diff options
context:
space:
mode:
authorparamat <mat.gregory@virginmedia.com>2015-07-13 01:17:54 +0100
committerparamat <mat.gregory@virginmedia.com>2015-07-13 19:41:26 +0100
commit66ea356e688879e898dc81a435d76294ac2a1098 (patch)
tree028fc8ffa877ed72502a0593370753b909e9938d /src/treegen.cpp
parentc3dead719ae737a2e61f7e0e81cfc1b614790edd (diff)
downloadminetest-66ea356e688879e898dc81a435d76294ac2a1098.tar.gz
minetest-66ea356e688879e898dc81a435d76294ac2a1098.tar.bz2
minetest-66ea356e688879e898dc81a435d76294ac2a1098.zip
Mgv6/treegen: (Re)Add fallback nodes for compatibility with subgames
Diffstat (limited to 'src/treegen.cpp')
-rw-r--r--src/treegen.cpp27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/treegen.cpp b/src/treegen.cpp
index a85d88815..39cb1ca06 100644
--- a/src/treegen.cpp
+++ b/src/treegen.cpp
@@ -656,8 +656,15 @@ void make_jungletree(MMVManip &vmanip, v3s16 p0, INodeDefManager *ndef, int seed
and in games that have saplings; both are deprecated but not
replaced yet
*/
- MapNode treenode(ndef->getId("mapgen_jungletree"));
- MapNode leavesnode(ndef->getId("mapgen_jungleleaves"));
+ content_t c_tree = ndef->getId("mapgen_jungletree");
+ content_t c_leaves = ndef->getId("mapgen_jungleleaves");
+ if (c_tree == CONTENT_IGNORE)
+ c_tree = ndef->getId("mapgen_tree");
+ if (c_leaves == CONTENT_IGNORE)
+ c_leaves = ndef->getId("mapgen_leaves");
+
+ MapNode treenode(c_tree);
+ MapNode leavesnode(c_leaves);
PseudoRandom pr(seed);
for (s16 x= -1; x <= 1; x++)
@@ -748,9 +755,19 @@ void make_pine_tree(MMVManip &vmanip, v3s16 p0, INodeDefManager *ndef, int seed)
and in games that have saplings; both are deprecated but not
replaced yet
*/
- MapNode treenode(ndef->getId("mapgen_pinetree"));
- MapNode leavesnode(ndef->getId("mapgen_pine_needles"));
- MapNode snownode(ndef->getId("mapgen_snow"));
+ content_t c_tree = ndef->getId("mapgen_pinetree");
+ content_t c_leaves = ndef->getId("mapgen_pine_needles");
+ content_t c_snow = ndef->getId("mapgen_snow");
+ if (c_tree == CONTENT_IGNORE)
+ c_tree = ndef->getId("mapgen_tree");
+ if (c_leaves == CONTENT_IGNORE)
+ c_leaves = ndef->getId("mapgen_leaves");
+ if (c_snow == CONTENT_IGNORE)
+ c_snow = CONTENT_AIR;
+
+ MapNode treenode(c_tree);
+ MapNode leavesnode(c_leaves);
+ MapNode snownode(c_snow);
PseudoRandom pr(seed);
s16 trunk_h = pr.range(9, 13);