diff options
Diffstat (limited to 'src/Block.hpp')
-rw-r--r-- | src/Block.hpp | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/Block.hpp b/src/Block.hpp index 12d2907..cd01f9a 100644 --- a/src/Block.hpp +++ b/src/Block.hpp @@ -3,14 +3,13 @@ #include <functional> struct Block { - Block(); + Block(); + Block(unsigned short id, unsigned char state, + unsigned char light, unsigned char sky); + ~Block(); - Block(unsigned short id, unsigned char state, unsigned char light, unsigned char sky); - - ~Block(); - - unsigned short id : 13; - unsigned char state : 4; + unsigned short id : 13; + unsigned char state : 4; unsigned char light : 4; unsigned char sky : 4; }; @@ -20,6 +19,15 @@ struct BlockId { unsigned char state : 4; }; +enum BlockFacing { + Bottom = 0, + Top, + North, + South, + West, + East +}; + bool operator==(const BlockId& lhs, const BlockId &rhs); bool operator<(const BlockId& lhs, const BlockId &rhs); @@ -27,8 +35,7 @@ bool operator<(const BlockId& lhs, const BlockId &rhs); namespace std { template <> struct hash<BlockId> { - std::size_t operator()(const BlockId& k) const - { + std::size_t operator()(const BlockId& k) const { size_t id = std::hash<unsigned short>()(k.id); size_t state = std::hash<unsigned char>()(k.state); |