X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld%2Fblock.cpp;h=54ceba081b035036164e6537919c8feca29e085e;hb=d2fa8ca97d291508ce3812fb052a8255d3190d00;hp=510771afdb2665a92b6ffab7bf83bd5801413d76;hpb=55dbd6b35a39888f245e247d2e140f141f918178;p=blank.git diff --git a/src/world/block.cpp b/src/world/block.cpp index 510771a..54ceba0 100644 --- a/src/world/block.cpp +++ b/src/world/block.cpp @@ -14,10 +14,6 @@ namespace blank { const NullShape BlockType::DEFAULT_SHAPE; -bool operator ==(const Block &a, const Block &b) { - return a.type == b.type && a.orient == b.orient; -} - std::ostream &operator <<(std::ostream &out, const Block &block) { return out << "Block(" << block.type << ", " << block.GetFace() << ", " << block.GetTurn() << ')'; } @@ -75,6 +71,7 @@ std::ostream &operator <<(std::ostream &out, const Block::Turn &turn) { BlockType::BlockType(bool v, const glm::vec3 &col, const Shape *s) noexcept : shape(s) +, texture(0) , color(col) , outline_color(-1, -1, -1) , label("some block") @@ -88,12 +85,12 @@ BlockType::BlockType(bool v, const glm::vec3 &col, const Shape *s) noexcept } -void BlockType::FillModel( - Model::Buffer &buf, +void BlockType::FillEntityModel( + EntityModel::Buffer &buf, const glm::mat4 &transform, - Model::Index idx_offset + EntityModel::Index idx_offset ) const noexcept { - shape->Vertices(buf.vertices, buf.normals, buf.indices, transform, idx_offset); + shape->Vertices(buf, transform, texture, idx_offset); buf.colors.insert(buf.colors.end(), shape->VertexCount(), color); } @@ -102,17 +99,17 @@ void BlockType::FillBlockModel( const glm::mat4 &transform, BlockModel::Index idx_offset ) const noexcept { - shape->Vertices(buf.vertices, buf.indices, transform, idx_offset); + shape->Vertices(buf, transform, texture, idx_offset); buf.colors.insert(buf.colors.end(), shape->VertexCount(), color); } void BlockType::FillOutlineModel( - OutlineModel &model, + OutlineModel::Buffer &buf, const glm::vec3 &pos_offset, OutlineModel::Index idx_offset ) const noexcept { - shape->Outline(model.vertices, model.indices, pos_offset, idx_offset); - model.colors.insert(model.colors.end(), shape->OutlineCount(), outline_color); + shape->Outline(buf, pos_offset, idx_offset); + buf.colors.insert(buf.colors.end(), shape->OutlineCount(), outline_color); } @@ -155,7 +152,7 @@ const glm::mat4 Block::orient2transform[ORIENT_COUNT] = { { 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, }, // face: back, turn: right }; -const glm::tvec3 Block::face2normal[FACE_COUNT] = { +const glm::ivec3 Block::face2normal[FACE_COUNT] = { { 0, 1, 0 }, { 0, -1, 0 }, { 1, 0, 0 },