X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fblock.hpp;h=4fcee4cac2f0c2a6e7be58d095e6ee16c982870e;hb=15ff5ed48855c6bd09bc8f5152f46065484c1e94;hp=56f9eace671193c3a9376a0912a9e7b822893b12;hpb=e74f1ad236429f05db90c0ace825277e2a3fbc05;p=blank.git diff --git a/src/block.hpp b/src/block.hpp index 56f9eac..4fcee4c 100644 --- a/src/block.hpp +++ b/src/block.hpp @@ -42,11 +42,15 @@ struct Block { const glm::mat4 &Transform() const; - Face GetFace() const { return Face(orient / 4); } + Face GetFace() const { return Face(orient / TURN_COUNT); } void SetFace(Face face) { orient = face * TURN_COUNT + GetTurn(); } - Turn GetTurn() const { return Turn(orient % 4); } + Turn GetTurn() const { return Turn(orient % TURN_COUNT); } void SetTurn(Turn turn) { orient = GetFace() * TURN_COUNT + turn; } + static Face Opposite(Face f) { + return Face(f ^ 1); + } + static glm::tvec3 FaceNormal(Face face) { switch (face) { case FACE_UP: