X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld%2Fchunk.cpp;h=190fe3d7b9e4c4aa25d4fbaf6745845c97b0565b;hb=5998b18978bd8e7a0c9deb516474634e1d3521c9;hp=ef3c5fc869d80acb94d4ec054462ce2d85c9cc64;hpb=46b18a88fdda816f3c2c547aba68b0a5ea7970f7;p=blank.git diff --git a/src/world/chunk.cpp b/src/world/chunk.cpp index ef3c5fc..190fe3d 100644 --- a/src/world/chunk.cpp +++ b/src/world/chunk.cpp @@ -65,9 +65,13 @@ struct SetNode { int Get() const noexcept { return chunk->GetLight(pos); } void Set(int level) noexcept { chunk->SetLight(pos, level); } + const BlockType &GetType() const noexcept { return chunk->Type(Chunk::ToIndex(pos)); } + bool HasNext(Block::Face face) noexcept { + const BlockType &type = GetType(); + if (type.block_light && !type.luminosity) return false; const BlockLookup next(chunk, pos, face); - return next && !next.GetType().block_light; + return next; } SetNode GetNext(Block::Face face) noexcept { const BlockLookup next(chunk, pos, face); @@ -315,7 +319,7 @@ int Chunk::GetLight(int index) const noexcept { return light[index]; } -float Chunk::GetVertexLight(const Pos &pos, const BlockModel::Position &vtx, const Model::Normal &norm) const noexcept { +float Chunk::GetVertexLight(const Pos &pos, const BlockModel::Position &vtx, const EntityModel::Normal &norm) const noexcept { int index = ToIndex(pos); float light = GetLight(index);