X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld.cpp;h=5244d152bbe1326e190d2819120c1e54d7b3729f;hb=30d36f3d545617faef76f90c4121d6ed118ba272;hp=f14ac73d37a6cbfd441e85f1deb124ddb3a1743f;hpb=374843f5b3ae60c0d02704a8da5100ac8abe7f1a;p=blank.git diff --git a/src/world.cpp b/src/world.cpp index f14ac73..5244d15 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -14,19 +14,75 @@ World::World() , generate(0) , chunks(blockType, generate) , player() { - blockType.Add(BlockType{ true, { 1.0f, 1.0f, 1.0f }, &blockShape }); // white block - blockType.Add(BlockType{ true, { 1.0f, 1.0f, 1.0f }, &stairShape }); // white stair - blockType.Add(BlockType{ true, { 1.0f, 1.0f, 1.0f }, &slabShape }); // white slab - blockType.Add(BlockType{ true, { 1.0f, 0.0f, 0.0f }, &blockShape }); // red block - blockType.Add(BlockType{ true, { 1.0f, 0.0f, 0.0f }, &stairShape }); // red stair - blockType.Add(BlockType{ true, { 1.0f, 0.0f, 0.0f }, &slabShape }); // red slab - blockType.Add(BlockType{ true, { 0.0f, 1.0f, 0.0f }, &blockShape }); // green block - blockType.Add(BlockType{ true, { 0.0f, 1.0f, 0.0f }, &stairShape }); // green stair - blockType.Add(BlockType{ true, { 0.0f, 1.0f, 0.0f }, &slabShape }); // green slab - blockType.Add(BlockType{ true, { 0.0f, 0.0f, 1.0f }, &blockShape }); // blue block - blockType.Add(BlockType{ true, { 0.0f, 0.0f, 1.0f }, &stairShape }); // blue stair - blockType.Add(BlockType{ true, { 0.0f, 0.0f, 1.0f }, &slabShape }); // blue slab + BlockType::Faces block_fill = { true, true, true, true, true, true }; + BlockType::Faces slab_fill = { false, true, false, false, false, false }; + BlockType::Faces stair_fill = { false, true, false, false, false, true }; + + { // white block + BlockType type(true, { 1.0f, 1.0f, 1.0f }, &blockShape); + type.fill = block_fill; + blockType.Add(type); + } + { // white slab + BlockType type(true, { 1.0f, 1.0f, 1.0f }, &slabShape); + type.fill = slab_fill; + blockType.Add(type); + } + { // white stair + BlockType type(true, { 1.0f, 1.0f, 1.0f }, &stairShape); + type.fill = stair_fill; + blockType.Add(type); + } + + { // red block + BlockType type(true, { 1.0f, 0.0f, 0.0f }, &blockShape); + type.fill = block_fill; + blockType.Add(type); + } + { // red slab + BlockType type(true, { 1.0f, 0.0f, 0.0f }, &slabShape); + type.fill = slab_fill; + blockType.Add(type); + } + { // red stair + BlockType type(true, { 1.0f, 0.0f, 0.0f }, &stairShape); + type.fill = stair_fill; + blockType.Add(type); + } + + { // green block + BlockType type(true, { 0.0f, 1.0f, 0.0f }, &blockShape); + type.fill = block_fill; + blockType.Add(type); + } + { // green slab + BlockType type(true, { 0.0f, 1.0f, 0.0f }, &slabShape); + type.fill = slab_fill; + blockType.Add(type); + } + { // green stair + BlockType type(true, { 0.0f, 1.0f, 0.0f }, &stairShape); + type.fill = stair_fill; + blockType.Add(type); + } + + { // blue block + BlockType type(true, { 0.0f, 0.0f, 1.0f }, &blockShape); + type.fill = block_fill; + blockType.Add(type); + } + { // blue slab + BlockType type(true, { 0.0f, 0.0f, 1.0f }, &slabShape); + type.fill = slab_fill; + blockType.Add(type); + } + { // blue stair + BlockType type(true, { 0.0f, 0.0f, 1.0f }, &stairShape); + type.fill = stair_fill; + blockType.Add(type); + } + generate.Space(0); generate.Solids({ 1, 4, 7, 10 }); player.Position({ 4.0f, 4.0f, 4.0f });