X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld%2Fblock.cpp;h=aa8fc7772732f765ef684fdbed7e4d1b261936a7;hb=1c2994622a6b73f90cbd3ec9c09ffb4d7724cab4;hp=09acfef9efcc01a2504c63459736fec9df5bd056;hpb=57f4a76edbfd6c2b6077047e9fba31788d161b44;p=blank.git diff --git a/src/world/block.cpp b/src/world/block.cpp index 09acfef..aa8fc77 100644 --- a/src/world/block.cpp +++ b/src/world/block.cpp @@ -69,18 +69,33 @@ std::ostream &operator <<(std::ostream &out, const Block::Turn &turn) { } -BlockType::BlockType(bool v, const glm::vec3 &col, const Shape *s) noexcept -: shape(s) +BlockType::BlockType() noexcept +: shape(&DEFAULT_SHAPE) , texture(0) -, color(col) +, hsl_mod(0.0f, 1.0f, 1.0f) +, rgb_mod(1.0f, 1.0f, 1.0f) , outline_color(-1, -1, -1) , label("some block") , id(0) , luminosity(0) -, visible(v) -, block_light(false) -, collision(false) -, collide_block(false) +, visible(true) +, block_light(true) +, collision(true) +, collide_block(true) +, generate(false) +, min_solidity(0.5f) +, mid_solidity(0.75f) +, max_solidity(1.0f) +, min_humidity(-1.0f) +, mid_humidity(0.0f) +, max_humidity(1.0f) +, min_temperature(-1.0f) +, mid_temperature(0.0f) +, max_temperature(1.0f) +, min_richness(-1.0f) +, mid_richness(0.0f) +, max_richness(1.0f) +, commonness(1.0f) , fill({ false, false, false, false, false, false }) { } @@ -91,7 +106,8 @@ void BlockType::FillEntityModel( EntityModel::Index idx_offset ) const noexcept { shape->Vertices(buf, transform, texture, idx_offset); - buf.colors.insert(buf.colors.end(), shape->VertexCount(), color); + buf.hsl_mods.insert(buf.hsl_mods.end(), shape->VertexCount(), hsl_mod); + buf.rgb_mods.insert(buf.rgb_mods.end(), shape->VertexCount(), rgb_mod); } void BlockType::FillBlockModel( @@ -100,7 +116,8 @@ void BlockType::FillBlockModel( BlockModel::Index idx_offset ) const noexcept { shape->Vertices(buf, transform, texture, idx_offset); - buf.colors.insert(buf.colors.end(), shape->VertexCount(), color); + buf.hsl_mods.insert(buf.hsl_mods.end(), shape->VertexCount(), hsl_mod); + buf.rgb_mods.insert(buf.rgb_mods.end(), shape->VertexCount(), rgb_mod); } void BlockType::FillOutlineModel(OutlineModel::Buffer &buf) const noexcept { @@ -110,7 +127,12 @@ void BlockType::FillOutlineModel(OutlineModel::Buffer &buf) const noexcept { BlockTypeRegistry::BlockTypeRegistry() { - Add(BlockType()); + BlockType air; + air.visible = false; + air.block_light = false; + air.collision = false; + air.collide_block = false; + Add(air); } Block::Type BlockTypeRegistry::Add(const BlockType &t) {