X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fblock.hpp;h=0d7d75a5dc8e68460f2413354763e3fbef2e4abf;hb=3072e2cd49ad1614100d1a1c73afe6a4888fb875;hp=72954ce596a6b846c2b14e0ac8227064c3c7d792;hpb=5868f740c492a924cb865644b6201db1632b7376;p=blank.git diff --git a/src/block.hpp b/src/block.hpp index 72954ce..0d7d75a 100644 --- a/src/block.hpp +++ b/src/block.hpp @@ -47,6 +47,25 @@ struct Block { Turn GetTurn() const { return Turn(orient % 4); } void SetTurn(Turn turn) { orient = GetFace() * TURN_COUNT + turn; } + static glm::tvec3 FaceNormal(Face face) { + switch (face) { + case FACE_UP: + return { 0, 1, 0 }; + case FACE_DOWN: + return { 0, -1, 0 }; + case FACE_RIGHT: + return { 1, 0, 0 }; + case FACE_LEFT: + return { -1, 0, 0 }; + case FACE_FRONT: + return { 0, 0, 1 }; + case FACE_BACK: + return { 0, 0, -1 }; + default: + return { 0, 0, 0 }; + } + } + }; @@ -59,7 +78,10 @@ struct BlockType { Block::Type id; + int luminosity; + bool visible; + bool block_light; struct Faces { bool face[Block::FACE_COUNT];