Added new biomes to old composition generator.
Mostly placeholders only, true per-biome characteristics still need to be implemented. This is only to test the new biome generators.
This commit is contained in:
parent
95ab73e4ed
commit
057821d9b7
@ -402,6 +402,10 @@ enum
|
|||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Block metas:
|
// Block metas:
|
||||||
|
|
||||||
|
E_META_DIRT_NORMAL = 0,
|
||||||
|
E_META_DIRT_GRASSLESS = 1,
|
||||||
|
E_META_DIRT_PODZOL = 2,
|
||||||
|
|
||||||
// E_BLOCK_CHEST metas:
|
// E_BLOCK_CHEST metas:
|
||||||
E_META_CHEST_FACING_ZM = 2,
|
E_META_CHEST_FACING_ZM = 2,
|
||||||
E_META_CHEST_FACING_ZP = 3,
|
E_META_CHEST_FACING_ZP = 3,
|
||||||
|
@ -250,12 +250,61 @@ void cCompoGenBiomal::ComposeTerrain(cChunkDesc & a_ChunkDesc)
|
|||||||
case biExtremeHillsEdge:
|
case biExtremeHillsEdge:
|
||||||
case biJungle:
|
case biJungle:
|
||||||
case biJungleHills:
|
case biJungleHills:
|
||||||
|
case biJungleEdge:
|
||||||
|
case biDeepOcean:
|
||||||
|
case biStoneBeach:
|
||||||
|
case biColdBeach:
|
||||||
|
case biBirchForest:
|
||||||
|
case biBirchForestHills:
|
||||||
|
case biRoofedForest:
|
||||||
|
case biColdTaiga:
|
||||||
|
case biColdTaigaHills:
|
||||||
|
case biExtremeHillsPlus:
|
||||||
|
case biSavanna:
|
||||||
|
case biSavannaPlateau:
|
||||||
|
case biSunflowerPlains:
|
||||||
|
case biExtremeHillsM:
|
||||||
|
case biFlowerForest:
|
||||||
|
case biTaigaM:
|
||||||
|
case biSwamplandM:
|
||||||
|
case biIcePlainsSpikes:
|
||||||
|
case biJungleM:
|
||||||
|
case biJungleEdgeM:
|
||||||
|
case biBirchForestM:
|
||||||
|
case biBirchForestHillsM:
|
||||||
|
case biRoofedForestM:
|
||||||
|
case biColdTaigaM:
|
||||||
|
case biExtremeHillsPlusM:
|
||||||
|
case biSavannaM:
|
||||||
|
case biSavannaPlateauM:
|
||||||
{
|
{
|
||||||
FillColumnGrass(x, z, Height, a_ChunkDesc.GetBlockTypes());
|
FillColumnGrass(x, z, Height, a_ChunkDesc.GetBlockTypes());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case biMesa:
|
||||||
|
case biMesaPlateauF:
|
||||||
|
case biMesaPlateau:
|
||||||
|
case biMesaBryce:
|
||||||
|
case biMesaPlateauFM:
|
||||||
|
case biMesaPlateauM:
|
||||||
|
{
|
||||||
|
FillColumnClay(x, z, Height, a_ChunkDesc.GetBlockTypes());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case biMegaTaiga:
|
||||||
|
case biMegaTaigaHills:
|
||||||
|
case biMegaSpruceTaiga:
|
||||||
|
case biMegaSpruceTaigaHills:
|
||||||
|
{
|
||||||
|
FillColumnDirt(x, z, Height, a_ChunkDesc.GetBlockTypes());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case biDesertHills:
|
case biDesertHills:
|
||||||
case biDesert:
|
case biDesert:
|
||||||
|
case biDesertM:
|
||||||
case biBeach:
|
case biBeach:
|
||||||
{
|
{
|
||||||
FillColumnSand(x, z, Height, a_ChunkDesc.GetBlockTypes());
|
FillColumnSand(x, z, Height, a_ChunkDesc.GetBlockTypes());
|
||||||
@ -341,6 +390,47 @@ void cCompoGenBiomal::FillColumnGrass(int a_RelX, int a_RelZ, int a_Height, cChu
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cCompoGenBiomal::FillColumnClay(int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes)
|
||||||
|
{
|
||||||
|
BLOCKTYPE Pattern[] =
|
||||||
|
{
|
||||||
|
E_BLOCK_HARDENED_CLAY,
|
||||||
|
E_BLOCK_HARDENED_CLAY,
|
||||||
|
E_BLOCK_HARDENED_CLAY,
|
||||||
|
E_BLOCK_HARDENED_CLAY,
|
||||||
|
} ;
|
||||||
|
FillColumnPattern(a_RelX, a_RelZ, a_Height, a_BlockTypes, Pattern, ARRAYCOUNT(Pattern));
|
||||||
|
|
||||||
|
for (int y = a_Height - ARRAYCOUNT(Pattern); y > 0; y--)
|
||||||
|
{
|
||||||
|
cChunkDef::SetBlock(a_BlockTypes, a_RelX, y, a_RelZ, E_BLOCK_STONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cCompoGenBiomal::FillColumnDirt(int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes)
|
||||||
|
{
|
||||||
|
for (int y = 0; y < 4; y++)
|
||||||
|
{
|
||||||
|
if (a_Height - y < 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
cChunkDef::SetBlock(a_BlockTypes, a_RelX, a_Height - y, a_RelZ, E_BLOCK_DIRT);
|
||||||
|
}
|
||||||
|
for (int y = a_Height - 4; y > 0; y--)
|
||||||
|
{
|
||||||
|
cChunkDef::SetBlock(a_BlockTypes, a_RelX, y, a_RelZ, E_BLOCK_STONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cCompoGenBiomal::FillColumnSand(int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes)
|
void cCompoGenBiomal::FillColumnSand(int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes)
|
||||||
{
|
{
|
||||||
BLOCKTYPE Pattern[] =
|
BLOCKTYPE Pattern[] =
|
||||||
|
@ -109,6 +109,8 @@ protected:
|
|||||||
virtual void InitializeCompoGen(cIniFile & a_IniFile) override;
|
virtual void InitializeCompoGen(cIniFile & a_IniFile) override;
|
||||||
|
|
||||||
void FillColumnGrass (int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes);
|
void FillColumnGrass (int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes);
|
||||||
|
void FillColumnClay (int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes);
|
||||||
|
void FillColumnDirt (int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes);
|
||||||
void FillColumnSand (int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes);
|
void FillColumnSand (int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes);
|
||||||
void FillColumnMycelium (int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes);
|
void FillColumnMycelium (int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes);
|
||||||
void FillColumnWaterSand(int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes);
|
void FillColumnWaterSand(int a_RelX, int a_RelZ, int a_Height, cChunkDef::BlockTypes & a_BlockTypes);
|
||||||
|
@ -361,12 +361,61 @@ void cDistortedHeightmap::ComposeTerrain(cChunkDesc & a_ChunkDesc)
|
|||||||
case biExtremeHillsEdge:
|
case biExtremeHillsEdge:
|
||||||
case biJungle:
|
case biJungle:
|
||||||
case biJungleHills:
|
case biJungleHills:
|
||||||
|
case biJungleEdge:
|
||||||
|
case biDeepOcean:
|
||||||
|
case biStoneBeach:
|
||||||
|
case biColdBeach:
|
||||||
|
case biBirchForest:
|
||||||
|
case biBirchForestHills:
|
||||||
|
case biRoofedForest:
|
||||||
|
case biColdTaiga:
|
||||||
|
case biColdTaigaHills:
|
||||||
|
case biExtremeHillsPlus:
|
||||||
|
case biSavanna:
|
||||||
|
case biSavannaPlateau:
|
||||||
|
case biSunflowerPlains:
|
||||||
|
case biExtremeHillsM:
|
||||||
|
case biFlowerForest:
|
||||||
|
case biTaigaM:
|
||||||
|
case biSwamplandM:
|
||||||
|
case biIcePlainsSpikes:
|
||||||
|
case biJungleM:
|
||||||
|
case biJungleEdgeM:
|
||||||
|
case biBirchForestM:
|
||||||
|
case biBirchForestHillsM:
|
||||||
|
case biRoofedForestM:
|
||||||
|
case biColdTaigaM:
|
||||||
|
case biExtremeHillsPlusM:
|
||||||
|
case biSavannaM:
|
||||||
|
case biSavannaPlateauM:
|
||||||
{
|
{
|
||||||
a_ChunkDesc.SetBlockType(x, y, z, (y == LastAir - 1) ? E_BLOCK_GRASS : E_BLOCK_DIRT);
|
a_ChunkDesc.SetBlockType(x, y, z, (y == LastAir - 1) ? E_BLOCK_GRASS : E_BLOCK_DIRT);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case biMesa:
|
||||||
|
case biMesaPlateauF:
|
||||||
|
case biMesaPlateau:
|
||||||
|
case biMesaBryce:
|
||||||
|
case biMesaPlateauFM:
|
||||||
|
case biMesaPlateauM:
|
||||||
|
{
|
||||||
|
a_ChunkDesc.SetBlockTypeMeta(x, y, z, E_BLOCK_HARDENED_CLAY, 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case biMegaTaiga:
|
||||||
|
case biMegaTaigaHills:
|
||||||
|
case biMegaSpruceTaiga:
|
||||||
|
case biMegaSpruceTaigaHills:
|
||||||
|
{
|
||||||
|
a_ChunkDesc.SetBlockTypeMeta(x, y, z, E_BLOCK_DIRT, (y == LastAir - 1) ? E_META_DIRT_PODZOL : 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case biDesertHills:
|
case biDesertHills:
|
||||||
case biDesert:
|
case biDesert:
|
||||||
|
case biDesertM:
|
||||||
case biBeach:
|
case biBeach:
|
||||||
{
|
{
|
||||||
a_ChunkDesc.SetBlockType(x, y, z, (y < LastAir - 3) ? E_BLOCK_SANDSTONE : E_BLOCK_SAND);
|
a_ChunkDesc.SetBlockType(x, y, z, (y < LastAir - 3) ? E_BLOCK_SANDSTONE : E_BLOCK_SAND);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user