]> git.localhorst.tv Git - blank.git/blobdiff - src/chunk.hpp
added ability to get seperate information about block face obstruction
[blank.git] / src / chunk.hpp
index fa19776ca60b063ee0a10aca4d2ea35d207a9c5c..06dc98bab34075ba0234103a572f1f17b55609b9 100644 (file)
@@ -88,8 +88,8 @@ public:
        void Unlink();
        void Relink();
 
-       // check if block at given index is completely enclosed (and therefore invisible)
-       bool Obstructed(int idx) const;
+       // check which faces of a block at given index are obstructed (and therefore invisible)
+       Block::FaceSet Obstructed(int idx) const;
 
        void Invalidate() { dirty = true; }
 
@@ -101,10 +101,6 @@ public:
        const Block &BlockAt(const Block::Pos &pos) const { return BlockAt(ToIndex(pos)); }
        const Block &BlockAt(const Pos &pos) const { return BlockAt(ToIndex(pos)); }
 
-       const Block *FindNext(const Pos &pos, Block::Face face) const;
-       const Block *FindNext(const Block::Pos &pos, Block::Face face) const { return FindNext(Pos(pos), face); }
-       const Block *FindNext(int index, Block::Face face) const { return FindNext(ToPos(index), face); }
-
        const BlockType &Type(const Block &b) const { return *types->Get(b.type); }
 
        void SetLight(int index, int level);
@@ -115,7 +111,7 @@ public:
        int GetLight(const Pos &pos) const { return GetLight(ToIndex(pos)); }
        int GetLight(const Block::Pos &pos) const { return GetLight(ToIndex(pos)); }
 
-       float GetVertexLight(int index, const BlockModel::Position &, const BlockModel::Normal &) const;
+       float GetVertexLight(int index, const BlockModel::Position &, const Model::Normal &) const;
 
        bool Intersection(
                const Ray &ray,