From f6df5cea878d3dbd7bcff14749b173e5e88600eb Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Thu, 28 Nov 2013 22:08:42 +0100 Subject: [PATCH] Trees will generate in the new biomes. Only the generic trees, the special variants haven't yet been implemented. --- src/Generating/StructGen.cpp | 65 ++++++++++++++++++++++++++++-------- src/Generating/Trees.cpp | 50 +++++++++++++++++++++++++++ 2 files changed, 101 insertions(+), 14 deletions(-) diff --git a/src/Generating/StructGen.cpp b/src/Generating/StructGen.cpp index 2180261aa..504c26238 100644 --- a/src/Generating/StructGen.cpp +++ b/src/Generating/StructGen.cpp @@ -260,20 +260,57 @@ int cStructGenTrees::GetNumTrees( int Add = 0; switch (cChunkDef::GetBiome(a_Biomes, x, z)) { - case biPlains: Add = 1; break; - case biExtremeHills: Add = 3; break; - case biForest: Add = 30; break; - case biTaiga: Add = 30; break; - case biSwampland: Add = 8; break; - case biIcePlains: Add = 1; break; - case biIceMountains: Add = 1; break; - case biMushroomIsland: Add = 3; break; - case biMushroomShore: Add = 3; break; - case biForestHills: Add = 20; break; - case biTaigaHills: Add = 20; break; - case biExtremeHillsEdge: Add = 5; break; - case biJungle: Add = 120; break; - case biJungleHills: Add = 90; break; + case biOcean: Add = 2; break; + case biDesert: Add = 0; break; + case biPlains: Add = 1; break; + case biExtremeHills: Add = 3; break; + case biForest: Add = 30; break; + case biTaiga: Add = 30; break; + case biSwampland: Add = 8; break; + case biIcePlains: Add = 1; break; + case biIceMountains: Add = 1; break; + case biMushroomIsland: Add = 3; break; + case biMushroomShore: Add = 3; break; + case biForestHills: Add = 20; break; + case biTaigaHills: Add = 20; break; + case biExtremeHillsEdge: Add = 5; break; + case biJungle: Add = 120; break; + case biJungleHills: Add = 90; break; + case biJungleEdge: Add = 90; break; + case biBirchForest: Add = 30; break; + case biBirchForestHills: Add = 20; break; + case biRoofedForest: Add = 50; break; + case biColdTaiga: Add = 20; break; + case biColdTaigaHills: Add = 15; break; + case biMegaTaiga: Add = 30; break; + case biMegaTaigaHills: Add = 25; break; + case biExtremeHillsPlus: Add = 3; break; + case biSavanna: Add = 8; break; + case biSavannaPlateau: Add = 12; break; + case biMesa: Add = 2; break; + case biMesaPlateauF: Add = 8; break; + case biMesaPlateau: Add = 8; break; + case biSunflowerPlains: Add = 1; break; + case biDesertM: Add = 0; break; + case biExtremeHillsM: Add = 4; break; + case biFlowerForest: Add = 30; break; + case biTaigaM: Add = 30; break; + case biSwamplandM: Add = 8; break; + case biIcePlainsSpikes: Add = 1; break; + case biJungleM: Add = 120; break; + case biJungleEdgeM: Add = 90; break; + case biBirchForestM: Add = 30; break; + case biBirchForestHillsM: Add = 20; break; + case biRoofedForestM: Add = 40; break; + case biColdTaigaM: Add = 30; break; + case biMegaSpruceTaiga: Add = 30; break; + case biMegaSpruceTaigaHills: Add = 30; break; + case biExtremeHillsPlusM: Add = 4; break; + case biSavannaM: Add = 8; break; + case biSavannaPlateauM: Add = 12; break; + case biMesaBryce: Add = 4; break; + case biMesaPlateauFM: Add = 12; break; + case biMesaPlateauM: Add = 12; break; } NumTrees += Add; } diff --git a/src/Generating/Trees.cpp b/src/Generating/Trees.cpp index 7ca30c60f..fbed57cb6 100644 --- a/src/Generating/Trees.cpp +++ b/src/Generating/Trees.cpp @@ -161,6 +161,9 @@ void GetTreeImageByBiome(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_No case biMushroomIsland: case biMushroomShore: case biForestHills: + case biDeepOcean: + case biStoneBeach: + case biColdBeach: { // Apple or birch trees: if (a_Noise.IntNoise3DInt(a_BlockX, a_BlockY + 16 * a_Seq, a_BlockZ + 16 * a_Seq) < 0x5fffffff) @@ -193,6 +196,7 @@ void GetTreeImageByBiome(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_No case biJungle: case biJungleHills: + case biJungleEdge: { // Apple bushes, large jungle trees, small jungle trees if (a_Noise.IntNoise3DInt(a_BlockX, a_BlockY + 16 * a_Seq, a_BlockZ + 16 * a_Seq) < 0x6fffffff) @@ -203,6 +207,52 @@ void GetTreeImageByBiome(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_No { GetJungleTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks); } + break; + } + + case biBirchForest: + case biBirchForestHills: + { + GetBirchTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks); + break; + } + + case biRoofedForest: + case biColdTaiga: + case biColdTaigaHills: + case biMegaTaiga: + case biMegaTaigaHills: + case biExtremeHillsPlus: + case biSavanna: + case biSavannaPlateau: + case biMesa: + case biMesaPlateauF: + case biMesaPlateau: + case biSunflowerPlains: + case biDesertM: + case biExtremeHillsM: + case biFlowerForest: + case biTaigaM: + case biSwamplandM: + case biIcePlainsSpikes: + case biJungleM: + case biJungleEdgeM: + case biBirchForestM: + case biBirchForestHillsM: + case biRoofedForestM: + case biColdTaigaM: + case biMegaSpruceTaiga: + case biMegaSpruceTaigaHills: + case biExtremeHillsPlusM: + case biSavannaM: + case biSavannaPlateauM: + case biMesaBryce: + case biMesaPlateauFM: + case biMesaPlateauM: + { + // TODO: These need their special trees + GetBirchTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks); + break; } } }