From 0aa891f35fe27f656ff910fe8f020f6373e7468e Mon Sep 17 00:00:00 2001 From: lllzebralll Date: Tue, 28 Jun 2022 18:35:15 +0300 Subject: [PATCH] generation update --- res/block.png | Bin 9156 -> 264609 bytes src/declarations.h | 29 +++++++++++++++++++---------- src/voxels/WorldGenerator.cpp | 28 +++++++++++++++++++--------- 3 files changed, 38 insertions(+), 19 deletions(-) diff --git a/res/block.png b/res/block.png index 3b8f692181aba04455d58e74f0e38b77f8a7b766..cf25628e477bf3ef0f05f1333e575c6970a6e8bf 100644 GIT binary patch literal 264609 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 = 1; block->lightPassing = true; @@ -79,48 +79,48 @@ void setup_definitions() { block->selectable = false; Block::blocks[block->id] = block; - // STONE + // DIRT 1 block = new Block(1,2); Block::blocks[block->id] = block; - // GRASS + // GRASS 2 block = new Block(2,4); block->textureFaces[2] = 2; block->textureFaces[3] = 1; Block::blocks[block->id] = block; - // LAMP + // LAMP 3 block = new Block(3,3); block->emission[0] = 15; block->emission[1] = 14; block->emission[2] = 13; Block::blocks[block->id] = block; - // GLASS + // GLASS 4 block = new Block(4,5); block->drawGroup = 2; block->lightPassing = true; Block::blocks[block->id] = block; - // PLANKS + // PLANKS 5 block = new Block(5,6); Block::blocks[block->id] = block; - // WOOD + // WOOD 6 block = new Block(6,7); block->textureFaces[2] = 8; block->textureFaces[3] = 8; Block::blocks[block->id] = block; - // LEAVES + // LEAVES 7 block = new Block(7,9); Block::blocks[block->id] = block; - // ACTUAL STONE + // STONE 8 block = new Block(8,10); Block::blocks[block->id] = block; - // WATER + // WATER 9 block = new Block(9,11); block->drawGroup = 4; block->lightPassing = true; @@ -128,6 +128,15 @@ void setup_definitions() { block->obstacle = false; block->selectable = false; Block::blocks[block->id] = block; + + // SEND 10 + block = new Block(10,12); + Block::blocks[block->id] = block; + + // BEDROCK 11 + block = new Block(11,13); + block->selectable = false; + Block::blocks[block->id] = block; } #endif // DECLARATIONS_H diff --git a/src/voxels/WorldGenerator.cpp b/src/voxels/WorldGenerator.cpp index 0e27ff3e..60938091 100644 --- a/src/voxels/WorldGenerator.cpp +++ b/src/voxels/WorldGenerator.cpp @@ -34,7 +34,8 @@ float calc_height(fnl_state *noise, int real_x, int real_z){ height += fnlGetNoise3D(noise, real_x*0.05f*s*32,real_z*0.05f*s*32, 0.0f)*0.25f; height += fnlGetNoise3D(noise, real_x*0.1f*s*32,real_z*0.1f*s*32, 0.0f)*0.225f; height += fnlGetNoise3D(noise, real_x*0.2f*s*32,real_z*0.2f*s*32, 0.0f)*0.125f; - height += fnlGetNoise3D(noise, real_x*0.4f*s*32,real_z*0.4f*s*32, 0.0f)*0.125f*0.5F; + height += fnlGetNoise3D(noise, real_x*0.4f*s*32,real_z*0.4f*s*32, 0.0f)*0.0625f; + // height += fnlGetNoise3D(noise, real_x*s*32,real_z*s*32, 0.0f)*0.03f; height = height * 0.5f + 0.5f; height *= height; height *= (140.0f)*0.12f/s; @@ -71,7 +72,7 @@ int generate_tree(fnl_state *noise, PseudoRandom* random, const float* heights, int centerX = tileX * tileSize + tileSize/2 + randomX; int centerY = tileY * tileSize + tileSize/2 + randomZ; int height = (int)calc_height_faster(noise, centerX, centerY); - if (height < 55) + if ((height < 57) || (fnlGetNoise3D(noise, real_x*0.025f,real_z*0.025f, 0.0f)*0.5f > 0.5)) return 0; int lx = real_x - centerX; int radius = random->rand() % 4 + 3; @@ -102,20 +103,19 @@ void WorldGenerator::generate(voxel* voxels, int cx, int cy, int cz){ } for (int z = 0; z < CHUNK_D; z++){ + int real_z = z + cz * CHUNK_D; for (int x = 0; x < CHUNK_W; x++){ int real_x = x + cx * CHUNK_W; - int real_z = z + cz * CHUNK_D; float height = heights[z*CHUNK_W+x]; for (int y = 0; y < CHUNK_H; y++){ int real_y = y + cy * CHUNK_H; int id = real_y < 55 ? 9 : 0; - if (real_y == (int)height) + if ((real_y == (int)height) && (54 < real_y)) id = 2; - else if (real_y < height){ - if (real_y < height-6) + else if (real_y < (height - 6)){ id = 8; - else + } else if (real_y < height){ id = 1; } else { int tree = generate_tree(&noise, &random, heights, real_x, real_y, real_z, 16); @@ -127,11 +127,21 @@ void WorldGenerator::generate(voxel* voxels, int cx, int cy, int cz){ id = tree; } } + // if ((real_y < height) && (57 > height) && (height > 51) && ((int)height == real_y)){ + // id = 10; + // } + // if ( ((height - (1 - 0.1 * pow(height - 55, 4))) < real_y) && (real_y < height)){ + // id = 10; + // } + + if ( ((height - (1.5 - 0.2 * pow(height - 55, 4))) < real_y) && (real_y < height)){ + id = 10; + } if (real_y <= 2) - id = 2; + id = 11; voxels[(y * CHUNK_D + z) * CHUNK_W + x].id = id; } } } -} +} \ No newline at end of file