X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld%2FBlock.hpp;h=ea3de59b206e3ad7b90b9033db7506037bd24692;hb=e4a1425dccd0ba9b106e415dd02809f4308a85ee;hp=5f52d173882903af05a8346561842d0f77006f52;hpb=b0c2d423138dfb4849c679b3fb93e4336dcf5845;p=blank.git diff --git a/src/world/Block.hpp b/src/world/Block.hpp index 5f52d17..ea3de59 100644 --- a/src/world/Block.hpp +++ b/src/world/Block.hpp @@ -11,7 +11,6 @@ namespace blank { struct Block { using Type = unsigned short; - using Pos = glm::vec3; enum Face { FACE_UP, @@ -66,6 +65,22 @@ struct Block { } } + /// returns 1 for pro-axis, -1 for retro-axis, 0 for invalid faces + static int Direction(Face f) noexcept { + switch (f) { + case FACE_RIGHT: + case FACE_UP: + case FACE_FRONT: + return 1; + case FACE_LEFT: + case FACE_DOWN: + case FACE_BACK: + return -1; + default: + return 0; + } + } + static glm::ivec3 FaceNormal(Face face) noexcept { return face2normal[face]; }